Pagini recente » Statistici holtea andreea (reeaandreea) | Borderou de evaluare (job #3361549) | Borderou de evaluare (job #3361551) | Statistici Robert V (robertvornicu) | Cod sursa (job #3364495)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout("ssnd.out");
bool ciur[1000005];
long long prime[1000005];
int main()
{
int t;
fin>>t;
ciur[0]=1;
ciur[1]=1;
int nrprime=0;
for(int i=2;i*i<1000000;i++)
if(ciur[i]==0)
for(int j=i*i;j<1000000;j+=i)
{
ciur[j]=1;
}
for(int i=2;i<1000000;i++)
{
if(ciur[i]==0)
{
prime[nrprime]=i;
nrprime++;
}
}
for(int l=0;l<t;l++)
{
long long n;
fin>>n;
long long cnt=1;
long long S=1;
for(int i=0;i<nrprime&&prime[i]*prime[i]<=n;i++)
{
long long p=prime[i];
int k=0;
if(n%prime[i]==0)
{
while(n%p==0)
{
n/=p;
k++;
}
long long suma=1;
long long putere=1;
for(int j=1;j<=k;j++)
{
putere=putere*p%9973;
suma=(suma+putere)%9973;
}
cnt*= (k+1);
S=S*suma%9973;
}
}
if (n>1)
{
cnt*=2;
S=S*(n+1)%9973;
}
fout<<cnt<<" "<<S<<"\n";
}
return 0;
}