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