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