Pagini recente » Cod sursa (job #2145717) | Cod sursa (job #1698622) | Cod sursa (job #3159052) | Cod sursa (job #2202916) | Cod sursa (job #2156024)
#include <bits/stdc++.h>
#define MOD 9901
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
int p,e;
int Lgput(int a,int n)
{
int p=1;
while(n)
{
if(n%2)p=1LL*p*a%MOD;
a=1LL*a*a%MOD;
n/=2;
}
return p;
}
void Solutie()
{
int sum,div,nrd;
sum=0;div=2;nrd=0;
while(p%div==0)
{
nrd++;
p/=div;
}
sum=((sum+1LL*(Lgput(div,(1LL*nrd*e)%MOD+1)-1+MOD))%MOD*Lgput(div-1,MOD-2)%MOD)%MOD;
div++;
while(p>1 && div*div<=p)
{
nrd=0;
while(p%div==0)
{
nrd++;
p/=div;
}
sum=(sum+1LL*(Lgput(div,(1LL*e*nrd)%MOD+1)-1+MOD)%MOD*Lgput(div-1,MOD-2)%MOD)%MOD;
div+=2;
}
if(p>1)sum=(sum+1LL*(Lgput(p,2*e)-1)%MOD*Lgput(p-1,MOD-2)%MOD)%MOD;
fout<<sum<<"\n";
}
int main()
{
fin>>p>>e;
Solutie();
return 0;
}