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