#include <vector>

template <typename Value, typename Size>
auto initialize_vector(Value value, Size dim) {
    return std::vector<decltype(value)>(dim, value);
}

template <typename Value, typename Size, typename... Arguments>
auto initialize_vector(Value value, Size dim, Arguments... args) {
    return std::vector<decltype(initialize_vector(value, args...))>(dim,
    initialize_vector(value, args...));
}