Scanf.scanf "%s" (fun s -> let n = String.length s in let rec loop i mode acc = if i = n then (if mode = 1 then acc ^ "a" else acc) else match mode, s.[i] with | 0, 'a' -> loop (i + 1) 1 acc | 0, c -> loop (i + 1) 0 (Printf.sprintf "%s%c" acc c) | 1, 'o' -> loop (i + 1) 0 (acc ^ "ki") | 1, 'a' -> loop (i + 1) 1 (acc ^ "a") | _, c -> loop (i + 1) 0 (Printf.sprintf "%sa%c" acc c) in loop 0 0 "" |> print_endline )