#include <iostream>

auto make_at_least(int threshold) {
    return [threshold](int value) { return value >= threshold; };
}

int main() {
    const auto predicate = make_at_least(3);
    std::cout << predicate(4) << '\n';
    std::cout << predicate(2) << '\n';
    return 0;
}
