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