#include <bits/stdc++.h>
using namespace std;
template <class T1, class T2>
void print(T1 a[], T2 n) {
  for (T2 i = 0; i < n; i++) {
    cout << a[i] << " ";
  }
  cout << endl;
}
template <class T1, class T2>
void print(vector<T1> a, T2 n) {
  for (T2 i = 0; i < n; i++) {
    cout << a[i] << " ";
  }
  cout << endl;
}
template <class T1, class T2, class T3>
void fix(T1 a[], T2 n, T3 f) {
  for (T2 i = 0; i < n; i++) {
    a[i] = f;
  }
}
template <class T>
void swap(T &a, T &b) {
  T t = a;
  a = b;
  b = t;
}
bool check(string s) {
  for (int i = 0; i < s.length() / 2; i++) {
    if (s[i] != s[s.length() - i - 1]) {
      return false;
    }
  }
  return true;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int test;
  cin >> test;
  while (test--) {
    string s;
    cin >> s;
    int x = 0, y = s.length() - 1;
    string ans1 = "", ans2 = "";
    while (x <= y) {
      if (s[x] == s[y]) {
        if (x == y) {
          ans1 += s[x];
          x++;
          y--;
          break;
        } else {
          ans1 += s[x];
          ans2 = s[y] + ans2;
          x++;
          y--;
        }
      } else {
        break;
      }
    }
    if (x < y) {
      string rem = s.substr(x, s.length() - 1 - x - x + 1);
      string op1 = "";
      for (int i = rem.length() - 1; i >= 0; i--) {
        int w = x, e = i;
        string r = rem.substr(0, i - 0 + 1);
        bool f = check(r);
        if (f) {
          op1 = r;
          break;
        }
      }
      string op2 = "";
      for (int i = 0; i < rem.length() - 1; i++) {
        string r = rem.substr(i, rem.length() - 1 - i + 1);
        bool f = check(r);
        if (f) {
          op2 = r;
          break;
        }
      }
      if (op1.length() >= op2.length()) {
        ans1 += op1;
      } else {
        ans2 = op2 + ans2;
      }
    }
    cout << ans1 + ans2 << endl;
  }
}
