#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;
}
