Pagini recente » Cod sursa (job #1954259) | Cod sursa (job #1790633) | Cod sursa (job #984838) | Cod sursa (job #1980531) | Cod sursa (job #1383534)
#include <cstdio>
#include <string>
#include <cstring>
#include <queue>
#include <vector>
#include <stack>
#include <cmath>
#include <iostream>
#include <fstream>
#define PI 3.14159265
#define R 9901
using namespace std;
int iv(int i)
{
int j, k=i;
for(j=2; j<=R-2; ++j)k=(k*i)%R;
return k;
}
int calc(int a, int b)
{
int i, j, k=1;
for(i=1; i<=b+1; ++i)k=(k*a)%R;
if(k)--k;
else k=R-1;
k=(k*iv(a-1))%R;
return k;
}
vector<pair<int, int> > h;
int main()
{
int i, j, k, l;
freopen("sumadiv.in", "r", stdin);
freopen("sumadiv.out", "w", stdout);
scanf("%d%d", &j, &k);
for(i=2; j!=1; ++i){
if(j%i==0){
l=0;
while(j%i==0){
l++;
j/=i;
}
h.push_back(make_pair(i, l*k));
}
}
k=1;
for(i=0; i<h.size(); ++i){
k=(k*calc(h[i].first, h[i].second))%R;
}
printf("%d", k);
return 0;
}