#include <bits/stdc++.h>
#define MOD 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
bitset <1000005> ciur;
long long i,j,t;
long long psus,pjos,n,d,p,numar;
vector <long long> nrprime;
long long ridput (long long a,long long b)
{
if (b==0)
{
return 1;
}
long long rez=ridput(a,b/2);
if (b%2==0)
{
return (rez*rez)%MOD;
}
return ((rez*rez)%MOD*a)%MOD;
}
long long inv (long long x)
{
return ridput(x,MOD-2);
}
long long nrdiv;
int main()
{
ciur[0]=ciur[1]=1;
for (i=2;i<=1000000;i++)
{
if (ciur[i]==0)
{
nrprime.push_back(i);
for (j=i*i;j<=1000000;j+=i)
{
ciur[j]=1;
}
}
}
f>>t;
psus=pjos=1;
for (;t--;)
{
f>>n;
d=0;
nrdiv=1;
psus=pjos=1;
while (d<nrprime.size()&&nrprime[d]*nrprime[d]<=n&&n!=1)
{
numar=0;
p=1;
while (n%nrprime[d]==0)
{
p=(p*nrprime[d])%MOD;
n=n/nrprime[d];
numar++;
}
if (numar>0)
{
p=(p*nrprime[d])%MOD;
p=(p+MOD-1)%MOD;
psus=(psus*p)%MOD;
pjos=(pjos*inv(nrprime[d]-1))%MOD;
nrdiv=nrdiv*(numar+1);
}
d++;
}
if (n!=1)
{
p=(n*n)%MOD;
p=(p+MOD-1)%MOD;
psus=(psus*p)%MOD;
pjos=(pjos*inv(n-1))%MOD;
nrdiv=nrdiv*2;
}
g<<nrdiv<<" "<<(psus*pjos)%MOD<<'\n';
}
return 0;
}