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