#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. vector A(n); vector B(n); B[0] = 1; for (int i = 1; i < n; i++) { A[i] = (B[i - 1] * (k - 1))% MOD; B[i] = (A[i-1]+B[i - 1] * (k - 2))%MOD; } if (x == 1) return A[n - 2]; else return B[n - 2]; } int main() { int n; int k; int x; cin >> n >> k >> x; long answer = countArray(n, k, x); cout << answer << endl; return 0; }