Pagini recente » Cod sursa (job #70136) | Cod sursa (job #13700) | Cod sursa (job #474172) | Cod sursa (job #1137787) | Cod sursa (job #3223063)
#include <fstream>
using namespace std;
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
#define MOD 9973
#define int long long
int prim[500000],ciur[1000002];
void ciur1(){
int i,j,nr;
prim[1]=2;
for(i=3;i<=1000;i+=2){
if(ciur[i]==0){
for(j=i*i;j<=1000001;j+=i)
ciur[j]=1;
}
}
nr=1;
for(i=3;i<=1000001;i+=2){
if(ciur[i]==0){
nr++;prim[nr]=i;
}
}
}
signed main()
{
ciur1();
int t,n,sum,nr,e,d,i;
cin>>t;
while(t){t--;
cin>>n;
sum=nr=1;
for(i=1;prim[i]*prim[i]<=n;i++){///printf("%d ",prim[i]);
if(n%prim[i]==0){
e=1;
d=prim[i];
while(!(n%prim[i])){
d*=prim[i];
n/=prim[i];
e++;
}
nr*=e;
sum*=((d-1)/(prim[i]-1))%MOD;
}
}
if(n!=1){
nr*=2;
sum*=(n*n-1)/(n-1)%MOD;
}
cout<<nr<<" "<<sum%MOD<<"\n";
}
return 0;
}