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