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