#include <bits/stdc++.h>
using namespace std;
int main() {
  int i;
  list<char> L;
  map<char, int, greater<char>> M, helper;
  map<char, int, greater<char>>::iterator it, it2;
  string S;
  cin >> S;
  for (i = 0; S[i]; i++) {
    M[S[i]]++;
  }
  for (it = M.begin(); it != M.end();) {
    if ((it->second) % 2) {
      helper.insert(*it);
      it2 = it;
      it++;
      M.erase(it2);
    } else
      it++;
  }
  if (helper.size() >= 1) {
    it = helper.begin();
    it2 = helper.end();
    --it2;
    for (i = 0; i < helper.size() - i - 1; i++) {
      it->second--;
      it2->second++;
      it++;
      it2--;
    }
    if (helper.size() % 2) {
      L.push_back(it->first);
      it->second--;
    }
  }
  for (it = helper.begin(); it != helper.end(); it++) {
    M.insert(*it);
  }
  for (it = M.begin(); it != M.end(); it++) {
    for (i = 1; i <= it->second; i++) {
      if (i % 2)
        L.push_back(it->first);
      else
        L.push_front(it->first);
    }
  }
  copy(L.begin(), L.end(), ostream_iterator<char>(cout, ""));
  cout << endl;
  return 0;
}
