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