Pagini recente » Cod sursa (job #1739044) | Cod sursa (job #1166985) | Cod sursa (job #2110230) | Cod sursa (job #920076) | Cod sursa (job #1464144)
# include <bits/stdc++.h>
# define ll long long
using namespace std;
const int mod = 9901;
ifstream fi("sumdiv.in");
ofstream fo("sumdiv.out");
int pow(int a,int b)
{
int ans = 1;
while (b)
{
if (b&1) ans = (1ll * a * ans) % mod;
a = (1ll * a * a) % mod;
b >>= 1;
}
return ans;
}
int pls(int ans,int x,int y)
{
ll t = pow(x,y + 1) + mod - 1;
t %= mod;
t *= pow(x - 1,mod - 2);
t %= mod;
return (ans*t) % mod;
}
int main(void)
{
int n,m;
fi>>n>>m;
int ans = 1;
for (int i = 2;i*i <= n;++i)
if (!(n%i))
{
int c = 0;
while (!(n%i)) ++c,n /= i;
c *= m;
ans = pls(ans,i,c);
}
if (n > 1) ans = pls(ans,n,m);
return fo << ans << '\n',0;
}