#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);
}