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