#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
char ap[1000001];
ifstream f("ssnd.in");
ofstream g("ssnd.out");
void ciur(){
long long i,j;
for(i=2;i<=1000000;i++){
if(ap[i]==0)
for(j=i+i;j<=1000000;j=j+i){
ap[j]='1';
}
}
}
void calculeaza(int x){
long long i,j;
long long limit=sqrt(x);
long long suma=1+x;
long long cont=2;
char vazut[1000001];
if(ap[x]!='1'){
g<<cont<<" "<<suma%9973<<'\n';
}
else{
//initializare cu 0
for(i=1;i<=1000000;i++)
vazut[i]='0';
//initializare done
for(i=2;i<=sqrt(x);i++){
if(ap[i]!='1' && x%i==0){
suma=suma+i; //cout<<cont<<" "<<suma<<'\n';
cont++;
//cout<<i;
// cout<<i<<'+';
for(j=+i+i;j<=x/2;j=j+i){
//cout<<"avem "<<j<<"si a aparut?"<<vazut[j]<<"mm";
if(x%j==0 && vazut[j]!='1'){
suma=suma+j;
cont++;
vazut[j]='1';
// cout<<j<<'+';
// cout<<"avem "<<j<<"si a aparut?"<<vazut[j]<<"mm";
}
}
}
}
g<<cont<<" "<<suma%9973<<'\n';
}
//cout<<'\n';
}
int main()
{
long long t,n,i;
ciur();
f>>t;
for(i=0;i<t;i++){
f>>n;
//cout<<calculeaza(n)<<" ";
calculeaza(n);
}
return 0;
}