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