#include <iostream>
#include <vector>
using namespace std;

template<typename T>
T create_vec()
{
	return T();
}


template<typename T, class SizeT, class ...SizeTs>
auto create_vec(SizeT sz, SizeTs... sizes)
{
	return vector<decltype(create_vec<T>(sizes...))>(sz, create_vec<T>(sizes...));
}


int main()
{
	int n = 10, m = 10;
	auto matrix = create_vec<int>(n, m);
}