@@@@@@@@@@@@@@@@@@@@@@@#@@@@###@######@@@@#@@@@@@#@@#SS%%S%S%%??++-;--++=+-=+=-;
@@@@@@######@@@#SS%%???%#@@@@##@@@@@@@@@@@@@@@@@@@@@@##%%###%++****+==--*+-+++==
@@@#######S%%%%%%%%S%%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%#@#+=****=+*%?+*?+**+==
@@@#####S%%%**++-=--=+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%#@@#?*+-*+=*?*%*?+=?+==
@@@####?=====+*??%%S%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S#@@SSS?*?%*??=?;;=+?*++
@@#####SSS%S?SS#%SS#?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@S+?SS%%SS%%?*+=;-??*+
@########%SS?%%S%?%#?#@@@@@@@@@@@@@@@@@@@@@@@@@@###SSSSSS#@#?%%%%SSS?%%%?=-=??*+
##@##@@@#%SS?%?#??%#%S@@@@@@@@@@@@@@@@@@@@@@##SS%%%?%%%%S##@@@#SSSSS*?%S%%???***
##@@#@@@S%S#*%?#??SSSS@@@@@@@@@@@@@@@@@@@@##S%%?????????%S##@######S%%SS%??%???+
#@######S%?#+S*#?%S%#%@@@@@@@@@@@@@@@@@###S%?****?%%%%??%S##@@####S%%SSSS%?%%%+=
@@@#SSSSS%?#+S*#?%S%#%@@@@@@@@@@@@@@###SS%?*+==++*?%S%%%%S##@@@@@#SSSSS#SS%%%?-:
@@##SSSSS%?S*%*S%%S%@%@@@@@@@@@@@@##S%%??*==----==+*?%%%%SS##@@@@#S#SSSSS%%???%?
@@@#SSSSS?*S*%*SS%%%@%#@@@@@@@@@@#S%??*++=--;;;;;-==+*??%%SS#@@@@@#@@#%*?%?*=SSS
@@@#SSSS%++%+++S%*++%?*@@@@@@@@@##S?*++==---;;;;;;;-==+?%%%S##@@@@@@@%%?+S***SSS
@#@#SS%%SS%SS?*%#S?##@#@@@@@@@@@#S%?*+===---;;;;;:;;;-=+?S%%###@@@@@@S#*%#+S##SS
@@#SSS%S%%%#@@@@@@@@@@@@@@@@@@@##S%?*++==----;;;;:::;;--=?%?S##@@@@@@@#*--::-%SS
@##SSS%%%%%#@@@@@@@@@@@@@@@@@@@##S%??*+==----;;;;:::::;;-+?%?S##@@@@@#+*==;:;+#S
###SS%%%%%%#@@@@@@@@@@@@@@@@@@###S%%?*+===----;;;;::::::;-+%??S##@@@@?*?+#+*S#SS
@@#S%%%%%%%#@@@@@@@@@@@@@@@@@@##SS%??*++==-----;;;:::::::;=+%*%S#@@@@@@#=?+;-?SS
@##S%%%%%%%S@@@@@@@@@@@@@@@@@@#SS%%??*++====-----;;;;;;;-===??*%#@@@@@S+;:+=+-?#
SSSSS%??%SSS@@@@@@@@@@@@@@@@@@#S%%%??**++++========+*??*++*+=?+?S#@@@@*+-=*SSSSS
%SSSSS??S###@@@@@@@@@@@@@@@@@@#SS%%%????***++++*?%%SS%?+-;-=-**+?#@@@@####@@####
?%SSS%??#@##@@@@@@@@@@@@@@@@@@@@#####SS%%??***?%SSSS?*+=--=++=%=*S#@@@@@@@@@@###
??%%%%%%S####@@@@@@@@@@@@@@@@@@@@#######SS%?**?SSSS%????????*=?++%#@@@@@@@@@@@@#
%**?????%%%%S@@@@@@@@@@@@@@@@@@@#SSSSS####S%***?%SSS########%=+*-?#@@@@@@@@@@@@@
S%+**?**????%#@@@@@@@@@@@@@@@@@@@#SS??%S###%*++*%SS#@@@#%SS?=;;?-*##@@@@@@@@@@@@
##?*++*?????%S@@@@@@@@@@@@@@@@@@@@@@#S??S##%+--+%S##SSS%*?*=;;;+=+S#@@@@@@@@@@@@
##%?*++*????%S@@@@@@@@@@@@@@@@@@@@@@@##?%##%=;;-*SSSS%%?**=-;;;=++##@@@@@@@@@@@@
#%%%?*+**???%S#@@@@@@@@@@@@@@@@@@##S%?%S?S#%-::;=?%%%%?*+=-;;;;;?+S#@#@@@@@@@@@@
%?%%?****???%S##@@@@@@@@@@@@@@@@@#SS%????S#%-:::;+****+==-;;;;;-*+SS#SSS##@@@@@@
+++*****????%S##S@@@@@@@@@@@@@@@##SS??**?S#%-:,::-=+++===-------**??SS####@@@@@@
+++*??*?**??%S##S%S###@##@@@@@@##S%?****?S#S=:,::;-=======-----=+*%%#####@@@@@@@
**???******??S##S????%##S#@@@@##S%??****%S#S=:,,:;-=============+*##@####@@@@@@@
?******+++???S##S?????##S##@@@##S%??***?%##S=:,,:;-=============+*########@@@@@@
%?**+++**???%S##%?????##%#%S@@##SS%??*??S##S+:,,::-=++++========++S##SSSS#@@@@@@
SS%?+++??%%%SS##*-*???S#%S%?#@###S%%???%S##S+-::::-=+++++========+###SSSS#@@@@@@
@##S%*=?%SS###@@S=;???S#%S%?%####SS%%??%S##S%*=--;;-==++=====---=+###SSSS#@@@@@@
@@@@#%++%SS###@@#+;=?%S#%SS?%####SSS%%%S##SSS%?%S+;;--=====-----=*###SSSS#@@@@@@
@@@@S%?**?%%%S#@#*-;%SS#SSS%%#@##SSS%%%S####SS%*+;::;;---=------=%###SSSS#@@@@@@
#@@@S%?*+**??%#@#?=;S#####SSSS###SSSS%SS#####%?-:::::;;---------*S###SSSS#@@@@@@
#@@@S%?**+**?*+S#?=;%SSSS%%?%SS###SSSSS#####%==-;:,::;--------=+SS##SSSSS#@@@@@@
#@@@#%??**+*?%++S?=;+?****?SSSSS@##SSSSS#####S?SS%*=-=+===--===%SS##SSSSS##@@@@@
#@@@#%??**++?SS%S*=;-+*?%SS##S#SS##SSSSSSS##########SS%*+====+?SSS###SSSS##@@@@@
#@@@#S????**?%%##*=;=%S###SS%?*?++**?SSSS########%%%?+**+++=+=?SS####SSSS##@@@@@
#@@@#S???**+==+S#*=;+##SS%?+-;;;;;;;=S%%S#####SSS%%%*+++++++=-+###@##SS###@@@@@@
#@@@S%*++==+*?%##+-;+#S?*=;;--===++*%SS%%%S#######S%*++===+=---S##@@######@@@@@@
##%S+===+*%%S##@S+-;-?=;;;--=+?????*%#SS%%%%SSS#S%?++====++=-;;=#@@@@@@@@@@@@@@@
#S*+?*?%SS###SS##*=-;?+--=++?%#S%?*=+%SSSSSSSSSS?*==--==++=--;;:*#@@######@@@@@@
#@S*S####S%??%S#@%+==S?==*?%%S#S%%*++?%SSSSSSS%%?*+====+*+=-;;::;?@@#######@@@@@
#@@S##S%?????%S#@#???#*==+%SS###S%%?+*SS##S%%%%%%%?******+=--;:::;*##S%?+---=?#@
#@@@@#SSSSSSSS#@@@SS#S*=-=S###@#S%%*=+S##@@#S%%%%%%%???*++=--;;::::=?-:,,,,,,,-S
@@@@@@########@@@@@#@S+=-*#SS@@@#S%*+=?#@@@@@##SSS%????*+==--;;:::,,,,,,,,,,,;=*
@@@@@@@#######@@@@@@@S+--??;:=%##S%*+==#@@@@@###SS%????*+==--;;::,,,,,,,,,;;-+??
@@@@@##SSSSSSS#@@#@@@%=--**=;::;+?%*=--?@@@@@####S%%???*++=--;;:,,,,,,,,;-++*??%
#@@@##%%%%%??%S#@##@@?-;****+=;:::-+=---#@@@@####SS%%%?*++==-;,,,,,,,,;+****+?%S
#@@@#S%???????S#@#%@#?=?**?%*??*=;:;;;;-*@@@#####SSS%%??*++=::,,,,,,:=+**++?%%%S
#@@@@S%???????S#@#%#S???**?=:;-+*?=;;;;;=@@@#####SSSS%%?*+-:,,,,,,:-;-;;??%%%%%%
#@@@@S%???????S#@#%#%%?*+**-::;;-*?=;:::-#@@#####SSSSS%?*-:::,,,,:+?+**?%%%%%%%%
#@@@@#%%?????%S#@#S#%%?+--=-:::;;-+?=-::;%@@####SSSSSS%*;::;::::=??%??%SSSSS%%%%
#@@@@#%%?????%S#@##@#S?+-;---;;;;;;=+-:::*@@##SSSSSSS%*;::::::-*?%*+%SSSSSSSSS%S
#@@@@#S%%%???%S#@#S#@#%*-;;;-------;:::::-%###SSSSS#S*;;:,:::-?%%%%%SSSSSSSSSSSS
#@@@@#S%%%%%?%S#@#SS@@#%+;::;--===-;:::::;=S#S%%%SSS+;:::,::=+?%%%S#SSSSSSSSSSSS
#@@@@#S%%%%%%%S#@@@@@@@#%+;:::;;-;;::::::;-=%???%%%+;;;-;:;++?%%S######SSSSSSSSS
#@@@@#S%%%%%%%S#@@@@@@@@#%+-::::::::::::;--:-++*??+;;;;-;=%%%SS###########SSSSSS
#@@@@#SSSSSSSS#@@@@@@@@@@#%+-;::,:,,,:::;==::-=+*+=;;;;;=%SSSS##############SSSS
@@@@@@#######@@@@@@@@@@@@@#?+-;:,,,,,::;-?+;:,-+=--;;;;+SSSSS###################