let d = [| 31; 28; 31; 30; 31; 30; 31; 31; 30; 31; 30; 31 |] in let count m d = let rec loop i acc = if i = 0 then acc else let acc = if i / 10 + (i mod 10) = m then acc + 1 else acc in loop (i - 1) acc in loop d 0 in let rec loop_m m acc = if m = 12 then acc else loop_m (m + 1) (acc + count (m + 1) d.(m)) in loop_m 0 0 |> Printf.printf "%d\n"