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