fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let lim: usize = (n as f64).sqrt().ceil() as usize + 1usize; for p in (1..=lim).rev() { if n % (p*p) == 0 { println!("{} {}", p, n/(p*p)); return; } } println!("{} {}", 1, n); }