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