atcoder#ABC213E. [ABC213E] Stronger Takahashi

[ABC213E] Stronger Takahashi

Score : 500500 points

Problem Statement

There is a town divided into a grid of cells with HH rows and WW columns. The cell at the ii-th row from the top and jj-th column from the left is a passable space if Si,jS_{i,j} is . and a block if Si,jS_{i,j} is #.

Takahashi will go from his house to a fish market. His house is in the cell at the top-left corner, and the fish market is in the cell at the bottom-right corner.

Takahashi can move one cell up, down, left, or right to a passable cell. He cannot leave the town. He cannot enter a block, either. However, his physical strength allows him to destroy all blocks in a square region with 2×22\times 2 cells of his choice with one punch, making these cells passable.

Find the minimum number of punches needed for Takahashi to reach the fish market.

Constraints

  • 2H,W5002 \leq H,W \leq 500
  • HH and WW are integers.
  • Si,jS_{i,j} is . or #.
  • S1,1S_{1,1} and SH,WS_{H,W} are ..

Input

Input is given from Standard Input in the following format:

HH WW

S1,1S1,WS_{1,1} \ldots S_{1,W}

\vdots

SH,1SH,WS_{H,1} \ldots S_{H,W}

Output

Print the answer.

5 5
..#..
#.#.#
##.##
#.#.#
..#..
1

He can reach the fish market by, for example, destroying the blocks in the square region with 2×22\times 2 cells marked * below.

..#..
#.**#
##**#
#.#.#
..#..

It is not required that all of the 2×22\times 2 cells in the region to punch are blocks.

5 7
.......
######.
.......
.######
.......
0

He can reach the fish market without destroying blocks, though he has to go a long way around.

8 8
.#######
########
########
########
########
########
########
#######.
5