(* Enter your code here. Read input from STDIN. Print output to STDOUT *) let sum_bool_list l = let rec aux l accu = match l with [] -> accu |t::q when t -> aux q accu |t::q -> aux q (accu+1) in aux l 0 let include_number s n = let nb = "0123456789" in let bol = ref false in for i = 0 to 9 do for j = 0 to (n-1) do if String.get nb i = String.get s j then bol := true done done; !bol let include_lowercase s n = let lower_case = "abcdefghijklmnopqrstuvwxyz" in let bol = ref false in for i = 0 to 25 do for j = 0 to (n-1) do if String.get lower_case i = String.get s j then bol := true done done; !bol let include_uppercase s n = let upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" in let bol = ref false in for i = 0 to 25 do for j = 0 to (n-1) do if String.get upper_case i = String.get s j then bol := true done done; !bol let include_specchar s n = let special_characters = "!@#$%^&*()-+" in let bol = ref false in for i = 0 to 11 do for j = 0 to (n-1) do if String.get special_characters i = String.get s j then bol := true done done; !bol let _ = let n = read_int () in let s = read_line () in let x = (sum_bool_list [include_number s n ; include_lowercase s n ; include_uppercase s n ; include_specchar s n]) in Printf.printf "%d" (max x (6-n))