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