#include "stdbool.h"
#include "stdint.h"
#include "stdio.h"
typedef union {
struct {
uint64_t a;
bool b;
char* c;
} unsigned_data;
struct {
int64_t a;
bool b;
char* c;
} signed_data;
} data1_t;
typedef union {
struct {
uint64_t a;
bool b;
char* c;
} data;
} data2_t;
int main() {
data1_t d1 = {.signed_data = {-10, true, 0}};
int64_t v1 = d1.signed_data.a;
data2_t d2 = {.data = {-10, true, 0}};
int64_t v2 = d2.data.a;
printf("v1 = %lld, v2 = %lld", v1
, v2
); }
I2luY2x1ZGUgInN0ZGJvb2wuaCIKI2luY2x1ZGUgInN0ZGludC5oIgojaW5jbHVkZSAic3RkaW8uaCIKCnR5cGVkZWYgdW5pb24gewoJc3RydWN0IHsKCQl1aW50NjRfdCBhOwoJCWJvb2wgICAgIGI7CgkJY2hhciogICAgYzsKCX0gdW5zaWduZWRfZGF0YTsKCXN0cnVjdCB7CgkJaW50NjRfdCAgYTsKCQlib29sICAgICBiOwoJCWNoYXIqICAgIGM7Cgl9IHNpZ25lZF9kYXRhOwp9IGRhdGExX3Q7Cgp0eXBlZGVmIHVuaW9uIHsKCXN0cnVjdCB7CgkJdWludDY0X3QgYTsKCQlib29sICAgICBiOwoJCWNoYXIqICAgIGM7Cgl9IGRhdGE7Cn0gZGF0YTJfdDsKCmludCBtYWluKCkgewoJZGF0YTFfdCBkMSA9IHsuc2lnbmVkX2RhdGEgPSB7LTEwLCB0cnVlLCAwfX07CglpbnQ2NF90IHYxID0gZDEuc2lnbmVkX2RhdGEuYTsKCQoJCglkYXRhMl90IGQyID0gey5kYXRhID0gey0xMCwgdHJ1ZSwgMH19OwoJaW50NjRfdCB2MiA9IGQyLmRhdGEuYTsKCQoJcHJpbnRmKCJ2MSA9ICVsbGQsIHYyID0gJWxsZCIsIHYxLCB2Mik7Cn0=