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