Pagini recente » Cod sursa (job #2256153) | Cod sursa (job #1772178) | Cod sursa (job #2275736) | Cod sursa (job #2940891) | Cod sursa (job #1612428)
#include<cstdio>
#include<math.h>
using namespace std;
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
int t;
scanf("%d",&t);
for(int q=1; q<=t; q++)
{
long long n,s=1,pr=1,k=0;
scanf("%lld",&n);
int f=n/2;
long long v1[f+1],p[f+1],d[f+1];
for(int i=2; i<=f; i++)
{
if (v1[i]!=1 && n%i==0)
{
k++;
p[k]=i;d[k]=0;
long long x=1;
while(n%i==0)
{
d[k]++;
x*=p[k];x%=9973;
n/=i;
}
d[k]+=1;
s*=d[k];
x*=p[k];
x-=1;
x/=(p[k]-1);pr*=x;pr%=9973;
if(n==1) break;
for(int j=2*i; j<=f; j+=i)
{
v1[j]=1;
}
}
}
if(n==4) printf("3 7 \n");
else{
if(k==0) printf("2 %lld\n",n+1);
else printf("%lld %lld\n",s,pr);
}
}
}