Pagini recente » Cod sursa (job #908599) | Cod sursa (job #3171599) | Cod sursa (job #2447451) | Cod sursa (job #119146) | Cod sursa (job #2528996)
#include <iostream>
#include <fstream>
using namespace std;
const int MOD = 9973;
void raspuns( int *suma, int *div, long long a ) {
int power, d;
long long prod;
d = 2;
while ( d * d <= a ) {
power = 0;
prod = 1;
while ( a % d == 0 ) {
prod *= d;
a /= d;
power ++;
}
*div *= ( power + 1 );
if ( prod != 1 ) {
*suma *= ( prod * d - 1 ) / ( d - 1 ) % MOD;
}
*suma %= MOD;
d ++;
}
if ( a > 1 ) {
*div *= 2;
*suma *= ( a * a - 1 ) / ( a - 1 ) % MOD;
*suma %= MOD;
}
}
int main() {
ifstream fin( "ssnd.in" );
ofstream fout( "ssnd.out" );
int t, i, suma, div;
long long n;
fin >> t;
for ( i = 0; i < t; i ++ ) {
fin >> n;
suma = div = 1;
raspuns( &suma, &div, n );
fout << div << ' ' << suma << '\n';
}
return 0;
}