#include <bits/stdc++.h>
using namespace std;
#define LL long long int
LL pow(LL a, LL b, LL mod) {
LL x = 1, y = a;
while(b > 0) {
if(b%2 == 1) {
x=(x*y);
if(x>mod) x%=mod;
}
y = (y*y);
if(y>mod) y%=mod;
b /= 2;
}
return x;
}
int main()
{
LL A,B,MOD=1000000007;
cin>>A>>B;
cout<<pow(A,B,MOD)<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTEwgbG9uZyBsb25nIGludAogCiAKTEwgcG93KExMIGEsIExMIGIsIExMIG1vZCkgewogICAgTEwgeCA9IDEsIHkgPSBhOwogICAgd2hpbGUoYiA+IDApIHsKICAgICAgICBpZihiJTIgPT0gMSkgewogICAgICAgICAgICB4PSh4KnkpOwogICAgICAgICAgICBpZih4Pm1vZCkgeCU9bW9kOwogICAgICAgIH0KICAgICAgICB5ID0gKHkqeSk7CiAgICAgICAgaWYoeT5tb2QpIHklPW1vZDsKICAgICAgICBiIC89IDI7CiAgICB9CiAgICByZXR1cm4geDsKfQppbnQgbWFpbigpCnsKICAgIExMIEEsQixNT0Q9MTAwMDAwMDAwNzsKICAgIGNpbj4+QT4+QjsKICAgIGNvdXQ8PHBvdyhBLEIsTU9EKTw8ZW5kbDsKICAgIHJldHVybiAwOwogICAgfQo=