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