Pagini recente » Cod sursa (job #2398201) | Cod sursa (job #216116) | Cod sursa (job #2326179) | Cod sursa (job #2385434) | Cod sursa (job #2355741)
#include <bits/stdc++.h>
#define MOD 9973
using namespace std;
bool Prim[1000005];
int Pr[78500];
int main()
{
freopen("ssnd.in", "r", stdin);
freopen("ssnd.out", "w", stdout);
int k = 1;
Pr[k] = 2;
for(int i = 3; i <= 1000000; i += 2) {
if(!Prim[i]) {
Pr[++k] = i;
for(int j = 3; i * j <= 1000000; j += 2) Prim[i * j] = 1;
}
}
int t;
scanf("%d", &t);
while(t--) {
long long nr;
int ans1 = 1;
long long ans2 = 0;
scanf("%lld", &nr);
long long nr1 = nr;
for(int i = 1; Pr[i] * Pr[i] <= nr && i <= k; i++) {
int e = 0;
while(nr % Pr[i] == 0) nr /= Pr[i], ++e;
ans1 *= (e + 1);
}
if(nr > 1) ans1 *= 2;
for(int i = 1; i * i <= nr1; i++) {
if(nr1 % i == 0) {
ans2 = ans2 + i;
if(nr1 / i != i) ans2 += nr1 / i;
}
}
printf("%d %d\n", ans1, ans2 % MOD);
}
return 0;
}