#include using namespace std; const int MOD = 1e9+7; #define ll long long int N, K, X; ll ways[2]; int main() { cin >> N >> K >> X; if (N == 3) { cout << ((X == 1) ? (K-1) : (K-2)) << endl; } else { ways[0] = 1; ways[1] = 0; for (int i = 1; i < N; i++) { ll temp = ways[0]; ways[0] = (ways[1] * (K-1)) % MOD; ways[1] = (temp + ways[1] * (K-2)) % MOD; } cout << ((X == 1) ? ways[0] : ways[1]) << endl; } return 0; }