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