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