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