from collections import defaultdict as dd
from math import sqrt,gcd
#l=list(map(int,I().split()))
import sys
input=sys.stdin.readline
I=input
n=int(input())
nn=n
pf=[1]
sn=int(sqrt(n))+1
d=dd(int)
if(n%2==0):
    pf.append(2)
while n%2==0:
    d[2]+=1
    n=n//2
for i in range(3,sn,2):
    if(n%i==0):
        pf.append(i)
        while n%i==0:
            d[i]+=1
            n=n//i 
if(n!=1):
    d[n]+=1
    pf.append(n)
i=0
j=len(pf)-1
#print(pf)
p1=pf[i]**(d[pf[i]])
p2=pf[j]**(d[pf[j]])
while j-i>1:
    #print("lol")
    if(p1<=p2):
        i+=1
        p1=p1*(pf[i]**(d[pf[i]]))
    else:
        j-=1
        p2=p2*(pf[j]**(d[pf[j]]))
if(p1>p2):
    p1,p2=p2,p1
print(p1,p2)