Pagini recente » Cod sursa (job #1735847) | Cod sursa (job #2194052) | Cod sursa (job #1733171) | Cod sursa (job #2603480) | Cod sursa (job #2719403)
#include <bits/stdc++.h>
#define MOD 9973
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
const int vmax = 1e6;
typedef long long ll;
bool p[vmax + 5];
vector<int> prim;
void make_ciur()
{
for(int i = 2; i <= vmax; ++i)
if(!p[i])
{
prim.emplace_back(i);
for(long long j = 1LL * i * i; j <= vmax; j += i)
p[j] = 1;
}
}
int main()
{
make_ciur();
int t;
fin >> t;
while(t--)
{
ll n;
fin >> n;
long long carD = 1, sumD = 1;
for(int i = 0; i < (int)prim.size() && n > 1; ++i)
if(n % prim[i] == 0)
{
int exp = 0;
ll val = 1;
while(n % prim[i] == 0){
++exp;
val *= prim[i];
n /= prim[i];
}
carD *= (1 + exp);
val *= prim[i];
sumD = (sumD * ((val - 1) / (prim[i] - 1)) % MOD) % MOD;
}
fout << carD << ' ' << sumD << '\n';
}
return 0;
}