题目描述
题目描述
你接到了一个设计注册系统的任务,需要根据如下要求实现这个注册系统。
每当一个用户想要注册,他会向系统发送一个字符串 name 要求注册,如果这个 name 在系统数据库中不存在,那么就会将 name 插入到系统数据库中,并给用户返回 OK 表示注册成功。
如果 name 已经在系统数据库中存在,那么系统会生成一个新的用户名,将其插入数据库并返回给用户。
新的用户名按照如下规则生成:数字 从 开始,会一个接一个地添加到 name 后面,形成 name1,name2……系统会找到一个最小的 (),使得 namei 不在数据库中,将 namei 作为生成的新用户名。
输入描述
第一行一个整数 (),表示有 个注册请求。
接下来 行,每行一个字符串 ,表示用户向系统提交的用户名。
数据保证:,且 仅由小写字母组成。
输出描述
输出 行,如果用户名成功注册,输出 OK,否则输出系统返回给用户的用户名。
样例 1
4
abacaba
acaba
abacaba
acab
OK
OK
abacaba1
OK
样例 2
5
first
first
first
second
second
OK
first1
first2
OK
second1
说明提示
样例 #1:
abacaba 不存在,输出 OK,并插入到数据库中。
acaba 不存在,输出 OK,并插入到数据库中。
abacaba 在数据中存在,找到最小的数字 (),使得 abacabai 不存在,找到的为 。输出 abacaba1,并插入到数据库中。
acab 不存在,输出 OK,并插入到数据库中。
样例 #2:
first 不存在,输出 OK,并插入到数据库中。
first 存在,找到最小的 (),使得 firsti 不存在,结果为 。输出 first1,并插入到数据库中。
first 存在,找到最小的 (),使得 firsti 不存在,结果为 。输出 first2,并插入到数据库中。
second 不存在,输出 OK,并插入到数据库中。
second 存在,找到最小的 (),使得 secondi 不存在,结果为 。输出 second1,并插入到数据库中。