#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 >
std::vector<T> initialize_vector(T value, int s, D... dims) {
    std::vector<T> out(s, initialize_vector(value, dims...));
    return out;
}