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