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