Pagini recente » Cod sursa (job #175703) | Cod sursa (job #2609529) | Cod sursa (job #347230) | Cod sursa (job #2141651) | Cod sursa (job #1459134)
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
const char iname[] = "lgput.in";
const char oname[] = "lgput.out";
const int mod = 1999999973;
int main()
{
FILE *in = fopen(iname, "r");
FILE *out = fopen(oname, "w");
unsigned long int r, a;
unsigned long int n, p;
fscanf(in, "%ld %ld", &n, &p);
r = 1;
a = n;
while(p > 1)
{
if(1 & p)
{
r = (r * a)%mod;
a = (a * a)%mod;
p = (p-1)/2;
}
else
{
a = (a * a)%mod;
p = p / 2;
}
}
fprintf(out, "%ld", r * a);
return 0;
}