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