Pagini recente » Cod sursa (job #376293) | Cod sursa (job #2935431) | Cod sursa (job #3121747) | Cod sursa (job #3173067) | Cod sursa (job #804357)
Cod sursa(job #804357)
#include<cstdio>
#define lmax 1000005
using namespace std;
int prime[lmax];
bool use[lmax];
int main()
{
int i,n,l=0;
long long x;
for(i=2;i<lmax;i++)
if(!use[i])
{
prime[l++]=i;
for(int j=i+i;j<lmax;j+=i)
use[j]=1;
}
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%d",&n);
while(n--)
{
scanf("%lld",&x);
int nr=1,s=1;
for(i=0;i<l && prime[i]<=x;i++)
if(x%prime[i]==0)
{
long long aux=x;
int k=0;
while(x%prime[i]==0)
{
k++;
x/=prime[i];
}
aux/=x;
aux*=prime[i];
aux--;
s=(s*(aux/(prime[i]-1)))%9973;
nr*=k+1;
}
printf("%d %d\n",nr,s);
}
return 0;
}