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