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