import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;



import java.lang.Math;

public class Test {

	public static void main(String[] args) {
		
		Scanner s = new Scanner(System.in);
		
		List<Integer> l = new ArrayList<Integer>();
		List<Integer> l2 = new ArrayList<Integer>();
		
		long x = s.nextLong();
		
		for(int i=2; i<Math.sqrt(x)+1; i++)
		{
			if(x%i==0)
			{
				l.add(i);
				
			}
			
		}
		
		while(!l.isEmpty())
		{
			int t=l.get(0);
			l.remove(0);
			boolean b=true;
			
			for(int i=2; i<Math.sqrt(t)+1; i++)
			{
				if(t%i==0 & (x/t)%i==0)
					b=false;
					
			}
			
			if(b)
			{
				l2.add(t);
			}
				
				
		}
		
		int min = 1;
		while(!l2.isEmpty())
		{
			int t=l2.get(0);
			l2.remove(0);
			
			if(x/t<x/min)
				min=t;
			
		}
		
		System.out.println(min+" "+x/min);
	}

}
