#!/bin/python import sys def countArray(n, k, x): if(n % 2 == 0): return ((((k - 1)**(n - 4)) % (10**9 + 7)) * ((k**2 - 3*k + 3) % (10**9 + 7))) % (10**9 + 7) else: if(n == 3): if(x == 1): return k - 1 else: return k - 2 else: return ((((k - 1)**(n - 3)) % (10**9 + 7)) * ((2*k - 3) % (10**9 + 7))) % (10**9 + 7) if __name__ == "__main__": n, k, x = raw_input().strip().split(' ') n, k, x = [int(n), int(k), int(x)] answer = countArray(n, k, x) print answer