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