open System let ri () = stdin.ReadLine() |> int let ria () = stdin.ReadLine().Split() |> Array.map int type Sol() = member this.Solve() = let M = stdin.ReadLine() |> int64 let sqrtM = M |> double |> sqrt |> int let res = [2..sqrtM] |> List.tryFind (fun p -> M % (int64 p) = 0L ) let n = res |> ( function | Some p -> (int64 p) | None -> M ) printfn "%d %d" (M/n) n () let mySol = new Sol() mySol.Solve()