#include <bits/stdc++.h>
using namespace std;
char s[1100000], c[1100000], mid;
int x[1100000];
int main() {
  int n, m, p, q, k;
  scanf("%s\n", s);
  n = strlen(s);
  q = n - 1;
  for (int i = 0; i < n;) {
    if (i == q) {
      mid = s[i];
    }
    if (i >= q) break;
    if (s[i] == s[q]) {
      x[i] = 1;
      i = i + 1;
      q = q - 1;
    } else if (s[i] == s[q - 1] && q - 1 > i) {
      x[i] = 1;
      i = i + 1;
      q = q - 2;
    } else if (s[i + 1] == s[q] && i + 1 < q) {
      x[i + 1] = 1;
      i = i + 2;
      q = q - 1;
    } else if (s[i + 1] == s[q - 1] && i + 1 < q - 1) {
      x[i + 1] = 1;
      i = i + 2;
      q = q - 2;
    } else if (i == q - 1) {
      mid = s[i];
      break;
    } else {
      i = i + 1;
      q = q - 1;
    }
  }
  k = -1;
  for (int i = 0; i <= n; i++) {
    if (x[i] == 1) {
      k += 1;
      c[k] = s[i];
    }
  }
  if (k == -1)
    printf("%c\n", s[0]);
  else {
    if (mid) {
      c[k + 1] = mid;
      for (int i = 0; i <= k; i++) {
        c[k + i + 2] = c[k - i];
      }
    } else
      for (int i = 0; i <= k; i++) {
        c[k + i + 1] = c[k - i];
      }
    k = strlen(c);
    if (k < n / 2) {
      printf("IMPOSSIBLE\n");
    } else
      printf("%s\n", c);
  }
  return 0;
}
