Prove that the even cycles are 2-list-colorable.
$begingroup$
I need to prove the statement in the title. It's very easy to show that with a particular 2-list-assignment, we can have a proper 2-list-coloring (e.g. with a greedy coloring algorithm). I'm just not sure if that's enough to show that the statement is true for ALL 2-list-assignments.
Here are the relevant definitions.
8.4.24. Definition. For each vertex $v$ in a graph $G$, let $L(v)$ denote a list of colors available at $v$. A list coloring or choice function is a proper coloring $f$ such that $f(v) in L(v)$ for all $v$. A graph is $k$-choosable or list $k$-colorable if every assignment of $k$-element lists to the vertices permits a proper list coloring. The list chromatic number, choice number, or choosability $chi_l(G)$ is the minimum $k$ such that $G$ is $k$-choosable.
proof-verification graph-theory coloring
$endgroup$
add a comment |
$begingroup$
I need to prove the statement in the title. It's very easy to show that with a particular 2-list-assignment, we can have a proper 2-list-coloring (e.g. with a greedy coloring algorithm). I'm just not sure if that's enough to show that the statement is true for ALL 2-list-assignments.
Here are the relevant definitions.
8.4.24. Definition. For each vertex $v$ in a graph $G$, let $L(v)$ denote a list of colors available at $v$. A list coloring or choice function is a proper coloring $f$ such that $f(v) in L(v)$ for all $v$. A graph is $k$-choosable or list $k$-colorable if every assignment of $k$-element lists to the vertices permits a proper list coloring. The list chromatic number, choice number, or choosability $chi_l(G)$ is the minimum $k$ such that $G$ is $k$-choosable.
proof-verification graph-theory coloring
$endgroup$
add a comment |
$begingroup$
I need to prove the statement in the title. It's very easy to show that with a particular 2-list-assignment, we can have a proper 2-list-coloring (e.g. with a greedy coloring algorithm). I'm just not sure if that's enough to show that the statement is true for ALL 2-list-assignments.
Here are the relevant definitions.
8.4.24. Definition. For each vertex $v$ in a graph $G$, let $L(v)$ denote a list of colors available at $v$. A list coloring or choice function is a proper coloring $f$ such that $f(v) in L(v)$ for all $v$. A graph is $k$-choosable or list $k$-colorable if every assignment of $k$-element lists to the vertices permits a proper list coloring. The list chromatic number, choice number, or choosability $chi_l(G)$ is the minimum $k$ such that $G$ is $k$-choosable.
proof-verification graph-theory coloring
$endgroup$
I need to prove the statement in the title. It's very easy to show that with a particular 2-list-assignment, we can have a proper 2-list-coloring (e.g. with a greedy coloring algorithm). I'm just not sure if that's enough to show that the statement is true for ALL 2-list-assignments.
Here are the relevant definitions.
8.4.24. Definition. For each vertex $v$ in a graph $G$, let $L(v)$ denote a list of colors available at $v$. A list coloring or choice function is a proper coloring $f$ such that $f(v) in L(v)$ for all $v$. A graph is $k$-choosable or list $k$-colorable if every assignment of $k$-element lists to the vertices permits a proper list coloring. The list chromatic number, choice number, or choosability $chi_l(G)$ is the minimum $k$ such that $G$ is $k$-choosable.
proof-verification graph-theory coloring
proof-verification graph-theory coloring
edited Dec 9 '18 at 20:08
Misha Lavrov
46.2k656107
46.2k656107
asked Dec 9 '18 at 17:01
ensbanaensbana
256213
256213
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
There are actually some cases in which a greedy coloring algorithm will not work. For instance, suppose you have a $4$-cycle with the following color lists:
- Red and blue
- Red and green
- Green and yellow
- Red and yellow
A greedy algorithm will color vertex 1 red, then vertex 2 green, then vertex 3 yellow, and then get stuck: vertex 4 is adjacent to vertices 1 and 3, which are red and yellow respectively, so there is no way to color it.
It's possible to get this greedy algorithm "unstuck" by starting appropriately. If we began by coloring vertex 1 blue and then used the greedy algorithm, we would not run into the problem. (It's easy to see that we can get stuck only on the last vertex we color.) So you need a strategy for picking how to start, to avoid getting stuck on the last vertex.
Here's one possible strategy. (I urge you to think about it yourself before looking at the spoiler, because now you know what the problem is with the greedy strategy - and have the chance to figure out yourself how to avoid that problem.)
Pick two adjacent vertices $i, i+1$ which don't have the same color lists. Then color $i+1$ with a color not available for $i$ and proceed to color $i+2, i+3, dots$ greedily. Each vertex other than the last vertex (vertex $i$) can be colored without problems. Vertex $i$ is guaranteed not to conflict with vertex $i+1$, so it also can be colored: at most one of its options is ruled out by the color of vertex $i-1$.
This works in all cases except when all vertices have the same color lists, in which case we're back in the world of ordinary 2-coloring, where we know what happens.
$endgroup$
$begingroup$
Thanks for the answer. I've thought about your suggestions and come up with this idea, which is more or less similar to yours. I'd still like to hear your opinion though: instead of picking two vertices with the property like you stated, can we just start with any vertex, and look at the vertex "behind" it (i.e. the end of the cycle)? Let $v_1$ and $v_{2n}$ be those two vertices, respectively. If $L(v_1) cap L(v_{2n}) = 1$, then we color $v_1$ with the color not available to $v_{2n}$ and then proceed, otherwise we just apply the greedy algorithm like usuals.
$endgroup$
– ensbana
Dec 9 '18 at 20:38
1
$begingroup$
In the other case $|L(v_1) cap L(v_{2n})| = 2$, it's possible that later on you'll have two choices, and only one of them is correct - so just applying the greedy algorithm won't work. Say, you have two choices for $L(v_{2n-1})$, and one of them rules out the remaining option on $L(v_{2n})$. Or you have two choices for $L(v_{2n-2})$, one of which forces the color of $v_{2n-1}$ to be the color that rules out the remaining option on $L(v_{2n})$.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:46
1
$begingroup$
My suggestion is to start at a vertex with choices, so that you can make a choice at the very beginning that solves the problem at the last vertex, and then proceed greedily. You can also give an argument that waits to make such a choice at a vertex other than the first vertex, but I think that's trickier.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:47
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3032610%2fprove-that-the-even-cycles-are-2-list-colorable%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
There are actually some cases in which a greedy coloring algorithm will not work. For instance, suppose you have a $4$-cycle with the following color lists:
- Red and blue
- Red and green
- Green and yellow
- Red and yellow
A greedy algorithm will color vertex 1 red, then vertex 2 green, then vertex 3 yellow, and then get stuck: vertex 4 is adjacent to vertices 1 and 3, which are red and yellow respectively, so there is no way to color it.
It's possible to get this greedy algorithm "unstuck" by starting appropriately. If we began by coloring vertex 1 blue and then used the greedy algorithm, we would not run into the problem. (It's easy to see that we can get stuck only on the last vertex we color.) So you need a strategy for picking how to start, to avoid getting stuck on the last vertex.
Here's one possible strategy. (I urge you to think about it yourself before looking at the spoiler, because now you know what the problem is with the greedy strategy - and have the chance to figure out yourself how to avoid that problem.)
Pick two adjacent vertices $i, i+1$ which don't have the same color lists. Then color $i+1$ with a color not available for $i$ and proceed to color $i+2, i+3, dots$ greedily. Each vertex other than the last vertex (vertex $i$) can be colored without problems. Vertex $i$ is guaranteed not to conflict with vertex $i+1$, so it also can be colored: at most one of its options is ruled out by the color of vertex $i-1$.
This works in all cases except when all vertices have the same color lists, in which case we're back in the world of ordinary 2-coloring, where we know what happens.
$endgroup$
$begingroup$
Thanks for the answer. I've thought about your suggestions and come up with this idea, which is more or less similar to yours. I'd still like to hear your opinion though: instead of picking two vertices with the property like you stated, can we just start with any vertex, and look at the vertex "behind" it (i.e. the end of the cycle)? Let $v_1$ and $v_{2n}$ be those two vertices, respectively. If $L(v_1) cap L(v_{2n}) = 1$, then we color $v_1$ with the color not available to $v_{2n}$ and then proceed, otherwise we just apply the greedy algorithm like usuals.
$endgroup$
– ensbana
Dec 9 '18 at 20:38
1
$begingroup$
In the other case $|L(v_1) cap L(v_{2n})| = 2$, it's possible that later on you'll have two choices, and only one of them is correct - so just applying the greedy algorithm won't work. Say, you have two choices for $L(v_{2n-1})$, and one of them rules out the remaining option on $L(v_{2n})$. Or you have two choices for $L(v_{2n-2})$, one of which forces the color of $v_{2n-1}$ to be the color that rules out the remaining option on $L(v_{2n})$.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:46
1
$begingroup$
My suggestion is to start at a vertex with choices, so that you can make a choice at the very beginning that solves the problem at the last vertex, and then proceed greedily. You can also give an argument that waits to make such a choice at a vertex other than the first vertex, but I think that's trickier.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:47
add a comment |
$begingroup$
There are actually some cases in which a greedy coloring algorithm will not work. For instance, suppose you have a $4$-cycle with the following color lists:
- Red and blue
- Red and green
- Green and yellow
- Red and yellow
A greedy algorithm will color vertex 1 red, then vertex 2 green, then vertex 3 yellow, and then get stuck: vertex 4 is adjacent to vertices 1 and 3, which are red and yellow respectively, so there is no way to color it.
It's possible to get this greedy algorithm "unstuck" by starting appropriately. If we began by coloring vertex 1 blue and then used the greedy algorithm, we would not run into the problem. (It's easy to see that we can get stuck only on the last vertex we color.) So you need a strategy for picking how to start, to avoid getting stuck on the last vertex.
Here's one possible strategy. (I urge you to think about it yourself before looking at the spoiler, because now you know what the problem is with the greedy strategy - and have the chance to figure out yourself how to avoid that problem.)
Pick two adjacent vertices $i, i+1$ which don't have the same color lists. Then color $i+1$ with a color not available for $i$ and proceed to color $i+2, i+3, dots$ greedily. Each vertex other than the last vertex (vertex $i$) can be colored without problems. Vertex $i$ is guaranteed not to conflict with vertex $i+1$, so it also can be colored: at most one of its options is ruled out by the color of vertex $i-1$.
This works in all cases except when all vertices have the same color lists, in which case we're back in the world of ordinary 2-coloring, where we know what happens.
$endgroup$
$begingroup$
Thanks for the answer. I've thought about your suggestions and come up with this idea, which is more or less similar to yours. I'd still like to hear your opinion though: instead of picking two vertices with the property like you stated, can we just start with any vertex, and look at the vertex "behind" it (i.e. the end of the cycle)? Let $v_1$ and $v_{2n}$ be those two vertices, respectively. If $L(v_1) cap L(v_{2n}) = 1$, then we color $v_1$ with the color not available to $v_{2n}$ and then proceed, otherwise we just apply the greedy algorithm like usuals.
$endgroup$
– ensbana
Dec 9 '18 at 20:38
1
$begingroup$
In the other case $|L(v_1) cap L(v_{2n})| = 2$, it's possible that later on you'll have two choices, and only one of them is correct - so just applying the greedy algorithm won't work. Say, you have two choices for $L(v_{2n-1})$, and one of them rules out the remaining option on $L(v_{2n})$. Or you have two choices for $L(v_{2n-2})$, one of which forces the color of $v_{2n-1}$ to be the color that rules out the remaining option on $L(v_{2n})$.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:46
1
$begingroup$
My suggestion is to start at a vertex with choices, so that you can make a choice at the very beginning that solves the problem at the last vertex, and then proceed greedily. You can also give an argument that waits to make such a choice at a vertex other than the first vertex, but I think that's trickier.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:47
add a comment |
$begingroup$
There are actually some cases in which a greedy coloring algorithm will not work. For instance, suppose you have a $4$-cycle with the following color lists:
- Red and blue
- Red and green
- Green and yellow
- Red and yellow
A greedy algorithm will color vertex 1 red, then vertex 2 green, then vertex 3 yellow, and then get stuck: vertex 4 is adjacent to vertices 1 and 3, which are red and yellow respectively, so there is no way to color it.
It's possible to get this greedy algorithm "unstuck" by starting appropriately. If we began by coloring vertex 1 blue and then used the greedy algorithm, we would not run into the problem. (It's easy to see that we can get stuck only on the last vertex we color.) So you need a strategy for picking how to start, to avoid getting stuck on the last vertex.
Here's one possible strategy. (I urge you to think about it yourself before looking at the spoiler, because now you know what the problem is with the greedy strategy - and have the chance to figure out yourself how to avoid that problem.)
Pick two adjacent vertices $i, i+1$ which don't have the same color lists. Then color $i+1$ with a color not available for $i$ and proceed to color $i+2, i+3, dots$ greedily. Each vertex other than the last vertex (vertex $i$) can be colored without problems. Vertex $i$ is guaranteed not to conflict with vertex $i+1$, so it also can be colored: at most one of its options is ruled out by the color of vertex $i-1$.
This works in all cases except when all vertices have the same color lists, in which case we're back in the world of ordinary 2-coloring, where we know what happens.
$endgroup$
There are actually some cases in which a greedy coloring algorithm will not work. For instance, suppose you have a $4$-cycle with the following color lists:
- Red and blue
- Red and green
- Green and yellow
- Red and yellow
A greedy algorithm will color vertex 1 red, then vertex 2 green, then vertex 3 yellow, and then get stuck: vertex 4 is adjacent to vertices 1 and 3, which are red and yellow respectively, so there is no way to color it.
It's possible to get this greedy algorithm "unstuck" by starting appropriately. If we began by coloring vertex 1 blue and then used the greedy algorithm, we would not run into the problem. (It's easy to see that we can get stuck only on the last vertex we color.) So you need a strategy for picking how to start, to avoid getting stuck on the last vertex.
Here's one possible strategy. (I urge you to think about it yourself before looking at the spoiler, because now you know what the problem is with the greedy strategy - and have the chance to figure out yourself how to avoid that problem.)
Pick two adjacent vertices $i, i+1$ which don't have the same color lists. Then color $i+1$ with a color not available for $i$ and proceed to color $i+2, i+3, dots$ greedily. Each vertex other than the last vertex (vertex $i$) can be colored without problems. Vertex $i$ is guaranteed not to conflict with vertex $i+1$, so it also can be colored: at most one of its options is ruled out by the color of vertex $i-1$.
This works in all cases except when all vertices have the same color lists, in which case we're back in the world of ordinary 2-coloring, where we know what happens.
answered Dec 9 '18 at 19:53
Misha LavrovMisha Lavrov
46.2k656107
46.2k656107
$begingroup$
Thanks for the answer. I've thought about your suggestions and come up with this idea, which is more or less similar to yours. I'd still like to hear your opinion though: instead of picking two vertices with the property like you stated, can we just start with any vertex, and look at the vertex "behind" it (i.e. the end of the cycle)? Let $v_1$ and $v_{2n}$ be those two vertices, respectively. If $L(v_1) cap L(v_{2n}) = 1$, then we color $v_1$ with the color not available to $v_{2n}$ and then proceed, otherwise we just apply the greedy algorithm like usuals.
$endgroup$
– ensbana
Dec 9 '18 at 20:38
1
$begingroup$
In the other case $|L(v_1) cap L(v_{2n})| = 2$, it's possible that later on you'll have two choices, and only one of them is correct - so just applying the greedy algorithm won't work. Say, you have two choices for $L(v_{2n-1})$, and one of them rules out the remaining option on $L(v_{2n})$. Or you have two choices for $L(v_{2n-2})$, one of which forces the color of $v_{2n-1}$ to be the color that rules out the remaining option on $L(v_{2n})$.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:46
1
$begingroup$
My suggestion is to start at a vertex with choices, so that you can make a choice at the very beginning that solves the problem at the last vertex, and then proceed greedily. You can also give an argument that waits to make such a choice at a vertex other than the first vertex, but I think that's trickier.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:47
add a comment |
$begingroup$
Thanks for the answer. I've thought about your suggestions and come up with this idea, which is more or less similar to yours. I'd still like to hear your opinion though: instead of picking two vertices with the property like you stated, can we just start with any vertex, and look at the vertex "behind" it (i.e. the end of the cycle)? Let $v_1$ and $v_{2n}$ be those two vertices, respectively. If $L(v_1) cap L(v_{2n}) = 1$, then we color $v_1$ with the color not available to $v_{2n}$ and then proceed, otherwise we just apply the greedy algorithm like usuals.
$endgroup$
– ensbana
Dec 9 '18 at 20:38
1
$begingroup$
In the other case $|L(v_1) cap L(v_{2n})| = 2$, it's possible that later on you'll have two choices, and only one of them is correct - so just applying the greedy algorithm won't work. Say, you have two choices for $L(v_{2n-1})$, and one of them rules out the remaining option on $L(v_{2n})$. Or you have two choices for $L(v_{2n-2})$, one of which forces the color of $v_{2n-1}$ to be the color that rules out the remaining option on $L(v_{2n})$.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:46
1
$begingroup$
My suggestion is to start at a vertex with choices, so that you can make a choice at the very beginning that solves the problem at the last vertex, and then proceed greedily. You can also give an argument that waits to make such a choice at a vertex other than the first vertex, but I think that's trickier.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:47
$begingroup$
Thanks for the answer. I've thought about your suggestions and come up with this idea, which is more or less similar to yours. I'd still like to hear your opinion though: instead of picking two vertices with the property like you stated, can we just start with any vertex, and look at the vertex "behind" it (i.e. the end of the cycle)? Let $v_1$ and $v_{2n}$ be those two vertices, respectively. If $L(v_1) cap L(v_{2n}) = 1$, then we color $v_1$ with the color not available to $v_{2n}$ and then proceed, otherwise we just apply the greedy algorithm like usuals.
$endgroup$
– ensbana
Dec 9 '18 at 20:38
$begingroup$
Thanks for the answer. I've thought about your suggestions and come up with this idea, which is more or less similar to yours. I'd still like to hear your opinion though: instead of picking two vertices with the property like you stated, can we just start with any vertex, and look at the vertex "behind" it (i.e. the end of the cycle)? Let $v_1$ and $v_{2n}$ be those two vertices, respectively. If $L(v_1) cap L(v_{2n}) = 1$, then we color $v_1$ with the color not available to $v_{2n}$ and then proceed, otherwise we just apply the greedy algorithm like usuals.
$endgroup$
– ensbana
Dec 9 '18 at 20:38
1
1
$begingroup$
In the other case $|L(v_1) cap L(v_{2n})| = 2$, it's possible that later on you'll have two choices, and only one of them is correct - so just applying the greedy algorithm won't work. Say, you have two choices for $L(v_{2n-1})$, and one of them rules out the remaining option on $L(v_{2n})$. Or you have two choices for $L(v_{2n-2})$, one of which forces the color of $v_{2n-1}$ to be the color that rules out the remaining option on $L(v_{2n})$.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:46
$begingroup$
In the other case $|L(v_1) cap L(v_{2n})| = 2$, it's possible that later on you'll have two choices, and only one of them is correct - so just applying the greedy algorithm won't work. Say, you have two choices for $L(v_{2n-1})$, and one of them rules out the remaining option on $L(v_{2n})$. Or you have two choices for $L(v_{2n-2})$, one of which forces the color of $v_{2n-1}$ to be the color that rules out the remaining option on $L(v_{2n})$.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:46
1
1
$begingroup$
My suggestion is to start at a vertex with choices, so that you can make a choice at the very beginning that solves the problem at the last vertex, and then proceed greedily. You can also give an argument that waits to make such a choice at a vertex other than the first vertex, but I think that's trickier.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:47
$begingroup$
My suggestion is to start at a vertex with choices, so that you can make a choice at the very beginning that solves the problem at the last vertex, and then proceed greedily. You can also give an argument that waits to make such a choice at a vertex other than the first vertex, but I think that's trickier.
$endgroup$
– Misha Lavrov
Dec 9 '18 at 20:47
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3032610%2fprove-that-the-even-cycles-are-2-list-colorable%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown