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