#include <bits/stdc++.h>
#define NMAX 100009
#define MOD 9973
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int t;
int n;
vector<int>v;
bool uz[NMAX];
void ciur();
int explog(int a, int b);
int main()
{fin>>t;
ciur();
fout<<explog(2,3)<<" ";
while(t--)
{
fin>>n;
int nrd=1;
long long int sum=1;
for(int i=0;i<v.size() && v[i]* v[i]<=n;i++)
{
int it=v[i];
int cate=0;
while (n%it==0)
{
cate++;
n/=it;
}
nrd=nrd*(cate+1);
if(cate)
{int sus=explog(it,cate+1)-1;
int jos=explog(it-1, MOD-2);
sum=(sum*(1ll*sus*jos)%MOD)%MOD;
}
}
if(n!=1)
{nrd*=2;
int sus=explog(n,2)-1;
int jos=explog(n-1, MOD-2);
sum=(sum*(sus*jos)%MOD)%MOD;
}
fout<<nrd<<" "<<sum<<'\n';
}
return 0;
}
void ciur()
{
int i,j;
for(i=2;i*i<NMAX;i++)
if(!uz[i])
for(j=i*i;j<NMAX;j+=i)
uz[j]=1;
for(i=2;i<NMAX;i++)
if(!uz[i])
v.push_back(i);
}
int explog(int a, int b)
{
int sol=1;
int j;
if(a>MOD)
a=a% MOD;
for(j=0;(1<<j)<= b;j++)
{
if( b& (1<<j))
sol=(sol*a)%MOD;
a=(a*a)% MOD;
}
return sol;
}