Pagini recente » Cod sursa (job #2654203) | Cod sursa (job #2638309) | Cod sursa (job #598735) | Cod sursa (job #1889517) | Cod sursa (job #635198)
Cod sursa(job #635198)
#include<fstream>
#include<iostream>
using namespace std;
bool lol[1000001];
long long p[80000];
void ciur(){
long long i,j;
for(i=2;i<=1000000;++i)
{
if(lol[i]!=true){
p[0]++;
p[p[0]]=i;
for(j=i;j*i<=1000000;++j)
{
lol[i*j]=true;
}
}
}
}
long long n,nr,s;
void desco(){
long long i,a,put;
nr=1;
s=1;
for(i=1;p[i]*p[i]<=n;++i){
if(n%p[i]==0){
a=p[i]*p[i];
put=1;
n=n/p[i];
while(n%p[i]==0)
{
n/=p[i];
put++;
a=a*p[i];
}
nr*=put+1;
a--;
s=(a/(p[i]-1)*s)%9973;
}
}
if(n!=1)
{
nr*=2;
s=(((n*n-1)/(n-1))%9973*s)%9973;
}
}
int main(){
freopen("ssnd.in","r",stdin);
ofstream g("ssnd.out");
long long t,i;
scanf("%lld",&t);
ciur();
for(i=1;i<=t;++i){
scanf("%lld",&n);
desco();
g<<nr<<" "<<s<<"\n";
}
return 0;
}