#include <bits/stdc++.h>
using namespace std;
template <class code>
inline code read(const code &a) {
  code x = 0;
  short w = 0;
  char ch = 0;
  while (!isdigit(ch)) {
    w |= ch == '-';
    ch = getchar();
  }
  while (isdigit(ch)) {
    x = (x << 3) + (x << 1) + (ch ^ 48);
    ch = getchar();
  }
  return w ? -x : x;
}
const int N = 200005;
char s[N];
int len;
bool check(int l, int r) {
  for (int i = l; i <= (l + r) / 2; i++) {
    if (s[i] != s[r - i + l]) return 0;
  }
  return 1;
}
int main() {
  int t = read(t);
  while (t--) {
    scanf("%s", s + 1);
    len = strlen(s + 1);
    int ans1, ans2, ans3, ans4;
    ans1 = ans2 = ans3 = ans4 = 0;
    if (check(1, len)) {
      for (int i = 1; i <= len; i++) printf("%c", s[i]);
      puts("");
      continue;
    }
    for (int i = 1; i <= len; i++)
      if (check(1, i)) ans1 = i;
    for (int i = len; i >= 1; i--)
      if (check(i, len)) ans2 = i;
    int l = 1;
    while (s[l] == s[len - l + 1] && l <= len - l + 1) ++l;
    for (int i = l; i <= len - l + 1; i++)
      if (check(l, i)) ans3 = i;
    for (int i = len - l + 1; i >= l; i--)
      if (check(i, len - l + 1)) ans4 = i;
    int now = max(ans1, max(len - ans2 + 1, max(ans3 + l, len - ans4 + 1 + l)));
    if (now == ans1)
      for (int i = 1; i <= ans1; i++) printf("%c", s[i]);
    else if (now == len - ans2 + 1)
      for (int i = ans2; i <= len; i++) printf("%c", s[i]);
    else if (now == ans3 + l) {
      for (int i = 1; i <= ans3; i++) printf("%c", s[i]);
      for (int i = len - l + 2; i <= len; i++) printf("%c", s[i]);
    } else {
      for (int i = 1; i <= l - 1; i++) printf("%c", s[i]);
      for (int i = ans4; i <= len; i++) printf("%c", s[i]);
    }
    puts("");
  }
  return 0;
}
