| (0,0) initialize | - | [(0,0,0)] | [(0,0,0)] | seen = 1 |
| (0,0) | (0,0,0) | [(1,0,1)] | [(1,0,1)] | no write; seen = 2 |
| (0,0) | (1,0,1) | [(2,0,2),(1,1,2)] | [(2,0,2),(1,1,2)] | no write; seen = 4 |
| (0,0) | (2,0,2) | [(3,0,3)] | [(1,1,2),(3,0,3)] | no write; seen = 5 |
| (0,0) | (1,1,2) | [(1,2,3)] | [(3,0,3),(1,2,3)] | no write; seen = 6 |
| (0,0) | (3,0,3) gate | none | [(1,2,3)] (discard) | rooms[0][0] = 3; seen = 6 |
| (0,3) initialize | - | [(0,3,0)] | [(0,3,0)] | seen = 1 |
| (0,3) | (0,3,0) | [(0,2,1)] | [(0,2,1)] | no write; seen = 2 |
| (0,3) | (0,2,1) gate | none | [] (discard) | rooms[0][3] = 1; seen = 2 |
| (1,0) initialize | - | [(1,0,0)] | [(1,0,0)] | seen = 1 |
| (1,0) | (1,0,0) | [(2,0,1),(0,0,1),(1,1,1)] | [(2,0,1),(0,0,1),(1,1,1)] | no write; seen = 4 |
| (1,0) | (2,0,1) | [(3,0,2)] | [(0,0,1),(1,1,1),(3,0,2)] | no write; seen = 5 |
| (1,0) | (0,0,1) | [] | [(1,1,1),(3,0,2)] | no write; seen = 5 |
| (1,0) | (1,1,1) | [(1,2,2)] | [(3,0,2),(1,2,2)] | no write; seen = 6 |
| (1,0) | (3,0,2) gate | none | [(1,2,2)] (discard) | rooms[1][0] = 2; seen = 6 |
| (1,1) initialize | - | [(1,1,0)] | [(1,1,0)] | seen = 1 |
| (1,1) | (1,1,0) | [(1,2,1),(1,0,1)] | [(1,2,1),(1,0,1)] | no write; seen = 3 |
| (1,1) | (1,2,1) | [(2,2,2),(0,2,2)] | [(1,0,1),(2,2,2),(0,2,2)] | no write; seen = 5 |
| (1,1) | (1,0,1) | [(2,0,2),(0,0,2)] | [(2,2,2),(0,2,2),(2,0,2),(0,0,2)] | no write; seen = 7 |
| (1,1) | (2,2,2) | [(3,2,3)] | [(0,2,2),(2,0,2),(0,0,2),(3,2,3)] | no write; seen = 8 |
| (1,1) | (0,2,2) gate | none | [(2,0,2),(0,0,2),(3,2,3)] (discard) | rooms[1][1] = 2; seen = 8 |
| (1,2) initialize | - | [(1,2,0)] | [(1,2,0)] | seen = 1 |
| (1,2) | (1,2,0) | [(2,2,1),(0,2,1),(1,1,1)] | [(2,2,1),(0,2,1),(1,1,1)] | no write; seen = 4 |
| (1,2) | (2,2,1) | [(3,2,2)] | [(0,2,1),(1,1,1),(3,2,2)] | no write; seen = 5 |
| (1,2) | (0,2,1) gate | none | [(1,1,1),(3,2,2)] (discard) | rooms[1][2] = 1; seen = 5 |
| (2,0) initialize | - | [(2,0,0)] | [(2,0,0)] | seen = 1 |
| (2,0) | (2,0,0) | [(3,0,1),(1,0,1)] | [(3,0,1),(1,0,1)] | no write; seen = 3 |
| (2,0) | (3,0,1) gate | none | [(1,0,1)] (discard) | rooms[2][0] = 1; seen = 3 |
| (2,2) initialize | - | [(2,2,0)] | [(2,2,0)] | seen = 1 |
| (2,2) | (2,2,0) | [(3,2,1),(1,2,1)] | [(3,2,1),(1,2,1)] | no write; seen = 3 |
| (2,2) | (3,2,1) | [(3,3,2)] | [(1,2,1),(3,3,2)] | no write; seen = 4 |
| (2,2) | (1,2,1) | [(0,2,2),(1,1,2)] | [(3,3,2),(0,2,2),(1,1,2)] | no write; seen = 6 |
| (2,2) | (3,3,2) | [] | [(0,2,2),(1,1,2)] | no write; seen = 6 |
| (2,2) | (0,2,2) gate | none | [(1,1,2)] (discard) | rooms[2][2] = 2; seen = 6 |
| (3,2) initialize | - | [(3,2,0)] | [(3,2,0)] | seen = 1 |
| (3,2) | (3,2,0) | [(2,2,1),(3,3,1)] | [(2,2,1),(3,3,1)] | no write; seen = 3 |
| (3,2) | (2,2,1) | [(1,2,2)] | [(3,3,1),(1,2,2)] | no write; seen = 4 |
| (3,2) | (3,3,1) | [] | [(1,2,2)] | no write; seen = 4 |
| (3,2) | (1,2,2) | [(0,2,3),(1,1,3)] | [(0,2,3),(1,1,3)] | no write; seen = 6 |
| (3,2) | (0,2,3) gate | none | [(1,1,3)] (discard) | rooms[3][2] = 3; seen = 6 |
| (3,3) initialize | - | [(3,3,0)] | [(3,3,0)] | seen = 1 |
| (3,3) | (3,3,0) | [(3,2,1)] | [(3,2,1)] | no write; seen = 2 |
| (3,3) | (3,2,1) | [(2,2,2)] | [(2,2,2)] | no write; seen = 3 |
| (3,3) | (2,2,2) | [(1,2,3)] | [(1,2,3)] | no write; seen = 4 |
| (3,3) | (1,2,3) | [(0,2,4),(1,1,4)] | [(0,2,4),(1,1,4)] | no write; seen = 6 |
| (3,3) | (0,2,4) gate | none | [(1,1,4)] (discard) | rooms[3][3] = 4; seen = 6 |
| Finished row scan | - | - | [] | [[3,-1,0,1],[2,2,1,-1],[1,-1,2,-1],[0,-1,3,4]] |