#include using namespace std; #define ll long long #define vl vector auto _ = []() { ios::sync_with_stdio(false); cin.tie(nullptr); return 0; }(); bool prime(ll N) { if (N < 2) return false; for (ll i = 2; i * i <= N; i++) { if (N % i == 0) return false; } return true; } vl yaku(ll N) { vl a; ll temp = N; for (ll i = 2; i * i <= temp; i++) { if (temp % i == 0) { a.push_back(i); while (temp % i == 0) temp /= i; } } if (temp > 1) a.push_back(temp); return a; } int main() { ll N; cin >> N; if (N == 1) { cout << 1 << "\n"; return 0; } if (prime(N)) { cout << -1 << "\n"; return 0; } for (ll i = 2; i * i <= N; i++) { if (N % (i * i) == 0) { cout << 0 << "\n"; return 0; } } vl a = yaku(N); if (a.size() % 2 != 0) cout << -1 << "\n"; else cout << 1 << "\n"; return 0; }