Pagini recente » Cod sursa (job #1584376) | Cod sursa (job #2728254) | Cod sursa (job #1801398) | Cod sursa (job #271225) | Cod sursa (job #720630)
Cod sursa(job #720630)
#include<cstdio>
#define NMax 1000000
#define modulo 9973
using namespace std;
long long pr[200005];
int ka;
char bif[NMax+5];
void ciur ()
{
int i,j;
for (i=2; i<=NMax; i++)
if (!bif[i])
{
pr[++ka]=(long long)(i);
for (j=i+i; j<=NMax; j+=i)
bif[j]=1;
}
}
int main ()
{
int t,i,j;
long long n,aux,nr,sum,exp;
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
ciur();
scanf("%d",&t);
for (i=1; i<=t; i++)
{
scanf("%lld",&n);
nr=1; sum=1;
for (j=1; pr[j]*pr[j]<=n; j++)
if (n%pr[j]==0)
{
aux=1; exp=0;
while (n%pr[j]==0)
{
exp++;
aux*=pr[j];
n/=pr[j];
}
aux*=pr[j];
nr*=(exp+1);
sum*=((aux-1)/(pr[j]-1))%modulo;
}
if (n!=1)
{
nr*=2;
sum*=((n*n-1)/(n-1))%modulo;
}
printf("%lld %lld\n",nr,sum);
}
return 0;
}