#include <bits/stdc++.h>
using namespace std;
vector<string> a[101];
map<string, int> ans;
inline bool expr(int x) { return x >= 0; }
inline bool term(int x) { return x >= 1; }
inline bool fact(int x) { return x >= 2; }
int gao(vector<string>::iterator x, vector<string>::iterator y) {
  int cnt = 0;
  for (vector<string>::iterator i = y - 1; i >= x; i--) {
    if (*i == "(") cnt++;
    if (*i == ")") cnt--;
    if (!cnt && (*i == "+" || *i == "-")) {
      int u = gao(x, i), v = gao(i + 1, y);
      if (*i == "+") return !expr(u) || !expr(v) ? -1 : 0;
      if (*i == "-") return !expr(u) || !term(v) ? -1 : 0;
    }
  }
  for (vector<string>::iterator i = y - 1; i >= x; i--) {
    if (*i == "(") cnt++;
    if (*i == ")") cnt--;
    if (!cnt && (*i == "*" || *i == "/")) {
      int u = gao(x, i), v = gao(i + 1, y);
      if (*i == "*") return !term(u) || !term(v) ? -1 : 1;
      if (*i == "/") return !term(u) || !fact(v) ? -1 : 1;
    }
  }
  if (*x == "(") return gao(x + 1, y - 1) < 0 ? -1 : 2;
  auto t = ans.find(*x);
  return t != ans.end() ? t->second : 2;
}
int main() {
  int n;
  char s[105];
  sscanf(gets(s), "%d", &n);
  for (int i = 0; i <= n; i++) {
    char tmp = '#';
    for (auto o = gets(s); *o; tmp = *o++) {
      if (isspace(*o)) continue;
      if (isalnum(*o) && isalnum(tmp))
        a[i].back() += *o;
      else
        a[i].push_back(string(1, *o));
    }
  }
  for (int i = 0; i < n; i++) ans[a[i][2]] = gao(a[i].begin() + 3, a[i].end());
  puts(~gao(a[n].begin(), a[n].end()) ? "OK" : "Suspicious");
}
