Pagini recente » Cod sursa (job #406188) | Cod sursa (job #2290581) | Cod sursa (job #497335) | Cod sursa (job #1779790) | Cod sursa (job #617383)
Cod sursa(job #617383)
#include <fstream>
using namespace std;
const int N=1000001,mod=9973;
int v[N];
bool c[N];
ifstream in("ssnd.in");
ofstream out("ssnd.out");
void desc(long long n)
{
long long p,q,nr=1,s=1;
for (int i=1;v[i]*v[i]<=n;i++)
if (n%v[i]==0)
{
for (p=1,q=v[i];n%v[i]==0;n/=v[i],p++,q*=v[i]);
s=s*(q-1)/(v[i]-1)%mod;
nr*=p;
}
if (n!=1)
{
s=s*(n+1)%mod;
nr*=2;
}
out<<nr<<" "<<s<<"\n";
}
void ciur()
{
c[0]=c[1]=true;
for (int i=2;i*i<N;i++)
if (!c[i])
for (int j=i*i;j<N;j+=i)
c[j]=true;
for (int i=2;i<N;i++)
if (!c[i])
v[++v[0]]=i;
}
int main()
{
ciur();
long long t,n;
in>>t;
while (t--)
{
in>>n;
desc(n);
}
return 0;
}