#include <bits/stdc++.h>
using namespace std;
static const int MAXN = 100;
string tmp, name;
char s[MAXN + 10];
int n;
map<string, int> mp;
int check(int l, int r) {
  int t = 0;
  for (int i = r - 1; i >= l; i--) {
    t += (s[i] == '(') - (s[i] == ')');
    if (!t && (s[i] == '+' || s[i] == '-')) {
      int L = check(l, i), R = check(i + 1, r);
      return L && R && (s[i] == '+' || R > 1);
    }
  }
  t = 0;
  for (int i = r - 1; i >= l; i--) {
    t += (s[i] == '(') - (s[i] == ')');
    if (!t && (s[i] == '*' || s[i] == '/')) {
      int L = check(l, i), R = check(i + 1, r);
      return (L > 1 && R > 1 && (s[i] == '*' || R > 2)) ? 2 : 0;
    }
  }
  if (s[l] == '(') return check(l + 1, r - 1) ? 3 : 0;
  string tmp(s + l, s + r);
  return mp.count(tmp) ? mp[tmp] : 3;
}
void change() {
  getline(cin, tmp);
  int cnt = 0;
  for (int i = 0; i < tmp.size(); i++)
    if (tmp[i] != ' ') s[cnt++] = tmp[i];
  s[cnt] = '\0';
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> tmp;
    if (tmp == "#") cin >> tmp;
    cin >> name;
    change();
    mp[name] = check(0, strlen(s));
  }
  change();
  cout << (check(0, strlen(s)) ? "OK" : "Suspicious") << endl;
  return 0;
}
