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