#include <iostream>
class Animal
{
public:
int x;
int y;
int z;
};
template<class T, class R> T& setx(T & obj, R x) { obj.x = x; return obj;}
template<class T, class R> T& sety(T & obj, R y) { obj.y = y; return obj;}
int main() {
Animal anml;
sety(setx(anml, 5), 6);
std::cout << anml.x << ", " << anml.y << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQW5pbWFsCnsKICAgIHB1YmxpYzoKICAgICAgICBpbnQgeDsKICAgICAgICBpbnQgeTsKICAgICAgICBpbnQgejsKfTsKCgp0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBSPiBUJiBzZXR4KFQgJiBvYmosIFIgeCkgewlvYmoueCA9IHg7CXJldHVybiBvYmo7fQp0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBSPiBUJiBzZXR5KFQgJiBvYmosIFIgeSkgewlvYmoueSA9IHk7CXJldHVybiBvYmo7fQoKaW50IG1haW4oKSB7CglBbmltYWwgYW5tbDsKCXNldHkoc2V0eChhbm1sLCA1KSwgNik7CglzdGQ6OmNvdXQgPDwgYW5tbC54IDw8ICIsICIgPDwgYW5tbC55IDw8IHN0ZDo6ZW5kbDsKCXJldHVybiAwOwp9