#include<bits/stdc++.h>
using namespace std;
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>
#define ll long long
#define pb push_back
#define F first
#define S second
#define pII pair<ll, ll>
#define all(v) v.begin(),v.end()
#define allr(v) v.rbegin(),v.rend()
#define Endl "\n"
#define Case() cout<<"Case "<<++cs<<": "
#define bug(a) cerr<<#a<<" : "<<a<<endl
#define Tc() ll T, cs=0; cin>>T; hell: while(T--)
#define Tanmoy ios_base::sync_with_stdio(false);cin.tie(0),cout.tie(0)
const ll Mod=1e9+7, MAX=1e6+10, SZ=2e5+5, N=1e13;
ll a[MAX], b[MAX];
int fx8[]={1, -1, 0, 0, 1, 1, -1, -1};
int fy8[]={0, 0, 1, -1, 1, -1, 1, -1};
int fx4[]={1, -1, 0, 0};
int fy4[]={0, 0, 1, -1};
int main()
{
Tanmoy;
/// freopen("in.txt", "r", stdin);
Tc(){
int n, m, ans=0, sum=0;
cin>>n;
if(n%2==0){
ans=n/2;
}
else{
bool ok=false;
for(int i=3; i*i<=n; i++){
if(n%i==0){
ans=max(i, n/i);
ok=true;
break;
}
}
if(!ok)ans=1;
}
cout<<ans<<endl;
}
return 0;
}