#include <bits/stdc++.h>
using namespace std;
long long Min(long long a, long long b) { return (a < b) ? a : b; }
long long Max(long long a, long long b) { return (a > b) ? a : b; }
long long gcd(long long m, long long n) {
  if (n == 0)
    return m;
  else
    return gcd(n, m % n);
}
long long lcm(long long m, long long n) { return m * n / gcd(m, n); }
vector<long long> v;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  for (long long i = 2; i * i <= n; i++) {
    if (n % i == 0) {
      while (n % i == 0) {
        n /= i;
      }
      if (n == 1) {
        cout << i;
      } else
        cout << 1;
      exit(0);
    }
  }
  cout << n;
  exit(0);
}
