#include using namespace std; #define f(i,n) for(long long i=0;i > a,long long l,long long r,long long x){ while(la[mid].second) l=mid+1; else if(x==a[mid].second) return mid; } return l; } long long x,y; long long exp(long long x,long long y,long long m ){ if(y==0) return 1; else if( y % 2 == 0 ) return (exp(((x%m)*(x%m))%m,y/2,m))%m; else return ((x%m)*exp(((x%m)*(x%m))%m,(y-1)/2,m))%m; } long long d; void extendedEuclid(long long A, long long B) { if(B == 0) { d = A; x = 1; y = 0; } else { extendedEuclid(B, A%B); long long temp = x; x = y; y = temp - (A/B)*y; } } long long modInverse(long long A, long long M) { extendedEuclid(A,M); return (x%M+M)%M; //x may be negative } set se; vector seive(int a){ int c=0; vector v(a+1); //memset(v,false,sizeof(v)); f(i,a+1) v[i]=false; v[0]=v[1]=true; for(int i=2;i*i<=a;i++){ if(v[i]==false) for(int j=i*i;j<=a;j+=i) v[j]=true; } return v; f(i,a+1) if(v[i]==false) se.insert(i); } int main(){ ll n,m,k,a,d; pair p; string s; ll ans=0; string nu = "0123456789"; string lc = "abcdefghijklmnopqrstuvwxyz"; string uc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string sc = "!@#$%^&*()-+"; cin>>n; cin>>s; ans=4; f(i,n){ if(nu.find(s[i])!=-1){ ans--; break; } } f(i,n){ if(lc.find(s[i])!=-1){ ans--; break; } } f(i,n){ if(uc.find(s[i])!=-1){ ans--; break; } } f(i,n){ if(sc.find(s[i])!=-1){ ans--; break; } } if(n>=6) cout< > vp(n); return 0; }