#include <iostream>
#include <limits>
unsigned int signedToUnsigned(signed int s) {
unsigned int u = 1U + std::numeric_limits<int>::max();
u += s;
std::cout << std::hex << u << std::endl;
return u;
}
int main(void) {
signedToUnsigned(std::numeric_limits<int>::min());
signedToUnsigned(std::numeric_limits<int>::max());
signedToUnsigned(0);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGltaXRzPgoKdW5zaWduZWQgaW50IHNpZ25lZFRvVW5zaWduZWQoc2lnbmVkIGludCBzKSB7CiAgdW5zaWduZWQgaW50IHUgPSAgMVUgKyBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwogIHUgKz0gczsKICBzdGQ6OmNvdXQgPDwgc3RkOjpoZXggPDwgdSA8PCBzdGQ6OmVuZGw7CiAgcmV0dXJuIHU7Cn0KCmludCBtYWluKHZvaWQpIHsKCXNpZ25lZFRvVW5zaWduZWQoc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSk7CglzaWduZWRUb1Vuc2lnbmVkKHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkpOwoJc2lnbmVkVG9VbnNpZ25lZCgwKTsKCXJldHVybiAwOwp9Cg==