Statistics

Problem Statement for "Bikeroute"

Problem Statement

Joe Freshman, the Stanford student, is trying to find the quickest way to get to his class in the morning. His preferred mode of transportation is a bicycle, and different terrains yield different travel times. Given a String[] map which represents the terrain, return the amount of time required for him to reach his class, using the shortest path (in terms of time). Joe may not travel diagonally.

The map will be comprised of the following characters:

@ (at sign) represents the starting and ending location of travel (they should not be considered in the time calculation)

* (asterisk) represents a road, which takes him 1 unit of time to travel

- (dash) represents a sidewalk, which takes him 2 units of time to travel (due to congestion)

. (period) represents grass, which takes him 5 units of time to travel

~ (tilde) represents dirt, which takes him 10 units of time to travel

X (capital letter X) represents a location he cannot travel on (due to a building, construction, etc.)

However, Joe Freshman has also been warned by his friend John Senior, that the Stanford Sheriff's Office has been ticketing bicyclists. Due to a recent city ordinance, biking is only allowed on streets and sidewalks. Therefore, Joe must avoid traveling in any grass or dirt map location that is immediately adjacent to any police officer (including diagonals). Police officers will be designated on map by the capital letter 'P', and that location cannot be traveled.

If it is impossible for Joe to get from the starting point to the ending point (due to untravelable locations or police), return -1.

Definition

Class:
Bikeroute
Method:
fastest
Parameters:
String[]
Returns:
int
Method signature:
int fastest(String[] map)
(be sure your method is public)

Notes

  • If it is impossible for Joe to get from the starting point to the ending point (due to untravelable locations or police), return -1.
  • Joe is allowed to travel over a location designated with the '@' symbol even if it is adjacent to a police officer.

Constraints

  • map will contain between 5 and 50 elements, inclusive
  • each element of map will contain between 5 and 50 elements, inclusive
  • each element of map will contain the same number of characters as every other element of map
  • each element of map will only contain the characters (quotes added for clarity) "@*-.~XP"
  • the character '@' will appear exactly twice in map

