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