#include <bits/stdc++.h>
using namespace std;
long long h, q, a, l1, r1, x, f[51], M, lm, rm, s, lh, rh, mm;
pair<long long, long long> t, k[100010], t1;
vector<pair<long long, long long> > w, la;
int main() {
  cin >> h >> q;
  f[0] = 1;
  for (long long i = 1; i <= h; i++) {
    f[i] = f[i - 1] * 2;
  }
  M = f[h] + 1;
  lm = f[h - 1];
  rm = f[h] - 1;
  s = 0;
  for (long long i = 1; i <= q; i++) {
    cin >> a >> l1 >> r1 >> x;
    long long ll, rr;
    ll = l1 * f[h - a];
    rr = ll + (r1 - l1 + 1) * f[h - a] - 1;
    if ((ll > rm || rr < lm) && x == 1) {
      cout << "Game cheated!";
      return 0;
    }
    if (x == 1) {
      lm = max(ll, lm);
      rm = min(rm, rr);
    }
    if (x == 0) {
      s++;
      k[s] = make_pair(ll, rr);
    }
  }
  lh = lm;
  rh = rm;
  for (long long i = 1; i <= s; i++) {
    w.push_back(make_pair(k[i].first, -1 * i));
    w.push_back(make_pair(k[i].second, i));
    if (k[i].first < lm && k[i].second > rm) {
      cout << "Game cheated!";
      return 0;
    }
  }
  long long cd = lm, cc = rm, s1 = 0, s2 = 0, e = -1;
  mm = 0;
  if (!w.empty()) {
    sort(w.begin(), w.end());
    la.push_back(make_pair(lm - 1, 1));
    la.push_back(make_pair(rm + 1, -1));
    for (long long i = 0; i <= w.size() - 1; i++) {
      if (w[i].second < 0) {
        e = k[-1 * w[i].second].second;
        if (w[i].first >= lm && w[i].first <= rm)
          la.push_back(make_pair(w[i].first, -1));
        while (true) {
          if (w[i].first == e && w[i].second > 0) break;
          i++;
          if (w[i].second < 0) {
            long long kx = k[-1 * w[i].second].second;
            if (kx <= rm) e = max(e, kx);
          }
        }
        if (e >= lm && e <= rm) la.push_back(make_pair(e, 1));
      }
    }
    sort(la.begin(), la.end());
    for (long long i = 1; i < la.size(); i++) {
      if (la[i].second == -1 && la[i - 1].second == 1) {
        if (la[i].first - 1 >= la[i - 1].first + 1) {
          cd = la[i - 1].first + 1;
          cc = la[i].first - 1;
          mm += cc - cd + 1;
        }
      }
    }
  } else {
    mm += cc - cd + 1;
  }
  if (mm == 0)
    cout << "Game cheated!";
  else if (mm > 1)
    cout << "Data not sufficient!";
  else
    cout << cd;
  return 0;
}
