import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class StrongPassword { static final String numbers = "0123456789"; static final String lower_case = "abcdefghijklmnopqrstuvwxyz"; static final String upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; static final String special_characters = "!@#$%^&*()-+"; static int minimumNumber(int n, String password) { boolean hasN = contains(password, numbers); boolean hasL = contains(password, lower_case); boolean hasU = contains(password, upper_case); boolean hasS = contains(password, special_characters); int toAdd = (hasN ? 0 : 1) + (hasL ? 0 : 1) + (hasU ? 0 : 1) + (hasS ? 0 : 1); return Math.max(toAdd, 6 - password.length()); } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); String password = in.next(); int answer = minimumNumber(n, password); System.out.println(answer); in.close(); } private static boolean contains(String password, String what) { for (Character c : password.toCharArray()) { for (char w : what.toCharArray()) { if (w == c) { return true; } } } return false; } }