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