Pagini recente » Cod sursa (job #339505) | Cod sursa (job #729404) | Cod sursa (job #2723209) | Clasament Teme ACM Unibuc 2013 | Cod sursa (job #1465904)
#include <fstream>
#define NMAX 1000005
#define MOD 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long t,i,n,p[NMAX],nr,aux,sol1,sol2,k;
bool c[NMAX];
void ciur()
{
c[1] = 1;
for(int i = 2 ; i * i <= NMAX ; ++i){
if(c[i] == 0){
for(int j = i * i ; j <= NMAX ; j += i){
c[j] = 1 ;
}
}
}
for(int i = 1 ; i <= NMAX ; ++i){
if(c[i] == 0){
p[++k] = i ;
}
}
}
int main()
{
f >> t;
ciur();
for(int i = 1 ; i <= t ; ++i){
f >> n ;
k = 1 ;
sol1 = 1 ;
sol2 = 1 ;
while(p[k] * p[k] <= n){
nr = 0 ;
aux = 1 ;
while(n % p[k] == 0){
n /= p[k] ;
++nr ;
aux *= p[k] ;
}
sol1 *= (nr + 1) ;
sol2 *= (aux * p[k] - 1) / (p[k] - 1) ;
sol2 %= MOD;
++k ;
}
if(n != 1){
nr = 1 , aux = n ;
sol1 *= (nr + 1) ;
sol2 *= (aux * n - 1) / (n - 1) ;
sol2 %= MOD;
}
g << sol1 << " " << sol2 << '\n' ;
}
return 0;
}