#include #include #include #include #include #include #include bool hasLower(char *password) { int i = 0; while (password[i]) { if (password[i] >= 'a' && password[i] <= 'z') return true; i++; } return false; } bool hasUpper(char *password) { int i = 0; while (password[i]) { if (password[i] >= 'A' && password[i] <= 'Z') return true; i++; } return false; } bool hasDigit(char *password) { int i = 0; while (password[i]) { if (password[i] >= '0' && password[i] <= '9') return true; i++; } return false; } bool hasSymbol(char *password) { int i = 0; while (password[i]) { if (password[i] == '!' || password[i] == '@' || password[i] == '#' || password[i] == '$' || password[i] == '%' || password[i] == '^' || password[i] == '&' || password[i] == '*' || password[i] == '(' || password[i] == ')' || password[i] == '-' || password[i] == '+') return true; i++; } return false; } int minimumNumber(int n, char* password) { int count = 0; if (!hasLower(password)) count++; if (!hasUpper(password)) count++; if (!hasDigit(password)) count++; if (!hasSymbol(password)) count++; if (count + n < 6) count = 6 - n; return count; } int main() { int n; scanf("%i", &n); char* password = (char *)malloc(512000 * sizeof(char)); scanf("%s", password); int answer = minimumNumber(n, password); printf("%d\n", answer); return 0; }