func getPrime(num:Int64) -> [Int64:Int64] { var ret = [Int64:Int64]() var temp = num for i in 2...num { if temp == 1 { break } if temp % i == 0 { ret[i] = 0 while temp % i == 0 { ret[i] = ret[i]! + 1 temp = temp / i } } } return ret } let target = Int64(readLine()!)! let dic = getPrime(num: target) var ans:Int64 = 1 for item in dic { if(item.value % 2 != 0) { ans = ans * item.key } } print(ans)