Problem Statement
An advent calendar is a box with 24 small windows, each containing a piece of chocolate. The windows are numbered from 1 to 24 in no particular order.
You have purchased an advent calendar from the discount bin in your store. You now plan to eat all the chocolate, but you want to still abide by the rules and open the windows in the proper order: 1, 2, 3, and so on.
Formally, a new advent calendar is a
E.g., there can be an element " 14 17 " but there cannot be an element " 1417 ". Hence, if you see the substring "14" somewhere, you can be sure that it's the actual number 14 and not the numbers 1 and 4 next to each other.
A partially opened advent calendar is a
More precisely, whenever we open a window, each digit of its number is replaced by an 'X'. E.g., "7" becomes "X" and "12" becomes "XX".
You are given the
Definition
- Class:
- AdventCalendar
- Method:
- eat
- Parameters:
- String[]
- Returns:
- String[]
- Method signature:
- String[] eat(String[] calendar)
- (be sure your method is public)
Constraints
- calendar will have between 1 and 50 elements, inclusive.
- Each element of calendar will have between 1 and 50 characters, inclusive.
- calendar will be a valid partially opened advent calendar, as described in the problem statement.
Examples
{"19 9 2 24 10 ", " 1 18 7 3 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15"}
Returns: {"19 9 2 24 10 ", " X 18 7 3 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15" }
This is one example of a new advent calendar. Note that the elements may have different lengths and they may start or end with spaces. (K=0 being allowed in the definition of a partially opened advent calendar means that a new advent calendar also counts as a partially opened advent calendar.) For this calendar, the next window to open is window number 1. Note that all spaces have been preserved in the return value.
{"19 9 X 24 10 ", " X 18 7 3 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15"}
Returns: {"19 9 X 24 10 ", " X 18 7 X 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15" }
The calendar from the previous example after windows 1 and 2 have been opened. We open window 3 next.
{"X X X X X X X X X XX XX XX XX XX", "XX XX 17 18 19 20 21 22 23 24"}
Returns: {"X X X X X X X X X XX XX XX XX XX", "XX XX XX 18 19 20 21 22 23 24" }
This calendar was probably numbered sequentially. Windows 1-16 have been opened, window 17 is next.
{" X X X X X X X X X XX XX XX XX XX ", " XX XX 24 XX XX XX XX XX XX XX "}
Returns: {" X X X X X X X X X XX XX XX XX XX ", " XX XX XX XX XX XX XX XX XX XX " }
{" 7 X 19", " 6 12 4 20 16 17 ", " 8 22 X 13 9 18 ", " 5 11", " 21 3 24 10 23 15 14 "}
Returns: {" 7 X 19", " 6 12 4 20 16 17 ", " 8 22 X 13 9 18 ", " 5 11", " 21 X 24 10 23 15 14 " }
{"11 10 23 X", " 12 X 21 19 X X X ", " X", " 13 24 9 17", " X X 14 15 18 20", "16 22"}
Returns: {"11 10 23 X", " 12 X 21 19 X X X ", " X", " 13 24 X 17", " X X 14 15 18 20", "16 22" }
{" 15 13 19 16 7 9 8 10 ", " 21 ", " 2 X 23 5 24", "4 12 17 22 20 ", " 11 14 6 3 18 "}
Returns: {" 15 13 19 16 7 9 8 10 ", " 21 ", " X X 23 5 24", "4 12 17 22 20 ", " 11 14 6 3 18 " }
{" 17 X 21 X ", " X 13", " 24 22 ", "X X 16 XX ", " 23 15 18 19 X 12 X X", " XX ", " X 14 20 "}
Returns: {" 17 X 21 X ", " X 13", " 24 22 ", "X X 16 XX ", " 23 15 18 19 X XX X X", " XX ", " X 14 20 " }
{" 23 XX X 22 21 ", " X X XX 20 XX XX X X XX X ", " X 24 XX X XX XX XX XX X"}
Returns: {" 23 XX X 22 21 ", " X X XX XX XX XX X X XX X ", " X 24 XX X XX XX XX XX X" }
{" 13 14 X", " 16 17 19 ", "X X XX ", "X X 20 ", "X XX 18", " 22 15 24 X 21 ", "23 X XX X "}
Returns: {" XX 14 X", " 16 17 19 ", "X X XX ", "X X 20 ", "X XX 18", " 22 15 24 X 21 ", "23 X XX X " }
{" XX XX X X X 23 XX ", " XX XX XX ", "24 XX XX X X X 22", "XX XX X XX X X XX "}
Returns: {" XX XX X X X 23 XX ", " XX XX XX ", "24 XX XX X X X XX", "XX XX X XX X X XX " }
{" X X X 11", "21 ", " 9 19 13 16 ", "8 14 18", " X 10 X 15 20 ", " 22 24 X 12 ", " 23 17 7 "}
Returns: {" X X X 11", "21 ", " 9 19 13 16 ", "8 14 18", " X 10 X 15 20 ", " 22 24 X 12 ", " 23 17 X " }
{" XX 22 X ", "XX XX X ", " X 18 20 21 ", "X XX XX 23 X 24 ", " XX X XX X XX ", " X 19 X "}
Returns: {" XX 22 X ", "XX XX X ", " X XX 20 21 ", "X XX XX 23 X 24 ", " XX X XX X XX ", " X 19 X " }
{" 24 X 13 X X", " 23 11 21 X 19 ", " 18 X 14 ", "X 16 X ", " X 17 20 12 15 XX X 22 "}
Returns: {" 24 X 13 X X", " 23 XX 21 X 19 ", " 18 X 14 ", "X 16 X ", " X 17 20 12 15 XX X 22 " }
{" 12 15 13 18 19 ", " X X 23 9 X ", " 20 24 X X 21 X", "X 11 17 22 10 ", " 14 16 X "}
Returns: {" 12 15 13 18 19 ", " X X 23 X X ", " 20 24 X X 21 X", "X 11 17 22 10 ", " 14 16 X " }
{" XX X XX 20", "X X X X XX 21 ", " X XX X X 19 ", " XX XX XX 22 X XX ", " 24 XX 23 "}
Returns: {" XX X XX 20", "X X X X XX 21 ", " X XX X X XX ", " XX XX XX 22 X XX ", " 24 XX 23 " }
{" XX X X XX ", " XX X X X XX 20 24 XX 21 22", " X 19 18 XX 23 XX XX ", " X X X "}
Returns: {" XX X X XX ", " XX X X X XX 20 24 XX 21 22", " X 19 XX XX 23 XX XX ", " X X X " }
{"21 12 11", " 15 X 9 13 20 ", " 6 16 23 X 24 X ", "19 22 18 14 8 17 X X 10 7 "}
Returns: {"21 12 11", " 15 X 9 13 20 ", " X 16 23 X 24 X ", "19 22 18 14 8 17 X X 10 7 " }
{" 18 13 23 9", " 21 14 17 22 X X 12", " X 15 19 X X X ", " 11 X 10 16 20 ", " 24 X "}
Returns: {" 18 13 23 X", " 21 14 17 22 X X 12", " X 15 19 X X X ", " 11 X 10 16 20 ", " 24 X " }
{" 23 X 20", " X 7 24 14 ", " 17 X 15 ", " 12 19 16 X ", " X 11 18 9 10 13 X 22 8 21 "}
Returns: {" 23 X 20", " X X 24 14 ", " 17 X 15 ", " 12 19 16 X ", " X 11 18 9 10 13 X 22 8 21 " }
{" 24 7 20 22 X 9 5 ", " 10 X 23 X 17 13 ", " 11 14 18 16 19 8 21 15 6 X 12 "}
Returns: {" 24 7 20 22 X 9 X ", " 10 X 23 X 17 13 ", " 11 14 18 16 19 8 21 15 6 X 12 " }
{"24 21 1 10 6 ", "2 16 8 15 18 17 ", " 4 12 3 22 11", " 13 20 9 14 23 ", " 5 7 19 "}
Returns: {"24 21 X 10 6 ", "2 16 8 15 18 17 ", " 4 12 3 22 11", " 13 20 9 14 23 ", " 5 7 19 " }
{" 8 13 6 7 16 18 22 11 ", " X 19 17 21 X X 10 5 ", "20 12 ", " 15 ", " 9 X 24 23 14 "}
Returns: {" 8 13 6 7 16 18 22 11 ", " X 19 17 21 X X 10 X ", "20 12 ", " 15 ", " 9 X 24 23 14 " }
{"23 10 8 ", "12 7 11 ", " 20 24 13 9 15 18 ", " 22 3 5 6 2 ", " 21 4 1 14", " 19 16 ", " 17 "}
Returns: {"23 10 8 ", "12 7 11 ", " 20 24 13 9 15 18 ", " 22 3 5 6 2 ", " 21 4 X 14", " 19 16 ", " 17 " }
{"11 4 21 6 ", " 20 24 18 9 12 23 16 10 ", " 17 3 X 15 22 5 7 8 14 2 ", "19 13 "}
Returns: {"11 4 21 6 ", " 20 24 18 9 12 23 16 10 ", " 17 3 X 15 22 5 7 8 14 X ", "19 13 " }
{" XX XX X X ", " XX XX XX X X X X ", " X XX X 23 22 ", "X XX XX XX XX XX", " 24 XX "}
Returns: {" XX XX X X ", " XX XX XX X X X X ", " X XX X 23 XX ", "X XX XX XX XX XX", " 24 XX " }
{" 22 19 X 13 15 10 ", " 21 23 18 24 ", " X 7 8 16 11 ", " X 6 14", " X 12 X 20 17 9 "}
Returns: {" 22 19 X 13 15 10 ", " 21 23 18 24 ", " X 7 8 16 11 ", " X X 14", " X 12 X 20 17 9 " }
{" X ", " 17 9 X ", "X 10 15 22 X ", " 21 13 ", " 18 12 11 14 X", " X 16 ", " 23 19 X 20 24 8 "}
Returns: {" X ", " 17 9 X ", "X 10 15 22 X ", " 21 13 ", " 18 12 11 14 X", " X 16 ", " 23 19 X 20 24 X " }
{" XX XX X XX XX XX XX XX ", " XX X 24 X ", " XX XX XX ", "X ", " X XX", " X XX", " X XX X X "}
Returns: {" XX XX X XX XX XX XX XX ", " XX X XX X ", " XX XX XX ", "X ", " X XX", " X XX", " X XX X X " }
{"X 14 X", "X 24 ", " 23 XX X 17 X 16 ", " XX X 19 XX X ", " 22 18 21 XX X 20", "X 15 "}
Returns: {"X XX X", "X 24 ", " 23 XX X 17 X 16 ", " XX X 19 XX X ", " 22 18 21 XX X 20", "X 15 " }
{" 9 X 13 17 15 14 10 ", " 23 24 X X 19 X 20 ", "11 12 16 ", "X 22 21 X X X 18 "}
Returns: {" X X 13 17 15 14 10 ", " 23 24 X X 19 X 20 ", "11 12 16 ", "X 22 21 X X X 18 " }
{" XX 24 X X X 21 XX XX ", " XX X 22 ", " X X ", "X 23 ", "X XX XX XX 20", " XX X XX XX "}
Returns: {" XX 24 X X X 21 XX XX ", " XX X 22 ", " X X ", "X 23 ", "X XX XX XX XX", " XX X XX XX " }
{" 6 10 9 21 8 5 3 23 20 14 4 16 ", " X 18 17 22 24 11 7 ", " 2 12 13 19 15"}
Returns: {" 6 10 9 21 8 5 3 23 20 14 4 16 ", " X 18 17 22 24 11 7 ", " X 12 13 19 15" }
{" ", " X 20 XX X ", "X XX XX XX XX ", " X X 22 ", " 24 X X XX 23 ", " X XX 21 19 ", "XX XX X"}
Returns: {" ", " X 20 XX X ", "X XX XX XX XX ", " X X 22 ", " 24 X X XX 23 ", " X XX 21 XX ", "XX XX X" }
{"5 12 9 13 4 ", " 8 17 X 18 ", " 21 24 14 20 ", " X 10 X 6 23 ", " 16 15 22 19 7 11 "}
Returns: {"5 12 9 13 X ", " 8 17 X 18 ", " 21 24 14 20 ", " X 10 X 6 23 ", " 16 15 22 19 7 11 " }
{" 22 X X X", " 16 13 X 20 14 X 23 ", " X 12 17 X ", "15 11 18 21 X 19 X XX 24"}
Returns: {" 22 X X X", " 16 13 X 20 14 X 23 ", " X 12 17 X ", "15 XX 18 21 X 19 X XX 24" }
{" 20 13 22 23 11 15 ", " 9 10 6 ", "5 7 19 16 24 14", " 3 17 2 8 12 21 18 4 1 "}
Returns: {" 20 13 22 23 11 15 ", " 9 10 6 ", "5 7 19 16 24 14", " 3 17 2 8 12 21 18 4 X " }
{" 21 9 23 22 11 20 ", " X 19 13 15 16 ", "X 14 7 X ", "8 24 12 18 10", "X X 17 ", " 6 "}
Returns: {" 21 9 23 22 11 20 ", " X 19 13 15 16 ", "X 14 7 X ", "8 24 12 18 10", "X X 17 ", " X " }
{" XX X X XX ", " X X XX ", " X XX XX 24 X XX XX", " XX XX 23 X X ", "XX XX X XX XX "}
Returns: {" XX X X XX ", " X X XX ", " X XX XX 24 X XX XX", " XX XX XX X X ", "XX XX X XX XX " }
{" X XX 19 XX X XX X X ", "XX 22 X X 24 XX X ", " 20 XX XX XX 23 X 21 XX X "}
Returns: {" X XX XX XX X XX X X ", "XX 22 X X 24 XX X ", " 20 XX XX XX 23 X 21 XX X " }
{"18 16 X 2 ", " 6 19 7 ", "15 3 9 13 24 23 20 5 8 21 12", "11 ", " 22 4 14 10 17 "}
Returns: {"18 16 X X ", " 6 19 7 ", "15 3 9 13 24 23 20 5 8 21 12", "11 ", " 22 4 14 10 17 " }
{" XX X X ", " 20 X ", "X 24 XX 22 23 X XX ", " 21 XX X XX 19 ", " 18 X X XX X XX XX "}
Returns: {" XX X X ", " 20 X ", "X 24 XX 22 23 X XX ", " 21 XX X XX 19 ", " XX X X XX X XX XX " }
{" XX ", " XX X 24 X X ", " XX X XX XX X X XX XX ", " X XX XX XX X", " X XX XX ", "XX XX "}
Returns: {" XX ", " XX X XX X X ", " XX X XX XX X X XX XX ", " X XX XX XX X", " X XX XX ", "XX XX " }
{" 7 18 17 12 9 ", " 13 22 16 21 14", " 8 5 X 15 6 X 24 ", " 10 19 11 23", "X X 20"}
Returns: {" 7 18 17 12 9 ", " 13 22 16 21 14", " 8 X X 15 6 X 24 ", " 10 19 11 23", "X X 20" }
{" XX ", "X", " 19 ", " X X 21 ", " ", " X XX ", "20 ", " X ", " ", " ", " 22 XX ", " XX ", " ", " ", " ", " XX ", " 24 ", " 23 X ", "XX ", " ", " ", " ", " ", " ", " ", " ", "X ", " ", " ", " ", " ", "XX XX", " ", " XX ", " ", " X X ", " "}
Returns: {" XX ", "X", " XX ", " X X 21 ", " ", " X XX ", "20 ", " X ", " ", " ", " 22 XX ", " XX ", " ", " ", " ", " XX ", " 24 ", " 23 X ", "XX ", " ", " ", " ", " ", " ", " ", " ", "X ", " ", " ", " ", " ", "XX XX", " ", " XX ", " ", " X X ", " " }
{" ", " X 11 ", " ", " ", "6 ", " 24 ", "5", "X", " ", " ", " 16", " 12", " 10 ", " 14 ", " ", " 17 ", " ", " 8 ", " 13 ", " 20 ", "X ", " X ", " ", " 21", " 18", " ", " ", " 15 ", " 7", " ", " ", " ", " 22 19 9 ", " 23", " ", " ", " "}
Returns: {" ", " X 11 ", " ", " ", "6 ", " 24 ", "X", "X", " ", " ", " 16", " 12", " 10 ", " 14 ", " ", " 17 ", " ", " 8 ", " 13 ", " 20 ", "X ", " X ", " ", " 21", " 18", " ", " ", " 15 ", " 7", " ", " ", " ", " 22 19 9 ", " 23", " ", " ", " " }
{"9 23 X 21 13 24 X 8 19 ", "X 18 10 12 22 20 ", " X X 15 17 14 16 X X 11"}
Returns: {"9 23 X 21 13 24 X X 19 ", "X 18 10 12 22 20 ", " X X 15 17 14 16 X X 11" }
{"23 ", " X X 13 X 22 21 12 X 7 18 16 10 ", " 11 14 20 ", " 15 9 X 17 8 X 24 19 "}
Returns: {"23 ", " X X 13 X 22 21 12 X X 18 16 10 ", " 11 14 20 ", " 15 9 X 17 8 X 24 19 " }
{" ", " 24 ", "20 ", "18", " ", " XX XX ", " XX 19 ", " X ", " X X ", " 21 XX ", "17 X 22 ", " X XX ", " X XX ", " X 23 X XX ", " X "}
Returns: {" ", " 24 ", "20 ", "18", " ", " XX XX ", " XX 19 ", " X ", " X X ", " 21 XX ", "XX X 22 ", " X XX ", " X XX ", " X 23 X XX ", " X " }
{" ", " ", " ", " ", " XX ", " ", " ", " XX ", " X ", " ", " ", " X ", " ", " X ", " 22 XX", " 23 20", " 19 XX ", " XX", " X ", " ", " ", " ", " ", " ", " ", "X", " 24 XX", " ", " XX XX ", " ", " ", " ", " X", " 21 X ", " X X ", " XX "}
Returns: {" ", " ", " ", " ", " XX ", " ", " ", " XX ", " X ", " ", " ", " X ", " ", " X ", " 22 XX", " 23 20", " XX XX ", " XX", " X ", " ", " ", " ", " ", " ", " ", "X", " 24 XX", " ", " XX XX ", " ", " ", " ", " X", " 21 X ", " X X ", " XX " }
{" XX XX X", " ", "XX 21 ", " ", " X ", " XX ", " X ", " ", "X X ", "XX X XX ", " ", " X 19 23 ", " ", " ", "22 ", " ", "X ", " XX ", " ", " 18 XX", " 20 ", " ", " X ", "24 "}
Returns: {" XX XX X", " ", "XX 21 ", " ", " X ", " XX ", " X ", " ", "X X ", "XX X XX ", " ", " X 19 23 ", " ", " ", "22 ", " ", "X ", " XX ", " ", " XX XX", " 20 ", " ", " X ", "24 " }
{" 10", " 24 13 12 ", " ", " 22 X ", " 15 ", " 17 X X X 19", " 16 21 20 ", " ", " X 11 X ", " 23 18", " X ", " X X ", " 14 "}
Returns: {" XX", " 24 13 12 ", " ", " 22 X ", " 15 ", " 17 X X X 19", " 16 21 20 ", " ", " X 11 X ", " 23 18", " X ", " X X ", " 14 " }
{" XX X ", "X XX X ", " 22 XX X ", "24 XX ", "X ", " X XX X ", " XX", " ", " XX XX", "XX ", " ", " X", " ", " ", " XX XX ", "X", " 23 XX", " ", " "}
Returns: {" XX X ", "X XX X ", " XX XX X ", "24 XX ", "X ", " X XX X ", " XX", " ", " XX XX", "XX ", " ", " X", " ", " ", " XX XX ", "X", " 23 XX", " ", " " }
{" ", " ", " ", " X 19 X", " ", " X", " ", " ", " ", " 22 ", " ", " X", "18 ", " ", " 21 ", " ", " X ", " 15 ", " ", " ", " ", " 23 ", " ", " ", "17 ", " ", " 20 16", " ", " ", " X ", " ", "13 ", " ", "10 ", "12 ", " X ", " ", " 14", " 24 ", " ", " ", " ", " 11 X ", " ", " ", " ", " ", " X "}
Returns: {" ", " ", " ", " X 19 X", " ", " X", " ", " ", " ", " 22 ", " ", " X", "18 ", " ", " 21 ", " ", " X ", " 15 ", " ", " ", " ", " 23 ", " ", " ", "17 ", " ", " 20 16", " ", " ", " X ", " ", "13 ", " ", "XX ", "12 ", " X ", " ", " 14", " 24 ", " ", " ", " ", " 11 X ", " ", " ", " ", " ", " X " }
{" 12 ", " 6 ", " ", " 7 ", " 8 ", " 14 ", " 21 20 ", " 16 ", " ", " ", " ", " ", " X ", " ", " ", " ", " 5 ", " ", " 3 23 ", " ", " ", " ", " 24 ", " ", " ", " ", " 19 ", " ", " 4 ", " ", " 9 ", " ", " ", " 10 18 ", " 22 X ", " ", " ", " 15 ", " 13 ", " ", " ", " ", " 11 ", " 17 ", " ", " ", " ", " ", " ", " "}
Returns: {" 12 ", " 6 ", " ", " 7 ", " 8 ", " 14 ", " 21 20 ", " 16 ", " ", " ", " ", " ", " X ", " ", " ", " ", " 5 ", " ", " X 23 ", " ", " ", " ", " 24 ", " ", " ", " ", " 19 ", " ", " 4 ", " ", " 9 ", " ", " ", " 10 18 ", " 22 X ", " ", " ", " 15 ", " 13 ", " ", " ", " ", " 11 ", " 17 ", " ", " ", " ", " ", " ", " " }
{" ", " ", " ", " X ", " XX ", " ", " 23 ", " ", " ", " ", " XX ", " ", " ", " X ", " ", " ", " 24 ", " ", " X ", " ", " ", " ", " ", " ", " ", " XX ", " ", " X ", " ", " ", " ", " X XX XX ", " XX X ", " X 22 ", " ", " ", " 21 ", " ", " X ", " XX XX ", " ", " ", " ", " X ", " XX ", " ", " ", " XX ", " ", " XX "}
Returns: {" ", " ", " ", " X ", " XX ", " ", " 23 ", " ", " ", " ", " XX ", " ", " ", " X ", " ", " ", " 24 ", " ", " X ", " ", " ", " ", " ", " ", " ", " XX ", " ", " X ", " ", " ", " ", " X XX XX ", " XX X ", " X 22 ", " ", " ", " XX ", " ", " X ", " XX XX ", " ", " ", " ", " X ", " XX ", " ", " ", " XX ", " ", " XX " }
{" ", " ", " ", " X ", " ", " 24 ", " ", " XX ", " 18 ", " X ", " ", " ", " X 21 ", " ", " ", " ", " XX ", " ", " ", " XX ", " ", " X ", " ", " ", " ", " ", " ", " 19 X ", " XX ", " ", " ", " 20 XX ", " ", " X XX X ", " ", " XX ", " X ", " ", " ", " ", " ", " ", " XX ", " 22 ", " ", " 23 X ", " ", " ", " ", " "}
Returns: {" ", " ", " ", " X ", " ", " 24 ", " ", " XX ", " XX ", " X ", " ", " ", " X 21 ", " ", " ", " ", " XX ", " ", " ", " XX ", " ", " X ", " ", " ", " ", " ", " ", " 19 X ", " XX ", " ", " ", " 20 XX ", " ", " X XX X ", " ", " XX ", " X ", " ", " ", " ", " ", " ", " XX ", " 22 ", " ", " 23 X ", " ", " ", " ", " " }
{" 14 ", " X ", " ", " ", " X 22 15 ", " X ", " ", " ", " 20 21 ", " ", " ", " 12 13 ", " ", " ", " ", " X 24 ", " ", " X ", " ", " ", " ", " 11 ", " ", " 19 ", " ", " ", " ", " ", " ", " ", " X ", " 16 ", " 18 ", " ", " XX ", " 23 ", " ", " ", " 17 ", " ", " X ", " ", " ", " ", " ", " ", " X ", " ", " X ", " "}
Returns: {" 14 ", " X ", " ", " ", " X 22 15 ", " X ", " ", " ", " 20 21 ", " ", " ", " 12 13 ", " ", " ", " ", " X 24 ", " ", " X ", " ", " ", " ", " XX ", " ", " 19 ", " ", " ", " ", " ", " ", " ", " X ", " 16 ", " 18 ", " ", " XX ", " 23 ", " ", " ", " 17 ", " ", " X ", " ", " ", " ", " ", " ", " X ", " ", " X ", " " }
{" ", " ", " ", " 10 ", " 20 ", " ", " ", " ", " 11 ", " X ", " ", " 23 ", " ", " ", " 7 ", " ", " ", " ", " ", " ", " ", " X ", " ", " ", " ", " 8 ", " ", " ", " 21 ", " 22 ", " 16 ", " 12 ", " 24 ", " X ", " 13 ", " 19 ", " X ", " ", " 18 17 ", " ", " ", " ", " ", " 9 ", " X 14 ", " 6 ", " 15 ", " ", " ", " "}
Returns: {" ", " ", " ", " 10 ", " 20 ", " ", " ", " ", " 11 ", " X ", " ", " 23 ", " ", " ", " 7 ", " ", " ", " ", " ", " ", " ", " X ", " ", " ", " ", " 8 ", " ", " ", " 21 ", " 22 ", " 16 ", " 12 ", " 24 ", " X ", " 13 ", " 19 ", " X ", " ", " 18 17 ", " ", " ", " ", " ", " 9 ", " X 14 ", " X ", " 15 ", " ", " ", " " }
{" ", " ", " 18 ", " ", " ", " ", " 24 ", " XX ", " ", " ", " XX ", " X ", " 19 ", " XX ", " ", " ", " 20 ", " ", " ", " 23 ", " ", " XX X ", " ", " ", " X XX ", " ", " X ", " X ", " ", " 21 ", " ", " XX ", " X ", " X ", " ", " ", " ", " ", " ", " XX ", " X ", " 17 ", " ", " ", " ", " ", " X ", " 22 ", " ", " "}
Returns: {" ", " ", " 18 ", " ", " ", " ", " 24 ", " XX ", " ", " ", " XX ", " X ", " 19 ", " XX ", " ", " ", " 20 ", " ", " ", " 23 ", " ", " XX X ", " ", " ", " X XX ", " ", " X ", " X ", " ", " 21 ", " ", " XX ", " X ", " X ", " ", " ", " ", " ", " ", " XX ", " X ", " XX ", " ", " ", " ", " ", " X ", " 22 ", " ", " " }
{" ", " ", " ", " ", " 24 ", " ", " ", " X 4 ", " ", " 15 ", " ", " ", " ", " ", " X ", " ", " 13 ", " 10 ", " ", " 18 ", " X ", " ", " ", " 12 ", " ", " 17 ", " 11 ", " 22 ", " 8 ", " 5 ", " ", " 7 ", " 21 ", " ", " ", " 19 ", " ", " 23 ", " ", " ", " 20 ", " 16 ", " ", " 14 ", " ", " ", " ", " 6 ", " 9 ", " "}
Returns: {" ", " ", " ", " ", " 24 ", " ", " ", " X X ", " ", " 15 ", " ", " ", " ", " ", " X ", " ", " 13 ", " 10 ", " ", " 18 ", " X ", " ", " ", " 12 ", " ", " 17 ", " 11 ", " 22 ", " 8 ", " 5 ", " ", " 7 ", " 21 ", " ", " ", " 19 ", " ", " 23 ", " ", " ", " 20 ", " 16 ", " ", " 14 ", " ", " ", " ", " 6 ", " 9 ", " " }
{" ", " X ", " 23 ", " X ", " ", " ", " ", " 17 ", " 19 ", " X ", " XX ", " 24 ", " ", " ", " ", " ", " X ", " ", " XX ", " ", " ", " XX ", " ", " 20 ", " ", " X X ", " ", " ", " ", " ", " XX X ", " ", " ", " ", " ", " X ", " XX ", " ", " ", " 18 ", " 21 ", " ", " ", " ", " ", " ", " X XX ", " ", " 22 ", " XX "}
Returns: {" ", " X ", " 23 ", " X ", " ", " ", " ", " XX ", " 19 ", " X ", " XX ", " 24 ", " ", " ", " ", " ", " X ", " ", " XX ", " ", " ", " XX ", " ", " 20 ", " ", " X X ", " ", " ", " ", " ", " XX X ", " ", " ", " ", " ", " X ", " XX ", " ", " ", " 18 ", " 21 ", " ", " ", " ", " ", " ", " X XX ", " ", " 22 ", " XX " }
{" 17 9 ", " 5 ", " 12 ", " 10 ", " ", " X ", " ", " X ", " ", " ", " ", " ", " ", " 8 22 ", " ", " 13 ", " ", " ", " ", " 7 ", " ", " ", " ", " 15 21 ", " ", " ", " ", " ", " ", " X ", " 11 ", " ", " ", " ", " ", " 18 ", " ", " 16 ", " ", " 6 ", " X ", " 20 ", " 19 ", " ", " ", " 23 ", " 24 ", " ", " 14 ", " "}
Returns: {" 17 9 ", " X ", " 12 ", " 10 ", " ", " X ", " ", " X ", " ", " ", " ", " ", " ", " 8 22 ", " ", " 13 ", " ", " ", " ", " 7 ", " ", " ", " ", " 15 21 ", " ", " ", " ", " ", " ", " X ", " 11 ", " ", " ", " ", " ", " 18 ", " ", " 16 ", " ", " 6 ", " X ", " 20 ", " 19 ", " ", " ", " 23 ", " 24 ", " ", " 14 ", " " }
{" ", " ", " ", " ", " 12 ", " 7 ", " 17 11 ", " ", " 3 ", " ", " 18 ", " ", " ", " ", " ", " 10 23 19 ", " ", " ", " 13 ", " ", " ", " ", " ", " 22 ", " ", " 20 ", " 2 ", " ", " 21 ", " ", " 14 ", " ", " 1 ", " ", " 6 ", " ", " ", " 8 ", " ", " 24 4 ", " ", " ", " ", " 5 ", " ", " ", " 9 ", " 16 ", " 15 ", " "}
Returns: {" ", " ", " ", " ", " 12 ", " 7 ", " 17 11 ", " ", " 3 ", " ", " 18 ", " ", " ", " ", " ", " 10 23 19 ", " ", " ", " 13 ", " ", " ", " ", " ", " 22 ", " ", " 20 ", " 2 ", " ", " 21 ", " ", " 14 ", " ", " X ", " ", " 6 ", " ", " ", " 8 ", " ", " 24 4 ", " ", " ", " ", " 5 ", " ", " ", " 9 ", " 16 ", " 15 ", " " }
{"X X X X X X X X X XX XX XX XX XX", "17 XX XX 18 19 20 21 22 23 24"}
Returns: {"X X X X X X X X X XX XX XX XX XX", "XX XX XX 18 19 20 21 22 23 24" }
Sometimes the numbers can appear on the beginning or end of line, too.
{"X X X X X X X X X XX XX XX XX XX", "XX XX 18 19 20 21 22 23 24 17"}
Returns: {"X X X X X X X X X XX XX XX XX XX", "XX XX 18 19 20 21 22 23 24 XX" }
{"19 9 X 24 10 ", " X 18 7 3 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15" }
Returns: {"19 9 X 24 10 ", " X 18 7 X 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15" }