#include <bits/stdc++.h>
using namespace std;
int n, tot, len;
string s, name, nul;
map<string, pair<bool, bool> > def;
map<string, bool> vis;
inline int work(int star) {
  bool mul, add, del, dive, expr;
  mul = add = del = dive = expr = 0;
  for (register int i = star, t; i < len; i++) {
    if (s[i] == ')') return i;
    if (s[i] == '(') {
      i = work(i + 1);
      add = del = dive = mul = 0;
      continue;
    }
    if (s[i] == ' ') continue;
    if (s[i] >= '0' && s[i] <= '9') {
      add = del = dive = mul = 0;
      continue;
    }
    if (s[i] == '+') {
      add = 1, expr = 0;
      continue;
    }
    if (s[i] == '-') {
      del = 1, expr = 0;
      continue;
    }
    if (s[i] == '*') {
      if (expr && !def[name].first) {
        puts("Suspicious"), exit(0);
      };
      mul = 1, expr = 0;
      continue;
    }
    if (s[i] == '/') {
      if (expr && (!def[name].first)) {
        puts("Suspicious"), exit(0);
      };
      dive = 1, expr = 0;
      continue;
    }
    name = nul;
    if (!expr) name = nul;
    while (s[i] != ' ' && s[i] != '+' && s[i] != '-' && s[i] != '*' &&
           s[i] != '/' && s[i] != ')' && s[i] != '(' && i < len)
      name += s[i], i++;
    i--;
    if (def.find(name) == def.end()) {
      add = del = mul = dive = 0;
      continue;
    }
    if (!vis[name]) {
      puts("Suspicious"), exit(0);
    };
    expr = 1;
    if (del && !def[name].first) {
      puts("Suspicious"), exit(0);
    };
    if ((mul || dive) && !def[name].first) {
      puts("Suspicious"), exit(0);
    };
    if (dive && !def[name].second) {
      puts("Suspicious"), exit(0);
    };
    add = del = mul = dive = 0;
  }
  return 0;
}
int main() {
  cin >> n;
  if (n == 0) puts("OK"), exit(0);
  getline(cin, s);
  bool add, mul, aa, bb, cc, dd, ac;
  string cur;
  for (int t, l; n; n--) {
    getline(cin, s), len = s.size();
    l = 0;
    while (s[l] != 'd') l++;
    l += 6;
    while (s[l] == ' ') l++;
    t = l;
    while (s[t] != ' ') t++;
    name = s.substr(l, t - l), add = 1, mul = 1;
    aa = bb = cc = dd = 0, ac = 1;
    for (t++; t < len; t++) {
      if (s[t] == '(') {
        tot++;
        aa = bb = cc = dd = 0;
        continue;
      }
      if (s[t] == ')') {
        tot--;
        aa = bb = cc = dd = 0;
        continue;
      }
      if (s[t] == '+') aa = 1, bb = cc = dd = 0;
      if (s[t] == '-') bb = 1, aa = cc = dd = 0;
      if (s[t] == '*') cc = 1, aa = bb = dd = 0;
      if (s[t] == '/') dd = 1, aa = bb = cc = 0;
      if (!tot && (s[t] == '+' || s[t] == '-')) add = 0;
      if (!tot && (s[t] == '*' || s[t] == '/')) mul = 0;
      if (s[t] >= '0' && s[t] <= '9') aa = bb = cc = dd = 0;
      if ((s[t] >= 'a' && s[t] <= 'z') || (s[t] >= 'A' && s[t] <= 'Z')) {
        cur = nul;
        while (s[t] != ' ' && s[t] != '+' && s[t] != '-' && s[t] != '*' &&
               s[t] != '/' && s[t] != '(' && s[t] != ')' && t < len)
          cur += s[t], t++;
        t--;
        if (def.find(cur) != def.end()) {
          if ((bb || cc || dd) && !def[cur].first) ac = 0;
          if (!vis[cur]) ac = 0;
          if (!tot && def[cur].first) add = 0;
          if (!tot && def[cur].second) mul = 0;
        }
      }
    }
    def.insert({name, {add, mul}});
    vis.insert({name, ac});
  }
  getline(cin, s), len = s.size();
  work(0);
  puts("OK");
  return 0;
}
