#include <iostream>
template <typename Lhs, typename Rhs>
auto add (Lhs lhs, Rhs rhs) -> decltype(lhs + rhs) {
return lhs + rhs;
}
int main() {
std::cout << add (2, 2.5) << '\n';
std::cout << add (2.5, 2);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPHR5cGVuYW1lIExocywgdHlwZW5hbWUgUmhzPgphdXRvIGFkZCAoTGhzIGxocywgUmhzIHJocykgLT4gZGVjbHR5cGUobGhzICsgcmhzKSB7CiAgICByZXR1cm4gbGhzICsgcmhzOwp9CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6Y291dCA8PCBhZGQgKDIsIDIuNSkgPDwgJ1xuJzsKICAgIHN0ZDo6Y291dCA8PCBhZGQgKDIuNSwgMik7Cn0K