#include <iostream>
using namespace std;
template <typename Type> class calc{
public:
Type multiply(Type x,Type y);
Type add(Type x,Type y);
};
template <typename Type> Type calc<Type>::add(Type x,Type y)
{
return x+y;
}
template <typename Type> Type calc<Type>::multiply(Type x,Type y)
{
return x*y;
}
int main(){
calc<int> instance1;
calc<double> instance2;
cout<<instance1.add(2,5)<<endl;
cout<<instance2.multiply(3.0,5.0)<<endl;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdGVtcGxhdGUgPHR5cGVuYW1lIFR5cGU+IGNsYXNzIGNhbGN7CglwdWJsaWM6CgkJVHlwZSBtdWx0aXBseShUeXBlIHgsVHlwZSB5KTsKCQlUeXBlIGFkZChUeXBlIHgsVHlwZSB5KTsKfTsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlPiBUeXBlIGNhbGM8VHlwZT46OmFkZChUeXBlIHgsVHlwZSB5KQp7CglyZXR1cm4geCt5Owp9Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVHlwZT4gVHlwZSBjYWxjPFR5cGU+OjptdWx0aXBseShUeXBlIHgsVHlwZSB5KQp7CglyZXR1cm4geCp5Owp9CmludCBtYWluKCl7CgljYWxjPGludD4gaW5zdGFuY2UxOwoJY2FsYzxkb3VibGU+IGluc3RhbmNlMjsKCWNvdXQ8PGluc3RhbmNlMS5hZGQoMiw1KTw8ZW5kbDsKCWNvdXQ8PGluc3RhbmNlMi5tdWx0aXBseSgzLjAsNS4wKTw8ZW5kbDsKCn0=