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