#include <bits/stdc++.h>
using namespace std;
int main() {
// max distance between same element
// vector<int> arr={1,1,2,2,2,1};
// unordered_map<int,int> ok;
// int dist=0;
// for(int i=0;i<arr.size();i++){
// if(ok.find(arr[i])!=ok.end()){
// dist=max(dist,i-ok[arr[i]]);
// }else{
// ok[arr[i]]=i;
// }
// }
// cout<<dist;
//find common character
vector<string> words = {"acabcddd","bcbdbcbd","baddbadb","cbdddcac","aacbcccd","ccccddda","cababaab","addcaccd"};
vector<char> ans;
vector<int> ok(26,1000);
for(int i=0;i<3;i++){
vector<int> each(26,0);
for(int j=0;j<words[i].length();j++){
each[words[i][j]-'a']++;
}
for(char c='a';c<='z';c++){
ok[c-'a']=min(ok[c-'a'] , each[c-'a']);
}
for(char c='a';c<='d';c++){
cout<<ok[c-'a']<<" ";
}
cout<<endl;
}
for(char c='a';c<='z';c++){
if(ok[c-'a']>=1){
for(int i=0;i<ok[c-'a'];i++){
ans.push_back(c);
}
}
}
for(int i=0;i<ans.size();i++){
cout<<ans[i]<<endl;
}
// for(char c='a';c<='z';c++){
// cout<<c;
// }
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCS8vIG1heCBkaXN0YW5jZSBiZXR3ZWVuIHNhbWUgZWxlbWVudAoJLy8gdmVjdG9yPGludD4gYXJyPXsxLDEsMiwyLDIsMX07CgkvLyB1bm9yZGVyZWRfbWFwPGludCxpbnQ+IG9rOwoJLy8gaW50IGRpc3Q9MDsKCS8vIGZvcihpbnQgaT0wO2k8YXJyLnNpemUoKTtpKyspewoJLy8gCWlmKG9rLmZpbmQoYXJyW2ldKSE9b2suZW5kKCkpewoJLy8gCQlkaXN0PW1heChkaXN0LGktb2tbYXJyW2ldXSk7CgkvLyAJfWVsc2V7CgkvLyAJCQlva1thcnJbaV1dPWk7CgkvLyAJfQoJCgkvLyB9CgkvLyBjb3V0PDxkaXN0OwoJCgkvL2ZpbmQgY29tbW9uIGNoYXJhY3RlcgoJdmVjdG9yPHN0cmluZz4gd29yZHMgPSB7ImFjYWJjZGRkIiwiYmNiZGJjYmQiLCJiYWRkYmFkYiIsImNiZGRkY2FjIiwiYWFjYmNjY2QiLCJjY2NjZGRkYSIsImNhYmFiYWFiIiwiYWRkY2FjY2QifTsKCXZlY3RvcjxjaGFyPiBhbnM7Cgl2ZWN0b3I8aW50PiBvaygyNiwxMDAwKTsKCWZvcihpbnQgaT0wO2k8MztpKyspewoJCXZlY3RvcjxpbnQ+IGVhY2goMjYsMCk7CgkJZm9yKGludCBqPTA7ajx3b3Jkc1tpXS5sZW5ndGgoKTtqKyspewoJCQllYWNoW3dvcmRzW2ldW2pdLSdhJ10rKzsKCQl9CgkJZm9yKGNoYXIgYz0nYSc7Yzw9J3onO2MrKyl7CgkJCW9rW2MtJ2EnXT1taW4ob2tbYy0nYSddICwgZWFjaFtjLSdhJ10pOwoJCX0KCQlmb3IoY2hhciBjPSdhJztjPD0nZCc7YysrKXsKCQkJY291dDw8b2tbYy0nYSddPDwiICAgICI7CgkJfQoJCWNvdXQ8PGVuZGw7Cgl9Cglmb3IoY2hhciBjPSdhJztjPD0neic7YysrKXsKCQlpZihva1tjLSdhJ10+PTEpewoJCQlmb3IoaW50IGk9MDtpPG9rW2MtJ2EnXTtpKyspewoJCQkJYW5zLnB1c2hfYmFjayhjKTsKCQkJfQoJCQkKCQl9Cgl9Cglmb3IoaW50IGk9MDtpPGFucy5zaXplKCk7aSsrKXsKCQljb3V0PDxhbnNbaV08PGVuZGw7Cgl9Ci8vIGZvcihjaGFyIGM9J2EnO2M8PSd6JztjKyspewovLyAJY291dDw8YzsKLy8gfQoJCgkKCQoJCgkKCQoJCgkKCQoJcmV0dXJuIDA7Cn0=