Є озеро, поруч з яким хочуть побудувати будинок. Архiтектурний проект (форма будинку) вже затверджений, можна тiльки вибрати розташування будинку так, щоб вiн виявився поруч з озером. Бажано вибрати розташування будинку поруч з озером так, щоб у максимальної кiлькостi мешканцiв будинку вiкна виходили на озеро, тобто щоб довжина загальної межi будинку i озера була максимальною.
План будинку i озера заданий у виглядi зображення на клiтчатому паперi, в якому вiдзначенi клiтини, що належать будинку та озеру.
Формат вхідних даних
Перший рядок вхiдних даних мiстить число ~N~ - кiлькiсть рядкiв в планi будинку i озера.
Другий рядок вхiдних даних мiстить число ~M~ - кiлькiсть стовпцiв у планi будинку i озера.
Наступнi ~N~ рядкiв мiстять по ~M~ символiв - план будинку. Символ ʼ.ʼ в цих рядках позначає порожню клiтину, символ ʼHʼ позначає частину будинку. План будинку є звʼязною областю i не мiстить дiрок всерединi. В планi є хоча б одна клiтина, що належить будинку.
Наступнi ~N~ рядкiв по ~M~ символiв в кожному мiстять план озера, в цих рядках символ ʼ.ʼ позначає порожню клiтину, символ ʼWʼ позначає клiтинку, зайняту озером. План озера є звʼязною областю i не мiстить дiрок всерединi. У планi є хоча б одна клiтина, що належить озеру. Числа ~N~ i ~M~ є цiлими, дадатними, не перевищують 15.
Формат вихідних даних
Програма повинна вивести одне число - максимальне значення довжини загальної межi будинку i озера, що вимiрюється в сторонах клiтини. При розташуваннi будинку поруч з озером його можна пересувати, але не можна робити повороти i вiдображення. Навколо озера є необмежений вiльний простiр, будинок може розташовуватися з будь-якого боку вiд озера.
Приклад вхідних даних
5
6
......
.HHHH.
.HHHH.
.HHHH.
......
..WWW.
..WWW.
..WWW.
..WWW.
..WWW.
Приклад вихідних даних
3
Приклад вхідних даних
5
7
...HHH.
.H...H.
.H.HHH.
.H.H...
.HHH...
.......
..WWWWW
WWW...W
W.W...W
..W....
Приклад вихідних даних
11
Коментарі