You are on the top left square of an m \times n grid, where each square on the grid has a digit on it. From a given square that has digit on it, a move consists of jumping exactly squares in one of the four cardinal directions. What is the minimum number of moves required to get from the top left corner to the bottom right corner?
The first line contains two space-separated positive integers and (1 \le m, n \le 500). It is guaranteed that at least one of and is greater than . The next lines each consists of digits, describing the m \times n grid. Each digit is between to .
Print, on a single line, a single integer denoting the minimum number of moves needed to get from the top-left corner to the bottom-right corner. If it is impossible to reach the bottom-right corner, print IMPOSSIBLE instead.
Example 1
Example 2