#include <iostream>
struct D{
int x;
D(int a):x(a){}
};
struct C{
D d;
C(int x=0):d(x){}
operator int() { return d.x; }
};
int main()
{
C c;
c = 1 + c;
std::cout << c;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IER7CglpbnQgeDsKCUQoaW50IGEpOngoYSl7fQp9OwoKc3RydWN0IEN7CglEIGQ7CglDKGludCB4PTApOmQoeCl7fQoJb3BlcmF0b3IgaW50KCkgeyByZXR1cm4gZC54OyB9Cn07CgppbnQgbWFpbigpCnsKCglDIGM7CgljID0gMSArIGM7CglzdGQ6OmNvdXQgPDwgYzsKCglyZXR1cm4gMDsKfQo=