#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll m = 1000007;
const int MAX = 100001;
vector<ll> p;
void sieve()
{
ll isPrime[MAX+1];
for (ll i = 2; i<= MAX; i++)
{
if (isPrime[i] == 0)
{
p.push_back(i);
for (ll j = 2; i * j<= MAX; j++)
isPrime[i * j]= 1;
}
}
}
ll phi(ll n)
{
ll res = n;
for (ll i=0; p[i]*p[i] <= n; i++)
{
if (n % p[i]== 0)
{
res -= (res / p[i]);
while (n % p[i]== 0)
n /= p[i];
}
}
if (n > 1)
res -= (res / n);
return res;
}
unsigned long int binomialCoeff(unsigned int n, unsigned int k)
{
unsigned long int res = 1;
if (k > n - k)
k = n - k;
for (int i = 0; i < k; ++i)
{
res *= (n - i);
res /= (i + 1);
}
return res;
}
unsigned long int catalan(unsigned int n)
{
unsigned long int c = binomialCoeff(2*n, n);
return c/(n+1);
}
int main()
{
sieve();
unsigned long long int t,n,j,k,i;
vector<int>ans1(51,0);
vector<int>ans2(51,0);
for(i=1;i<=50;i++)
{
n= phi(i);
j=n/2;
ans1[i]=n;
ans2[i] = catalan(j);
if(ans1[i]==1)
ans2[i]=0;
}
cin>>t;
while(t--)
{
cin>>n;
cout<<ans1[n]<<" "<<ans2[n]<<endl;
}
return 0;
}