## ##
## ### ## ### ## ###
### ### ############ ## ## ########
## ## ## ## #### ## ## ### ## ##
## ## ## #### #### ###### ## ##
## ## ####### ## ### ## #######
######## ## ## ##### ######### ## ##
#### ## ## ########## #### ### ## ###
## ######## ######## ######## ## #######
## ######## #### ### ## ## ## ## ## ## ##
## ######## ######### ## #### ## ## ##
#### ## ## ######## ## ## ## ## ##
#### ## ## ## ## ## ## ## #### ## ####
## ## ### ## ## ###### ## ## ###