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