Pagini recente » Cod sursa (job #770199) | Cod sursa (job #1419039) | Cod sursa (job #1072112) | Cod sursa (job #2736324) | Cod sursa (job #2604629)
#include <bits/stdc++.h>
#define mod 9901
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
int n, m;
long long lgput(long long a, long long b)
{
long long r = 1;
while(b)
{
if(b % 2 == 1)
r = ( r % mod * a % mod ) % mod;
a = ( a % mod * a % mod ) % mod;
b /= 2;
}
return r;
}
long long sum_div(long long n)
{
long long s = 1;
int d = 2, fm, q = 0;
do
{
fm = 0;
while(n % d == 0)
{
n /= d;
fm ++;
}
if(fm > 0)
s = s * (lgput(d, fm + 1) - 1) / (d - 1);
d ++;
if(d * d > n && n > 1)
{
s = s * (d * d - 1) / (d - 1);
n = 1;
}
}while(n > 1);
return s;
}
int main()
{
f >> n >> m;
g << sum_div(lgput(n, m));
return 0;
}