#include #include using namespace atcoder; using mint=modint998244353; using namespace std; using ll=long long; using ul=unsigned long long; int dx[8] = {-1, 1, 0, 0, -1, -1, 1, 1}; int dy[8] = {0, 0, -1, 1, -1, 1, -1, 1}; using Graph=vector>; int main(){ int N; cin>>N; int ans=N; for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } for(int i=1;i*i<=N;i++){ if(N%(i*i)==0)N/=(i*i); } cout<