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