#include using namespace std; #define LL long long LL i,j,sum,ans,P=1000000007; LL x,k,n,dp[10000003]; int main(){std::ios::sync_with_stdio(false); cin>>n>>k>>x; if(x==1LL) dp[1]++; ans=1; for(i=2LL;i<=n;i++) { dp[i]=dp[i]-dp[i-1]; dp[i]=dp[i]+ans; if(dp[i]<0LL) { dp[i]+=P; } ans=ans*(k-1);ans%=P; } cout<