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