1 #include<stdio.h>
2 #include<string.h>
3 #define MAXN 101
4 int find(char a[],char c);
5 int test(char a[]);
6 int main(){
7 int n,i;
8 char a[MAXN];
9 scanf("%d",&n);
10 for(i=1;i<=n;i++){
11 scanf("%s",a);
12 if(test(a)==1) printf("YES\n");
13 else printf("NO\n");
14 }
15 return 0;
16 }
17 int find(char a[],char c){
18 int i;
19 for(i=0;i<strlen(a);i++){
20 if(a[i]==c) return i;
21 }
22 return -1;
23 }
24 int test(char a[]){
25 int len = strlen(a),count,j,i;
26 char c;
27 int Ploc = find(a,'P'),Tloc = find(a,'T');
28 if(Ploc!=-1 && Tloc!=-1){
29 count = Tloc - Ploc-1;
30 if(count==1){
31 if(a[Ploc+1]=='A'){
32 if(len==3) return 1;
33 else if(len<3) return 0;
34 else{
35 if(Ploc==(len-Tloc-1)){
36 for(i=0;i<Ploc;i++){
37 c = a[len-i-1];
38 if(c==a[i]&& a[i]=='A') ;
39 else return 0;
40 }
41 return 1;
42 }
43 else return 0;
44 }
45 }
46 else return 0;
47 }
48 else if(count>1){
49 char b[MAXN],c;
50 int i,end;
51 for(i=0;i<len;i++){
52 c = a[i];
53 if(i!=Ploc&&i!=Tloc){
54 if(c!='A') return 0;
55 }
56 }
57 for(i=0;i<=Ploc+1;i++) b[i] = a[i];
58 b[i] = a[Tloc];
59 if((count-1)*Ploc>=(len-Tloc-1)) b[++i] = a[len];
60 else{
61 end = len-(count-1)*Ploc-1;
62 for(j=Tloc+1;j<=end;j++){
63 b[++i] = a[j];
64 }
65 b[++i] = a[len];
66
67 }
68 //printf("%s\n",b);
69 if(test(b)==1) return 1;
70 else return 0;
71
72 }
73 else return 0;
74 }
75 else return 0;
76 }