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