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