#include <bits/stdc++.h>
using namespace std;
int counts[26];
int main() {
  while (true) {
    string s;
    cin >> s;
    if (!cin) {
      break;
    }
    fill_n(counts, 26, 0);
    for (auto c : s) {
      ++counts[c - 'a'];
    }
    vector<int> odds;
    odds.reserve(26);
    for (int i = 0; i < 26; ++i) {
      if (counts[i] % 2 == 1) {
        odds.push_back(i);
      }
    }
    for (int i = 0; i < odds.size() / 2; ++i) {
      ++counts[odds[i]];
      --counts[odds[odds.size() - i - 1]];
    }
    string res = s;
    int i = 0, j = 0;
    while (j < 26) {
      if (counts[j] == 0) {
        ++j;
      } else if (counts[j] >= 2) {
        res[i] = 'a' + j;
        res[s.length() - 1 - i] = res[i];
        i++;
        counts[j] -= 2;
      } else {
        res[s.length() / 2] = 'a' + j;
        counts[j] -= 1;
      }
    }
    cout << res << endl;
  }
  return 0;
}
