Pagini recente » Cod sursa (job #1157133) | Cod sursa (job #66383) | Cod sursa (job #2566674) | Cod sursa (job #136395) | Cod sursa (job #2284835)
#include <fstream>
std::ifstream cin("ssnd.in");
std::ofstream cout("ssnd.out");
#define ll long long
#define maxn 1000005
ll ciur[maxn],primes[90000];
ll t,x,k;
void allPrimes(); //creates all primes to 1 mil
int main()
{
ll i,nr,s;
cin>>t;
allPrimes();
for(;t--;){
cin>>x;
nr=0;s=0;
for(i=1;primes[i]*primes[i]<x&&i<=k;i++){
if(x%primes[i]==0){
nr+=2;
s=(s+primes[i]+(x/primes[i]))%9973;
}
}
if(primes[i]*primes[i]==x){
nr++;
s=s+primes[i];
}
cout<<nr<<' '<<(s%9973)<<'\n';
}
return 0;
}
void allPrimes(){
ll i,j;
primes[1]=1;
primes[2]=2;
k=2;
for(i=4;i<maxn;i+=2){
ciur[i]=1;
}
for(i=3;i<maxn;i+=2)
if(!ciur[i]){
primes[++k]=i;
for(j=i+i+i;j<maxn;j+=(i<<1))
ciur[j]=1;
}
}