#include <bits/stdc++.h>
using namespace std;
const long long inf = 2147483647;
long long read() {
  long long first = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    first = first * 10 + ch - '0';
    ch = getchar();
  }
  return first * f;
}
void print(long long first) {
  if (first < 0) putchar('-'), first = -first;
  short a[20] = {}, sz = 0;
  while (first > 0) a[sz++] = first % 10, first /= 10;
  if (sz == 0) putchar('0');
  for (long long i = sz - 1; i >= 0; i--) putchar('0' + a[i]);
}
map<string, int> g;
string f;
char s[100001];
int n, m;
int eval(int l, int r) {
  for (int i = r - 1, w = 0; i >= l; i--) {
    w += s[i] == '(';
    w -= s[i] == ')';
    if (w == 0 && (s[i] == '+' || s[i] == '-')) {
      int L = eval(l, i), R = eval(i + 1, r);
      return (L && R && (s[i] != '-' || R > 1));
    }
  }
  for (int i = r - 1, w = 0; i >= l; i--) {
    w += s[i] == '(';
    w -= s[i] == ')';
    if (w == 0 && (s[i] == '*' || s[i] == '/')) {
      int L = eval(l, i), R = eval(i + 1, r);
      return (((L > 1) && (R > 1) && (s[i] != '/' || R > 2)) ? 2 : 0);
    }
  }
  if (s[l] == '(') return eval(l + 1, r - 1) ? 3 : 0;
  string u(s + l, s + r);
  return (g.count(u) ? g[u] : 3);
}
int G() {
  gets(s);
  m = 0;
  for (int i = 0; s[i]; i++)
    if (s[i] != ' ') s[m++] = s[i];
  s[m] = 0;
  return eval(0, m);
}
int main() {
  int i;
  scanf("%d ", &n);
  for (i = 1; i <= n; i++) {
    scanf(" #%*s");
    cin >> f;
    g[f] = G();
  }
  puts(G() ? "OK" : "Suspicious");
  return 0;
}
