#include <bits/stdc++.h>
using namespace std;
#define pb push_back
typedef long long ll;
int conv(string &s){
string S="",S2="";
for(int t=s.size()-1;t>=0;t--){
if((s[t]-'0')>=0&&(s[t]-'0')<=9){
S+=s[t];
}else{
for(int i=0;i<=t;i++)
S2+=s[i];
break;
}
}
reverse(S.begin(),S.end());
for(int t=0;t<S.size();t++){
if(S[t]=='0'){
S2+='0';
}else{
if(t>0)
S.erase(S.begin()+(t-1));
break;
}
}
s=S2;
return S.size()>0? stoi(S):-1;
}
int main(){
int T,n,k,t,a,c=0;
cin>>n;
string s;
unordered_map<string,set<int>>ma;
for(t=0;t<n;t++){
cin>>s;
if(ma[s].size()==0){
string S=s;
int te=conv(S);
if(te!=-1)
ma[S].insert(te);
ma[s].insert(0);
cout<<"ok\n";
}else{
for(int y=0;y<1000000;y++){
if(ma[s].find(y)==ma[s].end()){
ma[s].insert(y);
if(y==0){
cout<<"ok\n";
}else{
ma[(s+to_string(y))].insert(0);
cout<<s<<y<<"\n";
}
break;
}
}
}
}
}
Copy