#pragma once #include #include #include #include #include #define let auto const #define func auto namespace ra = std::ranges; namespace vi = std::ranges::views; func not1(auto&& f) { return [f](auto const& x) { return not f(x); }; }