import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static boolean hasSpecialChar(String password) { Set specialCharSet = new HashSet(); specialCharSet.add("!"); specialCharSet.add("@"); specialCharSet.add("#"); specialCharSet.add("$"); specialCharSet.add("%"); specialCharSet.add("^"); specialCharSet.add("&"); specialCharSet.add("*"); specialCharSet.add("("); specialCharSet.add(")"); specialCharSet.add("-"); specialCharSet.add("+"); boolean flag = false; for(String s : specialCharSet) { flag = flag | password.contains(s); } return flag; } static boolean hasOneLowerCaseChar(String password) { boolean flag = false; for(Character c : password.toCharArray()) { flag = flag | Character.isLowerCase(c); } return flag; } static boolean hasOneUpperCaseChar(String password) { boolean flag = false; for(Character c : password.toCharArray()) { flag = flag | Character.isUpperCase(c); } return flag; } static boolean hasDigit(String password) { boolean flag = false; for(Character c : password.toCharArray()) { flag = flag | Character.isDigit(c); } return flag; } static int minimumNumber(int n, String password) { int i=0; if (!hasDigit(password)) i++; if (!hasOneUpperCaseChar(password)) i++; if (!hasOneLowerCaseChar(password)) i++; if (!hasSpecialChar(password)) i++; int length = password.length(); int result = 0; if(length < 6) { if(6-length <= i) { result = i; } else { result = 6-length; } } else { result = i; } return result; // Return the minimum number of characters to make the password strong } 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(); } }