#include <vector>

template < typename T >
std::vector<T> initialize_vector(T value, int s) {
    std::vector<T> out(s, value);
    return (out);
}

template < typename T, typename ...D >
auto initialize_vector(T value, int s, D... dims) {
    auto inp = initialize_vector(value, dims...);
    std::vector<decltype(inp)> out(s, inp);
    return out;
}