Pagini recente » Cod sursa (job #1574207) | Cod sursa (job #1033419) | Cod sursa (job #1567246) | Cod sursa (job #261245) | Cod sursa (job #1204953)
#include<fstream>
#include<cmath>
#include<algorithm>
#include<bitset>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
const int modulo=9973;
const int MAD=1000000;
int t,nr,primes[MAD];
long long n,sum;
bitset<MAD+5>viz;
inline void Ciur()
{
int i;
long long j;
primes[++primes[0]]=2;
for (i=3;i<=MAD;i+=2)
if (!viz[i])
{
primes[++primes[0]]=i;
for (j=1LL*i*i;j<=MAD;j+=i) viz[j]=1;
}
}
inline void SOLVE(long long x)
{
int i,aux;
if (x==1) {sum=1;nr=1;}
else
{
sum=1+x;
nr=2;
aux=sqrt(x);
for (i=1;primes[i]<=aux;i++)
if (x%primes[i]==0) {sum+=primes[i];sum+=x/primes[i];nr+=2;}
}
sum%=modulo;
fout<<nr<<" "<<sum<<"\n";
}
int main()
{
fin>>t;
Ciur();
while (t--)
{
fin>>n;
SOLVE(n);
}
return 0;
}