import java.io.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Map;
import java.util.TreeMap;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
public class Main {
while ((word = buff.readLine()) != null) {
for (int i = 0; i < word.length(); i++){
char c = word.charAt(i);
if (word_m.containsKey(c)){
word_m.put(c, word_m.get(c) + 1);
} else {
word_m.put(c, 1);
}
}
}
char c = 'a';
int len = word_m.size();
for (int i = 0; i < len; ++i) {
int value = 0;
for (Map.
Entry<Character, Integer
> entry
: word_m.
entrySet()) { Integer maxValue
= entry.
getValue(); if (maxValue > value) {
value = maxValue;
c = entry.getKey();
}
}
for (int j = 0; j < value; ++j) {
buff_w.write(c);
}
buff_w.flush();
word_m.remove(c, value);
--len;
}
for (Map.
Entry<Character, Integer
> entry
: word_m.
entrySet()) { buff_w.write(entry.getKey());
}
buff_w.close ();
}
}
aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS51dGlsLk1hcDsKaW1wb3J0IGphdmEudXRpbC5UcmVlTWFwOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjsKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRXcml0ZXI7CgoKcHVibGljIGNsYXNzIE1haW4gewoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICAgQnVmZmVyZWRSZWFkZXIgYnVmZiA9CiAgICAgICAgICAgICAgICBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwogICAgICAgIFN0cmluZyB3b3JkID0gbmV3IFN0cmluZygpOwogICAgICAgIFRyZWVNYXAgPENoYXJhY3RlciwgSW50ZWdlcj4gd29yZF9tID0gbmV3IFRyZWVNYXA8PigpOwogICAgICAgIHdoaWxlICgod29yZCA9IGJ1ZmYucmVhZExpbmUoKSkgIT0gbnVsbCkgewogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHdvcmQubGVuZ3RoKCk7IGkrKyl7CiAgICAgICAgICAgICAgICBjaGFyIGMgPSB3b3JkLmNoYXJBdChpKTsKICAgICAgICAgICAgICAgIGlmICh3b3JkX20uY29udGFpbnNLZXkoYykpewogICAgICAgICAgICAgICAgICAgIHdvcmRfbS5wdXQoYywgd29yZF9tLmdldChjKSArIDEpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB3b3JkX20ucHV0KGMsIDEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIEJ1ZmZlcmVkV3JpdGVyIGJ1ZmZfdyA9CiAgICAgICAgCQluZXcgQnVmZmVyZWRXcml0ZXIobmV3IE91dHB1dFN0cmVhbVdyaXRlcihTeXN0ZW0ub3V0KSk7CiAgICAgICAgY2hhciBjID0gJ2EnOwogICAgICAgIGludCBsZW4gPSB3b3JkX20uc2l6ZSgpOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuOyArK2kpIHsKICAgICAgICAgICAgaW50IHZhbHVlID0gMDsKICAgICAgICAgICAgZm9yIChNYXAuRW50cnk8Q2hhcmFjdGVyLCBJbnRlZ2VyPiBlbnRyeSA6IHdvcmRfbS5lbnRyeVNldCgpKSB7CiAgICAgICAgICAgICAgICBJbnRlZ2VyIG1heFZhbHVlID0gZW50cnkuZ2V0VmFsdWUoKTsKICAgICAgICAgICAgICAgIGlmIChtYXhWYWx1ZSA+IHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBtYXhWYWx1ZTsKICAgICAgICAgICAgICAgICAgICBjID0gZW50cnkuZ2V0S2V5KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB2YWx1ZTsgKytqKSB7CiAgICAgICAgICAgIAlidWZmX3cud3JpdGUoYyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnVmZl93LmZsdXNoKCk7CiAgICAgICAgICAgIHdvcmRfbS5yZW1vdmUoYywgdmFsdWUpOwogICAgICAgICAgICAtLWxlbjsKICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludChsZW4pOwogICAgICAgIAogICAgICAgIGZvciAoTWFwLkVudHJ5PENoYXJhY3RlciwgSW50ZWdlcj4gZW50cnkgOiB3b3JkX20uZW50cnlTZXQoKSkgewogICAgICAgICAgICBidWZmX3cud3JpdGUoZW50cnkuZ2V0S2V5KCkpOwogICAgICAgIH0KICAgICAgICBidWZmX3cuY2xvc2UgKCk7CiAgICB9Cn0K