#include <iostream>
#include <limits>

bool add_with_limit(unsigned amount, unsigned limit, unsigned& total) {
    if (total > limit || amount > limit - total) {
        return false;
    }
    total += amount;
    return true;
}

int main() {
    unsigned total{6};
    bool accepted{add_with_limit(5u, 10u, total)};
    std::cout << accepted << ' ' << total << '\n';
    const unsigned M{std::numeric_limits<unsigned>::max()};
    accepted = add_with_limit(5u, M, total);
    std::cout << accepted << ' ' << total << '\n';
    return 0;
}
