/* Pradyumn Sinha Delhi Technological University */ #include // #include // #include // using namespace __gnu_pbds; // typedef tree, rb_tree_tag, tree_order_statistics_node_update> OST; using namespace std; #define fi first #define se second #define mp make_pair #define pb push_back #define pf push_front #define vi vector #define vl vector #define vii vector #define vll vector #define pll pair #define pii pair #define pi 3.14159265358979 #define EL printf("\n") #define OK printf("OK"); #define foreach(i,t) for(auto i =t.begin();i!=t.end();i++) #define pdn(n) printf("%d\n",n) #define pln(n) printf("%lld\n",n) #define psn(n) printf("%s\n",n) #define pcn(n) printf("%c\n",n) #define sl(n) scanf("%lld",&n) #define sd(n) scanf("%d",&n) #define ss(n) scanf("%s",&n) #define pn printf("\n") #define SZ(x) ((int)(x.size())) #define PI 3.14159265 #define inf 1e18 #define mod 1000000007 #define precise(n,k) fixed< sp; int mark[4]; int main() { for(auto ch:special_characters) sp[ch]=1; int n; sd(n); string s; cin>>s; for(auto ch:s) { if(ch>='0'&&ch<='9') mark[0]=1; else if(ch>='a'&&ch<='z') mark[1]=1; else if(ch>='A'&&ch<='Z') mark[2]=1; else if(sp[ch]==1) mark[3]=1; } int cnt=4; for(int i=0;i<4;i++) cnt-=mark[i]; cnt=max(cnt,max(0,6-n)); pdn(cnt); return 0; }