Pagini recente » Cod sursa (job #211471) | Cod sursa (job #414507) | Cod sursa (job #1088209) | Cod sursa (job #529756) | Cod sursa (job #1031223)
# include <fstream>
# include <cmath>
# define MODULO 9973
# define NMax 1000005
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 i,j;
for( i = 2 ; i*i < NMax ; ++i )
if( !p[i] )
for( j = i+i ; j < NMax ; j += i )
p[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] );
}
Tipar();
}
int main()
{
int a;
Ciur();
fin >> t;
for( int i = 1 ; i <= t ; ++i )
{
fin >> a;
ssnd(a);
}
fin.close();
fout.close();
return 0;
}