#include using namespace std; typedef long long LL; const LL mod = 1e9 + 7; /* 测试用例: 5 8 结果: 390625 */ //快速幂 LL ksm(LL a, LL b) { LL ans = 1; a %= mod; while (b) { if (b & 1) ans = (ans * a) % mod; b >>= 1; //位运算,右移1位,相当于除以2 a = (a * a) % mod; } return ans; } int main() { LL a, b; cin >> a >> b; printf("%lld\n", ksm(a, b)); return 0; }