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