#include <iostream>
#include <string>
#include <map>
#include <vector>
using namespace std;
int main() {
string str, word = "", max = "";
vector<int> alph(26, 0);
int count = 0;
getline(cin, str);
bool flag = false;
for (int i = 0; i < str.size(); i++) {
if (str[i] == ' ') {
if (flag) {
count++;
flag = false;
}
if (word.size() > max.size()) {
max = word;
word = "";
}
}
else {
flag = true;
alph[str[i] - 'a']++;
word += str[i];
}
}
if (flag) {
count++;
flag = false;
}
if (word.size() > max.size()) {
max = word;
word = "";
}
int m = 0;
for (int i = 0; i < alph.size(); i++) {
if (alph[i] > m) {
m = alph[i];
}
}
flag = false;
for (int i = 0; i < alph.size(); i++) {
if (alph[i] == m) {
if (flag) {
cout << ' ' << (char)(i + 'a');
}
else {
cout << (char)(i + 'a');
flag = true;
}
}
}
cout << endl;
flag = false;
for (int i = 0; i < alph.size(); i++) {
if (alph[i] == 0) {
if (flag) {
cout << ' ' << (char)(i + 'a');
}
else {
cout << (char)(i + 'a');
flag = true;
}
}
}
cout << endl << count << endl << max;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgc3RyaW5nIHN0ciwgd29yZCA9ICIiLCBtYXggPSAiIjsKICAgIHZlY3RvcjxpbnQ+IGFscGgoMjYsIDApOwogICAgaW50IGNvdW50ID0gMDsKICAgIGdldGxpbmUoY2luLCBzdHIpOwoKICAgIGJvb2wgZmxhZyA9IGZhbHNlOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzdHIuc2l6ZSgpOyBpKyspIHsKICAgICAgICBpZiAoc3RyW2ldID09ICcgJykgewogICAgICAgICAgICBpZiAoZmxhZykgewogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgICAgIGZsYWcgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAod29yZC5zaXplKCkgPiBtYXguc2l6ZSgpKSB7CiAgICAgICAgICAgICAgICBtYXggPSB3b3JkOwogICAgICAgICAgICAgICAgd29yZCA9ICIiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBmbGFnID0gdHJ1ZTsKICAgICAgICAgICAgYWxwaFtzdHJbaV0gLSAnYSddKys7CiAgICAgICAgICAgIHdvcmQgKz0gc3RyW2ldOwogICAgICAgIH0KICAgICAgICAKICAgIH0KICAgIGlmIChmbGFnKSB7CiAgICAgICAgY291bnQrKzsKICAgICAgICBmbGFnID0gZmFsc2U7CiAgICB9CiAgICBpZiAod29yZC5zaXplKCkgPiBtYXguc2l6ZSgpKSB7CiAgICAgICAgbWF4ID0gd29yZDsKICAgICAgICB3b3JkID0gIiI7CiAgICB9CgogICAgaW50IG0gPSAwOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYWxwaC5zaXplKCk7IGkrKykgewogICAgICAgIGlmIChhbHBoW2ldID4gbSkgewogICAgICAgICAgICBtID0gYWxwaFtpXTsKICAgICAgICB9CiAgICB9CgogICAgZmxhZyA9IGZhbHNlOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhbHBoLnNpemUoKTsgaSsrKSB7CiAgICAgICAgaWYgKGFscGhbaV0gPT0gbSkgewogICAgICAgICAgICBpZiAoZmxhZykgewogICAgICAgICAgICAgICAgY291dCA8PCAnICcgPDwgKGNoYXIpKGkgKyAnYScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgY291dCA8PCAoY2hhcikoaSArICdhJyk7CiAgICAgICAgICAgICAgICBmbGFnID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKICAgIGZsYWcgPSBmYWxzZTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYWxwaC5zaXplKCk7IGkrKykgewogICAgICAgIGlmIChhbHBoW2ldID09IDApIHsKICAgICAgICAgICAgaWYgKGZsYWcpIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgJyAnIDw8IChjaGFyKShpICsgJ2EnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgKGNoYXIpKGkgKyAnYScpOwogICAgICAgICAgICAgICAgZmxhZyA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IGVuZGwgPDwgY291bnQgPDwgZW5kbCA8PCBtYXg7CgogICAgcmV0dXJuIDA7Cn0=