Pagini recente » Cod sursa (job #3176825) | Cod sursa (job #1689373) | Cod sursa (job #2234569) | Cod sursa (job #2711373) | Cod sursa (job #2958277)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int md=1e9+7;
ll find(ll a, ll b){
/* if(b==1){
return a%md;
}
if(b%2==0){
return find(a,b/2)%md*find(a,b/2)%md;
}
if(b%2==1){
return find(a,b/2)%md * find(a,b/2)%md * a%md;
}*/
int r = 1;
while(b)
{
if(b % 2 == 1)
r = (1LL * r * a) % md;
a = (1LL * a * a) % md;
b = b / 2;
}
return r;
}
int main(){
ll n,a,b;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
cin >> n;
for(ll i=0;i<n;i++){
cin >> a >> b;
cout << find(a,b) << endl;
}
}