using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication12 { class Program { static int minimumNumber(int n,List password) { int sum = 0; List numbers = "0123456789".ToList(); List lower_case = "abcdefghijklmnopqrstuvwxyz".ToList(); List upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToList(); List special_characters = "!@#$%^&*()-+".ToList(); int[] conter = new int[4]; var exists=true; for (int i = 0; i < numbers.Count(); i++) { exists = password.Contains(numbers[i]); if (exists == true) { conter[0]++; } } for (int i = 0; i < lower_case.Count(); i++) { exists = password.Contains(lower_case[i]); if (exists == true) { conter[1]++; } } for (int i = 0; i < upper_case.Count(); i++) { exists = password.Contains(upper_case[i]); if (exists == true) { conter[2]++; } } for (int i = 0; i < special_characters.Count(); i++) { exists = password.Contains(special_characters[i]); if (exists == true) { conter[3]++; } } for (int i = 0; i < 4; i++) { if (conter[i] > 0) { sum++; } } int answer=0; if (n < 6) { if (sum==4) { answer = 6 - n; } else { int sure_sum = 0; sure_sum = 4 - sum; if ((sure_sum + n)<6) { answer = 6 - (sure_sum + n); answer = answer + sure_sum; } else { answer = sure_sum; } } } else { for (int i = 0; i < conter.Length; i++) { if (conter[i] == 0) { answer++; } } } return answer; } static void Main(string[] args) { List pass = new List(); int n = Convert.ToInt32(Console.ReadLine()); if (n >= 1 && n <= 100) { string password = Console.ReadLine(); pass = password.ToList(); int answer = minimumNumber(n, pass); Console.WriteLine(answer); } } } }