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