#include using namespace std; #define ll long long #define rep(i, n) for (int i = 0; i < (int)(n); i++) template bool chmin(T& a, T b){if(a > b){a = b; return true;} return false;} template bool chmax(T& a, T b){if(a < b){a = b; return true;} return false;} const long long mod=998244353; const long long mod2=469762049; const long long mod100=1000000007; vector>PF(long long A){ if(A<=0){ cerr<<"PFエラー:0以下の値が入力されました"<>res; for(ll i=2;i*i<=A;i++){ if(A%i!=0) continue; res.emplace_back(i,0); while(A%i==0){ A/=i; res.back().second++; } } if(A!=1) res.push_back({A,1}); return res; } int main(){ cout.tie()->sync_with_stdio(0); cin.tie(0); ll N;cin>>N; if(N==1){ cout<<1<>dat=PF(N); for(auto p:dat){ if(p.second>=2){ cout<<0<