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