process.stdin.resume(); process.stdin.setEncoding('ascii'); var input_stdin = ""; var input_stdin_array = ""; var input_currentline = 0; process.stdin.on('data', function (data) { input_stdin += data; }); process.stdin.on('end', function () { input_stdin_array = input_stdin.split("\n"); main(); }); function readLine() { return input_stdin_array[input_currentline++]; } /////////////// ignore above this line //////////////////// function minimumNumber(n, password) { if(!password){ return 6; } length = password.length >=6; containsDigit = password.match(/[0-9]/g) != null; containsLowercase = password.match(/[a-z]/g) != null; containsUppercase = password.match(/[A-Z]/g) != null; containsSpecial = stringContainsSpecials(password); minimumNeeded = 0; while (!(containsDigit && containsLowercase && containsUppercase && containsSpecial)){ if(!containsDigit){ minimumNeeded++; containsDigit = true; } if(!containsLowercase){ minimumNeeded++; containsLowercase = true; } if(!containsUppercase){ minimumNeeded++; containsUppercase = true; } if(!containsSpecial){ minimumNeeded++; containsSpecial = true; } } if (password.length + minimumNeeded < 6){ minimumNeeded += 6 - (minimumNeeded + password.length); } return minimumNeeded; } function main() { var n = parseInt(readLine()); var password = readLine(); var answer = minimumNumber(n, password); process.stdout.write("" + answer + "\n"); } function stringContainsSpecials(str){ specials = "!@#$%^&*()-+"; for (var i = 0; i < specials.length; i++){ if (str.includes(specials.substring(i, i + 1))){ return true; } }return false; }