#!/bin/python3 import sys dp = [0] * 100001 dp1 = [0] * 100001 def countArray(n, k, x): # Return the number of ways to fill in the array. dp[3] = k - 2 dp1[3] = k - 1 for i in range(4, n + 1): dp[i] = (dp[i - 1]*(k - 2) + dp1[i - 1]) % (10**9 + 7) dp1[i] = dp[i - 1]*(k - 1) % (10**9 + 7) if x == 1: return dp1[n] else: return dp[n] 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)