Pagini recente » Borderou de evaluare (job #2341800) | Cod sursa (job #223222) | Cod sursa (job #1664974) | Cod sursa (job #2687732) | Cod sursa (job #2645779)
// link: https://infoarena.ro/problema/lgput //
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
const string problem = "lgput";
ifstream fin(problem + ".in");
ofstream fout(problem + ".out");
#define ll long long
const ll M = 1999999973;
ll N, P;
ll ridicare(ll numar, ll putere)
{
if (putere == 1)
return numar;
if (putere == 0)
return 1;
if (putere % 2 == 0)
return ridicare((numar * numar) % M, putere / 2) % M;
else
return numar * ridicare((numar * numar) % M, putere / 2) % M;
}
int main()
{
fin >> N >> P;
fout << ridicare(N, P);
}