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