Pagini recente » Cod sursa (job #995178) | Cod sursa (job #1114612) | Cod sursa (job #1186319) | Cod sursa (job #2455437) | Cod sursa (job #761700)
Cod sursa(job #761700)
#include<fstream>
using namespace std;
#include<cmath>
long long n,i,t,p[500001],j,k=0,nr,s,pt;
bool v[1000005];
void ciur()
{
p[++k]=2;
for(i=3;i<=1000005;i+=2)
if(v[i]==0)
{
for(j=i*i;j<=1000005;j=j+i+i)
v[j]=1;
p[++k]=i;
}
}
int main()
{
ifstream fcin("ssnd.in");
ofstream fcout("ssnd.out");
ciur();
fcin>>t;
while(t--)
{
fcin>>n;
nr=s=1;
for(i=1;i<=k && p[i]*p[i]<=n;i++)
if(n%p[i]==0)
{
pt=0;
while(n%p[i]==0)
n/=p[i],pt++;
nr*=(pt+1);
s=s*((long long)pow(p[i]*1.,pt+1.)-1)/(p[i]-1);
s=s%9973;
}
if(n>1)
nr*=2,s=s*(n+1)%9973;
fcout<<nr<<" "<<s<<"\n";
}
return 0;
}