#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; typedef long double LD; typedef vector VI; typedef vector VLL; typedef vector VCH; typedef vector VVI; typedef vector VVLL; typedef vector VVCH; typedef pair PII; typedef pair PLL; typedef pair PDD; typedef vector VPII; typedef vector VPLL; #define SZ(a) (LL)(a.size()) #define ALL(a) a.begin(), a.end() #define FOR(i, a, b) for(LL i = (a); i < (b); ++i) #define RFOR(i, b, a) for(LL i = (b) - 1; i >= a; --i) #define REP(i, N) FOR(i, 0, N) #define MP make_pair #define X first #define Y second #define next fake_next #define left fake_left #define right fake_right #define delete fake_delete const LD PI = acos(-1.0); const LL MAXN = 1e6; const LL mod = 1000000007; const LL INF = 1e9; int main() { //ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0); //freopen("In.txt", "r", stdin); int n; string s; cin >> n >> s; bool i1 = 0, i2 = 0, i3 = 0, i4 = 0; FOR(i, 0, n) if (s[i] >= '0' && s[i] <= '9') i1 = 1; else if (s[i] >= 'a' && s[i] <= 'z') i2 = 1; else if (s[i] >= 'A' && s[i] <= 'Z') i3 = 1; else i4 = 1; if (n >= 6) { cout << 4 -( i1 + i2 + i3 + i4); return 0; } int toAdd = 6 - n; toAdd = max(toAdd, 4 - (i1 + i2 + i3 + i4)); cout << toAdd; return 0; }