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