#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=