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