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