#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;
}