Prioridades CSS

Cuando dos declaraciones afectan a un mismo elemento. ¿Cual de ellas se interpreta en el navegador?

CSS A (estilos de línea) B (número de ID) C (clases) D (marcas html)
#caja header h1 {color: blue;} 0 1 0 2
#caja .cabecera h1 { color:red; } 0 1 1 1
header h1 { color: lime;} 0 0 0 2
h1 {color: purple;} 0 0 0 1
h1 {color: gray;} 0 0 0 1