Pagini recente » Cod sursa (job #1669503) | Cod sursa (job #975514) | Cod sursa (job #3197595) | Cod sursa (job #1188780) | Cod sursa (job #3256724)
#include<iostream>
#include<fstream>
#define LL long long
#define mod 9973
using namespace std;
LL ppow(LL x,LL p){
LL pp=1;
while(p){if(p&1){pp=(pp*x)%mod;}x=(x*x)%mod;p>>=1;}
return pp;
}
void sol(LL n,LL &nr, LL &s){
LL i,d;
for(d=2;d*d<=n;d++){if(!(n%d)){
for(i=2;i*i<=d;i++){if(!(d%i)){break;}}
if(i*i>d){LL pd=0;while(!(n%d)){pd++;n/=d;}
nr*=pd+1;
s=(s%mod)*(((ppow(d,pd+1)-1)%mod*(ppow(d-1,mod-2)%mod))%mod);
}
}}if(n>1){nr<<=1;s=(s%mod)*(((ppow(n,2)-1)%mod*(ppow(n-1,mod-2)%mod))%mod);}
}
int main(){
ifstream in("ssnd.in");ofstream out("ssnd.out");
LL n,s,nr;in>>n;
while(in>>n){s=1,nr=1;
sol(n,nr,s);out<<nr<<" "<<s<<endl;
}
}