Pagini recente » Cod sursa (job #2690995) | Cod sursa (job #348591) | Cod sursa (job #776693) | Cod sursa (job #1224169) | Cod sursa (job #547004)
Cod sursa(job #547004)
#include<fstream>
#define MOD 9901
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
int a, b, aa;
long long rez=1;
void Citeste()
{
f>>aa>>b;
}
long long putere(int b)
{
long long z;
if (b==0) return 1;
if (b==1) return a;
if (b%2==0)
{
z=putere(b/2);
return (z*z)%MOD;
}
else
{
z=putere(b/2);
return (z*z*a)%MOD;
}
}
long long suma(int b)
{
long long p, z;
if (b==1) return 1;
if (b%2==0)
{
p=putere(b/2);
z=suma(b/2);
return (((z*p)%MOD)+z)%MOD;
}
else
{
p=putere(b-1);
z=suma(b-1);
return (z+p)%MOD;
}
}
void Solve()
{
int d=2;
while (aa%2==0)
{
a=2;
rez=(rez*suma(b+1))%MOD;
aa/=2;
}
d=3;
while (d*d<=aa)
{
a=d;
while (aa%d==0)
{
rez=(rez*suma(b+1))%MOD;
aa/=d;
}
d+=2;
}
if (aa!=1) a=d, rez=(rez*suma(b+1))%MOD;
}
void Afiseaza()
{
g<<rez<<"\n";
}
int main()
{
Citeste();
Solve();
Afiseaza();
f.close();
g.close();
return 0;
}