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