let () = let rec charlist_of_string str n i = if i = n then [] else str.[i] :: charlist_of_string str n (i+1) in let rec sum nlst = match nlst with | [] -> 0 | h :: t -> ((int_of_char h) - 48) + sum t in let rec solve n i = let s = string_of_int n in if i > 100 then n else solve (sum (charlist_of_string s (String.length s) 0)) (i+1) in Scanf.scanf "%d\n" @@ fun n -> Printf.printf "%d\n" (solve n 0)