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