@@@@@@@@@@@@@@@@@@@@S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SS#S%SSS*+-=++=++*==**+=--=+
@@@@@@@@@@@@@@@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###S#S?%#%?+====*??*++*+%=-=S
@@@@@###########@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%#S?%?++**???**+++*++=+
#S%%%SS%S%%S%SS#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%%S?%?%*%*%+=***+=+;-+*
@S%%%%%%%%%%SSS##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%?S%?#####S?=+?*=*=++-
@S?%%%%?%%%%%%%S#@@@#@@@@@@@@@@@@@@@@@########@@@@@@@@@@SSSS#*=%#SS##*==+*+===--
@S?%%%%%?%?%?%S#@@@@#@@@@@@@@@@@@@@###S%%??%%%SSSSSS##@@%?%SS?*S#S%S##%-=-=+++*+
@#?%%S%S%%%S?%S@@@@@#@@@@@@@@@@@###SS%%??*?%%%%%%%%%SS#@S?%%%??%SSSS#S*=--=**?%+
@#?S%S%S%%%%%%S@@@@@@@@@@@@@@@###SS%%%??***?%%SSSSSSSS#@@@@?%??++?SSS??++=+*+*=-
@#?S?S?%%%%%%%#@@@@@@@@@@@@@@##S%??*?**++=++*%%SSSSSSS###@@?*???**%%%***?++*=+=-
@#%#*#?%S%S%%%#@@@@@@@@@@@@@#S%?****++===---=**%%SSSSSS###@@#?*?%SS??***?%?***S?
#S%#*#?SS%S?S%#@@@@@@@@@@@@#S%??*+++===-------=+?%%SSSSS###@@S=-%%%??+=-=+???*??
#S%#*#?%S%S?S%#@@@@@@@@@@@#S%%?**++===----;;;;--+*%%%%SS####@@@#S###%*=--=?S??%?
#S%#?#?S#%#?#%#@@@@@@@@@@@#S%??**++===---;;;;;;;-=*?%%%S#####@@@@@@@#+;;-*%S%S@?
#S?#?#?%#%#?#?#@@@@@@@@@@#S%%??**++===---;;;:::;;-=*%%%%S###@#@@@@@@@@?*%@@#S?%?
######SS#%#%#%#@@@@@@@@@@#S%%??**++===---;;;:::;;;-=*%%%S#######@@@@@@@@@@@@@##S
######@@@@@@@@@@@@@@@@@@#SS%%??**++===---;;;;:::;;;-=?%%%############@@@@@@@@###
######@@@@@@@@@@@@@@@@@@#S%%???**++===----;;;::::;;;-+?%?S#@@#########@@@@@@@@##
######@@@@@@@@@@@@@@@@@@#S%%??***++===-----;;;::::;;;=+??%#@@@#########@@@@@@@@@
#####@@@@@@@@@@@@@@@@@@@#S%%???**+++====------;;---===+*%*S#@@@########@@@@@@@@@
#####@@@@@@@@@@@@@@@@@@@###SS%%??**++======+*??%%??????*?*?#@@@@#######@@@@@@@@@
######@@@@@@@@@@@@@@@@@@@@@@@@##S%?**++=++?%%S%%?*====+**?*S#@@########@@@@@@*S@
######@@@@@@@@@@@@@@@@@@@#SSSS####S%?*+++*?%???*++==+==++?*S#@@@#######@@@@@@S@@
######@@@@@@@@@@@@@@@@@@@@#S%???%S#S%?*++**???%%S%%%%?*++**%#@@########@@@@@@#@@
######@@@@@@@@@@@@@@@@@@@@@@@#S?*?%SS?*==+*??S#@SS###S%*++?%#@@@######@@@@@@S=S@
######@@@@@@@@@@@@@@@@@@@@@@@@S#S??SS?+--=+?%SS@@#??S%*===*S#@########@@@@@@?-+@
#######@@@@@@@@@@@@@@@@@@@@##@@S%S*%S?+;;-=*%%%%%?+*?+=--=+S#@@@@#@@@@@@@@@@@#@@
#####S#@@@@@@@@@@@@@@@@@@@@#S%%?***?S?=;;;-+??%%??**+----=+S#@@@@@@@@@@@@@@@S#@@
###SSS#@@@@@@@@@@@@@@@@#####S%%?***?%?=;;;;-=+***++=-;;--=+S#@#@@@@@@@@@@@@S??S@
##SSSSS#@@@@@@@@@@@@@@@#SS%%??*+++*?%?=:;;;;-====---;;---=+S##@@@@@@@@@@#S#+=#@@
#SSSSSSS@@@@@@@@@@@@@@@#S%??**++++*%S?=:;;;;--------;---==*SSS@@@@@@@@@#%?*==-?@
SSSSSSSS#@@@@@@@@@@@@@@@S%?**++++*?SS?=:;;;;-----------==+?%%#@@@@@@@@@S???+=%#@
SSSSSSSSS#@@@@@@@#####@@#S%**++++*%SS?-:;;;;----------==++??#@@@@@@@@@@@#S#%*@@@
SSSSSSSSSS#@@@@##SS###@@@#%?**+++*%#S*=;;;;---------====++%#@@@@@@@@@@@@S*?-;+S@
SSSSSSSSSSS###SSSSS####@@#S%?**+*?S#S?=-;---------=====++*#@###@@@@@@@S?+*=-=-*#
SSSSSSSSSSSSSSSSSSS####@@@#S%?***%###S?+++=------=======+?#@###@@@@@@@#%??%%S@@@
SSSSSSSSSSSSSSSSSSSS#S#@@@@#%????%##@#%??%*------=======+%#@###@@@@@@@@@#%@*=#@@
SSSSSSSSSSSSSSSSSSSS#SS#@@@#S%???%S###%*=--;;;----======+######@@@@@@@@@?=+;-=%@
SSSSSSSSSSSSSSSSSSSSSSSS#@@@#S%?%%%%%?++-;;;;;----======?######@@@@@@@S*=++=??%@
SSSSSSSSSSSSS%S%%S%SSSSSS@@@@#%+*%%%%?++=-;;;-----=====+S#####@@@@@@@@S%%?*+S@@@
SSSSSSSSSS%S%%%%%%%%SSSSSS@@@#*=+SS###S%%??+-====-====+?######@@@@@@@@#?%?%*%%@@
SSSSSSSSSSSSSSSSSSS%SSS#SS#@#%+=%#S*+#####SS%%?+=====+*###@##@@@@@@@@@@#S?#*%@@@
SSSSS%%%%SS#S%??%%%%%%%%%SSS%?**#%+-=SS%%**?*+++====+*S###@##@@@@@@@@@@#?=+;;+%@
SSS%%%%%%S##%%??????????????????*=--*????*??+======+*S#######@@@@@@@@@?===--=*S@
SS%%%%%%%S#@##SSSSSSSS%%%%%%???+=--*SSSSS%?+======+*%#########@@@@@@@@@#%*??%?#@
S%%%%%%%%%S################S%*=--=?##SS%?+==--===+**%#######@@@@@@@@@@@@#*#?S@@@
%%%%%%%%%%%%%%%%%%%%%SSS#@@S+-;-=%##S?*+=-----==+*++?########@@@@@@@@@#%=-=-;+%@
%%%%%%%%%%%%%%%%%%%%%%%S##%+-;-=%##S%?++==---==+*+++?########@@@@@@@@#*======+%@
%%%%%%%%%%%%%%%%%%%%%%%##?=---=S@@#S%??*+++++**+++==*#######@@@@@@@@@@@@#SS%@@@@
%%%%%%%%%%%%%%%%%%%%%%%##*=--=S@@@@#S%%%????**++====+S######@@@@@@@@@@%???S?SS@@
%%%%%%%%%%%%%%%%%%%%%%S@%+=--%@@@@@@##SS%%?*+++======%#####@@@@@@@@@@@@@%%S?#@@@
%%%%%%%%%%%%%%%%?????%##*=--=#@@@@@###SS%?*++========?####@@@@@@@@@@@@@S--*-?#@@
%%%%%%%%%%%SS#@@#S%??S@%+=--*@@@@####SS%?*++=========+S###@@@@@@@@@@@S+==-;;;-?@
%%%%%%%%%%###SS#@@@#S##*=---%@@###SSSS%??*++=======-==?##@@#S%?%%%@@@@@#%%%?%#@@
%%%%%%S@@@@#S%%%%S#@@@%+---=%####SSS%%%?*++======-=---=%@##%*++-;-*@@@@@@@@@@@@@
%%%%%#@@@@@@@#%????S@S*=---=?##SSS%%%??**++====-------=+%S*++-;;;;=SS#@@@@@@@@@@
%%%%#@@@@@@@@@#S%??%S*=-----*S%?*+=+???*++=====------==+?*++-;::;+%%SS#@@@@@@@@@
%%S@@@@@@@@@@@###%?S+==--;--==----;;=+**++=====------=*?++=;::;;+??%%%SS#@@@@@@@
%#@@@@@@@@@@#######?====-----;;;------=+++====-----==*?+=-::::-+**??%%%SS#@@@@@@
@@@@@@@@@@@########??*----;;;--==+**+=--=====-----=+*+++=;:::-+++***??%%SSS#@@@@
@@@@@@@@#############?===-----======**+=--==-----=+*+++=;;::====+++**??%%%SS#@@@
@@@################@@#%?+-----;;;----=+*+=-=----=+?*==-;;;;-======+++**??%%%SS#@
@SS################@@@@#*=-;;;;---=----=*?+=---=+?*==-;::;===========++*???%%SS#
#S%%###############@@@@@?+----+*****+=---=++--=*%?=+=:::;=============++**??%%%S
%%%SSS#S#######@@@@@@@@#%*===+??**+*?*=------=+%?==+;:::================++**?+-=
SS%%%S##S#####@@@@@@@@@#?*+==*???*+**??+=---=*%?=++;::;+==================+++---