#include<bits/stdc++.h>
using namespace std;

long long modpow(long long m, long long n, long long mod){
    long long res = 1;
    while (n > 0)
    {
        if(n & 1) res = res * m % mod;
        m = m * m % mod;
        n >>= 1;
    }
    return res;
}

int main() {
    long long m, n;
    cin >> m >> n;
    cout << modpow(m, n, 1000000007) << endl;
}
