#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 36;
int n;
int c[maxn];
int suma;
int pocet[maxn];
int kam[maxn];
bool vyries(int x) {
  pocet[x]++;
  int moment = suma;
  int zvys = suma;
  for (;;) {
    int nabuduce = kam[min(zvys, moment)];
    if (x <= moment && x >= nabuduce) {
      nabuduce = x;
    }
    if (nabuduce == 0) {
      break;
    }
    int tk = min(zvys / nabuduce, pocet[nabuduce]);
    zvys -= nabuduce * tk;
    moment = nabuduce - 1;
  }
  pocet[x]--;
  return zvys == 0;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> suma >> n;
  for (int i = 0; i < n; i++) {
    cin >> c[i];
  }
  for (int i = 0; i < n; i++) {
    pocet[c[i]]++;
  }
  for (int i = 1; i <= suma; i++) {
    if (!pocet[i]) {
      kam[i] = kam[i - 1];
    } else {
      kam[i] = i;
    }
  }
  for (int i = 1; i < suma + 1; i++) {
    if (!vyries(i)) {
      cout << i;
      cout << endl;
      return 0;
    }
  }
  cout << "Greed is good";
  cout << endl;
  return 0;
}
