#include using namespace std; long long countArray(long long int k, long long int n, long long int x) { // Return the number of ways to fill in the array. long long int q = k, qq = n, i; k = k-1; n = n-3; for(i=2; i<=n; i++) { k = (k*k)%(1000000007); } return (((k*(q-2))%(1000000007))+1); } int main() { long long int n; long long int k; long long int x; cin >> n >> k >> x; long long int answer = countArray(k, n, x); cout << answer << endl; return 0; }