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