package aaaaa;
import java.math.BigInteger;
import java.util.Iterator;
import java.util.Scanner;
public class M1 {
public static void main(String[] args) {
// 据说很多人的题目会有一大堆废话,本傻×就不在这里废话了。
// 就是叫你算A的B的C次方次方。
// 当然了,为了方便起见,把答案%1,000,000,007输出就好。
Scanner sc = new Scanner(System.in);
BigInteger a = sc.nextBigInteger();
BigInteger b = sc.nextBigInteger();
BigInteger c = sc.nextBigInteger();
f(a, b, c);//此方法超时。
}
public static void f(BigInteger a, BigInteger b, BigInteger c) {
BigInteger d= b.pow(c.intValue()).remainder(new BigInteger("1000000007"));
BigInteger e= a.pow(d.intValue()).remainder(new BigInteger("1000000007"));
System.out.println(e);
}
}