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