#include using namespace std; #define rep(i,a,b) for(int i=a;i primes; void make_primes(int n) { primes.resize(n + 1, true); primes[0] = primes[1] = false; rep(i, 2, sqrt(n)) { if (primes[i]) { for (int j = 0; i * (j + 2) < n; j++) primes[i * (j + 2)] = false; } } } int main() { ll N; cin >> N; make_primes(1000001); rep(i, 2, sqrt(N) + 1) if(primes[i]) { ll j = (ll)i * (ll)i; while (N % j == 0) N /= j; } cout << N << endl; }