Pagini recente » Cod sursa (job #2633905) | Cod sursa (job #908864) | Cod sursa (job #2731150) | Cod sursa (job #2192402) | Cod sursa (job #2195947)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MOD = 1999999973;
ll n, p;
ll lgput(ll a, ll b){
if (!b) return 1;
if (b == 1) return a%MOD;
if (b&1) return ((a%MOD)*lgput((a*a)%MOD, b/2))%MOD;
else return (lgput((a*a)%MOD, b/2))%MOD;
}
ll lgputit(ll a, ll b){
ll ans = 1;
while (b){
if (b&1) ans = (ans * a)%MOD, b--;
a = (a * a)%MOD;
b/=2;
}
return ans;
}
int main(){
ifstream cin ("lgput.in");
ofstream cout ("lgput.out");
cin >> n >> p;
cout << lgput(n, p);
return 0;
}