#include <iostream>
int main()
{
auto&& function = []() { int i = 0; return [=]() mutable { int arr[] = {1,2,4,8,16,16777216}; if ( i < 6 ) return arr[i++]; return 0; }; }();
for ( unsigned long i = 0; i != 10; ++i )
std::cout << "\t" << function() << "\t|";
std::cout << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgppbnQgbWFpbigpCnsKICAgIGF1dG8mJiBmdW5jdGlvbiA9IFtdKCkgeyBpbnQgaSA9IDA7IHJldHVybiBbPV0oKSBtdXRhYmxlIHsgaW50IGFycltdID0gezEsMiw0LDgsMTYsMTY3NzcyMTZ9OyBpZiAoIGkgPCA2ICkgcmV0dXJuIGFycltpKytdOyByZXR1cm4gMDsgfTsgfSgpOwoKICAgIGZvciAoIHVuc2lnbmVkIGxvbmcgaSA9IDA7IGkgIT0gMTA7ICsraSApCiAgICAgICAgc3RkOjpjb3V0IDw8ICJcdCIgPDwgZnVuY3Rpb24oKSA8PCAiXHR8IjsKICAgIHN0ZDo6Y291dCA8PCAiXG4iOwoKICAgIHJldHVybiAwOwp9