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