#include <bits/stdc++.h>
using namespace std;
template <typename T>
T gcd(T a, T b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
int getDiff(pair<int, int> x) { return (x.second - x.first); }
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int tt;
  cin >> tt;
  while (tt--) {
    string s;
    cin >> s;
    int n = s.length();
    int i, j;
    string rev = s;
    reverse(rev.begin(), rev.end());
    if (rev.compare(s) == 0) {
      cout << s << "\n";
      continue;
    }
    string suf = "", pref = "";
    for (i = 0, j = n - 1; i < j; i++, j--) {
      if (s[i] == s[j]) {
        pref.push_back(s[i]);
        suf.push_back(s[j]);
      } else
        break;
    }
    int l = j;
    string temp = "";
    string temp2 = "";
    pair<int, int> points1, points2;
    points1 = {i, i};
    for (int k = i; k <= j; k++) {
      temp += s[k];
      temp2 = s[k] + temp2;
      if (temp.compare(temp2) == 0) {
        points1.second = k;
      }
    }
    temp = "";
    temp2 = "";
    points2 = {j, j};
    for (int k = j; k >= i; k--) {
      temp = s[k] + temp;
      temp2 += s[k];
      if (temp.compare(temp2) == 0) {
        points2.first = k;
      }
    }
    if (getDiff(points2) > getDiff(points1)) {
      temp = string(s, points2.first, getDiff(points2) + 1);
    } else if (getDiff(points2) < getDiff(points1)) {
      temp = string(s, points1.first, getDiff(points1) + 1);
    } else
      temp = string(s, i, getDiff(points1) + 1);
    reverse(pref.begin(), pref.end());
    cout << (suf + temp + pref) << "\n";
  }
}
