Statistics

Problem Statement for "VegetableGarden"

Problem Statement

Your vegetable garden forms a rectangular grid of equal square plots. You've decided to inspect some of your plots. Starting at the top left corner, you will walk through the garden and return back to your starting point. All plots that lie inside the cycle of your path will be considered inspected. You are not allowed to walk inside the plots; you can only walk along their boundaries. Your path must not intersect itself. The boundaries are wide enough that you can walk along the same boundary multiple times without intersecting your own path.

You are given a String[] garden, where the j-th character of the i-th element represents the plot at row i, column j. The plots you would like to inspect are represented by uppercase 'I' characters. '.' characters represent plots you don't care about, and uppercase 'X' characters represent plots you must never inspect. Return a int[] where the i-th element is equal to the length of the shortest path that lets you inspect exactly i+1 plots marked with the letter 'I'. The number of elements in the return value must be equal to the number of 'I's in garden. Note that it is okay for '.' plots to be inspected, but 'X' plots must never be inspected.

Definition

Class:
VegetableGarden
Method:
getMinDistances
Parameters:
String[]
Returns:
int[]
Method signature:
int[] getMinDistances(String[] garden)
(be sure your method is public)

Constraints

  • garden will contain between 1 and 50 elements, inclusive.
  • Each element of garden will contain only periods ('.'), uppercase 'I's and uppercase 'X's.
  • Each element of garden will contain an equal number of characters.
  • Each element of garden will contain between 1 and 50 characters, inclusive.
  • garden will contain between 1 and 10 characters that are not periods ('.').

