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