Второй открытый Зеленоградский турнир 2006

Сложное распознание образов

Готовится система на кристалле, которая обрабатывает скан номера паспорта. Необходимо распознать шестизначное число и ввести его в систему. Для этого требуется сначала написать тестовую программу для распознания шестизначных цифр. Естественно, в некоторых случаях, скан числа будет нечетким или деформированным, но человек по картинке всегда сможет визуально однозначно определить написанное число. Картинка черно-белая и состоит из белого фона, на котором черным цветом написано число. "." - белый цвет "X" - черный цвет.

Входные данные

t – число тестов [t <= 250], затем следуют t тестовых последовательностей.
Каждая тестовая последовательность начинается с двух чисел H и W высоты и ширины картинки соответственно [10 <= H, W <= 200]. Затем следует H рядов по W символов в каждом, состоящем из символов '.' и 'X'.

Выходные данные

Для каждого теста необходимо вывести распознанное шестизначное число на отдельной строчке.

Начисление очков

Количество очков будет равно количеству правильно распознанных чисел.

Пример

Входные данные:
2
13 40
........................................
........................................
......XX...XX...XX......X..XX...XX......
.....X..X.X..X.X..X....XX.X..X.X..X.....
.....X..X.X..X.X..X....XX.X..X.X..X.....
.....X..X.X..X.X..X...X.X.X..X.X..X.....
.....X..X.X..X.X..X...X.X..XX....X......
.....X..X.X..X.X..X..X..X.X..X...X......
.....X..X.X..X.X..X..X..X.X..X..X.......
.....X..X.X..X.X..X.X...X.X..X..X.......
.....X..X.X..X.X..X.XXXXXXX..X.X........
......XX...XX...XX......X..XX..XXXX.....
........................................
12 60
..........................................................XX
............XXXXX.....X...XXXXXX.XXXX......X...XXXX.........
XX..........X.......XX....X...X.X....X....XX..X....X........
............X......X......X...X.X....X...X.X..X....X........
............XXXX..X..........X..X....X...X.X......X.........
............X...X.X.XXX......X...XXXX...X..X....XXX.........
................X.XX...X....X....X..X...X..X.......X........
................X.X....X....X...X....X.XXXXXX......X........
................X.X....X...X....X....X.....X..X....X........
...........X...X...X..X....X....X....X.....X..X...X.........
............XXX.....XX....X......XXXX....XXXXX.XXX........XX
XX..........................................................

Выходные данные:
000482
567833

Начисление очков:
score = 1 (первый тест верно, во втором ошибка в предпоследней цифре)

Распознание образов
Распознание образов

Примеры изображений:

Распознание образов Распознание образов Распознание образов Распознание образов Распознание образов
Распознание образов Распознание образов Распознание образов Распознание образов Распознание образов