#include <bits/stdc++.h>
using namespace std;
const int mm = 1e6;
int vis[mm];
int main() {
  long long int n, m, i, j, k, kk, a, b, t;
  string s;
  cin >> s;
  n = s.size();
  if (n % 2 == 0) {
    string sss = "";
    k = 0;
    for (i = 0; i < n; i++) {
      vis[s[i] - 'a']++;
    }
    for (i = 0; i < 26; i++) k += (vis[i] / 2);
    for (i = 0; i < 26; i++) {
      for (j = 0; j < vis[i] / 2; j++) {
        sss += (i + 'a');
      }
      if (vis[i] & 1 && k < n / 2) {
        k++, sss += (i + 'a');
      }
    }
    cout << sss;
    for (i = sss.size() - 1; i >= 0; i--) printf("%c", sss[i]);
    printf("\n");
  } else {
    if (n == 1) {
      cout << s << endl;
      return 0;
    }
    string sss = "";
    k = 0;
    char p;
    for (i = 0; i < n; i++) {
      vis[s[i] - 'a']++;
    }
    for (i = 0; i < 26; i++) k += (vis[i] / 2);
    for (i = 0; i < 26; i++) {
      for (j = 0; j < vis[i] / 2; j++) {
        sss += (i + 'a');
      }
      if (vis[i] & 1 && k < n / 2) {
        k++, sss += (i + 'a');
        continue;
      }
      if (vis[i] & 1 && k == n / 2) k++, p = (i + 'a');
    }
    cout << sss << p;
    for (i = sss.size() - 1; i >= 0; i--) printf("%c", sss[i]);
    printf("\n");
  }
}
