K, P, N = map(int, input().split())
def cal(N, P):
if N == 1:
return P
temp = cal(N // 2, P)
if N % 2:
return temp * temp * P
else:
return temp * temp
print(K * cal(N, P) %1000000007)
divide and conquer
전에 풀었던 슈퍼 바이러스 문제의 쉬운 버전