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