#include using namespace std; long long countArray(long long n,long long k,long long x) { long long mod = 1000000007; long long a = 1; long long b = 0; for(long long i=2;i<=n;++i) { a = ( b*(k-1) )%mod; if( i%2==0 ) b = a+1; else b = a-1; if( b<0 ) b += mod; } if( x==1 ) return a; else return b; } int main() { long long n,k,x; cin >> n >> k >> x; long long answer = countArray(n,k,x); cout << answer << endl; return 0; }