/*
*/

//#pragma GCC optimize("O3")
#define _CRT_SECURE_NO_WARNINGS
#include <fstream>
#include <iostream>
#include <string>
#include <complex>
#include <math.h>
#include <set>
#include <vector>
#include <map>
#include <queue>
#include <stdio.h>
#include <stack>
#include <algorithm>
#include <list>
#include <ctime>

#include <memory.h>
#include <assert.h>

#define y0 sdkfaslhagaklsldk

#define y1 aasdfasdfasdf
#define yn askfhwqriuperikldjk
#define j1 assdgsdgasghsf
#define tm sdfjahlfasfh
#define lr asgasgash
#define norm asdfasdgasdgsd
#define have adsgagshdshfhds
#define ends asdgahhfdsfshdshfd

#define eps 1e-8
#define M_PI 3.141592653589793
#define bsize 512

#define ldouble long double
using namespace std;

#define bs 1000000007

const int N = 300031;

int n;
string st;

string numbers = "0123456789";
string lower_case = "abcdefghijklmnopqrstuvwxyz";
string upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string special_characters = "!@#$%^&*()-+";
string digits="0123456789";

bool cont(string a,char b){
	for (int i=0;i<a.size();i++){
		if (a[i]==b)
			return true;
	}
	return false;
}

bool dont_have(string st,string z){
	for (int i=0;i<z.size();i++){
		if (cont(st,z[i]))
			return false;
	}
	return true;
}

int main(){
//	freopen("apache.in","r",stdin);
//	freopen("apache.out","w",stdout);
	//freopen("input.txt", "r", stdin);
	//freopen("output.txt", "w", stdout);
	ios_base::sync_with_stdio(0);
	//cin.tie(0);

	cin>>n;
	cin>>st;
	int missing_groups=0;
	if (dont_have(st,lower_case))
		++missing_groups;
	if (dont_have(st,upper_case))
		++missing_groups;
	if (dont_have(st,digits))
		++missing_groups;
	if (dont_have(st,special_characters))
		++missing_groups;
	missing_groups=max(missing_groups,6-(int)st.size());
	cout<<missing_groups<<endl;

//	cin.get(); cin.get();
	return 0;
}