#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
// #define int long long
const int MOD = 1000000007;
#define sz(x) (ll)(x).size()
#define rd ({ll x; cin >> x; x; })
#define dbg(x) cerr << "[" #x "] " << (x) << "\n"
// #define errv(x) {cerr << "["#x"] ["; for (const auto& ___ : (x)) cerr << ___ << ", "; cerr << "]\n";}
// #define cerr if(0)cerr
#define xx first
#define yy second
mt19937 rnd(std::chrono::high_resolution_clock::now().time_since_epoch().count());
/*_________________________________________________________________________________________________________________________*/
void Solve()
{
string s;
cin >> s;
ll n = sz(s);
map<char, ll> cnt;
for (auto c : s) {
cnt[c]++;
}
for (auto& [c, v] : cnt) {
if (v > (n + 1) / 2) {
cout << "-1\n";
return;
}
}
sort(s.begin(), s.end());
for (ll bar = n; bar >= 0; --bar) {
for (ll i = 1; i < n - 1; i++) {
if (s[i] == s[i - 1])
swap(s[i], s[i + 1]);
}
}
for (ll bar = n; bar >= 0; --bar) {
for (ll i = n - 2; i >= 1; i--) {
if (s[i] == s[i + 1])
swap(s[i], s[i - 1]);
}
}
cout << s << "\n";
}
int32_t main()
{
ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int t = 1;
cin >> t;
for (int i = 1; i <= t; i++) {
// cout << "Case #" << i << ": "; // cout << "Case " << i << ": ";
Solve();
}
return 0;
}
// Coded by Tahsin Arafat (@TahsinArafat)