#!/bin/python3

import sys

def countArray(n, k, x):
    # Return the number of ways to fill in the array.
    d, s = 1, 0
    for i in range(2, n):
        d, s = (k - 2) * d + s, (k - 1) * d
    return d if x != 1 else s

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 % (10 ** 9 + 7))