Pagini recente » Cod sursa (job #1290868) | Cod sursa (job #1138894) | Cod sursa (job #477566) | Cod sursa (job #2411344) | Cod sursa (job #2095087)
#include <iostream>
#include <fstream>
#define INFILE "lgput.in"
#define OUTFILE "lgput.out"
using namespace std;
typedef unsigned long long ULL;
ifstream in(INFILE);
ofstream out(OUTFILE);
const int mod=1999999973;
ULL expBySquaring(ULL baza,int exp){
if(exp==0) return 1;
if(exp==1) return baza;
if(exp%2==0) {
ULL rez=expBySquaring(baza*baza,exp/2);
rez=rez%mod;
return rez;
}
if(exp%2==1) {
ULL rez=baza*expBySquaring(baza*baza,(exp-1)/2)%mod;
rez=rez%mod;
return rez;
}
}
int main()
{
ULL n,p;
in>>n>>p;
out<<expBySquaring(n,p);
return 0;
}