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