#include using namespace std; long long dp[100001]; int main() { int n; int k; int x; cin >> n >> k >> x; long long cur=1; if (x==1) dp[1]=1; else dp[1]=0; for (int i=2;i<=n;i++){ dp[i]=(cur-dp[i-1]); while (dp[i]<0){ dp[i]+=1000000007; } cur=cur*(k-1); cur=cur%1000000007; } cout<