Загрузка данных


#include <iostream>
#include <cmath>

using namespace std;

long long potega(long long k, long long n) {
    long long wynik = 1;
    const long long mod = 1000000007;
    k %= mod;
    while (n > 0) {
        if (n % 2 == 1)
            wynik = wynik * k % mod;
        k = k * k % mod;
        n /= 2;
    }
    return wynik;
}

int main()
{
    int t,n,k,x,w;
    cin>>t;
    for(int i=0; i<t;i++){
        cin>>n>>k;
        x=potega(k,n);
        w=x%1000000007;
        cout<<w<<endl;
    }
}