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