#include <iostream>
using namespace std;
int add_() {
return 0;
}
template <typename T> T add_(const T& t) {
return t;
}
template <typename First, typename... Rest> First add_(const First& first, const Rest&... rest) {
return first + add_(rest...);
}
int main()
{
cout << add_(10, 20) << endl;
cout << add_(100, 200, 300) << endl;
cout << add_(2.5, 3.14159) << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBhZGRfKCkgewogICAgcmV0dXJuIDA7Cn0KCnRlbXBsYXRlIDx0eXBlbmFtZSBUPiBUIGFkZF8oY29uc3QgVCYgdCkgewogICAgcmV0dXJuIHQ7Cn0KCnRlbXBsYXRlIDx0eXBlbmFtZSBGaXJzdCwgdHlwZW5hbWUuLi4gUmVzdD4gRmlyc3QgYWRkXyhjb25zdCBGaXJzdCYgZmlyc3QsIGNvbnN0IFJlc3QmLi4uIHJlc3QpIHsKICAgIHJldHVybiBmaXJzdCArIGFkZF8ocmVzdC4uLik7Cn0KCmludCBtYWluKCkKewogICAgY291dCA8PCBhZGRfKDEwLCAyMCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgYWRkXygxMDAsIDIwMCwgMzAwKSA8PCBlbmRsOwogICAgY291dCA8PCBhZGRfKDIuNSwgMy4xNDE1OSkgPDwgZW5kbDsKfQo=