S%%%%S%%%?%????%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
%%%%SS%%%%*??%%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
%%%%SSS%SS%*?%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
%%%SSSSSSSS*??%SSSSSSSSSSSSSSSSSSSSSSSSSSSSS#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
%?%SSSSSSS%*+%SSSSSSSSSSSSSSSSSSSSSS###########SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
S%%%SSSSSS?**%SSSSSSSSSSSSSSSSSSS#####S%S#%%S###SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SS%%%S%SS????%SSSSSSSSSSSSSSSSS######S??SSS%?%####SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SS%%%%%%??%?%%SSSSSSSSSSSSSSSS###@#S??%S%SS%?%S###SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SS%?%%%?+??%%%SSSSSSSSSSSSSSS##@###%?%#S?#S%??S#@@#SSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSS?%S%*++?%%SSSSSSSSSSSSSSSS#####SS##S?+%S#%??S##@#SSSSSSSSSSSSSSSSSSSSSSSSSSSS
SS%%%%%**?%%SSSSSSSSSSSSSSSS##@####S*=-;;;-*SSS%##@##SSSSSSSSSSSSSSSSSSSSSSSSSSS
%%%%S%%*?%%%SSSSSSSSSSSSSSS##@@@##%=-;;;:::;=%S###@@##SSSSSSSSSSSSSSSSSSSSSSSSSS
?%SSS%%?*%%%SSSSSSSSSSSSSSS#@@@###%=-;;:::;;;*%S##@@@#SSSSSSSSSSSSSSSSSSSSSSSSSS
*%S%%%?S*?%%SSSSSSSSSSSSSS##@@@###?=--;;;;;;;=%?##@@@##SSSSSSSSSSSSSSSSSSSSSSSSS
???????S%*%%SSSSSSSSSSSSSS##@@###S?==------;--?%S@@@@@#SSSSSSSSSSSSSSSSSSSSSSSSS
%%%%%%%SS%?%SSSSSSSSSSSSSSS#@@S##S+=--;;-;;;--+S?@@@@@SSSSSSSSSSSSSSSSSSSSSSSSSS
%SSSSSSSSS%?SSSSSSSSSSSSSSS#@##@#%+=------;;;-=S%#@#@##SSSSSSSSSSSSSSSSSSSSSSSSS
%SSSSSSSS%S??SSSSSSSSSSSSSS###@@#SS#SS?==+?%%%%%S#@@####SSSSSSSSSSSSSSSSSSSSSSSS
+*?%SSSS%=%-+SSSSSSSSSSSSS##@@@@##S%###?=?###%%%SS@@####SSSSSSSSSSSSSSSSSSSSSSSS
S%?**?%%?+?-?SSSS%*?SSSSSS#@@@@#####S##?-?SS##S#%?#@@#SS#SSSSSSSSSSSSSSSSSSSSSSS
S###S%?**?*=SSS?===?SSSSS#@@@@@S%#S?*+++-=-*??%%+?##@@##SSSSSSSSSSSSSSSSSSSSSSSS
SSSSS###S?==??=:=?%SSSSSS###@@@S+**+=-++-=--+*+-=?S###@#SSS%SSSSSSSSSSSSSSSSSSSS
SSSSSSSS#?-*S=-=+=+?%SSSSSS#@@@#?====+?=-==-----+%??@###SSS%SSSSSSSSSSSSSSSSSSSS
SSSSSSSS**=?%=*=+?%??S%%SSS#####S?+===?*=+=--==+?S?S####SS%S%SSSSSSSSSSSSSSSSSSS
SSSSSSSS*%==?=+-+%S%%%S%SSS#####SS?+-+#SSS=;-=+?SSS@#SSSSS%S%SSSSSSSSSSSSSSSSSSS
SSSSSSSS##=-?=+-%%=-+?%%SSSS##SSSS%+-=SS%-;;-=*%%#@#SSSS%%%%%SSSSSSSSSSSSSSSSSSS
SSSSSSSSS#?-?++-==----=?%SSSS##SSSS?++****=--+**?SSSSSSS%%%%%%%%SSSSSSSSSSSSSSSS
SSSSSSSSS#S=?*+==-------=?%%SS#SSSS%?SSSS%%?=+++SSSSSSS%%%%%%%%%SSSSSSSSSSSSSSSS
SSSSSSSSSS#+?%%%S%*+===--=?%SSS%SSSS%%?++**++++%#SS?**?+**?%%%%%%SSSSSSSSSSSSSSS
SSSSSSSSSSS?S#######SS?=---%SSS%%SSSS####S%***%%S%%-;;+---=+++*?%%%SSSSSSSSSSSSS
SSSSSSSSSSSS#########S%*-;;+SS%%%SSSS**+=-=+?S#*%S*=---;;=+-;-==+*%%%SSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSS##%=;;;?%S###SSSS?????%S#S+?%%?**==-*=--==--=+?%SSSSSSSSSSS
SSSSSSSSSSSSSSSS%S%%%%S#%-;:-S####SSSSSSSSSSS#%+???SS%=-=*--==-----=%%%SSSSSSSSS
SSSSSSSSSSSSSSSSSS%%S%%##?;:;*#####S#SSS#SSSS#?*?+=+?+--*=--=--;;;--+%%SSSSSSSSS
SSSSSSSSSSSSSSSSS%%%%%*?##+;:;?####SSSSSSSSSSS?**+=-=-==?=-----;;;;-=?%%SSSSSSSS
SSSSSSSSSSSS%SS%%%%%%*+=##%-::-S####SSSSSSSSSS%?*+-;-=%?%+===--;;;;;-+%SSSSSSSSS
SSSSSSSSSS%%%%%%%%?*++*+?#S*;:;=######SSSSSSSS%?*=;-=%##S%*===--;;;;-=*??????%%S
SSSSSSSSSS%%%??%%*+=---=?##%=;:;+########SSS#S%?=;;=%###S#%?+==-;;;;--+%%%???%%S
SSSSSSSSSSSS%?%%*+====---%#S*-;;;*###########%*=--=?SSS#S##S%*+=-;;;--=?%%???SSS
SSSSSSSSSSSS%%%%+===----;=#S%=;;;-%#########S+--=*%S+==SSS###S?+=-;;--=*%%???SSS
SSSSSSSSSSSS%%%?+==--;;;--%S%*-;;;-S########*-=+?SS*---*SS##S#S?+------+%%%??SSS
SSSSSSSSSSSS%%%%*+=--;;---+#%?+-;;-+#######S***%SS?==--+%######S*+=----=*%%??SSS
SSSSSSSSSS%S%%%#%*+=-;;--==SS?*=;;;-*####S#*=*??**++==+?####@@##%*==---==?%??SSS
SSSSSSSSSSSS%%%S#S#S+-;--=+%#??+-;;;-?####S*++++++****%S##@@@@##S?+=---==+*??SSS
SSSSSSSSS%%S%%%%#####?----=+#%?*=-;;--%###S??*******??%#S#@@@@##S?*+=--===+*?%SS
SSSSSSSSSSSSSSS%######S+---=%S??+-----=S##*+**????****?#S#@@#####%*+==--===+?%SS
SSSSSSSSSS#####**S######S?++%#%?*=-----+#S+**??%??*+++*SS########S?*+=======+%%S
SSS###########@#*=%###########S?*+=-----?S??%%%??*++++*SS#######SS%*++=======*%%
SSS%????%SS####@@?=+S#########S??*==----=S##SS%?**++=+*SS#######SSS?*++======+?S
%%%%SS%%?**%%S#@@@S+=*S#SS#####%??+=-----*####S?*++===*SSS######S%SS?*++======*S
SSSSSSSSSS%*?S#@@@@#+-=?*=?####%??*+=----=S###S%*+====%%SS######S%SS%?**++====+?
SSSS##SSSSSS??S@@@@#?+=====?##SS???+==---=*###S?*+==-+S%SS######S%%SS%??*++===+*
SS####@@#SSSS%?#@#?+==++=---?#S#S%%?+==--=+###S?+==--?SSSS#####S%??**+++=======+
S##SS%#@@#SSSS%S%=+*%####?=--?#S#SS%*===-==S##S?+==-+S%%%%%?**+++===-------====+
S#SSSSSS#@@SSSS*+?S#@@@@@#%=--%#S#SS?*===-=*###?++++?**++====-----------------=+
#SSSSS#%S#@#SSS?S%%###@@@@#%+-=#####S?*+===**+++====---------------====-------=+
##SSS#@SSS#@SSSSS?#@####@###S+=%@@@##SS%*+?*--------------------======++==++++++
S#######SS###SSS#@@@@@@######S??##@@#####S#*+**++++++++++++++++++====++++*******
SSSSSSS#SS###SSSS@@@@@@@@@#####S###@@@##%%%%??********?????%%%??%????%%%%%%%%??*
SSSSSSS##S####SSS@@@@@@@@@@@@#######SS%????%%%%%%%%%SSSSS%%%*===+*%S#S########S?
SSSSSSS##SS###SSS#@@@@@@@@@@@@@@@@#%%%??????%%%%%%%%%%%%%%?+=+====*%S###########
SSSSSSS##SS###SSS#@@@@@@@@@@@@@@@#S%%%????%%%%%%%SS%%%%%%?+=++=--=+?%SSS##S#SSSS
SSSSSSS##SS###SSS#@@@@@@@@@@@@@@#SS%%%%%?%%%%%S%%%%%%%%SS*++**=--=+*?%SS##S#SSSS
SSSSSSS##SS###SSS#@@@@@@@@@@@@@##SSS%%%%%%%%%%SS%%%%%%S#%?+++*+=-=+**%SS##S#SSSS
SSSSSSS##SS###SSSS@@@@@@@@@@@@##SSSS%%%%%%%%%%%S%%%%%S@#S?*++*+===+*?%S###S#SSSS
SSSSSSSSSSSSSSSSSS@@@@@@@#######SS#S%%%%%%%%%%%%%%%S#####%*++*+===+*?%SS##S#SSSS