#include <iostream>
template<typename T>
constexpr T mult(T a){
return a;
}
template<typename T, typename ... Values>
constexpr T mult(T a, Values ... rest){
return a * mult(rest...);
}
int main()
{
constexpr int value = mult(1,2,3,4,5);
std::cout<<(1*2*3*4*5)<<std::endl;
std::cout<<value<<std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KY29uc3RleHByIFQgbXVsdChUIGEpewoJcmV0dXJuIGE7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIC4uLiBWYWx1ZXM+CmNvbnN0ZXhwciBUIG11bHQoVCBhLCBWYWx1ZXMgLi4uIHJlc3QpewoJcmV0dXJuIGEgKiBtdWx0KHJlc3QuLi4pOwp9CgppbnQgbWFpbigpCnsKCWNvbnN0ZXhwciBpbnQgdmFsdWUgPSBtdWx0KDEsMiwzLDQsNSk7CgkKCXN0ZDo6Y291dDw8KDEqMiozKjQqNSk8PHN0ZDo6ZW5kbDsKCXN0ZDo6Y291dDw8dmFsdWU8PHN0ZDo6ZW5kbDsKCXJldHVybiAwOwp9