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