#include #include #include #define ll long long #define ld long double #define f first #define s second #define pii pair< ll,ll > #define pdd pair< ld,ld > #define pb push_back #define sc(x) scanf("%d",&x) #define lw lower_bound #define llmax 1e18 #define mod 1000000007 #define block 350 #define MAX 100010 #define set < ll > Set #define DEBUG 0 using namespace std; priority_queue , std::greater > pq ; map mii ,mii1 ; map < ll ,ll > ::iterator iit,iit1; map msi ; map ::iterator sit ; map mci ; map ::iterator cit ; map mark; map ::iterator bit ; vector v; vector ::iterator vit ; map < pii ,ll > mp ,mp1; map ::iterator it ,tit ,it1 ; map < pii ,ll > grundy ; char a[110] ; bool checkd () { char x ;int cnt =0 ; for ( int i =0 ; i < 10 ; i++ ) { x = '0'+ i; if ( mci [x]) { cnt ++ ; break ; } } if ( cnt > 0 ) return 0 ; else return 1 ; } bool checka () { int cnt = 0 ;char x ; for ( int i =0 ; i < 26 ;i++ ) { x = 'a' + i ; if ( mci[x]) { cnt ++ ; break ; } } if ( cnt > 0 ) return 0 ; else return 1 ; } bool checkA () { int cnt = 0 ; char x ; for ( int i =0 ; i < 26 ;i++ ) { x = 'A' + i ; if ( mci[x]) { cnt ++ ; break ; } } if ( cnt > 0 ) return 0 ; else return 1 ; } bool checks () { int cnt = 0 ; char x ; for ( int i =0 ; i < 26 ;i++ ) { x = v[i] ; if ( mci[x]) { cnt ++ ; break ; } } if ( cnt > 0 ) return 0 ; else return 1 ; } int main () { ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0); int n ,ans = 0; cin >> n ; char x ; v.pb ('!') ; v.pb ('@') ; v.pb ('#') ; v.pb ('$') ; v.pb ('%') ; v.pb ('^') ; v.pb ('&') ; v.pb ('*') ; v.pb ('(') ; v.pb (')') ; v.pb ('-') ; v.pb ('+') ; for ( int i =0; i < n ;i++ ) cin >> a[i] ,mci [a[i]] =1 ; ans += checkd () ; ans += checks () ; ans += checka () ; ans += checkA () ; if ( n < 6 ) ans += max ( 6-n-ans , 0 ) ; cout << ans << "\n" ; }