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