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