#include <bits/stdc++.h>
using namespace std;
int Quanti[30];
bool Dispari[30];
int main() {
  string s;
  cin >> s;
  for (int i = 0; i < s.size(); i++) {
    Quanti[(int)(s[i]) - (int)'a']++;
  }
  int k = 0;
  for (int i = 0; i < 26; i++) {
    if ((Quanti[i]) % 2 == 1) {
      Dispari[i] = true;
      k++;
    }
  }
  int h = 0;
  for (int i = 25; i >= 0 && 2 * h < k; i--) {
    if (Dispari[i]) {
      Quanti[i]--;
      h++;
    }
  }
  int l = 0;
  for (int i = 0; i < 26 && 2 * l < k; i++) {
    if (Dispari[i]) {
      Quanti[i]++;
      l++;
    }
  }
  string r = "";
  if ((s.size()) % 2 == 0) {
    for (int i = 0; i < 26; i++) {
      for (int j = 0; j < Quanti[i] / 2; j++) {
        r.push_back((char)(i + 97));
      }
    }
    for (int i = 25; i >= 0; i--) {
      for (int j = 0; j < Quanti[i] / 2; j++) {
        r.push_back((char)(i + 97));
      }
    }
  } else {
    char dispari = 'a';
    for (int i = 0; i < 26; i++) {
      if ((Quanti[i]) % 2 == 1) dispari = (char)(i + 97);
      for (int j = 0; j < Quanti[i] / 2; j++) {
        r.push_back((char)(i + 97));
      }
    }
    r.push_back(dispari);
    for (int i = 25; i >= 0; i--) {
      for (int j = 0; j < Quanti[i] / 2; j++) {
        r.push_back((char)(i + 97));
      }
    }
  }
  cout << r << endl;
}
