#include #include char t[7][35]; char d[7][51] ={ "+---+ ++---++---++ ++---++---++---++---++---+", "| | | | || || | || || |", "| | | | || || | || || |", "+ + ++---++---++---++---++---+ ++---++---+", "| | || | | || | || | |", "| | || | | || | || | |", "+---+ ++---++---+ ++---++---+ ++---++---+", }; bool digit(int c, int k) { int i, j; if (k == 0) { for (i = 0; i < 7; i++) { for (j = 0; j < 5; j++) { if (t[i][j] != '.' && t[i][j] != d[i][j+5*c]) return false; } } } if (k == 1) { for (i = 0; i < 7; i++) { for (j = 0; j < 5; j++) { if (t[i][j+7] != '.' && t[i][j+7] != d[i][j+5*c]) return false; } } } if (k == 2) { for (i = 0; i < 7; i++) { for (j = 0; j < 5; j++) { if (t[i][j+17] != '.' && t[i][j+17] != d[i][j+5*c]) return false; } } } if (k == 3) { for (i = 0; i < 7; i++) { for (j = 0; j < 5; j++) { if (t[i][j+24] != '.' && t[i][j+24] != d[i][j+5*c]) return false; } } } return true; } int main() { char s[100], ret[9]; int i, j, h, m; for (i = 0; i < 2; i++) { fgets(t[0], 100, stdin); // printf("%s\n", t[0]); if (t[0][0] == 'e') {printf("end\n"); break;} fgets(t[1], 100, stdin); fgets(t[2], 100, stdin); fgets(t[3], 100, stdin); fgets(t[4], 100, stdin); fgets(t[5], 100, stdin); fgets(t[6], 100, stdin); getchar(); getchar(); ret[5] = '\0'; ret[2] = ':'; ret[1] = ' '; bool wrong = false; for (h = 0; h <= 23; h++) { for (m = 0; m <= 59; m++) { if (digit(h / 10, 0) && digit(h % 10, 1) && digit(m / 10, 2) && digit(m % 10, 3)) { if (ret[1] != ' ') wrong = true; sprintf(ret, "%02d:%02d", h, m); } } } if (wrong) printf("ambiguous\n"); else printf("%s\n", ret); } return 0; }