Today, Osama gave Fadi an integer X, and Fadi was wondering about the minimum possible value of max(a, b) such that LCM(a, b) equals X. Both a and b should be positive integers.

LCM(a, b) is the smallest positive integer that is divisible by both a and b. For example, LCM(6, 8) = 24, LCM(4, 12) = 12, LCM(2, 3) = 6.

Of course, Fadi immediately knew the answer. Can you be just like Fadi and find any such pair?

Input

The first and only line contains an integer X (1 ≤ X ≤ 10^{12}).

Output

Print two positive integers, a and b, such that the value of max(a, b) is minimum possible and LCM(a, b) equals X. If there are several possible such pairs, you can print any.

Examples

Input


2


Output


1 2


Input


6


Output


2 3


Input


4


Output


1 4


Input


1


Output


1 1
from math import *
from itertools import combinations

def factor(x):
    f = [1]
    sq = sqrt(x)
    i = 2
    while i <= sq and x > 1:
        res = 1
        while x % i == 0:
            res *= i
            x //= i
        if res > 1:
            f.append(res)
        i += 1
    if x > 1:
        f.append(x)
    return f

def mul(a, i, j):
    res = 1
    for t in range(i, j + 1):
        res *= a[t]
    return res
def mu(a):
    res = 1
    for i in a:
        res *= i
    return res

X = int(input())
fa = factor(X)
le = len(fa)
fa.sort()
if le > 1:
    mV = X
    ans = [1, X]
    for i in range(1, le):
        comb = combinations(fa, i)
        for c in comb:
            a = mu(c)
            b = X // a
            if max(a, b) < mV:
                ans = [a, b]
                mV = max(a, b)
        i += 1
        
    print(' '.join(map(str, ans)))
else:
    print(1, X)
