Pagini recente » Cod sursa (job #1648830) | Cod sursa (job #1276692) | Cod sursa (job #50176) | Cod sursa (job #1685166) | Cod sursa (job #2271888)
#include <iostream>
#include <fstream>
#include <cmath>
#define ll long long
#define M 9901
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
ll putere(ll x,ll n)
{
ll a;
if(n==0) return 1;
else if(n==1) return x;
a=putere(x,n/2);
if(n%2==0) return (a*a)%M;
else return ((x*a)%M*a)%M;
}
int main()
{
ll a,n,k;
f>>a>>n;
ll s1=1,s2=1;
for(ll i=2;i<=sqrt(a);i++)
{
ll put=0;
while(a%i==0){put++,a/=i;}
if(put!=0)
{
if(i>M)i=i%M;
k=putere(i,n*put+1);
if(k<=1) k+=M;
s1=(s1*(k-1))%M;
s2=(s2*(putere(i-1,M-2)))%M;
}
}
if(a>1)
{s1=(s1*(putere(a,n+1)-1))%M;
s2=(s2*(putere(a-1,M-2)))%M;}
g<<(s1*s2)%M;
return 0;
}