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