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