#include <bits/stdc++.h>
using namespace std;
map<string, int> m;
string temp, name, expr;
int solve(int l, int r) {
  if (expr[l] == ' ') return solve(l + 1, r);
  if (expr[r] == ' ') return solve(l, r - 1);
  int brakets = 0;
  for (int i = r; i > l; i--) {
    if (expr[i] == ')')
      brakets++;
    else if (expr[i] == '(')
      brakets--;
    if (brakets == 0 && (expr[i] == '+' || expr[i] == '-')) {
      int L = solve(l, i - 1), R = solve(i + 1, r);
      if (L == 0 || R == 0 || (expr[i] == '-' && R == 1))
        return 0;
      else
        return 1;
    }
  }
  brakets = 0;
  for (int i = r; i > l; i--) {
    if (expr[i] == ')')
      brakets++;
    else if (expr[i] == '(')
      brakets--;
    if (brakets == 0 && (expr[i] == '/' || expr[i] == '*')) {
      int L = solve(l, i - 1), R = solve(i + 1, r);
      if (L < 2 || R < 2 || (expr[i] == '/' && R == 2))
        return 0;
      else
        return 2;
    }
  }
  if (expr[l] == '(') {
    return solve(l + 1, r - 1) ? 3 : 0;
  }
  string name1 = string(expr, l, r - l + 1);
  return (m.find(name1) == m.end()) ? 3 : m[name1];
}
int main() {
  int n;
  cin >> n;
  char tt;
  while (n--) {
    scanf("%c", &tt);
    getline(cin, temp);
    for (int i = 0; i < temp.length(); i++) {
      int count = 0;
      while (count != 2) {
        if (temp[i] == 'e') count++;
        i++;
      }
      while (temp[i] == ' ') i++;
      while (temp[i] != ' ') {
        name += temp[i];
        i++;
      }
      while (temp[i] == ' ') i++;
      expr = string(temp, i, temp.length() - i);
      i = temp.length();
    }
    m[name] = solve(0, expr.length() - 1);
    name.clear();
    expr.clear();
  }
  getline(cin, expr);
  if (!solve(0, expr.length() - 1))
    cout << "Suspicious";
  else
    cout << "OK";
}
