!!!!!!!;;;;;;*+?=&###@@####@@@@@@@@@@@@@@@####@@@@@@@@@@@#######$$$+:;;:;;;;;;;:
;;;;;;;;:;;!;*+=&########@@@@@@@@@@@##############@@@@@@@#######$&$&;:::::::::::
---------;:-;*=%$#########@@@@@@@@######$$$$$$$$$$###@@@@@@#####$$&$+-~~~--~~~~~
~~~,,,,~-~~~!?=&$########@@@@@@@###$$$$&&%%%%&&$$$$$####@@@@####$$$&?~,,,,,,,,,.
.......,,,~-+?%&$########@@@@@###$&&%%=====?===%&$$##$###########$$&+~.........'
'''''''...~;?=&&$########@@@@###$&%===??????????=&$##############$$&+,.'''''''''
'''''''..,-+%&&&&$$$####@@@@@##$&%==??????+++++++?%$##############$&!,.'``````''
''''''...-+&&&&%%%&&$$###@@@@#$&%==?????+++++*****+=&############$$=-~.'```````'
.......,~*%%$&&&&&%==&$##@@@##$&%=????+++++********+?%$##########$&!~~.'``````''
,,,,,,,-;%%&$&&&&&%=%$$###@@#$&%==??++++++****!!!!***+=$########$$$%-,.'''````''
~~~~~~-;+%=$&&&&&&==%&&$$$##$$&%=???+++++****!!!!!!!!**+&######$$$$$?~,..'''''''
~~~~~-:*%==$$$$$$&=%%==%&###$&%=???++++++*****!!!!!!!!!!*&######$$$$$+~,,,......
-----:!?===$$$$$&%%%%%&$###$$&&%%=???++++++??=%%&&&&%=+!;*&#####$$$$$&;~~~,,,,,,
----:;*%=?%$$$$$&%=%%&&$$#########$&%?????=&$$#######$$&?;*&#######$$$=:-~~~~~~~
---::!=%??&$$$$$&%=%%&$$$$##########$&=??=%$$######$$&%%&%*+$#######$$$*-~~~~~~~
--:::*%&+=$$$$$$&%%%?=%$$$$$$$#######$%=??%$$$$$$$$$&&%?+=%*?#########$?-~~~~~~~
-:::!+&%+&$$$$$&&%%%=?=&$$$$$$$$#####$%=?+?%&$$$$$&%=%&&=*++*&@@#@@@##$&;-~~~~~~
:-:;*=&=?&$$$$$&%%%%%==%$$$#$$&&&&###$%?*;*=&$$$$$&%?+?&%=+**=#@@@@@@##$=:-~~~~~
-:;*?&%%&$$$$$&%%%%%%&%%&$$$$#$$$&$##$&?!-;+%$$####$%=?%&%?*!+#@@@@@@###$?:--~~~
:;!?%&&$$$$$$$&?=%%%%%&&&$$&$######$$$&?!-;*+&##$######$&=+;;!$#@@@@#####$?:-~~~
!+%%%$$$$$&&&&=?=%%=%&&&&$$$&&###$$$$$%+;:;*?&$$$###$$$&=*;--;%#@@@@@@###$$+--~~
*?=?=&%&$$&%%%&%%%%%%$&%=&$$$$###$$&&&%+::;!+?%$####$$%+!;-~-;=#@@@@@@@@##$&*--~
*?+?%=&&$$$&&&&&%%%&%%===%%&$$$&&%%%&&=*:;;;!**+?=%%=?+!;:~,~:?##@@@@@@@@##$&!-~
*+?%=%&$$##$$$$$$&&$%=%=?==========%%%?*;;;:::;!******!;:-,,~;?#####@@@@@@#$&=;-
*+?%??&$$#######$$$$%=%&=++????????=%=+*;;;:--:;;!!!!;;-~,.,-!=$#####@@@@@@#&&*-
;+==+?&&$###########$=%%=*!!!!!*+??%%?+*-~:;-~-::;;;;:-~..,~;*%$#$###@@@@@@#%&?:
:*=%?=&$##@@@########%%%?+!;;;;;!+=%&%%=+?*::--:::::--~,,~-;*+&$&%&##@@@@@@@&%=;
:!=&=&##@@@@@@######$&&&=?*!!;;::;*=$$&%%$$?!:::::------:;!*+?&$$%%$#@@@@@@@$==!
-;?&$###@@@@@@@####$&&&%=+***!;;::;!?$&%?=&&+;:::----:;!**++?=$$$&%$@@@@@@@@$==;
-:+$$&###@@#@@##@@@$&%=?+**++*!;;::;!+&&=!!*!;::---:;!!*+++??%%%$$%#@@@@@@@#$%=;
-:?$&$###@#####@@@@@#$=??????+*!;::;;!?%%+!;::----:;!**++????%==&%%#@@@@@@@#$%?:
:!%$$##########@@@@@@@#$$&?++*!!;;;;;!+%==?*:----:;!**++?????%=%==$@@@@@@@##$&+:
:?=$##########@@@@@@######=???*!!!!!!!+%%%%=+--~-:;!*+++++++?%=?==#@#@@@@@##$%!-
++?$########@@@@@@#######$%=%%?+?++!!*+&$$$&&?:-:;!**+++++++?=???&@##@@@@@##$?;-
++%###$####@@@@@@@@@#####$&$&&%%%%==?+?&&%$#$&?!;;!**+++++++=??+%#####@@####$*;:
+=$##$&$###@@@@@@@@@@@@@##$$&&&&%?+!:!?%###@##$+!!!!*******+&&=%#@#####@####$?::
+&$#$&&####@@@@@@@@@@@@@@##$&&&&%+-,~;%&&%&&&&&=!!!!*******?#@#$@@#########$$&!:
%?&$&&$#$##@@@@@@@@@@@@@@@#$&%%=?+*-+==???+*+??*!!!!!*****+%@#&%@@#########$$$%!
+*&&&$#$$#@@@@@@@@@@@@@@#$&%=??+?=%=&&===???==+!!!!!!!***+?#@#&&@##########$&&&=
!+&%&$&&&#@@@@@@@@@@@@#$%%=?+??%&&$##$&&&&&&%+!;;!!!!***+?&@@@%#@##########$&&&&
!=&&$%%%&#@@@@@@@@@@$&%%=?++?=%&$$$$####$&%=*;;;;!!!**++?%@@@&!$@#@#########$$&&
+%&&%?=%$#@@@@@@@#$&%%=????=%&$$&&&&&&&%=?+!:-:;!!**++?=&#@@@$&#@@@@########$$$$
=$%%=??&$#@@@@@#$&%=??+?=%&&$$$&&&&%%%=??+!;::;!*+++?=%&#@@@@#$##@@@########$$$$
&=++%+%%##@@@#&%%=??++?%&$#@@#$$&&&%%%===?+****++?==%&&&#@@@@#$@#@@#@#######$$&&
**!;?%=&#@##&%%=?++?=%&$#@@@@@@#$$&&&&%%%===???=%%&&%&&&$@@@@#$@@#@#@########$&=
;!;;=??$#$&%%=??+?=&&$#@@@@@@@@@@#$$$$&&&&&&&&&&%%%%%%%&$@@@@#$@####@####@####$?
:;:++;?&$&%%=???=%&$#@@@@@@@@@@@@@######$$$$$&%%%%%%%%%&$#@@@$$@@###@#@########%
-:!!!:::=&=??=%&&$#@@@@@@@@@@@@@@@@@@#####$$&&%===%%%%%&$#@@@$$@@###@@@@#######$
--!;??!~,*%%%&$$#@@@@@@@@@@@@@@@@@@#######$$&%%====%%%%&$#@@@$#@@@##@@@@@####$$$
--;*&%&*,-&$$$#@@@@@@@@@@@@@@@@@@@@######$$$&%%===%%%%%&$#@@@@@@@@###@@@@@###$&$
--:+&$%?;;$##@@@@@@@@@@@@@@@@@@@@@@######$$$&%%===%%%%%%&$#@@@@@@@@###@@@@###$=%
-:;+?&%??&@@@@@@@@@@@@@@@@@@@@@@@@@######$$$&%%===%%%%%%&$#@@@@@@@@###@@@@@##$==
-:;?!=$$#@@#@@@@@@@@@@@@@@@@@@@@@@#######$$$&&%===%%%%%%%&$#@@@@@@@@@@#@@@@@##&%
-:;???$####@@@@@@@@@@@@@@@@@@@@@@@@#######$$$&%%%%%%%%%%%&$##@@@@@@@@@@@@@@@###$
:::;&==##$#@@@@@@@@@@@@@@@@@@@@@@@@#######$$$&&%%%%%%%%%%%&$###@@@@@@@@@@@@@@###
::::!&%$#%#@@@@@@@@@@@@@@@@@@@@@@@@#######$$$&&%%%%%%%%%%%%&$$###@@@@@@@@@@@@@@#
::-::*=#@$#@@@@@@@@@@@@@@@@@@@@@@@@#######$$$&&&&&%%%%%%==%%&$$$####@@@@@@@@@@@@
---:;;+$##@@@@@@@@@@@@@@@#@@@@@@@@@@#######$$$&&&&&%%%%=====%&&&$$$#####@#######
--::;!=#&$#@@@@@@@@@@@@@@#@@@@@@@@@########$$$$&&&&%%%%==??=?===%%%%&&&&&&$$$$$$
::::!!%$=$@@@@@@@@@@@@@@@#@@@@@@@@#####$###$$$$$$&&%%%==????*????????===%%&&&&&&
:::;;!&&%#@@@@@@@@@@@@@@@@@@@@@@#######$$$$$$$$$$&%%%%==???+*+++++++???=%%%&&&&&
::;;:+$%$##@@@@@@@@@@@@@@@@@@@#########$&$$$$$$$$&%%%%==??=!+++++????==%%&&&&&%%
:;;:;%#$###@@@@@@@@@@@@@@@@@@##########$&&&&$$$$$%=====??=?+?????===%%%&&&&&%%%=
:;;!?$#####@@@@@@@@@@@@@@@@#########$$#$%=%&&&$$&=???=====?===%%%%&&&&&%%%======
;!+%&#####@@@@@@@@@@@@@@@@##########$$$&=??=%&$$&%=====%%%%%%%%%%%%%==??+???===%
*=&$$####@@@@@@@@@@@@@@#@##########$$$&%=??=%&$$&&%====%=========??+*!!!*+?==%%%