#include <bits/stdc++.h>
using namespace std;
string removeReverse(string s)
{
int i, n = s.size(), j;
set<int> h[26];
for (i = 0; i < n; i++)
{
h[s[i] - 'a'].insert(i);
}
int c = 0;
set<int> del;
int cnt = 0;
while (1)
{
if (c == 0)
{
int in = INT_MAX;
for (i = 0; i < 26; i++)
{
if (h[i].size() >= 2)
{
in = min(in, *(h[i].begin()));
}
}
if (in == INT_MAX)
break;
del.insert(in);
h[s[in] - 'a'].erase(h[s[in] - 'a'].begin());
c = 1 - c;
cnt++;
}
else
{
int in = -1;
for (i = 0; i < 26; i++)
{
if (h[i].size() >= 2)
{
in = max(in, *(h[i].rbegin()));
}
}
if (in == -1)
break;
del.insert(in);
auto it1 = h[s[in] - 'a'].end();
it1--;
h[s[in] - 'a'].erase(it1);
c = 1 - c;
cnt++;
}
}
string ss;
for (i = 0; i < n; i++)
{
if (del.find(i) == del.end())
ss += s[i];
}
if (cnt % 2 == 1)
reverse(ss.begin(), ss.end());
return ss;
}
signed main()
{
string s;
cin >> s;
cout << removeReverse(s);
}
CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RyaW5nIHJlbW92ZVJldmVyc2Uoc3RyaW5nIHMpCnsKICBpbnQgaSwgbiA9IHMuc2l6ZSgpLCBqOwogIHNldDxpbnQ+IGhbMjZdOwogIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspCiAgewogICAgaFtzW2ldIC0gJ2EnXS5pbnNlcnQoaSk7CiAgfQoKICBpbnQgYyA9IDA7CgogIHNldDxpbnQ+IGRlbDsKICBpbnQgY250ID0gMDsKCiAgd2hpbGUgKDEpCiAgewogICAgaWYgKGMgPT0gMCkKICAgIHsKICAgICAgaW50IGluID0gSU5UX01BWDsKICAgICAgZm9yIChpID0gMDsgaSA8IDI2OyBpKyspCiAgICAgIHsKCiAgICAgICAgaWYgKGhbaV0uc2l6ZSgpID49IDIpCiAgICAgICAgewogICAgICAgICAgaW4gPSBtaW4oaW4sICooaFtpXS5iZWdpbigpKSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChpbiA9PSBJTlRfTUFYKQogICAgICAgIGJyZWFrOwogICAgICBkZWwuaW5zZXJ0KGluKTsKICAgICAgaFtzW2luXSAtICdhJ10uZXJhc2UoaFtzW2luXSAtICdhJ10uYmVnaW4oKSk7CiAgICAgIGMgPSAxIC0gYzsKICAgICAgY250Kys7CiAgICB9CiAgICBlbHNlCiAgICB7CgogICAgICBpbnQgaW4gPSAtMTsKICAgICAgZm9yIChpID0gMDsgaSA8IDI2OyBpKyspCiAgICAgIHsKCiAgICAgICAgaWYgKGhbaV0uc2l6ZSgpID49IDIpCiAgICAgICAgewogICAgICAgICAgaW4gPSBtYXgoaW4sICooaFtpXS5yYmVnaW4oKSkpOwogICAgICAgIH0KICAgICAgfQogICAgICBpZiAoaW4gPT0gLTEpCiAgICAgICAgYnJlYWs7CgogICAgICBkZWwuaW5zZXJ0KGluKTsKICAgICAgYXV0byBpdDEgPSBoW3NbaW5dIC0gJ2EnXS5lbmQoKTsKICAgICAgaXQxLS07CiAgICAgIGhbc1tpbl0gLSAnYSddLmVyYXNlKGl0MSk7CiAgICAgIGMgPSAxIC0gYzsKICAgICAgY250Kys7CiAgICB9CiAgfQogIHN0cmluZyBzczsKICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQogIHsKICAgIGlmIChkZWwuZmluZChpKSA9PSBkZWwuZW5kKCkpCiAgICAgIHNzICs9IHNbaV07CiAgfQoKICBpZiAoY250ICUgMiA9PSAxKQogICAgcmV2ZXJzZShzcy5iZWdpbigpLCBzcy5lbmQoKSk7CgogIHJldHVybiBzczsKfQpzaWduZWQgbWFpbigpCnsKCiAgc3RyaW5nIHM7CiAgY2luID4+IHM7CiAgY291dCA8PCByZW1vdmVSZXZlcnNlKHMpOwp9CiA=