%?=--;;;;:;;--=%%SSSSSSSSSSSSS######SSSS%%?*??**+-*???*;=?%%%?+;-*??%?*===---+++
*+=;:,:;;;--;;;+?SS######SSSS%%%%???=+????--????+:+????=,=%%%%S*;;*SS%%*=----;-=
:,,,;=?*-;;::;-*%SSS%%%?*????=-????+:*???*:-??%%?:-SSSS%;,+?***+-:;====--------;
=;=?%?+-;;;:;-*??%%%%%*-+???=:+????:-%SSS%:-%%??*:,==--;;,::::::::;-------=+++**
#%?*=-;;;;;-=+=+*???*-;*%%%=:+S%%?=,=+=--;,::::::,,,::::::;;;;--=+*???%%%%SSSSSS
#S+--;;;;;-===***++=;;+?*+-,:;;:::,:,,,,,,,::;;;;--==++**???%%%%SSSSSS#########@
S#%-;;;;---====----:;;::::::,::::::---==++**??????%%%%%SSSS##################S##
SS#?;;----+=------;--;---=*++****?????**++SS%*%############SSSSSSSSSSSSSS#######
?%S#*--=*??***?????%%%%%%%%%SSSSS%SS#?;;::=%-;:=SSSSSSSSSSSS#############SSSS%%%
***S#%%SSSSSSSSS############SSS%=;;;?;;-;;:-;-::?#########SSS%%%???***+++++=====
*++?#############SSSSSSSSSSSSS*:;;;:::;;::::;:;;;---+++*?*+=----------;;;;;;;;;;
%?++%#@##SSSSSS##########SSS%?::;;;:::::;;:::;::::::::;-*?*+-;:;;;;;;;;;;;;;;;;;
S%*%##@#####SSS%%%???*+==+?+;:,:;:::-:::=-:,--:::;;,,,::=***+:::::::::;=++;;::::
%%S#S%??*+++**==+=-*%+;;=%+:,,,:;;:,--;;*+-;=-:,-=;:,:-=*%%%=;-=;::;::+SSS??;:::
SSS%*=--;;-?S*=?%??S+:;+?=,,,,:::--;=*?SSSSSS%=-=-::;,;-==-;+%%*;:+%+;;=%S?+;:::
S%?+=-;;;+%%%%S*+?%+:;*%?;,::::,:-???**++++*??%S?;;-::,,,::+%+-;;?SSS%+-%S*;;:::
?*=--;;;*%+-**-::-=:::---;:,;---=??****+++++*??%S?-:-=:,,::+%??=-?*--=-;-=-;;;;-
+=--;;;;=-;----====------;:,::-+S%??*??*???*%S%%%#%+=-:,,,::;-;;;---==++**??????
=--;;=+===--;;:::;:,,:-**=,:-;;%%%%%%%%%%%%??S#SSS#%-:,:,,;***???****++==---;;;;
-;;;;:::-++=:::-%?*;:;*%?:,;;=?S%SSSSSSSSSS%+*S#SS##+;--:::;;;::::::::::;;;;--==
;;;;::-*S%?*;:=??*+::+*=-,,;-+SS###S######SS++?######+--;,:;;;--==++**???%%%%SSS
;;;::;?%**+:;?SS%?-:;*-:::,::*SS######@#@#SS==*%#####S+=--?%%%%SSSSSSSSSSSSSSSSS
;;;::-*%%*-:-+---;:::::::,,,:%S####@@@@@@#S?+=+?S#####=:::-?%%SSSSSSSSSSSSSSSSSS
;;;;:;;;;;:;;;;---==++**=:;-+S#@@@@@@@@@##S?*++*%#####%-;::=SSSSSSSSSSSSSSSSSSSS
==+++***???%%%%%%%%%S%S%+:;;+S#@@@@@@@@@#S%%%SS%S#####S+=---SSSSSSSSSSSSSSSSS###
SSSSSSSSSSSSSSSSSSSSSS%%*;:;*S@@@@@@##S%??**?????%####S-;;-=SSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSS*;;-?S@@##S%???*****?SSSS%S###S+-:;*%%SSSSSSSSSSS######S
SSSSSSSSSSSSSSSSSSSSSSSS?;;-?#@#S###S???***?S#SS##%###S+=-+S##########@@@@@@@@@#
#######SSSSSSSSSSSSSSS%%%+;-?#@%####SS%?++*??????%?S#S%+;-%#######@@@@@@@@@@@@@@
@##SSSSSSSSSSSSSSSSS######*-?##%S%?????*==+**+++**?%##?+;;*#@@@@@@@@@@@@@@@@@@@@
@#SSSS#########@###@######*-*##???*****+--=++++++*??S#?++++#@@@@@@@@@@@@@@@@@@@@
S%%%S#@@@@@@@@@@@@@@@##@@#++?#S???*****=;;=++===+*??S#?++**#@@@@@@@@@@@@@###@@@@
???%#@@@@@@@@@@@@@@@@@@@@@#%%#%%?**+++*=--=++===++*?S#?=%####SSSSSSSSSSSSSSS#@@@
**?#@@@@@@@@@@@@@@@@@@@@@@##%#%??**++++++=*++====+*?S#?=?SSSSSSS######@@@@@@@@@@
+?#@@@@@@@@######SSSSSSS%%%%S##*?**+++**?*?*+====+*?S#S%S@@@@@@@@@@@@@@@@@@@@@@@
*S@#@@@#SSSSSSSSSS#######S####@%?*++++++*?**+====+*%###@##@@@@@@@############@@@
S#S#@@@@@@@@@@@@@@@@@@@#########%++=---+*?*+++===+*S###SSSSSSSSSSSSSSSSSSSSSS#@@
#SS@@@@@@@@@@@@@#######SSSS*+=;;;;;;--=+S%%S%*+==+?SS#SSSSSSSSSSSSSSSSSSSSSSSS#@
%S@@@@#######SSSSSSSSS%%??+;;-+??***+;:=%%%%?*+=+*%SS#SSSSSSSSSSSSSSSSSSSSSSSSS@
%@@@@#SSS###SS%?*++=-------==++%#S%+;-=*??**+++++?SSS#SSSSSSSSSSSSSSSSSSSSSSSSS#
@@###S%?+=--;;;;;---==+***?%%%%?+-==++++****++++*%SSS#SSSSSSSSSSSSSSSSSSSSSSSSSS
@#S%+-;==---==++***??%%%SSSSSS?--=+*?**++++++++??+*SSS?++?SSSSSSSSSSSSSSSSSSSSSS
#S??*+--??????%%%%%%%%%%%%?%S%+++**%%+****++****+=-*SS=:;+%SSSSSSSSSSSSSSSSSSSSS
#S?%??*+%#SSSSSSS%%%%%?==-=?%????%%%===*?**%%??%%S?=SS*-=?SSSSSSSSSSSSSS%++SSSSS
@#%%%%??S#SS%%%%%%S##S;:-+*?%%+=*%*--?@S%????S#@@#S?*%SSSSSSSSSSSSSSSS?-,:;*SSSS
#S%%%%%?SS%%%SS#@@@@%-;-+**??*=-;;;-=S@@@#S%#@@@@@S%++SSSSSSSSSSSSS%+;,::,:-%SSS
S%#SS%%%####@@@@@@@?;;-+==+??***+--;;*@@@@@@@@@@@#S?=-%SSSSSSSSSS?=:,,,,:::;+SSS
*S@@###@@@@@??#@@@#=;;;;-+??????**++--*##@@##@@##SS#S?-=+*?%*+*+;::,:::;--;-=%SS
+#@@@@@@@@@?,,,;+%S-::;-+???*===+****+=*@@##S#@#######%=--;;:,,,::::;;;;;;:++=S#
#@@@@@@@@@@=,::,,,;;;-=++=--;;;;-++%%*+=+#S#SSS########?----:,,::;;;;;::::;?%*?S
@@@@@@@@@@@+::,:,,;;;;-;;;;-=++-;;-*%%?+=*?SSS%*%S####S=----:,,::::,,:;;;:;*%%%S
@@@@@@@@@@S;:::,,,:::::;-=++****+=--*%%%?==%SSS*-=*%S#?--;;-:,,,,,,,,,:-;:?S%%%S
@@@@@@@@@@%::,,,,:;;;;-=+*******++*+=+%S?;-%SSSS=;;;-=-;;;;-:,,,::::::;;=--SS%%%
@@@@@@@@@#*-=--;;;===++****???**=;=++=+S=;;%SSSS%-:;;;;;;;;;;,,,:::::;-=+--%S%%%
@@@@@@@@#S*=+=----+*****+*????*+;;*%?*++;;;%SSSSS%-::::::;;;;,,,::::;;;=+--S#S%%
@@@@@@@#S%=-;-;:,:*???***?????*=:*%%%S*--;;?SSS%%%*:::::::::;,,,:;;;---==-%##S%S
@##@@@@SS*;;::,,,;*???*++????*+;+%%%%*-----*%SS%%%%;,,,,,,,,:,,,,:;-==+++-%#SS%S
@@@@@@#SS-;;:;,,,-*???*++???**-=%%%%?;::;;:=%%%%%%%*,,,,,,,,,,,,,,,,:;=---*#SS%S
@@@##@SS%;:;:::,,=*???*++???*=-?%%%%*;;;:::-%%%%%%%*,,,,,,,,,,,,,,,::::--;+@#SSS
@@@?%#SSS%;:;;-;;+*???*++*?*+-?%%%%%=::,,,,,*%%%%%%;,,,,,,,,,,,,,,,,:::::;%@@#SS
@@@@@#SSS%;==-;:;+*???*++***;-SSSS%*;:::::,::=?%%%*,,,,,,,,,,,,,,,::::;:;S@@@#SS
@@#@#SSSS*-+;;::-+????*++++;:;%SSS*-::::::::,,;+?%-,,,,,,,,,,,,,,,:::;;;;*@@@@S#
@@#@##SSS?-=-:;-=*????*+++-;;-%#S*=;;::::::,:,,,;=:,,,,,,,,,,,,,,::;;:;;;;%@@@S#
@@@@##SSSS+-;==-=*???**+++=-==?S?=-;;;:::::::,,,,,,,,,,,,,,,,,,,:::;==--:;S@@@##
@@@@##SSS##?==-;+*???**+++++++**+=--;;;:::::::,,,,,,,,,,,,,,,,,,,::;=++=-;%@@@#@
@@@@##SSS#@*=-;-+*????******++++=---;;;::::::::,,,,,::::,,,,,,,,,,:;;====?#@@@#@