from collections import defaultdict L = [1 for i in range(100001)] L[0] = 0 L[1] = 0 plist = [] for i in range(100001): if L[i] == 1: plist.append(i) c = 2 while True: if i * c <= 100000: L[i * c] = 0 c += 1 else: break X = int(input()) D = defaultdict(int) x = X judge = "YES" while judge == "YES": for i in plist: if x < i: judge = "NO" else: if x % i == 0: D[i] += 1 x = int(x // i) break ans = 1 for i in D: if D[i] % 2 == 1: ans *= i print(ans)