#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize(3)
#pragma - fcrossjumping
#pragma - fdefer - pop
#pragma - fmerge - constans
#pragma - fthread - jumps
#pragma - floop - optimize
#pragma - fif - conversion
#pragma - fif - conversion2
#pragma - fdelayed - branch
#pragma - fguess - branch - probability
#pragma - fcprop - registers
#pragma - fforce - mem
#pragma - foptimize - sibling - calls
#pragma - fstrength - reduce
#pragma - fgcse
#pragma - fcse - follow - jumps
#pragma - frerun - cse - after - loop
#pragma - fdelete - null - pointer - checks
#pragma - fextensive - optimizations
#pragma - fregmove
#pragma - fschedule - insns
#pragma - fsched - interblock
#pragma - fcaller - saves
#pragma - fpeephole2
#pragma - freorder - blocks
#pragma - fstrict - aliasing
#pragma - funit - at - a - time
#pragma - falign - functions
#pragma - fcrossjumping
#pragma - finline - functions
#pragma - fweb
char s[1000500];
char ans[1000500];
int cnt;
int len;
int main() {
  scanf("%s", s + 1);
  len = strlen(s + 1);
  int l = 1, r = len;
  while (l <= r) {
    if (r - l < 3) break;
    if (s[l] == s[r])
      ans[++cnt] = s[l];
    else {
      if (s[l + 1] == s[r])
        ans[++cnt] = s[l + 1];
      else if (s[l] == s[r - 1])
        ans[++cnt] = s[l];
      else if (s[l + 1] == s[r - 1])
        ans[++cnt] = s[l + 1];
    }
    l += 2, r -= 2;
  }
  int flag = 0;
  if (l >= r) {
    flag = 1;
    goto xd;
  }
  for (register int i = l; i < r; ++i) {
    for (register int j = r; j > i; --j) {
      if (s[i] == s[j]) {
        flag = 1;
        ans[++cnt] = s[i];
        goto xd;
      }
    }
  }
xd:;
  if (flag == 1) {
    for (register int i = 1; i <= cnt; ++i) cout << ans[i];
    for (register int i = cnt; i >= 1; --i) cout << ans[i];
  } else {
    if (l != r) {
      for (register int i = 1; i <= cnt; ++i) cout << ans[i];
      cout << s[l + 1];
      for (register int i = cnt; i >= 1; --i) cout << ans[i];
    } else {
      for (register int i = 1; i <= cnt; ++i) cout << ans[i];
      for (register int i = cnt; i >= 1; --i) cout << ans[i];
    }
  }
}
