#include <iostream>
#include <string>
using namespace std;
bool Find(string* rg, int pos){
for (int i = 0; i < pos; i++){
if (rg[i] == rg[pos]){
return true;
}
}
return false;
}
int main(){
string buffer = "";
getline(cin, buffer);
int n = stoi(buffer);
string* a = new string[n];
string* rg = new string[n];
for (int i = 0; i < n; i++){
getline(cin, a[i]);
a[i] = " " + a[i] + " ";
int j = 0;
while (j < a[i].length()){
if (a[i][j] != ' ' && isalpha(a[i][j-1]) && isalpha(a[i][j+1])){
a[i].erase(j,1);
}
else{
if (j > 0 && a[i][j-1] == ' '){
a[i][j] = toupper(a[i][j]);
}
if (j < a[i].length() - 1 && a[i][j+1] == ' '){
a[i][j] = tolower(a[i][j]);
}
j++;
}
}
}
for (int i = 0; i < n; i++){
for (int j = 1; j < a[i].length(); j++){
if (a[i][j-1] == ' '){
rg[i] += a[i][j];
}
}
int d = 0;
while (Find(rg, i) == true){
int dtmp = 0;
for (int j = a[i].length()-2; j >= 0; j--){
if (a[i][j+1] == ' '){
if (d == dtmp){
string tmp1 = rg[i].substr(0,rg[i].length()-d*2);
string tmp2 = rg[i].substr(rg[i].length()-d*2, d*2);
rg[i] = tmp1 + a[i][j] + tmp2;
d++;
break;
}
else{
dtmp++;
}
}
}
}
cout << rg[i] << '\n';
}
delete[] a;
delete[] rg;
return 0;
}