#abc088d. [abc088_d]Grid Repainting

[abc088_d]Grid Repainting

問題文

HH マス, 横 WW マスに広がるマス目があり, 各マスは白または黒で塗られている. 上から ii 番目で左から jj 番目のマスを (i,j)(i, j) で表す. すぬけ君は, このマス目を使って次のようなゲームをしたい. ゲームの開始時点ではマス (1,1)(1, 1) にゲームキャラクター「けぬす君」がいる. プレイヤーはけぬす君を上下左右の 44 方向のいずれかに 11 マスだけ動かすことを繰り返す. けぬす君が白いマスだけを通って (H,W)(H, W) にたどり着けばゲームクリアとなる.
ゲームを開始する前に, すぬけ君はいくつかの白いマス目の色を黒に変えることができる. ただし, マス (1,1)(1, 1)(H,W)(H, W) の色を変えることはできず, ゲームを開始するまでにすべての色の変更を行わなければならない.
ゲームをクリアしたとき, ゲームの開始前にマスの色を変えた回数がすぬけ君のスコアとなる. そのとき, すぬけ君が取る可能性のある最大のスコアを求めなさい.ただし, すぬけ君がどのようにマス目の色を変えてもけぬす君が (H,W)(H, W) にたどり着くことが出来ない場合、\-1\-1 と出力しなさい.

ただし, 各マスの色の情報は文字 si,js_{i, j} として与えられる. マス (i,j)(i, j) が最初白で塗られている場合 si,js_{i, j}. であり, マス (i,j)(i, j) が最初黒で塗られている場合 si,js_{i, j}# である.

制約

  • HH22 以上 5050 以下の整数
  • WW22 以上 5050 以下の整数
  • si,js_{i, j}. または # (1leqileqH,1leqjleqW)(1 \\leq i \\leq H, 1 \\leq j \\leq W)
  • s1,1,sH,Ws_{1, 1}, s_{H, W}. である

入力

入力は以下の形式で標準入力から与えられる.

HH WW s1,1s1,2s1,3...s1,Ws_{1, 1}s_{1, 2}s_{1, 3} ... s_{1, W} s2,1s2,2s2,3...s2,Ws_{2, 1}s_{2, 2}s_{2, 3} ... s_{2, W} :: :: sH,1sH,2sH,3...sH,Ws_{H, 1}s_{H, 2}s_{H, 3} ... s_{H, W}

出力

すぬけ君が取る可能性のある最大のスコアを出力しなさい. ただし, すぬけ君がどのようにマス目の色を変えてもけぬす君が (H,W)(H, W) にたどり着くことが出来ない場合、\-1\-1 と出力しなさい.


入力例 1

3 3
..#
#..
...

出力例 1

2

下の図のようにマス目の色を変えれば, スコア 22 を達成できます.
Explanation of Sample 1


入力例 2

10 37
.....................................
...#...####...####..###...###...###..
..#.#..#...#.##....#...#.#...#.#...#.
..#.#..#...#.#.....#...#.#...#.#...#.
.#...#.#..##.#.....#...#.#.###.#.###.
.#####.####..#.....#...#..##....##...
.#...#.#...#.#.....#...#.#...#.#...#.
.#...#.#...#.##....#...#.#...#.#...#.
.#...#.####...####..###...###...###..
.....................................

出力例 2

209