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