#include using namespace std; long long mod=1000000007; long long pow(long long n,long long p,long long mod) { long long ans=1; while(p) { if(p&1) ans=(1ll*ans*n)%mod; n=(1ll*n*n)%mod; p=p>>1; } return ans%mod; } long long countArray(long long n, long long k,long long x) { // Return the number of ways to fill in the array. if(n==3) { if(x==1) return k-1; return k-2; } long long ans=pow(k-1,n-2,mod)-countArray(n-1,k,x); ans=(ans+mod)%mod; //ans=(ans*(k-2)+1)%mod; return ans; } int main() { long long n; long long k; long long x; cin >> n >> k >> x; long long answer = countArray(n, k, x); cout << answer << endl; return 0; }