Problem Statement
You are given a
There is an entrance in the cell (0, 0) and an exit in the cell (N-1, M-1). From any cell (i, j) Ciel has at most two options how to move: she can move to the cell (i+1, j) or to the cell (i, j+1). Of course, she cannot step outside the room and she cannot step into a cell that contains a wall.
Cat Snuke wants to color each empty cell black or white. Additionally, the coloring must have the following property: Each of Ciel's valid paths from (0, 0) to (N-1, M-1) must contain exactly one black cell. Return the number of ways to color the cells, modulo 1,000,000,007.
Definition
- Class:
- OneBlack
- Method:
- countColorings
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int countColorings(String[] grid)
- (be sure your method is public)
Constraints
- grid will contain between 2 and 30 elements, inclusive.
- Each element of grid will contain between 2 and 30 characters, inclusive.
- Each element of grid will contain the same number of characters.
- Each character in grid will be either '#' or '-'.
- The first character of the first element of grid and the last character of the last element of grid will be '-'.
Examples
{"---", "---", "---"}
Returns: 5
There are six valid paths Ciel may take: (0, 0) -> (0, 1) -> (0, 2) -> (1, 2) -> (2, 2) (0, 0) -> (0, 1) -> (1, 1) -> (1, 2) -> (2, 2) (0, 0) -> (0, 1) -> (1, 1) -> (2, 1) -> (2, 2) (0, 0) -> (1, 0) -> (1, 1) -> (1, 2) -> (2, 2) (0, 0) -> (1, 0) -> (1, 1) -> (2, 1) -> (2, 2) (0, 0) -> (1, 0) -> (2, 0) -> (2, 1) -> (2, 2) Each of these paths must contain exactly one black cell. There are five ways to do so: Color (0, 0) black. Color (0, 1) and (1, 0) black. Color (0, 2), (1, 1), and (2, 0) black. Color (1, 2) and (2, 1) black. Color (2, 2) black.
{"---", "-#-", "---"}
Returns: 11
{"--#", "##-", "---"}
Returns: 64
There is no path, so all 2^6 colorings satisfy the condition.
{"---------------#-----#----#---", "-------#----##----------------", "-#--------#--#-#--------------", "---------#--------------------", "----------###-------#--#-#----", "#------#--------#-#--#------#-", "-----------------#------------", "---------------#-----#-#--#---", "-------------#----------------", "------#--#--#---#----#--#-#---", "-----------------##-----------", "---#------------##------------", "-----------#--#---------------", "#---------#-------------------", "#---#---------#---#-----------", "-#-#--#------------#----#---#-", "----------------------#-----#-", "-----#-------------------#----", "-----#--##--#---------#---#---", "--#------##-#--#-------#--###-", "---------#----------------#---", "----------------#-------------", "--------------#------#-------#", "----------------------#-------", "-#-------------------#--------", "-#-#-#------#------------#----", "-------#----------------------", "#-------------#---#--#--------", "-----#-----#--------------##-#", "-------------#--------#-------"}
Returns: 96909591
{"----", "-##-", "----"}
Returns: 18
Color (0, 0) black. Color (2, 3) black. Color one of {(0, 1), (0, 2), (0, 3), (1, 3)} black, and color one of {(1, 0), (2, 0), (2, 1), (2, 2)} black. The total number of valid colorings is 1 + 1 + 4 * 4 = 18.
{"------##", "-##--#--", "---#----", "-----##-", "#-------"}
Returns: 432
{"------------------------------", "------------------------------", "------------------------------", "--#####------###-------###----", "----#-------#---#-----#---#---", "----#-------#---------#---#---", "----#-------#---------#---#---", "----#-------#---#-----#---#---", "----#--------###-------###----", "------------------------------", "------------------------------", "------#####--------#####------", "----------#--------#---#------", "----------#--------#---#------", "------#####--------#---#------", "------#------------#---#------", "------#------------#---#------", "------#####--------#####------", "------------------------------", "------------------------------", "--------#----------#####------", "--------#--------------#------", "--------#--------------#------", "--------#----------#####------", "--------#--------------#------", "--------#--------------#------", "--------#----------#####------", "------------------------------", "------------------------------", "------------------------------"}
Returns: 903122246
{"--", "--"}
Returns: 3
{"-#", "--"}
Returns: 3
{"-#", "#-"}
Returns: 4
{"------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------"}
Returns: 59
{"-#############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "##############################", "#############################-"}
Returns: 4
{"------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "--------------------------#---", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------"}
Returns: 65
{"------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "---------------------#--------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------#-----------------------"}
Returns: 4160
{"------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "--#---------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "--------------------------#---", "------------------------------", "------------------------------", "------------#-----------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------"}
Returns: 77
{"------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "-----------#------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------#-----------------------", "------------------------------", "-----------------------#------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "-----------#------------------", "------------------------------"}
Returns: 87
{"------------------------------", "------------------------------", "----------------------------#-", "------------------------------", "------------------------------", "------------------------------", "-----------#------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "--------------#---------------", "------------------------------", "------------------------------", "------------------------------", "----------#-------------------", "------------------------------", "------------------------------", "------------------------------", "------------------#-----------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------", "------------------------------"}
Returns: 117
{"--#-#---#-##-#--####-#-#---#-#", "---#--#---#--#------#----###--", "-------#--------#--##------###", "#---------####-#---##-----###-", "-#----#--#--#--##-#-------####", "-#-----#----####--#---###-----", "--##------#----#--##---#---#-#", "-#--#-----#-#-----##----#--#--", "#--#----#---#---#-##-#-#--#-##", "--#---#-#-#---#---#---------#-", "#-##--#---###--#-#-------#---#", "#--#---#-----#-##--#----#-##-#", "-###--#--#-##-###-#----##-#---", "---#-----#-----##--#--#---#--#", "--#--------#--#-----##------#-", "--##-------#####----#--##--#--", "-----------##-##---##----#-#-#", "###----###----------##--#--###", "----#----####---#---#-#-------", "-#------#-#-##-#------###-#-#-", "-##--#---#--------#-#----#----", "#---###-#---------#----#--##--", "---#--#---#-#---------#-##-#-#", "-##---#-#-#--##---------#--#--", "##---#-#----##-----##-#---#---", "-#--------------#-#--#--##--##", "-------##---####-#--##----#-#-", "#----#-#---#--##-##---#-----#-", "-----#----#-#-#------#--#-#--#", "#-#-----#-#-#-##-#------------"}
Returns: 295513947
{"--------------------#---#-#---", "---#---#-#----#---------------", "-------------------------#---#", "---#--------------#----##--#--", "------------------#--#--------", "----#-----#-------#--#------#-", "---#--------------------------", "-----##-----------------------", "---#---------------#-----#----", "--------------##-----#--------", "-#-----------------#---#---#--", "----------#--------------#----", "---------------------#--------", "------------------------------", "--#---------------#----#------", "--------------------------##--", "------------------------------", "----------#-------------------", "-------------------------#----", "------------------------------", "--------------#----------#----", "--------------#---------------", "----------------#---#----#----", "-------------------#---#------", "-#----------------#---#-------", "---#----#-------------#-------", "--------------#--#------------", "-------------------------#-#--", "------------#-----#--#--------", "------------------------------"}
Returns: 9955890
{"------#-----------------------", "-------------------------#-#--", "---#--------------------#---#-", "--------#-------#-----##------", "------#-----------------------", "----#----#--------------------", "#-----------#-----------------", "----------------#-----------#-", "------------------------------", "------#-#----------#--------##", "--------#------#-------------#", "------------#------------#----", "----##-#---#--------------#---", "----------------------#-------", "----------#-#----#------#--#--", "---------#-#-#-----#----------", "--------#-------------------#-", "----#--------#---#-#--#----#--", "-------#-------#-------#-#----", "---------------------------#--", "#--#------#-#--------------#--", "-----------------#------------", "--#-----#---#----#---##--#----", "------------#------------#----", "----#----#--------#----------#", "--#-#---#---------------------", "-#------#----#----------------", "--#-----------------------#---", "-----#------------------------", "-----------#---------#----#---"}
Returns: 301749189
{"------------------------#-----", "-----#------------#---------#-", "------------#--------------#--", "#-----------------------------", "----------------#--------#----", "----------------#-------------", "----#-------------#--#--------", "-----------------#----#-----#-", "---#--------#-----#-----------", "----------------#-------------", "---------------#---------#----", "-----------#--------------#---", "--------#--#---------##-------", "-#--------------------#------#", "---#-----------------#--------", "------------------------#-----", "--------------#---#--#--------", "----#---#---------------------", "-#-----#-----------------#--#-", "-------###-#-#---#------#-----", "-----------------#------------", "------------#-----------------", "----------------#----------#-#", "------#-----------------------", "----#-------#----##-----------", "--#--#----#-------------#-----", "---##---------------------#---", "-------------#------##--------", "-------#-##-------##----------", "-------#----------------------"}
Returns: 225317468
{"---#---------#-#---##------#--", "-----###-----------#-##-------", "##------#---#---#-##--#--#----", "-#----#---------------#----#--", "#------#-#---------#-------##-", "#---##-----##--------------###", "#---------------#----##-------", "###-#-#------------#-----#----", "----------------#-#-----##----", "#-----#---#-------##-------#--", "--#------------------#-#------", "#---#---##-------#-##---------", "-----#-#-----#-----#----------", "------#-----------##----##-#--", "------#----#---------#--#-----", "#---------##-----#---#--#---#-", "-#--------#-------##--#-------", "-#-------------#-------#----#-", "------#-----#-#----#----##-##-", "-----#-#--#---------#--#------", "-##--------#--#-----#-----#---", "--------##-------#----#-----#-", "#-----####-------#--#-#--##---", "--##---------###-#-------#--#-", "--#-----#--#---#---#----##----", "-#---------##----#---#-------#", "------#--#--#---------#-------", "-#---------##------------#----", "--------#---#------#-#--#-#---", "#--------#------#------#---#--"}
Returns: 33969021
{"---#----#--#--###----#-##--#--", "----#--#--#-##-----#-#-###--#-", "##------------#---#--#-#------", "#------#-#----------#---------", "-------#---#----#------#------", "--------------------#---##--##", "##----------##--------#--###-#", "--#--------#----------#------#", "##--#-#-#--#--#----#----------", "#----#--------------#-#-#-----", "#-#-----#--#----#---##-------#", "#---##--#-#-#-#--#--#--#---#--", "-----#--##--------------------", "####-----#-----#-###-------#--", "--#-#--------#--#--##-##-----#", "##-#------------#------------#", "--#---#-----#-#-###---#--##---", "--------------#---------#---##", "#-##-----------#-##--#------#-", "##---#---##-##------------#--#", "#---#--#-----#--#-#-#---------", "-------#---#-----##-#--##-##--", "#-#--------#-###---#---#----#-", "#--#----#-#-#-#-------####-#--", "--#-----#----#------#-#-#-----", "--#--#----##----#--#--------#-", "--##-###----#-----#-#-----#-##", "--####----#--------#-#--##-##-", "---###--###---#-----#---------", "#------#--#--##---#--#--#--##-"}
Returns: 414188580
{"----#---#-------##-#-#-#------", "-------#------------#------##-", "-#--------#--------##---------", "---------##--------#------#-#-", "---------------------#---#---#", "---#-#-------------##--#------", "--#---#---##-#-----#-##-----#-", "---------#-----#-----------#--", "#------#---#-----#-#---#--#--#", "-#--#---#-#-#--------#--------", "-#-----#-----#---#------------", "----------#-#####-#---#-------", "---#-----#-----#------#-------", "#-------#-##----#---#--#-#----", "----#---#-#-#----#-----#-#-#--", "----#-#----###--#---#---#---##", "#--------#---#--#-----#-##---#", "--#----------#-#-#--#--#---#-#", "----------------------#-#-----", "---#-------------#---###---##-", "--#------#---------##---#--#--", "------#----------------#-#--#-", "#-#-#--#---##-----#-#--------#", "--###---#-####----------------", "-#---##-------------##-#------", "------#--#---#-#----##--##---#", "----#---#-----#--##-----------", "---------#-#-------------#----", "--#--###--#----##----#--##----", "#-------#-##----------##----#-"}
Returns: 936466596
{"----------##-----#-----------#", "-------###-#----------#-------", "--#-------------------#---#---", "-----#-#--#----#-###--------#-", "##-#------------#--#----------", "----#----#--##----##---------#", "-#--------#-#--#--#--#-#---#--", "----------------##------------", "----#------##---#-----#-------", "---------#---------##---#-#---", "--#-----##-----#-------#---#-#", "#-#--------#-#--#--##---#---#-", "##-#------#----------#-#------", "---#--------------------#---#-", "---------#--#-----#-------#-#-", "#--#--#-----#--#-#-----#--#-##", "-----#-------------------###--", "--#--#-------------#-#--#-----", "--#--#-##----------#------#---", "-----#--#---#------##---#-##--", "-##-----#-----##-#-#------#-#-", "---#------------#-----##-##---", "#-----#----------#------------", "--------#---#--##-#-----------", "##----#-----#---##------#-----", "#---#--#-----##-##------#-----", "----#----#-------------##-----", "--#------------#--------------", "#------------------#----#-----", "--#--#------#-----#-------#---"}
Returns: 542988934
{"----##----------#---#---------", "------#----#--------##-------#", "--#-----##----#-##---#--------", "#-------#------------#----#-#-", "#-----#--#-#---------##----#--", "-#-----#-----#-###--##-#------", "-#---##----#-#--#---------#--#", "-#-#---#--#---#--#-#--#-#-#-##", "-#-#--#------#--#--#----#--#--", "--#-#---------#--#-#-------###", "-#-#----#--#--------#-----#---", "#----#-------##-----##--#----#", "--#--###------#####-#-#-#----#", "#------#-#-#---------#-----#--", "#----#-#---------#--##--#-#---", "#---#-#---#------#-#--#-------", "-#--##------#---##-----#--##--", "-----##-#---#---#-----##-----#", "#-##---###------------#--##---", "#-----#--#--#---------#------#", "#---------#--#--#--#------#-#-", "-----##-#---#---#------------#", "------#--#---#-----#---#--###-", "-----#-#---#-#------#---#--#--", "#---#-###-----#---###-##-----#", "---###--#--#------#--#--------", "--###-----#-##--------##-----#", "######-------#----#-----#----#", "#-#----#-#--#--#---#------#-#-", "-#-#-----#-#--#-##--------#---"}
Returns: 975598919
{"-#-------#--#-#---#---#-------", "-----#-#------#-#-#------#----", "---------#-------###------#---", "-------##----#-#---------#----", "#------#---------#-#----#-----", "---------------------#-----##-", "-----#---##-#--#------#-------", "-#-##--#---#---#-----#----#---", "####-##------##--#-#---------#", "-#----#------#--##--#---------", "--##---#----#--#--------##-#--", "----##---#--------#---##-##---", "---#-#-#----------#-#---#---##", "#--#-------#--##---#-----#---#", "----#--#-#----#-#--#--#------#", "---------#---#----##--#-##----", "-#-----##-#---##-####---##---#", "#-------#----##----#----------", "---#--------#-#---#--------#--", "-------##---#-----#----#------", "--#------#--------------------", "#----##---------#----------#--", "--#----##--##--#-------###--#-", "#----#------------#-----------", "-----#-#--#------------#------", "---#--#-----#-----#-#-----#---", "##--#-#--###-#----##-#---#---#", "--------#-##-------------#---#", "-#-#------##---#-#-----#------", "#-----#------#--#-###---------"}
Returns: 597229950
{"-------------#----------------", "----------------#-------------", "------------------------------", "------------------------------", "-----------#------------------", "--#-----------------------#---", "---#--------------------------", "---------#----------##--------", "-----#------#--#--------------", "--------#---------------------", "--------#----#-------#--------", "-----#------------------------", "-----------#-#-#--------------", "--------------------#-----#---", "---#---------#----------------", "----------------#-------------", "---------------------##-------", "------------------------------", "-----------------------#------", "------------------------------", "---#--------------------------", "----#---#---------------------", "-----#-----------#------#-----", "---------------#-------------#", "------#-----------------------", "------------------------------", "#-----------------------------", "------------------------#-----", "------------------------------", "--------------#---------------"}
Returns: 359126101
{"---#----#---#-------#---------", "-#--#---#-----#----------#-#--", "---------###-#-----------#-#--", "-------###-#--##----#---------", "#----#---#---#----##--#-----#-", "----#-##--------------#------#", "-----#--------------#--#------", "------------###--#-#-------#-#", "---------#--#-#-----#---------", "-#--#--------###--#--------###", "----#-----#-#---------#---#--#", "#--##---#-#----------#-----#--", "-#--------------------------#-", "-#----#----#-#---------##----#", "------#---#--##--#--#------#--", "-##---##--#--#-##-##---#------", "#----------#-----##-----#-#-#-", "------------#-----#-#--------#", "-----#--------#---------##---#", "---##--#------#--------------#", "------------------#--------#--", "###-#----------#--------#-#---", "-------##---#--#-----#-----#--", "-#-----##-#---#-------#-----#-", "-----#-----#---#------##--#-##", "-#---#------#-#-##---##-#--#-#", "##----##-#---##--#------------", "-----#---#------#-----#---##-#", "--#---###--##----#--#--#-----#", "-###----------#--#--#----###--"}
Returns: 403406780
{"-#--#-#--#-----#--#-----------", "------#-####-----#----#------#", "-#----#-------------#-------##", "----##-----#-----#---------##-", "---------#------------##-----#", "-------#------##------#--#---#", "-#---------#----------#-------", "---------#--------#------##--#", "---------#--------------#--##-", "------#--#-#---------------#--", "------#------#-------#-#------", "-#------#-#----#------#--##---", "-----------#---##---#--#------", "---------------#-#-##-----#---", "----#-#--------#-------------#", "---------#--------------------", "##-#------#-#-----#-----------", "-----#--#-#-#----#---#--------", "--------------#--#--###-----#-", "--------#---------#---#-----#-", "---#-----------#------#--#---#", "----#---#------##-#-----##---#", "------#-----#--------------#--", "---#--#-------#---------------", "--------#---------#---#------#", "-----#---------#--------------", "---------------#-----------#-#", "#----#--#--#-#------#-----#---", "-------##--#-------#----------", "-----#-----------#------#-#---"}
Returns: 876513981
{"-----#------#-----#-----------", "------------------#---#-------", "--#-----#--##--#-#----#----#--", "#---##----##-----#-----------#", "#-------------#---------#-----", "#-##-#-#---#----#-------------", "-#---#------#----#---------#--", "---------#--------#--#--------", "----#------------#------------", "----------------#--#----#----#", "------------#--------#--#-----", "-----#-----------------##-----", "#----------#------------------", "----#-#---------##---#-------#", "--------------##----#--##--#--", "-#-----#-##-#---------#-------", "-------#----#----------#------", "#------##---------------------", "-------------#---#-----------#", "--#-----------------##--------", "----------#------#------------", "--------#--#--#---#----------#", "-----------------#------#-#---", "-----#-------------------##---", "---------##-----#-------------", "#-#---#--#-#---#----##--------", "-##--#--------#-------#---#---", "#--##----------#---#-#--------", "---------#---#---------#-#----", "-------#--------#-#-----------"}
Returns: 193642193
{"--#-#-----#-#---#----##----#--", "------#---#--###--#---###----#", "---#---###----#--#-#-----#-#--", "##---#-----#---------#--##--##", "-----#------#-#---#-----#-----", "---#-#-#--------------#---##--", "-----#--------#------#-----#--", "###----------#---#-----###--#-", "---#--###---#--#--#-###-#-#--#", "-#---#----------------#-#-----", "--#---#--#-------#---#---#---#", "-##-##--#-#---------#---#--#--", "------------#-#-###-------#--#", "-#--#--##--##--#-----#-#--#-##", "----#-------#-------#-------##", "###----#---------#------##-#--", "#-#-----###--##-----#--#####--", "-#--#----##-#---#-##-----#--#-", "---------------#-----#--#--#--", "--#--#----#-----#----#--------", "---#---------------#-##--###--", "##----##--#-------#--#-----###", "#--#-----#----#-##--#---------", "--##-#---#-#--#-#--#----------", "-##--#--#---#------#----#----#", "-------#----#-##---#----##--#-", "#------##--#----##--#-#-------", "---#-------#-#--#-#--#----##--", "##--#-----------###-#---#---#-", "-#--#----#------#----#--------"}
Returns: 735864682
{"--------#--------#------------", "--#--------#-#---------#-#-##-", "---------------##-------------", "-----------#---#---#----#----#", "-----#--#-#-#----##-----------", "----------------------#-#-----", "---------#--------------#--#--", "#--------#-#----------#-#-----", "#---#----------------##-------", "-----##---#-----------#---#---", "-------##-------#---#--------#", "------------------------------", "#-#------##---#-#-#---------#-", "------#-----------#-----#-----", "---#----#-#-------------------", "--#---------------#-----------", "-----##-#---------#--------#--", "-#-#----#-#--------------##---", "---#-----#--#-------------##-#", "----##-----#----#-----------##", "---------------------------#--", "---#---#-#------#-------------", "----##---#--------------------", "----#---------------#-#--#----", "--------------------###-------", "---#-----#--#----------#----#-", "----#-----#-#--##-------------", "-#--#---------#------------#--", "-#----#----------##------#---#", "-----#----#------#----#-------"}
Returns: 289636508
{"------------#--#--------------", "-------------#--#-#--#-#------", "-------#---#----#-#----#---#--", "-------#------#------#---#--#-", "-------#----##-#--#-----------", "----##--------#-----------#---", "--#--------------#-----------#", "---#----------#---------------", "-------------------#----------", "---------##-------------------", "------------#------------#--#-", "--#------------------#-#------", "--------------------#---------", "-----#-----#---#--------#-----", "--#--#------------------------", "----------#------#-------#----", "#-#-----#-------------#-------", "----------------#---#---------", "-----------#------------------", "----------#-------------#-----", "-----##--------#-------------#", "---#---#--#-------------------", "------#-----#--#--------#-----", "-#----#--#----#---------------", "------------------------------", "--#---------------#------#----", "-------------------------#----", "---------#-###-------------#--", "--##-------------#--#---------", "---#-#-#-----#----#-#---------"}
Returns: 24631739
{"-----#------------------------", "-------------#--------------#-", "----------------#-------------", "--------#---------------------", "--------------#---------------", "-----------------------#------", "----#------#------------------", "---------#--------------------", "--#---#----------#------------", "-----#------------------------", "---------------#----#---------", "------#--------------#------#-", "-------#----------------------", "------------------------------", "-#----#-----#-----#-----------", "---------------#--------------", "---------#--#-----------------", "-#-#----#---------------------", "-----#-----------#----------#-", "-#----------------------------", "#----------------------#------", "----#-------------------------", "---#-------------------------#", "---#--------#--#--------------", "------------------------------", "-----#-----#------------------", "-------#---------#--#---------", "------------------------------", "-----#------------------------", "-------#--#------#-------#----"}
Returns: 819583171
{"------------------------------", "------------------------------", "---------#--------------------", "-----------------------#------", "----------------#-------------", "----------------#-------------", "----#-------------------------", "--#----------------#----------", "--------------#---------------", "------------------------------", "--------------#---------#-----", "----#---------#-#-------------", "-#----------------------------", "-------------------------#----", "--------#---------------------", "--------------------------#---", "-------------------#----------", "-------##--#------------------", "-----------#------------------", "-------------#----------------", "#----#------------------------", "--#---------------#-------#---", "#-------------------------#---", "#-----------------------##----", "#-----#-------------#------#--", "--------#---------------#-----", "-------------------------#----", "-----#------------------------", "----#-#-----------------------", "----------#-------------------"}
Returns: 759377346
{"----------------------#----#--", "------------------------------", "----------#-------------------", "-#--------------#-------------", "---------------------------#-#", "---#---------------##---------", "-----#-------#--------------#-", "---------#--#------#-----#---#", "---#--------------------------", "------------#-----------------", "---------#---#--------------#-", "----------#-----#-------------", "------------------------------", "------------------------------", "-#-#---------#----------------", "---#-----------------------#--", "-#------------#-------#----#--", "---#---------#-----------##---", "-----#---#--#-----------#--#-#", "-------#------#---------------", "----------##----------#-------", "----#-------------#-----#-----", "--------#---------------------", "---#---------#-----##------#--", "---------#----#---------------", "----#---------------#-#-------", "--------------------------#---", "----------#------------#------", "#---------------#----#----#---", "----------------#-------------"}
Returns: 412059707
{"-------------#--##-##-----", "-------#------#----#------", "---#-----#--#------#------", "----#--------#-----#--#---", "---#---#---------------#--", "--------------------------", "----#--------#---#--------", "--------------------------", "--------------------------"}
Returns: 425858887
{"--#------#----#--------", "----------##-----------", "----#-#-------#-----##-", "----#-----#---------#--", "#----------------#---##", "#---#---------##-#-----", "----------#-----#-----#", "#---#-----------------#", "----#---#-----##---#---", "#--#-------#------#--#-", "---#-------#--##-------", "#--#-------------------", "----------#--#-------#-", "-------#-------#----#--", "-#------#--#-----------", "-----------#-----------", "-------------##--------", "--------#---#------#---", "---#-#-#------##-------", "----#----------#----#--", "----------#---#--------", "----------------#----#-", "---#---#-------#--#-#--", "-#-----#--------#-#----", "-#-----###----#---#----", "-##-#------------##----", "#-#-#-#-------#-#------", "--------------#--------", "--##--#--##--------#---", "---------##-#-----#----"}
Returns: 285948706
{"---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------", "---------"}
Returns: 24
{"----#-----------#---------#-", "-#------------##------------", "---#------#--##-#-#--#-#--#-", "--#-#---#-----#---#---------", "-----#---#------------#-----", "---#-------------#-###-##---", "---#----#---------#-----#---", "---------------------#------", "---------#----#------------#", "--------#-#---------#-------", "-##-----#-#-------#----#-#--", "-----#-------#-#------#----#", "----#-#--#-#----------------", "------------#---------------", "##--#-------##----------#---", "---------------#------------", "--------#-----------------#-", "---------------------##-----", "--#-----##-----#--#------#--", "---------------------#--#---", "-------------#----#---------", "##---#-#-----#-----#--------", "-----#----#-----------------", "##------------#----------#--", "-------------------#--##-#--", "--#----#-----#--------------"}
Returns: 566076375
{"------------------------", "------------------------", "-----------#------------", "---------#--------#-----", "--#---------------------", "----------#-------------", "-----#------------------", "---------#--#-----------", "------------------------", "------------------------", "-------#----------------", "--#-----------------#---", "-------#----------------", "-----------#------------", "------------------------", "---------#-----#--------", "------------------------", "------------####---#----"}
Returns: 12156928
{"---#-----------", "---------------", "---------------", "----#-#--------", "---------------", "---#-#---------", "---##------#---", "---------------", "--------------#", "---------------"}
Returns: 142606336
{"--##-", "-##--", "-----", "--##-", "-----", "--#--", "---#-", "-----"}
Returns: 1088
{"-------##--#", "--#----#-#-#", "------##--#-", "--------#--#", "----#-#--###", "-----#---#--", "------------", "--#---------", "-------#----", "-#----------", "-----#-----#", "-#--------#-", "---#----#---", "------------", "-#---------#", "------------"}
Returns: 732742166
{"-------------#", "-----#--------", "--#-----------", "--#-----------", "-----#--------", "-----#--------", "-#--#---#-----", "--#-----------", "-------#------", "--------------", "----------#-#-", "--------------", "--#-----------", "--------------"}
Returns: 2616
{"--", "--"}
Returns: 3
{"-##-----#", "---------", "##-----#-", "--#-##-#-", "#-#-#--#-", "#--------"}
Returns: 208896
{"-------------------------", "-#-----------------------", "-------------------------", "-#-----------------------", "-------------------------", "-------------------------", "#-#------------------#---", "---#---------------------", "-------------------------", "--------------------#----", "-------------------------", "-------------------------", "-------------------------", "------------#------------", "-------------------------", "-------------------------", "-------------------------", "--------------#----------", "-------------------------", "--------#----------------", "-------------------------", "-----------#-------------", "-----------------------##", "-------------------------", "-------------------------", "-------------------------", "------------------#------", "-------------------------", "-------------------#-----"}
Returns: 735313221
{"--", "-#", "--", "--"}
Returns: 10
{"------------------#-----", "------------#-----------", "------#-------#---------", "---------------#---#----", "------------------------"}
Returns: 2112
{"----#-----", "-#------#-", "------#-#-", "---------#", "###-#-----", "#---#-----", "----#-##--", "--#------#", "####--#---", "---##-##-#", "----#-#---", "--#-#---#-", "#---------"}
Returns: 986906381
{"------#--##", "--#-------#", "#--#-#-#---", "--##-------"}
Returns: 7680
{"---#-#-#-", "#--#-----", "#-####-##", "---#-----", "#-------#", "--##-----", "#--------", "------#--", "------#--", "--#-----#", "-------##", "---#-----", "--#---###", "-##-#--#-", "--#------", "--#-----#", "-#--#-###", "##----#-#", "#--#--#--", "------###", "---------", "#-----#--", "##-----#-", "---#-----"}
Returns: 146624343
{"-------#-", "-#-------", "---------", "-------#-", "#-----#--", "---------", "---------", "---------", "-------#-", "--#------", "---------", "---------", "---#--#--", "------#--", "---------", "---------", "#--------", "------#--", "--------#", "---------", "-#-------", "----#--#-", "-#----#--", "---------", "-----#---", "---------"}
Returns: 906604960
{"----#-###--#--------#", "--#----##---###--#---", "----#-#----------##--", "-------------------##", "------#-#------------", "-----#---#--#------#-", "---#------#-#----#---", "------------------#--", "---#--#--------##-#--", "-#----#-------#---#--", "------##--#----------"}
Returns: 780120965
{"---#-----#-", "##-#---#-##", "----#-#----", "-----------", "##-----#--#", "-----------", "-#---###--#", "-#---#-##--", "#----------", "---#-------", "-#---------", "--#--------", "----##---#-", "-#---#----#", "--#------#-", "--#-#-----#", "#--#-#-----", "###--------", "--#-----#-#", "----#--#--#", "----#---#-#", "#---#-#---#", "-----#-----", "---#---#---"}
Returns: 507982897
{"------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","-#-#-#-#-#-#-#-#-#-#-#-#-#-#--","------------------------------","------------------------------"}
Returns: 642381515
{"--#---","---#--","-#-#--","---#--","--#---","#-----","----#-","------"}
Returns: 9961472
{"------#","-------","-------","-----#-","-------","---#---","---#---","---#---","-------"}
Returns: 65
{"------","-----#","#----#","-----#","--#--#","------"}
Returns: 272
{"----","--#-","----","-##-","-#--","--#-","--#-"}
Returns: 2048
{"----------","----------","---#------","---#------","----------"}
Returns: 26
{"-----","---#-","-----","--#--"}
Returns: 56