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

