Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define LL long long
- #define ULL long long unsigned
- #define LD long double
- #define ff first
- #define ss second
- #define FOR(i,n) for(int i=0;i<n;i++)
- #define FLR(i,n) for(LL i=0;i<n;i++)
- #define RFOR(i,n) for(int i=n-1;i>=0;i--)
- #define RFLR(i,n) for(LL i=n-1;i>=0;i--)
- #define rep(i,a,b) for(int i=a;i<=b;i++)
- #define repl(i,a,b) for(LL i=a;i<=b;i++)
- #define fast ios_base::sync_with_stdio(0);cin.tie(0);
- #define all(a) a.begin(),a.end()
- #define ABS(x) ((x)<0?-(x):(x))
- #define NL "\n"
- #define pb push_back
- #define mk make_pair
- #define pi acos(-1.0)
- #define prec(n) fixed << setprecision(n)
- #define sq(a) (a)*(a)
- #define asi cout<<"check"<<" ";
- #define big 100000000
- bool vis[big];
- void sieve(){
- int i,j,k,root=sqrt(big)+2;
- vis[0]=1;
- vis[1]=1;
- for(i=4;i<=big;i+=2)vis[i]=1;
- for(i=3;i<=root;i++){
- if(!vis[i]){
- for(j=i*i;j<=big;j+=i)vis[j]=1;
- }
- }
- }
- int main()
- {
- fast;
- sieve();
- LL i,j,k,t,n,ans,kount=0,flag;
- cin>>t;
- while(t--){
- cin>>n;
- ans=2;
- flag=0;
- for(i=2;i*i<=n;i++){
- if(n%i==0&&vis[i]==0){
- flag=1;
- ans=i;
- if(n/i<big)if(n/i>i&&vis[n/i]==0)ans=n/i;
- }
- }
- if(flag)cout<<ans<<NL;
- else cout<<n<<NL;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement