@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                          ,,::;;+**??%%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:                         ,?##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                        
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,                     ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:                   :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,                  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                 ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:,              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;               ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:,          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,               ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:                  +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*:,                      +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?, 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;,                           ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%, 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                            :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                             ;S@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                             ;S@@@@@@@@@@@@@@@@@@@%,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                              ;?#@@@@@@@@@@@@@@@?, %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,       
*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                               ,;?#@@@@@@@@@@@+  ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;          
 ;#@@@@@@@S*?#@@@@@@@@@@@@@@@@*:;*?%S#@@@@@@@@@@@@:                                  ,:*%S@@@@@%:   ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,            
  ,*S@@#%;,  ,+%#@@@@@@@@@@@@+       ,::;+*??%%%?+,                                       :;;;:      *@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*:,               
    ,::,        ,;?#@@@@@@@S;                                                                        ,;?S##@@@@@@@@@@@@@@@@##S?*;:,                   
                   ,;*S#@#?,                                                                             ,,::;;;++++++;;::,,                          
                       ,:,                                                                                                                            
                                                                                                                                                      
                                                                                                                   ,;;;,                              
        ;%?;,                                              ,:;+:                                                  +#@@@@%*:                           
       ;@@@@S*:                                     ,:;+*%S#@@S:                                                ,%@@@@@@@@@S*:                        
      :#@@@@@@@%;,                           ,,:+*%S#@@@@@@@@%,                       ,*%SSS%??*+;:,,          ;#@@@@@@@@@@@@@S*:       :*%S?;,       
      ?@@@@@@@@@@S+,                    ,:+?%#@@@@@@@@@@@@@@?,                        +@@@@@@@@@@@@@#S%*+;:,  *@@@@@@@@@@@@@@@@@@S*, :*S@@@@@@S;      
     :@@@@@@@@@@@@@#*,              ,;*S#@@@@@@@@@@@@@@@@@@*                          ;@@@@@@@@@@@@@@@@@@@@#%?@@@@@@@@@@@@@@@@@@@@@#S@@@@@@@@@@@?,    
     +@@@@@@@@@@@@@@@#*,         :?S@@@@@@@@@@@@@@@@@@@@@@+                            *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,   
     ?@@@@@@@@@@@@@@@@@%:     ,+S@@@@@@@@@@@@@@@@@@@@@@@#+                             ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,,,
     ;@@@@@@@@@@@@@@@@@@%   :?#@@@@@@@@@@@@@@@@@@@@@@@@#:                                *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###
      ?@@@@@@@@@@@@@@@@@#,,?@@@@@@@@@@@@@@@@@@@@@@@@@@%,                                  +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      ,*@@@@@@@@@@@@@@@@S*#@@@@@@@@@@@@@@@@@@@@@@@@@#+                                     ;##S#%*%%***%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:::,,   :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                                       ,;,:+,,:,,:,,;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?++*?S
@@@@#S%*;:;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,                                      ,;:++,  ,,        ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;      
@@@@@@@@@@#%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:                                     :+?S@#+,;;,             ;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,                                    ,;?S@@@@@@*                   :S@@@@@@@@@@@@@@@@@@@@@@@*::*#@?,      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?+;;::,                                  ,S@@@@@@@@S#+                   ,+#@@@@@@@@@@@@@@@@@@@@@%;, ,;:       
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+:,                              :%@@@@@@@%+%*,                   ,;?S#@@@@@@@@@@@@@@@@@@@*,          
:;+**?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                             :?#@@@@@+,::,                      ,:;+?S#@@@@@@@@@@@@S;           
        :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+,                            ,;%@@@@%;,                             ,;%@@@@@@@@@S;,           
      :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                            ,+S@@@#%+:                             :;*?%S#@S*, ,          
  ,;*S@@@@@#%??S@@@@@@@@@@@@@*+S@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:                             :+%#@@@?,                                 ,,::,,,:,        
*%#@@@@#?;:,   :@@@@@@@@@@@@@#; :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                             ,*#%+,                                              ,,  
@@@@#?;,       ,#@@@@@@@@@@@@@@;  ,:*%#@@@@@@@@@@@@@@@@@@@@@@@@@#?:                         ,+S@S:  ,:*%;                                        ,*;  
%#?;,           %@@@@@@@@@@@@@@#:     ,;*?%S#@@@@@@@@@@@@@@@@@@@@@%,                      ,+S@@@@S??SSS*:,                                        ,,  