#include <vector>
#include <type_traits>
#include <cstdint>
template<class T, class... Args>
auto vector_ptr(T&& size, Args&&... args);
template<class N>
std::vector<int64_t> vector_ptr(N size)
{
return std::vector<int64_t>(size);
}
template<class T, class... Args>
auto vector_ptr(T&& size, Args&&... args)
{
return std::vector<decltype(vector_ptr(std::forward<Args>(args)...))>
(std::forward<T>(size), vector_ptr(std::forward<Args>(args)...));
}
int main()
{
auto v1 = vector_ptr(1);
auto v4 = vector_ptr(2,3,4,5);
// etc...
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgojaW5jbHVkZSA8Y3N0ZGludD4KCnRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzLi4uIEFyZ3M+CmF1dG8gdmVjdG9yX3B0cihUJiYgc2l6ZSwgQXJncyYmLi4uIGFyZ3MpOwoKdGVtcGxhdGU8Y2xhc3MgTj4Kc3RkOjp2ZWN0b3I8aW50NjRfdD4gdmVjdG9yX3B0cihOIHNpemUpCnsKICAgIHJldHVybiBzdGQ6OnZlY3RvcjxpbnQ2NF90PihzaXplKTsKfQoKdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MuLi4gQXJncz4KYXV0byB2ZWN0b3JfcHRyKFQmJiBzaXplLCBBcmdzJiYuLi4gYXJncykKewogICAgcmV0dXJuIHN0ZDo6dmVjdG9yPGRlY2x0eXBlKHZlY3Rvcl9wdHIoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk+CiAgICAgICAgKHN0ZDo6Zm9yd2FyZDxUPihzaXplKSwgdmVjdG9yX3B0cihzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsKfQoKaW50IG1haW4oKQp7CiAgICBhdXRvIHYxID0gdmVjdG9yX3B0cigxKTsKICAgIGF1dG8gdjQgPSB2ZWN0b3JfcHRyKDIsMyw0LDUpOwogICAgLy8gZXRjLi4uCiAgICByZXR1cm4gMDsKfQo=