import std.stdio, std.conv, std.string, std.array, std.range, std.algorithm, std.container;
import std.math, std.random, std.bigint, std.datetime, std.format;
void main(string[] args){ if(args.length > 1) if(args[1] == "-debug") DEBUG = 1; solve(); } bool DEBUG = 0; 
void log(A ...)(lazy A a){ if(DEBUG) print(a); }
void print(){ writeln(""); } void print(T)(T t){ writeln(t); } void print(T, A ...)(T t, A a){ write(t, " "), print(a); }
string unsplit(T)(T xs){ return xs.array.to!(string[]).join(" "); }
string scan(){ static string[] ss; while(!ss.length) ss = readln.chomp.split; string res = ss[0]; ss.popFront; return res; }
T scan(T)(){ return scan.to!T; } T[] scan(T)(int n){ return n.iota.map!(i => scan!T()).array; }
T lowerTo(T)(ref T x, T y){ if(x > y) x = y; return x; } T raiseTo(T)(ref T x, T y){ if(x < y) x = y; return x; }

// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- //

void solve(){
    A: foreach(_; 0 .. scan!int){
        string s = scan;
        int n = s.length.to!int;

        int a = 0, b = n - 1;
        while(a < b){
            log("a:", a, "b:", b, "s[a]:", s[a], "s[b]:", s[b]);
            if(s[a] != s[b]) break;
            a ++, b --;
        }
        if(a >= b){
            s.writeln;
            continue A;
        }
        log("a:", a, "b:", b);
        
        bool isPalin(int u, int v){ // s[u .. v] is palin.
            log("u:", u, "v:", v, "s[u..v]:", s[u .. v]);
            int i = u, j = v - 1;
            while(i < j){
                if(s[i] != s[j]) return 0;
                i ++, j --;
            }
            return 1;
        }

        foreach_reverse(i; 0 .. b - a + 1){
            if(isPalin(a, a + i)){
                (s[0 .. a + i] ~ s[b + 1 .. $]).writeln;
                continue A;
            }
            if(isPalin(b - i + 1, b + 1)){
                (s[0 .. a] ~ s[b - i + 1 .. $]).writeln;
                continue A;
            }
        }
    }
}


