Pagini recente » Cod sursa (job #2878293) | Cod sursa (job #2421317) | Cod sursa (job #2879423) | Cod sursa (job #636930) | Cod sursa (job #2859826)
#include<bits/stdc++.h>
using namespace std;
#define mod 9973
#define nmax 1000005
#define ll long long
FILE *in=fopen("ssnd.in","r");
FILE *out=fopen("ssnd.out","w");
bool c[nmax]={0};
int val[nmax],t,n,x;
inline void ciur()
{
c[0]=1;c[1]=0;
for(int i=2;i<=nmax;i++)
{
if(c[i]==0)
{
val[++x]=i;
for(int j=2*i;j<=nmax;j+=i)
c[j]=1;
}
}
}
int putere(int nr,int put)
{
long long p=1;
while(put)
{
p*=nr;
put--;
}
return p;
}
inline void solve()
{
fscanf(in,"%d",&n);
ll ans=1;
ll sum=1;
for(int d=1;val[d]*val[d]<n;d++)
{
if(n%val[d]==0)
{
int e=1;
while(n%val[d]==0)
{
++e;
n/=val[d];
}
ans*=e;
sum*=(putere(val[d],e)-1/(val[d]-1))%mod;
}
}
if(n!=1)
{
ans*=2;
sum*=(((n*n)-1)/(n-1))%mod;
}
fprintf(out,"%d %d\n",ans,sum);
}
int main()
{
static int s=1,cnt=1;
fscanf(in,"%d",&t);
ciur();
for(int i=1;i<=t;i++)
{
solve();
}
return 0;
}