#include <bits/stdc++.h>
using namespace std;
const int next_x[8] = {0, 1, -1, 0, 1, 1, -1, -1};
const int next_y[8] = {1, 0, 0, -1, 1, -1, -1, 1};
const int inf = 1e9 + 5;
const long long linf = 1e18 + 5;
const double PI = acos(-1.0);
const long double eps = 1e-6;
const int MAXN = 1e6 + 5;
const int N = 1e6 + 5;
int n;
char s[MAXN];
string ans;
int work() {
  scanf("%s", s + 1), n = strlen(s + 1);
  int l = 1, r = n;
  while (r - l >= 3) {
    int ll = 0, rr = 0;
    for (register int i = (l), I = (l + 1) + 1; i < I; ++i)
      for (register int j = (r - 1), I = (r) + 1; j < I; ++j)
        if (s[i] == s[j]) ll = i, rr = j;
    ans.push_back(s[ll]), l = ll + 1, r = rr - 1;
  }
  cout << ans;
  if (r >= l) putchar(s[l]);
  if (!ans.empty()) reverse(ans.begin(), ans.end());
  cout << ans;
  return 0;
}
int main() {
  work();
  return 0;
}
