#include <bits/stdc++.h>
using namespace std;
vector<char> ans;
int len, len1, flag;
string s;
int main() {
  cin >> s;
  len = s.size();
  if (len <= 3) {
    cout << s[0] << endl;
    exit(0);
  }
  int i = 0, j = len - 1;
  while (j - i >= 3) {
    if (s[i] == s[j]) {
      ans.push_back(s[i]);
      i++;
      j--;
    } else {
      if (s[i] == s[j - 1]) {
        ans.push_back(s[i]);
        i++;
        j -= 2;
      } else {
        ans.push_back(s[i + 1]);
        i += 2;
        if (s[i + 1] == s[j - 1]) {
          j -= 2;
        } else
          j -= 3;
      }
    }
  }
  while (i <= j) {
    if (i == j) {
      flag = 1;
      ans.push_back(s[i]);
    }
    if (i != j && s[i] == s[j]) ans.push_back(s[i]);
    i++;
    j--;
  }
  len1 = ans.size();
  if ((!flag && len1 * 2 - 1 < len / 2) || (flag && len1 * 2 < len / 2)) {
    cout << "IMPOSSIBLE" << endl;
    exit(0);
  }
  for (int i = 0; i < len1; i++) cout << ans[i];
  if (flag) len1--;
  for (int i = len1 - 1; i >= 0; i--) cout << ans[i];
  cout << '\n';
  return 0;
}
