#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline T sqr(const T& a) {
  return a * a;
}
template <typename T>
inline int sign(const T& a) {
  return a < 0 ? -1 : a > 0;
}
void task();
int main() {
  ios_base::sync_with_stdio(0);
  task();
  return 0;
}
int h, q;
long long int l, r;
vector<pair<long long, long long> > bad;
vector<pair<long long, long long> > ok;
void task() {
  cin >> h >> q;
  long long int start = 1;
  for (int i = 1; i < h; ++i) start *= 2;
  l = start;
  r = start * 2 - 1;
  while (q--) {
    long long int i;
    long long int _l, _r, ans;
    cin >> i >> _l >> _r >> ans;
    while (_l < start) _l *= 2;
    while (_r < start) _r *= 2, ++_r;
    if (ans) {
      if (_l > r || _r < l) {
        cout << "Game cheated!";
        return;
      }
      l = max(l, _l);
      r = min(r, _r);
      ok.push_back(pair<long long, long long>{_l, _r});
    } else {
      bad.push_back(pair<long long, long long>{_l, _r});
    }
  }
  bad.push_back(pair<long long, long long>{-2, -2});
  bad.push_back(pair<long long, long long>{4 * start, 4 * start});
  sort((bad.begin()), (bad.end()));
  vector<pair<long long, long long> > v;
  pair<long long, long long> cur = bad[0];
  for (int i = 1; i < (int)bad.size(); ++i) {
    pair<long long, long long> x = bad[i];
    if (x.first <= cur.second + 1) {
      cur.second = max(cur.second, x.second);
    } else {
      v.push_back(cur);
      cur = x;
    }
  }
  v.push_back(cur);
  bad = v;
  vector<pair<long long, long long> > well;
  long long int sum = 0;
  for (int i = 1; i < bad.size(); ++i) {
    long long int ll = max(bad[i - 1].second, l - 1);
    long long int rr = min(r + 1, bad[i].first);
    long long int len = rr - ll - 1;
    if (len > 0) {
      well.push_back(pair<long long, long long>{ll + 1, rr - 1});
      sum += len;
    }
  }
  if (sum == 0) {
    cout << "Game cheated!";
  } else if (sum == 1) {
    assert(well.front().first == well.front().second);
    assert(well.size() == 1);
    cout << well.front().first;
  } else {
    cout << "Data not sufficient!";
  }
}
