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