#include <algorithm>
#include <iostream>
template <typename T>
T sum(const T& v) { return v; }
template <typename T, std::size_t N>
T sum(const T (&v)[N]) { return std::accumulate(std::begin(v), std::end(v), T{}); }
template <typename T, typename... Ts>
auto sum(const T& v, const Ts&... rest) {
return sum(v) + sum(rest...);
}
int main()
{
int a[] = {1, 2, 3};
std::cout << sum(1, 2, 3, a);
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+ClQgc3VtKGNvbnN0IFQmIHYpIHsgcmV0dXJuIHY7IH0KCnRlbXBsYXRlIDx0eXBlbmFtZSBULCBzdGQ6OnNpemVfdCBOPgpUIHN1bShjb25zdCBUICgmdilbTl0pIHsgcmV0dXJuIHN0ZDo6YWNjdW11bGF0ZShzdGQ6OmJlZ2luKHYpLCBzdGQ6OmVuZCh2KSwgVHt9KTsgfQoKdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIFRzPgphdXRvIHN1bShjb25zdCBUJiB2LCBjb25zdCBUcyYuLi4gcmVzdCkgewogICAgcmV0dXJuIHN1bSh2KSArIHN1bShyZXN0Li4uKTsKfQoKaW50IG1haW4oKQp7CiAgICBpbnQgYVtdID0gezEsIDIsIDN9OwogICAgc3RkOjpjb3V0IDw8IHN1bSgxLCAyLCAzLCBhKTsKfQo=