#include <cassert>
#include <cstddef>
#include <iostream>
int main()
{
// Case 1: the new object failed to be transparently replaceable because
// it is a base subobject but the old object is a complete object.
int a = 5;
int b = 9;
bool res = false;
const int &x = a;
const int &c = res*a + !res*b;
b++;
std::cout<<a<<" "<<b<<" "<<x<<" "<<c<<std::endl;
}
I2luY2x1ZGUgPGNhc3NlcnQ+CiNpbmNsdWRlIDxjc3RkZGVmPgojaW5jbHVkZSA8aW9zdHJlYW0+CiAKCiAKaW50IG1haW4oKQp7CiAgICAvLyBDYXNlIDE6IHRoZSBuZXcgb2JqZWN0IGZhaWxlZCB0byBiZSB0cmFuc3BhcmVudGx5IHJlcGxhY2VhYmxlIGJlY2F1c2UKICAgIC8vIGl0IGlzIGEgYmFzZSBzdWJvYmplY3QgYnV0IHRoZSBvbGQgb2JqZWN0IGlzIGEgY29tcGxldGUgb2JqZWN0LgogICAgaW50IGEgPSA1OwogICAgaW50IGIgPSA5OwogICAgYm9vbCByZXMgPSBmYWxzZTsKICAgIGNvbnN0IGludCAmeCA9IGE7CiAgICBjb25zdCBpbnQgJmMgPSByZXMqYSArICFyZXMqYjsKICAgIGIrKzsKICAgIHN0ZDo6Y291dDw8YTw8IiAiPDxiPDwiICI8PHg8PCIgIjw8Yzw8c3RkOjplbmRsOwp9