#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
template< typename T >
class Rect{
protected:
T width, height;
public:
Rect(T a, T b){
width = a;
height = b;
}
template< typename U >
Rect(Rect<U> const &r){
width = r.width;
height = r.height;
}
int area(){
return width*height;
}
template <typename U> friend class Rect;
};
int main(){
Rect<int> a(3,4);
Rect<float> b(a);
cout<<b.area()<<endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CmNsYXNzIFJlY3R7CnByb3RlY3RlZDoKICBUIHdpZHRoLCBoZWlnaHQ7CnB1YmxpYzoKICBSZWN0KFQgYSwgVCBiKXsKICAgIHdpZHRoID0gYTsKICAgIGhlaWdodCA9IGI7CiAgfQogIHRlbXBsYXRlPCB0eXBlbmFtZSBVID4KICBSZWN0KFJlY3Q8VT4gY29uc3QgJnIpewogICAgd2lkdGggPSByLndpZHRoOwogICAgaGVpZ2h0ID0gci5oZWlnaHQ7CiAgfQogIGludCBhcmVhKCl7CiAgICByZXR1cm4gd2lkdGgqaGVpZ2h0OwogIH0KICAKICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gZnJpZW5kIGNsYXNzIFJlY3Q7Cn07CgppbnQgbWFpbigpewogIFJlY3Q8aW50PiBhKDMsNCk7CiAgUmVjdDxmbG9hdD4gYihhKTsKICBjb3V0PDxiLmFyZWEoKTw8ZW5kbDsKfQ==