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