#include <iostream>
#include <boost/range/irange.hpp>
template<typename T>
std::vector<T> range_from_zero(T limit)
{
auto range = boost::irange<T>(T(), limit);
return { std::begin(range), std::end(range) };
}
int main() {
size_t end = 100;
for (auto i : range_from_zero(end))
std::cout << i << ' ';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Ym9vc3QvcmFuZ2UvaXJhbmdlLmhwcD4KCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CnN0ZDo6dmVjdG9yPFQ+IHJhbmdlX2Zyb21femVybyhUIGxpbWl0KQp7CiAgICBhdXRvIHJhbmdlID0gYm9vc3Q6OmlyYW5nZTxUPihUKCksIGxpbWl0KTsKICAgIHJldHVybiB7IHN0ZDo6YmVnaW4ocmFuZ2UpLCBzdGQ6OmVuZChyYW5nZSkgfTsKfQoKaW50IG1haW4oKSB7CglzaXplX3QgZW5kID0gMTAwOwogICAgZm9yIChhdXRvIGkgOiByYW5nZV9mcm9tX3plcm8oZW5kKSkKICAgIAlzdGQ6OmNvdXQgPDwgaSA8PCAnICc7CgoJcmV0dXJuIDA7Cn0=