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