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