#include int main() { long long int n, k, x; scanf("%lld %lld %lld", &n, &k, &x); long long int res = 1; long long int eq = 0; long long int neq = 1; if(x == 1) { eq = 1; neq = 0; } const long long int mod = 1000000007; for(int i = 1; i < n-1; i++) { res *= k-1; res %= mod; long long int eq2 = neq; long long int neq2 = eq * (k-1) + neq * (k - 2); eq = eq2 % mod; neq = neq2 % mod; } res += mod - eq; res %= mod; printf("%lld\n", res); return 0; }