program one; var a,numbers,lower_case,upper_case,special_characters:string; n,i,dksum,dknum,dklow,dkup,dksp: integer; function number(x:char):boolean; var i:longint; begin number:=false; for i:=1 to length(numbers) do if x=numbers[i] then begin number:=true; break; end; end; function lowcase(x:char):boolean; var i:longint; begin lowcase:=false; for i:=1 to length(lower_case) do if x=lower_case[i] then begin lowcase:=true; break; end; end; function uppcase(x:char):boolean; var i:longint; begin uppcase:=false; for i:=1 to length(upper_case) do if x=upper_case[i] then begin uppcase:=true; break; end; end; function sp(x:char):boolean; var i:longint; begin sp:=false; for i:=1 to length(special_characters) do if x=special_characters[i] then begin sp:=true; break; end; end; begin a:='test'; readln(input,n); readln(input,a); numbers:='0123456789'; lower_case:='abcdefghijklmnopqrstuvwxyz'; upper_case:='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; special_characters:='!@#$%^&*()-+'; dknum:=0; dklow:=0; dkup:=0; dksp:=0; for i:=1 to n do begin if number(a[i])=true then dknum:=1; if lowcase(a[i])=true then dklow:=1; if uppcase(a[i])=true then dkup:=1; if sp(a[i])=true then dksp:=1; end; dksum:=dknum+dklow+dkup+dksp; if (n<6) and (dksum<=4) then if (6-n)<(4-dksum) then write(4-dksum) else write(6-n); if (n>=6) and (dksum<4) then write(4-dksum); if (n>=6) and (dksum=4) then write(0); end.