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