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