#include #define _USE_MATH_DEFINES #define ll long long #define ins Not Needed Thing #define ull unsigned long long #define ld long double #define Accepted 0 #define pb push_back #define pii pair #define pll pair #define mp make_pair #define sz(x) (int)(x.size()) #define all(x) x.begin(),x.end() #define F first #define S second #define emp What is it #define SORRY FUL Accepted #define dimash the top one #define I wish #define you be a little more calm #define SpeedForce ios_base::sync_with_stdio(0), cin.tie(0) using namespace std; const double eps = 0.000001; const ld pi = acos(-1); const int maxn = 1e7 + 9; const int mod = 1e9 + 7; const ll MOD = 1e18 + 9; const ll INF = 1e18 + 123; const int inf = 2e9 + 11; const int mxn = 1e6 + 9; const int N = 5e3 + 123; const int NN = 5e5 + 123; const int PRI = 555557; const int pri = 997; int tests = 1; int n, m, k, a[5], cnt, ans; string s; bool isspe (char c) { string qwe = "!@#$%^&*()-+"; for (int i = 0; i < qwe.size(); i ++) if(qwe[i] == c) return 1; return 0; } inline void Solve () { // easy cin >> n; cin >> s; for (int i = 0; i < n; i ++) { if(isspe(s[i])) a[0] = 1; if(isdigit(s[i])) a[1] = 1; if(islower(s[i])) a[2] = 1; if(isupper(s[i])) a[3] = 1; } k = !a[0] + !a[1] + !a[2] + !a[3]; cout << max(k, 6 - n); } int main () { SpeedForce; // freopen(".in", "r", stdin); // freopen(".out", "w", stdout); // cin >> tests; while(tests --) { Solve (); // Ee Zadrot } }