#pragma once
#include <vector>

template<typename T>
T initialize_vector(T value) {
return T(value);
}

template<typename T, class D, class ...Ds>
auto initialize_vector(T value, D dim, Ds... dims) {
return std::vector<decltype(initialize_vector<T>(value, dims...))>\
(dim, initialize_vector<T>(value, dims...));
}