#include using namespace std; int z=1000000007; long cal(int n, int k) { if(n==1) return (k-1)%z; if(n==2) return (k-1+(k-2)*(k-2))%z; else return ((k-1)*cal(n-2,k))%z+((k-2)*cal(n-1,k))%z; } int main() { int n; int k; int x; cin >> n >> k >> x; long answer; if(x==1) answer = (k-1)*cal(n-3,k); else answer=cal(n-2,k); cout << answer << endl; return 0; }