#include using namespace std; #define ll long long int #define pb push_back #define mp make_pair #define mod 1000000007 ll power(ll a,ll b) { if(b==0) return 1; ll z=power(a,b/2); if(b%2==0) return (z*z)%mod; else return (((z*z)%mod*a)%mod); } int main() { ll n,k,x; cin >> n >> k >> x; ll cnt,z,ans; if(x==1){ cnt=k-1; z=0; } else { cnt=k-2; z=1; } for(ll i=3;i<=n-2;i++) { z=cnt; cnt=(power(k-1,i-1)-z+mod)%mod; } cout << (((z*(k-1))%mod)+(cnt*(k-2))%mod)%mod << endl; }