union {
float a;
int b;
}c;
int main() {
c.a = 3.0; //float is active
std::cout << c.a; //allowed, float was last thing written
c.b = 3; //int is active
std::cout << c.a; //OMG YOU BROKE THE RULES DONT DO THAT
}
dW5pb24gewogICBmbG9hdCBhOwogICBpbnQgYjsKfWM7CmludCBtYWluKCkgewogICBjLmEgPSAzLjA7IC8vZmxvYXQgaXMgYWN0aXZlCiAgIHN0ZDo6Y291dCA8PCBjLmE7IC8vYWxsb3dlZCwgZmxvYXQgd2FzIGxhc3QgdGhpbmcgd3JpdHRlbgogICBjLmIgPSAzOyAvL2ludCBpcyBhY3RpdmUKICAgc3RkOjpjb3V0IDw8IGMuYTsgLy9PTUcgWU9VIEJST0tFIFRIRSBSVUxFUyBET05UIERPIFRIQVQKfQ==