//A /*==========================================================*/ /* Template ver 2017-0720 | Created by JollyBee */ /* DOMINUS pascit me, et nihil mihi deerit (Psalmorum 23:1) */ /*==========================================================*/ #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector vi; typedef pair pii; typedef pair pll; typedef vector vii; const double EPS=(double)1e-9; const double PI=(double)acos(-1.0); #define fi first #define se second #define mp make_pair #define pb push_back #define pob pop_back #define pf push_front #define pof pop_front #define FOR(i,n) for(int i=0;i=0;i--) #define REVV(i,l,r,c) for(int i=l;i>=r;i-=c) #define REV(i,l,r) REVV(i,l,r,1) //random int irand(int lo, int hi){ return (((double)rand())/(RAND_MAX+1.0)) * (hi-lo+1) + lo; } //ll to string string toString(ll x) { stringstream ss; ss << x; return ss.str(); } //string to ll ll toNumber(string S) { ll ret; sscanf(S.c_str(),"%lld",&ret); return ret; } // std::fill(start, end, value); // for(auto it: DS){} const int INF=(int)2e9; const ll MOD=(ll)1e9+7; /*==========================================================*/ /* END OF TEMPLATE */ /* DOMINUS pascit me, et nihil mihi deerit (Psalmorum 23:1) */ /*==========================================================*/ const string sdigit="0123456789"; const string sspeci="!@#$%^&*()-+"; const string slower="abcdefghijklmnopqrstuvwxyz"; const string supper="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int main(){ int l; char s[105]; scanf("%d %s",&l,s); bool upper=false, lower=false, speci=false, digit=false; FOR(i,l){ for(auto c:sdigit) if(c==s[i])digit=true; for(auto c:sspeci) if(c==s[i])speci=true; for(auto c:slower) if(c==s[i])lower=true; for(auto c:supper) if(c==s[i])upper=true; } int ret=!upper+!lower+!speci+!digit; int res=max(max(6-l,ret),0); printf("%d\n",res); return 0; }