#include <bits/stdc++.h>
using namespace std;
const int N = 200005;
int h, q;
vector<pair<long long, long long> > a, b;
int main() {
  ios_base::sync_with_stdio(0);
  cin >> h >> q;
  int d, an;
  long long L, R;
  long long Lmax = (1ll << (h - 1));
  long long Rmin = (1ll << h) - 1;
  int cnt = 0;
  for (int i = 1; i <= q; i++) {
    cin >> d >> L >> R >> an;
    L = (L << (h - d));
    R = ((R + 1) << (h - d)) - 1;
    if (an) {
      Lmax = max(Lmax, L);
      Rmin = min(Rmin, R);
    }
    if (!an) a.push_back(make_pair(L, R));
  }
  if (Lmax > Rmin) {
    cout << "Game cheated!";
    return 0;
  }
  sort(a.begin(), a.end());
  long long last = -1;
  for (int i = 0; i < a.size(); i++) {
    long long l = a[i].first;
    long long r = a[i].second;
    if (l > last + 1) {
      b.push_back(make_pair(l, r));
    } else {
      b.back().second = max(b.back().second, r);
    }
    last = max(last, r);
  }
  for (int i = 0; i < b.size(); i++) {
    long long l = b[i].first;
    long long r = b[i].second;
    if (l <= Lmax && r >= Rmin) {
      cout << "Game cheated!";
      return 0;
    }
    if (l > Lmax && r < Rmin) {
      cout << "Data not sufficient!";
      return 0;
    }
    if (l > Rmin || r < Lmax) continue;
    if (r < Rmin)
      Lmax = r + 1;
    else
      Rmin = l - 1;
  }
  if (Lmax == Rmin)
    cout << Lmax;
  else
    cout << "Data not sufficient!";
  return 0;
}
