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



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


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



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




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




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




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




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




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




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




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




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




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




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




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




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



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




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




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




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




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




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




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





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