#include using namespace std; typedef long long int ll; #define MOD 1000000007 long long int xx =0,k=0; ll power(ll a, ll b) { ll x = 1, y = a; if(y > MOD) y %= MOD; while(b) { if(b&1) { x = x*y; if(x > MOD) x %= MOD; } y = y*y; if(y > MOD) y %= MOD; b /= 2; } return x; } long long int recur(long long int n) { if(n==2) { if(xx==1) return 0; else return 1; } long long int temp = power(k-1,n-2) - recur(n-1); if(temp < 0) return temp + MOD; else return temp; } int main() { long long int n; cin >> n >> k >> xx; long answer = recur(n); cout << answer << endl; return 0; }