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