20220206 - 最远点之间的最近距离

Time Limit

1000 毫秒

Memory Limit

128 MB

通过次数

7

提交次数

24

在一个hw列的矩阵中,#表示无法到达,.表示可以到达,移动时可以向上下左右移动,但不能移动到#的格子也不能移动到矩阵外。输出从所需移动次数最多的两个.之一移动到另一个需要的最少步数。

Input

第一行,两个正整数h,w,分别表示行数和列数。

接下来h行,每行w个字符,每个字符均为#或.,表示该位置能否到达。

对于100%的数据:

1 \le w,h \le 20

数据保证至少有两个可以互相到达的#

Output

一行,一个整数。

Examples

Input

3 3
...
...
...

Output

4

Input

3 5
...#.
.#.#.
.#...

Output

10