Pagini recente » Cod sursa (job #1500295) | Cod sursa (job #171739) | Cod sursa (job #775121) | Cod sursa (job #324496) | Cod sursa (job #3250988)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define mod 9901
#define il long long
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
il aux,x,y;
void eucl(int a,int b){
if(!b){
x=1;
y=0;
}
else{
eucl(b,a%b);
aux=x;
x=y;
y=aux-(a/b)*y;
}
}
int main()
{
il a,b,d,div,suma=1,i,expo,pr,sc,j;
fin>>a>>b;
for(int i=2;i*i<=a;i++){
expo=i;
while(a%i==0){
for(j=1;j<=b;j++)
expo=(expo*(i%mod))%mod;
a=a/i;
}
if(i-1>mod)eucl(i-1,mod);
else eucl(mod,i-1);
while(y<0){
y=y+i-1;
}
suma=(suma*(((expo-1)*y)%mod))%mod;
}
if(a>1){
expo=a;
for(j=1;j<=b;j++)
expo=(expo*a)%mod;
if(a-1>mod)eucl(a-1,mod);
else eucl(mod,a-1);
cout<<y;
while(y<0){
y=y+a-1;
}
suma=(suma*(((expo-1)*y)%mod))%mod;
}
fout<<suma;
}