using System; using System.Collections.Generic; using System.Linq; namespace yukicoder { public class Program { public static void Main() { var n = long.Parse(Console.ReadLine()); var k = Prime((long)Math.Sqrt(n)); var c = true; foreach(var m in k) { if (n % m == 0) { Console.WriteLine(m + " " + n / m); c = false; break; } } if (c) { Console.WriteLine(1 + " " + n); } } static List Prime(long n) { var isPrime = new bool[n + 1]; var k = new List(); for (int i = 2; i <= n; i++) { isPrime[i] = true; } for (int i = 2; i * i <= n; i++) { if (isPrime[i]) { for (int j = i * i; j <= n; j += i) { isPrime[j] = false; } } } for (int i = 2; i <= n; i++) { if (isPrime[i]) { k.Add(i); } } return k; } } }