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