/*
shubham_1286(shubham verma)
*/
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<vector>
#include<deque>
#include<map>
#include<set>
#include<stack>
#include<queue>
#include<algorithm>
#include<list>
#include<deque>
#include<bitset>
#include<limits.h>
#include<sstream>
#define max(x,y) x>y?x:y
#define min(x,y) x<y?x:y
#define sd(a) scanf("%d",&a);
#define slld(a) scanf("%lld",&a);
#define sllu(a) scanf("%llu",&a);
#define pd(a) printf("%d\n",a);
#define plld(a) printf("%lld\n",a);
#define pllu(a) printf("%llu\n",a);
#define inf INT_MAX
#define low INT_MIN
#define mod 1000000009
#define ull unsigned long long
#define ll long long
using namespace std;
bool flag[11][11];
vector<int>lec[7];
char temp[100010];
bool wemp;
void func(string s,int l,int val,int indx)
{
vector<int>::iterator rit;
// cout<<temp<<endl;
if(indx==(l-1))
{
// temp[indx+1]='\0';
for(int i=0;i<=l-1;i++)cout<<temp[i];
cout<<endl;
wemp=true;
return ;
}
else
{
for(rit=lec[s[indx+1]-65].begin();rit!=lec[s[indx+1]-65].end();++rit)
if(flag[val][*rit])
{
// if(indx==0)temp[indx]=(char)((*it)+48);
temp[indx+1]=(char)((*rit)+48);
func(s,l,*rit,indx+1);
}
}
// return ;
}
int main()
{
//freopen("c:\\users\\shubham\\desktop\\aa.txt","r",stdin);
//freopen("c:\\users\\shubham\\desktop\\out.txt","w",stdout);
for(int i=0;i<=4;i++)
lec[i].push_back(i),lec[i].push_back(i+5);
for(int i=0;i<=4;i++)
{
flag[i][(i+1)%5]=true;
flag[(i+1)%5][i]=true;
flag[i][i+5]=true;
flag[i+5][i]=true;
}
for(int i=5;i<=9;i++)
{
if((i+3)<=9)
{
flag[i][i+3]=true;
flag[i+3][i]=true;
}
if((i+2)<=9)
{
flag[i][i+2]=true;
flag[i+2][i]=true;
}
}
int t;
cin>>t;
while(t--)
{
string s;
cin>>s;
wemp=false;
int l=s.length();
int pp=s[0]-65;
int inp[3];
inp[0]=pp;inp[1]=pp+5;
for(int i=0;i<=1;i++)
{
temp[0]=(char)(inp[i]+48);
if(!wemp)
func(s,l,inp[i],0);
// cout<<"______\n";
}
if(!wemp)
cout<<-1<<endl;
}
}
Ci8qCiAgICAgc2h1YmhhbV8xMjg2KHNodWJoYW0gdmVybWEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KI2luY2x1ZGU8Y21hdGg+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8Y3N0ZGxpYj4KI2luY2x1ZGU8Y3N0cmluZz4KI2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8ZGVxdWU+CiNpbmNsdWRlPG1hcD4KI2luY2x1ZGU8c2V0PgojaW5jbHVkZTxzdGFjaz4KI2luY2x1ZGU8cXVldWU+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8bGlzdD4KI2luY2x1ZGU8ZGVxdWU+CiNpbmNsdWRlPGJpdHNldD4KI2luY2x1ZGU8bGltaXRzLmg+CiNpbmNsdWRlPHNzdHJlYW0+CiNkZWZpbmUgbWF4KHgseSkgeD55P3g6eQojZGVmaW5lIG1pbih4LHkpIHg8eT94OnkKI2RlZmluZSBzZChhKSAgc2NhbmYoIiVkIiwmYSk7CiNkZWZpbmUgc2xsZChhKSAgc2NhbmYoIiVsbGQiLCZhKTsKI2RlZmluZSBzbGx1KGEpICBzY2FuZigiJWxsdSIsJmEpOwojZGVmaW5lIHBkKGEpICBwcmludGYoIiVkXG4iLGEpOwojZGVmaW5lIHBsbGQoYSkgIHByaW50ZigiJWxsZFxuIixhKTsKI2RlZmluZSBwbGx1KGEpICBwcmludGYoIiVsbHVcbiIsYSk7CiNkZWZpbmUgaW5mIElOVF9NQVgKI2RlZmluZSBsb3cgSU5UX01JTgojZGVmaW5lIG1vZCAxMDAwMDAwMDA5CiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIGxsIGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwpib29sIGZsYWdbMTFdWzExXTsKdmVjdG9yPGludD5sZWNbN107CmNoYXIgdGVtcFsxMDAwMTBdOwpib29sIHdlbXA7CiAKdm9pZCBmdW5jKHN0cmluZyBzLGludCBsLGludCB2YWwsaW50IGluZHgpCnsKICAgdmVjdG9yPGludD46Oml0ZXJhdG9yIHJpdDsJCiAKLy8JY291dDw8dGVtcDw8ZW5kbDsKCSBpZihpbmR4PT0obC0xKSkKCSB7IAoJICAgLy8gdGVtcFtpbmR4KzFdPSdcMCc7CgkgZm9yKGludCBpPTA7aTw9bC0xO2krKyljb3V0PDx0ZW1wW2ldOwogICAgY291dDw8ZW5kbDsKCSAJd2VtcD10cnVlOwoJIAlyZXR1cm4gOwoJIH0KCSBlbHNlCgkgewoJIAkgICAgCiAgIAkJZm9yKHJpdD1sZWNbc1tpbmR4KzFdLTY1XS5iZWdpbigpO3JpdCE9bGVjW3NbaW5keCsxXS02NV0uZW5kKCk7KytyaXQpCgkJCSAgaWYoZmxhZ1t2YWxdWypyaXRdKQoJCSAJICB7CgkJIAkgIC8vCWlmKGluZHg9PTApdGVtcFtpbmR4XT0oY2hhcikoKCppdCkrNDgpOwoJCQkgICAJdGVtcFtpbmR4KzFdPShjaGFyKSgoKnJpdCkrNDgpOwoJCQkgICAJIGZ1bmMocyxsLCpyaXQsaW5keCsxKTsKCQkgICAgICAgfQoJCSAgIAogICAgICB9CiAgICAgIAogICAgIC8vIHJldHVybiA7Cn0KaW50IG1haW4oKQp7CiAvL2ZyZW9wZW4oImM6XFx1c2Vyc1xcc2h1YmhhbVxcZGVza3RvcFxcYWEudHh0IiwiciIsc3RkaW4pOwogIC8vZnJlb3BlbigiYzpcXHVzZXJzXFxzaHViaGFtXFxkZXNrdG9wXFxvdXQudHh0IiwidyIsc3Rkb3V0KTsKCiAgZm9yKGludCBpPTA7aTw9NDtpKyspCiAgICBsZWNbaV0ucHVzaF9iYWNrKGkpLGxlY1tpXS5wdXNoX2JhY2soaSs1KTsKICAgCiAgIGZvcihpbnQgaT0wO2k8PTQ7aSsrKQogICB7CiAgIAlmbGFnW2ldWyhpKzEpJTVdPXRydWU7CiAgIAlmbGFnWyhpKzEpJTVdW2ldPXRydWU7CiAgICAKICAgCWZsYWdbaV1baSs1XT10cnVlOwogICAJZmxhZ1tpKzVdW2ldPXRydWU7CiAgIH0KICAgCiAgIGZvcihpbnQgaT01O2k8PTk7aSsrKQogICB7CiAgIAlpZigoaSszKTw9OSkKICAgCXsKICAgCQlmbGFnW2ldW2krM109dHJ1ZTsKICAgICAgCWZsYWdbaSszXVtpXT10cnVlOwogICAJfQogICAJCiAgIAlpZigoaSsyKTw9OSkKICAgCXsKICAgCWZsYWdbaV1baSsyXT10cnVlOwogICAJZmxhZ1tpKzJdW2ldPXRydWU7CiAgIAl9CiAgIAkKICAgfQogCiAKIAogICAKICAgCiAgIGludCB0OwogICBjaW4+PnQ7CiAgIAogICB3aGlsZSh0LS0pCiAgIHsKICAgCiAgIHN0cmluZyBzOwogICAKICAgY2luPj5zOwogICB3ZW1wPWZhbHNlOwogICBpbnQgbD1zLmxlbmd0aCgpOwogICAgaW50IHBwPXNbMF0tNjU7CiAgICBpbnQgaW5wWzNdOwogICAgaW5wWzBdPXBwO2lucFsxXT1wcCs1OwogICAgCiAgICAKICAgCiAgICAgZm9yKGludCBpPTA7aTw9MTtpKyspCiAgICAgICAgewogICAgICAgICB0ZW1wWzBdPShjaGFyKShpbnBbaV0rNDgpOwogICAgICAgICBpZighd2VtcCkKICAgICAgICAgZnVuYyhzLGwsaW5wW2ldLDApOwogICAgLy8gICAgIGNvdXQ8PCJfX19fX19cbiI7CiAgICAgICAgCgkJfQogICBpZighd2VtcCkgICAKICAgY291dDw8LTE8PGVuZGw7CiAgIH0KIAp9CiA=