#pragma once

#include <vector>

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

template<typename T, typename... Args>
auto initialize_vector(T value, int size, Args... args) {
  auto inner = initialize_vector(value, args...);
  return std::vector<decltype(inner)>(size, inner);
}