let list_of_string str = let l = String.length str in let rec iter i lst = if i >= l then lst else iter (i+1) ((int_of_char str.[i] - 48) :: lst) in iter 0 [] let rec f lst = match lst with | [] -> 0 | h :: t -> if h mod 3 = 0 && h mod 5 = 0 then 8 + f t else if h mod 3 = 0 || h mod 5 = 0 then 4 + f t else List.length(list_of_string(string_of_int h)) + f t let () = let lst = Scanf.scanf "%d %d %d %d %d\n" (fun a b c d e -> [a; b; c; d; e]) in Printf.printf "%d\n" (f lst)