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