**i                                                  
                                                  *+++**+*++++++*i                                          
                                               i*+++++++++#zz###++*i                                        
                                            ;iiii**++###zzznzzzzz##+*                                       
                                     ;;;;;;iiiiii**++##zznnnnnnnnnzz#+*                                     
                                :::;;;;:;;;;;iii***+###zznnnxxxxxxnnzz#**                                   
                             ;::::::;;;;;;i;;;ii**+##zzzzznnnxxxxMxxxnz#+i;                                 
                         ;;;;;;;;:::;;;i*ii;:;i**++##zzznnnnnnxxxMMMMxnzz+*;:::                             
                      ;;;;;;;;ii;;:;;;ii****iiii+++##zznnnnnnnxxxxMMMMxxnz#*;:::                            
                      ii;;;;;iii;;;;;;ii++#+*ii*++##zzzznnnnnnxxxxxxxxxxxnz#*i;::                           
                    ii;;;;;i;;;ii;::;ii*+##+***+++#zzzzzznnnnnnnxxxxxnnnnnzz#+*i;;                          
                 iii*i;;;;i;;;;;;;;;i**++++++++###zzzzzzzzznnnnnnnxxxnnnnnnz##+**;                          
               ++*i**;iiiiii;ii;;;;i*+++##++++####zzzzzzzzzzznnnnnnnnnnnnnnzz##++*i                         
              ##+++**iiiiiiiiiiii;;*+++##++++###zzzzzzzzzzzzzzznnnnnnnnnnnnnzzz##+*i                        
             ###+++**+****ii**iiiii*+####+++##zzzzzzzzzzzzzzzzzzzzzznnnnnnnnnzzz#+**;                       
            izzz##+*++***********i*+########zzzzzzzzzzzzzzzzzzzzzzzzzzzzznnnnnzzz#+**                       
            zzzzz++++***+**++******+#######zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzznnnzzzz##+*i                      
           i#zzzz++#++++++++***+++++####zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz##+*                      
           ##zz#++##++++*++**+*++++##zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz##+*                     
          *#znn#++#++#+++++**++++###zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz##+i                    
          #znnn###++##+++++++++#####zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz##+i                   
         +#nnnn###+####++++##+###z#zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz###*                   
        *+nxxnzz########++#####zzzzzzzzzzzzzzzzzzzzzzzznzzzzzzzzzzzzzzzzzzzz###zzzzzzz##+i                  
        +#nxxnzz###++##########zzzzzzzzznnzzzzzzzzzznnzzznnzzzzzzzzzzzzzzzz#####zzzzz####*                  
       *+zxxnnz###+++########zzzzzzzzzznnnnzzzzzzznnnnzzzzzzzzzzzzzzzzzzzzzz######z#######*                 
      **#znnnzz###+++######zzzzzzzzzzzznnnzzzzzzznnnnnnzzzzzzzzzzzzzzzzzzzzz##############*                 
     ;*+#znzz###+++++#####zzzzzzzzzzzznnnnzznnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzz##############+*                
    ii*+#zzz###++++++#####zzzzzzzzznnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzz###############*                
   i*i*+#zz##+++++++######zzzzzzznnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzz##############+++++*               
  i*ii*+####+++++++####zzzzzzzzznnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzz#############++++++*               
  ;i**++##+++++++++###zzzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzz#############+++++++*              
  ;***+++++++++++++###zzzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzz##zz#########+++++++*              
  i***++++++++++++#####zzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzz##########++++****             
  i***+++++++++++#####zzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzz##########++++****             
 i***++++++++++++#####zzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzz##########++++++***            
