Pagini recente » Borderou de evaluare (job #2638090) | Borderou de evaluare (job #1793788) | Borderou de evaluare (job #1215346) | Borderou de evaluare (job #887600) | Cod sursa (job #2412474)
#include <fstream>
#include <iostream>
using namespace std;
ifstream in ("lgput.in");
ofstream out ("lgput.out");
unsigned long long int rise(unsigned long long int a,unsigned long long int b)
{
// a%=1999999973;
if (b==0) return 1;
else if (b==1) return a;
else if (b%2==0) return rise((a*a)%1999999973,b/2)%1999999973;
else if (b%2==1) return a*rise((a*a)%1999999973,(b-1)/2)%1999999973;
}
int main()
{unsigned long long int a,b;
in>>a>>b;
out<<rise(a,b)%1999999973;
return 0;
}