

1. Escape cells in this problem are all such cells that lie on the edge of the matrix but not on the corner. i.e all such cells which are in the first row, first column, last row, and last column excluding the four corner cells are considered as valid escape cells.
2. A cell once set on fire continues to remain on fire till the end.
3. Note that rows are indexed from 0 to ‘N’ - 1 and columns are indexed from 0 to ‘M’ - 1.
4. The escape cells may also be initially on fire or can catch fire from some neighboring cell.
The first line of the input contains an integer ‘T’ denoting the number of test cases.
The first line of each test case contains two space-separated integers ‘N’ and ‘M’, where ‘N’ denotes the number of rows in the given matrix and ‘M’ denotes the number of columns in the given matrix.
Each of the next ‘N’ lines contains ‘M’ space-separated integers (‘0’ or ‘1’) denoting the initial condition of cells.
The last line of each test case contains two space-separated integers ‘X’ and ‘Y’, where ‘X’ denotes the initial row of the person at time t = 0 and ‘Y’ denotes the initial column of the person at time t = 0.
For each test case, print an integer ‘K’ representing the time taken by the person to reach the escape cell. If the person cannot reach the escape cell then print -1.
Output for each test case will be printed in a separate line.
You are not required to print the output, it has already been taken care of. Just implement the function.
1 <= 'T' <= 50
0 <= 'N' < 50
0 <= 'M' < 50
0 <= 'X' <= N
0 <= 'Y' <= M
Time Limit: 1 sec
With each passing second fire expands and there are multiple cells at fire initially, (at time t = 0). So we will create an auxiliary matrix ‘TIME_OF_FIRE’ of size ‘N’ * ‘M’ to store the minimum time it will take for each cell to catch fire.
Iterate through the given matrix ‘MAT’ [][] and set ‘TIME_OF_FIRE’ [][] for a cell ( ‘i’, ‘j’ ) to 0, if ‘MAT’ [‘i’][‘j’] = 0, (source of fire) because they are on fire from the beginning only.
Fire will expand in four directions(up, down, left, right) from the fired cell and will continue to do so until all the cells are set to fire. A better choice is to use multisource BFS to store all the values of the matrix ‘TIME _OF_FIRE’ [][] for each cell in the matrix.