//Date: 02-12-17 #include #include #include #include #include #include #include #include #include #include #include #define ll long long #define For(i,n) for(i=0;i b ? a : b) ;} const int mod = 1e9 + 7; ll power(ll a, ll b, ll mod){ ll x = 1, y = a; while (b){ if (b%2) x = (x*y)%mod; y = (y*y)%mod; b /= 2; } return x%mod; } int main(){ ll n ,k ,x; scanf("%lld %lld %lld" ,&n ,&k ,&x); if(n == 3){ if(x == 1) printf("%lld" ,k - 1); else printf("%lld" ,k - 2); }else{ ll ans = power(k - 1 ,n - 4 ,mod)*((k - 2)*(k - 2)%mod + (k - 1)%mod)%mod; ans %=mod; printf("%lld" ,ans); } return 0; }