Pagini recente » Cod sursa (job #1500087) | Cod sursa (job #1488751) | Cod sursa (job #2657924) | Cod sursa (job #728056) | Cod sursa (job #1788614)
#include <iostream>
using namespace std;
const int mod=1999999973;
int rid_put(long long a,long long n)
{
int p=1;
for(long long i=1;i<=n;i<<=1)
{
if(n&i) p=(1LL*p*a)%mod;
a=(1LL*a*a)%mod;
}
return p;
}
int main()
{
int i,j,a,n,n1,;
char v[2000000];
cin>>a>>n;
n1=n;
for(i=2;i<=n;++i)
{
if(!v[i])
{
if(n%i==0)
{
n=n*(i-1)/i;
}
for(j=2*i;j<=n;j+=i)
{
v[j]='1';
}
}
}
cout<<rid_put(a,n-1)%n1;
}