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