#include using namespace std; int minimumNumber(int n, string password) { string numbers = "0123456789"; string lower_case = "abcdefghijklmnopqrstuvwxyz"; string upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string special_characters = "!@#$%^&*()-+"; bool number_flag=false; bool lower_flag=false; bool upper_flag=false; bool special_flag=false; int counter=0; int n_add=4; while(!number_flag & counter<10 ){ std::size_t found1 = password.find(numbers[counter]); if (found1!=std::string::npos){ number_flag=true; n_add -= 1; //cout << "number" << endl; } counter++; } counter=0; while(!lower_flag & counter<26){ std::size_t found1 = password.find(lower_case[counter]); if (found1!=std::string::npos){ lower_flag=true; n_add -= 1; //cout << "lower" << endl; } counter++; } counter=0; while(!upper_flag & counter<26){ std::size_t found1 = password.find(upper_case[counter]); if (found1!=std::string::npos){ upper_flag=true; n_add -= 1; //cout << "upper" << endl; } counter++; } counter=0; while(!special_flag & counter<13){ std::size_t found1 = password.find(special_characters[counter]); if (found1!=std::string::npos){ special_flag=true; n_add -= 1; //cout << "special" << endl; } counter++; } return( max( 6 - ((int) password.size() ), n_add)); // Return the minimum number of characters to make the password strong } int main() { int n; cin >> n; string password; cin >> password; int answer = minimumNumber(n, password); cout << answer << endl; return 0; }