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