#include <bits/stdc++.h>
using namespace std;
int t, a[100010];
long long lint;
set<long long> st;
bool srt(const pair<int, int>& z, const pair<int, int>& x) {
  return (x.first < z.first);
}
int main() {
  long long ans = 1;
  cin >> lint;
  for (long long i = 2; i * i <= lint; i++) {
    if (lint % i == 0) {
      st.insert(i);
      while (lint % i == 0) lint /= i;
    }
  }
  st.insert(lint);
  for (auto i : st) ans *= i;
  cout << ans << endl;
  return 0;
}
