/*Địa chỉ email của các cán bộ, giảng viên PTIT được tạo ra bằng cách viết đầy đủ tên và ghép với các chữ cái đầu của họ và tên đệm. Nếu có nhiều người cùng email thì từ người thứ 2 sẽ thêm số thứ tự vào email đó.
Cho trước các xâu họ tên (có thể không chuẩn). Hãy tạo ra các địa email tương ứng.
Input:
Dòng 1 ghi số N là xâu họ tên trong danh sách
N dòng tiếp theo ghi lần lượt các xâu họ tên (không quá 50 ký tự)
Output: Ghi ra các email được tạo ra.*/
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define fi first
#define se second
const int mod = 1000000007 ;
void ChuanHoa( string & s) {
stringstream ss( s) ;
string w;
string res = "" ;
while ( ss >> w) {
for ( int i = 0 ; i < w.size ( ) ; i++ ) {
res + = ( char ) tolower ( w[ i] ) ;
}
res + = " " ;
}
res.pop_back ( ) ;
s = res;
}
int main( ) {
ios:: sync_with_stdio ( false ) ;
cin .tie ( nullptr) ;
vector< string> res;
int t; cin >> t;
cin .ignore ( ) ;
while ( t-- ) {
string s; getline( cin , s) ;
ChuanHoa( s) ;
stringstream ss( s) ;
string w;
string email = "" ;
vector< string> v;
while ( ss >> w) {
v.push_back ( w) ;
}
email + = v[ v.size ( ) - 1 ] ;
for ( int i = 0 ; i < v.size ( ) - 1 ; i++ ) {
email + = v[ i] [ 0 ] ;
}
res.push_back ( email) ;
}
map< string, int > mp;
for ( string x : res) {
mp[ x] ++ ;
}
for ( auto it : mp) {
if ( it.second >= 2 ) {
int dem = 1 ;
for ( string & x : res) {
if ( x == it.first ) {
if ( dem == 1 ) {
x = x;
++ dem;
}
else {
x + = to_string( dem) ;
++ dem;
}
}
}
}
}
for ( string & x : res) {
x + = "@ptit.edu.vn" ;
}
for ( string x : res) {
cout << x << endl;
}
return 0 ;
}
LyrEkOG7i2EgY2jhu4kgZW1haWwgY+G7p2EgY8OhYyBjw6FuIGLhu5ksIGdp4bqjbmcgdmnDqm4gUFRJVCDEkcaw4bujYyB04bqhbyByYSBi4bqxbmcgY8OhY2ggdmnhur90IMSR4bqneSDEkeG7pyB0w6puIHbDoCBnaMOpcCB24bubaSBjw6FjIGNo4buvIGPDoWkgxJHhuqd1IGPhu6dhIGjhu40gdsOgIHTDqm4gxJHhu4dtLiBO4bq/dSBjw7Mgbmhp4buBdSBuZ8aw4budaSBjw7luZyBlbWFpbCB0aMOsIHThu6sgbmfGsOG7nWkgdGjhu6kgMiBz4bq9IHRow6ptIHPhu5EgdGjhu6kgdOG7sSB2w6BvIGVtYWlsIMSRw7MuCgpDaG8gdHLGsOG7m2MgY8OhYyB4w6J1IGjhu40gdMOqbiAoY8OzIHRo4buDIGtow7RuZyBjaHXhuqluKS4gSMOjeSB04bqhbyByYSBjw6FjIMSR4buLYSBlbWFpbCB0xrDGoW5nIOG7qW5nLgoKSW5wdXQ6CgpEw7JuZyAxIGdoaSBz4buRIE4gbMOgIHjDonUgaOG7jSB0w6puIHRyb25nIGRhbmggc8OhY2gKTiBkw7JuZyB0aeG6v3AgdGhlbyBnaGkgbOG6p24gbMaw4bujdCBjw6FjIHjDonUgaOG7jSB0w6puIChraMO0bmcgcXXDoSA1MCBrw70gdOG7sSkKT3V0cHV0OiBHaGkgcmEgY8OhYyBlbWFpbCDEkcaw4bujYyB04bqhbyByYS4qLwoKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHVsbCB1bnNpZ25lZCBsb25nIGxvbmcKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZApjb25zdCBpbnQgbW9kID0gMTAwMDAwMDAwNzsKCnZvaWQgQ2h1YW5Ib2Eoc3RyaW5nICZzKXsKICAgIHN0cmluZ3N0cmVhbSBzcyhzKTsKICAgIHN0cmluZyB3OwogICAgc3RyaW5nIHJlcyA9ICIiOwogICAgd2hpbGUoc3MgPj4gdyl7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IHcuc2l6ZSgpOyBpKyspewogICAgICAgICAgICByZXMgKz0gKGNoYXIpdG9sb3dlcih3W2ldKTsKICAgICAgICB9CiAgICAgICAgcmVzICs9ICIgIjsKICAgIH0KICAgIHJlcy5wb3BfYmFjaygpOwogICAgcyA9IHJlczsKfQoKaW50IG1haW4oKXsKCWlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCWNpbi50aWUobnVsbHB0cik7CgogICAgdmVjdG9yPHN0cmluZz4gcmVzOwogICAgaW50IHQ7IGNpbiA+PiB0OwogICAgY2luLmlnbm9yZSgpOwogICAgd2hpbGUodC0tKXsKICAgICAgICBzdHJpbmcgczsgZ2V0bGluZShjaW4sIHMpOwogICAgICAgIENodWFuSG9hKHMpOwogICAgICAgIHN0cmluZ3N0cmVhbSBzcyhzKTsKICAgICAgICBzdHJpbmcgdzsKICAgICAgICBzdHJpbmcgZW1haWwgPSAiIjsKICAgICAgICB2ZWN0b3I8c3RyaW5nPiB2OwogICAgICAgIHdoaWxlKHNzID4+IHcpewogICAgICAgICAgICB2LnB1c2hfYmFjayh3KTsKICAgICAgICB9CiAgICAgICAgZW1haWwgKz0gdlt2LnNpemUoKSAtIDFdOwogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCB2LnNpemUoKSAtIDE7IGkrKyl7CiAgICAgICAgICAgIGVtYWlsICs9IHZbaV1bMF07CiAgICAgICAgfQogICAgICAgIHJlcy5wdXNoX2JhY2soZW1haWwpOwogICAgfQogICAgbWFwPHN0cmluZywgaW50PiBtcDsKICAgIGZvcihzdHJpbmcgeCA6IHJlcyl7CiAgICAgICAgbXBbeF0rKzsKICAgIH0KICAgIGZvcihhdXRvIGl0IDogbXApewogICAgICAgIGlmKGl0LnNlY29uZCA+PSAyKXsKICAgICAgICAgICAgaW50IGRlbSA9IDE7CiAgICAgICAgICAgIGZvcihzdHJpbmcgJnggOiByZXMpewogICAgICAgICAgICAgICAgaWYoeCA9PSBpdC5maXJzdCl7CiAgICAgICAgICAgICAgICAgICAgaWYoZGVtID09IDEpewogICAgICAgICAgICAgICAgICAgICAgICB4ID0geDsKICAgICAgICAgICAgICAgICAgICAgICAgKytkZW07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICAgICAgICAgIHggKz0gdG9fc3RyaW5nKGRlbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICsrZGVtOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGZvcihzdHJpbmcgJnggOiByZXMpewogICAgICAgIHggKz0gIkBwdGl0LmVkdS52biI7CiAgICB9CiAgICBmb3Ioc3RyaW5nIHggOiByZXMpewogICAgICAgIGNvdXQgPDwgeCA8PCBlbmRsOwogICAgfQoJcmV0dXJuIDA7Cn0=