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) { const reNum = /[0-9]/; const reLower = /[a-z]/; const reUpper = /[A-Z]/; const specialChars = new Set(['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '+']); let numNeeded = 0; if (!reNum.test(password)) { ++numNeeded; } if (!reLower.test(password)) { ++numNeeded; } if (!reUpper.test(password)) { ++numNeeded; } if (!password.split('').some(letter => specialChars.has(letter))) { ++numNeeded; } if (n < 6) { numNeeded = Math.max(numNeeded, 6-n); } return numNeeded; } function main() { var n = parseInt(readLine()); var password = readLine(); var answer = minimumNumber(n, password); process.stdout.write("" + answer + "\n"); }