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