#include <bits/stdc++.h>
using namespace std;
map<string, int> defs;
const char defstr[] = "#define";
int pr[256];
string pexpr;
int pres;
int parse(int offset = 0) {
  string cvar;
  int i = offset;
  int lpres = 3;
  char lop = ' ';
  for (; i < pexpr.length(); i++) {
    if (pexpr[i] == '(') {
      i = parse(i + 1);
      if (pres == -1) return -1;
    } else if (pexpr[i] == ')')
      break;
    else if (pexpr[i] == ' ')
      continue;
    else if (isalnum(pexpr[i]))
      cvar += pexpr[i];
    else {
      map<string, int>::iterator it = defs.find(cvar);
      if (it != defs.end()) {
        int npr = it->second;
        if (npr == -1 || (lop == '-' && npr == 1) || (lop == '*' && npr == 1) ||
            (lop == '/' && (npr == 1 || npr == 2)) ||
            (pr[pexpr[i]] == 2 && npr == 1))
          return pres = -1;
      }
      cvar = "";
      lop = pexpr[i];
      lpres = min(lpres, pr[pexpr[i]]);
    }
  }
  map<string, int>::iterator it = defs.find(cvar);
  if (it != defs.end()) {
    int npr = it->second;
    if (npr == -1 || (lop == '-' && npr == 1) || (lop == '*' && npr == 1) ||
        (lop == '/' && (npr == 1 || npr == 2)))
      return pres = -1;
    cvar = "";
  }
  pres = lpres;
  return i;
}
int main() {
  pr['*'] = pr['/'] = 2;
  pr['+'] = pr['-'] = 1;
  int n;
  string str;
  cin >> n;
  getline(cin, str);
  for (int ii = 0; ii < n; ii++) {
    getline(cin, str);
    int dpos = 0, cpos;
    for (int j = 0; j < 7; dpos++) {
      if (str[dpos] == defstr[j]) ++j;
    }
    while (str[dpos] == ' ') ++dpos;
    cpos = dpos;
    while (str[cpos] != ' ') ++cpos;
    string dstr = str.substr(dpos, cpos - dpos);
    while (str[cpos] == ' ') ++cpos;
    pexpr = str.substr(cpos, str.length());
    parse();
    defs[dstr] = pres;
  }
  getline(cin, pexpr);
  parse();
  if (pres != -1)
    printf("OK\n");
  else
    printf("Suspicious\n");
  return 0;
}
