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