#include <bits/stdc++.h>
using namespace std;
const int N = 100050;
const long long Mod = 1e9 + 7;
const int inf = 0x3f3f3f3f;
int h, q, c, m;
long long l, r, _l, _r;
pair<long long, long long> p[3 * N];
int main() {
  scanf("%d%d", &h, &q);
  long long le = 1ll << (h - 1), ri = (1ll << h) - 1;
  for (int i = 1; i < ((q) + 1); i++) {
    int swi;
    scanf("%d%lld%lld%d", &c, &_l, &_r, &swi);
    l = _l, r = _r;
    for (int j = c + 1; j < ((h) + 1); j++) l <<= 1, r = r << 1 | 1;
    if (swi) {
      if (l > le) p[++m] = pair<long long, long long>(le, l - 1);
      if (r < ri) p[++m] = pair<long long, long long>(r + 1, ri);
    } else
      p[++m] = pair<long long, long long>(l, r);
  }
  sort(p + 1, p + 1 + m);
  long long bg = le, t = 0, ans = 1;
  for (int i = 1; i < ((m) + 1); i++) {
    if (p[i].first > bg) {
      ans = bg;
      t += p[i].first - bg;
      bg = p[i].second + 1;
    }
    bg = max(bg, p[i].second + 1);
  }
  if (ri >= bg) {
    ans = bg;
    t += ri - bg + 1;
  }
  if (t == 0)
    puts("Game cheated!");
  else if (t > 1)
    puts("Data not sufficient!");
  else
    printf("%lld\n", ans);
  return 0;
}
