Pagini recente » Cod sursa (job #1817682) | Cod sursa (job #720150) | Cod sursa (job #1467441) | Cod sursa (job #1613155) | Cod sursa (job #2797708)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
bool c[1000001];
int d[1000001];
int t;
long long n,q,nr,s,x;
int main()
{
c[0]=1;
c[1]=1;
for (int i=2;i<=1000000;i++)
{if (c[i]==0) {nr++;
d[nr]=i;
for (int j=i;j<=1000000;j=j+i)
c[j]=1;}}
fin >>t;
for (int i=1;i<=t;i++)
{fin >>n;
q=1;s=1;nr=1;
while (d[q]*d[q]<=n)
{long long p=0,p1=1;
while (n%d[q]==0)
{p++;
n=n/d[q];
p1=p1*d[q];}
if (p>0) {nr=nr*(p+1);
s=s*(p1*d[q]-1)/(d[q]-1)%9973;}
q++;}
if (n>1) {nr=nr*2;
s=s*(n*n-1)/(n-1)%9973;}
fout <<nr<<' '<<s<<'\n';}
return 0;
}