import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {
    static String numbers = "0123456789";
    static String lower_case = "abcdefghijklmnopqrstuvwxyz";
    static String upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    static String special_characters = "!@#$%^&*()-+";
    
    static int minimumNumber(int n, String password) {
        boolean length = false;
        boolean digit = false;
        boolean lower = false;
        boolean upper = false;
        boolean special = false;
        
        //length = password.length()>=6;
        digit = doesContain(password,numbers);
        lower = doesContain(password,lower_case);
        upper = doesContain(password,upper_case);
        special = doesContain(password,special_characters);
        
        int min = 0;
        
        min += digit?0:1;
        min += lower?0:1;
        min += upper?0:1;
        min += special?0:1;
        
        int dif = 6-password.length();
        
        if(dif>min)
            min = dif;
        
        return min;
        
    }

    static boolean doesContain(String password, String set)
    {
        for(int i = 0; i < password.length(); i++)
        {
            for(int j = 0; j < set.length(); j++)
            {
                if(password.charAt(i)==set.charAt(j))
                    return true;
            }
            
        }
        return false;
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        String password = in.next();
        int answer = minimumNumber(n, password);
        System.out.println(answer);
        in.close();
    }
}