#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn = 1000007;
char str[maxn];
long long a[40];
void init()
{
a[0]=1;
for(int i=1; i<=32; i++)
{
a[i]=a[i-1]*2;
}
}
int main()
{
int t;
scanf("%d", &t);
memset(a,0,sizeof(a));
init();
while(t--)
{
scanf("%s", str);
int len=strlen(str);
long long cnt=0;
int temp=0;
for(int i=0; i<len; i++)
{
if(str[i]=='U')
{
cnt+=3;
}
else if(str[i]=='I')
{
cnt++;
}
else if(str[i]=='M')
{
temp++;
}
}
bool flag=false;
if(temp==1 && str[0]=='M')
{
for(int i=0;i<=32;i++)
{
if(a[i]== cnt || ((a[i]-cnt) % 6==0 && a[i] >= cnt))
{
flag=true;
break;
}
}
if(flag)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
else
{
printf("No\n");
}
}
return 0;
}
HDU 4662 MU Puzzle
最新推荐文章于 2018-10-13 07:57:53 发布