Pagini recente » Monitorul de evaluare | Cod sursa (job #2672912) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #2456768)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
#define MOD 9973
long long put(long long b, int e)
{
long long ret = 1;
while(e)
{
if(e & 1)
ret = (ret * b) % MOD;
b = (b * b) % MOD;
e >>= 1;
}
return ret;
}
int main()
{
int t;
in >> t;
while(t--)
{
long long x;
long long cnt = 1;
long long sum = 1;
in >> x;
long long d = 2;
while(d * d <= x)
{
if(x % d == 0)
{
int p = 0;
while(x % d == 0)
{
x /= d;
p++;
}
cnt = (cnt * (p+1)) % MOD;
sum = (sum * (put(d, p+1) - 1) / (d - 1)) % MOD;
}
d++;
}
if(x != 1)
{
d = x;
int p = 1;
cnt = (cnt * (p+1)) % MOD;
sum = (sum * (put(d, p+1) - 1) / (d - 1)) % MOD;
}
out << cnt << ' ' << sum << '\n';
}
return 0;
}