fn run() { let mut s = String::new(); std::io::stdin().read_line(&mut s).unwrap(); let mut n: usize = s.trim().parse().unwrap(); let mut a = 1; for i in 2.. { if i * i > n { break; } while n % (i * i) == 0 { n /= i * i; a *= i; } } println!("{} {}", a, n); } fn main() { run(); }