Grid cells: 0 = empty, 1 = fresh, 2 = rotten. Every minute, rotten oranges infect all 4-directional fresh neighbours. Return minutes until no fresh remain, or -1 if impossible.