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