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