#include #include using namespace std; typedef long long LL; struct coile { int kiedy, cykl; } rob[5]; long long znajdz(coile no[5]) { //for (int i = 0; i < 5; ++i) // printf("%d %d\n", no[i].kiedy, no[i].cykl); long long wyn = no[0].kiedy; if (wyn == 0LL) wyn = no[0].cykl; long long raz = no[0].cykl; for (int i = 1; i < 5; ++i) { int zl = 0; while (wyn >= 0LL && wyn % no[i].cykl != no[i].kiedy && zl < no[i].cykl) { wyn += raz; ++zl; } if (zl == no[i].cykl || wyn < 0LL) { return -1; } raz = raz * no[i].cykl / __gcd(raz, LL(no[i].cykl)); } return wyn; } int dokad[5001], ma[1001][5], n, ktorycykl[5001], numer[5001], tukarta[5001], gdziekarta[5001], dlcyk[5001]; int reka[] = {1, 2, 3, 4, 5}; int main() { while (1) { scanf("%d", &n); long long wyn = -1LL; int kto; if (!n) return 0; int rozdal = 0; for (int i = 1; i <= n; ++i) for (int j = 0; j < 2; ++j) ma[i][j] = ++rozdal; for (int i = 1; i <= n; ++i) for (int j = 2; j < 4; ++j) ma[i][j] = ++rozdal; for (int i = 1; i <= n; ++i) for (int j = 4; j < 5; ++j) ma[i][j] = ++rozdal; for (int i = n; i; --i) for (int j = 4; j >= 0; --j) dokad[ma[i][j]] = rozdal--; fill(ktorycykl, ktorycykl + 5 * n + 1, 0); int cykli = 0; for (int i = 1; i <= 5 * n; ++i) if (!ktorycykl[i]) { ++cykli; int ktorynacyklu = 0; ktorycykl[i] = cykli; numer[i] = 0; for (int j = dokad[i]; j != i; j = dokad[j]) { ktorycykl[j] = cykli; numer[j] = ++ktorynacyklu; } dlcyk[cykli] = ktorynacyklu + 1; } for (int i = 1; i <= 5 * n; ++i) { scanf("%d", &tukarta[i]); gdziekarta[tukarta[i]] = i; } for (int i = 1; i <= n; ++i) { sort(reka, reka + 5); do { for (int q = 0; q < 5; ++q) { if (ktorycykl[gdziekarta[reka[q]]] != ktorycykl[5 * (i - 1) + q + 1]) goto nexta; rob[q].cykl = dlcyk[ktorycykl[gdziekarta[reka[q]]]]; rob[q].kiedy = (numer[5 * (i - 1) + q + 1] - numer[gdziekarta[reka[q]]] + rob[q].cykl) % rob[q].cykl; } {long long tmp = znajdz(rob); if (tmp != -1LL && (tmp < wyn || wyn == -1LL)) { wyn = tmp; kto = i; }} nexta:; } while (next_permutation(reka, reka + 5)); } if (wyn != -1LL) printf("Player %d wins game number %lld.\n", kto, wyn); else printf("Neverending game.\n"); } }