Məsələlər
Секретный бункер
Секретный бункер
Имеется план секретного бункера в виде прямоугольного поля, на котором местоположение бомб отмечено символом '\textbf{*}', секретных объектов -- символом '\textbf{?}', а пустые клетки -- символом '\textbf{.}'. В случае опасности подрыв любой бомбы должен приводить к уничтожению секретных объектов. Бомба при взрыве уничтожает все объекты, для которых расстояние от центра клетки с бомбой до центра клетки с объектом меньше или равно \textbf{D}. Если в пределах действия бомбы оказывается другая бомба, она также взрывается.
Напишите программу, вычисляющую минимальное значение \textbf{D}, при котором взрыв любой бомбы приводит к уничтожению всех секретных объектов.
\InputFile
Во входном файле несколько тестов. В первом строке каждого теста содержатся два целых числа \textbf{N }и\textbf{ M} через пробел -- размеры плана бункера (\textbf{1} ≤ \textbf{N}\textit{ } ≤ \textbf{50}, \textbf{1} ≤ \textbf{M} ≤ \textbf{50}). Далее следует \textbf{N} строк, содержащих по \textbf{M} символов '\textbf{.}', '\textbf{*}' и '\textbf{?}'. План содержит от \textbf{1} до \textbf{100} символов '\textbf{?}' и от \textbf{1} до \textbf{100} символов '\textbf{*}'. Строка, содержащая "\textbf{0} \textbf{0}", сигнализирует о завершении набора тестов и не обрабатывается.
\OutputFile
В выходной файл для каждого теста вывести строку, содержащую одно вещественное число -- минимальное значение \textbf{D} для соответствующего плана с точностью \textbf{10^\{−6\}}.
Giriş verilənləri #1
2 3 *.* .?. 5 5 ***** .?.?. ..?.. .?.?. ***** 0 0
Çıxış verilənləri #1
1.414214 3.000000