module S = Set.Make (struct type t = string let compare = String.compare end) let () = let n = read_int () in let rec doit i s = if i * i > n then s else doit (i + 1) (if n mod i <> 0 then s else S.(s |> add (string_of_int i) |> add (string_of_int (n / i)))) in doit 1 S.empty |> S.cardinal |> Printf.printf "%d\n"