#include <array>
#include <iostream>
#include <limits>
bool can_add(unsigned a, unsigned b) {
    return b <= std::numeric_limits<unsigned>::max() - a;
}
int main() {
    unsigned total{};
    for (const unsigned x : std::array<unsigned, 3>{2, 4, 6}) {
        if (!can_add(total, x)) return 1;
        total += x;
    }
    if (can_add(std::numeric_limits<unsigned>::max(), 1)) return 2;
    std::cout << "sum=" << total << " overflow=rejected\n";
}
