Pagini recente » Cod sursa (job #1911640) | Cod sursa (job #146052) | Statisticile problemei Painting | Cod sursa (job #1401914) | Cod sursa (job #1031092)
# include <fstream>
# include <cmath>
# define MODULO 9973
# define NMax 2000001
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
short t;// 10^3
bool p[NMax];
/*
p[i] = 0 , daca i este prim
*/
int NrDiv,SDiv;
void Ciur( int n )
{
int i,j;
for( i = 2 ; i*i <= n ; ++i )
if( !p[i] )
for( j = 2 ; j*i <= n ; ++j )
p[i*j] = 1;
}
void Tipar()
{
fout << NrDiv << ' ' << SDiv%MODULO << '\n';
}
void ssnd( int x )
{
NrDiv=SDiv=1;
int d,f=2;
if( !p[x] )
{
NrDiv = 2;
SDiv = x+1;
x=1;
}
while( x != 1 )
{
d = 0;
while( x % f == 0 )
{
++d;
x /= f;
}
NrDiv *= (d+1);
SDiv *= ((int)pow(f,d+1)-1)/(f-1);
while( p[++f] && f <= x );
}
Tipar();
}
int main()
{
int a;
Ciur(NMax);
fin >> t;
for( int i = 1 ; i <= t ; ++i )
{
fin >> a;
ssnd(a);
}
fin.close();
fout.close();
return 0;
}