Pagini recente » Cod sursa (job #1446024) | Cod sursa (job #33104) | Cod sursa (job #386279) | Cod sursa (job #929508) | Cod sursa (job #405896)
Cod sursa(job #405896)
#include <algorithm>
#include <vector>
#include <bitset>
using namespace std;
#define pb push_back
#define MOD 9901
int n,m,sd;
int lgput (int n,int p)
{
int rez;
n%=MOD;
for (rez=1; p; p>>=1)
{
if (p&1)
rez=(rez*n)%MOD;
n=(n*n)%MOD;
}
return rez;
}
void solve ()
{
int i,exp;
sd=1;
for (i=2; i*i<=n; ++i)
if (n%i==0)
{
for (exp=0; n%i==0; n/=i)
++exp;
if (i%MOD==1)
sd=(sd*(exp*m+1))%MOD;
else
sd=((sd*(lgput (i,exp*m+1)+MOD-1)%MOD)*lgput (i-1,MOD-2))%MOD;
}
printf ("%d",sd);
}
int main ()
{
freopen ("sumdiv.in","r",stdin);
freopen ("sumdiv.out","w",stdout);
scanf ("%lld%lld",&n,&m);
solve ();
return 0;
}