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