#include <iostream>
class B{
public:
B(int xx, int yy): x(xx), y(yy){}
B& operator+(B& d){
x+=d.x;
y+=d.y;
return *this;
}
private:
int x;
int y;
};
class A{
public:
A(int xx, int yy): x(xx), y(yy){}
operator B() {
return B(x,y);
}
operator int() {
return x;
}
private:
int x;
int y;
};
int main() {
A a(4 ,5);
B b(3,2);
static_cast<B>(a) + b;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgpjbGFzcyBCewpwdWJsaWM6CiAgICBCKGludCB4eCwgaW50IHl5KTogeCh4eCksIHkoeXkpe30KICAgIEImIG9wZXJhdG9yKyhCJiBkKXsKICAgICAgICB4Kz1kLng7CiAgICAgICAgeSs9ZC55OwogICAgICAgIHJldHVybiAqdGhpczsKICAgIH0KcHJpdmF0ZToKICAgIGludCB4OwogICAgaW50IHk7Cn07CmNsYXNzIEF7CnB1YmxpYzoKICAgIEEoaW50IHh4LCBpbnQgeXkpOiB4KHh4KSwgeSh5eSl7fQogICAgb3BlcmF0b3IgQigpIHsKICAgICAgICByZXR1cm4gQih4LHkpOwogICAgfQogICAgb3BlcmF0b3IgaW50KCkgewogICAgICAgIHJldHVybiB4OwogICAgfQoKcHJpdmF0ZToKICAgIGludCB4OwogICAgaW50IHk7Cn07CgppbnQgbWFpbigpIHsKICAgIEEgYSg0ICw1KTsKICAgIEIgYigzLDIpOwogICAgc3RhdGljX2Nhc3Q8Qj4oYSkgKyBiOwogICAgcmV0dXJuIDA7Cn0=