                                           ,+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+   ;@@@@@@@@@@@@@@%                    
                                          ,+???*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:    +@@@@@@@@@@@@@@@;                   
                                                S@@@@@@@@@@@@@@@@SSS@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#      %@@@@@@@@@@@@@@@%                   
                                               :@%;#@@@@@@@@@@@@@@#?*?%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?%,    ,#@@@@@@@@@@@@@@@@:                  
                                               :;  +@@@@@@@@@@@@@@@@#S%???%%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;,   ;@@@@@@@@@@@@@@@@@*                  
                                                    %#@@@@@@@@@@@@@@@@@@@@##S###@@@@@@@@@@@@@@@@@@@@@@@@%+*??+,  ?@@@@@@@@@@@@@@@@@S                  
                                                    ,:%%@?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*        %@@@@@@@@@@@@@@@@@@:                 
:,                                                    ,,%+;@?@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;;#S        %@@@@@@@@@@@@@@@@@@+             ,:+?
@#S?;:                                                  ,, ?;+;@@##%@@@@@@@@@@@@@#?@S#@@@?S@@S#@@#+%,  :+,       *@@@@@@@@@@@@@@@@@#?         ,;*%#@@@
@@@@@@#?+:,                                                ,  :#+*?S@@@@@@@@@@@@@*?@+@@@* *@@*#%*:               :@@@@@@@@@@@@@@@@@+;     ,;*S#@@@@#S%
+;+?S#@@@@#%+;,                                               ,: ?@@@@@@@@@@@@@@@@@;;S?;  :?S+%,                  *@@@@@@@@@@@@@@@% ,:;+%S@@@@@S?+:, :
@?   ,:*S@@@@@@S%*+;::,,,,,,,,,,,,:::;;+**+:                ,::;*%@@@@@@@@@@@@@@@@@?*+:,,   +;;          :*%%%??*+*#@@@@@@@@@@@@@@SS#@@@@@@@%+:     +@
@@?,     ,+@@@@@@@@@@@@@@######@@@@@@@@@@@@@*,        ,;+?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?+;,          +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;       +@@
@@@?,    ,;#@@@@#%%%%%%%%%%%SSSS#@@@@@@@@@@@@S:   ,+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S*:     ,?@@@@@@#@@@@@@@@@@@@@@@@@*;+;*%@@@@@S*:    ;@@@
@@@S,   *@@@@@@@@S:           ,;?@@@@@+;S@@@@@@*;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+, +#@@@@@S+,*@@@@@@@@@@@@#@@+   ;#@@@@@@@@@;   ,%@@
@@@+   ?@@@@@@@@@@#:         *#@@@@@@@?  ;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S@@@@@S+, ;#@@@@@@@@@@@#?@?,  ;@@@@@@@@@@@@;   ;@@
@@%,  *@@@@@@@@@@@@#:       *@@@@@@@@@@%,  ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,  ;@@@@@@@@@@@@@*+;   ;#@@@@@@@@@@@@#:  ,%@
@#;   S@@@@@@@@@@@@@?     ,?@@@@@@@@@@@@?;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*#@@@@@@@@@@@@#:     ;@@@@@@@@@@@@@#,   ;#
@*,   ;@@@@@@@@@@@@@;     :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,      %@@@@@@@@@@@@;    ,?
S:     ?@@@@@@@@@@@?       %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+       ;@@@@@@@@@@@%      :
+      ,#@@@@@@@@@#,       :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,        ?@@@@@@@@@#:       
,       +@@@@@@@@@+         ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+         :#@@@@@@@@+        
         %@@@@@@@%,         :#@@@@@@@@@###################SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%?%%%%%%%%%?,          +S%SSSSS?,        
         :%S%%%%%:           ;***+++++++++;;;;;;;;::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,  ,,,,,,,,             ,,,,,,,          
          ,,,,,,                                                                                                                                      
                                                                                                                                                      
                                                                                                                  ,,                    ,,            
             ,                 ,::::;;;;;;;;;+++++++++**************??????????????????????%%%%%%%%%%%%%%%%%%%%%%* ;%%%:                :+:            
             ,,                ,%###########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,%@S,                               
                                :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+,+:                                
                                ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                  
                                %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                 
                               +@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                                 
                              :@@@@@@@@@@@@@@@@*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                
                              %@@@@@@@@@@@@@@@+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S                                
                             ;@@@@@@@@@@@@@@@* ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S@@@@@@@@@@@@@@@:                               
                             %@@@@@@@@@@@@@@?  :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,S@@@@@@@@@@@@@@?                               
                         ,:;*@@@@@@@@@@@@@@%,  ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? ,#@@@@@@@@@@@@@#+;,,                           
                     ,;*%#@@@@@@@@@@@@@@@@%,   ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+  :#@@@@@@@@@@@@@@@@#%*;:                       
                 :+?S@@@@@@@@@@@@@@@@@@@@?,    ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+   :#@@@@@@@@@@@@@@@@@@@@S%+:,                  
            ,:+?#@@@@@@@@@@@@@@@@@@@@@@@*      ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?    :S@@@@@@@@@@@@@@@@@@@@@@@#%*;,              
        ,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@S;       :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S     ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@S?+:,         
    ,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,        +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:      :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,     
,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;,          ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+        :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?+:,
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*:              *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+           ,+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#