#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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KCnR5cGVkZWYgdWludDE2X3QgdTE2OwoKdW5pb24gUyB7CiAgICBzdHJ1Y3QgewogICAgICAgIHUxNiBhOiA5OwogICAgICAgIHUxNiBiOiAxOwogICAgICAgIHUxNiBjOiAxOwogICAgICAgIHUxNiBkOiAxOwogICAgfSA7CiAgICAKICAgIHN0cnVjdCB7CiAgICAgICAgdTE2IHJlc2VydmVkOiAxMjsgLy8gTnVtYmVyIG9mIGJpdHMgdXNlZCBpbiB0aGUgZmlyc3Qgc3RydWN0CiAgICAgICAgdTE2IGU6IDQ7CiAgICB9OwoKfTsKCmludCBtYWluKHZvaWQpIHsKcHJpbnRmKCIlenVcbiIsIHNpemVvZih1bmlvbiBTKSk7CglyZXR1cm4gMDsKfQo=