#include <bits/stdc++.h>
using namespace std;
string a;
int cnt[30], c, n;
char tp;
deque<int> odd;
int main() {
  cin >> a;
  n = (int)a.size();
  for (int i = 0; i < a.size(); i++) cnt[a[i] - 'a']++;
  for (int i = 0; i < 26; i++)
    if (cnt[i] % 2 == 1) odd.push_back(i);
  while (odd.size() > 1) {
    cnt[odd.front()]++;
    cnt[odd.back()]--;
    odd.pop_back();
    odd.pop_front();
  }
  for (int i = 0; i < 26; i++) {
    c = cnt[i] / 2;
    if (cnt[i] % 2 == 1) tp = i + 'a';
    for (int j = 0; j < c; j++) printf("%c", i + 'a');
  }
  if (tp) printf("%c", tp);
  for (int i = 25; i >= 0; i--) {
    c = cnt[i] / 2;
    for (int j = 0; j < c; j++) printf("%c", i + 'a');
  }
}
