#include <bits/stdc++.h>
#define int long long
using namespace std;
int t,n;
bool a[100010];
int p[3000100],cnt;
void f(int x){
a[0]=1;
a[1]=1;
for(int i=2;i<=x;i++){
if(a[i]==0){
p[++cnt]=i;
}
for(long long j=1;i<=x/p[j];j++){
a[p[j]*i]=1;
if(i%p[j]==0) break;
}
}
}
void prime(int n){
for(int i=1;i<=cnt;i++){
if(n%p[i]!=0)continue;
if(sqrt(n/p[i])!=sqrt(n/p[i]))continue;
cout<<(long long)(sqrt(n/p[i]))<<" "<<p[i]<<endl;
break;
}
}
signed main(){
cin>>t;
f(300010);
while(t--){
cin>>n;
prime(n);
}
return 0;
}