//Title of this code
#include <iostream>
#include <algorithm>
#include <list>
template< typename T, typename F >
std::list< T > make_range( size_t limit, F func )
{
std::list< T > result( limit );
for( auto itr = result.begin(); itr != result.end(); ++itr )
*itr = func();
return result;
}
int main()
{
auto ls = make_range< int >( 10, []{ return 1; } );
for( auto i : ls )
std::cout << i << " ";
}
Ly9UaXRsZSBvZiB0aGlzIGNvZGUKCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGxpc3Q+Cgp0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgRiA+CnN0ZDo6bGlzdDwgVCA+IG1ha2VfcmFuZ2UoIHNpemVfdCBsaW1pdCwgRiBmdW5jICkKewogICAgc3RkOjpsaXN0PCBUID4gcmVzdWx0KCBsaW1pdCApOwogICAgZm9yKCBhdXRvIGl0ciA9IHJlc3VsdC5iZWdpbigpOyBpdHIgIT0gcmVzdWx0LmVuZCgpOyArK2l0ciApCiAgICAgICAgKml0ciA9IGZ1bmMoKTsgICAgCiAgCiAgICByZXR1cm4gcmVzdWx0Owp9CgppbnQgbWFpbigpCnsKICAgIGF1dG8gbHMgPSBtYWtlX3JhbmdlPCBpbnQgPiggMTAsIFtdeyByZXR1cm4gMTsgfSApOwogICAgCiAgICBmb3IoIGF1dG8gaSA6IGxzICkKICAgICAgICBzdGQ6OmNvdXQgPDwgaSA8PCAiICI7CiAgICAKfQ==