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