#include<bits/stdc++.h>
using namespace std;
string s;
bool is24(string);
int oper(int, int, char);
bool isSup(char);
int main(){
int n;
cin >> n;
for(int i = 0; i < n; i++){
cin >> s;
if(is24(s)){
cout << "Yes" << endl;
}else{
cout << "No" << endl;
}
}
return 0;
}
bool is24(string s){
int count = 0;
if(isSup(s[3])){
if(!isSup(s[3]) && isSup(s[5])){
count += oper(
oper(oper(s[2] - '0', s[4] - '0', s[3]), s[6] - '0', s[5]),
s[0] - '0',
s[1]);
}else if(isSup(s[3]) && isSup(s[5])){
count += oper(
oper(oper(s[0] - '0', s[2] - '0', s[1]), s[4] - '0', s[3]),
s[6] - '0',
s[5]);
}else{
count += oper(
oper(oper(s[2] - '0', s[4] - '0', s[3]), s[0] - '0', s[1]),
s[6] - '0',
s[5]);
}
}else{
if((!isSup(s[3]) && isSup(s[5])) || (isSup(s[3]) && isSup(s[5]))){
count += oper(
oper(s[0] - '0', s[2] - '0', s[1]),
oper(s[4] - '0', s[6] - '0', s[5]),
s[3]);
}else{
count += oper(
oper(oper(s[0] - '0', s[2] - '0', s[1]), s[4] - '0', s[3]),
s[6] - '0',
s[5]);
}
}
return (count == 24 ? true : false);
}
int oper(int n1, int n2, char oper){
switch(oper){
case '+':
return n1 + n2;
case '-':
return n1 - n2;
case 'x':
return n1 * n2;
case '/':
return n1 / n2;
}
}
bool isSup(char ch){
if(ch == 'x' || ch == '/'){
return true;
}else{
return false;
}
}
不保证完全通过,仅测试了样例。