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