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