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