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