#include <bits/stdc++.h>
using namespace std;
int main() {
  map<char, int> m;
  string s;
  cin >> s;
  int n = s.size();
  for (int i = 0; i < n; i++) {
    m[s[i]]++;
  }
  deque<char> d;
  string ans;
  for (auto it = m.begin(); it != m.end(); it++) {
    int cur = it->second / 2;
    it->second %= 2;
    for (int i = 1; i <= cur; i++) {
      ans += it->first;
    }
    if (it->second == 1) d.push_back(it->first);
  }
  while (d.size() >= 2) {
    ans += d.front();
    d.pop_front();
    d.pop_back();
  }
  sort(ans.begin(), ans.end());
  string rev = ans;
  reverse(rev.begin(), rev.end());
  if (d.size() != 0) {
    ans += d.front();
  }
  ans += rev;
  cout << ans << endl;
}
