Pagini recente » Cod sursa (job #1141490) | Cod sursa (job #2785696) | Cod sursa (job #2490331) | Cod sursa (job #22882) | Cod sursa (job #1566153)
#include<fstream>
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
const int MOD = 9973;
int pw(int b,int e){
int p=1;
for(int k=0;(1<<k)<=e;k++){
if((1<<k)&e) p=(1LL*p*b)%MOD;
b=(1LL*b*b)%MOD;
}
return p;
}
int main(){
int t,x,num,sum;
in>>t;
while(t--){
in>>x;
num=1,sum=1;
for(int i=2;i*i<=x;i++){
if(x%i==0){
int e=0;
while(x%i==0) e++,x/=i;
num*=(e+1);
sum=(1LL*((1LL*sum*(pw(i,e+1)-1))%MOD)*pw(i-1,MOD-2))%MOD;
}
}
if(x>1) num*=2,sum=(1LL*((1LL*sum*(pw(x,2)-1))%MOD)*pw(x-1,MOD-2))%MOD;
out<<num<<' '<<sum<<'\n';
}
return 0;
}