P4554 [CF647B] Звёздное небо
普及-
题目描述

Карта звёздного неба представляет собой прямоугольное поле, состоящее из n строк по m символов в каждой строке. Каждый символ — это либо «.» (означает пустой участок неба), либо «*» (означает то, что в этом месте на небе есть звезда).

Новое издание карты звёздного неба будет напечатано на квадратных листах, поэтому требуется найти минимально возможную сторону квадрата, в который могут поместиться все звезды. Границы искомого квадрата должны быть параллельны сторонам заданного прямоугольного поля.

Input

В первой строке входных данных записаны два числа n и m (1 ≤ n, m ≤ 1000) — количество строк и столбцов на карте звездного неба.

В следующих n строках задано по m символов. Каждый символ — это либо «.» (пустой участок неба), либо «*» (звезда).

Гарантируется, что на небе есть хотя бы одна звезда.

Output

Выведите одно число — минимально возможную сторону квадрата, которым можно накрыть все звезды.

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
4 4 .... ..*. ...* ..**
样例输出
3
提示

Один из возможных ответов на первый тестовый пример:

Один из возможных ответов на второй тестовый пример (обратите внимание, что покрывающий квадрат выходит за пределы карты звездного неба):

Ответ на третий тестовый пример: