#include #include #include using namespace std; char l[][51]={"+---+ ++---++---++ ++---++---++---++---++---+", "| | | | || || | || || |", "| | | | || || | || || |", "+ + ++---++---++---++---++---+ ++---++---+", "| | || | | || | || | |", "| | || | | || | || | |", "+---+ ++---++---+ ++---++---+ ++---++---+"}; int main() { while(1) { char buf[9][100]; char buf2[9][100]; // scanf("%s", buf); gets(buf[0]); if(buf[0][0]=='e'){ printf("end\n"); break; } for(int i = 1; i < 9; i++) gets(buf[i]); //int h, m; bool g; int co = 0; int hsol, msol; vector hs, ms; // printf("zva\n"); for(int h = 0; h < 24; h++) { // for(int m = 0; m < 60; m++) // { g = true; for(int i = 0; i < 7; i++) { buf2[i][0]=0; int len = 0; int a = h/10; // printf("wtf %d %d %d\n", h, m, i); for(int j = a*5; j < (a+1)*5; j++){ sprintf(buf2[i]+len, "%c", l[i][j]); len++; } sprintf(buf2[i]+len," "); len+=2; // printf("zva\n"); a = h%10; for(int j = a*5; j < (a+1)*5; j++){ sprintf(buf2[i]+len,"%c", l[i][j]); len++; } } for(int i = 0; i < 7; i++) { for(int j = 0; j < 12; j++) if(buf[i][j]!=buf2[i][j] && buf[i][j]!='.') g = false; } if(g) { hs.push_back(h); } // printf("\n\n"); } for(int m = 0; m < 60; m++) { // for(int m = 0; m < 60; m++) // { g = true; for(int i = 0; i < 7; i++) { buf2[i][17]=0; int len = 17; int a = m/10; // printf("wtf %d %d %d\n", h, m, i); for(int j = a*5; j < (a+1)*5; j++){ sprintf(buf2[i]+len, "%c", l[i][j]); len++; } sprintf(buf2[i]+len," "); len+=2; // printf("zva\n"); a = m%10; for(int j = a*5; j < (a+1)*5; j++){ sprintf(buf2[i]+len,"%c", l[i][j]); len++; } } for(int i = 0; i < 7; i++) { for(int j = 17; j < 30; j++) if(buf[i][j]!=buf2[i][j] && buf[i][j]!='.') g = false; } if(g) { ms.push_back(m); } // printf("\n\n"); } if(hs.size()>1 || ms.size()>1) printf("ambiguous\n"); else printf("%02d:%02d\n", hs[0], ms[0]); } return 0; }