#include <bits/stdc++.h>
using namespace std;
const int Maxn = 2e5 + 1;
char s[Maxn], ch;
int a[26], n, i, j, l, r;
void Change(int l, int r) {
  while (l < r) {
    while (!(a[l] & 1)) {
      l++;
      if (l > r) break;
    }
    if (l > r) break;
    while (!(a[r] & 1)) r--;
    a[l]++;
    a[r]--;
  }
  if (l == r) ch = 'a' + l;
}
int main() {
  scanf("%s", &s);
  n = strlen(s);
  for (i = 0; i < n; i++) a[s[i] - 'a']++;
  l = 0;
  r = 25;
  Change(l, r);
  for (i = 0; i < 26; i++) a[i] /= 2;
  for (i = 0; i < 26; i++) {
    for (j = 0; j < a[i]; j++) printf("%c", 'a' + i);
  }
  if (n & 1) printf("%c", ch);
  for (i = 25; i >= 0; i--) {
    for (j = 0; j < a[i]; j++) printf("%c", 'a' + i);
  }
  return 0;
}
