#include <vector>
#include <iostream>

template<typename T>
std::ostream& operator<<(std::ostream& s, const std::vector<T>& v) {
	s << "[";
	if (v.size() > 0) {
		s << v.at(0);
		for (int i = 1; i < v.size(); i++) {
			s << ",";
			s << v.at(i);
		}
	}
	s << "]";
}

int main() {
	std::vector<std::vector<int>> vector_of_vectors;
	vector_of_vectors.push_back({ 1,1,1,1,1 });
	std::cout << vector_of_vectors << std::endl; // [[1,1,1,1,1]]
	vector_of_vectors.push_back({ 1,1,1,1,2 });
	std::cout << vector_of_vectors << std::endl; // [[1,1,1,1,1],[1,1,1,1,2]]
	return 0;
}