Pagini recente » Cod sursa (job #2789145) | Cod sursa (job #134033) | Cod sursa (job #450064) | Cod sursa (job #898247) | Cod sursa (job #2847043)
#include <fstream>
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
long long n, p;
const unsigned long long MOD = 1999999973;
long long logPow(long long n, long long p)
{
if(p == 0)
return 1;
if(p % 2 == 0)
{
unsigned long long k = logPow(n, p/2) % MOD;
// cout<<k<<" ";
return (k * k) % MOD;
}
unsigned long long k = logPow(n, (p-1) / 2) % MOD;
// cout<<k<<" ";
return ((n % MOD) * (k * k) % MOD) % MOD;
}
int main(int argc, const char * argv[]) {
cin>>n>>p;
cout<<logPow(n, p);
return 0;
}