#include <iostream>
using namespace std;

int mx, n;

int main(){	
	while( cin >> mx, mx ){
		int d[300] = {0}, g[300][300] = {0};
		cin >> n;
		for(int i = 1; i <= n; i++) cin >> d[i];
		
		for(int i = 0; i <= n; i++){
			for(int j = 1; j <= mx; j++){
				int v = i + j + d[i + j];
				if( v < 0 ) v = 0;
				if( n+1 < v ) v = n+1;
				g[i][v] = 1;
			}
		}
		for(int k = 0; k < n + 2; k++){
			for(int i = 0; i < n + 2; i++){
				for(int j = 0; j < n + 2; j++){
					if( g[i][k] && g[k][j] ) g[i][j] = 1;
				}
			}
		}
		bool ans = true;
		for(int i = 0; i <= n ; i++){
			if( g[0][i] && !g[i][n+1] ){
				ans = false;
			}
		}
		cout << (ans?"OK":"NG") << endl;
	}
}