#include #include #include #include #include #include #include #include #include #include using namespace std; #define FI first #define SE second #define X first #define Y second #define ST first #define ND second #define MP make_pair #define PB push_back typedef vector VI; typedef pair PII; typedef long long LL; typedef long double LD; typedef double D; #define REP(i,n) for(int i=0;i<(n);i++) #define FOR(i,a,b) for(int i=(a);i<=(b);i++) #define FORD(i,a,b) for(int i=(a);i>=(b);i--) #define FORE(a,b) for(VAR(a,(b).begin());a!=(b).end();a++) #define VAR(a,b) __typeof(b) a=(b) #define SIZE(a) ((int)(a).size()) #define ALL(x) (x).begin(),(x).end() #define CLR(x,a) memset(x,a,sizeof(x)) const int N = 5005; int t[N]; int n; LL gcd(LL a, LL b) { while (a && b) { a > b ? a %= b : b %= a; } return a + b; } int beg[5005], beg2[5005]; int per[N]; LL res; const LL INF = (1ULL << 63) - 1; void go(LL cur, int x, vector >& okRem, vector& md, vector& lcms) { if (x == (int) md.size()) { res = min(res, cur); return; } while (cur < lcms[x]) { int v = cur % md[x]; FORE (it, okRem[x]) { if (*it == v) { go(cur, x + 1, okRem, md, lcms); } } cur += lcms[x - 1]; } } void alg() { for (int i = 1; i <= 5 * n; ++i) { scanf("%d", &beg2[i]); } int z = 0; for (int i = 1; i <= n; ++i) { t[++z] = 2 * i - 1; t[++z] = 2 * i; t[++z] = 2 * n + 2 * i - 1; t[++z] = 2 * n + 2 * i; t[++z] = 4 * n + i; } int guy = 0; for (int i = 1; i <= z; ++i) { beg[i] = beg2[t[i]]; } for (int i = 1; i <= z; ++i) { per[t[i]] = i; } res = INF; for (int winner = 1; winner <= n; ++winner) { vector > okRem; vector md; okRem.PB(vector(1, 0)); md.PB(1); for (int j = 1; j <= z; ++j) { if (beg[j] <= 5) { int c = j; vector rem; int len = 0; do { if (c > (winner - 1) * 5 && c <= winner * 5) { rem.PB(len); } c = per[c]; ++len; } while (c != j); okRem.PB(rem); md.PB(len); } } vector lcms; LL lcm = 1; FORE (it, md) { lcm = (lcm * (*it / gcd(lcm, *it))); lcms.PB(lcm); } LL pres = res; go(0, 1, okRem, md, lcms); if (res < pres) { guy = winner; } } if (res == INF) { printf("Neverending game.\n"); } else { printf("Player %d wins game number %lld.\n", guy, res + 1); } } int main() { while (scanf("%d", &n), n != 0) { alg(); } return 0; }