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=[]
sn=int(sqrt(n))+1
d=dd(int)
a=1
while n%2==0:
    a=a*2
    n=n//2
    
pf.append(a)
for i in range(3,sn,2):
    a=1
    if(n%i==0):        
        while n%i==0:
            a=a*i
            d[i]+=1
            n=n//i
        pf.append(a) 
if(n!=1):
    pf.append(n)
i=0
j=len(pf)-1
pf.sort()
p1=pf[j]
p2=pf[j-1]
#print(pf)

for i in range(j-1):
    p1=p1*pf[i]
    if(p1>p2):
        p1,p2=p2,p1
p11=pf[j-1]
p22=pf[j]
#print(pf)

for i in range(j-1):
    p11=p11*pf[i]
    if(p11>p22):
        p11,p22=p22,p11
if(max(p11,p22)<max(p1,p2)):
    p1=p11
    p2=p22
if(p1>p2):
    p1,p2=p2,p1
print(p1,p2)