n = int(input()) # n = 10 # n = 536870912 n_org = n def b(l): if len(l) == 0: return 1 ans = 1 for i in l: ans *= i[0] ** i[1] return ans fac = [] i = 2 while True: if i * i > n_org: break if n % i == 0: ex = 0 # 指数 while n % i == 0: ex += 1 n /= i fac.append((i, ex)) i += 1 if n != 1: fac.append((int(n), 1)) if fac[0][1] % 2 == 0: print(int(fac[0][0] ** (fac[0][1] / 2)), b(fac[1:])) elif fac[0][1] >= 2: print(int(fac[0][0] ** (fac[0][1] // 2)), b([(fac[0][0], fac[0][1] % 2)] + fac[1:])) else: print(1, b(fac))