#include using namespace std; char s[102020]; int p[102020], q[333]; void doit() { int last = 0, n = 0, i, j, k, l = 0; scanf("%s", s + 1); for (n = 1; s[n]; n++); n--; for (i = 1; i <= n + 10; i++) p[i] = 0; memset(q, 0, sizeof q); for (i = 1; i <= n; i++) q[s[i]]++; for (j = 'a'; j <= 'z'; j++) if (q[j] & 1) break; for (i = j + 1; i <= 'z'; i++) if (q[i] & 1) {printf("-1\n"); return;} for (i = 'a'; i <= 'z'; i++) for (k = 1; k <= n; k++) if (s[k] == i) if (i == j) {p[(n + 1) >> 1] = k; j = 0;} else if (l == 0) {l = 1; p[++last] = k;} else {l = 0; p[n - last + 1] = k;} for (i = 1; i <= n; i++) printf("%d ", p[i]); printf("\n"); } int main() {int T; scanf("%d", &T); while (T--) doit(); return 0;}