#include <bits/stdc++.h>
using namespace std;
int cnt[30];
int main() {
  char buf[200010];
  scanf("%s", buf);
  int len = strlen(buf);
  for (int i = 0; i < len; i++) {
    cnt[buf[i] - 'a']++;
  }
  int idx;
  deque<int> dq;
  for (int i = 0; i < 26; i++) {
    if (cnt[i] % 2 == 1) {
      dq.push_back(i);
    }
  }
  sort(dq.begin(), dq.end());
  while (!dq.empty()) {
    int u = dq.front();
    int v = dq.back();
    if (!dq.empty()) dq.pop_front();
    if (!dq.empty()) dq.pop_back();
    cnt[u]++;
    cnt[v]--;
  }
  idx = -1;
  if (len % 2 == 1) {
    for (int i = 0; i < 26; i++) {
      if (cnt[i] % 2 == 1) idx = i;
    }
  }
  string ans("");
  for (int i = 0; i < 26; i++) {
    for (int j = 0; j < cnt[i] / 2; j++) {
      ans = ans + char(i + 'a');
    }
  }
  printf("%s", ans.c_str());
  if (idx != -1) printf("%c", idx + 'a');
  reverse(ans.begin(), ans.end());
  printf("%s\n", ans.c_str());
  return 0;
}
