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