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