;ii**+++++++++++######zzzzznnnnnnnnnnnnnnnnnnnnnzzznzznnnnnnnnnnnzzzzzzzzzzzz##########+++++++**            
i*i**++++++++++########zzznnnnzznnnnnnnnnnnnnnnnzzzzznnnnnnnnnnnnnzzzzzzzzzzzz########++++++++**i           
i*ii*++++++++++#########zznnnzzzznnnnnnnnnnnnzzzzzznnnnnnnnnnnnnnnnzzzzzzzzzz#########++++++++***           
 iii**++++++++##########zzzzzzzzzznnnnnnnnnnzzzzzznnnnnnnnnnnnnnnnnnnzzzzzz###########++++++++***           
 ii******+++++##########zzzzzzzzzznnnnnnznnnzzzzznnnnnnnxxxnnnnnnnnnnzzzzzz###########+++++++++**i          
 ;i******+++++####++###zz###zzzzzznnnnnnznnnzzzznnnnnnxxxxxxxnnnnnnnnnnnzzz###########+++++++++**i          
 ;i******+++++####++######zzzzzznnnnnnnnzznnzznnnnnxxxxxxxxxxxnnnnnnnnnzz###++#++######++++##++**i          
 i*******+++++############zzzzzznnnnnnnnzznnzznnnnxxxxxxxxxxxxnnnnnnnzzz#######+++######+++###+**ii         
 i********++++###########zzzzzznnnnnnnnnnnnnnnnnxxxxxxxxxxxxxnnzzzzzzz###+++############+++###++**i         
 i*******++++++##########zzzzzznnnnnnnnnnnnnnnnnxxxxxxxxxxxnnzz#++++++++++++###########++++####+**ii        
 ;********+++++#########zzzzzzznnnnnnnnnnnnnnnxxxxxxxxxxxnnz##+*i******++++########++++#########+*ii        
  i********++++########zzzzzzznnnnnnxxxxnnnxxxxxxMMxxxxxnzz#+*ii;;ii**++####zzzz####+++#########+*ii;       
  ;********++++########zzzzzznnnnnnxxxxxxxxxxxxxxMMxxxnnz##+*iiiiii*++##zzzzzzzzz#########+#####++iii       
  ;********++++########zzzzznnnnnnxxxxxxxxxxxxxxxMMxxxnn##++*ii***+##zzzzzzzzzzzz########++######+*ii       
  iii******++++#######zzzzznnnnnnnxxxxxxxxxxxxxxxxxxxnnz##++**+++#zzzzzzzzzz#############+++######*ii       
  ;ii******++++######zzzzzznnnnnnnnxxxxxxxxxxxxxxxxxnnzz###+++###zzzzzzzzzz##############++++#####+*i       
  ii**i****+++++####zzzzzzznnnnnnnnnnxxxxxxxxxxMxxxxnnzzzz########zzzzzzz#######+##########+++####+*i       
  iii*ii****++++###zzzzzzzznnnnnnnnzznnnxxxxxxxMxxxnnnzz#######+++++++#####+++++##+++######+++#####+*       
  ;ii*ii****++++###zzzzzznnnzzzzzzzzzzznnnxxxxxxxxxnnnzz#####++******+*+**********+++++#####++#####+*;      
  ;iiiii***++++####zzznzzzzz###+++####zzznnxxxxxxxxnnzzzz###++****+***;;,:;;ii**ii**++######+######+*i      
  ;iiiiii**+++++###zzznzzz#++****++#++#zzznnnnxxxxxnnzzz##++++++++*#*:;z::;:;;;iii**+++#############+i      
  ;iiiiii**+++++##zzzzz##+**iiii**+++++#zzznnnxxxxnnnzzz#+++++++*+zn+;i+:;;;*i;:;i***+++############+*      
   iiiiii***++++##zz####+*iiiiii*+++++++##zznnnxxxnnnzz##+#######znx#iii;;ii++*iii**+++##############+      
   ;iiiiii**++++######++*iiii***++++++++++#zznnnnnnnzz##++######zzzz#****i**++++***++++###zz#######+#+*     
   ;iiiiii**+++++++++++****++++######++++++#zznnnnnzz###++##+++##++######++####++++++++###zz#######+##*     
   ;;iiiii*++****++++++++##zzzz######++++*++#zzzzzzzz###++##++++++++##zzzz#####++++++++##zzzz######++#+     
   ;;iiiii*++****++#####zzzzzzzz#+++++++***++#zzzzzz###+++######+++###zzzzz####+++++#####zzzz#####+++++     
   ;;;iiii*****++###zzzzzzzznz##++**+++++***++##zzzz##+++++######+####zzz#####++#########zzzzz####+++++     
    ;;iiii****+++###zzzzzzzzz##+****++##+*ii*+##zzz###++++++++++#++##########+##########zzzzzz####+++++*    
    ;;iiii****++####zzzzzzz##++******+##++*i**+#######+++++++++##################++#####zz#zzz###+++++##    
    ;;iiii****++####zzzz###++*;;;i#z##+*++*ii*+#######++++++++++++#####################zzzzzz####+++++##    
    ;;iiii****+++###zzz##+*i;;;;;*znz#+i++*ii*+######+++++++++++##+++#######++#######zzzzzzzz####++++++#i   
    ;;iiii****+++####z#++*;::;+i;i+##+++#+*ii**++####+++++++++++#########+##########zzzzzzzzzz##+++++++##   
    ;;ii******++++####++ii;;;;iii**+++###+*iii*++####++++++++++###################zzzzzzzzzzzzz#+++++++##   
    ;;i*******+++++#++**;i*;;;;i*+++++##++*iii*+++####++++++++###################zzzzzzzzzzzzzz#++++++++#i  
    ;;i******++++++#+**i;++*ii*+##+++++++**iii*+++####++*+++++###################zzzzzzzzzzzzzz##+++++++#+  
    ;;i******+++++++*ii;;+#***#zz####++++**iii*+++####++**+++#####zzz############zzzzzzzzzzzzzz###++++++##  
    ;;i*****+++++++*ii;;i*++++#zz####+++++*iii*+++#####++*++#####zzzzz#####zzzzzzzzzzzzzzzzzzzzz##+++++++#  
    ;;i***i*++++++*iii:i*++++##zz####+++++**ii*+++######++++###zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#+++++++#  
    ;;i***i*+++++**iii;*++#########++#+++++*ii*++###zz##+++++#zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#++++++++  
    i;i***i*+++++***ii*++##+++#####++###+++*ii*++##zzzz##++*++zznnnnnnnnnnnnnzzznnnzzzzzzzzzzzzzz#++++++++  
    ;;i*****+++++*****+++++++####+++####++**ii*++##zzz###++**++#nxxnnnnnnnnnnnnnnzznnnzzzzzzzzzzzz#+++++++  
    i;i*****++#++**++++++++++##++++#####+++*ii*++###zz####+++**+znxxxxxxnnxxxnnnnnznnnzzzzzzzzzzzz#+++++++  
    ;;;*****++#+++++++++++++++++++#######++*ii**++##zzzzz#+##+++#nxxxxxxxxxxxxxnnnnnnnnzzzzzzzzzzz#+++++++  
     :;i****+++++++++++++++++++++##########+ii**+#zznnxnz#####++#znxxxxxxxxxxxxxnnnnnnnnzzzzzzzzzz#+++++++  
      ;i*****+++++++++++++++++++#####zzzzzz+i***#znnxxxnzz##zzz#+#zxxxxxxxxxxxxxxnnnnnnnnzzzzzzzzz##++++++  
      ;i****++++++++++++++++++++###zzzzzzz#*i**+#zxxxxxnzz###zzz+#znxxxxxxxxxxxxxnnnnnnnnzzzzzzzzz##++++++  
      ;i****+++++++++++++++++++###zzzzznnn#****+#nxxnnnnz#+++##z##znnnnnnnxxxxxxxxnnnnnnnnzzzzzzzz##+++++#* 
       ii***++++++++++++++++++###zzzznnnnn+*++*+#znnnnzzz#*i**+####znnnnnnnxxxxxxxnnnnnnnnzzzzzzzz###++++## 
        ii**+++++++++++++++++##zzzzznnnxxn+*#+**+#zznzzzz+ii**+##+#znnnnnnnnxxxxxxnnnnnnnnnzzzzzzz####+++## 
         i***++++++++++++++###zzznnnnxxxnz*+#++**#zzzzzz#*iii*##+++#zznnnnnnnnxxxxxnnnnnnnnnzzzzzzz##++++## 
          i***+++++++++++++##zzznnnxxxxxnz+#z+i;;*#znnzz#++++++++++##zznnnnnnnnxxxxnnnnnnnnzzzzzzzz####++#+ 
          ii**+++++++++++++##zznnnxxxxxxnz++z#+*;i+zzzz#######+**++###zzzzznnnnnnnxnnnnnnnnzzzzzzzz#####+##i
          i****++++++++++####zznnnxxxxxnnz++#z#*;i*###########+**+++#####zzznnnnnnnnnnnnnnnzznnzzzz########i
           i***+++++++++###zzznnnxxxxxnnnn#++##i**++#####++##+***++#######zzzznnnnnnnnnnnnnzznnzzzzz######+ 
           ii**+++++++++##zzznnnxxxxxxnnnn#+****++++######+#+++++++########zzzzzzznnnnnnnnnnnnnzzzzz#####+* 
          iii**+++++++++##zznnnnxxxxxnnnnz#+*i**+++##########++++##########zzzzzzzznnnnnnnnnnnzzzzzzz####+i 
          i*i**++++++++###zznnnnxxxxnnnnnz#+*****+++##+++######+###########zzzzzzzznnnnnnnnnnzzzzzzzzz###+  
           *ii**++++++++##zznnnnxxxxnnnnz##+******++#++++#################zzzz#zzzzzznnnnnnnnzzzzzzzzz###+i 
           iii**++++++++#zzznnnnxxxxnnnnz#+++++***++#+++++######zz########zzzzzzzzzzzznnnnnnzzzzzzzzzz####* 
            iii**++++++##zzznnnnxxxnnnnz##++++++++++##++++#zz##zzzzzzzzzzzzzzzzzzzzzzznnnnnzzzzzzzzzzzz###+ 
            iii**++++++##zzznnnxxnnnnnzz##+++++++++####+++#zzzzzzzzzzzzzzzzzzzzzzzzzzznnnnnzzzzzzzzzzzz###+ 
             ii**++++++##zzznnnnnnnnnzz##++++++++++#####++#zzzzzzzzzznnnnzzzzzzzzzzznnnnnnzzzzzzzzzzzzz###+ 
             ii**++++++###zznnnnnnnnnz##++++++++++######++#znzzzzzzznnnnnzzzznnnzzznnnnnnnzzzzzzzzzzzz####+ 
              i***+++++###zznnnnnnnnzz##+++++###+##zzz####zzzzzzzzzzzzzzzzzzzzzzzzznnnnnnzzzzzzzzzzzzz####  
              ii**+++++###zznnnnnnnnz####++########zzz###zzzz##################zzznnnnnnnzzzzzzzzzzzz#####  
               i*****++###zznnnnnnnzz#####+########zz##zzzz####+++********+++##zzzznnnnnnnzzzzzzzzzzz#####  
                i***+++###zzznnnnnzz######+##########++###++++***********++###zzzzzznnnnnnzzzzzzzzzz#####+  
                i**++++###zzznnnnzzz############++++++*++*************++###zzzzzzzzzznnnnzzzzzzzzzzz#####   
                 ***+++###zzzzzzzzzz##########++****************+++++##zzzz###zzzzzzznnnnzzzzzzzzzzz#####   
                 i***+++##zzzzzzzzzz#####zz###+**iiiii******++++####zzzzzzz###zzzzzzznnnzzzzzzzzzzzz#####   
                 i***+++##zzzzzzzzz#####zzz##+*iiiiii**++++++##zzzznnnnzzzz###zzzzzzznnnzzzzzzzzzzzz####+   
                  i***+++#zzzzzzzzz#####zzzz#*iiii***++++++##zzzznnnnnnzzzzzzzzzzzzzznnzzzzzzzzzzzzz####+   
                  i***+++##zzzzzzzz####zzzz#*i;i****+++####zzzzzzznnnnzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz###+    
                   i**+++##zzzzzzzzz##zzzz#+*iii****+##zz######zzzzznnzzzzzzzzzzzzzzzzzzzzzzzzzzzzz####+    
                   i**+++###zzzzzzzzzzzzz#+****+++###zz##++++++##zzznnnnnzzzzzzzzzzzzzzzzzzzzzzzzzz###++    
                    **+++####zzzzzzzzzzzz#++++++###zz####+++#####zznnnnnnnzzzzzzzzzzzzzzzzzz####zzz###++    
                    ***++++#zzzzzzzzzzzz##++++++####zz##########zzznnnnnnzzzzzz##zzzzzzzzzzz#####zz###+i    
                     **++++####zzzzzzzzz##++++++#####z#############z#####zz########zzzzzzzzz######z##+*     
                     i**++++####zzzzzzz###+++++#######zz###++++++++#+++############zzzzzzzz########+#+*     
                      ***++++#####zzzz####++++########zz##+**++++++++++++++########zzzzzzz##########+**     
                       **+++++####zzzz####++++####zzzzzz#+**++++++#######+##########zzzzzz##########+*      
                       i***++++####zz#############zzzz#++*+++#+++#####################zzzz########+++       
                        ***++++####zz############zzzz#+**+++++##############################++####++*       
                        i*+++++#####z#############zz#++*+++#####zz############zz###########+++#####+        
                         *+*++++###################++++++######zzzzzzzzz#z###############++++###++#*        
                         ;*++++++###############++++*++++###zzzzzzzzzzzzz#####z#######+++++++#####+         
                          i+++++++##########++++++***++++##zzzzzzzzzzzzzz###zzzz#####+++++++######i         
                           *+*+++++######+##++++*****+++##zzzzzzznnzzzzzz###zzzz##++++++++++##+##+          
                            **+++++++####+##+++*****+++###zzzzzznnnnnzzzz##zzzzz##++++++++++##+#+           
                            i+**++++++###++#+++*****++####zznzzznnnnnnnzz##zzzz##++****++++###+++           
                             i***+++++++#++++*******++###zzznzznnnnnnnnzz##zzzz#++*****+++###+++i           
                               ***+++++++++++*******++###zzzzzzznnnnnzzzz#zzzz#++*****++++##+++*            
                                ***++++++++++***++**++###zzznzzzzzzzzzzzz#zzz##+******+++###+++             
                                i****++++++*******++++##zzznnnzzzzzzzzz###zz#+*ii***+++++++#++*             
                                 ******+++*********+++###zzznzzzz###########+*iii*++++##++##++              
                                 i*****************++++###zzzzz###########+*iii*++++####+##++i              
                                  i*i**************++++++####z####++++###+*ii**+###########+                
                                   iiii****iiii****+++++++######+++++++**iii*+##+####+++##+                 
                                    i*iiiiiiiiii****+++++++++++++++***iiii**+#######++++++                  
                                     iiiiiiiiiiiii***++++++++++**i***ii***++#######+++++*                   
                                          iiiiiiiiii***********iii*****++++#######+++++*                    
                                            iiii;;;iiiiiiiiiiiii****+++++++#####++++++                      
                                              iiiiiiiiiiiiiiii**+++++####+####+                             
                                                ii************++++++######+                                 
                                                  ******++++++++#+####+                                     
                                                   i**+++++++++++                                           
                                                     i**++++i