#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(I,N) for(int I = 0; I < (int)(N); I++) #define FIN(V) cout< P; string sValueOf(int v){stringstream ss;ss<>i;return i;} void fast_io() {cin.tie(0); ios::sync_with_stdio(false);} int main(){ int i,j; ll X,Y; cin>>X; vector insu; ll r = sqrt(X); ///bool can = false; for(int i = 2;i<=r;i++){ if(X%i==0){ X/=i; if(insu.size()!=0&&insu[insu.size()-1]==i){ insu.erase(insu.begin()+insu.size()-1); }else insu.pb(i); i--; ///can = true; } } insu.pb(X); ll ans = 1; FOR(i,insu.size()){ ans*=insu[i]; } ///if(!can)ans = X; cout<