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