Por que o preenchimento está expandindo um item flexível?

No trecho abaixo, a primeira linha possui dois divs comflex-grow: 1. Como esperado, cada div ocupa 50% da tela.

Ao adicionar preenchimento à div esquerda, esse não é mais o caso. Alguém pode explicar o porquê?

body > div {
  height: 50px;
  display: flex;
}
body > div > div {
  flex: 1;
  box-sizing: border-box;
}
#a {
  background-color: red;
}
#b {
  background-color: green;
}
#c {
  padding: 10px;
  background-color: blue;
}
#d {
  background-color: yellow;
}
<div>
  <div id="a"></div>
  <div id="b"></div>
</div>
<div>
  <div id="c"></div>
  <div id="d"></div>
</div>

questionAnswers(2)

yourAnswerToTheQuestion