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