#include <bits/stdc++.h>
using namespace std;
long long MOD = 1e9 + 7;
long long MAX = 1e17;
int cnt[26];
int main() {
  ios_base::sync_with_stdio(0);
  ;
  string s;
  cin >> s;
  int n = s.size();
  for (int i = 0; i < n; i++) cnt[s[i] - 'a']++;
  int num = -1;
  vector<int> v;
  for (int i = 0; i < 26; i++) {
    if (cnt[i] % 2 == 1) {
      v.push_back(i);
    }
  }
  for (int i = 0; i < v.size() / 2; i++) {
    cnt[v[i]]++;
    cnt[v[v.size() - i - 1]]--;
  }
  deque<char> f, b;
  for (int i = 0; i < 26; i++) {
    for (int j = 0; j < cnt[i] / 2; j++) {
      char temp = 'a' + i;
      f.push_back(temp);
    }
  }
  for (int i = 0; i < 26; i++) {
    for (int j = 0; j < cnt[i] / 2; j++) {
      char temp = 'a' + i;
      b.push_back(temp);
    }
  }
  string ans;
  char shit;
  if (v.size() != 0) shit = 'a' + v[v.size() / 2];
  while (f.size()) {
    cout << f.front();
    f.pop_front();
  }
  if (n % 2 == 1) {
    cout << shit;
  }
  while (b.size()) {
    cout << b.back();
    b.pop_back();
  }
}
