Pagini recente » Monitorul de evaluare | Diferente pentru eliminare-gaussiana intre reviziile 27 si 11 | Istoria paginii utilizator/dan26 | Istoria paginii utilizator/alexnicolescu | Cod sursa (job #2985890)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long n, p;
const long long mod=1999999973;
long long putere(long long A, long long n)
{
if(n==1) return A;
if(n%2==1) return (A%mod*putere(A%mod*A%mod, n/2))%mod;
return putere(A%mod*A%mod, n/2)%mod;
}
long long Putere(long long A , long long n)
{
long long P=1;
while(n)
{
if(n%2==1)
P=(P%mod*A%mod)%mod;
A=(A%mod* A%mod)%mod;
n/=2;
}
return P;
}
int main()
{
fin>>n>>p;
fout<<Putere(n, p);
}