Pagini recente » Cod sursa (job #1682621) | Cod sursa (job #190876) | Cod sursa (job #1887908) | Cod sursa (job #2170888) | Cod sursa (job #1112278)
#include <fstream>
#define MOD 9901
#define LL long long
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
LL a,b,k,d,e[50],p[50];
LL puteri(LL a, LL k)
{
LL val = 1;
while(k > 0)
{
if(k & 1) val = val * a;
a = a * a;
k = k / 2;
}
return val;
}
int main()
{
f >> a >> b;
if(a == 0) g << "0\n";
else if((a == 1)||(b == 0)) g << "1\n";
else
{
d = 2;
while(d * d <= a)
{
e[++k] = 0;
p[k] = d;
while(a % d == 0)
{
e[k]++;
a/=d;
}
d++;
}
if(a > 1) e[++k] = 1, p[k] = a;
int s = 1;
for(int i=1; i<=k; i++)
s = s * (puteri(p[i], e[i]*b+1)-1) / (p[i]-1) % MOD;
g << s << '\n';
}
g.close();
return 0;
}