
这个题可以使用欧拉降幂,1000000007是质数,所以欧拉函数值为1000000006.
java
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//输入
long n = scanner.nextLong();
int m = scanner.nextInt();
//记录F(m) % 1000000007的欧拉函数
long t = 1;
for (int i = 2; i < m + 1; i++) {
t = (t * i) % 1000000006;
}
//快速乘法幂
long y = t % 1000000006;
long ans = 1;
while (y > 0){
if((y & 1) == 1){
ans = (ans * n) % 1000000007;
}
y>>=1;
n = (n * n) % 1000000007;
}
System.out.println(ans);
}
}