Problem with Output of escape characters

I'm trying to figure out a problem. I echo a colored block character with this code:

echo -e '\E[0;46m \E[219m\c'

It works. But the challenge is echoing two different blocks with two different colors. I tried everything. Heres what i tried:

echo -e '\E[0;46m \E[219m\c \E[0;45m \E[219m\c' 

Doesn't work. It only echoes the first block. Please help me. :wall:

This seems to work for me

echo -e '\E[0;46m \E[0;45m \E[219m\c'

Wow. That worked. But why? Why do you have to send the color escape sequences first, then the block character?