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