#include<bits/stdc++.h>
using namespace std;
char a[51],b[51];
char data[6][3]= {
{'(','(',')'},
{'(',')','('},
{'(',')',')'},
{')','(','('},
{')','(',')'},
{')',')','('},
};
inline int read_int() {
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9') {
if(ch=='-') {
w=-1;
}
ch=getchar();
}
while(ch>='0'&&ch<='9') {
s=s*10+ch-'0';
ch=getchar();
}
return s*w;
}
queue<char> q;
bool core() {
int len=strlen(b);
for(int i=0; i<=len; i+=1) {
if(b[i]=='(') {
q.push(b[i]);
} else if(b[i]==')') {
if(q.size()>0) {
q.pop();
} else {
while(q.size()>0) {
q.pop();
}
return false;
}
}
}
if(q.size()>0) {
while(q.size()>0) {
q.pop();
}
return false;
} else {
while(q.size()>0) {
q.pop();
}
return true;
}
}
int main() {
int N=read_int();
for(int i2=1; i2<=N; i2+=1) {
int flag=0;
scanf("%s",a);
for(int i=0; i<6; i+=1) {
for(int j=0; j<strlen(a); j+=1) {
if(a[i]=='A') {
b[i]=data[i][0];
}
if(a[i]=='B') {
b[i]=data[i][1];
}
if(a[i]=='C') {
b[i]=data[i][2];
}
}
if(core()==true){
flag=1;
break;
}
}
if(flag==1){
puts("YES");
}else{
puts("NO");
}
flag=0;
}
return 0;
}