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