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