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