#include <iostream> // cout, endl, cin
#include <string> // string, to_string, stoi
#include <vector> // vector
#include <algorithm> // min, max, swap, sort, reverse, lower_bound, upper_bound
#include <utility> // pair, make_pair
#include <tuple> // tuple, make_tuple
#include <cstdint> // int64_t, int*_t
#include <cstdio> // printf
#include <map> // map
#include <queue> // queue, priority_queue
#include <set> // set
#include <stack> // stack
#include <deque> // deque
#include <unordered_map> // unordered_map
#include <unordered_set> // unordered_set
#include <bitset> // bitset
#include <cctype> // isupper, islower, isdigit, toupper, tolower
using namespace std;
using vi = vector<int>;
using vii = vector<vi>;
using in6 = int64_t;
using ind = double;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
int main() {
vector<string> data(5);
rep(i,5) cin >> data[i];
sort(data.begin(), data.end());
rep(i,5) cout << data[i];
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAvLyBjb3V0LCBlbmRsLCBjaW4KI2luY2x1ZGUgPHN0cmluZz4gLy8gc3RyaW5nLCB0b19zdHJpbmcsIHN0b2kKI2luY2x1ZGUgPHZlY3Rvcj4gLy8gdmVjdG9yCiNpbmNsdWRlIDxhbGdvcml0aG0+IC8vIG1pbiwgbWF4LCBzd2FwLCBzb3J0LCByZXZlcnNlLCBsb3dlcl9ib3VuZCwgdXBwZXJfYm91bmQKI2luY2x1ZGUgPHV0aWxpdHk+IC8vIHBhaXIsIG1ha2VfcGFpcgojaW5jbHVkZSA8dHVwbGU+IC8vIHR1cGxlLCBtYWtlX3R1cGxlCiNpbmNsdWRlIDxjc3RkaW50PiAvLyBpbnQ2NF90LCBpbnQqX3QKI2luY2x1ZGUgPGNzdGRpbz4gLy8gcHJpbnRmCiNpbmNsdWRlIDxtYXA+IC8vIG1hcAojaW5jbHVkZSA8cXVldWU+IC8vIHF1ZXVlLCBwcmlvcml0eV9xdWV1ZQojaW5jbHVkZSA8c2V0PiAvLyBzZXQKI2luY2x1ZGUgPHN0YWNrPiAvLyBzdGFjawojaW5jbHVkZSA8ZGVxdWU+IC8vIGRlcXVlCiNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPiAvLyB1bm9yZGVyZWRfbWFwCiNpbmNsdWRlIDx1bm9yZGVyZWRfc2V0PiAvLyB1bm9yZGVyZWRfc2V0CiNpbmNsdWRlIDxiaXRzZXQ+IC8vIGJpdHNldAojaW5jbHVkZSA8Y2N0eXBlPiAvLyBpc3VwcGVyLCBpc2xvd2VyLCBpc2RpZ2l0LCB0b3VwcGVyLCB0b2xvd2VyCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIHZpID0gdmVjdG9yPGludD47CnVzaW5nIHZpaSA9IHZlY3Rvcjx2aT47CnVzaW5nIGluNiA9IGludDY0X3Q7CnVzaW5nIGluZCA9IGRvdWJsZTsKI2RlZmluZSByZXAoaSwgbikgZm9yIChpbnQgaSA9IDA7IGkgPCAoaW50KShuKTsgaSsrKQoKaW50IG1haW4oKSB7Cgl2ZWN0b3I8c3RyaW5nPiBkYXRhKDUpOwoJcmVwKGksNSkgY2luID4+IGRhdGFbaV07Cglzb3J0KGRhdGEuYmVnaW4oKSwgZGF0YS5lbmQoKSk7CglyZXAoaSw1KSBjb3V0IDw8IGRhdGFbaV07CglyZXR1cm4gMDsKfQ==