#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;
}