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