#include using namespace std; string poile[10][7]; bool match(string zn[7], int index) { for (int i = 0; i < 7; i++) { for (int j = 0; j < 5; j++) { if (zn[i][j] == poile[index][i][j] || zn[i][j] == '.') { continue; } return false; } } return true; } int main() { // digit, radek poile[0][0] = "+---+"; poile[0][1] = "| |"; poile[0][2] = "| |"; poile[0][3] = "+ +"; poile[0][4] = "| |"; poile[0][5] = "| |"; poile[0][6] = "+---+"; poile[1][0] = " +"; poile[1][1] = " |"; poile[1][2] = " |"; poile[1][3] = " +"; poile[1][4] = " |"; poile[1][5] = " |"; poile[1][6] = " +"; poile[2][0] = "+---+"; poile[2][1] = " |"; poile[2][2] = " |"; poile[2][3] = "+---+"; poile[2][4] = "| "; poile[2][5] = "| "; poile[2][6] = "+---+"; poile[3][0] = "+---+"; poile[3][1] = " |"; poile[3][2] = " |"; poile[3][3] = "+---+"; poile[3][4] = " |"; poile[3][5] = " |"; poile[3][6] = "+---+"; poile[4][0] = "+ +"; poile[4][1] = "| |"; poile[4][2] = "| |"; poile[4][3] = "+---+"; poile[4][4] = " |"; poile[4][5] = " |"; poile[4][6] = " +"; poile[5][0] = "+---+"; poile[5][1] = "| "; poile[5][2] = "| "; poile[5][3] = "+---+"; poile[5][4] = " |"; poile[5][5] = " |"; poile[5][6] = "+---+"; poile[6][0] = "+---+"; poile[6][1] = "| "; poile[6][2] = "| "; poile[6][3] = "+---+"; poile[6][4] = "| |"; poile[6][5] = "| |"; poile[6][6] = "+---+"; poile[7][0] = "+---+"; poile[7][1] = " |"; poile[7][2] = " |"; poile[7][3] = " +"; poile[7][4] = " |"; poile[7][5] = " |"; poile[7][6] = " +"; poile[8][0] = "+---+"; poile[8][1] = "| |"; poile[8][2] = "| |"; poile[8][3] = "+---+"; poile[8][4] = "| |"; poile[8][5] = "| |"; poile[8][6] = "+---+"; poile[9][0] = "+---+"; poile[9][1] = "| |"; poile[9][2] = "| |"; poile[9][3] = "+---+"; poile[9][4] = " |"; poile[9][5] = " |"; poile[9][6] = "+---+"; while (cin) { string poile2[4][7]; string line; for (int i = 0; i < 7; i++) { getline(cin, line); if (line == "end") goto tam; poile2[0][i] = line.substr(0,5); poile2[1][i] = line.substr(7,5); poile2[2][i] = line.substr(17,5); poile2[3][i] = line.substr(24,5); } getline(cin, line); getline(cin, line); for (int i = 0; i < 4; i++) { int res = -1; for (int j = 0; j < 10; j++) { if (match(poile2[i], j)) { if (res == -1) res = j; else goto sem; } } cout << res; if (i == 1) cout << ":"; } cout << endl; continue; sem: cout << "ambiguous" << endl; } tam: cout << "end" << endl; return 0; }