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