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