#include using namespace std; int tests, sc, gc, n, i; bool flag; char s[5005], g[5005], st[5005]; int f[5005][5005]; bool d[5005]; inline int recalc() { sc = 0; for (int i = 1; i <= n; i++) if (!d[i]) st[++sc] = s[i]; for (int i = 0; i <= n; i++) for (int j = 0; j <= sc; j++) f[i][j] = 0; f[0][0] = 1; for (int i = 0; i <= n; i++) for (int j = 0; j <= sc; j++) { f[i + 1][j] += f[i][j]; if (i < n && j < sc && s[i + 1] == st[j + 1]) f[i + 1][j + 1] += f[i][j]; f[i + 1][j] = min(f[i + 1][j], 10); f[i + 1][j + 1] = min(f[i + 1][j + 1], 10); } return f[n][sc]; } void rec(int l) { if (flag) return; int h = recalc(); if (h > 2) return; if (h == 2) { for (int i = 1; i <= n; i++) if (!d[i]) putchar(s[i]); puts(""); flag = 1; return; } if (l == n) return; for (int i = l + 1; i <= n; i++) { d[i] = 1; rec(i); d[i] = 0; } } int main() { //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); scanf("%d", &tests); for (int i = 1; i <= tests; i++) { scanf("%s", s + 1); n = strlen(s + 1); flag = 0; for (int i = 1; i < n; i++) { if (s[i] == s[i + 1] && (i == 1 || s[i] != s[i - 1]) && (i + 1 == n || s[i + 1] != s[i + 2])) { for (int j = 1; j < i; j++) putchar(s[j]); putchar(s[i]); for (int j = i + 2; j <= n; j++) putchar(s[j]); puts(""); flag = 1; break; } } if (flag) continue; sc = 0; for (int i = 1; i <= n; i++) d[i] = 0; rec(0); if (!flag) puts("-1"); } return 0; }