#include using namespace std; constexpr int MOD = 1e9 + 7; long countArray(int n, int k, int x) { // Return the number of ways to fill in the array. //if (n == 3) return (k - (1 + (1 != x))) % MOD; //if (n == 4) return (k - 1) * (k - 1) - (k - 1 - (1 != x)); long ans = (1 != x), pk = 1; for (int i = 3; i <= n; ++ i) { pk = pk * (k - 1) % MOD; ans = pk - ans; ans = ans % MOD; } ans = (ans + MOD) % MOD; return ans; } int main() { int n; int k; int x; cin >> n >> k >> x; long answer = countArray(n, k, x); cout << answer << endl; return 0; }