#include<stdio.h>
#include<string.h>
main()
{
char A[100];
int n,cntA,cntA2,cntA3,len;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
char Node[101];
memset(Node,0,101*sizeof(char));//这里和下面都需要先对Node数组(这个貌似可以不用,看编译器是否会直接赋0)和A数组初始化,否则会导致第一组判断出错误
memset(A,0,100*sizeof(char));
scanf("%s",Node);
len=(int)strlen(Node);
sscanf(Node,"%[A]",A);
cntA=(int)strlen(A);
memset(A,0,100*sizeof(char));
sscanf(Node+cntA,"P%[A]",A);
cntA2=(int)strlen(A);
memset(A,0,100*sizeof(char));
sscanf(Node+cntA+cntA2+1,"T%[A]",A);
cntA3=(int)strlen(A);
memset(A,0,100*sizeof(char));
if((cntA+cntA2+cntA3+2==len)&&(cntA*cntA2==cntA3)&&cntA2!=0)
printf("YES\n");
else
printf("NO\n");
}
}
#include<string.h>
main()
{
char A[100];
int n,cntA,cntA2,cntA3,len;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
char Node[101];
memset(Node,0,101*sizeof(char));//这里和下面都需要先对Node数组(这个貌似可以不用,看编译器是否会直接赋0)和A数组初始化,否则会导致第一组判断出错误
memset(A,0,100*sizeof(char));
scanf("%s",Node);
len=(int)strlen(Node);
sscanf(Node,"%[A]",A);
cntA=(int)strlen(A);
memset(A,0,100*sizeof(char));
sscanf(Node+cntA,"P%[A]",A);
cntA2=(int)strlen(A);
memset(A,0,100*sizeof(char));
sscanf(Node+cntA+cntA2+1,"T%[A]",A);
cntA3=(int)strlen(A);
memset(A,0,100*sizeof(char));
if((cntA+cntA2+cntA3+2==len)&&(cntA*cntA2==cntA3)&&cntA2!=0)
printf("YES\n");
else
printf("NO\n");
}
}