#!/bin/python3 import sys def countArray(n, k, x): # Return the number of ways to fill in the array. v=0 if x!=1: for i in range(n-2,-1,-1): z=pow(k-1, i, 1000000007) if i%2==n%2: v+=z v=v%1000000007 else: v-=z v=(v+1000000007)%1000000007 return v%1000000007 else: for i in range(n-2,0,-1): z=pow(k-1, i, 1000000007) if i%2==n%2: v+=z v=v%1000000007 else: v-=z v=(v+1000000007)%1000000007 return v%1000000007 if __name__ == "__main__": n, k, x = input().strip().split(' ') n, k, x = [int(n), int(k), int(x)] answer = countArray(n, k, x) print(answer)