#include using namespace std; int minimumNumber(int n, string password) { // Return the minimum number of characters to make the password strong string numbers = "0123456789"; string lower_case = "abcdefghijklmnopqrstuvwxyz"; string upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int nums = 0; int locases = 0; int upcases = 0; string special_characters = "!@#$%^&*()-+"; int spec = 0; int remain = 0; for(int i = 0; i < password.length(); ++i) { if(numbers.find(password[i]) != string::npos) ++nums; if(lower_case.find(password[i]) != string::npos) ++locases; if(upper_case.find(password[i]) != string::npos) ++upcases; if(special_characters.find(password[i]) != string::npos) ++spec; } if(nums == 0) ++remain; if(locases == 0) ++remain; if(upcases == 0) ++remain; if(spec == 0) ++remain; if(password.length() < 4) { remain = 6 - password.length(); return remain; } if(password.length() < 6) { if(nums && locases && upcases && spec) { remain = 6 - password.length(); return remain; } else if(6 - password.length() >= remain){ remain = 6 - password.length(); return remain; } else return remain; } else { return remain; } } int main() { int n; cin >> n; string password; cin >> password; int answer = minimumNumber(n, password); cout << answer << endl; return 0; }