#include <bits/stdc++.h>
using namespace std;
int32_t main() {
  string str;
  cin >> str;
  long long f[26] = {0};
  long long n = str.length();
  for (long long i = 0; i < n; i++) {
    f[str[i] - 'a']++;
  }
  std::vector<long long> odd;
  for (long long i = 0; i < 26; i++)
    if (f[i] % 2 == 1) {
      odd.push_back(i);
    }
  string word;
  if (odd.size() > 1) {
    for (long long i = 0; i < odd.size() / 2; i++) {
      f[odd[i]] += 1;
      f[odd[odd.size() - i - 1]] -= 1;
    }
  }
  {
    for (long long i = 0; i < 26; i++) {
      if ((odd.size() & 1) && odd[(odd.size()) / 2] == i) f[i]--;
      {
        for (long long j = 0; j < (f[i] + 1) / 2; j++) {
          word += (char)(i + 'a');
        }
      }
    }
    cout << word;
    if (n & 1) {
      cout << (char)(odd[(odd.size()) / 2] + 'a');
    }
    reverse(word.begin(), word.end());
    cout << word;
  }
  return 0;
}
