Pagini recente » Cod sursa (job #2946759) | Cod sursa (job #2117717) | Cod sursa (job #1255621) | Cod sursa (job #1064650) | Cod sursa (job #1066406)
#include <cstdio>
using namespace std;
typedef long long i64;
const i64 MOD = 9973;
inline i64 pow(i64 a, i64 n) {
i64 x = 1;
a %= MOD;
for (; n > 0; n >>= 1) {
if (n & 1) x = x * a;
a = a * a;
}
return x % MOD;
}
int main() {
i64 D, S, i, 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;
do {
n /= i;
++d;
} while (n%i == 0);
D = 1LL * D * d;
S = (1LL * (pow(i, d)-1)/(i-1) * S) % MOD;
}
}
if (n > 1) {
D = 1LL * D * 2;
S = (1LL * (n+1) * S) % MOD;
}
printf("%lld %lld\n", D, S);
}
return 0;
}