## On the Subject of Tic-Tac-Toe

All those years of getting ties in Tic-Tac-Toe might finally pay off.

To defuse this module, all nine buttons must be filled with “X”s and “O”s.

The display labeled “Up Next:” shows either an “X” or an “O”. The keypad displays some numbers between 1 and 9 and some already placed “X”s and “O”s. After placing a piece, the displays go blank.

The numbers in the chart on the following page indicate the location on the keypad where each piece should be placed.

Use the rules below to determine the starting row:

- If the last digit of the serial number is even, the starting row is either 5, 6, 7, 8, or 9. Otherwise, the starting row is either 1, 2, 3, or 4.
- If there is at least one parallel port, use the even values. Otherwise, use the odd values.
- If there are more unlit indicators than lit indicators, the starting row is the lowest remaining value from rule 2.
- If there are more lit indicators than unlit indicators, the starting row is the highest value remaining from rule 2.
- If there are an equal number of lit and unlit indicators, the starting row is the average of the remaining values from rule 2.

In the chart, determine the appropriate placement column based on the relative number of “X”s and “O”s already on the board. Begin at the starting row and move down your selected column until you reach a number that corresponds to an unfilled spot on the keypad. If you pass row 9, continue at row 1.

If placing the piece in this location would result in a tic-tac-toe, you MUST press “PASS”
and continue in the __same__ row; otherwise, place the piece by pressing the location on the
keypad and then move to the __next__ row in the chart.

Two consecutive passes will result in a piece being placed (and displayed)
in one of the available spaces. This may result in a tic-tac-toe but will not
incur a strike. In such a case, move to the __next__ row in the chart.

Upon a strike, the row resets to the initial starting row and the keypad displays the placed pieces and remaining numbers. All previous placements remain until the module is defused.