#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
long long a[1000000 + 5];
bool not_prime[1000000 + 5];
vector <long long> prime;
// sang nguyen to
not_prime[1] = 1;
int gh = 1e6;
for(int i = 2; i * i <= gh; i ++)if(not_prime[i] == 0)
for(int j = i * i; j <= gh;j += i)not_prime[j] = 1;
for(int i = 1;i <= gh;i ++)if(not_prime[i] == 0)
{
long long so = 1LL * i * i;
prime.push_back(so);
}
// nhap du lieu
cin>>n;
for(int i = 1; i <= n; i ++)cin>>a[i];
//xu ly
for(int i = 1; i <= n; i ++)
{
int it = lower_bound(prime.begin(),prime.end(),a[i]) - prime.begin();
cout<<prime[it]<<' ';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKCQogICAgaW50IG47CiAgICBsb25nIGxvbmcgYVsxMDAwMDAwICsgNV07CiAgICBib29sIG5vdF9wcmltZVsxMDAwMDAwICsgNV07CiAgICB2ZWN0b3IgPGxvbmcgbG9uZz4gcHJpbWU7CgoKICAgIC8vIHNhbmcgbmd1eWVuIHRvCiAgICBub3RfcHJpbWVbMV0gPSAxOwogICAgaW50IGdoID0gMWU2OwogICAgZm9yKGludCBpID0gMjsgaSAqIGkgPD0gZ2g7IGkgKyspaWYobm90X3ByaW1lW2ldID09IDApCiAgICBmb3IoaW50IGogPSBpICogaTsgaiA8PSBnaDtqICs9IGkpbm90X3ByaW1lW2pdID0gMTsKICAgIGZvcihpbnQgaSA9IDE7aSA8PSBnaDtpICsrKWlmKG5vdF9wcmltZVtpXSA9PSAwKQogICAgewogICAgICAgIGxvbmcgbG9uZyBzbyA9IDFMTCAqIGkgKiBpOwogICAgICAgIHByaW1lLnB1c2hfYmFjayhzbyk7CiAgICB9CgogICAgLy8gbmhhcCBkdSBsaWV1CiAgICBjaW4+Pm47CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkgKyspY2luPj5hW2ldOwoKICAgIC8veHUgbHkKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSArKykKICAgIHsKICAgICAgICBpbnQgaXQgPSBsb3dlcl9ib3VuZChwcmltZS5iZWdpbigpLHByaW1lLmVuZCgpLGFbaV0pIC0gcHJpbWUuYmVnaW4oKTsKICAgICAgICBjb3V0PDxwcmltZVtpdF08PCcgJzsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=