/**
* @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;}
/**************************************************************/
map<int,int>factors;
void factoriz(int n){
factors.clear();
for(int i = 2; i*i <= n ; i++){
while(n%i == 0){
factors[i]++;
n /= i;
}
}
if(n != 1){
factors[n]++;
}
}
/**************************************************************/
int main(){
//freopen("in.txt" , "rt",stdin) ;
//freopen("out.txt", "wt", stdout);
int n ;
while(cin >> n){
if(n == -1){
break;
}
factoriz(abs(n));
bool isFree = true;
for(map<int,int>::iterator it = factors.begin();
it != factors.end(); it++){
// cout << it->first << ' ' << it->second << '\n';
if(it->second > 1){
isFree = false;
break;
}
}
if(isFree){
cout << n << " is square-free\n";
}else{
cout << n << " is not square-free\n";
}
}
//--------------------------------------------------------//
return 0;
}
LyoqCiAqIEBBdXRob3IgOiBzYWJyeV9yYWdhYgogKiBUaGlzIGlzIHRoZSByaWdodCB0aW1lIHRvIGtub3cgaGltOiBodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uaC5uZXQKICovCgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZCA7Cgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiBwYWlyPGludCxpbnQ+IHBpaTsKCmNvbnN0IGRvdWJsZSBlcHMgPSAxZS0xMDsKY29uc3QgaW50IGR4W10gPSB7MSwgMCwgLTEsIDB9Owpjb25zdCBpbnQgZHlbXSA9IHswLCAxLCAwLCAtMX07CmNvbnN0IGRvdWJsZSBwaSA9IGFjb3MoLTEuMCk7CmNvbnN0IGludCBPTyA9ICgxPDwzMCkgOwoKI2RlZmluZSBTWih4KSAgICAgICAgICAoaW50KXguc2l6ZSgpCiNkZWZpbmUgQUxMKHgpICAgICAgICAgKHgpLmJlZ2luKCksKHgpLmVuZCgpCiNkZWZpbmUgQUxMUih4KSAgICAgICAgKHgpLnJiZWdpbigpLCh4KS5yZW5kKCkKI2RlZmluZSBQQiggeCApICAgICAgICAgcHVzaF9iYWNrKHgpCiNkZWZpbmUgTVAoeCAsIHkpICAgICAgIG1ha2VfcGFpcih4LHkpCiNkZWZpbmUgcmVwKGksc3QsZW4pICAgIGZvcihpbnQgaT1zdCA7IGk8IGVuOyBpKyspCiNkZWZpbmUgcmVwUihpLHN0LGVuKSAgIGZvcihpbnQgaT1zdDtpPj1lbiA7IGktLSkKI2RlZmluZSBjbHIodiwgZCkgICAgICAgbWVtc2V0KHYsIGQsIHNpemVvZih2KSkKI2RlZmluZSBwcmludGZsb2F0KG4pICAgY291dCA8PCBmaXhlZCA8PCBzaG93cG9pbnQgPDwgc2V0cHJlY2lzaW9uKG4pLy90byBiZSBwbGFjZWQgaW4gdGhlIGZpcnN0IGxpbmUgb2YgdGhlIG1haW4KdGVtcGxhdGU8Y2xhc3MgQSwgY2xhc3MgQj4gQSBjb252ZXJ0KEIgeCkge3N0cmluZ3N0cmVhbSBzOyBzIDw8IHg7IEEgcjsgcyA+PiByOyByZXR1cm4gcjt9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KbWFwPGludCxpbnQ+ZmFjdG9yczsKCnZvaWQgZmFjdG9yaXooaW50IG4pewoJZmFjdG9ycy5jbGVhcigpOwoJZm9yKGludCBpID0gMjsgaSppIDw9IG4gOyBpKyspewoJCXdoaWxlKG4laSA9PSAwKXsKCQkJZmFjdG9yc1tpXSsrOwoJCQluIC89IGk7CgkJfQoJfQoKCWlmKG4gIT0gMSl7CgkJZmFjdG9yc1tuXSsrOwoJfQp9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KaW50IG1haW4oKXsKCi8vZnJlb3BlbigiaW4udHh0IiAsICJydCIsc3RkaW4pIDsKLy9mcmVvcGVuKCJvdXQudHh0IiwgInd0Iiwgc3Rkb3V0KTsKCWludCBuIDsKCXdoaWxlKGNpbiA+PiBuKXsKCgkJaWYobiA9PSAtMSl7CgkJCWJyZWFrOwoJCX0KCgoJCWZhY3Rvcml6KGFicyhuKSk7CgkJYm9vbCBpc0ZyZWUgPSB0cnVlOwoKCQlmb3IobWFwPGludCxpbnQ+OjppdGVyYXRvciBpdCA9IGZhY3RvcnMuYmVnaW4oKTsKCQkJCWl0ICE9IGZhY3RvcnMuZW5kKCk7IGl0KyspewoJCS8vCWNvdXQgPDwgaXQtPmZpcnN0IDw8ICcgJyA8PCBpdC0+c2Vjb25kIDw8ICdcbic7CgoJCQlpZihpdC0+c2Vjb25kID4gMSl7CgkJCQlpc0ZyZWUgPSBmYWxzZTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoKCQlpZihpc0ZyZWUpewoJCQljb3V0IDw8IG4gPDwgIiBpcyBzcXVhcmUtZnJlZVxuIjsKCQl9ZWxzZXsKCQkJY291dCA8PCBuIDw8ICIgaXMgbm90IHNxdWFyZS1mcmVlXG4iOwoJCX0KCgl9CiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KICAgIHJldHVybiAwOwp9Cg==