#include <bits/stdc++.h>
using namespace std;
#define pb push_back
typedef long long ll;
int main(){
int T,n,k,t,a,c=0;
cin>>n;
string s;
unordered_map<string,pair<set<int>,int>>ma;
for(t=0;t<n;t++){
cin>>s;
if(ma[s].first.size()==0){
for(int x=1;x<min(7,(int)s.size());x++){
string nu=s.substr(s.size()-x,x);
if(nu[0]<'0'||nu[0]>'9')
break;
else if(nu[0]!='0'){
ma[s.substr(0,s.size()-x)].first.insert(stoi(nu));
}
}
ma[s].first.insert(0);
cout<<"ok\n";
}else{
for(int y=ma[s].second;y<1000000;y++){
ma[s].second=y;
if(ma[s].first.find(y)==ma[s].first.end()){
ma[s].first.insert(y);
if(y==0){
cout<<"ok\n";
}else{
ma[(s+to_string(y))].first.insert(0);
cout<<s<<y<<"\n";
}
break;
}
}
}
}
}
Copy