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