template <typename T, typename Ti>
auto initialize_vector(T value, Ti size)
{
std::vector<T> vec(size, value);
return vec;
}
template <typename T, typename Ti, typename...Args>
auto initialize_vector(T value, Ti size, Args...args)
{
std::vector<decltype(initialize_vector(value, args...))> vec(size, initialize_vector(value, args...));
return vec;
}