Pagini recente » Cod sursa (job #2706823) | Cod sursa (job #675698) | Cod sursa (job #1941486) | Cod sursa (job #792301) | Cod sursa (job #1434792)
#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);
else
return x * exp_by_squaring((x*x) % MOD, (n-1)/2);
}
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;
}