                                                                     ,::::::,,                                                                        
                                                                 :+%##@@@@@@@#SS%?*+;;:,                                                              
                                                               ;%@@@@@@@@@@@@@@@@@@@@@@@#%?;,                                                         
                                                             ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                                                       
                                                            ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                                                     
                                                           ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                                                    
                                                           :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%  ,:;+++;,                                          
                                                        ,:+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*%#@@@@@@@?,                                        
                                                   ,?#SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                        
                                                  ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@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@@@@@@@?     ,*@@@@@###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??S#@@S;;;,          
                          ,,::;;;:,                    *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                    ,:+++++;;::,,    ,;;,              
                                                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                      