#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const ll INF=1LL<<60; typedef pair P; typedef pair PP; const ll MOD=998244353; int main(){ int N; cin>>N; vector S(N); vector initidx; for(int i=0;i>S[i]; initidx.push_back(i); } string ans; for(int i=0;i ans; auto dfs=[&](auto f,int len,vectoridx)->bool{ if(len==N){ return true; } vector idxa,idxb; for(int v:idx){ if(S[v][len]=='a'){ idxa.push_back(v); }else{ idxb.push_back(v); } } if(idxa.size()>0){ if(f(f,len+1,idxa)){ ans.push_back('a'); return true; } } if(idxb.size()>0){ if(f(f,len+1,idxb)){ ans.push_back('b'); return true; } } return false; }; dfs(dfs,0,initidx); for(char c:ans){ cout<