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