#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"; string special_characters = "!@#$%^&*()-+"; int numbersFlag = 0; int lcFlag = 0; int upFlag = 0; int specFlag = 0; if (password.size() < 3) return (6 - password.size()); for (int i = 0; i < password.size(); i++) { if (numbersFlag == 0 && numbers.find(password[i])!=std::string::npos) { numbersFlag = 1;} if (lcFlag == 0 && lower_case.find(password[i])!=std::string::npos) { lcFlag = 1; } if (upFlag == 0 && upper_case.find(password[i])!=std::string::npos) { upFlag = 1; } if (specFlag == 0 && special_characters.find(password[i])!=std::string::npos) { specFlag = 1; } } int count = 4 - (numbersFlag + lcFlag + upFlag + specFlag); if (password.size() + count < 6) return (6 - password.size()); else return count; } int main() { int n; cin >> n; string password; cin >> password; int answer = minimumNumber(n, password); cout << answer << endl; return 0; }