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



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


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



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




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



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




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






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



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







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