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