typedef short int16_t;
typedef int int32_t;
typedef long long int64_t;
+typedef long long intmax_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;
+typedef unsigned long long uintmax_t;
typedef _intptr_t intptr_t;
typedef _uintptr_t uintptr_t;
#define INT16_MAX 0x7fff
#define INT32_MAX 0x7fffffff
#define INT64_MAX 0x7fffffffffffffffULL
+#define INTMAX_MAX INT64_MAX
#define UINT8_MAX 0xff
#define UINT16_MAX 0xffff
#define UINT32_MAX 0xffffffffL
#define UINT64_MAX 0xffffffffffffffffULL
+#define UINTMAX_MAX UINT64_MAX
/*
* Right now, all of our size_t types are 32 bit, even on