#include <iostream>
struct s
{
int i;
s(int j)
: i(j)
{ }
};
std::ostream& operator<<(std::ostream& outputstream, s&& arr)
{
outputstream << arr.i << "\n";
return outputstream;
}
s operator+(const s& a, const s& b)
{
return s(a.i + b.i);
}
int main()
{
s m(1);
s n(2);
std::cout << (m + n);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IHMKewogICAgaW50IGk7CgkKCXMoaW50IGopCgkJOiBpKGopCgl7IH0KCQp9OwoKCnN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0mIG91dHB1dHN0cmVhbSwgcyYmIGFycikKewogICAgb3V0cHV0c3RyZWFtIDw8IGFyci5pIDw8ICJcbiI7CiAgICByZXR1cm4gb3V0cHV0c3RyZWFtOwp9CgpzIG9wZXJhdG9yKyhjb25zdCBzJiBhLCBjb25zdCBzJiBiKQp7CiAgICByZXR1cm4gcyhhLmkgKyBiLmkpOwp9CgppbnQgbWFpbigpCnsKICAgIHMgbSgxKTsKICAgIHMgbigyKTsKICAgIAogICAgc3RkOjpjb3V0IDw8IChtICsgbik7CiAgICByZXR1cm4gMDsKfQo=