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