//#include <vector>
//
//template<class... Types> auto init(size_t size, Types... args) {
// if constexpr (sizeof...(args) == 1) {
// return std::vector(size, args...);
// }
// else {
// return std::vector(size, init(args...));
// }
//}
//
//template<class T, class...Types> auto initialize_vector(T value, Types...args) {
// return init(args..., value);
//}
#include <vector>
template<class... Types> auto initializer(size_t size, Types... args) {
if constexpr (sizeof...(args) == 1) {
return std::vector(size, args...);
}
else {
return std::vector(size, initializer(args...));
}
}
template<class T, class...Types> auto initialize_vector(T value, Types...args) {
return initializer(args..., value);
}