Problem Statement
Cucumberman went to a theme park. The floor of the park was interesting: It was tiled with black tiles and white tiles. The tiling was systematic: the floor consisted exclusively of repeated copies of a single block of tiles. For the purpose of this problem, we will assume that the floor was infinitely large. The following picture shows an example: a finite rectangular part of one possible floor.

This tiling pattern can be made of disjoint copies of a block that consists of 13 tiles. The picture on the left shows one block, and the picture on the right shows how blocks are placed to form the tiling. Let's call this tiling a 13-tiling.

Formally, a tiling is a way to represent the entire infinite floor as a union of infinitely many blocks, each containing a finite number of tiles. A tiling is called a k-tiling if the following conditions are all satisfied:
- Each tile is contained in exactly one block.
- Each block contains exactly k tiles.
- Each block must be 4-connected.
- All blocks have exactly the same shape. Formally, for any pair of blocks X and Y, there is a translation (no rotations or reflections) of the entire floor that moves block X to exactly cover the current position of block Y.
- The tiling is periodic. Formally, for any three blocks X, Y, and Z, there is a block W such that if we take the translation that moves block X to block Y, this translation would move block Z to exactly cover the current position of block W.
Definition
- Class:
- PeriodicTiling
- Method:
- minBlock
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int minBlock(String[] part)
- (be sure your method is public)
Constraints
- part will contain between 1 and 16 elements, inclusive.
- Each element of part will contain between 1 and 16 characters, inclusive.
- All elements of part will contain the same number of characters.
- Each character in part will be either '-' or '#'.
Examples
{"#-#-#", "-----", "#-#-#", "-----"}
Returns: 4
There are many valid blocks of 4 tiles, for example: #- --
{"#", "#", "-", "#"}
Returns: 3
{"-#----#----#----", "---#----#----#--", "#----#----#----#", "--#----#----#---", "----#----#----#-", "-#----#----#----", "---#----#----#--", "#----#----#----#", "--#----#----#---", "----#----#----#-", "-#----#----#----", "---#----#----#--", "#----#----#----#", "--#----#----#---", "----#----#----#-", "-#----#----#----"}
Returns: 5
{"----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 1
{"-#-#--#-##----#-", "#----#-#--#-##--", "-#-##----#-#--#-", "#-#--#-##----#-#", "----#-#--#-##---", "#-##----#-#--#-#", "-#--#-##----#-#-", "---#-#--#-##----", "-##----#-#--#-##", "#--#-##----#-#--", "--#-#--#-##----#", "##----#-#--#-##-", "--#-##----#-#--#", "-#-#--#-##----#-", "#----#-#--#-##--", "-#-##----#-#--#-"}
Returns: 13
Example from the statement.
{"----------------", "----------------", "----------------", "----------------", "---------#------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 78
{"----------------", "----------------", "----------------", "----------------", "---------#------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 99
{"###-###-###", "-#--#---#-#", "-#--###-###"}
Returns: 26
{"-###", "####", "----", "----"}
Returns: 15
{"-###############", "################", "################", "################", "################", "################", "################", "################", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 255
{"--#--#-------###", "-######--##--#-#", "-##-#--##--##-#-", "###-###----#--#-", "#-###--####-#-#-", "#-------#####-##", "##--##--#-#----#", "--##--##-#-#----", "##----#--#--####", "--####-#-#--###-", "---#####-##-#--#", "#--#-#----##--##", "-##-#-#----##-#-", "-#--#--#######-#", "#-#-#--###----#-", "###-##-#--####-#"}
Returns: 135
{"##-########-####", "####-###########", "#####--####-####", "##-###-#####-###", "###############-", "###-###-###-####", "-######-########", "#-----##########", "#############--#", "###-##-#####-###", "###############-", "##-#--##########", "-##########-###-", "######-######-##", "-########-##-#-#", "#-#####-########"}
Returns: 225
{"########-##-###-", "-#-#-###---#--##", "#--#-#-#-#-#--#-", "-#-#####-###--#-", "-####----##-####", "--##-###--###-#-", "#----#-#---###--", "##-##-##--#-#-#-", "######----###-##", "-#-#-#-######--#", "--####-###-###--", "####--#-#######-", "--#--#-###---###", "####-##-###-#-#-", "-###---#--##---#", "-#-#-#-#--#-####"}
Returns: 185
{"##############-#", "################", "#-#######--#####", "#-########--####", "--##-###########", "#####--###-#####", "###-#-#####-##-#", "#######-###-####", "#--#####-#######", "###-####-#-#-###", "################", "####-###########", "################", "#--######-######", "#####-###-######", "##-#####--##-###"}
Returns: 205
{"#-####----##-##-", "#--###-#---#-#-#", "##-#-#-#--#-##-#", "#-#-#######-##--", "#-###-#--#####--", "#--#####-#######", "#--###-####-#--#", "###--#####--####", "--##-#---#-##--#", "####--#--##-#-##", "--##--######-#-#", "-##---##--####--", "#-####----##-##-", "#--###-#---#-#-#", "##-#-#-#--#-##-#", "#-#-#######-##--"}
Returns: 156
{"-###-##-#-######", "#########-######", "-####--##-#####-", "#--#-#####----##", "##--#-###-##-###", "--######-##-#-##", "-#######-##--#--", "#-###-----###-##", "#---##--#######-", "-##-##-##-##-###", "#-#-#########-#-", "###-#######---##", "-##-#####-##-###", "####----####--##", "###-##-#########", "##-##-#-####-#--"}
Returns: 196
{"-#-----#--#-##--", "---------#-----#", "-#--#-##--------", "---#-----#--#-##", "##---------#----", "---#--#-##------", "-----#-----#--#-", "#-##---------#--", "-----#--#-##----", "-------#-----#--", "--#-##---------#", "-#-----#--#-##--", "---------#-----#", "-#--#-##--------", "---#-----#--#-##", "##---------#----"}
Returns: 22
{"#########-######", "-######--###-###", "##-######--#--##", "#-###########-##", "##-#########-###", "####-###########", "##--###-####--##", "####--#--###-###", "########-###--##", "#######-####-###", "#############-##", "##-####--##-#-##", "-#--###-####-###", "###-###--##-###-", "##-####-########", "########-###-###"}
Returns: 130
{"#####-#--###----", "##--##---####-##", "-#--##-##-##---#", "#-#####-####--#-", "###--####--#--##", "#---#---##-####-", "##-###-###--#--#", "-#####-###-#-##-", "-#--####-####-##", "###----#--######", "####-####-##-#--", "-##---#-####-#-#", "###--#---#####-#", "--#--##-##--#-##", "#-####-##----#-#", "#--#--#---#--#-#"}
Returns: 207
{"--#-------###-##", "#--###-#-------#", "##--------##-#--", "##-#--#--#---##-", "-#---##---#-###-", "------###-##--#-", "##-#-------#----", "------##-#--###-", "--#--#---##-----", "-##---#-###-#--#", "--###-##--#---##", "-------#-------#", "--##-#--###-#---", "-#---##--------#", "--#-###-#--#--#-", "#-##--#---##---#"}
Returns: 69
{"#######-#-##-###", "#-#####-##--##-#", "-##-###---######", "#--##-###-#-##-#", "-#######-####-##", "-#-##-####-#####", "####-####-#-##-#", "#-#####--#######", "-#-##-####---###", "########-#--##-#", "#---#######-#-#-", "#--##-########-#", "##-#-#-#---###-#", "#####-#-#####-##", "--###-#--###-###", "####-##-########"}
Returns: 153
{"----######---#--", "###---###-##-##-", "#-#-#---##-#---#", "##---#--####-###", "#-###---#######-", "-###-####-##--##", "-#-#-#-#--#-##-#", "---------######-", "-#######---###-#", "####-#-#-#---##-", "####-##---#--###", "######-###---###", "-#----###-####-#", "------#-#-#-#--#", "#--##---------##", "##-#--#######---"}
Returns: 157
{"---###--#--##-##", "####----##--###-", "##-#-###-#--###-", "--#--#----#####-", "----##-###----##", "##--#--##-###-##", "----##--###-####", "-###-#--###-####", "-#----#####---#-", "##-###----##-#--", "#--##-###-##-#--", "##--###-####-##-", "-#--###-####--##", "--#####---#--#--", "##----##-#------", "#-###-##-#--#-##"}
Returns: 124
{"###----##-#-##-#", "#-##-#--#----##-", "---##--##-#--#--", "-##-#-#-####----", "-###--##-##-----", "##----##-#-##-#-", "-##-#--#----##--", "--##--##-#--#--#", "##-#-#-####----#", "###--##-##------", "#----##-#-##-#--", "##-#--#----##---", "-##--##-#--#--#-", "#-#-#-####----##", "##--##-##-------", "----##-#-##-#--#"}
Returns: 90
{"###---#--#######", "-###---#--######", "#-###---#--#####", "##-###---#--####", "###-###---#--###", "-###-###---#--##", "#-###-###---#--#", "##-###-###---#--", "-##-###-###---#-", "--##-###-###---#", "---##-###-###---", "#---##-###-###--", "-#---##-###-###-", "--#---##-###-###", "#--#---##-###-##", "-#--#---##-###-#"}
Returns: 31
{"-#-#----#-##-#-#", "-####---#---###-", "----#--#---##-#-", "#-#--#----##-#-#", "###----#-----#--", "#-##-#----###-#-", "#-#---------#--#", "----#-##-#-#---#", "#---#---###--#--", "#--#---##-#-###-", "-#----##-#-#----", "---#-----#---#--", "-#----###-#--#--", "--------#--####-", "#-##-#-#---#---#", "#---###--#---#-#"}
Returns: 144
{"-------#--------", "#---------#-##--", "#--#--#-#-#-#-##", "---#---##-####-#", "#--#------------", "---#--##--##--##", "#---###------##-", "-----#-##--#---#", "--#--#--#-#-----", "-------#--#--#--", "-#-##--------#--", "-#-#-##---------", "-####-#--#--#-#-", "---------#---##-", "-##--##--#------", "----##---#--##--"}
Returns: 144
{"-#-#-#-#-#-###--", "#--------###-##-", "#####----------#", "---#-----##--##-", "--######-#-----#", "#-#-#-######---#", "-#-#-###--####-#", "---###-##-##-#-#", "---------#-##---", "---##--##-######", "##-#-----#-#---#", "######---#----##", "##--####-####-#-", "-##-##-#-#-#-#-#", "---#-##--------#", "-##-#######-----"}
Returns: 114
{"--#--######--#--", "##--#----#------", "-#------##---#-#", "----#####-#----#", "-----#-#-##-###-", "#--#-#-#-#----#-", "###-----#-----##", "---#--#---#---##", "---#-#-------#--", "#-----#-#--##--#", "--#-###---#-#---", "--##--#####----#", "----##--#-------", "-##----#####--#-", "-#--#----#####--", "#-##---#------#-"}
Returns: 216
{"####----###-#--#", "-#-###----#--##-", "----#####-#--#-#", "###--##-##-#--#-", "-----####----###", "-##-#-#-###----#", "--#------#####-#", "--#-####--##-##-", "----#-----####--", "--###-##-#-#-###", "-##----#------##", "--#----#-####--#", "#-#-#----#-----#", "###-#--###-##-#-", "--#---##----#---", "-#--#--#----#-##"}
Returns: 119
{"--#-#-#-#-#-##--", "##-#--##-#-#####", "-###--#---#-#---", "##--#-###--#-#-#", "##-###---##-#--#", "###---###-###--#", "#---#-#####--#-#", "-######-###-###-", "--#--#-#####---#", "-##---#--#---#-#", "#-#####---######", "#-#--#-##--#--#-", "---####-#-##---#", "#---#--###-#####", "###-####-#-#--#-", "-#-#--###---####"}
Returns: 165
{"-#####-#########", "--##############", "################", "#########-######", "##########-####-", "##-#######-#-###", "###-####-#####--", "###-#-########-#", "#-#####--#####-#", "#######-#######-", "--#####-########", "-#######-###-###", "-##########-####", "#-###-##########", "####-###########", "################"}
Returns: 130
{"-#----#----#---#", "----#-#-###-#---", "#--#------------", "--#--##-----##-#", "-####--#--#---#-", "--------###-#---", "----#---#-#---#-", "-###-#---###---#", "---------#--#---", "-----##-##-##--#", "#--#---#--#---#-", "-###-#------#---", "-#-#---#----##--", "--###---#---#--#", "--#--#--------##", "-##-##--#--#----"}
Returns: 148
{"################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################"}
Returns: 1
{"##-#########-###", "################", "################", "#####-##########", "################", "################", "############-###", "##########-#####", "################", "#####-##########", "###-############", "################", "################", "################", "################", "################"}
Returns: 133
{"-----#----#---#-", "###-##---#--#---", "#-----#-----#---", "-###-#-###-##---", "#---#--#-----#--", "--#--##-###-#-##", "---#--##---#--#-", "-#-------#--##-#", "----------#--##-", "-----#--#-------", "----#-----------", "-#---#------#--#", "-----------#----", "------#-#---#---", "-##-#-#---------", "-##----------#-#"}
Returns: 128
{"-#-#-#-#-#-#-#-#", "################", "----------------", "#-#-#-#-#-#-#-#-", "----------------", "----------------", "#-#-#-#-#-#-#-#-", "----------------", "################", "----------------", "----------------", "################", "----------------", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "----------------"}
Returns: 32
{"-#####-####-###-", "###-####-#####-#", "##-########-####", "####-#####-#####", "####-##-####-###", "####--######-##-", "############--##", "################", "#####-##########", "#############-##", "-#-#############", "###-####-#-#####", "#######-###-####", "###############-", "################", "####-###########"}
Returns: 136
{"########--##-#--", "---##-#-####--##", "####-##--###---#", "#-#-#-#####--#--", "#--##--#-#-#--#-", "-######-#####--#", "--###--#--######", "#--#-#######-###", "-#-#-#-#####-##-", "--####-#-##--###", "###-##---###-##-", "###--##--#######", "##--###-##-###-#", "###---#--##-##-#", "##-##--######---", "###--####--##--#"}
Returns: 220
{"##--####-#-##---", "-##----#-#--###-", "####-##--#--#-##", "##---####-#---#-", "#---######--#-##", "--####-#-##----#", "#----#-#--###-##", "##-##--#--#-###-", "---####-#---#-##", "--######--#-####", "####-#-##----##-", "---#-#--###-##--", "-##--#--#-###--#", "-####-#---#-##--", "######--#-#####-", "##-#-##----##---"}
Returns: 79
{"--##-##-#----###", "###-#----#####-#", "#-#-----------##", "-###-----------#", "--#-##-##-----##", "-##--#-##----#--", "#-----#----#----", "---#---##--#---#", "--#-#--####-#---", "------######----", "----#------#--##", "-###---#---##---", "-----##---#-####", "###-#-#--#-##--#", "--#---#-------#-", "-#-###--##-----#"}
Returns: 208
{"#-##############", "##-#####-#######", "##-##-##-#######", "###-########-#-#", "###############-", "######-#########", "-######-#####-##", "##-####-##-##-##", "########-#######", "################", "###########-####", "##--#-######-###", "####-##-####-##-", "#-###########-##", "################", "-###############"}
Returns: 130
{"---------#------", "---------#------", "----------------", "---#------------", "--#-------#-----", "-#----#--#------", "#----#--------#-", "-#----#---------", "##---#----#-#---", "-----------#----", "-----------#----", "-#--------------", "-----#----------", "#---#-------#---", "---#----#--#----", "-##----#--------"}
Returns: 158
{"#-##-#-##-#-#--#", "#####--##--#-##-", "###--#---##--###", "-#-##-#-#--####-", "#--##--#-##-#-#-", "-#---##--#######", "#-#-#--####-####", "#--#-##-#-#-##-#", "-##--##########-", "#--####-#####--#", "-##-#-#-##-#-##-", "-##########--##-", "###-#####--#---#", "#-#-##-#-##-#-#-", "#######--##--#-#", "#####--#---##--#"}
Returns: 58
{"#--#--#--#--#--#", "-##-##-##-##-##-", "-##-##-##-##-##-", "################", "##-##-##-##-##-#", "----------------", "-##-##-##-##-##-", "-#--#--#--#--#--", "################", "#-##-##-##-##-##", "----------------", "--#--#--#--#--#-", "################", "##-##-##-##-##-#", "-##-##-##-##-##-", "##-##-##-##-##-#"}
Returns: 48
{"-####--#####--##", "####-######-####", "####-###-###-###", "###########-####", "-##-##-######-##", "#######-#-##-###", "##--#####--####-", "#-######-#####-#", "#-###-###-####-#", "########-#######", "-##-######-##-##", "####-#-##-######", "-#####--####--##", "#####-#####-####", "##-###-####-###-", "#####-##########"}
Returns: 78
{"#########--#####", "-#####-####-#--#", "---#-#-#######-#", "-##--#--#-###---", "##########-##--#", "#########--#####", "-#####-####-#--#", "---#-#-#######-#", "-##--#--#-###---", "##########-##--#", "#########--#####", "-#####-####-#--#", "---#-#-#######-#", "-##--#--#-###---", "##########-##--#", "#########--#####"}
Returns: 80
{"#--------#-#--#-", "#-----#--##-##--", "#--###-##-#--#--", "-----#--#---###-", "------#--#------", "#-#----#-#---###", "--#--##-#----#--", "##--#--#---###-#", "---#----##------", "-#-----#--##----", "------#-#--##-##", "--##---#--------", "##-#####-----#--", "--#-#--#--###-##", "--##-##-----#--#", "##-#--#------#--"}
Returns: 168
{"###-############", "##--########--#-", "##--####-###-#-#", "##-###-###---###", "#-#--###-##-#-##", "---#-#########--", "-##--###-###-#-#", "----##########-#", "#-########-#####", "##-#####--###---", "#######-#---####", "-----###-#######", "#######--#######", "#----##--####-##", "#-##-##-###-###-", "-#-###-#--###-##"}
Returns: 201
{"--#--###--##-#-#", "-#-#----#---#--#", "#----#--##-#---#", "----------#-###-", "-#-#---#----#-#-", "----##--####-###", "----##-#----#-##", "---##----######-", "-#-#####-#--#--#", "--#-##--#-----##", "#-#--#-#-###----", "-#--###--##-#-##", "#-#----#---#--#-", "----#--##-#---#-", "---------#-###-#", "#-#---#----#-#--"}
Returns: 177
{"##----####-#--#-", "#---##-####-#---", "--####--###----#", "#-#-#-##-####--#", "####--#####-----", "--##------#----#", "#--#-###-#-##--#", "-#-#-######-##--", "##-####---#-####", "#----#####--#-#-", "-----##-#-#-#--#", "##-#---#-##----#", "###-#--#-#---##-", "####-#-----####-", "-###----##-#-#-#", "#-####--#####--#"}
Returns: 185
{"-#-------------#", "#-------#-------", "----------------", "---##-#-------##", "--#-------------", "-#--------------", "-------#-----#--", "--------#---##--", "##--------------", "------------#---", "----##----------", "----------------", "-------#--------", "---------#------", "----#---#-------", "-------#--------"}
Returns: 222
{"#---###---##-##-", "#--#####---##--#", "#-##-#########-#", "-##-##-#---##-##", "-#-#--###-##-###", "##-##-#--##-####", "####-###-###-#-#", "##--####-##-##--", "-##----####-#--#", "----###--####-##", "-#-###########-#", "###-###--####-##", "-#########-#####", "##-######--#-#-#", "#####-#--#-##-##", "-#-###---###---#"}
Returns: 220
{"--#-######--####", "#########--##---", "#---###-#--###-#", "##########-#-###", "###--#-######--#", "############--##", "#-##---###-#--##", "##-##########-#-", "#-####--#-######", "###############-", "##-#-##---###-#-", "##-##-##########", "##-#-####--#-###", "################", "-####-#-##---###", "#--##-##-#######"}
Returns: 99
{"#########-######", "#####-###-###-#-", "-###############", "#-###########---", "################", "################", "###########-####", "############-###", "######-########-", "##-###--#-######", "######-#########", "###-#-##########", "#######--###-###", "###---#####-#-##", "################", "################"}
Returns: 210
{"---#-#-#####-##-", "#-##---#####---#", "---#-#----#-#--#", "-###-##-#-##---#", "#-#----#-#----##", "#-##--####-##---", "#-##--#-#-#-##-#", "#---####--##-###", "-#--##---##-#-##", "#---###-#---####", "---####-##-#-##-", "##---##-#-#---#-", "-##-###-##-#-#--", "#-###-###--####-", "-#-##--#-##----#", "-#####-----##-##"}
Returns: 206
{"##--####--#-#---", "-##--#-##-####--", "#---##---##----#", "------#----##--#", "----##-##-#####-", "--##---#---#-#--", "----##-##-###-##", "##----#--##--###", "--#-#-----##--#-", "#-####--##---##-", "-##----##------#", "---##--#-----##-", "#-#####----##---", "---#-#-------##-", "#-###-#####----#", "-##--####--#-#--"}
Returns: 128
{"###--##--###---#", "--#-##-##-----##", "----#----#######", "-#-#-##----##-##", "-###----####--##", "-##--##---##-###", "#####---###--###", "-##-#---###--##-", "----#-#---#-##-#", "-##----#----#---", "--#-####-#-#-##-", "#####-##-###----", "#-####-#-##--##-", "#--##########---", "##--####-##-#---", "#-----#-----#-#-"}
Returns: 184
{"#----##---#--###", "-----#-#-#--#---", "##---##-#---##--", "---#----##---#--", "--#-----#-#-#--#", "-####---##-#---#", "#-----#----##---", "##---#-----#-#-#", "#-#-####---##-#-", "---#-----#----##", "#####---#-----#-", "--##-#-####---##", "--#---#-----#---", "--######---#----", "-#---##-#-####--", "-##--#---#-----#"}
Returns: 72
{"----------------", "--##--#-------#-", "-#------#-------", "----------------", "---------------#", "----#----#----#-", "------------#---", "----#-----------", "------------#---", "---#----#-------", "-#---#-#---#----", "----#-----------", "#---------------", "--------------#-", "--#-------#-----", "----#--------#--"}
Returns: 181
{"----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 1
{"-"}
Returns: 1
{"#"}
Returns: 1
{"--"}
Returns: 1
{"#-"}
Returns: 2
{"-#"}
Returns: 2
{"##"}
Returns: 1
{"---"}
Returns: 1
{"#--"}
Returns: 3
{"-#-"}
Returns: 2
{"##-"}
Returns: 3
{"--#"}
Returns: 3
{"#-#"}
Returns: 2
{"-##"}
Returns: 3
{"###"}
Returns: 1
{"-", "-"}
Returns: 1
{"#", "-"}
Returns: 2
{"-", "#"}
Returns: 2
{"#", "#"}
Returns: 1
{"--", "--"}
Returns: 1
{"#-", "--"}
Returns: 3
{"-#", "--"}
Returns: 3
{"##", "--"}
Returns: 2
{"--", "#-"}
Returns: 3
{"#-", "#-"}
Returns: 2
{"-#", "#-"}
Returns: 2
{"##", "#-"}
Returns: 3
{"--", "-#"}
Returns: 3
{"#-", "-#"}
Returns: 2
{"-#", "-#"}
Returns: 2
{"##", "-#"}
Returns: 3
{"--", "##"}
Returns: 2
{"#-", "##"}
Returns: 3
{"-#", "##"}
Returns: 3
{"##", "##"}
Returns: 1
{"-", "-", "-"}
Returns: 1
{"#", "-", "-"}
Returns: 3
{"-", "#", "-"}
Returns: 2
{"#", "#", "-"}
Returns: 3
{"-", "-", "#"}
Returns: 3
{"#", "-", "#"}
Returns: 2
{"-", "#", "#"}
Returns: 3
{"#", "#", "#"}
Returns: 1
{"-"}
Returns: 1
{"-#"}
Returns: 2
{"###"}
Returns: 1
{"####"}
Returns: 1
{"------"}
Returns: 1
{"--###---"}
Returns: 6
{"#------#---#"}
Returns: 11
{"--#-#----#-#----"}
Returns: 7
{"-", "#"}
Returns: 2
{"-#", "#-"}
Returns: 2
{"---", "---"}
Returns: 1
{"-##-", "-##-"}
Returns: 3
{"#----#", "--#---"}
Returns: 5
{"######--", "-######-"}
Returns: 8
{"-#-#-#-#-#-#", "-#-#-#-#-#-#"}
Returns: 2
{"#-##-------####-", "#-##-------####-"}
Returns: 14
{"-", "#", "-"}
Returns: 2
{"##", "--", "##"}
Returns: 2
{"---", "#--", "-#-"}
Returns: 4
{"-###", "-###", "-###"}
Returns: 4
{"------", "#-#-#-", "-#-#-#"}
Returns: 6
{"#--##-##", "--##--#-", "-##--##-"}
Returns: 14
{"--##-###--#-", "#-###--#--#-", "##--#--#-##-"}
Returns: 17
{"-----#---##-----", "##-#----#-##----", "#---##-----###-#"}
Returns: 29
{"#", "#", "#", "#"}
Returns: 1
{"#-", "##", "#-", "##"}
Returns: 4
{"---", "#--", "###", "---"}
Returns: 9
{"#-#-", "#-#-", "-#-#", "-#-#"}
Returns: 4
{"######", "######", "-#-#-#", "#-#-#-"}
Returns: 8
{"-#-#---#", "##-###-#", "#-#---#-", "#-###-#-"}
Returns: 17
{"--#---#---#-", "-#---#---#--", "---#---#---#", "--##--##--##"}
Returns: 16
{"--#----#---#----", "#---#----#---#--", "--#---#----#---#", "----#---#----#--"}
Returns: 9
{"#", "-", "#", "-", "#", "#"}
Returns: 5
{"#-", "-#", "##", "--", "##", "--"}
Returns: 7
{"---", "---", "###", "###", "---", "---"}
Returns: 4
{"----", "##--", "-###", "#---", "-##-", "--##"}
Returns: 13
{"-#-#--", "#-###-", "##-##-", "#---#-", "##-#-#", "##-##-"}
Returns: 18
{"---#---#", "-#---#--", "---#---#", "-#---#--", "---#---#", "-#---#--"}
Returns: 4
{"##-#--------", "###-##-##-##", "-##-#-------", "####-##-##-#", "#-##-#------", "#####-##-##-"}
Returns: 28
{"-#--###----#--#-", "#--#####-----##-", "--#--#--#####--#", "#-#-#--------#--", "-#--#-####-##--#", "##-----#------#-"}
Returns: 84
{"#", "#", "#", "#", "#", "#", "#", "#"}
Returns: 1
{"-#", "#-", "##", "--", "#-", "#-", "#-", "-#"}
Returns: 12
{"---", "###", "-##", "-#-", "--#", "---", "---", "#--"}
Returns: 18
{"---#", "###-", "-###", "#--#", "##--", "-#--", "--##", "----"}
Returns: 16
{"#-----", "-###--", "#---#-", "#--#-#", "###-#-", "---##-", "-#####", "------"}
Returns: 30
{"#--#-#-#", "-#####--", "#--#-#-#", "-#####--", "#--#-#-#", "-#####--", "#--#-#-#", "-#####--"}
Returns: 14
{"###-#-###-#-", "-#-##--#-##-", "###-#-###-#-", "-#-##--#-##-", "###-#-###-#-", "-#-##--#-##-", "###-#-###-#-", "-#-##--#-##-"}
Returns: 12
{"-##----#-##-----", "---#---##----##-", "-#-###-###-##--#", "#-#-#-#-----##--", "--#-##-----##-#-", "--##----##---#-#", "#-###-##--###--#", "-#-----##--#----"}
Returns: 84
{"-", "#", "-", "#", "-", "-", "-", "-", "-", "-", "#", "-"}
Returns: 9
{"--", "--", "--", "--", "--", "--", "--", "--", "--", "--", "--", "--"}
Returns: 1
{"-#-", "#-#", "##-", "---", "###", "---", "-##", "###", "-##", "##-", "###", "###"}
Returns: 24
{"#---", "##--", "--#-", "----", "----", "#-##", "--#-", "---#", "####", "#--#", "-##-", "##-#"}
Returns: 30
{"##----", "-#-##-", "-----#", "-##-#-", "---###", "#-#--#", "-#####", "#--#--", "####--", "-#--##", "##--##", "--##--"}
Returns: 30
{"-####---", "-####---", "-####---", "-####---", "-####---", "-####---", "-####---", "-####---", "-####---", "-####---", "-####---", "-####---"}
Returns: 7
{"#-#####-##--", "##--#-##--##", "---#---#--#-", "-#-#---#-###", "##-#---#---#", "#---#-##--#-", "#---#-#-#-#-", "##-#####-##-", "-##--#-##--#", "----#---#--#", "#-#-#---#-##", "###-#---#---"}
Returns: 89
{"#-#--####--##-##", "#-#-#-###--###-#", "--#--##---#--#-#", "---#--#-#-#--##-", "-#-----#--##--##", "#-###---###-#---", "#--###-####--##-", "-###-#-#-#--####", "----####-#-#-###", "-##--##--#--##--", "-####-----#--#-#", "###--##-#-----#-"}
Returns: 147
{"-", "#", "#", "#", "#", "-", "#", "-", "#", "#", "#", "-", "-", "#", "-", "-"}
Returns: 15
{"##", "##", "#-", "-#", "##", "##", "##", "##", "#-", "--", "-#", "##", "#-", "--", "--", "-#"}
Returns: 16
{"--#", "###", "---", "---", "--#", "###", "--#", "###", "---", "---", "--#", "###", "--#", "###", "---", "---"}
Returns: 18
{"#-#-", "####", "#-#-", "----", "-#-#", "----", "#-#-", "----", "#-#-", "####", "####", "-#-#", "-#-#", "-#-#", "-#-#", "-#-#"}
Returns: 30
{"-#-###", "#---#-", "#-##--", "##-#-#", "--###-", "-##--#", "#-#-##", "---#-#", "##----", "-####-", "#---##", "-###--", "-#--##", "----#-", "###---", "-#-###"}
Returns: 45
{"--###-#-", "##--#-#-", "#-#--#-#", "-#-----#", "----###-", "#-##--#-", "#-#-#--#", "-#-#----", "-#----##", "#-#-##--", "--#-#-#-", "##-#-#--", "-#-#----", "--#-#-##", "----#-#-", "-###-#-#"}
Returns: 34
{"#--#-#-##-#-", "-------#-#--", "#-#---#----#", "-#-#-##-#---", "-----#-#--##", "#---#----#-#", "-#-##-#----#", "---#-#--###-", "--#----#-#--", "-##-#----##-", "-#-#--###---", "#----#-#---#", "#-#----##-#-", "-#--###---#-", "---#-#---##-", "#----##-#-#-"}
Returns: 60
{"#-#--#######-###", "---#------##-#-#", "#####--####---##", "-#---##-#-##--##", "-#####-#-#--#-##", "-#-#---#---###--", "-###-#-#-#---#--", "###--##--####-#-", "###-###-##-##-#-", "-#-#---##-#####-", "#-#-#--#######-#", "##---#------##-#", "--#####--####---", "##-#---##-#-##--", "##-#####-#-#--#-", "---#-#---#---###"}
Returns: 172
{"----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 1
{"-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#"}
Returns: 2
{"----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 1
{"#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#", "#--#--#--#--#--#"}
Returns: 3
{"----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 1
{"--#--#--#--#--#-", "-#--#--#--#--#--", "#--#--#--#--#--#", "--#--#--#--#--#-", "-#--#--#--#--#--", "#--#--#--#--#--#", "--#--#--#--#--#-", "-#--#--#--#--#--", "#--#--#--#--#--#", "--#--#--#--#--#-", "-#--#--#--#--#--", "#--#--#--#--#--#", "--#--#--#--#--#-", "-#--#--#--#--#--", "#--#--#--#--#--#", "--#--#--#--#--#-"}
Returns: 3
{"################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################", "################"}
Returns: 1
{"-##--##--##--##-", "--##--##--##--##", "#--##--##--##--#", "##--##--##--##--", "-##--##--##--##-", "--##--##--##--##", "#--##--##--##--#", "##--##--##--##--", "-##--##--##--##-", "--##--##--##--##", "#--##--##--##--#", "##--##--##--##--", "-##--##--##--##-", "--##--##--##--##", "#--##--##--##--#", "##--##--##--##--"}
Returns: 4
{"#--##--##--##--#", "-##--##--##--##-", "#--##--##--##--#", "-##--##--##--##-", "#--##--##--##--#", "-##--##--##--##-", "#--##--##--##--#", "-##--##--##--##-", "#--##--##--##--#", "-##--##--##--##-", "#--##--##--##--#", "-##--##--##--##-", "#--##--##--##--#", "-##--##--##--##-", "#--##--##--##--#", "-##--##--##--##-"}
Returns: 4
{"###-###-###-###-", "##-###-###-###-#", "#-###-###-###-##", "-###-###-###-###", "###-###-###-###-", "##-###-###-###-#", "#-###-###-###-##", "-###-###-###-###", "###-###-###-###-", "##-###-###-###-#", "#-###-###-###-##", "-###-###-###-###", "###-###-###-###-", "##-###-###-###-#", "#-###-###-###-##", "-###-###-###-###"}
Returns: 4
{"####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#", "####-####-####-#"}
Returns: 5
{"----#----#----#-", "#----#----#----#", "-#----#----#----", "--#----#----#---", "---#----#----#--", "----#----#----#-", "#----#----#----#", "-#----#----#----", "--#----#----#---", "---#----#----#--", "----#----#----#-", "#----#----#----#", "-#----#----#----", "--#----#----#---", "---#----#----#--", "----#----#----#-"}
Returns: 5
{"##--###--###--##", "-###--###--###--", "#--###--###--###", "###--###--###--#", "--###--###--###-", "##--###--###--##", "-###--###--###--", "#--###--###--###", "###--###--###--#", "--###--###--###-", "##--###--###--##", "-###--###--###--", "#--###--###--###", "###--###--###--#", "--###--###--###-", "##--###--###--##"}
Returns: 5
{"-####-####-####-", "###-####-####-##", "#-####-####-####", "####-####-####-#", "##-####-####-###", "-####-####-####-", "###-####-####-##", "#-####-####-####", "####-####-####-#", "##-####-####-###", "-####-####-####-", "###-####-####-##", "#-####-####-####", "####-####-####-#", "##-####-####-###", "-####-####-####-"}
Returns: 5
{"#-#-##-#-##-#-##", "-#-##-#-##-#-##-", "#-##-#-##-#-##-#", "-##-#-##-#-##-#-", "##-#-##-#-##-#-#", "#-#-##-#-##-#-##", "-#-##-#-##-#-##-", "#-##-#-##-#-##-#", "-##-#-##-#-##-#-", "##-#-##-#-##-#-#", "#-#-##-#-##-#-##", "-#-##-#-##-#-##-", "#-##-#-##-#-##-#", "-##-#-##-#-##-#-", "##-#-##-#-##-#-#", "#-#-##-#-##-#-##"}
Returns: 5
{"#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-", "#-#--##-#--##-#-"}
Returns: 6
{"#--##-#--##-#--#", "-#--##-#--##-#--", "#-#--##-#--##-#-", "##-#--##-#--##-#", "-##-#--##-#--##-", "--##-#--##-#--##", "#--##-#--##-#--#", "-#--##-#--##-#--", "#-#--##-#--##-#-", "##-#--##-#--##-#", "-##-#--##-#--##-", "--##-#--##-#--##", "#--##-#--##-#--#", "-#--##-#--##-#--", "#-#--##-#--##-#-", "##-#--##-#--##-#"}
Returns: 6
{"#-#---#-#---#-#-", "--#-#---#-#---#-", "#---#-#---#-#---", "#-#---#-#---#-#-", "--#-#---#-#---#-", "#---#-#---#-#---", "#-#---#-#---#-#-", "--#-#---#-#---#-", "#---#-#---#-#---", "#-#---#-#---#-#-", "--#-#---#-#---#-", "#---#-#---#-#---", "#-#---#-#---#-#-", "--#-#---#-#---#-", "#---#-#---#-#---", "#-#---#-#---#-#-"}
Returns: 6
{"-##-#--##-#--##-", "-#--##-#--##-#--", "-##-#--##-#--##-", "-#--##-#--##-#--", "-##-#--##-#--##-", "-#--##-#--##-#--", "-##-#--##-#--##-", "-#--##-#--##-#--", "-##-#--##-#--##-", "-#--##-#--##-#--", "-##-#--##-#--##-", "-#--##-#--##-#--", "-##-#--##-#--##-", "-#--##-#--##-#--", "-##-#--##-#--##-", "-#--##-#--##-#--"}
Returns: 6
{"##----##----##--", "----##----##----", "--##----##----##", "##----##----##--", "----##----##----", "--##----##----##", "##----##----##--", "----##----##----", "--##----##----##", "##----##----##--", "----##----##----", "--##----##----##", "##----##----##--", "----##----##----", "--##----##----##", "##----##----##--"}
Returns: 6
{"##-#--##-#--##-#", "#-#--##-#--##-#-", "-#--##-#--##-#--", "#--##-#--##-#--#", "--##-#--##-#--##", "-##-#--##-#--##-", "##-#--##-#--##-#", "#-#--##-#--##-#-", "-#--##-#--##-#--", "#--##-#--##-#--#", "--##-#--##-#--##", "-##-#--##-#--##-", "##-#--##-#--##-#", "#-#--##-#--##-#-", "-#--##-#--##-#--", "#--##-#--##-#--#"}
Returns: 6
{"----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------", "----------------"}
Returns: 1
{"#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#"}
Returns: 2
{"-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "#-#-#-#-#-#-#-#-"}
Returns: 4
{"-##-##-##-##-##-", "#-##-##-##-##-##", "-##-##-##-##-##-", "#-##-##-##-##-##", "-##-##-##-##-##-", "#-##-##-##-##-##", "-##-##-##-##-##-", "#-##-##-##-##-##", "-##-##-##-##-##-", "#-##-##-##-##-##", "-##-##-##-##-##-", "#-##-##-##-##-##", "-##-##-##-##-##-", "#-##-##-##-##-##", "-##-##-##-##-##-", "#-##-##-##-##-##"}
Returns: 6
{"-##-##-##-##-##-", "#--#--#--#--#--#", "#-##-##-##-##-##", "-#--#--#--#--#--", "##-##-##-##-##-#", "--#--#--#--#--#-", "-##-##-##-##-##-", "#--#--#--#--#--#", "#-##-##-##-##-##", "-#--#--#--#--#--", "##-##-##-##-##-#", "--#--#--#--#--#-", "-##-##-##-##-##-", "#--#--#--#--#--#", "#-##-##-##-##-##", "-#--#--#--#--#--"}
Returns: 6
{"################", "#-##-##-##-##-##", "################", "-##-##-##-##-##-", "################", "##-##-##-##-##-#", "################", "#-##-##-##-##-##", "################", "-##-##-##-##-##-", "################", "##-##-##-##-##-#", "################", "#-##-##-##-##-##", "################", "-##-##-##-##-##-"}
Returns: 6
{"----------------", "################", "----------------", "----------------", "################", "----------------", "----------------", "################", "----------------", "----------------", "################", "----------------", "----------------", "################", "----------------", "----------------"}
Returns: 3
{"-#-#-#-#-#-#-#-#", "################", "----------------", "-#-#-#-#-#-#-#-#", "################", "----------------", "-#-#-#-#-#-#-#-#", "################", "----------------", "-#-#-#-#-#-#-#-#", "################", "----------------", "-#-#-#-#-#-#-#-#", "################", "----------------", "-#-#-#-#-#-#-#-#"}
Returns: 6
{"----------------", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "----------------", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "----------------", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "----------------", "-#-#-#-#-#-#-#-#", "#-#-#-#-#-#-#-#-", "----------------", "#-#-#-#-#-#-#-#-", "-#-#-#-#-#-#-#-#", "----------------"}
Returns: 6
{"################", "----------------", "################", "----------------", "################", "----------------", "################", "----------------", "################", "----------------", "################", "----------------", "################", "----------------", "################", "----------------"}
Returns: 2
{"----------------", "################", "################", "----------------", "################", "----------------", "################", "################", "----------------", "################", "----------------", "################", "################", "----------------", "################", "----------------"}
Returns: 5
{"----------------", "################", "################", "################", "################", "################", "----------------", "################", "################", "################", "################", "################", "----------------", "################", "################", "################"}
Returns: 6
{"-#-####---####--", "----##--###-####", "-#-####---###--#", "-#-##-###-####--", "-#-####---#-###-", "---####---#-##--", "-#-##-#-######-#", "-#-##-#---####--", "##-#-##-#####-#-", "-#-#-##---##-#-#", "---##-##--####--", "-#-#-##---#-####", "-#-####---####--", "##-##-#---##-#-#", "-#-###----####--", "##-#-##-###-##-#" }
Returns: 250