#include <bits/stdc++.h>
using namespace std;
inline int toInt(string s) {
  int v;
  istringstream sin(s);
  sin >> v;
  return v;
}
template <class T>
inline string toString(T x) {
  ostringstream sout;
  sout << x;
  return sout.str();
}
template <class T>
inline T sqr(T x) {
  return x * x;
}
const double eps = 1e-10;
const double pi = acos(-1.0);
const long long INF = 1LL << 62;
const int inf = 1 << 29;
int pos;
const string kVars = "abcdefghijk";
string formula1, formula2, res;
int mlt(int lhs, int rhs) { return lhs && rhs; }
int pls(int lhs, int rhs) { return lhs || rhs; }
int mns(int val) { return !val; }
int imp(int lhs, int rhs) { return !(lhs && !rhs); }
int operate(const string& formula, int& pos) {
  int ret;
  if (formula.at(pos) == '(') {
    pos++;
    int lhs = operate(formula, pos);
    char op = formula.at(pos++);
    if (op == '-') pos++;
    int rhs = operate(formula, pos);
    switch (op) {
      case '*': {
        ret = mlt(lhs, rhs);
        break;
      }
      case '+': {
        ret = pls(lhs, rhs);
        break;
      }
      case '-': {
        ret = imp(lhs, rhs);
        break;
      }
      default:
        break;
    }
    pos++;
  } else if (formula.at(pos) == '-') {
    bool isMns = true;
    while (formula.at(++pos) == '-') isMns = !isMns;
    ret = operate(formula, pos);
    if (isMns) ret = mns(ret);
  } else {
    ret = formula.at(pos) - '0';
    pos++;
  }
  return ret;
}
void dfs(int p) {
  if (p == kVars.size()) {
    if (operate(formula1, pos = 0) != operate(formula2, pos = 0)) {
      res = "NO";
    }
    return;
  }
  for (int i = (0); i < (2); ++i) {
    string tmp1 = formula1, tmp2 = formula2;
    replace((formula1).begin(), (formula1).end(), kVars.at(p), (char)(i + '0'));
    replace((formula2).begin(), (formula2).end(), kVars.at(p), (char)(i + '0'));
    dfs(p + 1);
    formula1 = tmp1, formula2 = tmp2;
  }
}
int main(void) {
  for (string in; cin >> in, in != "#"; cout << res << endl) {
    res = "YES";
    replace((in).begin(), (in).end(), 'T', '1');
    replace((in).begin(), (in).end(), 'F', '0');
    replace((in).begin(), (in).end(), '=', ' ');
    stringstream ss(in);
    ss >> formula1;
    ss >> formula2;
    dfs(0);
  }
  return 0;
}
