#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define GT(it,v) for(auto it:v) #define FU(i,a,b) for(int i=(a);i<(b);i++) #define FD(i,a,b) for(int i=(a);i>(b);i--) #define LL long long #define LD long double #define PI 3.1415926535897932384626 #define PII pair #define PLL pair #define VLL vector #define VVLL vector > #define VP vector> #define MP make_pair #define PB push_back #define FI first #define SE second #define SORT(v) sort(v.begin(),v.end()) #define GSORT(v,what) sort(v.begin(),v.end(),greater()) using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); string nums = "0123456789", lets = "abcdefghijklmnopqrstuvwxyz", blets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", spec = "!@#$%^&*()-+",inp; cin>>inp; cin >> inp; int matches = 0; FU(i, 0, nums.size()) { FU(j, 0, inp.size()) { if (nums.at(i) == inp.at(j)) { matches++; i=nums.size(); break; } } } FU(i, 0, lets.size()) { FU(j, 0, inp.size()) { if (lets.at(i) == inp.at(j)) { matches++; i=lets.size(); break; } } } FU(i, 0, blets.size()) { FU(j, 0, inp.size()) { if (blets.at(i) == inp.at(j)) { matches++; i=blets.size(); break; } } } FU(i, 0, spec.size()) { FU(j, 0, inp.size()) { if (spec.at(i) == inp.at(j)) { matches++; i=spec.size(); break; } } } cout << max(6 - (int)inp.size(), 4 - matches); return 0; }