mov eax,1024
#include <numeric>
template <typename T>
std::generator<T> seq() noexcept {
for (T i = {};; ++i)
co_yield i;
}
template <typename T>
std::generator<T> take_until(std::generator<T>& g, T limit) noexcept {
for (auto&& v: g)
if (v < limit)
co_yield v;
else
break;
}
int main() {
auto s = seq<int>();
auto t = take_until(s, 45);
return std::accumulate(t.begin(), t.end(), 0) + 34;
}