#include #include 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; // 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 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]+strlen(buf2[i]), "%c", l[i][j]); sprintf(buf2[i]+strlen(buf2[i])," "); // printf("zva\n"); a = h%10; for(int j = a*5; j < (a+1)*5; j++) sprintf(buf2[i]+strlen(buf2[i]),"%c", l[i][j]); if(i==2 || i==4) { sprintf(buf2[i]+strlen(buf2[i])," o "); } else sprintf(buf2[i]+strlen(buf2[i])," "); a = m/10; for(int j = a*5; j < (a+1)*5; j++) sprintf(buf2[i]+strlen(buf2[i]),"%c", l[i][j]); sprintf(buf2[i]+strlen(buf2[i])," "); a = m%10; for(int j = a*5; j < (a+1)*5; j++) sprintf(buf2[i]+strlen(buf2[i]),"%c", l[i][j]); // printf("\n"); } for(int i = 0; i < 7; i++) { for(int j = 0; j < 29; j++) if(buf[i][j]!=buf2[i][j] && buf[i][j]!='.') g = false; } if(g) { co++; hsol = h; msol=m; } // printf("\n\n"); } } if(co>1) printf("ambiguous\n"); else printf("%02d:%02d\n", hsol, msol); } return 0; }