use std::io::Read;

fn main() {
    let mut buf = String::new();
    std::io::stdin().read_to_string(&mut buf).unwrap();
    let mut iter = buf.split_whitespace();

    let n: u32 = iter.next().unwrap().parse().unwrap();

    for a in (1..(1 << 15)).rev() {
        if n % (a * a) == 0 {
            let b: u32 = n / (a * a);
            println!("{} {}", a, b);
            break;
        }
    }
}