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