/**
* @Author : sabry_ragab
* This is the right time to know him: http://w...content-available-to-author-only...h.net
*/
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll;
typedef vector<int> vi;
typedef pair<int,int> pii;
const double eps = 1e-10;
const int dx[] = {1, 0, -1, 0};
const int dy[] = {0, 1, 0, -1};
const double pi = acos(-1.0);
const int OO = (1<<30) ;
#define SZ(x) (int)x.size()
#define ALL(x) (x).begin(),(x).end()
#define ALLR(x) (x).rbegin(),(x).rend()
#define PB( x ) push_back(x)
#define MP(x , y) make_pair(x,y)
#define rep(i,st,en) for(int i=st ; i< en; i++)
#define repR(i,st,en) for(int i=st;i>=en ; i--)
#define clr(v, d) memset(v, d, sizeof(v))
#define printfloat(n) cout << fixed << showpoint << setprecision(n)//to be placed in the first line of the main
template<class A, class B> A convert(B x) {stringstream s; s << x; A r; s >> r; return r;}
/**************************************************************/
bool isPerfectSquare(int n){
int i = sqrt(n);
return i*i == n;
}
/**************************************************************/
int main(){
//freopen("in.txt" , "rt",stdin) ;
//freopen("out.txt", "wt", stdout);
int n ;
while(cin >> n){
if(n == -1){
break;
}
int number = abs(n); //i think it is not import as he said range [2,2^21]
bool isFree = true;
for(int i = 2; i*i <= number; i++){//o(sqrt(n))
if(number % i == 0){
if(isPerfectSquare(i)){
isFree = false;
break;
}
if(isPerfectSquare(n/i)){
isFree = false;
break;
}
}
}
if(isPerfectSquare(number)){
isFree = false;
}
if(isFree){
cout << n << " is square-free\n";
}else{
cout << n << " is not square-free\n";
}
}
//--------------------------------------------------------//
return 0;
}
LyoqCiAqIEBBdXRob3IgOiBzYWJyeV9yYWdhYgogKiBUaGlzIGlzIHRoZSByaWdodCB0aW1lIHRvIGtub3cgaGltOiBodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uaC5uZXQKICovCgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZCA7Cgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiBwYWlyPGludCxpbnQ+IHBpaTsKCmNvbnN0IGRvdWJsZSBlcHMgPSAxZS0xMDsKY29uc3QgaW50IGR4W10gPSB7MSwgMCwgLTEsIDB9Owpjb25zdCBpbnQgZHlbXSA9IHswLCAxLCAwLCAtMX07CmNvbnN0IGRvdWJsZSBwaSA9IGFjb3MoLTEuMCk7CmNvbnN0IGludCBPTyA9ICgxPDwzMCkgOwoKI2RlZmluZSBTWih4KSAgICAgICAgICAoaW50KXguc2l6ZSgpCiNkZWZpbmUgQUxMKHgpICAgICAgICAgKHgpLmJlZ2luKCksKHgpLmVuZCgpCiNkZWZpbmUgQUxMUih4KSAgICAgICAgKHgpLnJiZWdpbigpLCh4KS5yZW5kKCkKI2RlZmluZSBQQiggeCApICAgICAgICAgcHVzaF9iYWNrKHgpCiNkZWZpbmUgTVAoeCAsIHkpICAgICAgIG1ha2VfcGFpcih4LHkpCiNkZWZpbmUgcmVwKGksc3QsZW4pICAgIGZvcihpbnQgaT1zdCA7IGk8IGVuOyBpKyspCiNkZWZpbmUgcmVwUihpLHN0LGVuKSAgIGZvcihpbnQgaT1zdDtpPj1lbiA7IGktLSkKI2RlZmluZSBjbHIodiwgZCkgICAgICAgbWVtc2V0KHYsIGQsIHNpemVvZih2KSkKI2RlZmluZSBwcmludGZsb2F0KG4pICAgY291dCA8PCBmaXhlZCA8PCBzaG93cG9pbnQgPDwgc2V0cHJlY2lzaW9uKG4pLy90byBiZSBwbGFjZWQgaW4gdGhlIGZpcnN0IGxpbmUgb2YgdGhlIG1haW4KdGVtcGxhdGU8Y2xhc3MgQSwgY2xhc3MgQj4gQSBjb252ZXJ0KEIgeCkge3N0cmluZ3N0cmVhbSBzOyBzIDw8IHg7IEEgcjsgcyA+PiByOyByZXR1cm4gcjt9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KYm9vbCBpc1BlcmZlY3RTcXVhcmUoaW50IG4pewoJaW50IGkgPSBzcXJ0KG4pOwoJcmV0dXJuIGkqaSA9PSBuOwp9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KaW50IG1haW4oKXsKCi8vZnJlb3BlbigiaW4udHh0IiAsICJydCIsc3RkaW4pIDsKLy9mcmVvcGVuKCJvdXQudHh0IiwgInd0Iiwgc3Rkb3V0KTsKCQoJaW50IG4gOwoJd2hpbGUoY2luID4+IG4pewoKCQlpZihuID09IC0xKXsKCQkJYnJlYWs7CgkJfQoKCQlpbnQgbnVtYmVyID0gYWJzKG4pOyAvL2kgdGhpbmsgaXQgaXMgbm90IGltcG9ydCBhcyBoZSBzYWlkIHJhbmdlIFsyLDJeMjFdCgkJYm9vbCBpc0ZyZWUgPSB0cnVlOwoKCQlmb3IoaW50IGkgPSAyOyBpKmkgPD0gbnVtYmVyOyBpKyspey8vbyhzcXJ0KG4pKQoKCQkJaWYobnVtYmVyICUgaSA9PSAwKXsKCgkJCQlpZihpc1BlcmZlY3RTcXVhcmUoaSkpewoJCQkJCWlzRnJlZSA9IGZhbHNlOwoJCQkJCWJyZWFrOwoJCQkJfQoKCQkJCWlmKGlzUGVyZmVjdFNxdWFyZShuL2kpKXsKCQkJCQlpc0ZyZWUgPSBmYWxzZTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoKCQl9CgoJCWlmKGlzUGVyZmVjdFNxdWFyZShudW1iZXIpKXsKCQkJaXNGcmVlID0gZmFsc2U7CgkJfQoKCQlpZihpc0ZyZWUpewoJCQljb3V0IDw8IG4gPDwgIiBpcyBzcXVhcmUtZnJlZVxuIjsKCQl9ZWxzZXsKCQkJY291dCA8PCBuIDw8ICIgaXMgbm90IHNxdWFyZS1mcmVlXG4iOwoJCX0KCgl9CiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KICAgIHJldHVybiAwOwp9Cg==