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) { // Return the minimum number of characters to make the password strong var numbers = "0123456789".split('') var lower_case = "abcdefghijklmnopqrstuvwxyz".split('') var upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split('') var special_characters = "!@#$%^&*()-+".split('') var count = 0; var find = { n: false, l: false, u: false, s: false } for(var i = 0; i < n; i ++) { var c = password.charAt(i); if(!find.n && findChar(numbers, c)) { count ++; find.n = true; } if(!find.l && findChar(lower_case, c)) { count ++; find.l = true; } if(!find.u && findChar(upper_case, c)) { count ++; find.u = true; } if(!find.s && findChar(special_characters, c)) { count ++; find.s = true; } } count = 4 - count; if(n + count < 6) { count = 6 - n; } function findChar(arr, c) { var l = arr.length; for(var i = 0; i < l; i ++) { if(c == arr[i]) return true; } return false; } return count; } function main() { var n = parseInt(readLine()); var password = readLine(); var answer = minimumNumber(n, password); process.stdout.write("" + answer + "\n"); }