/*
对于每一个输入的字符串s做归一化得到字符串no
<no,s>作为键值对构建字典,如果当前字符串s归一化之后的no已经出现过,那么就把dic[no]赋值为空字符串
然后把dic中所有值不为空的值都放在strs中,排序输出即可
*/
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include<string>
#include<strstream>
#include<strstream>
#include <sstream>
#include<vector>
#include<set>
#include<map>
using namespace std;
string norm(string s){
string ans=s;
for(auto &e:ans)e=tolower(e);
sort(ans.begin(),ans.end());
return ans;
}
vector<string>strs;
map<string,string>dic;
int main()
{
string s,no;
while(cin>>s&&s!="#"){
no=norm(s);
dic[no]=dic.find(no)==dic.end()?s:"";
}
for(auto &p:dic)if(!(p.second).empty())strs.push_back(p.second);
sort(strs.begin(),strs.end());
for(auto &p:strs)cout<<p<<endl;
return 0;
}