#include #include #include #include #include #include #include #include #define rep(i,l,n) for(int i=l;i vi; typedef vector vvi; typedef pair pii; map prime_factor(lint n){ map res; for(lint i=2;i*i<=n;i++){ while(n%i==0){ ++res[i]; n/=i; } } if(n!=1) res[n]=1; return res; } int main(){ lint x,y=1; cin>>x; map m; m=prime_factor(x); for(map::iterator it=m.begin();it!=m.end();it++){ //o(it->fi<<" "<se); if(it->se%2) y*=it->fi; } o(y); }