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



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


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



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




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



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




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




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




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




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





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




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




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




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




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



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




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




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




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




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




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




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




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




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




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




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




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




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