{"raw_statement":[{"iden":"problem statement","content":"There is a town divided into a grid of cells with $H$ rows and $W$ columns. The cell at the $i$\\-th row from the top and $j$\\-th column from the left is a passable space if $S_{i,j}$ is `.` and a block if $S_{i,j}$ is `#`.\nTakahashi 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.\nTakahashi 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\\times 2$ cells of his choice with one punch, making these cells passable.\nFind the minimum number of punches needed for Takahashi to reach the fish market."},{"iden":"constraints","content":"*   $2 \\leq H,W \\leq 500$\n*   $H$ and $W$ are integers.\n*   $S_{i,j}$ is `.` or `#`.\n*   $S_{1,1}$ and $S_{H,W}$ are `.`."},{"iden":"input","content":"Input is given from Standard Input in the following format:\n\n$H$ $W$\n$S_{1,1} \\ldots S_{1,W}$\n$\\vdots$\n$S_{H,1} \\ldots S_{H,W}$"},{"iden":"sample input 1","content":"5 5\n..#..\n#.#.#\n##.##\n#.#.#\n..#.."},{"iden":"sample output 1","content":"1\n\nHe can reach the fish market by, for example, destroying the blocks in the square region with $2\\times 2$ cells marked `*` below.\n\n..#..\n#.**#\n##**#\n#.#.#\n..#..\n\nIt is not required that all of the $2\\times 2$ cells in the region to punch are blocks."},{"iden":"sample input 2","content":"5 7\n.......\n######.\n.......\n.######\n......."},{"iden":"sample output 2","content":"0\n\nHe can reach the fish market without destroying blocks, though he has to go a long way around."},{"iden":"sample input 3","content":"8 8\n.#######\n########\n########\n########\n########\n########\n########\n#######."},{"iden":"sample output 3","content":"5"}],"translated_statement":null,"sample_group":[],"show_order":["default"],"formal_statement":null,"simple_statement":null,"has_page_source":true}