Scanf.scanf "%d" (fun n -> let rec loop i a b = if i * i > b then Printf.printf "%d %d\n" a b else if b mod (i * i) = 0 then loop i (a * i) (b / (i * i)) else loop (i + 1) a b in loop 2 1 n )