@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS%%?*+?*+::,:;+*%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                   +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                     ,;**+;#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:                            ?@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@%;,                             ,%#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+                                  ,%@@@@@@@#%S@@@@@@S@@S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                     ;@@@@@%S%#@@#?#@@#%*SS@@@@SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+,                                     ,SSS#%+?###@@@##@S;%@?S#S?%#S%#SSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*;,                                       ,+:+*?S@@@@@@@@@#?+%S%*:*SSS?*%S#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%%%,                                         ;*+ ,%@@@@@@@@@@@*:+++*??SSSS#%@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                              ?#+ :#@@@@@@@##S*+*S####@@@#S@?%#%?@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+;,                                              ,+++ ++*S?SS#S%?++??%S%S##@%S#+;+?*+?%?%SS@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+;,                                                ,**, :*;;;;*;:;+;*%%%#@@@@@@@*?::%%%##S%#S?@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@*,                                                  ,+%*, ;?*;::,,+?*;?%S@@@@@@@@@@;,;+?SSS##*S@*S@@@@@@@@@@@@#@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@S,                                                  ,:;:  *%??;  :%##??##@@#%@@@@S?++S#@@@#SS@?*?+S@@@@@@@@@@@#*#S###@@@@@##@
@@@@@@@@@@@@@@@@@@@@@@@@@;                                                   ?#S*  ,:+,,;%@@@S**%%#@S%?*+;+***;?S##%%#@%++;@@@###%%@#%*?%S####%?S##@@@
@@@@@@@@@@@@@@@@@@@@@@@@#,                                                   ?@@?  ,, :%@@@@@+;?*;;;+%SS%S######S?***%#?%;;??*%SS#@S+?SSSS???+?#@@@@@@
@@@@@@##@@@@@@@@@@@@@@@@@:                                                   ,+#@:   ,S@@@S%+ ;;+?S@@@@@@@@@@@@@@@@S?;;+?:,+%+*@@S*;*%%%*:;??#@@@@####
@@@@@@@@@@@@@@@@@@@@@@@@#;,                                                    :??,  ,SS*;,:+%##@@@@@@@@@@@@@@@@#%??%%+;; :S%?;*?;;???*;;*SS?@%%SSS#@@
@@@@@@@@@@@@@@@@@@@@@@%*;:,                                                      :,   , :*S@@@@@@@@@@#%??+;*?*?*+++*??*%%::%%%;,::++*??%#SS?*?S##@@@@@
@@@@@@@@@@@@@@@@@@#%+,                                                                  *@@@@@@SS%?*;*%%%*:;?*%SS*+*+?S?S? ;+,,;;;:+***?*;+%S#@@@@@@@@
@@@@@@@@@@@@@@@@@;,                                                                      :%#%;;:,:+*+%%%?*%S%+??*?SS:;?;  ,,:;*%S##@@#S#S*?SS###@@@@@@
@@@@@@@@@@@@@@@@%                                                                          ,,;S#?+*#%#@@@@@@@+*%*;;,   :+%S#@@@@@@@@@@@@@@#@@@@@@@@@@@
@@@@@@@@@@@@@@@*,                                                                           ?S%%SS*+S@@@@#%+;;:,  :+?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@?                                                                       :     ,?#@@@S;*%%+;;+*%*,:?S@@@@@@@@@@##SS@@@@@@@@@@@@@@@@@%#@@@
@@@@@@@@@@@@@@+,                                                                      :+,    ;@#S?+; ;*%#@S*;*S@@@@@@@#S##?;,,, ;S@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@#SS#@@#+                                                                     ,?:     :;+*%*:S##?;,*#@@@@@#*;:, ,,       ,S@@@@@@@@@@@@@@@@@@@
+?@@@@@@@@@@@@@@S                                                                     ,*:     ,%S%%;,+;::*#@@@@@@%,      :S%;,   :S@@@@@@@@@#@@@@@@@@@
 ,#@@@@@@@@@@@@@#;                                                                  ,;        +S%?+;+?%#@@@@@@@@@%;;?%?*?#@@%,   ;S@@@@@@@@@@@@@@@@@@@
 ;@@@@@@@@@@@@@@@@+                                                            ,:,  *@*,      ,,:+%%%S#@##@@@SS#@@@@@@@@@@@#:      *@@@@@@@@@@@@@@@@@@
*?@@@@@@@@@@@@@@@@@S+:                                                      ,,,;*+;*S@S,     ;%%+:;%%?%%%S##SS@@@@@@@@@@@@@#:       :*?@@@@@@@@@@@@@@@
%@@@@@@@@@@@@@@@@@@@@@%;:,                                                ,*###S%*+;:;,     ;@@@##+;?S@@@@@@@@@@@@@@@@@@@@@@+    ,;, ;#@@@@#@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@@@@#S%??++*;:                                      :%@@@@@@@@@@+     ,#@@@@@#%SS#@@@@@@@@@@@@@@@@@@@@@?     :,,#@@@@@@@@@@@@@@@@
*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:::;;;,,;?%SSSSS%?*+::,:+**%SSSSS%%S@@@@@@@@@@@@:     ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;      ++;%#S@@@@@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,     :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*       ;@S*;:?@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;       %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,        +@@#SS@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:        ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+          +@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,         :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S++;   ,;:,:S@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,         ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;  ,S@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?          +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%   ,#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:         ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:   *@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S,         ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;   ;@@@@@@@@@@@@@@@@@@