#include #include using namespace std; char buf[7][30]; char strs[4][50]; char nums[][30] = {".XX.XX.X.....XX.....X.XX.XX.", "......................XX.XX.", "....XX.X..X..XX..X..X.XX....", ".......X..X..XX..X..X.XX.XX.", ".XX.......X......X....XX.XX.", ".XX....X..X..XX..X..X....XX.", ".XX.XX.X..X..XX..X..X....XX.", ".......X......X.......XX.XX.", ".XX.XX.X..X..XX..X..X.XX.XX.", ".XX....X..X..XX..X..X.XX.XX."}; int det(char *s) { for (int i = 0; i < 10; i++) if (memcmp(s, nums[i], 28) == 0) return i; return -1; } int main() { int T; scanf("%d", &T); while (T--) { for (int i = 0; i < 7; i++) scanf("%s", buf + i); for (int i = 0; i < 4; i++) for (int j = 0; j < 7; j++) strs[0][i * 7 + j] = buf[j][i]; for (int i = 0; i < 4; i++) for (int j = 0; j < 7; j++) strs[1][i * 7 + j] = buf[j][i + 5]; for (int i = 0; i < 4; i++) for (int j = 0; j < 7; j++) strs[2][i * 7 + j] = buf[j][i + 12]; for (int i = 0; i < 4; i++) for (int j = 0; j < 7; j++) strs[3][i * 7 + j] = buf[j][i + 17]; printf("%d%d:%d%d\n", det(strs[0]), det(strs[1]), det(strs[2]), det(strs[3])); } return 0; }