Pagini recente » Cod sursa (job #2471248) | Cod sursa (job #1264836) | Cod sursa (job #2003462) | Cod sursa (job #993170) | Cod sursa (job #2311280)
#include <bits/stdc++.h>
#define MAXNR 1000000
#define MOD 9973
/// TONI BO$$ was here
/// #MLC
using namespace std;
char ciur[MAXNR+1];
int prime[MAXNR/10+1];
int main()
{
int i,j,n,t,ct,e,nrdiv,sumdiv,fact,z;
long long x;
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
for(i=4; i<MAXNR; i+=2)
ciur[i]=1;
prime[1]=2;
ct=1;
for(i=3; i<=MAXNR; i+=2)
if(!ciur[i])
{
prime[++ct]=i;
for(j=i*3; j<=MAXNR; j+=i)
ciur[j]=1;
}
scanf("%d",&t);
while(t--)
{
scanf("%lld",&x);
ct=1;
nrdiv=1;
sumdiv=1;
while(prime[ct]*prime[ct]<=x)
{
e=0;
fact=1;
z=prime[ct];
while(x%z==0)
{
fact=(1LL*fact*z)%MOD;
x=(x/z);
e++;
}
nrdiv*=(e+1);
sumdiv=(1LL*sumdiv*((1LL*z*fact-1)/(z-1)))%MOD;
ct++;
}
if(x>1)
{
nrdiv*=2;
sumdiv=(1LL*sumdiv*(1LL*x*x-1)/(x-1))%MOD;
}
printf("%d %d\n",nrdiv,sumdiv);
}
return 0;
}