#include #define fi first #define se second #define pb push_back #define pb2 pop_back #define mp make_pair #define REPP(i,l,r,c) for (int i=l;i=0;i--) #define REPD(i,l,r) for (int i=r-1;i>=l;i--) #define REPDS(i,l,r) for (int i=r;i>=l;i--) #define test puts("test") #define line puts("") #define print(x) cout< pii; const int INF=1901486712; const int MOD=1000000007; const double PI=acos(-1); const double EPS=1E-9; bool between(int x,int l,int r) { return (l<=x && x<=r); } string tostring(int x) { char dum[20]; sprintf(dum,"%d",x); string ret(dum); return ret; } ll rb(ll l,ll r) { double temp=(double)rand(); temp/=(RAND_MAX+1.0); temp*=(r-l+1); temp+=l; return temp; } string numbers = "0123456789"; string lower_case = "abcdefghijklmnopqrstuvwxyz"; string upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string sss = "!@#$%^&*()-+"; int n; string S; int main() { cin>>n; cin>>S; int ans=0; bool cek=false; FOR(i,S.size()) if (between(S[i],'0','9')) { cek=true; break; } if (!cek) ans++, S+="0"; cek=false; FOR(i,S.size()) if (between(S[i],'a','z')) { cek=true; break; } if (!cek) ans++, S+="a"; cek=false; FOR(i,S.size()) if (between(S[i],'A','Z')) { cek=true; break; } if (!cek) ans++, S+="A"; cek=false; FOR(i,S.size()) FOR(j,sss.size()) if (S[i]==sss[j]) { cek=true; goto hell; } hell:; if (!cek) ans++, S+="!"; while (S.size()<6) S+='a', ans++; cout<