Pagini recente » Cod sursa (job #2967470) | Cod sursa (job #1047314) | Cod sursa (job #203678) | Cod sursa (job #2404593) | Cod sursa (job #1434796)
#include <fstream>
#include <algorithm>
using namespace std;
#define MOD 1999999973
unsigned long long exp_by_squaring(unsigned long long x, long long n)
{
x = x % MOD;
if(n < 0)
return exp_by_squaring(x, -n) % MOD;
if(n == 0)
return 1;
if(n == 1)
return x % MOD;
if(n %2 == 0)
return exp_by_squaring((x * x) % MOD, n/2) % MOD;
else
return (x * (exp_by_squaring((x*x) % MOD, (n-1)/2) % MOD) ) % MOD;
}
int main(void)
{
int N = 0, P = 0;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
fin >> N >>P;
fout<<exp_by_squaring(N, P);
return 0;
}