#include using namespace std; int Pos[256], Cnt[256]; vector chars; vector Positions; string Sol, str; vector Words; int main() { while(cin >> str) { Words.push_back(str); } for(char c = 'a'; c <= 'z'; ++c) chars.push_back(c); for(char c = 'A'; c <= 'Z'; ++c) chars.push_back(c); int p = 0; for(auto c : chars) Pos[c] = p++; Positions.resize(Words.size(), 0); cerr << "OK\n"; for(int i = 1; i <= 1e6; ++i) { memset(Cnt, 0, sizeof(Cnt)); for(int i = 0; i < Words.size(); ++i) { if(Positions[i] < Words[i].size()) { char now = Words[i][Positions[i]]; Cnt[Pos[now]] += 1; } } int best = 0; for(int i = 1; i < chars.size(); ++i) if(Cnt[best] < Cnt[i]) best = i; if(Cnt[best] == 0) break; Sol += chars[best]; for(int i = 0; i < Words.size(); ++i) { if(Positions[i] < Words[i].size()) { char now = Words[i][Positions[i]]; if(Pos[now] == best) ++ Positions[i]; } } } cout << Sol; return 0; }