#include <cstdio>
#include <iostream>
typedef union {
int i;
double d;
char c;
} Union;
typedef struct {
Union u;
Union uObj;
} Struct;
void wpisz(Struct& s, int n) { s.uObj.i = n; }
void wpisz(Struct& s, char c) { s.u.c = c; }
int main() {
Struct si, sc;
wpisz(si,5);
wpisz(sc,'m');
std::cout << si.uObj.i << std::endl;
std::cout << sc.u.c << std::endl;
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdHlwZWRlZiB1bmlvbiB7CglpbnQgaTsKCWRvdWJsZSBkOwoJY2hhciBjOwp9IFVuaW9uOwoKdHlwZWRlZiBzdHJ1Y3QgewoJVW5pb24gdTsKCVVuaW9uIHVPYmo7Cn0gU3RydWN0OwoKdm9pZCB3cGlzeihTdHJ1Y3QmIHMsIGludCBuKSB7IHMudU9iai5pID0gbjsgfQp2b2lkIHdwaXN6KFN0cnVjdCYgcywgY2hhciBjKSB7IHMudS5jID0gYzsgfQoKaW50IG1haW4oKSB7CglTdHJ1Y3Qgc2ksIHNjOwoJd3Bpc3ooc2ksNSk7Cgl3cGlzeihzYywnbScpOwoKCXN0ZDo6Y291dCA8PCBzaS51T2JqLmkgPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8IHNjLnUuYyA8PCBzdGQ6OmVuZGw7CgoJcmV0dXJuIDA7Cn0K