                                             ,*#@S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@%:                      
                                               ,:,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:?@@@@@@@@@@@@@%                        
                                               ,:*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*  ?@@@@@@@@@@@@@*                        
                                             :*S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:   %@@@@@@@@@@@@@%,                       
                                             ,::,,?@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,   ,#@@@@@@@@@@@@@@:                       
                                                 ,#S?@@@@@@@@@@@@@S%%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##,    ;@@@@@@@@@@@@@@@:                       
                                                 :+, %@@@@@@@@@@@@@@%???%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;,   *@@@@@@@@@@@@@@@?                       
                                                     :SS@@@@@@@@@@@@@@@#S%%%%S##@@@@@@@@@@@@@@@@@@@@@@??%?+:  S@@@@@@@@@@@@@@@#,                      
*;,,                                                  ,;S##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;      ,#@@@@@@@@@@@@@@@@;                ,,;*%S
@@@#%*;:,                                               ,;?,#%##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#;+@*      ,#@@@@@@@@@@@@@@@@?            ,;*%#@@@@@
@@@@@@@@#%+:,                                             , +;;;@SS%#@@@@@@@@@@@@+##S@@@+S@@S@@#:*,  :;      ,S@@@@@@@@@@@@@@@#%,       ,;*S@@@@@@@@@@
@@@@#%S#@@@@#%*;,                                              :?;%%@@@@@@@@@@@@#%#*#@#; *@S%%;;,             ;@@@@@@@@@@@@@@@?;,  ,:+?S@@@@#%?+;*@@@@
@@@@@%;,,;*S@@@@#S?+:,,                   ,,,                    ,S@@@@@@@@@@@@@@@*,?;,  ,+%?;          ,:::,,,%@@@@@@@@@@@@@@+;+?%#@@@@@%*:,  ;#@@@@@
@@@@@@@*    ,;?#@@@@@@#SS%????*****???%%SS###%;            ,:;+?%S@@@@@@@@@@@@@@@@#S?*+;,, :;,        ,%@@@@@###@@@@@@@@@@@@@@@@@@@@@@#;,     +@@@@@@@
@@@@@@@@?,     *@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@*,     :+?%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,       ;#@@@@@@@@@@@@@@@@@@@@@S%%%%S@@@@S:     *@@@@@@@@
@@@@@@@@@;   ;%@@@@@#%:,,,,,,,,,:::*@@@@#?S@@@@@S: ;?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,  ,?@@@@@#*+@@@@@@@@@@@@@@?   :S@@@@@@@S,   +@@@@@@@@
@@@@@@@@%,  ;@@@@@@@@@S:        ,*S@@@@@S: +S@@@@@S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?*#@@@@#+, ?@@@@@@@@@@@%@S,  ;@@@@@@@@@@%   :#@@@@@@@
@@@@@@@@*  :#@@@@@@@@@@#:      ,%@@@@@@@@@;  ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+   %@@@@@@@@@@@%*?,  +@@@@@@@@@@@@*   ?@@@@@@@
@@@@@@@#:  ?@@@@@@@@@@@@%     ,%@@@@@@@@@@@;:*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;?@@@@@@@@@@@@+,    ?@@@@@@@@@@@@?   +@@@@@@@
@@@@@@@?   ,#@@@@@@@@@@@+     +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:     :#@@@@@@@@@@S,   ,S@@@@@@
#@@@@@@;    ;@@@@@@@@@@S,     ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?       ?@@@@@@@@@#:     ?@@@@@#
:#@@@@%,     +@@@@@@@@@+       ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,       ;@@@@@@@@@;      ;#@@@#;
 ;@@@@+       %@@@@@@@S,        %@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;        ,*%%%%%%%+       ,?SS%: 
  +@@%,       ,%SSSS%%+         ,?*******++++++++;;;;;;;;;;:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,           ,,,,,,,         ,,,,  
   ;+:         ,,,,,,,                                                                                                                                
                                                                                                                                                      
                                                                                                                                 ,,,                  
                   ,               ,::::::::;;;;;;;;;;;++++++++++**************????????????????%%%%%%???%%%%%::%%%;              :*:                  
                  ,,               :S###############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:%@S,               ,                   
                                    ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:*:                                    
                                    ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                      
                                   :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                     
                                  ,S@@@@@@@@@@@@@@S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                    
                                  *@@@@@@@@@@@@@@*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                    
                                 :@@@@@@@@@@@@@@? #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                   
                                 ?@@@@@@@@@@@@@%, #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@%                                   
                                ,#@@@@@@@@@@@@%,  S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+,S@@@@@@@@@@@@#,                                  
                           ,:;*%#@@@@@@@@@@@@S,   ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: :#@@@@@@@@@@@@#%*+:,                             
                       ,:+%#@@@@@@@@@@@@@@@@S,    *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,  :#@@@@@@@@@@@@@@@@#%*;,                         
                   ,;*%#@@@@@@@@@@@@@@@@@@@%,     %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;   :S@@@@@@@@@@@@@@@@@@@@S?+:,                    
               ,;*%#@@@@@@@@@@@@@@@@@@@@@@*,      S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+    ,%@@@@@@@@@@@@@@@@@@@@@@@#%*;,                
           ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@%:       ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%      ;S@@@@@@@@@@@@@@@@@@@@@@@@@#S?;:            
       ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@S*:         :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,       ;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@S%+:,       
: ,:;?S@@@@@@@@@@@@@@@@@@@@@@@@@@S?+,            :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,         ,:*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@#S*;:,,+
#%S@@@@@@@@@@@@@@@@@@@@@@@@@@#?+:                :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%              ,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S@