Pagini recente » Cod sursa (job #1935923) | Cod sursa (job #2327292) | Cod sursa (job #2623004) | Cod sursa (job #821322) | Cod sursa (job #1907011)
#include <bits/stdc++.h>
using namespace std;
#define mod 9973
bool a[1000009];
int n,r;
int v[999999];
long long x,nrd;
void ciur()
{
a[1]=1;
for(int i=2;i<=500001;i++)
if(a[i]==0){
v[++r]=i;
for(int j=2;i*j<=1000000;j++)
a[i*j]=1;
}
}
void cit()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
}
int main()
{
cit();
scanf("%d",&n);
ciur();
sort(v+1,v+r+1);
for(int i=1;i<=n;i++)
{
scanf("%lld",&x);
long long xi=x;
nrd=1;
int j=1;
if(x==1) {printf("1\n"); continue;}
if(x<1000000 && a[x]==0) printf("2 %d\n",1+x);
else{
int d=2;
long long sd=1;
while(x>1){
int p=0;
while(x%d==0)
{
p++;
x=x/d;
}
if(p){
nrd=nrd*(p+1);
sd=sd*((pow(d,p+1)-1)/(d-1));
}
d=v[++j];
if(x<1000000 && a[x]==0){
nrd=nrd*2;
sd=sd*((pow(x,2)-1)/(x-1));
break;
}
}
printf("%lld %lld\n",nrd,sd%mod);
}
}
return 0;
}