#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const int inf = 0x3f3f3f3f;
const double eps = 1e-15;
const long long INF = (1LL << 60);
const int N = 100010;
struct Fuck {
  long long l, r;
  bool operator<(const Fuck &b) const {
    if (l == b.l) {
      return r > b.r;
    }
    return l < b.l;
  }
} you[N];
vector<Fuck> ran;
int main() {
  int h, q, level;
  long long l, r;
  int flag;
  scanf("%d%d", &h, &q);
  long long L = (1LL << (h - 1));
  long long R = (1LL << h) - 1;
  int cnt = 0;
  bool ok = 1;
  for (int i = 0; i < q; ++i) {
    scanf("%d%I64d%I64d%d", &level, &l, &r, &flag);
    if (!ok) {
      continue;
    }
    long long left = (1LL << (h - level)) * l;
    long long right = (1LL << (h - level)) * (r + 1) - 1;
    if (!flag) {
      you[cnt].l = left;
      you[cnt++].r = right;
    } else {
      if (right < L || left > R) {
        ok = 0;
        continue;
      } else {
        L = max(L, left);
        R = min(R, right);
      }
    }
  }
  if (!ok) {
    printf("Game cheated!\n");
    return 0;
  }
  flag = 1;
  sort(you, you + cnt);
  ran.clear();
  for (int i = 0; i < cnt; ++i) {
    long long l = you[i].l, r = you[i].r;
    if (L > R) {
      flag = 0;
      break;
    }
    if (R < l) {
      break;
    }
    if (L > r) {
      continue;
    }
    if (L >= l && R <= r) {
      flag = 0;
      break;
    }
    if (L <= l && R >= r) {
      Fuck tmp;
      tmp.l = L;
      tmp.r = l - 1;
      if (L <= l - 1) {
        ran.push_back(tmp);
      }
      L = r + 1;
      continue;
    }
    if (L <= l && R <= r) {
      Fuck tmp;
      tmp.l = L;
      tmp.r = l - 1;
      if (L <= l - 1) {
        ran.push_back(tmp);
      }
      flag = 0;
      break;
    }
    if (L >= l && R >= r) {
      L = r + 1;
    }
  }
  if (flag && L <= R) {
    Fuck tmp;
    tmp.l = L;
    tmp.r = R;
    ran.push_back(tmp);
  }
  int size = ran.size();
  if (size >= 2 || (size == 1 && ran[0].r > ran[0].l)) {
    printf("Data not sufficient!\n");
  } else if (size == 0) {
    printf("Game cheated!\n");
  } else {
    printf("%I64d\n", ran[0].l);
  }
  return 0;
}
