Pagini recente » Cod sursa (job #890595) | Cod sursa (job #603719) | Cod sursa (job #1309441) | Cod sursa (job #465896) | Cod sursa (job #577706)
Cod sursa(job #577706)
#include <stdio.h>
#define maxx 1000002
#define mod 9973
using namespace std;
bool a[maxx];
int ciur[maxx];
int n;
void ciurr()
{
for(int i=4;i<maxx;i+=2)
a[i]=true;
ciur[n++]=2;
for(int i=3;i<maxx;i+=2)
{
if(a[i]==false)
{
ciur[n++]=i;
for(int j=i+i;j<maxx;j+=i)
a[j]=true;
}
}
}
void Div()
{
long long x;
int s=1;
int nr=1;
scanf("%lld",&x);
for(int i=0;i<n && x!=1;i++)
{
if(x%ciur[i]!=0)
continue;
int y=0;
int z=1;
while(x%ciur[i]==0)
{
x/=ciur[i];
y++;
z*=ciur[i];
z%=mod;
}
nr*=y+1;
nr%=mod;
z*=ciur[i];
z%mod;
s*=(z-1)/(ciur[i]-1);
s%=mod;
}
nr%=mod;
s%=mod;
printf("%d %d\n",nr,s);
}
int main()
{
freopen("ssnd.in","r",stdin);
// freopen("ssnd.out","w",stdout);
ciurr();
int t;
scanf("%d",&t);
while(t--)
{
Div();
}
return 0;
}