#include <cassert>
int sum(int x, int y) { return x + y; }
template<int X, int Y>
struct msum {
static constexpr auto value = X + Y;
};
volatile int x = 3;
volatile int y = 5;
int main() {
assert(sum(x, y) == 8);
static_assert(msum<3, 5>::value == 8);
}
I2luY2x1ZGUgPGNhc3NlcnQ+CgoKaW50IHN1bShpbnQgeCwgaW50IHkpIHsgcmV0dXJuIHggKyB5OyB9Cgp0ZW1wbGF0ZTxpbnQgWCwgaW50IFk+CnN0cnVjdCBtc3VtIHsKICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byB2YWx1ZSA9IFggKyBZOwp9OwoKCnZvbGF0aWxlIGludCB4ID0gMzsKdm9sYXRpbGUgaW50IHkgPSA1OwoKaW50IG1haW4oKSB7CiAgICBhc3NlcnQoc3VtKHgsIHkpID09IDgpOwogICAgc3RhdGljX2Fzc2VydChtc3VtPDMsIDU+Ojp2YWx1ZSA9PSA4KTsKfQ==