You are given an m × n grid where each cell is 0 (empty), 1 (a fresh orange) or 2 (a rotten orange). Every minute, any fresh orange 4-directionally adjacent to a rotten one becomes rotten. Return the minimum number of minutes until no cell has a fresh orange, or -1 if some fresh orange can never rot. Input format Input is [grid] where grid is a 2-D array of integers, e.g. [[[2,1,1],[1,1,0],[0,1,1]]] .