The key to this problem is noticing that the cache can only hold 1/2 of the array. So the column-wise scan of the second half of the array evicts the lines thatwere loaded during the scan of the first half. For example, reading the first element of grid[8][0] evicts the line that was loaded when we read elements fromgrid[0][0]. This line also contained grid[0][1]. So when we begin scanning thenext column, the reference to the first element of grid[0][1] misses.