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