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