## On the Subject of Voronoi Maze

Where’s up and down?

The cells shown on the module constitute a maze. You must deduce which lines are walls (as traversing those will issue a strike).

To begin, interpret the serial number as a base-36 number. Decoding the walls involves an iterative process. In each iteration, a number `n` is relevant. Perform these calculations:

- Take the number
*modulo*`n`to obtain a value. *Divide*the number by`n`(rounding down) to obtain the number for the next iteration.

At the start, `n` is the number of rooms adjacent to the module border. They are numbered in counter-clockwise order beginning with the room in the bottom-left corner.

Now create a list of the lines surrounding this room (not counting the module border) and number them from 0 in counter-clockwise order, beginning where the room touches the module border. If it touches multiple sides of the module, prioritize bottom over right over top over left.

In each subsequent iteration, `n` is the number of lines in the list. Each time a line is selected, this effectively “discovers” a new room. Modify the list as follows:

- Add all lines surrounding the new room in counter-clockwise order beginning with the line just traversed.
- Remove all lines between any two rooms that are already discovered.

Continue this process until all rooms are discovered. All lines that were selected by the iterative process are traversible; the rest are walls.

At the start, hovering over a room shows which other rooms are considered adjacent.

To begin disarming the module, tap it. The keys will no longer be visible. To move to an adjacent room, tap the room you wish to move to. Navigate the maze to collect the keys in order (red, yellow, blue) without traversing any walls.