#include <bits/stdc++.h>
using namespace std;
string str, a;
int main() {
  cin >> str;
  int f, t;
  int flag = 0;
  f = 0, t = str.size() - 1;
  while (f < t) {
    if (str[f] == str[t]) {
      a.push_back(str[f]);
      f++, t--;
    } else {
      if (f + 1 < t - 1) {
        if (str[f + 1] == str[t]) {
          a.push_back(str[f + 1]);
          f = f + 2;
          t = t - 1;
        } else if (str[f] == str[t - 1]) {
          a.push_back(str[f]);
          f = f + 1;
          t = t - 2;
        } else if (str[f + 1] == str[t - 1]) {
          a.push_back(str[f + 1]);
          f = f + 2;
          t = t - 2;
        } else if (f + 1 == t - 1) {
          int cc[3] = {};
          for (int i = f; i <= t; i++) cc[str[i] - 'a']++;
          bool isover = 0;
          for (int i = 0; i < 3; i++)
            if (cc[i] == 2) {
              a.push_back(char('a' + i));
              isover = 1;
            }
          if (isover == 1) break;
          a.push_back(str[f]);
          flag = 1;
          break;
        }
      } else {
        a.push_back(str[f]);
        flag = 1;
        break;
      }
    }
  }
  string ans = a;
  if (flag == 0)
    for (int i = a.size() - 1; i >= 0; i--) ans.push_back(a[i]);
  else
    for (int i = a.size() - 2; i >= 0; i--) ans.push_back(a[i]);
  if (ans.size() >= str.size() / 2)
    cout << ans;
  else
    cout << "IMPOSSIBLE";
  cout << endl;
  return 0;
}
