#include #define ll long long using namespace std; const ll MOD = 1e9 + 7; ll A[100005]; ll F(ll n, ll k, ll x) { // Return the number of ways to fill in the array. if (n == 2){ if (x == 1) return 0; return 1; } return (A[n - 2] - F(n - 1, k, x) + MOD) % MOD; } int main() { ll n; ll k; ll x; cin >> n >> k >> x; A[0] = 1; for (int i = 1; i <= n - 2; i++) A[i] = A[i - 1] * (k - 1) % MOD; ll answer = F(n, k, x); cout << answer << endl; return 0; }