Examples

  1. {"@....", ".....", ".....", ".....", "....@"}

    Returns: 35

  2. {"@****", "~~~~*", "~~~~*", "~~~~*", "@****"}

    Returns: 11

  3. {"@@***", "~~~~*", "~~~~*", "~~~~*", ".****"}

    Returns: 0

  4. {"@***X", "~~~~X", "~~~~X", "~~~~*", "@****"}

    Returns: 30

    The fastest path, along the road, is blocked off. The second fastest path is straight down along the left side through the dirt.

  5. {"@***X", "~P~~X", "~~~~X", "~~~~*", "@****"}

    Returns: 36

    The straight dirt path is now blocked off, since Joe can't travel on the dirt adjacent to a police officer. The next best path is (from the top left corner) to go 3 spaces to the right, all the way down, and then continue along the road.

  6. {"@***X", "~P~~*", "~~P~*", "~~~~*", "@****"}

    Returns: -1

    The locations of the two police officers along with the X block all paths between the target locations.

  7. {"@X***", "X~~~*", "~~~~*", "~~~~*", "@****"}

    Returns: -1

  8. {"@****", "~P~P*", "~~P~*", "~~~~*", "@****"}

    Returns: 11

  9. {"@*************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "*************************************************@"}

    Returns: 97

  10. {"@*************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*", "**************************************************", "*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "**************************************************", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX@"}

    Returns: 1273

  11. {"@************************************************", "~************************************************", "~~***********************************************", "~~~**********************************************", "~~~~*********************************************", "~~~~~********************************************", "~~~~~~*******************************************", "~~~~~~~******************************************", "~~~~~~~~*****************************************", "~~~~~~~~~****************************************", "~~~~~~~~~~***************************************", "~~~~~~~~~~~**************************************", "~~~~~~~~~~~~*************************************", "~~~~~~~~~~~~~************************************", "~~~~~~~~~~~~~~***********************************", "~~~~~~~~~~~~~~~**********************************", "@~~~~~~~~~~~~~~~*********************************"}

    Returns: 150

  12. { "@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "~************************************************@"}

    Returns: 265

  13. { "@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "..................................................", "--------------------------------------------------", "~************************************************@"}

    Returns: 200

  14. { "@********************~****************************", "~~*~*~*~*~*~*~*~*~*~*~****************************", "~**~*~*~*~*~*~*~*~*~*~****************************", "~~~~*~*~*~*~*~*~*~*~*~****************************", "~****~*~*~*~*~*~*~*~*~****************************", "~~~~~~*~*~*~*~*~*~*~*~****************************", "~******~*~*~*~*~*~*~*~****************************", "~~~~~~~~*~*~*~*~*~*~*~****************************", "~********~*~*~*~*~*~*~****************************", "~~~~~~~~~~*~*~*~*~*~*~****************************", "~**********~*~*~*~*~*~****************************", "~~~~~~~~~~~~*~*~*~*~*~****************************", "~************~*~*~*~*~****************************", "~~~~~~~~~~~~~~*~*~*~*~****************************", "~**************~*~*~*~****************************", "~~~~~~~~~~~~~~~~*~*~*~****************************", "~****************~*~*~****************************", "~~~~~~~~~~~~~~~~~~*~*~****************************", "~******************~*~****************************", "~~~~~~~~~~~~~~~~~~~~*~****************************", "~********************~****************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "*~*~*~*~*~*~*~*~*~*~*~****************************", "***~*~*~*~*~*~*~*~*~*~****************************", "*~~~*~*~*~*~*~*~*~*~*~****************************", "*****~*~*~*~*~*~*~*~*~****************************", "*~~~~~*~*~*~*~*~*~*~*~****************************", "*******~*~*~*~*~*~*~*~****************************", "*~~~~~~~*~*~*~*~*~*~*~****************************", "*********~*~*~*~*~*~*~****************************", "*~~~~~~~~~*~*~*~*~*~*~****************************", "***********~*~*~*~*~*~****************************", "*~~~~~~~~~~~*~*~*~*~*~****************************", "*************~*~*~*~*~****************************", "*~~~~~~~~~~~~~*~*~*~*~****************************", "***************~*~*~*~****************************", "*~~~~~~~~~~~~~~~*~*~*~****************************", "*****************~*~*~****************************", "*~~~~~~~~~~~~~~~~~*~*~****************************", "*******************~*~****************************", "*~~~~~~~~~~~~~~~~~~~*~****************************", "*********************~****************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "@*************************************************"}

    Returns: 124

  15. {"@*************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*", "**************************************************", "*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", "**************************************************", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@"}

    Returns: 205

  16. {"**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "*********~~~~~~~~~~~~~~~~~~~*~~~~~~~~~************", "*********~*****************X*********~************", "*********~*~~~~~~~~~~~~~~~*~~~~~~~~~*~************", "*********~*~***************X*******~*~************", "*********~*~*~~~~~~~~~~~~~~~*~~~~~*~*~************", "*********~*~*~*************X*****~*~*~************", "*********~*~*~*~~~~~~~~~~~*~~~~~*~*~*~************", "*********~*~*~*~***********X***~*~*~*~************", "*********~*~*~*~*~~~~~~~~~~~*~*~*~*~*~************", "*********~*~*~*~*~*********X*~*~*~*~*~************", "*********~*~*~*~*~*~~~~~~~*~*~*~*~*~*~************", "*********~*~*~*~*~*~*******~*~*~*~*~*~************", "*********~*~*~*~*~*~*~~~~**~*~*~*~*~*~************", "*********~*~*~*~*~*~****@~*~*~*~*~*~*~************", "*********~*~*~*~*~*~*******~*~*~*~*~*~************", "*********~*~*~*~*~*~~~~~~~~~*~*~*~*~*~************", "*********~*~*~*~*~***********~*~*~*~*~************", "*********~*~*~*~*~~~~~~~~~~~~~*~*~*~*~************", "*********~*~*~*~***************~*~*~*~************", "*********~*~*~*~~~~~~~~~~~~~~~~~*~*~*~************", "*********~*~*~*******************~*~*~************", "*********~*~*~~~~~~~~~~~~~~~~~~~~~*~*~************", "*********~*~***********************~*~************", "*********~*~~~~~~~~~~~~~~~~~~~~~~~~~*~************", "*********~***************************~************", "*********~~~~~~~~~~~~~~~~~~~~~~~~~~~~~************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "**************************************************", "*************************************************@"}

    Returns: 104

  17. {".............................", "--------------------@--------", "-----------------------------", "XXXXXXXXXXXXXXXXXXXXXXXX@XXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "-----------------------------"}

    Returns: 10

  18. {"~.-~*-**---~.~-~-..*...XX..**-.*-.*-", "*.-.--~*~-~-X-~---X-X-*X*.-.-*~X..-.", "**--~..~-~*.--~*.-~----XX~*~*-X*-X*-", "-XX*-X--**~*@.-~~~~--**-*~*~~--~..*X", "*-~-*-.~-~.*X~.-.-~~.-*.-.X-~.*~.~*~", "~*..~X.-..*.~*--*-X~..~-*X.*.*.*~.*.", "-.*-~.--.~X*-~*X**.*-~--X--*-.-*~~~~", "*~XX.-*~---X*-*.-*.*-*~.--.~~**X-**-", "-.~*-X*~~X-X--.--~*~-*-.~..*~X~-*.~.", "*~-*~.@..~--*~-..*---X-.**X-.*X-*--X", "**-..**-XX.*~..*~X~~~--*-.-*.---..--"}

    Returns: 26

  19. {".*--**---..X*-.-~.*.*", "X-------X-**.*..-.*~X", ".-*.~*.*~*.----.---X~", "..~X~**.--.*~.X*@~-~*", "-~***--~~-***X*X-*-~.", "---*..*~~.~-@X~~*-~.*", "*---*~~X~-X~*~~.*X-~-", "..-.-X-*~--~.*-.X*-*.", "*~~.***~~~*--X*~*X..*", "*.-*~~*...~~.*.--~*-*", "-.X--~.*.--~XX~.-.~.-", ".**-.*XX--~~~-.X-.**.", "*.-~..~~~*~XX*-**XX--"}

    Returns: 17

  20. {"X~--~*~~.*.~~.~-~~*---~-X-*.*-~~-.*", "-~~~..X.----.~*~--X-~..~-~.~X-*-.*-", "~~.-~X.-.--X*~~~~-..*.*~X--~.--X~-.", ".~.*~X*-X.X~-*-~.~~-.~~X*~~--~~*.X*", "~-X*-*.*----~-*X~~-.~-*--..X..-**X-", "-~*-.-~.*-.~.*-~--*X.~-**--*.*.--X*", "X..~~~-@X~~~.-*~~.-X.*X-*X-.-~~.-*X", "-~~-*~~*~.~X-----**..***~*-.~.-*X*-", ".XXXX~.~-*-*X.~-X-*--X~-~XX-~*-*.X-", "---.---~~~*.*-~-~~*.X**X.-~.~~--*--", "X.-*~.*-**-X~.---~.*X~.-.--~-..-X*-", ".--X.-X*-~--.**~.~X~.-*.-*X~**-..*X", "*--.X...~--X-**~~-.XX~.--*..*-~-.~-", "-~~X.X--.-*..-*~~-*-~*..~-.-***--.-", ".~XX~--.-~*--.----***--.X-*X~~-*-*-", "X~-X*~XX**-~**X-*-..~~..~.~*X*..*--", "X*---X*-.*X.X*~X-~~X.*~*--X*--.-.-.", "--*~~*.-X~**~--~*X-X*--~*-*..~*-X~-", "--~.~.~-*-*-.~..-X~*~*.-..-~*X.-...", "~**--*XX-X---*X---~.-****~~*-*~.~-~", ".~.*.---~---.-...X~--X--X*~X.-..*-~", "-~-*~~X*.~*..--~X~*.-.*..-.~~.-*XX.", "*~-.-~.*--*~.*.*.*-~-*X-.--~X--~*X*", "..*-.X**-~~*.~*-~~-.-~.~~-~X~~.~~*.", ".--~~-.-*-.***~X~-~*-~**X*~X.----.X", "*----*-X*.*.-*~~*~~X*-*~-.-~~----*.", "~~.X..*-*-.-~.X*--~-X*---.-~~-~~-*.", "--~X~X*~.*X*~..~.-*-X.*--.~X.X*-~~.", "----..*-----*~--.---X.*~-~~-*---.*.", "-X~~--*--~*.~~~X.~~**~--**----..--.", "*~*-*-.--*~X*----*.----X---.---.-..", "**-~.*X~-~---**~~**-**--X-...-*~--~", "*~.*.***~*-~*.X*.-~~~-.--~.XX-.~X.X", "-X.-.~-.~-**-~-..~-.~*~*X--**--X~*.", ".**X~-.X--XX**--~---X~.~~---.X~X.~*", "-.**~-*X--*-*X-~**---X.---..-X.-**~", "*-*~--*~-~~**.~-.*...X.-*------~~-~", "~.*--.X*~---.X~-~*-~****.-.*.*.-~*-", "..-~-.~*.-~**-**-~~*.X.X~~X-*~.-.X.", "~..X-~*-~*..~*..*.X---...~X--~-~--*", ".~---~..~.X....--~-*-*.~~*.-.X*..-*", "-.~-*@.~-.X-.X.X~~--.~*-.*XX*X.-X*-"}

    Returns: 91

  21. {"*---~~X....", "-*..*X-.*X.", "~-*.*.-.*--", "*X*.*-.X*--", "*--~-~-~.@.", "X-~..-~*.X-", ".*~*~~.---~", "X*X**--*-.*", "*-~*~.~X--*", "~.~**.*..*~", ".--~.*~~-.*", "~X-*-.-X-~-", "X-~--.~.-.~", "**.-*.~*X~X", ".*~X-~*--*-", "-XXX**~~~-.", "**-*~-*~~.-", "-**-.--~-.-", "-*.X--*-.X-", "~*~-~.~X.X*", "--@X~*~..~*", "~..-**.*--X", "-.-.~~-*~X*", "---~--X-XX-", "*-X~X*~.***", ".-~---~-*-*", "X*-..~X~-*X", "..~~*--*~~.", "--.-*--.~-.", "~-~-.---**X", "-~~.~.-.*X~", "X-.~--.-*--", ".**.--..*.*"}

    Returns: 54

  22. {"**.~X..X..-~.***.***-~.-*~X~*..~---~-X*~-.~.*-.~.*", "*X~-X~XX-*-..*X-.*-.--*..-*~--...X~X~..X.*.XX-~~X-", "~--*~-~~-.X**~-~-~--**-@.-*.*X~**-.-*-.~-.-..-*~X*", "~..-~*.~.*-.**-.X.~-~-~~-.-.-~-.*~-**.*~~-.--*.~*.", "-*X--.X**-.~..*~.~~-X...-*-*~---..~*X~-X~-~.--**--", "~.~-.*--~-X*-**--~*.~-.*.-~-.-..-XX-X.-.*X-.-.*.*-", "~~X...-.X-~*-*--~.~-.***.~**.-~-~--*~-~-~~-~X*.~--", "-X---.X.*.-.-..-~.-.*-.*-~*-*.~X~-X.**--.-XX~--.--", "--~--X-*-*~-.*-.*--*~.---~.-~*--*-X.-*X~--*~---~..", "~~X.--~*-*.~~~*--*~X-.~-~-X-~--*~XX~*~.-*-.-*--**X", "*~*~*~*.-*...-XX-.X~-X-.X*.-***~~---.-XX--.X--X--.", "**.~*~*X*-.~--.-~*.~.~~.-X--.X..-*.~---.~-~--~.*--", "-~*.--X-~***~--~--~**X*...~X-~-.-*-*-.-~-.-~.--~~.", "----~.*.*-XX--~..--~*X-~-X-X-~-.*-**.**.-*X-X.*X.~", "**--~~--~-.-~X.XX-~-~*-*-~~-.-~X--...--.---~-----X", ".-*-X~~~~.X.~-*X.X*.X.~**-**~~.~*~..~.~~.~~-*-.-..", "*~~---~.~--.~*.--*-*~X*X*~**-**X~*~---*~~.***-~-~-", "X~X*.*~X-.~-*~..-~-.-~*~-~X~**.*X~~.-~~.*.-.*~*X~-", "*X*-*....*~~--X-X-~*..X---*~~X~.--.-*--..~.-*~X.**", "-~.-*.~**~~~.-~~--.-*-*-.*~.*~X~.X~~~*-*~*--X.X.*.", "-.~*-.-*--XX~-*.*.*~--*X~.**~*.*.~~.~---**-~*..~-X", "~*~-~*--*.-----.*.X*-*~-***X-.*-X...X*.-*--X.--*X.", "~X--.~..~X---*~X.*-~.*~.---XX.~*--~.-.~.--.....X-.", "*.***.~~X~~-~X-~-**..~~.~--~*~-.*-*-.-X*~X~*-.X-~~", "--.XX.~-*-~.~---.-.~X-*XX*-~*-**~-XX-~~-*...~.-*.-", ".X*.-*.--.--.X-~--~.-.-.-~~-X*-*.-.--~-~*.~.~*-.X.", "*-X-~*X~-~~**~X~~X~.X.-X---~...*.~~-~~.~*X*~-~*--~", "--X~--*-~~.XX~X~-*~--*.--~~-~~-.X~.*.*.-X*.X.-~~*X", "~.X-.-..X--.X.*X--~*-*.X~*X...**XX*~-~-.--*X-.~.-.", "*X*X~~*-*.@.-~~~*--~-.*-~.X~---.**.*X.*~--.-~-X..*", "*..*---.*.~*~***~.~*-.X~-~.X.-~-~X~-.~-*--~-X~-~--", "X-X-*--*~-*.**~.*.--*-*~-...X-..*-*-***....~.-..--", "*.-*-~.X..~X.*-XX--..~~.-~~.X~~*-*.*-*-X-...-.*-~*", "~---~~*-*X..*--..*.~--~*--.~.--X*-*-~..-X-*~*~X~*~", "*-~-.-.-*.*..~X*-**-~~*-..~.*~-~.-X-**-X*.-..*-.X-", "-*.*-X..~.--.*.*~-.~X.-~~.*-X~---~*..~**-....*.X..", "---..*-~X--X*.*-*--~~~~-.-.*.X.X**.*X-.-X-X**X*X-.", "~..~*~~**.****-~-.*~~.-~X~X-~.X-.---**-*.-*-.-*~~-", "-~-.---~.~*X--*X-~.*--*..*-X-~*..~~--X*-.-.*-**--~", ".**~X~XX-*-X---X~.*--.~-~*~~-*.*~~..-*-*XX--**.~X~", "~.~*~~--~*-~XX*.---.*~~*-~-..-*~X.X~-*-X.X-*.-*~--", "-~*X~-~..-**.~-.-X..*X.-*X*.-.-**.--*X-...~-*---X-", "~~~--~-.~-~~-X---*-*~-*-~*.*.*.*-~*..XX--*~*~-X-*-", "~*-~**~X--~--*~-*~X-.-~~-~.-~~~.*~-*.---X-~-~*~.X.", "--.--..~.~-***~..**~-.*X~**X..*~-~**X...---***-~~-", "..X~-*~-~~-~**-*--*.*-.~-X-.~X--*~~X..X.*--~*~-.~X", "*--~.X*X*~*..~*-*-**.~-***~**X*-*--.~**.~---~...~~", "X.-~*.~---*-~*~--.*-X~..---*.~-.*-~-.~~-*---*-.-~*", "-~..*~-~~*-***~.-**~-XX~*~*~-X-.--~.XX---*..--.---", ".-~-XX*.*.-~*--~-~-X.-~X.~X.*.~.-*-~--.X-X-*~---*-"}

    Returns: 109

  23. {"*-~*---***~.**-*XX--X.X-X-~-~-~-~-~--*~X.~~.-~***X", "-.*-~.-~.-~*X.-*~~-~*-.~..X~~X*.X--..~*-~.~-***~*X", ".~X~-*X~-.~*-.~~~~.X.--~~~--..~--*.*-*~-~~*.~*~-~-", "*.--.--.*~~*..--*..X~-~-.*--X...X---.X*.--~~~*..*~", "--.-~-.*~~.~~-*...--~X~-....~*---*.~X~--*~.-~....~", "*X*-**-~~~~-~*X..~~.X..XX~..*~~~*X*~*X~~*----*~*-.", "***--*~**.X*-X.*--.---*X--***-~.--.~X.*-~...-*~~-.", "-XX~-*~-.*~~.**X-~-~*.-....-~X-.*.*.-.~**~--*~**X*", "X.--.***~~-.X..--X-*~-X.X~-~~--.-X*.X~-~.XX*~*-~-X", "~-.~.---@~*-*.*--X--~-*..*-***--~*...*~**.-----.~~", ".~X**---XX*.-*~-.....~X*.*-*~~--~~~*..-.**-~-XX~--", "**-.-.*~X..*-~-X-*.~X*~*X..-..*.X*---~~-*-XX~-*--~", ".~X..X**-.-.*..*.~.-.*.X-*--XXX-...**~-X-.*.X..*~~", "~X..-~X.X~.*.--*.X-*-***~--X~XX--~X-.XX*..~.~.~-~~", "*.-X--~**-~.*.X.---*X.~-~-.~~-~-*X.*X~.*~..-..-*-~", "..~*-.--*-.~~*---~X-~.-~*.XX-*X--*-.~-~*.-*-.~-~.X", "-X-.~*.-.-...X.*.*.~X~~*.-~~**------~~.~-*-*X-X-.~", ".-*.---~-.-~~.*.*..-.-*.*--*.~X*~*~-*-*.~~..-..*..", ".~*..*--.X*..*.--~***X.--..X~--***~*-~~~~.-~.-*~*.", "-X~*-~.-***.~-~-X~X.~--~-~-*--~X.~.~~--~.~-.-.*.-.", "*-**-.***X~~*.*~*~.-*.-*..~*-X-*~-X-X*-*.*-**.~~--", "~--.--*~*~-X.-*~-~*~~~*~..-**-~X~---*-~*-..--.X~-*", "X-~X---..~**~X-*.*.X*----*..*.*.~*--X~...-.X-X~-X-", "*.*~.X-...X~-*-.X-X--.*.----.--*X~-.*~~*X-*---.-~-", "*.*.-..~**-~*.~~.-*~.~~--.-.**-*X..--~*~~--..-.~X*", "-~~*-~...---~~.~X-**X-~*~~-**-.--*~*.~-*.-~X*...-*", "-~.*-..-.-.-----.~--~~X~.-X~X..*~-..~*--*X~*~*~.~X", ".~~~*~---~**--~~.**-.~-X-.--~.-~.*~*~.-*X.*~---**X", "**---.~~*.~~*..*--~~~~**.-~-.~~--~--.~-.-.-**~*X.X", "..*-*.--**~-~--.-~-~X--~~~.-~.***.---.-*--*-.-~-~.", "--**.-**~*.~*~-~*-.*-.*~...*--~~.*~*~**.-.--.*...-", ".X-.~~-~~-*X.*~---*~---*..--~~.-***-.*~.-.-X*X~.-~", "-*.~**-*-*-.~---~~*.-X.-~~*--~-X-..*-*.**.-~~~..*.", "~..**--~~-~~~-X-*--*~~X~~~~*-~~~-~.--~*.~*~.-X~~-.", "-.~..XX~~-..*X.-~*~~X~~X**.X.*.-.---~*X---.-*.~*-X", "X*-.~~-.*---**--X~*.--*-~-~~~*~*.X*~~.~-~-.-.~~*~-", "~*~-*-.XXX.~-.-XX-*~.~-.-**--*.X-~.~***.~X*-~~~-~*", "~*-~~-~X--X.X.-..**--.*~*.~~-*~.--~X.*X~-XX-..-~~~", ".~~~~~-~.X-.~-*-*-*.*-.-X--.*-~----~~.--~-~*--~..X", "X-*-*--~-*-.~-X-X-....--X-**~X......~*.X.-.--**...", "~~X.*-*.-X-*--~-X~-*-*--~*--.-X.~--**-X-.*.--.--*.", "-X*~*~~~...-X-~~.-~-.-.--**.-*-*.~-~~-.-~...~~-*XX", "~~-.**XXX*X-~-X.X-X*-X*~.-.~~~..XX~-~X*X.-.~*X*-.~", "*..-~*..-*X*-X~*-.X--.~.---***~-~-~---**~.*--~.*X*", "~*~.XX~*.XX-..**-~..*X.--**-~-.-..*~--X*---~.-*-.-", "--*X.*~.*.-.~~.*-*-~*X~.*~-..-*.~X~.-~~-**X~~.X-@-", "...*.**-X--~...~*--*...-~*~*~-----X*--X-*~-~*.--X-", "*.~-X**.-X*~X~~*~*~*--*-~~X~~-~-~.X~.*.---*.*.-.-~", "**X.**~X--~XX--*X~.~X*..~*~.-.--.X*XX~-*~-.*-**.X-", "-~~X~--**.~-~-~.~..-~.~~X~.*.-~XX*~...~--~**XX***X"}

    Returns: 167

  24. {"-~X-P~P-P*P*~..~*X.~-P-~~--~~-*-P.~PXX~--*--~.~P.X", "~X~*X-.~-P..~**~~-*~~*.~....-P-~~XP*.--...X*..~-.~", "***.---*.-~~*-.~~*.~..-P~..~****.X-~*~-*~.-~...~X~", ".-~**..*~-~..P~.~P~X-X.*.X~-~~~-*.*-PXXP*.~-.-*--.", ".-*-.X.-P~~..-.*-X-*-X--*-PP~*-~*X--..-~~..-*.*X..", "X~*X~X~***~*.P*~X@~X~.X.~-*X-X*XX--*-~.X*X-.*PX-**", "-*-*~~-.~-.*-X~*.~-.~*-*~-.X*~~-*XPP.~*.PP*..P.X*~", "*-*.X-P~***-*..X~..-*.-~..*~~P-~.----.PX*..*X-**--", "*.~X-X--.****.*P~**~-X..-*..-*..X.....~-.X-P*-PX-P", "-~~.X*-~~-P~-*~*~.~~~.P.**~X-.~*P*X..X*.~.**--*-*~", "-~~*~--~X-*X--*---P~~*~X**.-.P~~~X*~.-..~-*~*~X~**", "**.--~~X-*..-*-~-~.-..X.X*~~****~-*.--~X~--~X*~.P-", "*X-*.P~.*-.P~**.~.P~P.P--X~P*~.~**.-*.*-X*XX**.~*.", "-**.X~P*-*.*.~~P--.X~X~-~--.---XX*~***-.X-~...-*X~", "~-~-~-...-~-.----**-~-.X..*~.--X.--~*~*P*..X~~*X--", "~..-***-*~-X*.-.*...-X.P.X*-.X.*-X*~~X-~-*-.*P**X.", "X.~*--X.*~X~*~X-X*--~.**P~*.~-P..X.~-~X-~**--..-**", "~~-*PX.P***~X*-*~..*X--.*X-.--~X-.XX-XP-**-X*~..-X", "*.~~.*~XXXP.~..X~.X.-*-*X*.P.~*-.@-~*~.~~~.*.-*-.X", "*~***.*..~~~*~PX*XX--~-.~--*.~~XXP.-X~.*~-*-X--*P~", "P-*P.*~*.X*~~~~*-P*X-~P~-.X.X--*-*~~P-P*P.-~*-X**-", "*-.*~**XX~*.X**~*.-X-~*-X~..*~~-X-**..---X~.*XX-*-", "P~.-*P**XX.X---X~-*..X-~..-X--*..*~~--~P~**P-~~**-", "*X.~*~.~XP*XPP~**-~P~*---.---*.*-P**P~~.~*X.--.*XP", "-**~~X*-.*XP*X*X.-~--~P~X.*P.P.*--~X.X.-*-~--**~X-", ".**~-P-*.~-~X*-PX.*X*~~~.-~P~.~P..*~.*-*.**-**-~X*", "X~.X*-~.*-*~X~*XX~*-~*-X.X.--~.**-*.-~.*~-..*-~-**", "P.P*--*X-~.~~*..*.~*~.*.*.X~P-.~X.~~P.X*-**--..~*-", "--XP~.~~...~-.~*-.*****-~P-~.*--..-*-XX-~X-P-*X*P-", ".*XP-*XX*-X.*P.PXX*P~~**-~X.*~P-*-~~-X-*-**---PX~~", "X**---.X-**-..*X.~~-*P**~~XX*.P--X~P-.XX-~~...*~*P", "**.P~..--~~*~**~.*..*~~~***X.-X-*-*.~~~.~*X~.~*~-*", "*~**XX-***~-X-P*--~.-P*~*~*.*X.~-.-*--*P~*PP~-~*.~", "P*-..--~*X--*X--**~.-....X.*-~-~.~*--*.*~~---.~~X-", "-X.PX*X*-.~.X~~.~*X~---X.--X*-***X~~*P*~**.~.X.*X.", "~~~--*X~~.-P~.PXXX~-~..~***~-~.X*P*-.~P-.~X~.XP*-.", "-~....~-*-**~.**~.-~..--*-~-~~.XX-~.-.-X.~X.~~*.~*", "PXP-~~*X~..~-*-X**.-X~*~X..*-X-.~.~.*~-~.X-~.**X.-", "-PX~*-*-*P.**~.~.~P**.**--.*.~..-~.-XP..--*-X*X~*.", "P~~~-X-XX-X~*-~.XX-***.~~~X.X----.P--~--~X..**~~~P", "~..X-.~P~..P-...*~P.-.X..*~PP~.*~***~P.--~~~**~XX*", "-*~*X.-**X**--.~-~~...--.*~~.-XX.-.~~.PX*~****P*-~", "*-~*--.-~X.-~X*~~-*-~-..~-.*P*~--*-.-.-.~.P*..~.**", "...X-.P*~-PX---*XX~.*-*-.X*X.X-XPP-..P*.**-X.*-*.P", "~~.-~*.P.*-**P~..X.X*-*.*-~-.X*~-~--P.X*.-X~XP..X.", ".*P.*...~*.*PX~XP.*PPPX.X*X~-~~~P-.--.***P~P-*XXX*", "*.~-.~.-X~--~.~~*.~*XP*X.*-~**XPP..-.*X.*X~.~*~~.~", "~X~~.XP**~X.**-.~P..P****PP*-.-*..X*~*~~P*~P--~.-~", ".-~-X-.X-*..*P~.-X**.*--~X.-~-**~*~~P.*.X**---.-..", "X-**-..-PX-~~.P.-*XPX~**.X*~..*~P*~*.~X--*PPP-**~~"}

    Returns: 298

  25. {"~P~*P**~~X..*~-P.*~*~*-P*~P..~.---PX-*X~.-~-*P.-~~", "~...--..X.*..X*X**X~*~*-~*.PP-*X..*..-**~X*~.P*.~~", "..*.~P*X.-~XX~*~PX-*-*X*-X-.*..-*.*X-*X-**.~-P~.P~", "...X**~*~XP-~-~X*P.-*--*~~.P*~*-P~X..*~XX-.*~-.X..", ".~X..*X*-~~.**.-XXX-X~~X.X**..--*P**.--~*~..~X~.~-", "-*.--~*-~X~-.-P~..~XX.X*X*XP*X-~*~.-*..*XX-~-*-~~*", "X.XX*..X~.X.*~--~-X*-*~X~.*-*X*~~..--*.X*P~X-**---", "-.PP*.-*~--*.-..-.*.-~P.-~~X~X.*..P.~--X-~X-*-..~X", "X-X~X-.*P~.X~.~.-*-~.*-~*X*.~*.*~-X--~~*~-.-.--..*", "P--~X...**--~XP~~.-~X-*~*XX~.*X~*P...-~*.-X*-..~.-", "*--~-.~X~*.-..~*-..~X~*~....~~-.~X-..XX*X.~*-~P~.~", "*XX**X~.~-.~..*~..~-**..-X.~*~-~..X~-*~-*-X-~~..X.", "*~*-~*X-.X*X~~~.X-~-~~*~~~~*~..*---.-.*.XX**.~~~*P", "~*~X*.~*X*X**X..*~..~~*---...-X--P**.**--PP-.X-~-.", ".*-.~~XX*--~P-X~.X-P-*--.*...~--.*P~X~~-.*X-X~-.*-", ".-~.*X@*~-~*P~P**P-*-.~*.-*PXX~.X-.~~.~-X--**-X~.~", "..*.-*X~X-*~*~~X~-*-X.*P~X-*~P.-.-~~P*..~-~XX-~***", "~.-..-~X**--X.-*P**~-*-X--~*.XX.-P-*.X-P..*.**~-*X", "*~*~---*XX-*X****~.**P~...*P.-.~X.~-..**-*-*-XPX~*", "~X.----..~~.--*P-*~~.~XX~-.~X*XP.*...-~-.*P*.*XXX.", ".*-X*~-X.~***~..X.X.*-~~-X~X~-*.~.---~PX~.-.~~X-P~", "*PP*.~.*-**X.--.PX.~-X.--X-X~.X*-~P-**~-XP.~X~PX-~", "*~----*-.X.P-~.-.*.-...*.X*XX~.~~*~.~X~*~.PXP~*.*-", "X~PP.*X*~P~-~XP~.X-.~.XP~~.X--*~.-*-P.~P.P~*X~-*-X", "--X.*.~-~~X*~.-X***~~X-~.*~--*-XX-*.XPX~-..X-.-~**", "P~~X.**-.**.~P.**X*X-P*..~--*-*.***-P.~~~X.XXPX*--", "~.**~-X.~.~.X-*~-X.**.~.X.*.P*-~.X**-~X~-.~*~--X~-", ".-*.*.-**.-.**-X.~-~*XX~PX-*~PX-*~~.-X---X-~*~.-X.", ".P...*~X-X~X*----X~X-*..-*.--~.PX.P.~~P.**---**.~.", ".-.~.~~-*.-P~~-*P~*~*..*P-~~-.P.*~-.*--X-~~~~XP-*X", "~X---~*-*.X.XX~-**X-X~.*~..~~..~-.*~-~..~.~X*-*..-", ".X-.~XX~..-.*X.*.-.~~X*....XX.**X*...-.P~-~-P*XX*.", "X-X~~~~~~.*~--X~.*-X*~.~~X~..~X..~X*~~**~*-X..~.--", "*--.*.--.**.*X*X*..-P.*-.~**~.~.XX*.*--*~P**~.XP.-", "*~-*-X-~.P----PX.**.-X-*~.~.X.*.*X*~-~**.-**X~..X*", "X~*-.*~*-~~..~XX*.~.XP*-X**X-~~X~*~-X-~*.-~.-*~~-*", "P***.*.~*-.*..*-P.~-P.*XX-~*-X*-*X*X~X~X~*~~*.~X.X", "*P~*.~-.*~.-.~*~.*~*P-..X.XX~-XPX-~-*.**P-X~~*-.~-", "-P.P~~**X~PX.**XXP-~-*-*.*-P~*X-*~-*X-~X*.-...X.~-", "PX..**X....X.PXPXXP..-P*X-X.--~-**PX-*.*.P~**~P.-~", "*--~~*.~~.P**~~X~.--*--.--~X.-P.**..~--...PX*.~X..", "-..X~-.*...X~*~-.X.**.*-X.~~*.~~~~**X*~~XX.~--~-X~", "*X*---.*~X.*--*~X--*.*X-*P~PP-*~*-.**X*~.*-.~X*~~X", "~.P.X-X~.-~~-~X~.*~XP.-.*-~..~X*.*~X.~-.~X~*~~@~PX", "*-X.*-~..-**.-X~.~.*~.--.~.*-X~-~..X*.P*X~-~~X.-*-", "~.X*X~P-*-..X-.-.-~~X*-*----~~***P-XPP**--P-.-.-~.", "..~-X*.~-XX~~~.PX-*~P-X~.-~-.~XP.PP*P*--P.**~~~-~.", "X-~*-.X.~~.-.*~P-X.-~-X-~.~.-*~*--.**-*P~X.*X~.~**", "X*~P.*X.*.~.~~~XX.X**.XX***~*---X-X~XP.XX~*X.---~*", "~-~*-P~~**XX**P...*~PXXP~-**~X~PX~-*-*****~*-X*~*-"}

    Returns: 231

  26. {"X*XX-.*P.~-*--.~~~~~*-*.~X--X-P*~~.*.~XX~X--*P~~~X", "~.~.~-P-X.-~-X~.-P-~~*..**-X.P~*~*...-*..*.~**~.X-", "~*..X*-------**.~~~-*-.-X**~~..*..-*.**-*-*XX*P*~~", "~-~~.-~-~-PXX..-X-.~.***X-P~P*~X~*..~-~XP~*~~-~.~~", "~P~.*.P-~*-XX-..--.*XX*-*-**X*XX~-~*P-~~P.~..*.-*~", "-P~~P--**P*--..X~PX-~**~X.-P*.-.~.-..~*-~~X.XX.~-P", "-*-X-**~*--*~*.~-.**X-*~~X~X~~*-*~.~~.-~*X.~**-~-~", ".-~-P*.X~.--*.-*PX.X~~~~*P-~-*XXX--P*~*X~-*PX.*--*", "*.*-.XX*P-~*X~-.*~**~X*~~X~~*.P.**.-*~*-...-.~X*X-", ".-X.P-*.*--X.**X**.**-**-P-**-*-*-******.P*.X***P-", "~X~~X--X**.~.X~.-.**~X-.*-*--P*-*X*~**~~~XPX@*XX*X", "~~.X--.-**--P.*~*X~~~~X.~.-*X~*~*X.*~.~.*~P*.P-X~X", "X..-~.*-~**--~~X-...*-~X*.~~..~.P.~~.*.XP*XP~~.~~~", "~~*-.P..*.-*-~--.X.*X-X~~-X.~--~*..X.-..-X~~X*..P*", "**X-*-*.*~.~-**X-..X-*-~P*-.~.*.X~.**~X*.*X~*.--..", "**P.~**X*.*.**.~.X~X-XP~P*.X~~..-*X.-P*~-*.~-~-**.", ".*.*~--~..*X.*.X..-X--.XX..-*..-X*~*..~.-.-*X-**.-", "--*X.**.--~..~*..X~**~P*X.~.X-X-P-~P***~*-~*.-X..X", "XXP~*-~~PXPX*P-*~~X**~*XP***-**.PP*.-X.--..~*-~.-X", "*P.-*~~X~-P*.P.~.*.~X*P~X---~~-XX--~~-**-~~.*X--.*", "..~~*-...P~P~*--X-*X**P~-~.-*.~*.-X-~***.X*PX**-**", ".-X-~~-~X**P*.-**X.-.*.-.X.--*~.~**--*~*~~X~X-*~..", "*-**XX..-P.~.-**~*X~-X.*~*.--..~*-~..P~.X..*-~-XX.", "-X~**.~~*-*X.**~*.X..P~**-X.*.XX~-*.*.*-....~P.-~~", "*~-~~X**-~--...-~-~XX*PX.*P~~X*..-~X.*.~X.-.*X--*X", "X.-*-~.X*--P~-~-*-*-X.~~.--~~-.-*~.**~*~-*XX~-*~X-", "~~X.X~...XX-.-*~-...PP*~~X*-~X*.*.-P-~.--XP~*-X*~-", "**--X~X*~X*.~~.X--.X-PX.XX*.-~~*~.P-.~~PPX.*-~-*X.", "-P~.~X*-~X~-X-~*.~*X..***X-~--~~~-P*P-XX~~.P*--X*X", "X*XP--*~~X~~**P~*X-*~X.***.-X.~*X*~-X~X-*-~~~*-~~-", "X~.-~..X--**X.--~.*X**~.~P-P*.**-.~X.X*X~.****PX.-", "~**-*-~~.X.X.X-~~X**-.~.-.*.~**-**~***.~~X--P*X.X.", "P*....*---X*-.*-P.*..X--.***X*X.*-.~-.~~*X*-.*~-*X", "X--~.X-*---X.-.-~~.-P~~**P*~X.P*~X**X~.-X~--X-P-*.", "X.-.~-P~-~*-~.*X~~~XX~..-P~--P--.*~P-~-.XX.~*X-~*~", ".~..X-.*..~*-P~.X.X.~***-~.P*X*.~...-PX-X**~--.~X~", ".**--*.X--~P*-*~*-...*-P-~~*P-P~~.**.~~-~~~-~--.-.", "..**.~-~**~*P-*~XXX.X~.X.--~~P.-.*~~XX~..P~-XXPX.*", ".~P-~--..X~X*.X-~..-*.*--~~*.X-...P*-P.-.~~X-.-*-*", "P*X~PX*~-~~X-**P.P.PX*-~~-~.~*X*P-XX--P.PP.-.--XP-", "--.-PX*.X*~..~*.X~-.-*~*.-X~-XXX..--..~-*-P*-*-X-.", "P~*~-X.X.*..*~X.X...*--P-P*~*~.~~-**-~P.X--*...*-.", "-..~~.-.~P~~~-*-.--*X*~--P-*-.--.**.~PXXP~.~*X.-P-", "***-P*.--**-*..**.--~.-X-P....X.--~*.~.~-*~-~.--X~", "XX~*X**XX**X-.*.--*.~-~.*-.X~*.-~~~P*.**-X~X~P~*--", "~.-*X.~~.~*--.*-~-P~XX*-~.-*..~**.~.*~X**~~*.*X..-", "~**X~*@-P**-.--*~**.X~***.XX*~*---.X~-..~~*X~PX-~-", "--..X-~*-~*~P*~..*-~*-X~-~.X~~~~~~.*~**X-~X~**X~X*", "-*~.*~P..-.~-~~.-*~..-*P-~~X.~XX****.*X~XP-*-*----", "~-~P.~X~*-***.X.P~.P~.*PX--.*.X*~XX**.--P~*P~-~*-."}

    Returns: 235

  27. {"X--~.XX.~X~**-..~-P~.*~-*P**PP--X****P~*~*-.---~P*", "-.P~*XXPX----*.-..~X~.X-~..P.~.**.~XX.~*.-~PP*P.X~", "-~-X.~.-.-X-.~~....XX**.-X~.--X.X-..PX-*---...**~~", "~~~*~X~~.--*~*.PX---.~~~-P-XXPXX-.*~-.X*-~~PXXX-~*", "-~X.~X*~*X.*--.-X~~XXP--.PX-XXX--..*~*X.PP*~.-.PX*", "..--*~*..~.*.*P*-~-*..**.P*-..**@~~~X~~.~..-~..X~*", "-.--X.-**-*..P.-X---X*~--X~~X.*~~-*-.~~X-..~.X*-*-", "X~-.-~..**X*X-~*~~*~..*PX-X~X-.~--.~.X*.*X~XP.-..*", "*.-~-~P~*-.~-X~~*PXX-~.P~-..~~X-X~-*PX*X~*~.....**", "~X.-*-X.-~P-*-X~**-P.X*.XX--*-~~-*-*-~-~~XP.*~*~*P", "~*..X..*P--X*--.*~-.P~*.-XP*P.X-~X.-~.~~X~X-P**...", ".-~X---.X~*X.P-X.*-X~~~--~-..-..~P-~.X.--~-*X...**", "---*XX..X.P--~-~XP-*-~~X**-*P-*..*-XX-*--*.~X**.*-", "X*.X.*~-~~*~.PX~X-.X**X*X--X-~X*-~P.*~.--.X...*.X*", "-X*--X~*~X.~*X.**X*.*~~*-~~~~~-*X.-~.~XPX.~*X.X*--", ".X-.--.~~~.----.*P..-*.-**..*X-~~--**XXP-X-*~*-~.P", "---~.*~X*..*-X~.XP**--X~.XXP-~--~X.X-*.-~..~~P.X.-", ".*.~~**-XX*-.X*X~~-~**-*-**-*X--~~**.P-X~.X*~.*-X~", "~-**~X---X*..**.~.~X.-**X-~X~X.-*~X.XX*-*~-X.--.P~", "X*~-**-*PX-*--~*.*X*~..*XX*.**-*~.X~.**--~-X*-~..P", "~~-X--XP.-*.~~--~-*~-~~-~.P~-X~P*-..*.P-.*P~.-~-.*", "*.~---~XXX..X.P*-~X*X-P*.-P.*X~.-.~X~*P-PPP--~--*-", "~-.*X~-*.~*.P*-X..P**X~.P.*-..~XX~PXXP.-.~..*--*~-", "~.*~.-X.*XXP~X.*...~*XX~*~*.P-.--*-XP*~.X**---~~.X", "-.-.*-.~*PX.*X~..~~-~.X*.*-P-.X~*X*.X~*-~~.X..~*..", ".~-~X*-.XP~*~..---XP*~X~P-*-..**X-PX*~~-XPX~~~-..X", "..X-P**~-~P**X~~X~~~-.XXX*X~-*..--.-~.XX*.-*~~~~*-", "~**~..*~X*P~.~*~..--*.X*.*-~-*.~**--~~~~..-*~X.-~X", "--XX-.X.-.-*~**P---~.-**.X~~-P~-X*P-XX.~-**-X**X.*", "~~~--P*-*~X*~--.~-.**.X**.-..-X--X.-P-X-*.-*~-X~P~", "P.-XX~~-.~X**-X.~-*.**~P~*.~~~**-X~~.-X--.P-.~-*.-", "X.~X**.*.~*~P-.~~-~-~X*-~~..~~.**~-P.....X*~.PX--*", ".~X~*~~.-~--~.X.XPX-*~.~.P*X*X*X.***~X..~*X-~**.-~", "-~.~X.*X~.X-.~X.*~.*.**XP~.-**X~P--*.~~~~-~*~.*X~P", ".**-~-.-.-~-X*-.*.~X*X~.**.*P--~*~-.-XPX*X-P*~--X~", "*XX--PP*~P.--*-P~X-.--.P~~~~X*~X.~~.X.~~-X*XX.-~~-", "~..X-..*~P*.-.*.-~-.~X~.-~*-.*.*~-XP*....-.*--X*.~", ".~.~~-P~*~*--~-~P~*X**P.X.~.-~..-***.*.-*~*-*.P..~", ".*.***~X*-X.~.~.*--~X..P*.-.P-***~.~~-P*--*.---**-", "*~**~*.**.X-X*~X~-.~-*-X~-P.-X...-...X-~--*--.~*~*", "~X~**~~--~*~--X*-P**--*P-**-*~X~~.*~*X.-X.-~X**~..", "*P.X.P-*--PX*-..~X-*..~~*-XP~~XXP.***~-*--X-.-*~**", "-*X~*..~*P.-X~-~X-~~*~P-~.~*.~X-.*.X-~-....*-~..*.", ".*-...X~*X-*P-X..**.-PX-X.~X.*~--*X..*X.-.X-..-**-", "-.~..~~-~XXX.X*.--.~~~-@P~-*.*.-X*~~~XX..-PX*.P-*X", "-~*~.**X.*-X-~~*.-X~.*XX*X.X**.*-*....P--~X***.---", "P*~P.~*~X.*-P~**-.~~P.~.XX.~.~-*~~P*P~~*~~.--~~*~*", "**X...*..-**-.-.*-X...~P**-.**PX*-XP*---~~~~~*~X-~", ".--**~**--~X.*~~~.-P.-~~-~*.~P*.*~X~~.X*P~*-X~~~~~", ".*.X~.-..-*.**~PX~.~-*-*.-.-*-.~-.**X-*-P.P*.--*~*"}

    Returns: 294

  28. {"~-*~--*X--X*X~X~.~*~*.PPX.*-P.*P.~**~*X.-~P~~~-..X", "-.--~-..~*X~~---XXX.*X.PX-P**.--.-~-~.X.P--..-P*.*", ".~*.~-..~-X...X.PX~.*~X**..*.~-.*~X*X.-****--X**-~", ".P~*..*.X-~~.*X.~~-~.X*.*--X.*.~~-P-X--..*...P*~.-", "~-PX-..X-*..X.X*X*.*-X~.X.---.~.~~.X~.~.-.-*~~XX..", ".P**.~~~**-.*-*X..P~X-.*-~~--.*-~-.-..P~~P--X-.-~~", "-P*---..*X..-..**.X.~P.X~*XP*.X~***-*.--*~--XXP.~.", ".**-..*..*P-X~.-.--P***P~-X--~.~..P*~P..X.PX..-~..", "~.~~*~*P-X..*~-.-**--*.X-~-X**.*PXX.*.*-*-X~P..~P~", "--P*--*--~-*-.~X.*.--P..-P~-X.P.PX.X.X.---*~.-.**.", "**~~X-.-.*-~*~..~-*-..*P.-.P--X-~P..*X..*.~~X~.*~*", "~.*.~.*.~P.--XP.**P~-.**~****~~~XX..X.XX..P*-..*X-", "-~-X.~*X****-~X~-X~P*..X~.X..~.-X~~.*X~P-~...~XP~.", "*-.XX-~XX.X*~X*.P.~~PX*~.-~-*~X.~~*~~~~-*---XX~X-X", "X~X~-~X-*~~~~~PX.PX-*X~P--X~..*-***-~.**-~*X~~~.X-", "X*~X~X**~.-~*.X..*X*--*-*~~.X*P~X~.**X.~P*.~*X---.", "XX---.*.~--~.-P~*-~.*~X-PP-P~-~.-XP-X-XX~~-P~~**-X", "-X-*XX--.*.*~-~P-X-P.-.PP-..*--P-P..P.-XX-X*X*-X~*", "X*..*-*-*~.*.-X.X**PP*X~PXX-*XX--*.P.-X*---~X.~~.-", ".~~PXX*~-~~~*-..X*~~*.-*.*-*XX*~~.XX*X**~~*....X*X", "P--.-.~**-X*.~*X-*-*X-**.**.*.**..-.-X.~X~----P.-X", "**..P-~.-.X.-*-***-*-**X*--.~PX*-*~~~X*-.X-P-*.*X.", "XX.P*X**-*-.PXP*-.*~*~X-X.X--~~~P-P--X.-~~*--*-**~", "~.*.~-~*..--X...~**.~XPP*...--~~.-~XXX-~XX.-X-X..~", "~***~~X~~X.~*-X.X.*~.X-*---X.X..~-*.PXX~XP.~.*.-XP", "*~.-P.~*-..--.*.~*~~P--~--*.*-.*.**X-X.*XX~-.*~~XX", "*-X~~.~**~*~X.~---.*XX~~-.~X-~*..~PPX*~**~~.-~P*-~", "-X*-*~*-.X-.-X*-~*~~~~X~*~**~~~~.P~..-~*PPP.~*X*-~", ".~-P.P.XPX.P*X-.P-.XX*~..~~.~*P--X.**XXXPXX-~*~-*X", "-*XXP~~-*X~~X..-P--.~*.**~~~.*~*P-~-X.PX~**~*X.~X.", "P-*~.-.*~--*.*.-P~.*~.**P-~XX-P--~.~.**~-*PX.~*-X*", ".PP-.--XP*X*..X-X-X.*.*-.*X..-XX***~~.-**~*.~X--*~", ".-**P-*..~P*X*.*P.--~.*.~-X.PX-.-~*X*.*..*-*~.P~**", ".--PP*-~-*~*-P.**.~~P~~-.~-.-~~X*~*XX~X*.~X.-**...", "-~.**X~~*-~-.P.~X-~~.X~*~*.~P~.**X*-~X.-XXP-X-~~..", "~~-P*X.*-P..--*-P.---@*-.*-*~*..-*-.~X~--*~P~*....", "~-~...X~P~~*-*-X-*X-P-X~.X.**-*.~~~---~~---.-..~-P", "~PX-.~P-..*~.X..**.-*-.-~~.~.~-X*.~P~~*.-*.-.*.*~X", "-*.P**-X~***XX~--.XXX~..XP*.**~.~~X**~.-.X**-~P*~.", ".-~-XP~X~P.--~-X*-*.-..X..-X~.**~X~..X~-..X~~--P~X", "*~~X-*--*--~.*-**.-~~-.X..~--**~-.-.-.P-..~*.-~.P~", "*--P*~-.X~.-~-~P-.--***.~*X~-*~~X.P-~-~.X*-*PX~XX*", "~-.-.~-..-..X.**.~*~~-.---X-~***.P*-PX*-X~-~..XPX.", "..*--~X~-P~~~-P-~-P.-XX**XX~X~--**.**.~*-..~--.~*~", "X~*~X....--X-~XP**--P*-*.-.*--PXP*.**~.P~-*~X~XP*.", ".X-..~*~*~~*.~~*~X**--~.*P.X**X---.~-P~*X*-~-X..XP", "*P-~~**P~.P.*-*~XP-X.*-*--.P.-~~PX*.~PP~~*.P**-*--", ".X*-~.------*-P..~.X-**.X.~X.~**--*~.-P-*PP-X~~.-X", "*-.~~-*-~*X-*.*X-.~--**.~X*.~~X***...~P*-----..~X*", "@.X~-*~*P.**~.*~-.XX-P.~--....-~-...~-..-.~*~~*~~X"}

    Returns: 89

  29. {"~*..-....X..~.*-X-.X*~*PX*.*-~*-.X-*X-~~X..*..X***", "..-*.-.--.*.*~.-X-.~XP.X..-P*.-~X~P-.*.X*-X.~PX-XX", ".~..@..-.X~~-*~X.*P*X.~**X~XP.**P.-~~X..*PX.--.-*X", "*.**~-.~~-~P*XX-**.*X*..*~~X.-X.*-~-~XX.X-.~--~~--", "X~~*.X.~-.~-*.*X**.P-*-~**-P-~-.~.~*~-***.~~.-.*X*", "-.--X-*~*.*-..*.-*~P*-*.X...*X-*~*.XP*~*~-.~-*.~*.", "*PP-X--~XP~-P~---.XX**X.*..***-**..X-.*X~~*.P*.XXX", "~XX~-~X.XX*.~-~-X-P**-~~-*..XXX**X~X~P~.~.~~-XX*XX", "*~-X-~~P*.-~.X-*****.**X~~*~~~~*X***.X-~-.-*~~-.*~", "~P*.P*.*XX~X-~.~..-..-.~..*-*P-~*..*-**X.-~-*X.--P", ".~~*X..X~~~X-~PPX.X~@*P*X~~.X....~P-X.~*~-~X*~~X~-", ".*~P..*.P~.PX.~.~.X-X.-*P..XP-P**~.P~*--X-X..X*-**", "X-*-X*-.*--~--~-*PX.-.~-*--.*~-X.*.-~~.~~.X*~~-.*~", "**~-~-----~~P.-X-.P-*-XX.~~-.~--X.-XP~*X.X-~*-X..~", "~-~-XP-**~-P~~*P~.~.*--X.~XX~*-*P~X~-*--*X-.P.P-XX", "X-.~*~~~X..X~.-P~.-XP~.X.-~*P..-~*--*~-~*-~-~~*.**", ".*~X-X-~~*-P-**..*.~*.-.~--P*~-~X~X-.XP-*-P*.X.~*.", ".~~--..~***.**X-P~--.-.-*-~*X**P-.~.*.-..-~-X*~-P.", "~~~~P**.P.**.*XX~**X.*.*.XPXX-.*..--*~****..-~*~*~", ".-..--**~.~X.*.~XX*X.P*~~.*XX-.--X.~~-PXP~**PXP.X~", "P.--X***-.P*~---..~~.*---~~~.***-*-.X--~XX*-.~*X**", "*P-*-*.-*X~**P~-P--X.*~-*-~P----X~~--..*~~--.X*~P~", "X***~X-.*X*~~-~*~*P.P*-X-*-*-.PP~X.**~**-~*X*P~-~~", "-~~~~*~-~..X-*~~X.-~X~***X~*.X-~X-~...*~*--**.*PX.", "-P--.P--*~--~-X*X---.*--~-*P-.*X--~*XX*-P.PX---~~~", "-~~~-X-*P~.~P~.-.-~..*PP*.*.*.PX*.-*..X*-*-X-P-X..", "**P*.~*~~**.X.-X..-~*XXXX~.~~~~-X*P..-.X--X*X.~**P", "*-X-.~**-~.---.*-X.X*~.X.P-~..--X-*X.X*~~~~--*X.P.", "-**.~-~*P.~.-~-*P*~*-XP---~*XX~*P.X-**X-*-X*.~...*", "**~~...-.~**~~--~.~X*-X~-~.*~.X...~.-P.~**-~..-~~*", "*-~-.~*~*~--~-*P*-**.~X~~PP-*X~-XX-.~*~...X*~--.*~", "P~~*X..-X-~~~~..*.***.--.X--X--.-.*~.--**~P-*..-~X", "-*~-*~.~X.X*~*~.*--~*~X~*XP~**~*.~PXX..~X.*P*.**~~", "X.-P-*-XX-*-X..~*X-PPX-X-..X**-**~P~~~-.~~-*X--~X~", "~X~~.-*.*-.~*-*~P-~*~--P-~.**-P*~*X*XX**X.~*~.P*X~", "*-P.~*...-~X~...X~~*PX.---*-~~-..**..*~~XP*~*X*~.*", "-P.X-.~~.*P*-X~P.-**.P.--.*P~-..-~*XX.~~P~*..~-XP~", "X.P~*--~.**~*~~P~XXX-.X~P*XXP*~....**.-.X-.**-**.X", "PP.~.-X---.*~~.-~.~*..~.X*-~*X-~-.PX*~~-.--*.*~-.X", ".*~*-P-*X-~.*P-~-X~PP*-XX~X.~.-.~X.-*-X-.~-..P.*.-", "P**-*--..-PPPP.~-~***~~-X.-P~.-..PX~P.P~~P~.**..~~", "PP.*..~X.-*~--.**X~-X.X--..-..*~..-.~.X.X.~*..~-~.", "P*..-X.~.-~*.-*..-X--~~.~PP~P*~*P-.XX~X~.*..X-X***", "-~*..--.XX~..*~.*-.-P~..*P..~X..*--~*-X-*~*~~-~..*", "***.X-XX-.-~~~.-~P.*P~X-*~.P*..-*P.-*.XP*P*-*P.X*-", "--*~--P.*~P*X.X-*~-~.PX.X*-XPP.-~*X~XX.~*~.~*~*-*.", "~-*X.~-X--***.~~**.*X~X.~-X..~*X.-*.XP~-P~-~-.P-**", ".**XP*~X.-P~.**~*P*.-*.-P*~~**..~*~.~.~-.*-*-**X.-", "P~....-~-X-X--~*.P~X.X.X-~*~*~.~*X*X*..-P.X~*~-~~-", "X--*.~*X*~~.PP**-X.P~*.P.*~-~.~.-X~XPP.X.*~~~*X--."}

    Returns: 58

  30. {"-X*~*.-~~*-.-*X-.P*X~*~*XP-*~*-.X-XP-P..*XX.X~P.~.", "*..*P.-.X.*PX*-~.PX~*~X~----~~~..P-~P*~-X-*~-X-~-*", ".--X-**X~*X..*.*X--X-*--X-.X--P*.X-.P~XX~-.-PXXX-*", "~~-.~.~XX.*X**-X-*XXP.---*.X.*.-.-.~*-~-.X.*-P-*.*", "**~XP.**-~X-*-~--..X..**P~-**PXP*-...~*.-*-PX..~X-", ".-X***X~*P*.~*.*-.-PX~.**.-**P.~~.*X.*PX.*--X--~X~", "~-**~~-.~....-~*X.PP.--..~P.-..~PP~~~-~P*~*.~-.*-X", "PX..~**~**--~~..-~XX*-P~X-X~~XXX~.-X.---.P.-.-*-.-", "~~X-~.X.P~P-~*~*-~-~.X..X-XPX...***~*~*~.-X.*X-*..", "P-X**-*X..~~XX-~.--...~..*~-.*~~--*-..X.**~PP*.~..", "X*.**-.XX~X-----.~*P..~P-~X~X~*XP~~~~-*~~-*-~**-X-", "-XXP*~-*.~~*~-P-..PPXX.-.-**X~*X..~.-.*-X*.X*.**..", "XXX-.-X~-.***.*X--..P-~**.X--~~.XX.X-~-PPX.P~.*~-~", "-.P~.*.~~....-.-*-X*X....~*.P.X~P-----*X~-.*~---X~", "..~~-*~P....X.**~~~~.@-X.~~*-~--.~P*P*X~-.X-.X~~PX", ".-*X*XX*~X~*-X~*-~-~-PX**.X~~*~-~*X*--X*X.X*-*.PXX", "-P-.*.-***P-.X-X~~X-*~X**~.*X.~-~..PP.--~P-*~XX-X*", "X*.P.-X---~*--X~*~~~*--~-....-*.~X.*~..*X*-~~.*.PP", "~***-X*.-*P.~-*PX***..XP~.~-*-.-~P~.X-*~*..~.-X.X*", "*@X*~-..*X~..P-.-P.~*.P~.-X~P~.X*~.*~*.*.~.X**~XP*", "-.-~.~*.*X--*.~-P*-~*~--**~.~.~X-~X-.~X-~--X-*.**.", "~-~--X*P*.~~-X~X.P..~-.-X-~~.~.~.~XXX~*.-.~**..--~", "*~P.X.PP.~*.P~P*~-*.*-~--~X.-XX*.*X*X.~-.-~.-X-.X-", "*~~X-XX*.**~-~P..~*XX~.*~*....X-PP-*.XX-.*X...P.X*", "~~.~X*-*-*~*X-X.--.~~-X*.~X~X~X*.-.X.-.~X~P-~*X-..", "-.*-.*X-***XP*.X~..~*~*-X-X-X-*~~X.PXX-.P-.*~.X.~*", "-X.-X~--~**-P-*.-*~P~~-XP*X-X~.-~~.*P~X~---*~.-XX*", "*--X.**--**~~*.--~.-.X*~*-P~*.X~X.*X*.X-**-~XX..XX", "~-*.-X.X--**~--~.*XXP--.~.XP*.*--X~.XP*~-X.X.-~.~X", "..-~-X..*--*.**X--~X*~*~X~.-~P--...*~*XP*-~-X~~.-.", "*~-.--P~..**.-*~~*~~X.-~.P~-XX--P..~-~~X~*~--.X~*.", "X**X-X.~~**~P*~.*.-~.~X*.XX**-..~~P.**P~-..X~*~P~.", "PX.-.-*~~..~~--~.X~PX-~~~.~X*X.**-*-P*X~.-X-P*-**~", "~..-.X~-~*.....~.-.P~*.**X~.-*.~~**~-P.-*-P-~X~~*P", "*-..X--~.*X**..~.~*.P-*X-X~.*~--~-X*.X-**~~.-~*.-~", "*XX-~-*X~****~.~~X*-~-X.-.*.*--.*XXX~*~~*~.--~*-~X", "P**.-**~--*..~-*-~~~.P-~.~-X-**-X--*~~..*-~XP-*P-*", "***X*-~P*.~P*X*P~.-X.-~~~-X~P--~P..*P*PX.....X**--", ".X~..P-*..*-**.****P~.X*-~*.~X---*X-***XP*.X~~..--", "*.-*.X-X-.*X-*~-~-*~-.*~.*-~*XXPPX.~XX~**.*XX****X", ".....~.*-XX.-X~*~P~-~-X*~X--.*~X.P.PP*.P**~~~..-X.", "*XX~*~--*~X....**X--~-~.~~*-~X~~PX--~-X-X-*P*P~-~*", "~X.-.P.~.-X.**.--*~*~-*-P-.-X*X.X.~*~*~-*PX~X**X--", "X.**~-X*-*-P--P*****X-X*P-*-.~*-P.-.*.-X.PX~.P~~P-", "**X-*XX-*.-.*~-X~X.*-*X-*-XP--*.-P.--*~.*~~~~**-.-", "~~~.~X-.-..-.-~--~-..~XX-*.X~X.X**...--*-~PX~*-.~-", "--XX**X.-*.*.PX~..-.~P-~~*~-~.----.-X...P.*-.~X*.*", "-P~X.-.-X..X-P-.-~-**.*-X-.~.--~P*.*.X~.~~*..P...*", "..X-*X~-X~PX*~P--.-~..*P--*.*~.XP*-~*.~.**~-~*.X*~", "**X-X-X*.*X*~**X*XP-.*XX-*~.*~.~-..-...*.*.~*~****"}

    Returns: 146

  31. {"-*~-XP~--~--.~-**~--*..~.X.~~X*-*....~~~..-...~*.X", "~X.-X~~.~PX-X-*X*...-.-.-.~..-.X.~X*~-X*.*.*-~---X", "~-~.*X-~~..-X~-~--~.X*~.P..*~*-X---~.**-X~-*X*-X~*", "~P---**XXP.~...P-.~~X~X~~~*~*.~..X~~~*P..*-****X--", "-~-.~~-~*...--.*X*-.~.-*.PX*X*X-~-..P*.X.-X~.~P-*~", "-*~~--..-X..X.*-*.-*~--X.X-*~-*.*--*.~.X~-~.*P--X*", "-.X-X~X~*~~~~.-..X~.*X*-.X.*-~-***X~~PX**--.*-*~..", ".X~~.*.~~*X-.~-~---..*-X.-X-.-X--***.***.~X.*~*--P", "****-~P*.~P.~*P*~*-XP*X*-~~*X**P.-*.*~XX.*~**-~--~", "~~...~~~X.X-.~-.~*PP~X*.X...-.*~-P**--*.**-*.X.-.-", "-XX-..*~.**~P-*X~X.~~.XX*X~*~--X~-**-.--X-~**.~*.*", ".*X~P-*-X--.~~*-*.*P.-~*-..-X..XPP*-.-**.~~~~.X~..", "~P-P...*.-*~*X~.*-X~*~.*-~~P-~.~--P-~-*.****~.XP**", "-~-.*.X.*X~**.--~X--~-*XX*~X.~--.*.X.PPPXX-**~-*~~", "*.X-.-*-*XX.--*~~.~X-.-.~~*.-~.PX.*.*~P.~..-X-*-*~", "~~*X*~.*~X-.~~P*-.*..~~.~X-*.~--.*--.-.-.~--*-~-X*", "-~.~-.~...*..--**-X-PX.*.~...*X*X-.*~-*-*~X~-..*.~", "~.*X*-**..~-***PXX*~~*~*--.XXP**X*XX~~P~.**-XX.*P.", "P..X**P**~-.~..~----.-*.X.-*P~.XXXXXX-*X-PPP~-~~.~", "***XP--.~--.P-~**~~-.*~X-.PP--X~XX~*-~XX*-~X*..~~*", ".-~...~X-***-~.X.PXX~-~--.**.*.-.*~-.PP*~-XP*-~-XX", "-~X*-P.~-..--**~*~.~*-~~*-XPXP-.-*X~*~~*.--~--.X~.", "X.*~*~.X*PP~~.-.X~.**X~.*.--XX~.-X~-~-~X.-~~*.XX~P", "P-~.~.X-.*~.~P..***X.~-~.**--*-*--*~*-*P~.PX~X~~*~", "X-.XX*-..P*.X~.~..--~-....*~~P~*-~-.XXP~~~.*-P-*.~", ".X--XP-.--X.*--~*-*X-.~-X.-*X.*..*-*~XP-*X*.-*--~-", "~-XX*--..~-~~X-X-~~X~-X**-*~XP*X**.-~PX.-~PPX-~~-*", "~~-~*.*~~X*-*.-.~*~XX-*~X*~~.~-**.-*~-..-PX.-*~*.X", "*~*.~-*X~~.*~.*P*X-~.*~~~~.--~.*~~~*.~X.*.~..X.-*P", "*~*-.~*-~..XX~.-~**X*~-~~-*X*-..*..*XX-~~~*X*X~*.~", "-XX.~~*~.-.X-~-~-X~.-XX~~*~.X-.X-.P.-..-X.*P*-*~.*", "--.*X-.XX~.P.--P-*~**--XX-~~*.-~..~-*~*P~PPXX.X*.*", "-~*.**..P~~*-...*~~*~-*-..-X*-.~*.*X*~~-X..-X.*X--", "~~.*-.X-.~*.-~.X.*.~-.*X~*-.*-.*X-**.X-~XP.*X~.P.*", "~~---~*X-X~~.~*~X---~~P.XX~~X.X..-.-~*.-**~X.--XP.", "X*.~~-.*XX.--X~~X.-.~-.P.-...X****-.*.*..~****X-~-", "-~.P-~X..X~~*--P~PP-.*P..*X-P.X~*~*.~-.-*-**~*P@X.", "X-**-*.*~-P~*P..X~*X.*~-.-.~*-X.-P**---XX~.~~***..", "X.-X.*.~*XX~~*.***~**~P.*~*.~*-X.~P-~-*~~X~~X*XP..", "---*~XP**PP*.*-X.*-P.-X-*~-~X-XX~*.~.-.P~.~~~-P.X.", "*..-~..*-~P-*~---X-*X~-.--~*-..-~**P*PXPX-P.~~X.XP", "**-X*.XP~X**X~-.X-~~P.X--.*.X.P-.*.--~**~~-*-~.~XX", ".P~~P-.P~.***~~-P*-.-.-~--*-X..X--X-X..P*.*~.-P-~X", "-**X-.-~.-~X.**.X~*.*X-~X*-PX*.*~~-X~X~.~X.X*XX*~*", "*-*~P*..~.~-*.~--X-X**X~.*--X-~-~P.---*P*.X**-X--~", "*.~.XP-..**P*.~*.~--*-X-*.P*~***~X~XX-X.~P*-P**~-*", "-.X-X~X.X-P-P.~.*~-**.--~*.~~X*XP*~-**-*.-~*PX..-~", ".X~..P..X~P~...X~X.-.--X-~-*..~~..X-*.---**-.~X..-", "P-P-**-X-..-*X~..@~XX*~.X..~~~~X..X~*~~*~-~.-P~..P", "-~~.~*X*X~~-~-~--~XP.~~~.X**....*..***-~-X*X.-.X~."}

    Returns: 138

  32. {"-*.--~-~-~X~*-P~-P-X~~*X...*.*~~~~X..**X-*X-*~~.*.", ".-..X*-.-*PP~~.~-.-*-*~*-PX~X-XX-*P*..X---.~~..~*.", "***-*--.*X*X.~~~*-*---.-*-***.PX*P~X~-*---.-.XP~*.", "*-X...**-~~.-X~XX*.P*X~*X~-~~-X*-.-*-.-.*X..~-XXX.", "~-.X~P*..*...-.~P-.X--*.*.*-X~~.P~X*-~~.X-.*-.*-.*", "PX~*~XP*~.~*-~XP*.-*-.*-*.~.X~.~--.X*-*.~-XX.*X~.X", "~-~-.*XP*~--..X**.P*---~~~-.X*X-.-~P*-~-.XP*..*.X*", "~*~XX*--~-X.~X~-*X~~..-~-~**-****..X-X-*~~**X-.-~.", "--.-*..*XX~.-~-~*--.~~~X-~P*~-~XX-***P~~---X.-*X*~", "*~*.*.~~~-.~*..~~*-~~~-P~**..*~PXXP.*-.*X-*..P..*~", "*.-**~~.**~-.X*XP--~..*P-..~.~.-.-.X.~~~-.~~.X.-*-", "XXP*..XP~-X~-.~~~-.XX~-~X*~~~X-**-X*--.PX.-P-*----", "..~-XP.-~-*P.**--*XP**P--X*~**X*~~-X..*-P-.-X~-~*-", "--**P~~*~~X-*-..~~.~.~~~~**.P~.~~-X*XX~--~X*.XX~*~", "~.~~XX~*~~.P*P~---~X.*.~.--~*P-~*.PPXXX.-.~-~.---*", "-~~-**.*P~~.-X*~P--*X-*~-..~--XP*X.-X**~*X-~...~*.", "~-*-~~~~X***~P-*-~*-XX.*--X~.-*-~X**~.--~-.-.*-.P~", "X-~.X~-*-PP*..X~.-*--X~P.-**-..-*X*-..~*-*~~-**~~-", "-~XXP.-X-.~.~X--~~~XX--P-XX~..~.-~*XX.~*.~*.~XP*-*", "--*.-X.~.*..~~***X~*X-.~.-X~*..-~--P*~XX-**X~..*.-", "~X*XXX--X*.~~**--*.~*-.X.XX~-~**--.X.*X*.-.X-~~**.", "-**~-*~.-~.---~X-*-*-X~-**-~...*~.~-~.*~*-XP..~.P*", "~*.----..X..~**.~~.*P..*.~*-P...-P-*~X-*-*.P~...*.", "*P**.~P-.*.~*P~.~--~*-~-.*~~..-..*-..-~--.-.-..--X", "X~***XX*~~P.~~*.-P*P~~X.**~~P*--**-X.X.-*-X*.XX*P*", "-.X--~-~X-*.*~*.*PX*~**.**X.~-**.~--*X.-P~---**~~*", "P-*X~X*-.X-X*--..*-*X*-P-*--XXX.~**P@*X-.*.-*-.**X", ".*.-~~-.*-.**~~X.-~P*PX.-*-*.~-~~*-~~*~.P.P.~X*.P~", ".X**~~-.-.-*.~.XX***~PX*~X*-~.X-*-~-...~~~-P-..-X.", "**X**-~-X.**~.XX--...*--*~~~..PXXX~X..*X*P~~.*X**-", ".**~--..~*-.~-~~*X-..-~*-***PX-*.*P*-*X--X~--X.-XX", "-~.~~X.-P-**~--X~X~P*P~*~.~.-*--..X~..-.-~.-.P~X-X", "**..P-X-.~-*.*.-**-.XXPXP~~P.-X..*XXP.~..PX*-*..P~", "*.-X*P.~.*-~.~*..~-X-X*P.*~-.P-~*-.-X~..X~-.-*--~*", "P.X**..*.~~P-~.X~.~~.-...~~~X-X*X**~*~-~**~X*-X-..", ".~.*..-X~PX*~~-~~~~.-**-~..-*---X-X~**-****~...X*.", "...~P*~.*XXX~*.*-..*~.-*.~*~.-P*~.P~..~PX..~.-X**-", "~~~.~*XXX--X*-P*~*P.-**.XX~-.-X.P*X*.*-.*-~PPP-...", "~..-~-~*XX.*~**~-.*-~P-*X.*.~~~.X*-~*~X~~-X.X~~.-*", "~~.X*.X*~--.*X*~*-.*X-.*~~.-**~--.*.~X~--.-~.***~~", "~-*X-X.*-~~--.X*~~~X*P~XP~*..X**.-X*~*-~.~~-*..~~.", "*X.*XX~***.-..XX~*.X**-~.P*.~---.-..-.~***X~-~.~.X", "-~~~~*.*X~P.~-*-.X.*X**X.*..*~-..*--XX.~-**-*..-.~", "-~-XX-*-*-.XXX.-...~-.~*~*-~*--P.--..-..~~-P*.X.X~", "P~.*X-~--*-~-X*X--P~XX.-.PP-~XP~*.*.*~-~.*-~-~.--~", "*~*~@~~.-*P..-X.X~.XP-PX*.-*..~X~*-.~.-*~-.-X-.~.~", "*PX-X~*.~.X~.*.~-XX-~*~~-..~*-X~-~--X-*.-**XP-P.*.", ".-~*-X..*~.X*-.~*X~X*.*.**.X.***X~-P.X.-..~*X-PX*~", "-.~~~*-.*-.~.-PP-~*-~-X-P.X~~~X~XP-X.X.~.*-P.*..-.", "~--.P~.-X*.-~~*P**.-~.*..X..--.~.~.X.~*P~*...*P-*~"}

    Returns: 209

  33. {"~-~.X--~.*X~X-PP.-~.--P*~XXX*XX.*...*~...X*~-~.X.~", "~---*.P*~~-~~~~X**P*.----..~*~XX-X~-*-XX-..*.X-X~-", "P~-X.P.***X.X*-.P.-X*-P.-~.*--~~-~--XXX-~P~...X*PX", "~.*~*XX*XPPX***X*~-X*~~P~*~*.P-.PX..P~****-*~.*-.X", "P..---X*.-.-~X*~.~*..-*~-~.P~-.*~--**-.~-***~~-~*~", ".XX~*X--~~-..*.--*.~*X.~.****-*.-..X-X-.~P-*XP.P.*", ".--~X~P*..P*X-..~X*X~~~*.-X~XPPX**X-..--.~-.XXP.~.", "*P-X--.X*.~X.-~.~*X~.~X*~XX-~.*.~---*-*.*...~~.--~", "X.*-~P~-~-*X-~.-~~~..*.~*-*X-P~*-*--~*-*-~-*..-P.*", "*--X~XPP.-.*.-P~P-*.~...--X*.X***..X..X~~X-~*-~.*~", "~X*---~-~-*--*X.*.~*X~*~.-*-X~-P**--X-**P~-PXX-.-*", "*PXP*-P--P*~*-*-*~~-*~-.-~XX*--X.~X-.--~**~*X~X-.X", "--*~-P.--*P-P-X-.~~-~P-.**-..~.*~-X---X.*-X..*~**~", "~**~*~~*.-P*--..X.P~~X-~*.*~*X**.~-P.-PX--~..*X-~*", "*..***~*P**X**-X.*..~.*-*~~*.X-X~~-X~*~-.-~~~~P~-~", "-~~P--*~.*-*.*X~*X~PP~*-.P.-~.-~P.*..~~X*.*~X..X*~", "-X**-~PX-*P.-X.-~P-.--~~-*X.**-~.-~.-~-.*X.*P--**-", "*~P.**---.~-*-.-.~~XP**.~X...X.*.-*X*.-~*~.X*-X**P", "~-P*~*~.~XP~.*X~--..*~~.*.~--.---~X-~~.-.~~-..X-~.", "X~....-P-.~.*XX*.-.~*~.*X.-.*-...*XX~X.X*.~X.*~XX-", "-~X*-X-~X*X**~-.--XX-XP~X.~**-.~*XX*-X*~--XX-*~.*~", "~P*..*X~~*XP-*.X~.-*X~*..-**-.X~---~.*-**.--*~.~~*", "-~--**-~.X---X-PXXX~X*X-P*P~**~.~~~.-X~~.-~~XP-~~.", "*X~XX..~X-~~X-*~-*---X*XX~~-~X~~.-~~-X.P~-.*X-P@--", "*X..~-X~~~.**-~.-.**.P~*.--*X.X~XXX-X*.X~P-*X*~~-*", "~.-.*.~-~X.-~X--P~X*.*-.P-P~--X.--X-.~**-.-.~~*~XP", "*PP~-P.~--~..-*-**-PX..-~~*~P**P~X-~*~.*---*X~XPP~", "-.*X~~*P.X-.~--~~P*-**X.-*--***-X.**-P~.XP~--P-~X~", "-*P--*--X.-XX.*.~*.P**..*-~.-PP.-~*.~~--~X-*-..--.", "~*-X-*X.XP.--....~-X..-~~P-~-~X~-X~XP.*XX-XP-*XX.X", ".-P-X~.XX-~~P~~~-~..-.~..XX.XX~~.*~-..~..P..-.--~X", "~P.~.*~.~.-P-*~-..*.XPP*P-**~.~*~*.X~X~X..~.-~.~.*", "*XX~X.*~~*~-X.~--X~~*XP*P-X-~-~-.~P-X~--X~~~P.X--X", "~X*-.X-.-~..X*.--X*-*-*~.-.P--P**P-*-.~X.-~~~~X-**", "~*P~P-X*-.-~*-~..*-P..*~-~*-~PXX*.~X.~***XP.XX*-.*", "-..--*~-X*.~X~~X.-~~-~-~-.~~-*****~*.~*X*-*-P*~--~", ".*.-*~X.--.*~...**.X-.--~--~**~~---*~P~.*..X*.*.*.", "-~.*-.*.P..X.-*~*.-X*~~**~-*......X~..~XP~X*-.~-X.", "**X*~-~-XXX.XX-~P...~~~-@--X**~P~~-.-~..~..~~**~.~", "P~.P.X~PP-**-.*XXX~..*X.-.*~~.-.---*PX-*..XP*XP..-", "*XX*X~~-**.--X.X*.*~X.-.X-X-.~~***..~X*~P~*~*.~-~*", "~*-X-~*~~*-**.-~X-...*---X**~~~*-X.~~-.~X*PX~X.~-*", "P-~~**.~~.X--P.-P~~P*~-~P-..X~.-*~~P-X-~*~~~-XP.-~", "-~.-.X~XX-*-*.X.-P*--*.-.-~..X....~~*X.~-P*~P~-*X.", "*-P-XP.-..~.*-X-.~-~.~.X*~.~-..XX.P*-~P*..~.~--~X~", "~X**-*~.XX-~---*-X-*XP.-**---X~~*.~~--~*.~*X~----*", "PP--.**P~*~**~..X.-~~-P*..-..*-*.*XXX~--.~X*P-X-*~", "X.~~~X*-.X~-.~~P.*~*..-X*X~-.-.-P~*X-.XX-**X~*XX~*", "X.~.*-X~-.~-**-..--**-~*~P--.X~***--..*.~~~..~-..~", "PPX**~*..-P-~X*.-PX*X**-***~~-~..*-~..X-.X.~~*-~*."}

    Returns: 141

  34. { "@***X", "~P~~X", "~~~~X", "~~~~*", "@****" }

    Returns: 36

  35. { "@~~~@", "*P~~*", "*~P~*", "*~~~*", "X****" }

    Returns: -1


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: