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