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