Pagini recente » Cod sursa (job #2436367) | Cod sursa (job #2098692) | Cod sursa (job #486415) | infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #1915660)
#include<fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
const int N=1000001,mod=9973;
int v[N];
bool c[N];
void desc(long long n)
{
int i;
long long p,q,nr=1,s=1;
for(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;
}
g<<nr<<" "<<s<<'\n';
}
void ciur()
{int i,j;
c[0]=c[1]=true;
for(i=1;i*i<N;i++)
if(!c[i])
for(j=i*i;j<N;j=j+i)
c[j]=true;
for(i=2;i<N;i++)
if(!c[i])
v[++v[0]]=i;
}
int main()
{
ciur();
long long t,n;
f>>t;
while(t--)
{
f>>n;
desc(n);
}
return 0;
}