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