fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: u64 = n.trim().parse().unwrap(); let mut i = (n as f64).sqrt() as u64; let mut a: u64 = 1; let mut b: u64 = n; while i > 0 { if n % (i * i) == 0 { a = i; b = n / i / i; break; } i -= 1; } println!("{} {}", a, b); }