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