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