#include #include using namespace std; #define TESTS 13 int impos[] = {0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1}; int octs[6][8]; int primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41}; int isprime[42]; void precompute() { for(int i = 0; i < 42; i++) isprime[i] = 0; for(int i = 0; i < 13; i++) isprime[primes[i]] = 1; } void eatwhite() { while(cin.peek() == ' ' || cin.peek() == '\n' || cin.peek() == '\r' || cin.peek() == '\t') cin.get(); } int main() { precompute(); for(int i = 0; i < TESTS; i++) { if(impos[i]) { string s = ""; while(cin.peek() != '\n' && cin.peek() != '\r' && !cin.eof()) s += cin.get(); if(s != "Cannot win") { cout << i << " BAD" << endl; return 0; } } else { for(int j = 0; j < 6; j++) { for(int k = 0; k < 8; k++) cin >> octs[j][k]; } if(!(isprime[octs[0][2] + octs[1][6]] && isprime[octs[1][2] + octs[2][6]] && isprime[octs[3][0] + octs[0][4]] && isprime[octs[4][0] + octs[1][4]] && isprime[octs[4][6] + octs[3][2]] && isprime[octs[5][0] + octs[2][4]] && isprime[octs[5][6] + octs[4][2]])) { cout << i << " BAD" << endl; return 0; } } eatwhite(); } cout << "YES" << endl; return 0; }