Бітова карта#10049

Бітова карта

2 секунди
128 мегабайтів
Середня

Задано прямокутну бітову карту розміром n \times m. Кожна точка на цій карті може бути білою або чорною, причому хоча б одна точка обов'язково біла. Точку в -му рядку та -му стовпці назвемо пікселем . Відстань між двома пікселями p_1 = (i_1, j_1) і p_2 = (i_2, j_2) визначається так:

d(p_1, p_2) = |i_1 - i_2| + |j_1 - j_2|

Для кожної точки на карті знайдіть відстань до найближчої білої точки.

Вхідні дані

Перша строка містить кількість тестів . Перша строка кожного тесту містить два цілі числа n, m~(1 \le n \le 1000, 1 \le m \le 1000). Кожен з наступних рядків містить слово з нулів і одиниць довжини , що описує бітову карту. На -ій позиції -го (1 \le i \le n, 1 \le j \le m) рядка знаходиться , якщо точка біла.

Вихідні дані

Для кожного тесту виведіть рядків, кожен з яких містить цілих чисел f(i, 1), ..., f(i, m), де f(i, j) — це відстань від точки до найближчої білої точки.

Приклади

Приклад 1

Loading
Loading