#include #define mod ll(1e9+7) using namespace std; typedef long long ll; inline ll power(ll a,ll n,ll mod1) { ll b=a,ans=1; while(n){ if(n&1) ans=(ans*b)%mod1; b=(b*b)%mod1; n>>=1;} return ans; } int main() { int n,k,x; cin >> n >> k >> x; long long ans1,tem1=0; ans1=power(k-1,n-2,mod); int even=1; for(int i=n-3;i>=1;i--) { if(even==1) tem1=(tem1+power(k-1,i,mod))%mod; else tem1=(tem1-power(k-1,i,mod)+mod)%mod; even=1-even; } if(x!=1) if(even==1) tem1=(tem1+1)%mod; else tem1=(tem1-1+mod)%mod; cout<<(ans1-tem1+mod)%mod; return 0; }