Examples

  1. {"I"}

    Returns: {4 }

    Walk around the periphery of the plot.

  2. {"XX", "XI"}

    Returns: {8 }

  3. {"III", "IXI", "III"}

    Returns: {4, 6, 8, 10, 12, 14, 16, 18 }

    An example of inspecting 8 plots is below.

  4. {"X.I", ".I.", "I.."}

    Returns: {8, 10, 14 }

  5. {"IIXIIXIXII"}

    Returns: {4, 6, 12, 14, 20, 26, 28 }

  6. {"X"}

    Returns: { }

  7. {"I.", ".."}

    Returns: {4 }

  8. {"I..", "...", "..."}

    Returns: {4 }

  9. {"..X.", "....", "....", "...."}

    Returns: { }

  10. {".....", ".....", ".....", ".....", "X...."}

    Returns: { }

  11. {"......", "......", "......", "......", "......", ".X...."}

    Returns: { }

  12. {"...I...", ".......", ".......", ".......", ".......", ".......", "......."}

    Returns: {10 }

  13. {"......X.", "........", "........", "........", "........", "........", "........", "........"}

    Returns: { }

  14. {".........", ".........", ".........", ".........", ".........", "...X.....", ".........", ".........", "........."}

    Returns: { }

  15. {"....I.....", "..........", ".....I....", "..........", "..........", "..........", "..........", "..........", "..........", ".........."}

    Returns: {12, 18 }

  16. {"...........", "...........", "...........", "...........", "...........", "...........", ".......X...", ".........I.", "...........", "...........", "..........."}

    Returns: {36 }

  17. {"...........I", "............", ".........I..", "............", "............", "............", "............", "............", "............", "............", "............", "............"}

    Returns: {26, 30 }

  18. {".............", ".............", ".............", ".............", ".............", ".............", "...I.........", ".............", ".............", ".I...........", ".............", ".............", "............."}

    Returns: {22, 28 }

  19. {"..............", "..............", ".....I........", "..............", "..............", "..............", "..............", "...I..........", "..............", "..............", "..............", "..............", "..............", ".............."}

    Returns: {18, 28 }

  20. {"...............", "...............", "...............", "...............", "...............", "...............", "...............", "..............X", "...............", "...............", "...............", "...............", ".X.............", "............I..", "..............."}

    Returns: {54 }

  21. {".......X........", "................", "................", "................", "...............X", "................", "................", "................", "................", "...........X....", "................", "................", "................", "................", "................", "................"}

    Returns: { }

  22. {".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", "........I........", ".................", ".................", ".....X...........", ".........X.......", ".................", ".................", "................."}

    Returns: {38 }

  23. {"..................", "..................", "..................", "..................", "..................", "..................", "..................", "......I...........", "..................", "..................", "..................", "......I...........", "..................", "..................", "..................", "..................", "..................", "....I............."}

    Returns: {30, 38, 50 }

  24. {"...................", "...................", "...................", "...................", ".................I.", "...................", "...................", ".....I.............", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...........I.......", "...................", "...................", "..................."}

    Returns: {28, 52, 68 }

  25. {".................I..", "....................", "I...................", "....................", "....................", "....................", "....................", "....................", ".................I..", "....................", "........I...........", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "...................."}

    Returns: {8, 40, 54, 58 }

  26. {".....................", ".....................", ".....................", ".....................", ".....................", ".....................", "...........X.........", ".....................", ".............X.......", ".....................", ".....................", ".....................", ".....................", ".....................", ".....................", ".....................", "...I.................", ".X...................", ".....................", ".....................", "....................."}

    Returns: {42 }

  27. {"......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "X.....................", "......................", "......................", "......................", "......X...............", "......................", "......................", ".............I........", "......................", "......................", "......................", ".....I................", "......................"}

    Returns: {54, 70 }

  28. {".......................", ".......................", ".......................", ".......................", ".......................", "...............I.......", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......I...........X...", ".......................", ".......................", ".......................", ".......................", "......................."}

    Returns: {44, 68 }

  29. {"........................", "........................", ".....................X..", "........................", "........................", "........................", "........................", "........................", "........................", "........................", "..........X.............", "........................", "........................", "X.......................", "........................", "........................", "........................", "........................", "........................", "........................", "........................", "........................", "...........X............", "........................"}

    Returns: { }

  30. {".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", "................I........", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", "........I................", "....................I....", ".........................", ".........................", ".........................", ".........................", ".........................", "........I................", ".........................", ".I......................."}

    Returns: {50, 64, 68, 84, 92 }

  31. {"..........................", "..........................", "..........................", ".....X....................", "..........................", "..........................", "...............X..........", "..........................", "..........................", "..........................", "..........X...............", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", ".........................I", "....................I.....", "..........................", "..........................", "..........................", "..........................", "..........................", ".........................."}

    Returns: {82, 92 }

  32. {"...........................", ".........I.................", "...........................", "...........................", "...........................", ".......X...................", "...........................", "...........................", "...........................", ".....X.......X.............", "..............I............", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "..........................."}

    Returns: {24, 52 }

  33. {"............................", "............................", ".....I.............I........", "............................", "............................", "............................", "............................", "............................", "............................", "............................", "............................", "............................", "............................", "............................", "............................", ".I..........................", "............................", "............................", "............................", "..................I.........", "............................", ".................I..........", "............................", "............................", "............................", "............................", "............................", "............................"}

    Returns: {18, 44, 72, 80, 84 }

  34. {".............................", ".............................", "....................X........", "...............X.............", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", "...................X.........", ".............................", ".............................", "....X........................", ".............................", "............X................", ".............................", ".............................", ".............................", "............................."}

    Returns: { }

  35. {"..............................", "..............................", "..............................", ".............................I", "..............................", "..............................", "..............................", "............................I.", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", ".................I............", "..............................", "..............................", "..............................", "........I...............I.....", "..............................", "..............................", "..............................", "..............................", "..............................", ".........................X...."}

    Returns: {66, 76, 98, 106, 108 }

  36. {"...............................", "...............................", "...............................", "....................X..........", "...............................", "...............................", "...............................", "...............................", "...............................", "...............................", "...............................", ".X.............................", "...............................", "...............................", "...............................", "................X..............", "...............................", "...............................", "...............................", "...............................", "...............................", "...............................", "...............................", "...............................", "........................I......", "...............................", "...............................", "...............................", "............................X..", "...................I...........", "..............................."}

    Returns: {100, 110 }

  37. {"................................", "................................", "................................", "................................", "................................", "................................", "................................", "..........................I.....", "................................", "................................", "......I.........................", "...X............................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "....................X...........", "................................", "................................", "................................", "................................", ".....................X..........", "................................", "................................", "................................", "................................", "................................", "........X.......................", "................................"}

    Returns: {36, 76 }

  38. {"................X................", ".................................", "..X..............................", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", "..............X..................", ".................................", ".................................", ".................................", ".......................I.........", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", ".................................", "..........................X......", ".................................", ".................................", ".................................", ".................................", "......................X.........."}

    Returns: {82 }

  39. {"..................................", "..................................", ".....................X............", "..................................", "..................................", "..................................", ".........................X........", "..................................", "..................................", "..................X......X........", "..................................", "...........X......................", "..................................", "..................................", ".......................X..........", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", ".................................."}

    Returns: { }

  40. {"...................................", "...................................", "...................................", "..............................X....", "...................................", "...................................", "...................................", "...................................", "...................................", "...................................", "...................................", "...................................", "......................X............", "...................................", "...................................", "........X..........................", "...................................", "...................................", "...................................", "...................................", "...................................", ".................................X.", "...................................", "...................................", "...................................", "...X...............................", "...................................", "...................................", "...................................", "................................I..", ".........................X.........", "...................................", "...................................", "...................................", "..................................."}

    Returns: {126 }

  41. {"....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....X.....I.........................", "....................................", "........X...........................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "..............................X.....", "....................................", ".....X..............................", ".............................X......", "....................................", "....................................", "....................................", ".............................X......", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "...................................."}

    Returns: {42 }

  42. {".....................................", ".....................................", ".....................................", ".....................................", ".....................................", ".....................................", ".....................................", ".....................................", ".....................................", ".....................................", ".....................................", ".......X.............................", ".................X...................", ".....................................", "...........X.........................", ".....................................", ".....................................", ".....................................", ".....................................", "...................................I.", ".....................................", ".....................................", ".....................................", "...........................X.........", ".....................................", "....................X................", ".....................................", ".....................................", ".....................................", ".....................................", ".....................................", ".....................................", "..................................X..", ".....................................", ".....................................", ".....................................", "....................................."}

    Returns: {112 }

  43. {"......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "..........................X.........X.", "..................X...................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......X...............................", "......................................", ".............................X........", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "....................X.................", "......................................", "......................................", "......................................", "....................................X.", "......................................", "......................................", "......................................", "......................................", "......................................"}

    Returns: { }

  44. {".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", "................................X......", ".......................................", ".......................................", ".................................X.....", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", "......................X................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", ".....I..................X..............", "..........................I............", ".......................................", ".......................................", ".......................................", ".......................................", ".......................................", "...........X...........................", ".......................................", "......................................."}

    Returns: {72, 116 }

  45. {"........................................", "........................................", "..................................I.....", "I.......................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "..................................I.....", ".....I..................................", "........................................", ".......I................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "..........I.............................", "...........I............................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "........................................", "............................I...........", "........................................"}

    Returns: {10, 40, 48, 76, 80, 124, 126, 148 }

  46. {".........................................", ".........................................", ".................X.......................", ".........................................", ".........................................", "..................................X......", ".........................................", ".........................................", ".........................................", ".........................................", "................................X........", "........X................................", ".........................................", ".........................................", ".........................................", "...........I.............................", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", "......................................X..", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".....................................X...", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".........................................", ".....................................X..."}

    Returns: {56 }

  47. {"..I.......................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................I...............", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", ".........................................I", "..........................................", "..........................................", "..........................................", ".............I............................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "..........................................", "......I...................................", "..........................................", "...........I..............................", "..........................................", "..........................................", "........................I.................", "..........................................", ".........................................I", "..........................................", ".........................................."}

    Returns: {8, 72, 94, 98, 124, 130, 160, 164 }

  48. {"...........................................", "...........................................", "...........................................", "...........................................", "..I........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", ".........................................X.", "...........................................", "...........................................", "...........................................", "..........................X................", "...........................................", "...........................................", "...........................................", "...........................................", "................................X..........", "X..........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", ".........................X.................", ".I........X................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "...........................................", "..........................................."}

    Returns: {16, 78 }

  49. {"............................................", "............................................", "............................................", "............................................", "I...........................................", "............................................", "..............................X.............", "............................................", "............................................", ".....................I......................", "............................................", "..............I.............................", "............................................", "............................................", "............................................", "............................................", "............................................", "...I.....................................I..", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", "........................................I...", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", "............................................", ".........................................X..", "............................................", "............................................", "............................................", "............................................", "............................................"}

    Returns: {12, 44, 66, 80, 120, 144 }

  50. {".I...........................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".........X...................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", "............................X................", ".............................................", ".............................................", ".....................................I.......", ".......X.....................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".......................................I.....", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", "..........................................I..", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".................................I...........", "..........................................X..", ".............................................", ".............................................", ".............................................", ".............................................", "............................................."}

    Returns: {6, 114, 132, 152, 164 }

  51. {"..............................................", "...X..........................................", "..............................................", "...................I..........................", "..............................................", "..............................................", "............I.................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", ".................................I............", "..............................................", "...................................I..........", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", ".....................................I........", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", ".........................I....................", "..............I...............................", "..............................................", "......................X......................."}

    Returns: {40, 54, 98, 106, 146, 160, 164 }

  52. {".........I.I...................................", "...............................................", "........................................I......", "...............................................", "...............................................", "...............................................", "....................................I..........", "...............................................", ".........................I.....................", "...............................................", "...............I...............................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "..........................................I....", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", ".I.........I...................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "...............................................", "..............................................."}

    Returns: {22, 26, 54, 74, 88, 104, 122, 138, 142 }

  53. {"................................................", "................................................", "................................................", ".I..............................................", "................................................", "................................................", "........................I.......................", "................................................", "................................................", "................................................", "................................................", "......I.........................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "........X.......................................", "................................................", "..........X.....................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "........I.......................................", "................................................", "................................................", "................................................", "................................................", "................................................", "..........I.....................................", "................................................", "................................................", "................................................", "................................................", "................................................", "..........................I.....................", "................................................", "...I............................................", "................................................", "................................................", "................................................", "................................................"}

    Returns: {12, 38, 74, 94, 110, 142, 158 }

  54. {".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", "....................................X............", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................X...............", ".................................................", ".................................................", ".................................................", "...............................................X.", "............................................X....", ".................................................", ".................................................", ".................................................", ".................................................", ".......................................X.........", ".........................................X.......", ".................................................", ".................................................", ".................................................", "............................................X....", ".................................................", "...............I.................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", "..........................................X......", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", "................................................."}

    Returns: {98 }

  55. {"....................................X.............", "..................................................", "..................................................", "..................................................", "..................................................", "...................................X..........I...", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....................................X............", "................................................X.", "..................................................", "..................................................", "........X.........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................................X.............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....I............................................", "...........................X......................", "..................................................", "..........I.......................................", "..................................................", ".................................................."}

    Returns: {102, 118, 198 }

  56. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".X................................................", "..................................................", "..................................................", "..................................................", "............................X.....................", "..................................................", "..................................................", ".......X.................................X........", ".........X........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................X........................", "..................................................", ".......I..........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...I..............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............X....................X.............."}

    Returns: {74, 98 }

  57. {"..................................................", "..................................................", "I.................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...................................I..............", "..................................................", "..................................................", "...................................X..............", "..................................................", ".......X..........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............I....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........I......................................", "..................................................", ".............I....................................", "..................................................", "..................................................", "..................................................", "......................................X...........", "..................................................", "..................................................", "..................................................", ".............................I....................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {8, 74, 92, 96, 140, 156 }

  58. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......................I...........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....X......X......................................", "......I...........................................", "..................................................", "..................................................", "................X.................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........................I.........................", "..................................................", "..................I...............................", ".........................X........................", "..................................................", "............................................X.....", "..................................................", "..................................................", "........X.........................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {46, 78, 130, 134 }

  59. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....X.....I......................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....X............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................X................................", "..................................................", "..................................................", "......X...........................................", "..................................................", "..................................................", "..................................................", ".........................X........................", "..................................................", "..................................................", "..................................................", "...........................X......................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................................X....", "..................................................", "..................................................", "...................X..............................", "....X............................................."}

    Returns: {38 }

  60. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........................I......................", "...I.......................X......................", "............X.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................X........................", "....................................X.............", "..................................................", "..................................................", "..................................................", "................................I.................", "..................................................", "............I.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...............................................X..", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................X................"}

    Returns: {34, 82, 116, 132 }

  61. {"........................................I...I.....", "..................................................", "..................................................", "............I.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................X.................", "..................................................", "..................................................", "..................................................", "..........I.....I.................................", "..................................................", "..................................................", "..................................................", "I................................................X", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................X................................", "..................................................", "..................................................", "..................................................", ".........................................I........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {34, 66, 74, 82, 130, 138, 194 }

  62. {"..................................................", "......................................I...........", "..................................................", "..................................................", "..................................................", ".............................................X....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........I.........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....I.......................I.....................", "..................................................", ".................I................................", "..................................................", "..................................................", "I.................................................", "..................................................", "..................................................", "..................................................", "........X.........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................................X...X....", ".................................................."}

    Returns: {48, 80, 90, 108, 130, 150 }

  63. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "............X.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....X...........X................................", "..................................................", ".................X................................", "...X.........................................X....", "...........X......................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".......................X..........................", "..................................................", "................X.................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................X..................."}

    Returns: { }

  64. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...................................I..............", ".....................................I............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "............I.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............I...................................", "..................................................", "...............I................................I.", "..................................................", "..................................................", "..................................................", "..................................................", ".............................................I....", "...............................I..................", "..................................................", "...................I..............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........................................I......", "..................................................", "..................................................", ".................................................."}

    Returns: {60, 86, 92, 116, 136, 148, 152, 168, 174, 192 }

  65. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................I.............................", "..................................................", "..................................................", "..................................................", "..............................................I...", "...............................................X..", "..................................................", "..................................................", "..................................................", "....X.............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "X.................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................................I....", "..................................................", "..............................................I...", "X.................................................", "...........I......................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................X........................", "..................................................", ".................................................."}

    Returns: {56, 116, 166, 170, 174 }

  66. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..........................X.......................", "......................X...........................", "..................................................", "..................................................", "..................................................", ".........................X........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........X.........................................", "..................................................", "..................................................", "...........................................X......", "..................................................", "..................................................", "........................................I.........", "..................................................", "..X...............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..........X.......................................", "..................................................", ".........................................X........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...............X.................................."}

    Returns: {138 }

  67. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........................I.........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".......................I..........................", ".......................I..I.......................", ".................I................................", "..................................................", "..................................................", "..................................................", ".......................I..........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............I........................X..........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................................I....", "..................................................", "I.................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {62, 88, 90, 92, 96, 104, 116, 146, 184 }

  68. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..I..I............................................", "..................................................", "..................................................", "..................................................", "..........I.......................................", "..............................................I...", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...................X..............................", "..................................................", "............................................I.....", "..................................................", "..................................................", "..................................................", "........................I.........................", "....................I.............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................I........................", "..................................................", "..................................................", ".................................................I", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {20, 26, 44, 92, 100, 134, 144, 176, 188 }

  69. {".......................X.................I........", "..................................................", "..................................I...............", ".................................X................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............X....................................", "..................................................", "..................................................", "..................................................", "..................................................", "............................................X.....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....X.............................I...............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................................X...", "..................................................", "..................................................", "..................................................", "..................................................", "...............................................I..", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {76, 90, 148, 184 }

  70. {"..................................................", ".............................X....................", "..............................................X...", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................X.................", "..................................................", ".X................................................", "..................................................", "..................................................", "...............................................I..", "..................................................", "...X..............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................I...............................", ".......................X..........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "............I.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........................................X......", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {100, 114, 172 }

  71. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................X................................", "..................................................", "..................................................", "..I...............................................", ".........................................X........", "X.................................................", "..................................................", "......X...........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........X........................................", "..................................................", "..................................................", "..................................................", "..........X.......................................", "..................................................", "..................................................", "...................................X..............", "..................................................", "..................................................", "..................................................", "..................X...............................", "...................I..............................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {48, 132 }

  72. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................I................................", "..................................................", "............................I.....................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........................................I.........", "...............................................I..", "..................................................", "..................................I...............", "..................................................", "..................................................", "..................................................", "...............................I..................", "..................................................", "..................................................", "..................................................", "...............................I..................", "..................................................", "..................................................", "........................I.........................", "..................................................", "...................I..............................", ".........................................I........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {48, 74, 112, 120, 128, 132, 138, 150, 154, 166 }

  73. {"..................................................", "....................................X.............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..........I.......................................", "..................................................", "...................I..............................", "..................................................", "..................................................", "..................................................", "..................................................", "...X.........................I....................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................I................", "..................................................", "............I.....................................", "...X..............................................", "..................................................", "..................................................", "..................................................", "......................X...........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................X.............................", ".................................................."}

    Returns: {52, 74, 104, 128, 136 }

  74. {"..................................................", "..................................................", "..................................................", "....................X.............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....X................X............................", "..................................................", "..................................................", "..................................................", "..................................................", "....................................X.............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..........................X.......................", "..................................................", "..................................................", ".........X........................................", "..................................................", "..................................................", ".......................................X..........", "..................................................", "..................................................", "............X..................................X..", "..................................................", "..................................................", "..................................................", "..................................................", "..............................X...................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: { }

  75. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................I...................", "......I...........................................", "......X...........................................", "..................................................", "..................................................", "..................................................", "..................................................", "......................I...........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...I..............................................", "..................................................", "..................................................", "................................................X.", "..................................................", "........X.........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................I...............................", "..................................................", "..................................................", "............................X.....................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................X................................"}

    Returns: {32, 72, 92, 128, 150 }

  76. {"..................................................", "..................................................", "..................................................", "..................................................", "..................I...............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "X.................................................", "..................................................", ".....................X............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...I..............................................", ".........................................I........", "..................................................", "..................................................", "..................................................", "..................................................", "................I.................................", "..................................................", "..................................................", "..................................................", "...................................X..............", "..................................................", "..................................................", "..................................................", "..................................................", "......................................X...........", "..................................................", ".........I.............X..........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {48, 90, 102, 124, 170 }

  77. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".......................I..........................", "..................................................", "..........................I.......................", "..................................................", ".....................................X............", "..............................X...................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................I................", "..................................................", "..................................................", ".................X................................", "..................................................", "..................................................", "..................................................", "...................I..............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................X.", "..................................................", "..................................................", "..................................................", "..................................................", "....................X.............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..........................X......................."}

    Returns: {60, 70, 108, 122 }

  78. {"...............I..................................", "................................I.................", "..................................................", "..................................................", "..................................................", "............I.....................................", "..................................................", "..................................................", "..................................................", "................................................X.", "........I.........................................", "..................................................", "..................................................", "..................................................", "..................................................", "...............I..................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................................I........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "............X.....................................", "...........................................X......", "..................................................", "..........................I.......................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {34, 44, 54, 64, 98, 144, 170 }

  79. {"..................................................", "..................................................", "..................................................", "......X..................I........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......................................X...........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................I.................................", "..................................................", "...............I..................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......................X...........................", "..................................................", "..................................................", "..................................X...............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........................................X......", "..................................................", "........X.........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................X................."}

    Returns: {60, 70, 88 }

  80. {"..................................................", "..................................................", "..................................................", ".....X............................................", "..................................................", "..................................................", "..................................................", "............................................X.....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "............X.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "...................................X..............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................X........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................X....................", "..................................................", "..................................................", "..................................................", ".................I................................", "..................................................", "..................................................", "...........................................X......", "..................................................", "..................................................", "..................................................", "..............I...................................", "..................................................", "..................................................", ".....................I............................"}

    Returns: {116, 130, 144 }

  81. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...I..............................................", "..................................................", "........I.........................................", "..................................................", "..................................................", "..........................................X...I...", "..................................................", ".................................................I", "..................................I...............", "..................................................", "..................................................", "..................................................", "...................................I..............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................................I....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................I................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................I.................", ".................................................."}

    Returns: {26, 40, 104, 114, 136, 144, 158, 172, 200 }

  82. {"..........................X.......................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....X.............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......X...........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".......X..........................................", "..................................................", "..................................................", "..X...............................................", "..................................................", "...................X..............................", "..................................................", ".......................X..........................", "..................................................", "..................................................", "..................................................", "..................................................", "...............................................X..", "...............X..................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....X............................................", ".................................................."}

    Returns: { }

  83. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................X.", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................I....................", "..................................................", "..................................................", "..................................................", "..................................................", ".......................X..........................", "..................................................", "...................I..............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........X......................................", "..................................................", "..................................................", "..X..............I................................", "..................................................", "..................................................", "..................................................", "................I................................I", "..................................................", ".............X...................................."}

    Returns: {88, 108, 136, 156, 208 }

  84. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................X.", "......................................X...........", "..................................................", "..................................................", "...................I..............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........I....................................X....", "...........................X......................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................X................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...X..............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........X......................................", "..................................................", "..................................................", "..................................................", "..........................................I.......", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {58, 80, 178 }

  85. {"..................................................", "..................................................", "..................................................", "...............I..................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................X.", "..............................I...................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................................I........", "............................I.....................", "..................................................", ".............................................I....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...............................I..................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................................X...", "..................X...........................I...", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {40, 94, 108, 130, 142, 168, 182 }

  86. {"..................................................", "......X...........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................X.................", "..................................................", "..................................................", "..................................................", "..........................................I.......", "..................................................", "..................................................", "..................................................", "..................................................", "...................................X..............", "..................................................", "....................................I.............", "..................................................", "..................................................", "..................................................", "..................................................", "..........X......X................................", "..................................................", "................................I.................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....X............................................", "..................................................", "..........X......................................."}

    Returns: {120, 134, 152 }

  87. {"........................X.....I...................", ".......I..........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........I......................................", "..................................................", ".....I............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..I...............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...................................I..............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....................X............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....X............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....I............................................", "..................................................", ".................................................."}

    Returns: {20, 42, 50, 60, 100, 124, 172 }

  88. {"........................I.........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....I..........................................I.", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....I.............................................", "..................................................", "..................................................", "..........................................I.......", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................I..........X.....", "....X.............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................................I....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".I................................................"}

    Returns: {26, 48, 86, 128, 140, 166, 188, 210 }

  89. {"..................................................", "..................................................", "..................................................", "..................................................", ".......X..........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......X...........................................", "..................................................", "..................................................", "...............I..................................", "..................................................", "..................................................", "..................................................", "..........................................I.......", ".........I........................................", "..................................................", "..................................................", "..................................................", "........I.........................................", "..................................................", "................I.................................", "..........................................X.......", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................................I.............", "..................................................", "..................................................", "..................................................", "..................................................", "........I.........................................", "..................................................", ".................................................."}

    Returns: {70, 78, 90, 96, 130, 170, 182 }

  90. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......................................I...........", "..................I...............................", "..................................................", "..................................................", "..................................................", "..................................................", ".................I.......X...............I........", "..................................................", "..................I...............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....................................I............", "..................................................", "..................................................", "..................................................", "..I...............................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".......................I..........................", "..................................................", "..................................................", "..I..............................................."}

    Returns: {72, 82, 86, 118, 134, 148, 176, 186, 198 }

  91. {"..................................................", "......................................I...........", "..................I...............................", "...........................................X...I..", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......................................X...........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....................X............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....X......I.....................................", "..................................................", "..................................................", "..................................................", "......X...........................................", "..................................................", "...........................I......................", "..................................................", ".................................................."}

    Returns: {44, 84, 104, 182, 208 }

  92. {"..........................I.......................", "..................................................", "............................................II....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................II............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................I....................", "..............................................I...", "..................................................", "..................................................", "..................................................", "..................................................", ".......................I..........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........................................I.........", "..................................................", "..................................................", ".....................I............................", ".................................................."}

    Returns: {56, 70, 80, 114, 118, 146, 150, 160, 186, 192 }

  93. {".............................X....................", "..................................................", "..............................I...................", "..................................................", "..................................................", ".........................I........................", "..................................................", "..................................................", "..................................................", "............................................I.....", "..................................................", "..................................................", "..................................................", "...................................X..............", "..................................................", "..................................................", ".............................................I....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........................X......................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".......................................I.I........", "..................................................", "...........................I......................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {64, 74, 110, 126, 172, 174, 190 }

  94. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".I................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................X.", "..................................................", "................................................X.", "..................................................", "................................X.................", "..................................................", "..................................................", "..................................................", "........................X.........................", "..................................................", "............X.....................................", "..................................................", "..................................................", "..................................................", ".....................X............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................X...............................", "..................................................", "........................................X.........", "..................................................", "..................................................", "...................................X..............", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {26 }

  95. {"........X.........................................", "..................................................", "..................................................", "...............................................I..", "..................................................", "..................................................", "..................................................", "................................................X.", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................I.", "..................................................", "...............................................I..", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".......................X..........................", "..................................................", ".........X........................................", "..................................................", "..................................................", "..................................................", "......I...........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................I...............................", "..................................................", "..................................................", "....I............................................."}

    Returns: {78, 114, 134, 162, 198, 210 }

  96. {".........X........................................", "..................................................", "....................................X.............", "..................................................", "..................................................", ".................I................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................................I.", "..................................................", "..................................................", "..................................................", "................................I.................", "...........................I......................", "..................................................", "..................................................", "...........................I......................", "..................................................", "...........................I......................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................I", "..................................................", "..I...............................................", "..................................................", ".................................................."}

    Returns: {48, 90, 96, 100, 110, 142, 192, 196 }

  97. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".......................I..........................", "..................................................", ".....................I............................", "..................................................", "..................................................", "..................................................", "........I.........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....I............................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................I....................", "..................................................", "..................................................", "...............................................I..", ".I................................................", "..................................................", "..................................................", "........I.X.......................................", ".....................................I............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {46, 68, 76, 96, 120, 126, 138, 158, 178 }

  98. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........X.........................I..............", "..................................................", "..................................................", "..................................................", ".........................................I........", "..................................................", "..................................................", "........................................I.........", "..................................................", "..................................................", "..................................................", "......X...........................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................X.............................", "...............X..................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".I............................I...................", "..................................................", "..................................................", "..................................................", "..................................................", "...................X..............................", ".................................................."}

    Returns: {92, 118, 124, 172, 210 }

  99. {"................I.................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................................X.............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "X.................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".X................................................", "..................................................", "..................................................", "..........................................X.......", "..........X.......................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "............................X.....................", "..................................................", "...........................................I......", "..................................................", "..................................................", "...............................................X..", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................X", "..................................................", "..................................................", ".................................................."}

    Returns: {36, 164 }

  100. {"..................................................", "..................................................", "...............................I..................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....................I............................", "..................................................", "..................................................", "..................................................", ".................................X................", "..I...............................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................I.............................", "..................................................", "..................................................", "..................................................", ".............................I....................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................X................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................X...................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......X...........................................", "..................................................", ".......................X..........................", "..................................................", ".................................................."}

    Returns: {34, 72, 82, 102, 110 }

  101. {"..................................................", "..................................................", ".......I..........................................", ".................................................I", "..................................................", "..........X.......................................", "..................................................", "..................................................", "..................................................", ".........................................X........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........................................I.........", "..................................................", "..................................................", "................................................X.", "............................X.....................", "..................................................", ".X................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................I.I..............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {22, 108, 158, 170, 188 }

  102. {"..................................................", "..................................................", "..................................................", "...............................X..........I.......", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "......................I......................I....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....................................X............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "X.................................................", "..................................................", ".........................................I........", "................................I.................", "..................................................", "..................................................", "..................................................", "............X................................I....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {76, 118, 124, 168, 178, 190 }

  103. {"..................................................", ".......................X..........................", "..................................................", "...................................X..............", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".....................X............................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........I......................................", ".X................................................", "...........X......................................", "..................................................", "..................................................", "..................................................", "..........................I.......................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................X.............................", "..................................................", "..................................................", "......................................X...........", "..................................................", "..................................................", "..................................................", "..................................................", "..........................................X.......", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {70, 112 }

  104. {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........X........................................", "..................................................", "..................................................", "..................................................", "..................................................", ".........................................X........", "..................................................", "..........X.......................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..........................X.......................", "..................................................", "..................................................", "..................................................", "...................X..............................", "..................................................", ".....................I.X..........................", "..................................................", ".........I........................................", "............X.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................................X.................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................."}

    Returns: {78, 102 }

  105. {"..................................................", "..................................................", "..................................................", "..................................................", ".....I............................................", "..................................................", "..................................I...............", "..................................................", "..................................................", "..................................................", "............I..................I..................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "........................I.........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...............................I..................", "...............I..................................", ".......................I..........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "................I.................................", "..................................................", "..................................................", "..................................................", "...................I..............................", ".................................................."}

    Returns: {22, 48, 86, 92, 110, 134, 136, 142, 160, 168 }

  106. {".X"}

    Returns: { }

  107. {"X", "I"}

    Returns: {6 }

  108. {".I.X.", ".....", "...IX", ".....", "....."}

    Returns: {6, 14 }

  109. {"IXX", "...", "...", "..X", "...", "X.X"}

    Returns: {4 }

  110. {"..I", "II.", ".II", ".I.", "..I"}

    Returns: {6, 8, 10, 12, 12, 14, 16 }

  111. {"X.", ".X", "..", ".X", "..", ".X", "..", "..", "..", "XX", "..", "X."}

    Returns: { }

  112. {".......", ".......", ".......", "X......", ".......", ".......", ".I.....", ".......", ".......", ".......", ".......", "......."}

    Returns: {18 }

  113. {"..", "..", "XI", "..", "..", "..", "..", "XI", ".X", "II", ".."}

    Returns: {10, 20, 26, 28 }

  114. {"........I.....", "..............", "..............", "..............", ".......II.....", "..............", "..............", "..............", ".....X........", ".............X"}

    Returns: {20, 28, 28 }

  115. {"...........X.......", "...................", "...................", "...................", "...................", "...................", ".......X...........", "...................", "...................", "...................", ".......X...........", "...................", "...................", "...................", "..................."}

    Returns: { }

  116. {".", ".", ".", "I", "I", ".", ".", "X", ".", "X", ".", "I", "X", ".", ".", "X", ".", ".", ".", "."}

    Returns: {10, 12, 28 }

  117. {".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", "....X..................", ".......................", ".......................", ".......................", ".......................", "......................."}

    Returns: { }

  118. {".............", ".............", "X....X.......", ".............", ".............", ".............", ".I...........", ".............", ".X...........", ".............", "..........X..", ".............", ".............", "..........X..", ".............", ".............", "....X........", ".............", "............."}

    Returns: {18 }

  119. {"..", "..", ".X", "..", ".X", "..", "..", ".X", "..", ".X", ".I", "..", "..", ".X", "..", "..", "XX", "..", "..", ".X", "..", ".X"}

    Returns: {26 }

  120. {"............I.................", "..............................", "..............................", "..............................", "..............................", "............I.................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", ".......I......................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..................I.......I...", "...I...X......................", "..............................", ".........................I....", "............I................."}

    Returns: {28, 38, 52, 68, 76, 88, 102, 104 }

  121. {".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", "...............X.........", "X........................"}

    Returns: { }

  122. {".....XII............"}

    Returns: {16, 18 }

  123. {".................", ".............I...", ".................", ".................", ".................", ".................", "...............X.", ".................", ".................", ".................", ".................", ".................", ".................", "....X............", ".................", ".................", "..........X......", ".................", "..............X..", ".................", ".................", ".......X.........", ".................", ".................", "....X............", ".................", ".................", ".................", ".................", ".X.....X.........", ".................", ".................", "..X..............", ".................", "................."}

    Returns: {32 }

  124. {"....................", "....................", "....................", "....................", "..........X.....X...", "....................", "....................", "....................", "....................", "..X............X....", "....................", "....................", "................I...", "....................", ".......X............", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "...X................", ".X..................", "....................", "...................."}

    Returns: {60 }

  125. {"......................................", "...................II.................", "..................I...................", "......................................", "......................................", "......................................", "......................................", "......................................"}

    Returns: {44, 46, 48 }

  126. {"..", "I.", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "I.", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", ".."}

    Returns: {6, 34 }

  127. {".......................", ".......................", "..........X............", ".......................", "......X................", ".......................", ".......................", ".......................", ".......................", ".......................", "....................I..", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", "......................."}

    Returns: {64 }

  128. {"......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", ".....X", "......", "......"}

    Returns: { }

  129. {".....................................I..", "..........................I.............", "..................................I.....", "........................................", "........................................", "........................................", "..............I.........................", "..........I.............................", "...X..I.................................", "..........................I.............", "........................................"}

    Returns: {32, 40, 48, 72, 74, 90, 96 }

  130. {".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", "...........I.....", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", ".................", "................."}

    Returns: {42 }

  131. {"....X........I..I........I.......I..X.....I.X.X..I"}

    Returns: {30, 36, 54, 70, 90, 106 }

  132. {".", ".", ".", "X", "X", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "X", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "X", ".", ".", ".", ".", ".", "X", "X", ".", ".", "X", ".", "X", "X", ".", ".", "."}

    Returns: { }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: