交了十几发全是WA,傻了。
#include<bits/stdc++.h>
#define ll unsigned long long
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define pre(i,a,b) for(int i=(a);i>=(b);i--)
#define sq(x) x*x
//Code by Lucas
using namespace std;
ll st[10000005];
ll prime[10000005];
ll vis[10000005];
signed main(){
int t;
cin>>t;
while(t--){
memset(st,0,sizeof(st));
memset(prime,0,sizeof(prime));
memset(vis,0,sizeof(vis));
ll now=0;
ll n;
cin>>n;
st[1] = 1;
for(int i=2;i<=1e7;i++) {
if(!vis[i]){
prime[++now]=i;
prime[i]=1;
}
for(int j=1;j<=now&&prime[j]*i<=1e7;j++){
vis[prime[j]*i]=1;
if(i%prime[j]==0)break;
}
}
for(int i=1;i<=now;i++){
if(n%(prime[i]*prime[i])==0){
cout<<prime[i]<<" "<<n/(prime[i]*prime[i])<<endl;
break;
}
}
}
return 0;
}