import math
n,=map(int,input().split())
s=[]
for i in range(2,math.ceil(math.sqrt(n))):
    if n%i==0 and i*(n//i)//math.gcd(i,n//i)==n:
        s.append([i,n//i])
if len(s)>0:
    k=1000000000000
    s.sort()
    ind=0
    for i in range(len(s)):
        if k >max(s[i][0],s[i][1]):
            k=max(s[i][0],s[i][1])
            ind=i
    print(s[ind][0],s[ind][1])
else:
    print(1,n)