#include <iostream>
template<class T>
class Area {
public:
T a;
T getArea() { return a; }
void setArea(T t) { a = t; }
};
class Rectangle : public Area<int>, public Area<char> {
public:
using Area<int>::setArea;
using Area<char>::setArea;
};
int main() {
Rectangle a;
a.setArea(1);
std::cout << a.Area<int>::getArea() << std::endl;
Rectangle b;
b.setArea('c');
std::cout << b.Area<char>::getArea() << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8Y2xhc3MgVD4KY2xhc3MgQXJlYSB7CiAgcHVibGljOgogICAgVCBhOwogICAgVCBnZXRBcmVhKCkgeyByZXR1cm4gYTsgfQogICAgdm9pZCBzZXRBcmVhKFQgdCkgeyBhID0gdDsgfQp9OyAgCgpjbGFzcyBSZWN0YW5nbGUgOiBwdWJsaWMgQXJlYTxpbnQ+LCBwdWJsaWMgQXJlYTxjaGFyPiB7CnB1YmxpYzoKICB1c2luZyBBcmVhPGludD46OnNldEFyZWE7CiAgdXNpbmcgQXJlYTxjaGFyPjo6c2V0QXJlYTsKfTsgIAoKaW50IG1haW4oKSB7CiAgUmVjdGFuZ2xlIGE7CiAgYS5zZXRBcmVhKDEpOwogIHN0ZDo6Y291dCA8PCBhLkFyZWE8aW50Pjo6Z2V0QXJlYSgpIDw8IHN0ZDo6ZW5kbDsKICBSZWN0YW5nbGUgYjsKICBiLnNldEFyZWEoJ2MnKTsKICBzdGQ6OmNvdXQgPDwgYi5BcmVhPGNoYXI+OjpnZXRBcmVhKCkgPDwgc3RkOjplbmRsOwogIHJldHVybiAwOwp9