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