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