import heapq
from collections import Counter
def rearrange_string(s):
n = len(s)
freq = Counter(s)
# اگر بیشترین تکرار از نصف طول رشته بیشتر باشد، غیرممکن است
if any(count > (n + 1) // 2 for count in freq.values()):
return "-1"
# استفاده از min heap با فرکانس منفی برای ساخت کوچکترین رشته ممکن
heap = []
for ch in sorted(freq): # حروف را مرتب میکنیم تا رشته نهایی lex smallest باشد
heapq.heappush(heap, (-freq[ch], ch)) # max heap از طریق فرکانس منفی
result = []
prev_freq, prev_ch = 0, ''
while heap:
freq_curr, ch_curr = heapq.heappop(heap)
result.append(ch_curr)
# حرف قبلی را دوباره به هیپ اضافه کن اگر هنوز باقی مانده
if prev_freq < 0:
heapq.heappush(heap, (prev_freq, prev_ch))
# بهروزرسانی حرف قبلی برای دفعه بعد
prev_freq = freq_curr + 1 # چون منفی هست، افزایش یعنی کاهش فرکانس واقعی
prev_ch = ch_curr
return ''.join(result)
# پردازش ورودی
T = int(input())
for _ in range(T):
S = input().strip()
print(rearrange_string(S))