Pagini recente » Cod sursa (job #317519) | Cod sursa (job #1547634) | Cod sursa (job #3236420) | Cod sursa (job #1821105) | Cod sursa (job #1066397)
#include <cstdio>
using namespace std;
typedef long long i64;
const i64 MOD = 9973;
inline i64 pow(i64 a, i64 n) {
i64 x = 1;
for (; n > 0; n >>= 1) {
if (n & 1) x = x * a;
a = a * a;
}
return x % MOD;
}
int main() {
i64 D, S, i, p, d, n, t;
freopen("ssnd.in", "r", stdin);
freopen("ssnd.out", "w", stdout);
scanf("%lld", &t);
while (t--) {
scanf("%lld", &n);
D = S = 1;
for (i = 2; i * i <= n; ++i) {
if (n%i == 0) {
d = 1;
while (n%i == 0) {
n /= i;
++d;
}
D = D * d;
S = ((pow(i, d)-1)/(i-1) * S) % MOD;
}
}
if (n > 1) {
D = D * 2;
S = ((n+1) * S) % MOD;
}
printf("%lld %lld\n", D, S);
}
return 0;
}