#include #include using namespace std; const int mod = (int)1e9 + 7; int main(void) { int n, k, x; scanf("%i %i %i", &n, &k, &x); vector> f(n+1, vector(2)); if (x == 1) { f[1][1] = 1; } else { f[1][0] = 1; } for (int i = 1; i < n-1; i++) { for (int j = 0; j < 2; j++) { if (j) { f[i+1][0] += (k-1) * f[i][j]; f[i+1][0] %= mod; } else { f[i+1][0] += (k-2) * f[i][j]; f[i+1][0] %= mod; f[i+1][1] += f[i][j]; f[i+1][1] %= mod; } } } long long ans = f[n-1][0]; printf("%lld\n", ans); return 0; }