#include #define ll long long #define mod 1000000007 using namespace std; ll fastPow(ll a , ll b){ if(!b) return 1; ll x = fastPow(a , b/2); x = (x*x)%mod; if(b%2) x = (x*a)%mod; return x; } ll solve(ll n , ll k , ll x){ if(n==2) return x!=1; if(n==3){ if(x==1) return k-1; else return k-2; } ll a = solve(n-2 , k , x); //cout << a << endl; ll ans = (a*(k-1))%mod; ans = (ans+((fastPow(k-1 , n-3)-a+mod)%mod * (k-2))%mod)%mod; return ans; } int main() { ll n , k ,x; cin >> n >> k >> x; cout << solve(n , k , x) << endl; return 0; }