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