#include <fstream>
#include <bitset>
#define inf 900000
using namespace std;
ifstream f ("ssnd.in");
ofstream g ("ssnd.out");
long long x, t, suma, nrdiv;
const int MOD = 9973;
int prim[inf];
bitset <inf> ciur;
int power(int x, int p) {
int rez = 1;
for (int i = 1; i <= p; i++) {
rez *= x;
rez %= MOD;
}
return rez;
}
void ssnd(long long n) {
suma = 1;
nrdiv = 1;
long long i = 1;
int putere;
while (prim[i] * prim[i] <= x && n > 1) {
putere = 0;
while (n % prim[i] == 0) {
putere++;
n /= prim[i];
}
if (putere > 0) {
nrdiv = nrdiv * (putere + 1);
suma = (suma * ((power(prim[i], putere + 1) - 1) / (prim[i] - 1)) );
suma %= MOD;
}
i++;
}
if (n > 1) {
suma = (suma * (n+1)) % MOD;
nrdiv *= 2;
}
}
void eratosthenes() {
int k = 1;
for (int i = 2; i < inf; i++)
if (ciur[i] == 0 && i * i < inf) {
for (int j = i + i; j < inf; j = j + i)
ciur[j] = 1;
prim[k++] = i;
}
else if (ciur[i] == 0)
prim[k++] = i;
}
int main()
{
f >> t;
eratosthenes();
for (int i = 1; i <= t; i++) {
f >> x;
ssnd(x);
g << nrdiv << " " << suma<< "\n";
}
return 0;
}