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