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