#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <string>
using namespace std;
void parse_string(vector <set <string> > &result) {
map<char, vector<string>> temp;
string word;
while(cin >> word){
temp[word[0]].push_back(word);
}
for(auto p : temp){
set<string> t;
for(auto w : p.second){
t.insert(w);
}
result.push_back(t);
}
for(auto p : result){
for(auto t : p){
cout << t << " ";
}
cout << endl;
}
}
int main() {
vector <set <string> > result;
parse_string(result);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwYXJzZV9zdHJpbmcodmVjdG9yIDxzZXQgPHN0cmluZz4gPiAmcmVzdWx0KSB7CiAgICBtYXA8Y2hhciwgdmVjdG9yPHN0cmluZz4+IHRlbXA7CiAgICBzdHJpbmcgd29yZDsKICAgIHdoaWxlKGNpbiA+PiB3b3JkKXsKICAgIAl0ZW1wW3dvcmRbMF1dLnB1c2hfYmFjayh3b3JkKTsKICAgIH0KICAgIGZvcihhdXRvIHAgOiB0ZW1wKXsKICAgIAlzZXQ8c3RyaW5nPiB0OwogICAgCWZvcihhdXRvIHcgOiBwLnNlY29uZCl7CiAgICAJCXQuaW5zZXJ0KHcpOwogICAgCX0KICAgIAlyZXN1bHQucHVzaF9iYWNrKHQpOwogICAgfQogICAgZm9yKGF1dG8gcCA6IHJlc3VsdCl7CiAgICAJZm9yKGF1dG8gdCA6IHApewogICAgCQljb3V0IDw8IHQgPDwgIiAiOwogICAgCX0KICAgIAljb3V0IDw8IGVuZGw7CiAgICB9Cn0KCmludCBtYWluKCkgewoJdmVjdG9yIDxzZXQgPHN0cmluZz4gPiByZXN1bHQ7CglwYXJzZV9zdHJpbmcocmVzdWx0KTsKCXJldHVybiAwOwp9