Pagini recente » Cod sursa (job #2191297) | Cod sursa (job #964137) | Cod sursa (job #46570) | Cod sursa (job #2451934) | Cod sursa (job #742216)
Cod sursa(job #742216)
#include<fstream>
#include<cmath>
#include<bitset>
#define MAX 1000005
using namespace std;
long long d,nr,c,s,n,a;
int t;
int p[100005];
bitset <MAX> v;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
void ciur()
{
v[1]=1;
for(int i=2;i<MAX;i++)
{
if(v[i]==0)
{
p[++p[0]]=i;
for(int j=i+i;j<=MAX;j+=i)
v[j]=1;
}
}
}
int main()
{
fin>>t;
ciur();
for(int x=1;x<=t;x++)
{
fin>>n;s=nr=1;
for(int i=1;(long long)p[i]*p[i]<=n;i++)
{
if(n%p[i]) continue;
c=0;a=p[i];
while(n%p[i]==0)
n/=p[i],c++,a=a*p[i];
nr*=c+1;
s*=(a-1)/(p[i]-1)%9973;
}
if(n>1)
nr*=2,s*=(n+1)%9973;
fout<<nr<<" "<<s%9973<<"\n";
}
}