#include <iostream>
using namespace std;
 
union Test_t {
	char s[4];
	uint32_t i;
	int32_t si;
	uint8_t a[4];
};
 
int main() {
	char* str1 = "\xEF\xBE\xAD\xDE";
	char str2[5] = "\xEF\xBE\xAD\xDE";
 
	Test_t s1;
	s1.i = 0xDEADBEEF;
 
	Test_t s2;
	s2.s[0] = '\xEF';
	s2.s[1] = '\xBE';
	s2.s[2] = '\xAD';
	s2.s[3] = '\xDE';
 
	Test_t s3;
	s3.a[0] = 0xEF;
	s3.a[1] = 0xBE;
	s3.a[2] = 0xAD;
	s3.a[3] = 0xDE;
 
	printf("%ld %u\n", sizeof(Test_t), s1.i);
	printf("%X\n%X\n%X\n%X\n%X", *str1, *str2, s1, s2, s3);
	return 0;
}
				I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdW5pb24gVGVzdF90IHsKCWNoYXIgc1s0XTsKCXVpbnQzMl90IGk7CglpbnQzMl90IHNpOwoJdWludDhfdCBhWzRdOwp9OwoKaW50IG1haW4oKSB7CgljaGFyKiBzdHIxID0gIlx4RUZceEJFXHhBRFx4REUiOwoJY2hhciBzdHIyWzVdID0gIlx4RUZceEJFXHhBRFx4REUiOwoJCglUZXN0X3QgczE7CglzMS5pID0gMHhERUFEQkVFRjsKCQoJVGVzdF90IHMyOwoJczIuc1swXSA9ICdceEVGJzsKCXMyLnNbMV0gPSAnXHhCRSc7CglzMi5zWzJdID0gJ1x4QUQnOwoJczIuc1szXSA9ICdceERFJzsKCQoJVGVzdF90IHMzOwoJczMuYVswXSA9IDB4RUY7CglzMy5hWzFdID0gMHhCRTsKCXMzLmFbMl0gPSAweEFEOwoJczMuYVszXSA9IDB4REU7CgkKCXByaW50ZigiJWxkICV1XG4iLCBzaXplb2YoVGVzdF90KSwgczEuaSk7CglwcmludGYoIiVYXG4lWFxuJVhcbiVYXG4lWCIsICpzdHIxLCAqc3RyMiwgczEsIHMyLCBzMyk7CglyZXR1cm4gMDsKfQ==