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