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