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