#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const long long INF = 0x7ffffffffffffffll;
const int mod = 1e9 + 7;
const int maxn = 1e5 + 5;
const int maxv = 1e3 + 5;
const double pi = acos(-1.0);
const double eps = 1e-9;
int t, n, res[105];
char f[105][2][1005];
char in[1005], did[1005];
map<string, int> mmm;
void getname(int k) {
  gets(in);
  int len = strlen(in);
  int flag = 0, cnt = 0, f1 = 0, f2 = 0;
  for (int i = 0; i < len; i++) {
    if (in[i] == '#') flag = 1;
    if (flag == 1 && in[i] == ' ') flag = 2;
    if (flag == 2 && in[i] != ' ') flag = 3;
    if (flag == 3 && in[i] == ' ') f2 = 1;
    if (flag == 1 && in[i] != ' ' && in[i] != '#') flag = 3;
    if (flag == 3 && in[i] != ' ' && f2) {
      f[k][0][cnt++] = in[i];
      f1 = 1;
    }
    if (flag == 3 && in[i] == ' ' && f1) flag = 4;
    if (flag == 4 && in[i] != ' ' && f1) flag = 5, cnt = 0;
    if (flag == 5 && in[i] != ' ' && f1) f[k][1][cnt++] = in[i];
  }
}
int solve(char s[], int l, int r) {
  int flag = 0, last = 0;
  for (int i = r; i >= l; i--) {
    if (s[i] == '(')
      flag--;
    else if (s[i] == ')')
      flag++;
    else if (!flag) {
      if ((s[i] == '/' || s[i] == '*') && !last)
        last = i;
      else if (s[i] == '+') {
        int x = solve(s, l, i - 1);
        int y = solve(s, i + 1, r);
        if (x == 2 || y == 2)
          return 2;
        else
          return 3;
      } else if (s[i] == '-') {
        int x = solve(s, l, i - 1);
        int y = solve(s, i + 1, r);
        if (x == 2 || y == 2 || y == 3)
          return 2;
        else
          return 3;
      }
    }
  }
  if (last && s[last] == '*') {
    int x = solve(s, l, last - 1);
    int y = solve(s, last + 1, r);
    if (x == 2 || y == 2 || x == 3 || y == 3)
      return 2;
    else
      return 4;
  } else if (last && s[last] == '/') {
    int x = solve(s, l, last - 1);
    int y = solve(s, last + 1, r);
    if (y == 4 || x == 2 || y == 2 || x == 3 || y == 3)
      return 2;
    else
      return 4;
  } else if (s[l] == '(' && s[r] == ')') {
    if (solve(s, l + 1, r - 1) == 2)
      return 2;
    else
      return 1;
  } else {
    string tmp = "";
    for (int i = l; i <= r; i++) tmp += s[i];
    if (mmm.find(tmp) == mmm.end())
      return 1;
    else {
      int id = mmm[tmp];
      if (!res[id]) res[id] = solve(f[id][1], 0, strlen(f[id][1]) - 1);
      return res[id];
    }
  }
}
int main() {
  mmm.clear();
  scanf("%d", &n);
  getchar();
  for (int i = 1; i <= n; i++) {
    getname(i);
    string name = f[i][0];
    mmm[name] = i;
  }
  gets(in);
  int cnt = 0;
  for (int i = 0; i < strlen(in); i++)
    if (in[i] != ' ') did[cnt++] = in[i];
  int res = solve(did, 0, cnt - 1);
  if (res == 2)
    printf("Suspicious");
  else
    printf("OK");
  return 0;
}
