#include <stdio.h>
#include <stdint.h>

typedef uint16_t u16;

union S {
    struct {
        u16 a: 9;
        u16 b: 1;
        u16 c: 1;
        u16 d: 1;
    } ;
    
    struct {
        u16 reserved: 12; // Number of bits used in the first struct
        u16 e: 4;
    };

};

int main(void) {
printf("%zu\n", sizeof(union S));
	return 0;
}
