#include <stdio.h>
int a[1000010]={0};
int main()
{
int i,j,len=0;
for(i=2;i<1000010;i++)
if(a[i]==0)
for(j=i+i;j<1000010;j=j+i)
a[j]=1;
for(j=2;j<1000010;j++)
if(a[j]==0)
{
a[len]=j;
len++;
}
int T;
scanf("%d",&T);
while(T--)
{
int n,low=0,end=len-1,mid;
scanf("%d",&n);
while(low<=end)
{
mid=(low+end)/2;
if(a[mid]==n)
{
printf("%d 0\n",a[mid]);
break;
}
else if(a[mid]<n)
low=mid+1;
else
end=mid-1;
}
if(low>end)
{
if(n==1)
printf("2 1\n");
else if(a[low]-n>=n-a[end])
printf("%d %d\n",a[end],n-a[end]);
else if(a[low]-n<n-a[end])
printf("%d %d\n",a[low],a[low]-n);
}
}
return 0;
}
int a[1000010]={0};
int main()
{
int i,j,len=0;
for(i=2;i<1000010;i++)
if(a[i]==0)
for(j=i+i;j<1000010;j=j+i)
a[j]=1;
for(j=2;j<1000010;j++)
if(a[j]==0)
{
a[len]=j;
len++;
}
int T;
scanf("%d",&T);
while(T--)
{
int n,low=0,end=len-1,mid;
scanf("%d",&n);
while(low<=end)
{
mid=(low+end)/2;
if(a[mid]==n)
{
printf("%d 0\n",a[mid]);
break;
}
else if(a[mid]<n)
low=mid+1;
else
end=mid-1;
}
if(low>end)
{
if(n==1)
printf("2 1\n");
else if(a[low]-n>=n-a[end])
printf("%d %d\n",a[end],n-a[end]);
else if(a[low]-n<n-a[end])
printf("%d %d\n",a[low],a[low]-n);
}
}
return 0;
}