A mine-sweeper map

can be expressed as an

grid. Each cell of the grid is either a mine cell or a non-mine cell. A mine cell has no number on it. Each non-mine cell has a number representing the number of mine cells around it. (A cell is around another cell if they share at least one common point. Thus, every cell that is not on the boundary has 8 cells around it.) The following is a

mine-sweeper map where a flagged cell denotes a mine cell and a blank cell denotes a non-mine cell with number 0.
Given two mine-sweeper maps

of size

, you should modify at most

(i.e. the largest nonnegative integer that is less than or equal to

) cells in

(from a non-mine cell to a mine cell or vice versa) such that the sum of numbers in the non-mine cells in

and the sum of numbers in the non-mine cells in

are the same. (If a map has no non-mine cell, the sum is considered as 0.)
If multiple solutions exist, print any of them. If no solution exists, print ''-1'' in one line.