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