#include #define MOD 1000000007 using namespace std; long long T[100100]; int main() { int N, K, X; while(cin >> N >> K >> X) { long long a = 1, b = 1, c = 1; for(int i=1; i<=N-2; i++) { a = (a * (K-1)) % MOD; } for(int i=1; i<=N-3; i++) { b = (b * (K-1)) % MOD; } for(int i=1; i<=N-4; i++) { if (i%2 == 1) c = c * (K-1) - 1; else c = c * (K-1) + 1; c %= MOD; } //cout << " " << a << " " << b << " " << c << endl; //a -= a * (K-2) / (K-1) / (K-1); a = (a-b+c); if (X==1) { if (N%2 == 0) a--; else a++; } a = (a%MOD+MOD)%MOD; cout << a << endl; } }