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