text:
static const int __STDC__ = 1;
static const int __STDC_HOSTED__ = 1;
static const int __GNUC__ = 4;
static const int __GNUC_MINOR__ = 7;
static const int __GNUC_PATCHLEVEL__ = 2;
static const char __VERSION__ = "4.7.2";
static const int __ATOMIC_RELAXED = 0;
static const int __ATOMIC_SEQ_CST = 5;
static const int __ATOMIC_ACQUIRE = 2;
static const int __ATOMIC_RELEASE = 3;
static const int __ATOMIC_ACQ_REL = 4;
static const int __ATOMIC_CONSUME = 1;
static const int __FINITE_MATH_ONLY__ = 0;
static const int __SIZEOF_INT__ = 4;
static const int __SIZEOF_LONG__ = 4;
static const int __SIZEOF_LONG_LONG__ = 8;
static const int __SIZEOF_SHORT__ = 2;
static const int __SIZEOF_FLOAT__ = 4;
static const int __SIZEOF_DOUBLE__ = 8;
static const int __SIZEOF_LONG_DOUBLE__ = 12;
static const int __SIZEOF_SIZE_T__ = 4;
static const int __CHAR_BIT__ = 8;
static const int __BIGGEST_ALIGNMENT__ = 16;
static const int __ORDER_LITTLE_ENDIAN__ = 1234;
static const int __ORDER_BIG_ENDIAN__ = 4321;
static const int __ORDER_PDP_ENDIAN__ = 3412;
static const int __BYTE_ORDER__ = __ORDER_LITTLE_ENDIAN__;
static const int __FLOAT_WORD_ORDER__ = __ORDER_LITTLE_ENDIAN__;
static const int __SIZEOF_POINTER__ = 4;
static const int __SIZE_TYPE__ = unsigned int;
static const int __PTRDIFF_TYPE__ = int;
static const int __WCHAR_TYPE__ = int;
static const int __WINT_TYPE__ = unsigned int;
static const int __INTMAX_TYPE__ = long long int;
static const int __UINTMAX_TYPE__ = long long unsigned int;
static const int __CHAR16_TYPE__ = short unsigned int;
static const int __CHAR32_TYPE__ = unsigned int;
static const int __SIG_ATOMIC_TYPE__ = int;
static const int __INT8_TYPE__ = signed char;
static const int __INT16_TYPE__ = short int;
static const int __INT32_TYPE__ = int;
static const int __INT64_TYPE__ = long long int;
static const int __UINT8_TYPE__ = unsigned char;
static const int __UINT16_TYPE__ = short unsigned int;
static const int __UINT32_TYPE__ = unsigned int;
static const int __UINT64_TYPE__ = long long unsigned int;
static const int __INT_LEAST8_TYPE__ = signed char;
static const int __INT_LEAST16_TYPE__ = short int;
static const int __INT_LEAST32_TYPE__ = int;
static const int __INT_LEAST64_TYPE__ = long long int;
static const int __UINT_LEAST8_TYPE__ = unsigned char;
static const int __UINT_LEAST16_TYPE__ = short unsigned int;
static const int __UINT_LEAST32_TYPE__ = unsigned int;
static const int __UINT_LEAST64_TYPE__ = long long unsigned int;
static const int __INT_FAST8_TYPE__ = signed char;
static const int __INT_FAST16_TYPE__ = int;
static const int __INT_FAST32_TYPE__ = int;
static const int __INT_FAST64_TYPE__ = long long int;
static const int __UINT_FAST8_TYPE__ = unsigned char;
static const int __UINT_FAST16_TYPE__ = unsigned int;
static const int __UINT_FAST32_TYPE__ = unsigned int;
static const int __UINT_FAST64_TYPE__ = long long unsigned int;
static const int __INTPTR_TYPE__ = int;
static const int __UINTPTR_TYPE__ = unsigned int;
static const int __GXX_ABI_VERSION = 1002;
static const int __SCHAR_MAX__ = 127;
static const int __SHRT_MAX__ = 32767;
static const int __INT_MAX__ = 2147483647;
static const long __LONG_MAX__ = 2147483647L;
static const long long __LONG_LONG_MAX__ = 9223372036854775807LL;
static const int __WCHAR_MAX__ = 2147483647;
static const int __WCHAR_MIN__ = (-__WCHAR_MAX__ - 1);
static const int __WINT_MAX__ = 4294967295U;
static const int __WINT_MIN__ = 0U;
static const int __PTRDIFF_MAX__ = 2147483647;
static const int __SIZE_MAX__ = 4294967295U;
static const long long __INTMAX_MAX__ = 9223372036854775807LL;
static const int __INTMAX_C(c) = c ## LL;
static const int __UINTMAX_MAX__ = 18446744073709551615ULL;
static const int __UINTMAX_C(c) = c ## ULL;
static const int __SIG_ATOMIC_MAX__ = 2147483647;
static const int __SIG_ATOMIC_MIN__ = (-__SIG_ATOMIC_MAX__ - 1);
static const int __INT8_MAX__ = 127;
static const int __INT16_MAX__ = 32767;
static const int __INT32_MAX__ = 2147483647;
static const long long __INT64_MAX__ = 9223372036854775807LL;
static const int __UINT8_MAX__ = 255;
static const int __UINT16_MAX__ = 65535;
static const int __UINT32_MAX__ = 4294967295U;
static const int __UINT64_MAX__ = 18446744073709551615ULL;
static const int __INT_LEAST8_MAX__ = 127;
static const int __INT8_C(c) = c;
static const int __INT_LEAST16_MAX__ = 32767;
static const int __INT16_C(c) = c;
static const int __INT_LEAST32_MAX__ = 2147483647;
static const int __INT32_C(c) = c;
static const long long __INT_LEAST64_MAX__ = 9223372036854775807LL;
static const int __INT64_C(c) = c ## LL;
static const int __UINT_LEAST8_MAX__ = 255;
static const int __UINT8_C(c) = c;
static const int __UINT_LEAST16_MAX__ = 65535;
static const int __UINT16_C(c) = c;
static const int __UINT_LEAST32_MAX__ = 4294967295U;
static const int __UINT32_C(c) = c ## U;
static const int __UINT_LEAST64_MAX__ = 18446744073709551615ULL;
static const int __UINT64_C(c) = c ## ULL;
static const int __INT_FAST8_MAX__ = 127;
static const int __INT_FAST16_MAX__ = 2147483647;
static const int __INT_FAST32_MAX__ = 2147483647;
static const long long __INT_FAST64_MAX__ = 9223372036854775807LL;
static const int __UINT_FAST8_MAX__ = 255;
static const int __UINT_FAST16_MAX__ = 4294967295U;
static const int __UINT_FAST32_MAX__ = 4294967295U;
static const int __UINT_FAST64_MAX__ = 18446744073709551615ULL;
static const int __INTPTR_MAX__ = 2147483647;
static const int __UINTPTR_MAX__ = 4294967295U;
static const int __FLT_EVAL_METHOD__ = 2;
static const int __DEC_EVAL_METHOD__ = 2;
static const int __FLT_RADIX__ = 2;
static const int __FLT_MANT_DIG__ = 24;
static const int __FLT_DIG__ = 6;
static const int __FLT_MIN_EXP__ = (-125);
static const int __FLT_MIN_10_EXP__ = (-37);
static const int __FLT_MAX_EXP__ = 128;
static const int __FLT_MAX_10_EXP__ = 38;
static const int __FLT_DECIMAL_DIG__ = 9;
static const double __FLT_MAX__ = 3.40282346638528859812e+38F;
static const double __FLT_MIN__ = 1.17549435082228750797e-38F;
static const double __FLT_EPSILON__ = 1.19209289550781250000e-7F;
static const double __FLT_DENORM_MIN__ = 1.40129846432481707092e-45F;
static const int __FLT_HAS_DENORM__ = 1;
static const int __FLT_HAS_INFINITY__ = 1;
static const int __FLT_HAS_QUIET_NAN__ = 1;
static const int __DBL_MANT_DIG__ = 53;
static const int __DBL_DIG__ = 15;
static const int __DBL_MIN_EXP__ = (-1021);
static const int __DBL_MIN_10_EXP__ = (-307);
static const int __DBL_MAX_EXP__ = 1024;
static const int __DBL_MAX_10_EXP__ = 308;
static const int __DBL_DECIMAL_DIG__ = 17;
static const double __DBL_MAX__ = ((double)1.79769313486231570815e+308L);
static const double __DBL_MIN__ = ((double)2.22507385850720138309e-308L);
static const double __DBL_EPSILON__ = ((double)2.22044604925031308085e-16L);
static const double __DBL_DENORM_MIN__ = ((double)4.94065645841246544177e-324L);
static const int __DBL_HAS_DENORM__ = 1;
static const int __DBL_HAS_INFINITY__ = 1;
static const int __DBL_HAS_QUIET_NAN__ = 1;
static const int __LDBL_MANT_DIG__ = 64;
static const int __LDBL_DIG__ = 18;
static const int __LDBL_MIN_EXP__ = (-16381);
static const int __LDBL_MIN_10_EXP__ = (-4931);
static const int __LDBL_MAX_EXP__ = 16384;
static const int __LDBL_MAX_10_EXP__ = 4932;
static const int __DECIMAL_DIG__ = 21;
static const long __LDBL_MAX__ = 1.18973149535723176502e+4932L;
static const long __LDBL_MIN__ = 3.36210314311209350626e-4932L;
static const long __LDBL_EPSILON__ = 1.08420217248550443401e-19L;
static const long __LDBL_DENORM_MIN__ = 3.64519953188247460253e-4951L;
static const int __LDBL_HAS_DENORM__ = 1;
static const int __LDBL_HAS_INFINITY__ = 1;
static const int __LDBL_HAS_QUIET_NAN__ = 1;
static const int __DEC32_MANT_DIG__ = 7;
static const int __DEC32_MIN_EXP__ = (-94);
static const int __DEC32_MAX_EXP__ = 97;
static const double __DEC32_MIN__ = 1E-95DF;
static const double __DEC32_MAX__ = 9.999999E96DF;
static const double __DEC32_EPSILON__ = 1E-6DF;
static const double __DEC32_SUBNORMAL_MIN__ = 0.000001E-95DF;
static const int __DEC64_MANT_DIG__ = 16;
static const int __DEC64_MIN_EXP__ = (-382);
static const int __DEC64_MAX_EXP__ = 385;
static const double __DEC64_MIN__ = 1E-383DD;
static const double __DEC64_MAX__ = 9.999999999999999E384DD;
static const double __DEC64_EPSILON__ = 1E-15DD;
static const double __DEC64_SUBNORMAL_MIN__ = 0.000000000000001E-383DD;
static const int __DEC128_MANT_DIG__ = 34;
static const int __DEC128_MIN_EXP__ = (-6142);
static const int __DEC128_MAX_EXP__ = 6145;
static const long double __DEC128_MIN__ = 1E-6143DL;
static const long double __DEC128_MAX__ = 9.999999999999999999999999999999999E6144DL;
static const long double __DEC128_EPSILON__ = 1E-33DL;
static const long double __DEC128_SUBNORMAL_MIN__ = 0.000000000000000000000000000000001E-6143DL;
static const int _FORTIFY_SOURCE = 2;
static const int __GNUC_GNU_INLINE__ = 1;
static const int __NO_INLINE__ = 1;
static const int __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1;
static const int __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1;
static const int __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1;
static const int __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1;
static const int __GCC_ATOMIC_BOOL_LOCK_FREE = 2;
static const int __GCC_ATOMIC_CHAR_LOCK_FREE = 2;
static const int __GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2;
static const int __GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2;
static const int __GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2;
static const int __GCC_ATOMIC_SHORT_LOCK_FREE = 2;
static const int __GCC_ATOMIC_INT_LOCK_FREE = 2;
static const int __GCC_ATOMIC_LONG_LOCK_FREE = 2;
static const int __GCC_ATOMIC_LLONG_LOCK_FREE = 2;
static const int __GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1;
static const int __GCC_ATOMIC_POINTER_LOCK_FREE = 2;
static const int __GCC_HAVE_DWARF2_CFI_ASM = 1;
static const int __PRAGMA_REDEFINE_EXTNAME = 1;
static const int __SSP__ = 1;
static const int __SIZEOF_WCHAR_T__ = 4;
static const int __SIZEOF_WINT_T__ = 4;
static const int __SIZEOF_PTRDIFF_T__ = 4;
static const int __i386 = 1;
static const int __i386__ = 1;
static const int i386 = 1;
static const int __i686 = 1;
static const int __i686__ = 1;
static const int __pentiumpro = 1;
static const int __pentiumpro__ = 1;
static const int __gnu_linux__ = 1;
static const int __linux = 1;
static const int __linux__ = 1;
static const int linux = 1;
static const int __unix = 1;
static const int __unix__ = 1;
static const int unix = 1;
static const int __ELF__ = 1;
static const int __DECIMAL_BID_FORMAT__ = 1;
static const int _UNISTD_H = 1;
static const int _FEATURES_H = 1;
static const int __USE_ANSI = 1;
static const int __GNUC_PREREQ(maj,min) = ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min));
static const int _BSD_SOURCE = 1;
static const int _SVID_SOURCE = 1;
static const int _POSIX_SOURCE = 1;
static const long _POSIX_C_SOURCE = 200809L;
static const int __USE_POSIX_IMPLICITLY = 1;
static const int __USE_POSIX = 1;
static const int __USE_POSIX2 = 1;
static const int __USE_POSIX199309 = 1;
static const int __USE_POSIX199506 = 1;
static const int __USE_XOPEN2K = 1;
static const int __USE_ISOC95 = 1;
static const int __USE_ISOC99 = 1;
static const int __USE_XOPEN2K8 = 1;
static const int _ATFILE_SOURCE = 1;
static const int __USE_MISC = 1;
static const int __USE_BSD = 1;
static const int __USE_SVID = 1;
static const int __USE_ATFILE = 1;
static const int __USE_FORTIFY_LEVEL = 0;
static const int __STDC_IEC_559__ = 1;
static const int __STDC_IEC_559_COMPLEX__ = 1;
static const long __STDC_ISO_10646__ = 200009L;
static const int __GNU_LIBRARY__ = 6;
static const int __GLIBC__ = 2;
static const int __GLIBC_MINOR__ = 15;
static const int __GLIBC_PREREQ(maj,min) = ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min));
static const int __GLIBC_HAVE_LONG_LONG = 1;
static const int _SYS_CDEFS_H = 1;
static const int __LEAF = , __leaf__;
static const int __LEAF_ATTR = __attribute__ ((__leaf__));
static const int __THROW = __attribute__ ((__nothrow__ __LEAF));
static const int __THROWNL = __attribute__ ((__nothrow__));
static const int __NTH(fct) = __attribute__ ((__nothrow__ __LEAF)) fct;
static const int __P(args) = args;
static const int __PMT(args) = args;
static const int __CONCAT(x,y) = x ## y;
static const int __STRING(x) = #x;
static const int __ptr_t = void *;
static const int __long_double_t = long double;
static const int __bos(ptr) = __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1);
static const int __bos0(ptr) = __builtin_object_size (ptr, 0);
static const int __warndecl(name,msg) = extern void name (void) __attribute__((__warning__ (msg)));
static const int __warnattr(msg) = __attribute__((__warning__ (msg)));
static const int __errordecl(name,msg) = extern void name (void) __attribute__((__error__ (msg)));
static const int __flexarr = [];
static const int __REDIRECT(name,proto,alias) = name proto __asm__ (__ASMNAME (#alias));
static const int __REDIRECT_NTH(name,proto,alias) = name proto __asm__ (__ASMNAME (#alias)) __THROW;
static const int __REDIRECT_NTHNL(name,proto,alias) = name proto __asm__ (__ASMNAME (#alias)) __THROWNL;
static const int __ASMNAME(cname) = __ASMNAME2 (__USER_LABEL_PREFIX__, cname);
static const int __ASMNAME2(prefix,cname) = __STRING (prefix) cname;
static const int __attribute_malloc__ = __attribute__ ((__malloc__));
static const int __attribute_pure__ = __attribute__ ((__pure__));
static const int __attribute_const__ = __attribute__ ((__const__));
static const int __attribute_used__ = __attribute__ ((__used__));
static const int __attribute_noinline__ = __attribute__ ((__noinline__));
static const int __attribute_deprecated__ = __attribute__ ((__deprecated__));
static const int __attribute_format_arg__(x) = __attribute__ ((__format_arg__ (x)));
static const int __attribute_format_strfmon__(a,b) = __attribute__ ((__format__ (__strfmon__, a, b)));
static const int __nonnull(params) = __attribute__ ((__nonnull__ params));
static const int __attribute_warn_unused_result__ = __attribute__ ((__warn_unused_result__));
static const int __always_inline = __inline __attribute__ ((__always_inline__));
static const int __extern_inline = extern __inline;
static const int __extern_always_inline = extern __always_inline __attribute__ ((__artificial__));
static const int __va_arg_pack() = __builtin_va_arg_pack ();
static const int __va_arg_pack_len() = __builtin_va_arg_pack_len ();
static const int __restrict_arr = __restrict;
static const int __WORDSIZE = 32;
static const int __LDBL_REDIR1(name,proto,alias) = name proto;
static const int __LDBL_REDIR(name,proto) = name proto;
static const int __LDBL_REDIR1_NTH(name,proto,alias) = name proto __THROW;
static const int __LDBL_REDIR_NTH(name,proto) = name proto __THROW;
static const int __REDIRECT_LDBL(name,proto,alias) = __REDIRECT (name, proto, alias);
static const int __REDIRECT_NTH_LDBL(name,proto,alias) = __REDIRECT_NTH (name, proto, alias);
static const long _POSIX_VERSION = 200809L;
static const long __POSIX2_THIS_VERSION = 200809L;
static const int _POSIX2_VERSION = __POSIX2_THIS_VERSION;
static const int _POSIX2_C_BIND = __POSIX2_THIS_VERSION;
static const int _POSIX2_C_DEV = __POSIX2_THIS_VERSION;
static const int _POSIX2_SW_DEV = __POSIX2_THIS_VERSION;
static const int _POSIX2_LOCALEDEF = __POSIX2_THIS_VERSION;
static const int _XOPEN_VERSION = 700;
static const int _XOPEN_XCU_VERSION = 4;
static const int _XOPEN_XPG2 = 1;
static const int _XOPEN_XPG3 = 1;
static const int _XOPEN_XPG4 = 1;
static const int _XOPEN_UNIX = 1;
static const int _XOPEN_CRYPT = 1;
static const int _XOPEN_ENH_I18N = 1;
static const int _XOPEN_LEGACY = 1;
static const int _BITS_POSIX_OPT_H = 1;
static const int _POSIX_JOB_CONTROL = 1;
static const int _POSIX_SAVED_IDS = 1;
static const long _POSIX_PRIORITY_SCHEDULING = 200809L;
static const long _POSIX_SYNCHRONIZED_IO = 200809L;
static const long _POSIX_FSYNC = 200809L;
static const long _POSIX_MAPPED_FILES = 200809L;
static const long _POSIX_MEMLOCK = 200809L;
static const long _POSIX_MEMLOCK_RANGE = 200809L;
static const long _POSIX_MEMORY_PROTECTION = 200809L;
static const int _POSIX_CHOWN_RESTRICTED = 0;
static const int _POSIX_VDISABLE = '\0';
static const int _POSIX_NO_TRUNC = 1;
static const int _XOPEN_REALTIME = 1;
static const int _XOPEN_REALTIME_THREADS = 1;
static const int _XOPEN_SHM = 1;
static const long _POSIX_THREADS = 200809L;
static const int _POSIX_REENTRANT_FUNCTIONS = 1;
static const long _POSIX_THREAD_SAFE_FUNCTIONS = 200809L;
static const long _POSIX_THREAD_PRIORITY_SCHEDULING = 200809L;
static const long _POSIX_THREAD_ATTR_STACKSIZE = 200809L;
static const long _POSIX_THREAD_ATTR_STACKADDR = 200809L;
static const long _POSIX_THREAD_PRIO_INHERIT = 200809L;
static const long _POSIX_THREAD_PRIO_PROTECT = 200809L;
static const long _POSIX_THREAD_ROBUST_PRIO_INHERIT = 200809L;
static const int _POSIX_THREAD_ROBUST_PRIO_PROTECT = -1;
static const long _POSIX_SEMAPHORES = 200809L;
static const long _POSIX_REALTIME_SIGNALS = 200809L;
static const long _POSIX_ASYNCHRONOUS_IO = 200809L;
static const int _POSIX_ASYNC_IO = 1;
static const int _LFS_ASYNCHRONOUS_IO = 1;
static const long _POSIX_PRIORITIZED_IO = 200809L;
static const int _LFS64_ASYNCHRONOUS_IO = 1;
static const int _LFS_LARGEFILE = 1;
static const int _LFS64_LARGEFILE = 1;
static const int _LFS64_STDIO = 1;
static const long _POSIX_SHARED_MEMORY_OBJECTS = 200809L;
static const int _POSIX_CPUTIME = 0;
static const int _POSIX_THREAD_CPUTIME = 0;
static const int _POSIX_REGEXP = 1;
static const long _POSIX_READER_WRITER_LOCKS = 200809L;
static const int _POSIX_SHELL = 1;
static const long _POSIX_TIMEOUTS = 200809L;
static const long _POSIX_SPIN_LOCKS = 200809L;
static const long _POSIX_SPAWN = 200809L;
static const long _POSIX_TIMERS = 200809L;
static const long _POSIX_BARRIERS = 200809L;
static const long _POSIX_MESSAGE_PASSING = 200809L;
static const long _POSIX_THREAD_PROCESS_SHARED = 200809L;
static const int _POSIX_MONOTONIC_CLOCK = 0;
static const long _POSIX_CLOCK_SELECTION = 200809L;
static const long _POSIX_ADVISORY_INFO = 200809L;
static const long _POSIX_IPV6 = 200809L;
static const long _POSIX_RAW_SOCKETS = 200809L;
static const long _POSIX2_CHAR_TERM = 200809L;
static const int _POSIX_SPORADIC_SERVER = -1;
static const int _POSIX_THREAD_SPORADIC_SERVER = -1;
static const int _POSIX_TRACE = -1;
static const int _POSIX_TRACE_EVENT_FILTER = -1;
static const int _POSIX_TRACE_INHERIT = -1;
static const int _POSIX_TRACE_LOG = -1;
static const int _POSIX_TYPED_MEMORY_OBJECTS = -1;
static const int _POSIX_V7_ILP32_OFF32 = 1;
static const int _POSIX_V7_ILP32_OFFBIG = 1;
static const int _POSIX_V6_ILP32_OFF32 = 1;
static const int _POSIX_V6_ILP32_OFFBIG = 1;
static const int _XBS5_ILP32_OFF32 = 1;
static const int _XBS5_ILP32_OFFBIG = 1;
static const char __ILP32_OFF32_CFLAGS = "-m32";
static const char __ILP32_OFFBIG_CFLAGS = "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64";
static const char __ILP32_OFF32_LDFLAGS = "-m32";
static const char __ILP32_OFFBIG_LDFLAGS = "-m32";
static const char __LP64_OFF64_CFLAGS = "-m64";
static const char __LP64_OFF64_LDFLAGS = "-m64";
static const int STDIN_FILENO = 0;
static const int STDOUT_FILENO = 1;
static const int STDERR_FILENO = 2;
static const int _BITS_TYPES_H = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
static const int __S16_TYPE = short int;
static const int __U16_TYPE = unsigned short int;
static const int __S32_TYPE = int;
static const int __U32_TYPE = unsigned int;
static const int __SLONGWORD_TYPE = long int;
static const int __ULONGWORD_TYPE = unsigned long int;
static const int __SQUAD_TYPE = __quad_t;
static const int __UQUAD_TYPE = __u_quad_t;
static const int __SWORD_TYPE = int;
static const int __UWORD_TYPE = unsigned int;
static const int __SLONG32_TYPE = long int;
static const int __ULONG32_TYPE = unsigned long int;
static const int __S64_TYPE = __quad_t;
static const int __U64_TYPE = __u_quad_t;
static const int __STD_TYPE = __extension__ typedef;
static const int _BITS_TYPESIZES_H = 1;
static const int __DEV_T_TYPE = __UQUAD_TYPE;
static const int __UID_T_TYPE = __U32_TYPE;
static const int __GID_T_TYPE = __U32_TYPE;
static const int __INO_T_TYPE = __ULONGWORD_TYPE;
static const int __INO64_T_TYPE = __UQUAD_TYPE;
static const int __MODE_T_TYPE = __U32_TYPE;
static const int __NLINK_T_TYPE = __UWORD_TYPE;
static const int __OFF_T_TYPE = __SLONGWORD_TYPE;
static const int __OFF64_T_TYPE = __SQUAD_TYPE;
static const int __PID_T_TYPE = __S32_TYPE;
static const int __RLIM_T_TYPE = __ULONGWORD_TYPE;
static const int __RLIM64_T_TYPE = __UQUAD_TYPE;
static const int __BLKCNT_T_TYPE = __SLONGWORD_TYPE;
static const int __BLKCNT64_T_TYPE = __SQUAD_TYPE;
static const int __FSBLKCNT_T_TYPE = __ULONGWORD_TYPE;
static const int __FSBLKCNT64_T_TYPE = __UQUAD_TYPE;
static const int __FSFILCNT_T_TYPE = __ULONGWORD_TYPE;
static const int __FSFILCNT64_T_TYPE = __UQUAD_TYPE;
static const int __ID_T_TYPE = __U32_TYPE;
static const int __CLOCK_T_TYPE = __SLONGWORD_TYPE;
static const int __TIME_T_TYPE = __SLONGWORD_TYPE;
static const int __USECONDS_T_TYPE = __U32_TYPE;
static const int __SUSECONDS_T_TYPE = __SLONGWORD_TYPE;
static const int __DADDR_T_TYPE = __S32_TYPE;
static const int __SWBLK_T_TYPE = __SLONGWORD_TYPE;
static const int __KEY_T_TYPE = __S32_TYPE;
static const int __CLOCKID_T_TYPE = __S32_TYPE;
static const int __TIMER_T_TYPE = void *;
static const int __BLKSIZE_T_TYPE = __SLONGWORD_TYPE;
static const int __FSID_T_TYPE = struct { int __val[2]; };
static const int __SSIZE_T_TYPE = __SWORD_TYPE;
static const int __FD_SETSIZE = 1024;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __ssize_t ssize_t;
typedef unsigned int size_t;
static const int NULL = ((void *)0);
typedef __gid_t gid_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __useconds_t useconds_t;
typedef __pid_t pid_t;
typedef __intptr_t intptr_t;
typedef __socklen_t socklen_t;
static const int R_OK = 4;
static const int W_OK = 2;
static const int X_OK = 1;
static const int F_OK = 0;
extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int faccessat (int __fd, __const char *__file, int __type, int __flag)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ;
static const int SEEK_SET = 0;
static const int SEEK_CUR = 1;
static const int SEEK_END = 2;
static const int L_SET = SEEK_SET;
static const int L_INCR = SEEK_CUR;
static const int L_XTND = SEEK_END;
extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__ , __leaf__));
extern int close (int __fd);
extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
        __off_t __offset) ;
extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
         __off_t __offset) ;
extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) ;
extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__));
extern unsigned int sleep (unsigned int __seconds);
extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
     __attribute__ ((__nothrow__ , __leaf__));
extern int usleep (__useconds_t __useconds);
extern int pause (void);
extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int fchownat (int __fd, __const char *__file, __uid_t __owner,
       __gid_t __group, int __flag)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ;
extern int chdir (__const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int fchdir (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ;
extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) ;
extern char *getwd (char *__buf)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ;
extern int dup (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ , __leaf__));
extern char **__environ;
extern int execve (__const char *__path, char *__const __argv[],
     char *__const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int execv (__const char *__path, char *__const __argv[])
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int execle (__const char *__path, __const char *__arg, ...)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int execl (__const char *__path, __const char *__arg, ...)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int execvp (__const char *__file, char *__const __argv[])
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int execlp (__const char *__file, __const char *__arg, ...)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void _exit (int __status) __attribute__ ((__noreturn__));
enum
  {
    _PC_LINK_MAX,
static const int _PC_LINK_MAX = _PC_LINK_MAX;
    _PC_MAX_CANON,
static const int _PC_MAX_CANON = _PC_MAX_CANON;
    _PC_MAX_INPUT,
static const int _PC_MAX_INPUT = _PC_MAX_INPUT;
    _PC_NAME_MAX,
static const int _PC_NAME_MAX = _PC_NAME_MAX;
    _PC_PATH_MAX,
static const int _PC_PATH_MAX = _PC_PATH_MAX;
    _PC_PIPE_BUF,
static const int _PC_PIPE_BUF = _PC_PIPE_BUF;
    _PC_CHOWN_RESTRICTED,
static const int _PC_CHOWN_RESTRICTED = _PC_CHOWN_RESTRICTED;
    _PC_NO_TRUNC,
static const int _PC_NO_TRUNC = _PC_NO_TRUNC;
    _PC_VDISABLE,
static const int _PC_VDISABLE = _PC_VDISABLE;
    _PC_SYNC_IO,
static const int _PC_SYNC_IO = _PC_SYNC_IO;
    _PC_ASYNC_IO,
static const int _PC_ASYNC_IO = _PC_ASYNC_IO;
    _PC_PRIO_IO,
static const int _PC_PRIO_IO = _PC_PRIO_IO;
    _PC_SOCK_MAXBUF,
static const int _PC_SOCK_MAXBUF = _PC_SOCK_MAXBUF;
    _PC_FILESIZEBITS,
static const int _PC_FILESIZEBITS = _PC_FILESIZEBITS;
    _PC_REC_INCR_XFER_SIZE,
static const int _PC_REC_INCR_XFER_SIZE = _PC_REC_INCR_XFER_SIZE;
    _PC_REC_MAX_XFER_SIZE,
static const int _PC_REC_MAX_XFER_SIZE = _PC_REC_MAX_XFER_SIZE;
    _PC_REC_MIN_XFER_SIZE,
static const int _PC_REC_MIN_XFER_SIZE = _PC_REC_MIN_XFER_SIZE;
    _PC_REC_XFER_ALIGN,
static const int _PC_REC_XFER_ALIGN = _PC_REC_XFER_ALIGN;
    _PC_ALLOC_SIZE_MIN,
static const int _PC_ALLOC_SIZE_MIN = _PC_ALLOC_SIZE_MIN;
    _PC_SYMLINK_MAX,
static const int _PC_SYMLINK_MAX = _PC_SYMLINK_MAX;
    _PC_2_SYMLINKS
static const int _PC_2_SYMLINKS = _PC_2_SYMLINKS;
  };
enum
  {
    _SC_ARG_MAX,
static const int _SC_ARG_MAX = _SC_ARG_MAX;
    _SC_CHILD_MAX,
static const int _SC_CHILD_MAX = _SC_CHILD_MAX;
    _SC_CLK_TCK,
static const int _SC_CLK_TCK = _SC_CLK_TCK;
    _SC_NGROUPS_MAX,
static const int _SC_NGROUPS_MAX = _SC_NGROUPS_MAX;
    _SC_OPEN_MAX,
static const int _SC_OPEN_MAX = _SC_OPEN_MAX;
    _SC_STREAM_MAX,
static const int _SC_STREAM_MAX = _SC_STREAM_MAX;
    _SC_TZNAME_MAX,
static const int _SC_TZNAME_MAX = _SC_TZNAME_MAX;
    _SC_JOB_CONTROL,
static const int _SC_JOB_CONTROL = _SC_JOB_CONTROL;
    _SC_SAVED_IDS,
static const int _SC_SAVED_IDS = _SC_SAVED_IDS;
    _SC_REALTIME_SIGNALS,
static const int _SC_REALTIME_SIGNALS = _SC_REALTIME_SIGNALS;
    _SC_PRIORITY_SCHEDULING,
static const int _SC_PRIORITY_SCHEDULING = _SC_PRIORITY_SCHEDULING;
    _SC_TIMERS,
static const int _SC_TIMERS = _SC_TIMERS;
    _SC_ASYNCHRONOUS_IO,
static const int _SC_ASYNCHRONOUS_IO = _SC_ASYNCHRONOUS_IO;
    _SC_PRIORITIZED_IO,
static const int _SC_PRIORITIZED_IO = _SC_PRIORITIZED_IO;
    _SC_SYNCHRONIZED_IO,
static const int _SC_SYNCHRONIZED_IO = _SC_SYNCHRONIZED_IO;
    _SC_FSYNC,
static const int _SC_FSYNC = _SC_FSYNC;
    _SC_MAPPED_FILES,
static const int _SC_MAPPED_FILES = _SC_MAPPED_FILES;
    _SC_MEMLOCK,
static const int _SC_MEMLOCK = _SC_MEMLOCK;
    _SC_MEMLOCK_RANGE,
static const int _SC_MEMLOCK_RANGE = _SC_MEMLOCK_RANGE;
    _SC_MEMORY_PROTECTION,
static const int _SC_MEMORY_PROTECTION = _SC_MEMORY_PROTECTION;
    _SC_MESSAGE_PASSING,
static const int _SC_MESSAGE_PASSING = _SC_MESSAGE_PASSING;
    _SC_SEMAPHORES,
static const int _SC_SEMAPHORES = _SC_SEMAPHORES;
    _SC_SHARED_MEMORY_OBJECTS,
static const int _SC_SHARED_MEMORY_OBJECTS = _SC_SHARED_MEMORY_OBJECTS;
    _SC_AIO_LISTIO_MAX,
static const int _SC_AIO_LISTIO_MAX = _SC_AIO_LISTIO_MAX;
    _SC_AIO_MAX,
static const int _SC_AIO_MAX = _SC_AIO_MAX;
    _SC_AIO_PRIO_DELTA_MAX,
static const int _SC_AIO_PRIO_DELTA_MAX = _SC_AIO_PRIO_DELTA_MAX;
    _SC_DELAYTIMER_MAX,
static const int _SC_DELAYTIMER_MAX = _SC_DELAYTIMER_MAX;
    _SC_MQ_OPEN_MAX,
static const int _SC_MQ_OPEN_MAX = _SC_MQ_OPEN_MAX;
    _SC_MQ_PRIO_MAX,
static const int _SC_MQ_PRIO_MAX = _SC_MQ_PRIO_MAX;
    _SC_VERSION,
static const int _SC_VERSION = _SC_VERSION;
    _SC_PAGESIZE,
static const int _SC_PAGESIZE = _SC_PAGESIZE;
static const int _SC_PAGE_SIZE = _SC_PAGESIZE;
    _SC_RTSIG_MAX,
static const int _SC_RTSIG_MAX = _SC_RTSIG_MAX;
    _SC_SEM_NSEMS_MAX,
static const int _SC_SEM_NSEMS_MAX = _SC_SEM_NSEMS_MAX;
    _SC_SEM_VALUE_MAX,
static const int _SC_SEM_VALUE_MAX = _SC_SEM_VALUE_MAX;
    _SC_SIGQUEUE_MAX,
static const int _SC_SIGQUEUE_MAX = _SC_SIGQUEUE_MAX;
    _SC_TIMER_MAX,
static const int _SC_TIMER_MAX = _SC_TIMER_MAX;
    _SC_BC_BASE_MAX,
static const int _SC_BC_BASE_MAX = _SC_BC_BASE_MAX;
    _SC_BC_DIM_MAX,
static const int _SC_BC_DIM_MAX = _SC_BC_DIM_MAX;
    _SC_BC_SCALE_MAX,
static const int _SC_BC_SCALE_MAX = _SC_BC_SCALE_MAX;
    _SC_BC_STRING_MAX,
static const int _SC_BC_STRING_MAX = _SC_BC_STRING_MAX;
    _SC_COLL_WEIGHTS_MAX,
static const int _SC_COLL_WEIGHTS_MAX = _SC_COLL_WEIGHTS_MAX;
    _SC_EQUIV_CLASS_MAX,
static const int _SC_EQUIV_CLASS_MAX = _SC_EQUIV_CLASS_MAX;
    _SC_EXPR_NEST_MAX,
static const int _SC_EXPR_NEST_MAX = _SC_EXPR_NEST_MAX;
    _SC_LINE_MAX,
static const int _SC_LINE_MAX = _SC_LINE_MAX;
    _SC_RE_DUP_MAX,
static const int _SC_RE_DUP_MAX = _SC_RE_DUP_MAX;
    _SC_CHARCLASS_NAME_MAX,
static const int _SC_CHARCLASS_NAME_MAX = _SC_CHARCLASS_NAME_MAX;
    _SC_2_VERSION,
static const int _SC_2_VERSION = _SC_2_VERSION;
    _SC_2_C_BIND,
static const int _SC_2_C_BIND = _SC_2_C_BIND;
    _SC_2_C_DEV,
static const int _SC_2_C_DEV = _SC_2_C_DEV;
    _SC_2_FORT_DEV,
static const int _SC_2_FORT_DEV = _SC_2_FORT_DEV;
    _SC_2_FORT_RUN,
static const int _SC_2_FORT_RUN = _SC_2_FORT_RUN;
    _SC_2_SW_DEV,
static const int _SC_2_SW_DEV = _SC_2_SW_DEV;
    _SC_2_LOCALEDEF,
static const int _SC_2_LOCALEDEF = _SC_2_LOCALEDEF;
    _SC_PII,
static const int _SC_PII = _SC_PII;
    _SC_PII_XTI,
static const int _SC_PII_XTI = _SC_PII_XTI;
    _SC_PII_SOCKET,
static const int _SC_PII_SOCKET = _SC_PII_SOCKET;
    _SC_PII_INTERNET,
static const int _SC_PII_INTERNET = _SC_PII_INTERNET;
    _SC_PII_OSI,
static const int _SC_PII_OSI = _SC_PII_OSI;
    _SC_POLL,
static const int _SC_POLL = _SC_POLL;
    _SC_SELECT,
static const int _SC_SELECT = _SC_SELECT;
    _SC_UIO_MAXIOV,
static const int _SC_UIO_MAXIOV = _SC_UIO_MAXIOV;
    _SC_IOV_MAX = _SC_UIO_MAXIOV,
static const int _SC_IOV_MAX = _SC_IOV_MAX;
    _SC_PII_INTERNET_STREAM,
static const int _SC_PII_INTERNET_STREAM = _SC_PII_INTERNET_STREAM;
    _SC_PII_INTERNET_DGRAM,
static const int _SC_PII_INTERNET_DGRAM = _SC_PII_INTERNET_DGRAM;
    _SC_PII_OSI_COTS,
static const int _SC_PII_OSI_COTS = _SC_PII_OSI_COTS;
    _SC_PII_OSI_CLTS,
static const int _SC_PII_OSI_CLTS = _SC_PII_OSI_CLTS;
    _SC_PII_OSI_M,
static const int _SC_PII_OSI_M = _SC_PII_OSI_M;
    _SC_T_IOV_MAX,
static const int _SC_T_IOV_MAX = _SC_T_IOV_MAX;
    _SC_THREADS,
static const int _SC_THREADS = _SC_THREADS;
    _SC_THREAD_SAFE_FUNCTIONS,
static const int _SC_THREAD_SAFE_FUNCTIONS = _SC_THREAD_SAFE_FUNCTIONS;
    _SC_GETGR_R_SIZE_MAX,
static const int _SC_GETGR_R_SIZE_MAX = _SC_GETGR_R_SIZE_MAX;
    _SC_GETPW_R_SIZE_MAX,
static const int _SC_GETPW_R_SIZE_MAX = _SC_GETPW_R_SIZE_MAX;
    _SC_LOGIN_NAME_MAX,
static const int _SC_LOGIN_NAME_MAX = _SC_LOGIN_NAME_MAX;
    _SC_TTY_NAME_MAX,
static const int _SC_TTY_NAME_MAX = _SC_TTY_NAME_MAX;
    _SC_THREAD_DESTRUCTOR_ITERATIONS,
static const int _SC_THREAD_DESTRUCTOR_ITERATIONS = _SC_THREAD_DESTRUCTOR_ITERATIONS;
    _SC_THREAD_KEYS_MAX,
static const int _SC_THREAD_KEYS_MAX = _SC_THREAD_KEYS_MAX;
    _SC_THREAD_STACK_MIN,
static const int _SC_THREAD_STACK_MIN = _SC_THREAD_STACK_MIN;
    _SC_THREAD_THREADS_MAX,
static const int _SC_THREAD_THREADS_MAX = _SC_THREAD_THREADS_MAX;
    _SC_THREAD_ATTR_STACKADDR,
static const int _SC_THREAD_ATTR_STACKADDR = _SC_THREAD_ATTR_STACKADDR;
    _SC_THREAD_ATTR_STACKSIZE,
static const int _SC_THREAD_ATTR_STACKSIZE = _SC_THREAD_ATTR_STACKSIZE;
    _SC_THREAD_PRIORITY_SCHEDULING,
static const int _SC_THREAD_PRIORITY_SCHEDULING = _SC_THREAD_PRIORITY_SCHEDULING;
    _SC_THREAD_PRIO_INHERIT,
static const int _SC_THREAD_PRIO_INHERIT = _SC_THREAD_PRIO_INHERIT;
    _SC_THREAD_PRIO_PROTECT,
static const int _SC_THREAD_PRIO_PROTECT = _SC_THREAD_PRIO_PROTECT;
    _SC_THREAD_PROCESS_SHARED,
static const int _SC_THREAD_PROCESS_SHARED = _SC_THREAD_PROCESS_SHARED;
    _SC_NPROCESSORS_CONF,
static const int _SC_NPROCESSORS_CONF = _SC_NPROCESSORS_CONF;
    _SC_NPROCESSORS_ONLN,
static const int _SC_NPROCESSORS_ONLN = _SC_NPROCESSORS_ONLN;
    _SC_PHYS_PAGES,
static const int _SC_PHYS_PAGES = _SC_PHYS_PAGES;
    _SC_AVPHYS_PAGES,
static const int _SC_AVPHYS_PAGES = _SC_AVPHYS_PAGES;
    _SC_ATEXIT_MAX,
static const int _SC_ATEXIT_MAX = _SC_ATEXIT_MAX;
    _SC_PASS_MAX,
static const int _SC_PASS_MAX = _SC_PASS_MAX;
    _SC_XOPEN_VERSION,
static const int _SC_XOPEN_VERSION = _SC_XOPEN_VERSION;
    _SC_XOPEN_XCU_VERSION,
static const int _SC_XOPEN_XCU_VERSION = _SC_XOPEN_XCU_VERSION;
    _SC_XOPEN_UNIX,
static const int _SC_XOPEN_UNIX = _SC_XOPEN_UNIX;
    _SC_XOPEN_CRYPT,
static const int _SC_XOPEN_CRYPT = _SC_XOPEN_CRYPT;
    _SC_XOPEN_ENH_I18N,
static const int _SC_XOPEN_ENH_I18N = _SC_XOPEN_ENH_I18N;
    _SC_XOPEN_SHM,
static const int _SC_XOPEN_SHM = _SC_XOPEN_SHM;
    _SC_2_CHAR_TERM,
static const int _SC_2_CHAR_TERM = _SC_2_CHAR_TERM;
    _SC_2_C_VERSION,
static const int _SC_2_C_VERSION = _SC_2_C_VERSION;
    _SC_2_UPE,
static const int _SC_2_UPE = _SC_2_UPE;
    _SC_XOPEN_XPG2,
static const int _SC_XOPEN_XPG2 = _SC_XOPEN_XPG2;
    _SC_XOPEN_XPG3,
static const int _SC_XOPEN_XPG3 = _SC_XOPEN_XPG3;
    _SC_XOPEN_XPG4,
static const int _SC_XOPEN_XPG4 = _SC_XOPEN_XPG4;
    _SC_CHAR_BIT,
static const int _SC_CHAR_BIT = _SC_CHAR_BIT;
    _SC_CHAR_MAX,
static const int _SC_CHAR_MAX = _SC_CHAR_MAX;
    _SC_CHAR_MIN,
static const int _SC_CHAR_MIN = _SC_CHAR_MIN;
    _SC_INT_MAX,
static const int _SC_INT_MAX = _SC_INT_MAX;
    _SC_INT_MIN,
static const int _SC_INT_MIN = _SC_INT_MIN;
    _SC_LONG_BIT,
static const int _SC_LONG_BIT = _SC_LONG_BIT;
    _SC_WORD_BIT,
static const int _SC_WORD_BIT = _SC_WORD_BIT;
    _SC_MB_LEN_MAX,
static const int _SC_MB_LEN_MAX = _SC_MB_LEN_MAX;
    _SC_NZERO,
static const int _SC_NZERO = _SC_NZERO;
    _SC_SSIZE_MAX,
static const int _SC_SSIZE_MAX = _SC_SSIZE_MAX;
    _SC_SCHAR_MAX,
static const int _SC_SCHAR_MAX = _SC_SCHAR_MAX;
    _SC_SCHAR_MIN,
static const int _SC_SCHAR_MIN = _SC_SCHAR_MIN;
    _SC_SHRT_MAX,
static const int _SC_SHRT_MAX = _SC_SHRT_MAX;
    _SC_SHRT_MIN,
static const int _SC_SHRT_MIN = _SC_SHRT_MIN;
    _SC_UCHAR_MAX,
static const int _SC_UCHAR_MAX = _SC_UCHAR_MAX;
    _SC_UINT_MAX,
static const int _SC_UINT_MAX = _SC_UINT_MAX;
    _SC_ULONG_MAX,
static const int _SC_ULONG_MAX = _SC_ULONG_MAX;
    _SC_USHRT_MAX,
static const int _SC_USHRT_MAX = _SC_USHRT_MAX;
    _SC_NL_ARGMAX,
static const int _SC_NL_ARGMAX = _SC_NL_ARGMAX;
    _SC_NL_LANGMAX,
static const int _SC_NL_LANGMAX = _SC_NL_LANGMAX;
    _SC_NL_MSGMAX,
static const int _SC_NL_MSGMAX = _SC_NL_MSGMAX;
    _SC_NL_NMAX,
static const int _SC_NL_NMAX = _SC_NL_NMAX;
    _SC_NL_SETMAX,
static const int _SC_NL_SETMAX = _SC_NL_SETMAX;
    _SC_NL_TEXTMAX,
static const int _SC_NL_TEXTMAX = _SC_NL_TEXTMAX;
    _SC_XBS5_ILP32_OFF32,
static const int _SC_XBS5_ILP32_OFF32 = _SC_XBS5_ILP32_OFF32;
    _SC_XBS5_ILP32_OFFBIG,
static const int _SC_XBS5_ILP32_OFFBIG = _SC_XBS5_ILP32_OFFBIG;
    _SC_XBS5_LP64_OFF64,
static const int _SC_XBS5_LP64_OFF64 = _SC_XBS5_LP64_OFF64;
    _SC_XBS5_LPBIG_OFFBIG,
static const int _SC_XBS5_LPBIG_OFFBIG = _SC_XBS5_LPBIG_OFFBIG;
    _SC_XOPEN_LEGACY,
static const int _SC_XOPEN_LEGACY = _SC_XOPEN_LEGACY;
    _SC_XOPEN_REALTIME,
static const int _SC_XOPEN_REALTIME = _SC_XOPEN_REALTIME;
    _SC_XOPEN_REALTIME_THREADS,
static const int _SC_XOPEN_REALTIME_THREADS = _SC_XOPEN_REALTIME_THREADS;
    _SC_ADVISORY_INFO,
static const int _SC_ADVISORY_INFO = _SC_ADVISORY_INFO;
    _SC_BARRIERS,
static const int _SC_BARRIERS = _SC_BARRIERS;
    _SC_BASE,
static const int _SC_BASE = _SC_BASE;
    _SC_C_LANG_SUPPORT,
static const int _SC_C_LANG_SUPPORT = _SC_C_LANG_SUPPORT;
    _SC_C_LANG_SUPPORT_R,
static const int _SC_C_LANG_SUPPORT_R = _SC_C_LANG_SUPPORT_R;
    _SC_CLOCK_SELECTION,
static const int _SC_CLOCK_SELECTION = _SC_CLOCK_SELECTION;
    _SC_CPUTIME,
static const int _SC_CPUTIME = _SC_CPUTIME;
    _SC_THREAD_CPUTIME,
static const int _SC_THREAD_CPUTIME = _SC_THREAD_CPUTIME;
    _SC_DEVICE_IO,
static const int _SC_DEVICE_IO = _SC_DEVICE_IO;
    _SC_DEVICE_SPECIFIC,
static const int _SC_DEVICE_SPECIFIC = _SC_DEVICE_SPECIFIC;
    _SC_DEVICE_SPECIFIC_R,
static const int _SC_DEVICE_SPECIFIC_R = _SC_DEVICE_SPECIFIC_R;
    _SC_FD_MGMT,
static const int _SC_FD_MGMT = _SC_FD_MGMT;
    _SC_FIFO,
static const int _SC_FIFO = _SC_FIFO;
    _SC_PIPE,
static const int _SC_PIPE = _SC_PIPE;
    _SC_FILE_ATTRIBUTES,
static const int _SC_FILE_ATTRIBUTES = _SC_FILE_ATTRIBUTES;
    _SC_FILE_LOCKING,
static const int _SC_FILE_LOCKING = _SC_FILE_LOCKING;
    _SC_FILE_SYSTEM,
static const int _SC_FILE_SYSTEM = _SC_FILE_SYSTEM;
    _SC_MONOTONIC_CLOCK,
static const int _SC_MONOTONIC_CLOCK = _SC_MONOTONIC_CLOCK;
    _SC_MULTI_PROCESS,
static const int _SC_MULTI_PROCESS = _SC_MULTI_PROCESS;
    _SC_SINGLE_PROCESS,
static const int _SC_SINGLE_PROCESS = _SC_SINGLE_PROCESS;
    _SC_NETWORKING,
static const int _SC_NETWORKING = _SC_NETWORKING;
    _SC_READER_WRITER_LOCKS,
static const int _SC_READER_WRITER_LOCKS = _SC_READER_WRITER_LOCKS;
    _SC_SPIN_LOCKS,
static const int _SC_SPIN_LOCKS = _SC_SPIN_LOCKS;
    _SC_REGEXP,
static const int _SC_REGEXP = _SC_REGEXP;
    _SC_REGEX_VERSION,
static const int _SC_REGEX_VERSION = _SC_REGEX_VERSION;
    _SC_SHELL,
static const int _SC_SHELL = _SC_SHELL;
    _SC_SIGNALS,
static const int _SC_SIGNALS = _SC_SIGNALS;
    _SC_SPAWN,
static const int _SC_SPAWN = _SC_SPAWN;
    _SC_SPORADIC_SERVER,
static const int _SC_SPORADIC_SERVER = _SC_SPORADIC_SERVER;
    _SC_THREAD_SPORADIC_SERVER,
static const int _SC_THREAD_SPORADIC_SERVER = _SC_THREAD_SPORADIC_SERVER;
    _SC_SYSTEM_DATABASE,
static const int _SC_SYSTEM_DATABASE = _SC_SYSTEM_DATABASE;
    _SC_SYSTEM_DATABASE_R,
static const int _SC_SYSTEM_DATABASE_R = _SC_SYSTEM_DATABASE_R;
    _SC_TIMEOUTS,
static const int _SC_TIMEOUTS = _SC_TIMEOUTS;
    _SC_TYPED_MEMORY_OBJECTS,
static const int _SC_TYPED_MEMORY_OBJECTS = _SC_TYPED_MEMORY_OBJECTS;
    _SC_USER_GROUPS,
static const int _SC_USER_GROUPS = _SC_USER_GROUPS;
    _SC_USER_GROUPS_R,
static const int _SC_USER_GROUPS_R = _SC_USER_GROUPS_R;
    _SC_2_PBS,
static const int _SC_2_PBS = _SC_2_PBS;
    _SC_2_PBS_ACCOUNTING,
static const int _SC_2_PBS_ACCOUNTING = _SC_2_PBS_ACCOUNTING;
    _SC_2_PBS_LOCATE,
static const int _SC_2_PBS_LOCATE = _SC_2_PBS_LOCATE;
    _SC_2_PBS_MESSAGE,
static const int _SC_2_PBS_MESSAGE = _SC_2_PBS_MESSAGE;
    _SC_2_PBS_TRACK,
static const int _SC_2_PBS_TRACK = _SC_2_PBS_TRACK;
    _SC_SYMLOOP_MAX,
static const int _SC_SYMLOOP_MAX = _SC_SYMLOOP_MAX;
    _SC_STREAMS,
static const int _SC_STREAMS = _SC_STREAMS;
    _SC_2_PBS_CHECKPOINT,
static const int _SC_2_PBS_CHECKPOINT = _SC_2_PBS_CHECKPOINT;
    _SC_V6_ILP32_OFF32,
static const int _SC_V6_ILP32_OFF32 = _SC_V6_ILP32_OFF32;
    _SC_V6_ILP32_OFFBIG,
static const int _SC_V6_ILP32_OFFBIG = _SC_V6_ILP32_OFFBIG;
    _SC_V6_LP64_OFF64,
static const int _SC_V6_LP64_OFF64 = _SC_V6_LP64_OFF64;
    _SC_V6_LPBIG_OFFBIG,
static const int _SC_V6_LPBIG_OFFBIG = _SC_V6_LPBIG_OFFBIG;
    _SC_HOST_NAME_MAX,
static const int _SC_HOST_NAME_MAX = _SC_HOST_NAME_MAX;
    _SC_TRACE,
static const int _SC_TRACE = _SC_TRACE;
    _SC_TRACE_EVENT_FILTER,
static const int _SC_TRACE_EVENT_FILTER = _SC_TRACE_EVENT_FILTER;
    _SC_TRACE_INHERIT,
static const int _SC_TRACE_INHERIT = _SC_TRACE_INHERIT;
    _SC_TRACE_LOG,
static const int _SC_TRACE_LOG = _SC_TRACE_LOG;
    _SC_LEVEL1_ICACHE_SIZE,
static const int _SC_LEVEL1_ICACHE_SIZE = _SC_LEVEL1_ICACHE_SIZE;
    _SC_LEVEL1_ICACHE_ASSOC,
static const int _SC_LEVEL1_ICACHE_ASSOC = _SC_LEVEL1_ICACHE_ASSOC;
    _SC_LEVEL1_ICACHE_LINESIZE,
static const int _SC_LEVEL1_ICACHE_LINESIZE = _SC_LEVEL1_ICACHE_LINESIZE;
    _SC_LEVEL1_DCACHE_SIZE,
static const int _SC_LEVEL1_DCACHE_SIZE = _SC_LEVEL1_DCACHE_SIZE;
    _SC_LEVEL1_DCACHE_ASSOC,
static const int _SC_LEVEL1_DCACHE_ASSOC = _SC_LEVEL1_DCACHE_ASSOC;
    _SC_LEVEL1_DCACHE_LINESIZE,
static const int _SC_LEVEL1_DCACHE_LINESIZE = _SC_LEVEL1_DCACHE_LINESIZE;
    _SC_LEVEL2_CACHE_SIZE,
static const int _SC_LEVEL2_CACHE_SIZE = _SC_LEVEL2_CACHE_SIZE;
    _SC_LEVEL2_CACHE_ASSOC,
static const int _SC_LEVEL2_CACHE_ASSOC = _SC_LEVEL2_CACHE_ASSOC;
    _SC_LEVEL2_CACHE_LINESIZE,
static const int _SC_LEVEL2_CACHE_LINESIZE = _SC_LEVEL2_CACHE_LINESIZE;
    _SC_LEVEL3_CACHE_SIZE,
static const int _SC_LEVEL3_CACHE_SIZE = _SC_LEVEL3_CACHE_SIZE;
    _SC_LEVEL3_CACHE_ASSOC,
static const int _SC_LEVEL3_CACHE_ASSOC = _SC_LEVEL3_CACHE_ASSOC;
    _SC_LEVEL3_CACHE_LINESIZE,
static const int _SC_LEVEL3_CACHE_LINESIZE = _SC_LEVEL3_CACHE_LINESIZE;
    _SC_LEVEL4_CACHE_SIZE,
static const int _SC_LEVEL4_CACHE_SIZE = _SC_LEVEL4_CACHE_SIZE;
    _SC_LEVEL4_CACHE_ASSOC,
static const int _SC_LEVEL4_CACHE_ASSOC = _SC_LEVEL4_CACHE_ASSOC;
    _SC_LEVEL4_CACHE_LINESIZE,
static const int _SC_LEVEL4_CACHE_LINESIZE = _SC_LEVEL4_CACHE_LINESIZE;
    _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
static const int _SC_IPV6 = _SC_IPV6;
    _SC_RAW_SOCKETS,
static const int _SC_RAW_SOCKETS = _SC_RAW_SOCKETS;
    _SC_V7_ILP32_OFF32,
static const int _SC_V7_ILP32_OFF32 = _SC_V7_ILP32_OFF32;
    _SC_V7_ILP32_OFFBIG,
static const int _SC_V7_ILP32_OFFBIG = _SC_V7_ILP32_OFFBIG;
    _SC_V7_LP64_OFF64,
static const int _SC_V7_LP64_OFF64 = _SC_V7_LP64_OFF64;
    _SC_V7_LPBIG_OFFBIG,
static const int _SC_V7_LPBIG_OFFBIG = _SC_V7_LPBIG_OFFBIG;
    _SC_SS_REPL_MAX,
static const int _SC_SS_REPL_MAX = _SC_SS_REPL_MAX;
    _SC_TRACE_EVENT_NAME_MAX,
static const int _SC_TRACE_EVENT_NAME_MAX = _SC_TRACE_EVENT_NAME_MAX;
    _SC_TRACE_NAME_MAX,
static const int _SC_TRACE_NAME_MAX = _SC_TRACE_NAME_MAX;
    _SC_TRACE_SYS_MAX,
static const int _SC_TRACE_SYS_MAX = _SC_TRACE_SYS_MAX;
    _SC_TRACE_USER_EVENT_MAX,
static const int _SC_TRACE_USER_EVENT_MAX = _SC_TRACE_USER_EVENT_MAX;
    _SC_XOPEN_STREAMS,
static const int _SC_XOPEN_STREAMS = _SC_XOPEN_STREAMS;
    _SC_THREAD_ROBUST_PRIO_INHERIT,
static const int _SC_THREAD_ROBUST_PRIO_INHERIT = _SC_THREAD_ROBUST_PRIO_INHERIT;
    _SC_THREAD_ROBUST_PRIO_PROTECT
static const int _SC_THREAD_ROBUST_PRIO_PROTECT = _SC_THREAD_ROBUST_PRIO_PROTECT;
  };
enum
  {
    _CS_PATH,
static const int _CS_PATH = _CS_PATH;
    _CS_V6_WIDTH_RESTRICTED_ENVS,
static const int _CS_V6_WIDTH_RESTRICTED_ENVS = _CS_V6_WIDTH_RESTRICTED_ENVS;
static const int _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = _CS_V6_WIDTH_RESTRICTED_ENVS;
    _CS_GNU_LIBC_VERSION,
static const int _CS_GNU_LIBC_VERSION = _CS_GNU_LIBC_VERSION;
    _CS_GNU_LIBPTHREAD_VERSION,
static const int _CS_GNU_LIBPTHREAD_VERSION = _CS_GNU_LIBPTHREAD_VERSION;
    _CS_V5_WIDTH_RESTRICTED_ENVS,
static const int _CS_V5_WIDTH_RESTRICTED_ENVS = _CS_V5_WIDTH_RESTRICTED_ENVS;
static const int _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = _CS_V5_WIDTH_RESTRICTED_ENVS;
    _CS_V7_WIDTH_RESTRICTED_ENVS,
static const int _CS_V7_WIDTH_RESTRICTED_ENVS = _CS_V7_WIDTH_RESTRICTED_ENVS;
static const int _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = _CS_V7_WIDTH_RESTRICTED_ENVS;
    _CS_LFS_CFLAGS = 1000,
static const int _CS_LFS_CFLAGS = _CS_LFS_CFLAGS;
    _CS_LFS_LDFLAGS,
static const int _CS_LFS_LDFLAGS = _CS_LFS_LDFLAGS;
    _CS_LFS_LIBS,
static const int _CS_LFS_LIBS = _CS_LFS_LIBS;
    _CS_LFS_LINTFLAGS,
static const int _CS_LFS_LINTFLAGS = _CS_LFS_LINTFLAGS;
    _CS_LFS64_CFLAGS,
static const int _CS_LFS64_CFLAGS = _CS_LFS64_CFLAGS;
    _CS_LFS64_LDFLAGS,
static const int _CS_LFS64_LDFLAGS = _CS_LFS64_LDFLAGS;
    _CS_LFS64_LIBS,
static const int _CS_LFS64_LIBS = _CS_LFS64_LIBS;
    _CS_LFS64_LINTFLAGS,
static const int _CS_LFS64_LINTFLAGS = _CS_LFS64_LINTFLAGS;
    _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
static const int _CS_XBS5_ILP32_OFF32_CFLAGS = _CS_XBS5_ILP32_OFF32_CFLAGS;
    _CS_XBS5_ILP32_OFF32_LDFLAGS,
static const int _CS_XBS5_ILP32_OFF32_LDFLAGS = _CS_XBS5_ILP32_OFF32_LDFLAGS;
    _CS_XBS5_ILP32_OFF32_LIBS,
static const int _CS_XBS5_ILP32_OFF32_LIBS = _CS_XBS5_ILP32_OFF32_LIBS;
    _CS_XBS5_ILP32_OFF32_LINTFLAGS,
static const int _CS_XBS5_ILP32_OFF32_LINTFLAGS = _CS_XBS5_ILP32_OFF32_LINTFLAGS;
    _CS_XBS5_ILP32_OFFBIG_CFLAGS,
static const int _CS_XBS5_ILP32_OFFBIG_CFLAGS = _CS_XBS5_ILP32_OFFBIG_CFLAGS;
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
static const int _CS_XBS5_ILP32_OFFBIG_LDFLAGS = _CS_XBS5_ILP32_OFFBIG_LDFLAGS;
    _CS_XBS5_ILP32_OFFBIG_LIBS,
static const int _CS_XBS5_ILP32_OFFBIG_LIBS = _CS_XBS5_ILP32_OFFBIG_LIBS;
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
static const int _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = _CS_XBS5_ILP32_OFFBIG_LINTFLAGS;
    _CS_XBS5_LP64_OFF64_CFLAGS,
static const int _CS_XBS5_LP64_OFF64_CFLAGS = _CS_XBS5_LP64_OFF64_CFLAGS;
    _CS_XBS5_LP64_OFF64_LDFLAGS,
static const int _CS_XBS5_LP64_OFF64_LDFLAGS = _CS_XBS5_LP64_OFF64_LDFLAGS;
    _CS_XBS5_LP64_OFF64_LIBS,
static const int _CS_XBS5_LP64_OFF64_LIBS = _CS_XBS5_LP64_OFF64_LIBS;
    _CS_XBS5_LP64_OFF64_LINTFLAGS,
static const int _CS_XBS5_LP64_OFF64_LINTFLAGS = _CS_XBS5_LP64_OFF64_LINTFLAGS;
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
static const int _CS_XBS5_LPBIG_OFFBIG_CFLAGS = _CS_XBS5_LPBIG_OFFBIG_CFLAGS;
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
static const int _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = _CS_XBS5_LPBIG_OFFBIG_LDFLAGS;
    _CS_XBS5_LPBIG_OFFBIG_LIBS,
static const int _CS_XBS5_LPBIG_OFFBIG_LIBS = _CS_XBS5_LPBIG_OFFBIG_LIBS;
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
static const int _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS;
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
static const int _CS_POSIX_V6_ILP32_OFF32_CFLAGS = _CS_POSIX_V6_ILP32_OFF32_CFLAGS;
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
static const int _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = _CS_POSIX_V6_ILP32_OFF32_LDFLAGS;
    _CS_POSIX_V6_ILP32_OFF32_LIBS,
static const int _CS_POSIX_V6_ILP32_OFF32_LIBS = _CS_POSIX_V6_ILP32_OFF32_LIBS;
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
static const int _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS;
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
static const int _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS;
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
static const int _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS;
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
static const int _CS_POSIX_V6_ILP32_OFFBIG_LIBS = _CS_POSIX_V6_ILP32_OFFBIG_LIBS;
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
static const int _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS;
    _CS_POSIX_V6_LP64_OFF64_CFLAGS,
static const int _CS_POSIX_V6_LP64_OFF64_CFLAGS = _CS_POSIX_V6_LP64_OFF64_CFLAGS;
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
static const int _CS_POSIX_V6_LP64_OFF64_LDFLAGS = _CS_POSIX_V6_LP64_OFF64_LDFLAGS;
    _CS_POSIX_V6_LP64_OFF64_LIBS,
static const int _CS_POSIX_V6_LP64_OFF64_LIBS = _CS_POSIX_V6_LP64_OFF64_LIBS;
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
static const int _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = _CS_POSIX_V6_LP64_OFF64_LINTFLAGS;
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
static const int _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS;
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
static const int _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS;
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
static const int _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = _CS_POSIX_V6_LPBIG_OFFBIG_LIBS;
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
static const int _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS;
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
static const int _CS_POSIX_V7_ILP32_OFF32_CFLAGS = _CS_POSIX_V7_ILP32_OFF32_CFLAGS;
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
static const int _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = _CS_POSIX_V7_ILP32_OFF32_LDFLAGS;
    _CS_POSIX_V7_ILP32_OFF32_LIBS,
static const int _CS_POSIX_V7_ILP32_OFF32_LIBS = _CS_POSIX_V7_ILP32_OFF32_LIBS;
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
static const int _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS;
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
static const int _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS;
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
static const int _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS;
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
static const int _CS_POSIX_V7_ILP32_OFFBIG_LIBS = _CS_POSIX_V7_ILP32_OFFBIG_LIBS;
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
static const int _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS;
    _CS_POSIX_V7_LP64_OFF64_CFLAGS,
static const int _CS_POSIX_V7_LP64_OFF64_CFLAGS = _CS_POSIX_V7_LP64_OFF64_CFLAGS;
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
static const int _CS_POSIX_V7_LP64_OFF64_LDFLAGS = _CS_POSIX_V7_LP64_OFF64_LDFLAGS;
    _CS_POSIX_V7_LP64_OFF64_LIBS,
static const int _CS_POSIX_V7_LP64_OFF64_LIBS = _CS_POSIX_V7_LP64_OFF64_LIBS;
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
static const int _CS_POSIX_V7_LP64_OFF64_LINTFLAGS = _CS_POSIX_V7_LP64_OFF64_LINTFLAGS;
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
static const int _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS;
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
static const int _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS;
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
static const int _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = _CS_POSIX_V7_LPBIG_OFFBIG_LIBS;
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
static const int _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS;
    _CS_V6_ENV,
static const int _CS_V6_ENV = _CS_V6_ENV;
    _CS_V7_ENV
static const int _CS_V7_ENV = _CS_V7_ENV;
  };
extern long int pathconf (__const char *__path, int __name)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ , __leaf__));
extern long int sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__));
extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern __pid_t getpid (void) __attribute__ ((__nothrow__ , __leaf__));
extern __pid_t getppid (void) __attribute__ ((__nothrow__ , __leaf__));
extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ , __leaf__));
extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ , __leaf__));
extern int setpgrp (void) __attribute__ ((__nothrow__ , __leaf__));
extern __pid_t setsid (void) __attribute__ ((__nothrow__ , __leaf__));
extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
extern __uid_t getuid (void) __attribute__ ((__nothrow__ , __leaf__));
extern __uid_t geteuid (void) __attribute__ ((__nothrow__ , __leaf__));
extern __gid_t getgid (void) __attribute__ ((__nothrow__ , __leaf__));
extern __gid_t getegid (void) __attribute__ ((__nothrow__ , __leaf__));
extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__));
extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ , __leaf__));
extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__));
extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__));
extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ , __leaf__));
extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__));
extern __pid_t fork (void) __attribute__ ((__nothrow__));
extern __pid_t vfork (void) __attribute__ ((__nothrow__ , __leaf__));
extern char *ttyname (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ;
extern int isatty (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int ttyslot (void) __attribute__ ((__nothrow__ , __leaf__));
extern int link (__const char *__from, __const char *__to)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ;
extern int linkat (int __fromfd, __const char *__from, int __tofd,
     __const char *__to, int __flags)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) ;
extern int symlink (__const char *__from, __const char *__to)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ;
extern ssize_t readlink (__const char *__restrict __path,
    char *__restrict __buf, size_t __len)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ;
extern int symlinkat (__const char *__from, int __tofd,
        __const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) ;
extern ssize_t readlinkat (int __fd, __const char *__restrict __path,
      char *__restrict __buf, size_t __len)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) ;
extern int unlink (__const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int unlinkat (int __fd, __const char *__name, int __flag)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int rmdir (__const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ , __leaf__));
extern char *getlogin (void);
extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
extern int setlogin (__const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern char *optarg;
extern int optind;
extern int opterr;
extern int optopt;
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
       __attribute__ ((__nothrow__ , __leaf__));
extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sethostname (__const char *__name, size_t __len)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int sethostid (long int __id) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int getdomainname (char *__name, size_t __len)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int setdomainname (__const char *__name, size_t __len)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int vhangup (void) __attribute__ ((__nothrow__ , __leaf__));
extern int revoke (__const char *__file) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int profil (unsigned short int *__sample_buffer, size_t __size,
     size_t __offset, unsigned int __scale)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int acct (__const char *__name) __attribute__ ((__nothrow__ , __leaf__));
extern char *getusershell (void) __attribute__ ((__nothrow__ , __leaf__));
extern void endusershell (void) __attribute__ ((__nothrow__ , __leaf__));
extern void setusershell (void) __attribute__ ((__nothrow__ , __leaf__));
extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int chroot (__const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1)));
extern int fsync (int __fd);
extern long int gethostid (void);
extern void sync (void) __attribute__ ((__nothrow__ , __leaf__));
extern int getpagesize (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern int getdtablesize (void) __attribute__ ((__nothrow__ , __leaf__));
extern int truncate (__const char *__file, __off_t __length)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int brk (void *__addr) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ , __leaf__));
extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ , __leaf__));
static const int F_ULOCK = 0;
static const int F_LOCK = 1;
static const int F_TLOCK = 2;
static const int F_TEST = 3;
extern int lockf (int __fd, int __cmd, __off_t __len) ;
extern int fdatasync (int __fildes);
extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__));

// *** 2. stdio.h ***
static const int _STDIO_H = 1;
typedef unsigned int size_t;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
struct _IO_FILE;
typedef struct _IO_FILE FILE;
static const int __FILE_defined = 1;
typedef struct _IO_FILE __FILE;
static const int ____FILE_defined = 1;
static const int _G_config_h = 1;
static const int __mbstate_t_defined = 1;
typedef struct
{
  int __count;
  union
  {
    unsigned int __wch;
    char __wchb[4];
  } __value;
} __mbstate_t;
static const int _G_size_t = size_t;
typedef struct
{
  __off_t __pos;
  __mbstate_t __state;
} _G_fpos_t;
typedef struct
{
  __off64_t __pos;
  __mbstate_t __state;
} _G_fpos64_t;
static const int _G_ssize_t = __ssize_t;
static const int _G_off_t = __off_t;
static const int _G_off64_t = __off64_t;
static const int _G_pid_t = __pid_t;
static const int _G_uid_t = __uid_t;
static const int _G_wchar_t = wchar_t;
static const int _G_wint_t = wint_t;
static const int _G_stat64 = stat64;
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
static const int _G_HAVE_BOOL = 1;
static const int _G_HAVE_ATEXIT = 1;
static const int _G_HAVE_SYS_CDEFS = 1;
static const int _G_HAVE_SYS_WAIT = 1;
static const int _G_NEED_STDARG_H = 1;
static const int _G_va_list = __gnuc_va_list;
static const int _G_HAVE_PRINTF_FP = 1;
static const int _G_HAVE_MMAP = 1;
static const int _G_HAVE_MREMAP = 1;
static const int _G_HAVE_LONG_DOUBLE_IO = 1;
static const int _G_HAVE_IO_FILE_OPEN = 1;
static const int _G_HAVE_IO_GETLINE_INFO = 1;
static const int _G_IO_IO_FILE_VERSION = 0x20001;
static const int _G_OPEN64 = __open64;
static const int _G_LSEEK64 = __lseek64;
static const int _G_MMAP64 = __mmap64;
static const int _G_FSTAT64(fd,buf) = __fxstat64 (_STAT_VER, fd, buf);
static const int _G_HAVE_ST_BLKSIZE = defined (_STATBUF_ST_BLKSIZE);
static const int _G_BUFSIZ = 8192;
static const int _G_NAMES_HAVE_UNDERSCORE = 0;
static const int _G_VTABLE_LABEL_HAS_LENGTH = 1;
static const int _G_USING_THUNKS = 1;
static const char _G_VTABLE_LABEL_PREFIX = "__vt_";
static const int _G_VTABLE_LABEL_PREFIX_ID = __vt_;
static const int _G_ARGS(ARGLIST) = ARGLIST;
static const int _IO_pos_t = _G_fpos_t;
static const int _IO_fpos_t = _G_fpos_t;
static const int _IO_fpos64_t = _G_fpos64_t;
static const int _IO_size_t = _G_size_t;
static const int _IO_ssize_t = _G_ssize_t;
static const int _IO_off_t = _G_off_t;
static const int _IO_off64_t = _G_off64_t;
static const int _IO_pid_t = _G_pid_t;
static const int _IO_uid_t = _G_uid_t;
static const int _IO_iconv_t = _G_iconv_t;
static const int _IO_HAVE_SYS_WAIT = _G_HAVE_SYS_WAIT;
static const int _IO_HAVE_ST_BLKSIZE = _G_HAVE_ST_BLKSIZE;
static const int _IO_BUFSIZ = _G_BUFSIZ;
static const int _IO_va_list = _G_va_list;
static const int _IO_wint_t = _G_wint_t;
typedef __builtin_va_list __gnuc_va_list;
static const int _IO_va_list = __gnuc_va_list;
static const int _PARAMS(protos) = __P(protos);
static const int _IO_UNIFIED_JUMPTABLES = 1;
static const int EOF = (-1);
static const int _IOS_INPUT = 1;
static const int _IOS_OUTPUT = 2;
static const int _IOS_ATEND = 4;
static const int _IOS_APPEND = 8;
static const int _IOS_TRUNC = 16;
static const int _IOS_NOCREATE = 32;
static const int _IOS_NOREPLACE = 64;
static const int _IOS_BIN = 128;
static const int _IO_MAGIC = 0xFBAD0000;
static const int _OLD_STDIO_MAGIC = 0xFABC0000;
static const int _IO_MAGIC_MASK = 0xFFFF0000;
static const int _IO_USER_BUF = 1;
static const int _IO_UNBUFFERED = 2;
static const int _IO_NO_READS = 4;
static const int _IO_NO_WRITES = 8;
static const int _IO_EOF_SEEN = 0x10;
static const int _IO_ERR_SEEN = 0x20;
static const int _IO_DELETE_DONT_CLOSE = 0x40;
static const int _IO_LINKED = 0x80;
static const int _IO_IN_BACKUP = 0x100;
static const int _IO_LINE_BUF = 0x200;
static const int _IO_TIED_PUT_GET = 0x400;
static const int _IO_CURRENTLY_PUTTING = 0x800;
static const int _IO_IS_APPENDING = 0x1000;
static const int _IO_IS_FILEBUF = 0x2000;
static const int _IO_BAD_SEEN = 0x4000;
static const int _IO_USER_LOCK = 0x8000;
static const int _IO_FLAGS2_MMAP = 1;
static const int _IO_FLAGS2_NOTCANCEL = 2;
static const int _IO_FLAGS2_USER_WBUF = 8;
static const int _IO_SKIPWS = 01;
static const int _IO_LEFT = 02;
static const int _IO_RIGHT = 04;
static const int _IO_INTERNAL = 010;
static const int _IO_DEC = 020;
static const int _IO_OCT = 040;
static const int _IO_HEX = 0100;
static const int _IO_SHOWBASE = 0200;
static const int _IO_SHOWPOINT = 0400;
static const int _IO_UPPERCASE = 01000;
static const int _IO_SHOWPOS = 02000;
static const int _IO_SCIENTIFIC = 04000;
static const int _IO_FIXED = 010000;
static const int _IO_UNITBUF = 020000;
static const int _IO_STDIO = 040000;
static const int _IO_DONT_CLOSE = 0100000;
static const int _IO_BOOLALPHA = 0200000;
struct _IO_jump_t; struct _IO_FILE;
typedef void _IO_lock_t;
struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;
  int _pos;
};
enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};
struct _IO_FILE {
  int _flags;
static const int _IO_file_flags = _flags;
  char* _IO_read_ptr;
  char* _IO_read_end;
  char* _IO_read_base;
  char* _IO_write_base;
  char* _IO_write_ptr;
  char* _IO_write_end;
  char* _IO_buf_base;
  char* _IO_buf_end;
  char *_IO_save_base;
  char *_IO_backup_base;
  char *_IO_save_end;
  struct _IO_marker *_markers;
  struct _IO_FILE *_chain;
  int _fileno;
  int _flags2;
  __off_t _old_offset;
  unsigned short _cur_column;
  signed char _vtable_offset;
  char _shortbuf[1];
  _IO_lock_t *_lock;
  __off64_t _offset;
  void *__pad1;
  void *__pad2;
  void *__pad3;
  void *__pad4;
  size_t __pad5;
  int _mode;
  char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
};
typedef struct _IO_FILE _IO_FILE;
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
static const int _IO_stdin = ((_IO_FILE*)(&_IO_2_1_stdin_));
static const int _IO_stdout = ((_IO_FILE*)(&_IO_2_1_stdout_));
static const int _IO_stderr = ((_IO_FILE*)(&_IO_2_1_stderr_));
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
     size_t __n);
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
extern int __underflow (_IO_FILE *);
extern int __uflow (_IO_FILE *);
extern int __overflow (_IO_FILE *, int);
static const int _IO_BE(expr,res) = __builtin_expect ((expr), res);
static const int _IO_getc_unlocked(_fp) = (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++);
static const int _IO_peekc_unlocked(_fp) = (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) && __underflow (_fp) == EOF ? EOF : *(unsigned char *) (_fp)->_IO_read_ptr);
static const int _IO_putc_unlocked(_ch,_fp) = (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)));
static const int _IO_feof_unlocked(__fp) = (((__fp)->_flags & _IO_EOF_SEEN) != 0);
static const int _IO_ferror_unlocked(__fp) = (((__fp)->_flags & _IO_ERR_SEEN) != 0);
extern int _IO_getc (_IO_FILE *__fp);
extern int _IO_putc (int __c, _IO_FILE *__fp);
extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__));
extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__));
extern int _IO_peekc_locked (_IO_FILE *__fp);
static const int _IO_PENDING_OUTPUT_COUNT(_fp) = ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base);
extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
static const int _IO_peekc(_fp) = _IO_peekc_unlocked (_fp);
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
   __gnuc_va_list, int *__restrict);
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
    __gnuc_va_list);
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
typedef __gnuc_va_list va_list;
typedef __off_t off_t;
typedef __ssize_t ssize_t;
typedef _G_fpos_t fpos_t;
static const int _IOFBF = 0;
static const int _IOLBF = 1;
static const int _IONBF = 2;
static const int BUFSIZ = _IO_BUFSIZ;
static const char P_tmpdir = "/tmp";
static const int L_tmpnam = 20;
static const int TMP_MAX = 238328;
static const int FILENAME_MAX = 4096;
static const int L_ctermid = 9;
static const int FOPEN_MAX = 16;
extern struct _IO_FILE *stdin;
extern struct _IO_FILE *stdout;
extern struct _IO_FILE *stderr;
static const int stdin = stdin;
static const int stdout = stdout;
static const int stderr = stderr;
extern int remove (__const char *__filename) __attribute__ ((__nothrow__ , __leaf__));
extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__ , __leaf__));
extern int renameat (int __oldfd, __const char *__old, int __newfd,
       __const char *__new) __attribute__ ((__nothrow__ , __leaf__));
extern FILE *tmpfile (void) ;
extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ;
extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ;
extern char *tempnam (__const char *__dir, __const char *__pfx)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
extern int fclose (FILE *__stream);
extern int fflush (FILE *__stream);
extern int fflush_unlocked (FILE *__stream);
extern FILE *fopen (__const char *__restrict __filename,
      __const char *__restrict __modes) ;
extern FILE *freopen (__const char *__restrict __filename,
        __const char *__restrict __modes,
        FILE *__restrict __stream) ;
extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) ;
extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
  __attribute__ ((__nothrow__ , __leaf__)) ;
extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
      int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__));
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
         size_t __size) __attribute__ ((__nothrow__ , __leaf__));
extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
extern int fprintf (FILE *__restrict __stream,
      __const char *__restrict __format, ...);
extern int printf (__const char *__restrict __format, ...);
extern int sprintf (char *__restrict __s,
      __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
       __gnuc_va_list __arg);
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
       __gnuc_va_list __arg) __attribute__ ((__nothrow__));
extern int snprintf (char *__restrict __s, size_t __maxlen,
       __const char *__restrict __format, ...)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
        __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
extern int vdprintf (int __fd, __const char *__restrict __fmt,
       __gnuc_va_list __arg)
     __attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
     __attribute__ ((__format__ (__printf__, 2, 3)));
extern int fscanf (FILE *__restrict __stream,
     __const char *__restrict __format, ...) ;
extern int scanf (__const char *__restrict __format, ...) ;
extern int sscanf (__const char *__restrict __s,
     __const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__));
extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") ;
extern int scanf (__const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") ;
extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__));
extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
      __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 2, 0))) ;
extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
extern int vsscanf (__const char *__restrict __s,
      __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
     __attribute__ ((__format__ (__scanf__, 2, 0))) ;
extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__))
     __attribute__ ((__format__ (__scanf__, 2, 0)));
extern int fgetc (FILE *__stream);
extern int getc (FILE *__stream);
extern int getchar (void);
static const int getc(_fp) = _IO_getc (_fp);
extern int getc_unlocked (FILE *__stream);
extern int getchar_unlocked (void);
extern int fgetc_unlocked (FILE *__stream);
extern int fputc (int __c, FILE *__stream);
extern int putc (int __c, FILE *__stream);
extern int putchar (int __c);
static const int putc(_ch,_fp) = _IO_putc (_ch, _fp);
extern int fputc_unlocked (int __c, FILE *__stream);
extern int putc_unlocked (int __c, FILE *__stream);
extern int putchar_unlocked (int __c);
extern int getw (FILE *__stream);
extern int putw (int __w, FILE *__stream);
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
     ;
extern char *gets (char *__s) ;
extern __ssize_t __getdelim (char **__restrict __lineptr,
          size_t *__restrict __n, int __delimiter,
          FILE *__restrict __stream) ;
extern __ssize_t getdelim (char **__restrict __lineptr,
        size_t *__restrict __n, int __delimiter,
        FILE *__restrict __stream) ;
extern __ssize_t getline (char **__restrict __lineptr,
       size_t *__restrict __n,
       FILE *__restrict __stream) ;
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
extern int puts (__const char *__s);
extern int ungetc (int __c, FILE *__stream);
extern size_t fread (void *__restrict __ptr, size_t __size,
       size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
        size_t __n, FILE *__restrict __s);
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
         size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
          size_t __n, FILE *__restrict __stream);
extern int fseek (FILE *__stream, long int __off, int __whence);
extern long int ftell (FILE *__stream) ;
extern void rewind (FILE *__stream);
extern int fseeko (FILE *__stream, __off_t __off, int __whence);
extern __off_t ftello (FILE *__stream) ;
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void perror (__const char *__s);
extern int sys_nerr;
extern __const char *__const sys_errlist[];
extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern FILE *popen (__const char *__command, __const char *__modes) ;
extern int pclose (FILE *__stream);
extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__));
extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));

// *** 3. stdlib.h ***
typedef unsigned int size_t;
typedef int wchar_t;
static const int _STDLIB_H = 1;
static const int WNOHANG = 1;
static const int WUNTRACED = 2;
static const int WSTOPPED = 2;
static const int WEXITED = 4;
static const int WCONTINUED = 8;
static const int WNOWAIT = 0x01000000;
static const int __WNOTHREAD = 0x20000000;
static const int __WALL = 0x40000000;
static const int __WCLONE = 0x80000000;
static const int __WEXITSTATUS(status) = (((status) & 0xff00) >> 8);
static const int __WTERMSIG(status) = ((status) & 0x7f);
static const int __WSTOPSIG(status) = __WEXITSTATUS(status);
static const int __WIFEXITED(status) = (__WTERMSIG(status) == 0);
static const int __WIFSIGNALED(status) = (((signed char) (((status) & 0x7f) + 1) >> 1) > 0);
static const int __WIFSTOPPED(status) = (((status) & 0xff) == 0x7f);
static const int __WIFCONTINUED(status) = ((status) == __W_CONTINUED);
static const int __WCOREDUMP(status) = ((status) & __WCOREFLAG);
static const int __W_EXITCODE(ret,sig) = ((ret) << 8 | (sig));
static const int __W_STOPCODE(sig) = ((sig) << 8 | 0x7f);
static const int __W_CONTINUED = 0xffff;
static const int __WCOREFLAG = 0x80;
static const int _ENDIAN_H = 1;
static const int __LITTLE_ENDIAN = 1234;
static const int __BIG_ENDIAN = 4321;
static const int __PDP_ENDIAN = 3412;
static const int __BYTE_ORDER = __LITTLE_ENDIAN;
static const int __FLOAT_WORD_ORDER = __BYTE_ORDER;
static const int LITTLE_ENDIAN = __LITTLE_ENDIAN;
static const int BIG_ENDIAN = __BIG_ENDIAN;
static const int PDP_ENDIAN = __PDP_ENDIAN;
static const int BYTE_ORDER = __BYTE_ORDER;
static const int __LONG_LONG_PAIR(HI,LO) = LO, HI;
static const int _BITS_BYTESWAP_H = 1;
static const int __bswap_constant_16(x) = ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)));
static const int __bswap_16(x) = (__extension__ ({ register unsigned short int __v, __x = (unsigned short int) (x); if (__builtin_constant_p (__x)) __v = __bswap_constant_16 (__x); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; }));
static const int __bswap_constant_32(x) = ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24));
static const int __bswap_32(x) = (__extension__ ({ register unsigned int __v, __x = (x); if (__builtin_constant_p (__x)) __v = __bswap_constant_32 (__x); else __asm__ ("bswap %0" : "=r" (__v) : "0" (__x)); __v; }));
static const int __bswap_constant_64(x) = (__extension__ ((((x) & 0xff00000000000000ull) >> 56) | (((x) & 0x00ff000000000000ull) >> 40) | (((x) & 0x0000ff0000000000ull) >> 24) | (((x) & 0x000000ff00000000ull) >> 8) | (((x) & 0x00000000ff000000ull) << 8) | (((x) & 0x0000000000ff0000ull) << 24) | (((x) & 0x000000000000ff00ull) << 40) | (((x) & 0x00000000000000ffull) << 56)));
static const int __bswap_64(x) = (__extension__ ({ union { __extension__ unsigned long long int __ll; unsigned long int __l[2]; } __w, __r; if (__builtin_constant_p (x)) __r.__ll = __bswap_constant_64 (x); else { __w.__ll = (x); __r.__l[0] = __bswap_32 (__w.__l[1]); __r.__l[1] = __bswap_32 (__w.__l[0]); } __r.__ll; }));
static const int htobe16(x) = __bswap_16 (x);
static const int htole16(x) = (x);
static const int be16toh(x) = __bswap_16 (x);
static const int le16toh(x) = (x);
static const int htobe32(x) = __bswap_32 (x);
static const int htole32(x) = (x);
static const int be32toh(x) = __bswap_32 (x);
static const int le32toh(x) = (x);
static const int htobe64(x) = __bswap_64 (x);
static const int htole64(x) = (x);
static const int be64toh(x) = __bswap_64 (x);
static const int le64toh(x) = (x);
union wait
  {
    int w_status;
    struct
      {
 unsigned int __w_termsig:7;
 unsigned int __w_coredump:1;
 unsigned int __w_retcode:8;
 unsigned int:16;
      } __wait_terminated;
    struct
      {
 unsigned int __w_stopval:8;
 unsigned int __w_stopsig:8;
 unsigned int:16;
      } __wait_stopped;
  };
static const int w_termsig = __wait_terminated.__w_termsig;
static const int w_coredump = __wait_terminated.__w_coredump;
static const int w_retcode = __wait_terminated.__w_retcode;
static const int w_stopsig = __wait_stopped.__w_stopsig;
static const int w_stopval = __wait_stopped.__w_stopval;
static const int __WAIT_INT(status) = (__extension__ (((union { __typeof(status) __in; int __i; }) { .__in = (status) }).__i));
typedef union
  {
    union wait *__uptr;
    int *__iptr;
  } __WAIT_STATUS __attribute__ ((__transparent_union__));
static const int __WAIT_STATUS_DEFN = int *;
static const int WEXITSTATUS(status) = __WEXITSTATUS (__WAIT_INT (status));
static const int WTERMSIG(status) = __WTERMSIG (__WAIT_INT (status));
static const int WSTOPSIG(status) = __WSTOPSIG (__WAIT_INT (status));
static const int WIFEXITED(status) = __WIFEXITED (__WAIT_INT (status));
static const int WIFSIGNALED(status) = __WIFSIGNALED (__WAIT_INT (status));
static const int WIFSTOPPED(status) = __WIFSTOPPED (__WAIT_INT (status));
static const int WIFCONTINUED(status) = __WIFCONTINUED (__WAIT_INT (status));
typedef struct
  {
    int quot;
    int rem;
  } div_t;
typedef struct
  {
    long int quot;
    long int rem;
  } ldiv_t;
static const int __ldiv_t_defined = 1;
__extension__ typedef struct
  {
    long long int quot;
    long long int rem;
  } lldiv_t;
static const int __lldiv_t_defined = 1;
static const int RAND_MAX = 2147483647;
static const int EXIT_FAILURE = 1;
static const int EXIT_SUCCESS = 0;
static const int MB_CUR_MAX = (__ctype_get_mb_cur_max ());
extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ;
extern double atof (__const char *__nptr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
extern int atoi (__const char *__nptr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
extern long int atol (__const char *__nptr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
__extension__ extern long long int atoll (__const char *__nptr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
extern double strtod (__const char *__restrict __nptr,
        char **__restrict __endptr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern float strtof (__const char *__restrict __nptr,
       char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern long double strtold (__const char *__restrict __nptr,
       char **__restrict __endptr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern long int strtol (__const char *__restrict __nptr,
   char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern unsigned long int strtoul (__const char *__restrict __nptr,
      char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern long long int strtoq (__const char *__restrict __nptr,
        char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
           char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern long long int strtoll (__const char *__restrict __nptr,
         char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
     char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ;
extern long int a64l (__const char *__s)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
static const int _SYS_TYPES_H = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
static const int __clock_t_defined = 1;
typedef __clock_t clock_t;
static const int __time_t_defined = 1;
typedef __time_t time_t;
static const int __clockid_t_defined = 1;
typedef __clockid_t clockid_t;
static const int __timer_t_defined = 1;
typedef __timer_t timer_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
static const int __intN_t(N,MODE) = typedef int int ##N ##_t __attribute__ ((__mode__ (MODE)));
static const int __u_intN_t(N,MODE) = typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE)));
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
static const int __BIT_TYPES_DEFINED__ = 1;
static const int _SYS_SELECT_H = 1;
static const int __FD_ZERO(fdsp) = do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; stosl" : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) / sizeof (__fd_mask)), "1" (&__FDS_BITS (fdsp)[0]) : "memory"); } while (0);
static const int __FD_SET(d,set) = ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)));
static const int __FD_CLR(d,set) = ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)));
static const int __FD_ISSET(d,set) = ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0);
static const int _SIGSET_H_types = 1;
typedef int __sig_atomic_t;
static const int _SIGSET_NWORDS = (1024 / (8 * sizeof (unsigned long int)));
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
static const int __timespec_defined = 1;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
static const int _STRUCT_TIMEVAL = 1;
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
static const int __NFDBITS = (8 * (int) sizeof (__fd_mask));
static const int __FD_ELT(d) = ((d) / __NFDBITS);
static const int __FD_MASK(d) = ((__fd_mask) 1 << ((d) % __NFDBITS));
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
static const int __FDS_BITS(set) = ((set)->__fds_bits);
  } fd_set;
static const int FD_SETSIZE = __FD_SETSIZE;
typedef __fd_mask fd_mask;
static const int NFDBITS = __NFDBITS;
static const int FD_SET(fd,fdsetp) = __FD_SET (fd, fdsetp);
static const int FD_CLR(fd,fdsetp) = __FD_CLR (fd, fdsetp);
static const int FD_ISSET(fd,fdsetp) = __FD_ISSET (fd, fdsetp);
static const int FD_ZERO(fdsetp) = __FD_ZERO (fdsetp);
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
static const int _SYS_SYSMACROS_H = 1;
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
static const int major(dev) = gnu_dev_major (dev);
static const int minor(dev) = gnu_dev_minor (dev);
static const int makedev(maj,min) = gnu_dev_makedev (maj, min);
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
static const int _BITS_PTHREADTYPES_H = 1;
static const int __SIZEOF_PTHREAD_ATTR_T = 36;
static const int __SIZEOF_PTHREAD_MUTEX_T = 24;
static const int __SIZEOF_PTHREAD_MUTEXATTR_T = 4;
static const int __SIZEOF_PTHREAD_COND_T = 48;
static const int __SIZEOF_PTHREAD_COND_COMPAT_T = 12;
static const int __SIZEOF_PTHREAD_CONDATTR_T = 4;
static const int __SIZEOF_PTHREAD_RWLOCK_T = 32;
static const int __SIZEOF_PTHREAD_RWLOCKATTR_T = 8;
static const int __SIZEOF_PTHREAD_BARRIER_T = 20;
static const int __SIZEOF_PTHREAD_BARRIERATTR_T = 4;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
static const int __cleanup_fct_attribute = __attribute__ ((__regparm__ (1)));
extern long int random (void) __attribute__ ((__nothrow__ , __leaf__));
extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__));
extern char *initstate (unsigned int __seed, char *__statebuf,
   size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
struct random_data
  {
    int32_t *fptr;
    int32_t *rptr;
    int32_t *state;
    int rand_type;
    int rand_deg;
    int rand_sep;
    int32_t *end_ptr;
  };
extern int random_r (struct random_data *__restrict __buf,
       int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int srandom_r (unsigned int __seed, struct random_data *__buf)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
   size_t __statelen,
   struct random_data *__restrict __buf)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4)));
extern int setstate_r (char *__restrict __statebuf,
         struct random_data *__restrict __buf)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int rand (void) __attribute__ ((__nothrow__ , __leaf__));
extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__));
extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__));
extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__));
extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__));
extern long int nrand48 (unsigned short int __xsubi[3])
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__));
extern long int jrand48 (unsigned short int __xsubi[3])
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__));
extern unsigned short int *seed48 (unsigned short int __seed16v[3])
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
struct drand48_data
  {
    unsigned short int __x[3];
    unsigned short int __old_x[3];
    unsigned short int __c;
    unsigned short int __init;
    unsigned long long int __a;
  };
extern int drand48_r (struct drand48_data *__restrict __buffer,
        double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int erand48_r (unsigned short int __xsubi[3],
        struct drand48_data *__restrict __buffer,
        double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int lrand48_r (struct drand48_data *__restrict __buffer,
        long int *__restrict __result)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int nrand48_r (unsigned short int __xsubi[3],
        struct drand48_data *__restrict __buffer,
        long int *__restrict __result)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int mrand48_r (struct drand48_data *__restrict __buffer,
        long int *__restrict __result)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int jrand48_r (unsigned short int __xsubi[3],
        struct drand48_data *__restrict __buffer,
        long int *__restrict __result)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int seed48_r (unsigned short int __seed16v[3],
       struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int lcong48_r (unsigned short int __param[7],
        struct drand48_data *__buffer)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
extern void *calloc (size_t __nmemb, size_t __size)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
extern void *realloc (void *__ptr, size_t __size)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__));
extern void cfree (void *__ptr) __attribute__ ((__nothrow__ , __leaf__));
static const int _ALLOCA_H = 1;
extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__));
static const int alloca(size) = __builtin_alloca (size);
extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
extern char *getenv (__const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern char *__secure_getenv (__const char *__name)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int setenv (__const char *__name, __const char *__value, int __replace)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__));
extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ;
extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int system (__const char *__command) ;
extern char *realpath (__const char *__restrict __name,
         char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ;
typedef int (*__compar_fn_t) (__const void *, __const void *);
extern void *bsearch (__const void *__key, __const void *__base,
        size_t __nmemb, size_t __size, __compar_fn_t __compar)
     __attribute__ ((__nonnull__ (1, 2, 5))) ;
extern void qsort (void *__base, size_t __nmemb, size_t __size,
     __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ;
extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ;
__extension__ extern long long int llabs (long long int __x)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ;
extern div_t div (int __numer, int __denom)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ;
extern ldiv_t ldiv (long int __numer, long int __denom)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ;
__extension__ extern lldiv_t lldiv (long long int __numer,
        long long int __denom)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ;
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
     int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ;
extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
     int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ;
extern char *gcvt (double __value, int __ndigit, char *__buf)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ;
extern char *qecvt (long double __value, int __ndigit,
      int *__restrict __decpt, int *__restrict __sign)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ;
extern char *qfcvt (long double __value, int __ndigit,
      int *__restrict __decpt, int *__restrict __sign)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ;
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
     int *__restrict __sign, char *__restrict __buf,
     size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5)));
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
     int *__restrict __sign, char *__restrict __buf,
     size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5)));
extern int qecvt_r (long double __value, int __ndigit,
      int *__restrict __decpt, int *__restrict __sign,
      char *__restrict __buf, size_t __len)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5)));
extern int qfcvt_r (long double __value, int __ndigit,
      int *__restrict __decpt, int *__restrict __sign,
      char *__restrict __buf, size_t __len)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5)));
extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int mbtowc (wchar_t *__restrict __pwc,
     __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)) ;
extern size_t mbstowcs (wchar_t *__restrict __pwcs,
   __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__));
extern size_t wcstombs (char *__restrict __s,
   __const wchar_t *__restrict __pwcs, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__));
extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ;
extern int getsubopt (char **__restrict __optionp,
        char *__const *__restrict __tokens,
        char **__restrict __valuep)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ;
extern int getloadavg (double __loadavg[], int __nelem)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));

// *** 4. fcntl.h ***
static const int _FCNTL_H = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef unsigned int size_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
static const int O_ACCMODE = 0003;
static const int O_RDONLY = 00;
static const int O_WRONLY = 01;
static const int O_RDWR = 02;
static const int O_CREAT = 0100;
static const int O_EXCL = 0200;
static const int O_NOCTTY = 0400;
static const int O_TRUNC = 01000;
static const int O_APPEND = 02000;
static const int O_NONBLOCK = 04000;
static const int O_NDELAY = O_NONBLOCK;
static const int O_SYNC = 04010000;
static const int O_FSYNC = O_SYNC;
static const int O_ASYNC = 020000;
static const int O_DIRECTORY = 0200000;
static const int O_NOFOLLOW = 0400000;
static const int O_CLOEXEC = 02000000;
static const int O_DSYNC = 010000;
static const int O_RSYNC = O_SYNC;
static const int F_DUPFD = 0;
static const int F_GETFD = 1;
static const int F_SETFD = 2;
static const int F_GETFL = 3;
static const int F_SETFL = 4;
static const int F_GETLK = 5;
static const int F_SETLK = 6;
static const int F_SETLKW = 7;
static const int F_GETLK64 = 12;
static const int F_SETLK64 = 13;
static const int F_SETLKW64 = 14;
static const int F_SETOWN = 8;
static const int F_GETOWN = 9;
static const int F_DUPFD_CLOEXEC = 1030;
static const int FD_CLOEXEC = 1;
static const int F_RDLCK = 0;
static const int F_WRLCK = 1;
static const int F_UNLCK = 2;
static const int F_EXLCK = 4;
static const int F_SHLCK = 8;
static const int LOCK_SH = 1;
static const int LOCK_EX = 2;
static const int LOCK_NB = 4;
static const int LOCK_UN = 8;
struct flock
  {
    short int l_type;
    short int l_whence;
    __off_t l_start;
    __off_t l_len;
    __pid_t l_pid;
  };
static const int FAPPEND = O_APPEND;
static const int FFSYNC = O_FSYNC;
static const int FASYNC = O_ASYNC;
static const int FNONBLOCK = O_NONBLOCK;
static const int FNDELAY = O_NDELAY;
static const int POSIX_FADV_NORMAL = 0;
static const int POSIX_FADV_RANDOM = 1;
static const int POSIX_FADV_SEQUENTIAL = 2;
static const int POSIX_FADV_WILLNEED = 3;
static const int POSIX_FADV_DONTNEED = 4;
static const int POSIX_FADV_NOREUSE = 5;
static const int AT_FDCWD = -100;
static const int AT_SYMLINK_NOFOLLOW = 0x100;
static const int AT_REMOVEDIR = 0x200;
static const int AT_SYMLINK_FOLLOW = 0x400;
static const int AT_NO_AUTOMOUNT = 0x800;
static const int AT_EMPTY_PATH = 0x1000;
static const int AT_EACCESS = 0x200;
static const int _BITS_STAT_H = 1;
static const int _STAT_VER_LINUX_OLD = 1;
static const int _STAT_VER_KERNEL = 1;
static const int _STAT_VER_SVR4 = 2;
static const int _STAT_VER_LINUX = 3;
static const int _STAT_VER = _STAT_VER_LINUX;
static const int _MKNOD_VER_LINUX = 1;
static const int _MKNOD_VER_SVR4 = 2;
static const int _MKNOD_VER = _MKNOD_VER_LINUX;
struct stat
  {
    __dev_t st_dev;
    unsigned short int __pad1;
    __ino_t st_ino;
    __mode_t st_mode;
    __nlink_t st_nlink;
    __uid_t st_uid;
    __gid_t st_gid;
    __dev_t st_rdev;
    unsigned short int __pad2;
    __off_t st_size;
    __blksize_t st_blksize;
    __blkcnt_t st_blocks;
    struct timespec st_atim;
    struct timespec st_mtim;
    struct timespec st_ctim;
static const int st_atime = st_atim.tv_sec;
static const int st_mtime = st_mtim.tv_sec;
static const int st_ctime = st_ctim.tv_sec;
    unsigned long int __unused4;
    unsigned long int __unused5;
  };
static const int __S_IFMT = 0170000;
static const int __S_IFDIR = 0040000;
static const int __S_IFCHR = 0020000;
static const int __S_IFBLK = 0060000;
static const int __S_IFREG = 0100000;
static const int __S_IFIFO = 0010000;
static const int __S_IFLNK = 0120000;
static const int __S_IFSOCK = 0140000;
static const int __S_TYPEISMQ(buf) = ((buf)->st_mode - (buf)->st_mode);
static const int __S_TYPEISSEM(buf) = ((buf)->st_mode - (buf)->st_mode);
static const int __S_TYPEISSHM(buf) = ((buf)->st_mode - (buf)->st_mode);
static const int __S_ISUID = 04000;
static const int __S_ISGID = 02000;
static const int __S_ISVTX = 01000;
static const int __S_IREAD = 0400;
static const int __S_IWRITE = 0200;
static const int __S_IEXEC = 0100;
static const int UTIME_NOW = ((1l << 30) - 1l);
static const int UTIME_OMIT = ((1l << 30) - 2l);
static const int S_IFMT = __S_IFMT;
static const int S_IFDIR = __S_IFDIR;
static const int S_IFCHR = __S_IFCHR;
static const int S_IFBLK = __S_IFBLK;
static const int S_IFREG = __S_IFREG;
static const int S_IFIFO = __S_IFIFO;
static const int S_IFLNK = __S_IFLNK;
static const int S_IFSOCK = __S_IFSOCK;
static const int S_ISUID = __S_ISUID;
static const int S_ISGID = __S_ISGID;
static const int S_ISVTX = __S_ISVTX;
static const int S_IRUSR = __S_IREAD;
static const int S_IWUSR = __S_IWRITE;
static const int S_IXUSR = __S_IEXEC;
static const int S_IRWXU = (__S_IREAD|__S_IWRITE|__S_IEXEC);
static const int S_IRGRP = (S_IRUSR >> 3);
static const int S_IWGRP = (S_IWUSR >> 3);
static const int S_IXGRP = (S_IXUSR >> 3);
static const int S_IRWXG = (S_IRWXU >> 3);
static const int S_IROTH = (S_IRGRP >> 3);
static const int S_IWOTH = (S_IWGRP >> 3);
static const int S_IXOTH = (S_IXGRP >> 3);
static const int S_IRWXO = (S_IRWXG >> 3);
extern int fcntl (int __fd, int __cmd, ...);
extern int open (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
extern int openat (int __fd, __const char *__file, int __oflag, ...)
     __attribute__ ((__nonnull__ (2)));
extern int creat (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1)));
extern int lockf (int __fd, int __cmd, __off_t __len);
extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len,
     int __advise) __attribute__ ((__nothrow__ , __leaf__));
extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len);

// *** 5. errno.h ***
static const int _ERRNO_H = 1;
static const int EPERM = 1;
static const int ENOENT = 2;
static const int ESRCH = 3;
static const int EINTR = 4;
static const int EIO = 5;
static const int ENXIO = 6;
static const int E2BIG = 7;
static const int ENOEXEC = 8;
static const int EBADF = 9;
static const int ECHILD = 10;
static const int EAGAIN = 11;
static const int ENOMEM = 12;
static const int EACCES = 13;
static const int EFAULT = 14;
static const int ENOTBLK = 15;
static const int EBUSY = 16;
static const int EEXIST = 17;
static const int EXDEV = 18;
static const int ENODEV = 19;
static const int ENOTDIR = 20;
static const int EISDIR = 21;
static const int EINVAL = 22;
static const int ENFILE = 23;
static const int EMFILE = 24;
static const int ENOTTY = 25;
static const int ETXTBSY = 26;
static const int EFBIG = 27;
static const int ENOSPC = 28;
static const int ESPIPE = 29;
static const int EROFS = 30;
static const int EMLINK = 31;
static const int EPIPE = 32;
static const int EDOM = 33;
static const int ERANGE = 34;
static const int EDEADLK = 35;
static const int ENAMETOOLONG = 36;
static const int ENOLCK = 37;
static const int ENOSYS = 38;
static const int ENOTEMPTY = 39;
static const int ELOOP = 40;
static const int EWOULDBLOCK = EAGAIN;
static const int ENOMSG = 42;
static const int EIDRM = 43;
static const int ECHRNG = 44;
static const int EL2NSYNC = 45;
static const int EL3HLT = 46;
static const int EL3RST = 47;
static const int ELNRNG = 48;
static const int EUNATCH = 49;
static const int ENOCSI = 50;
static const int EL2HLT = 51;
static const int EBADE = 52;
static const int EBADR = 53;
static const int EXFULL = 54;
static const int ENOANO = 55;
static const int EBADRQC = 56;
static const int EBADSLT = 57;
static const int EDEADLOCK = EDEADLK;
static const int EBFONT = 59;
static const int ENOSTR = 60;
static const int ENODATA = 61;
static const int ETIME = 62;
static const int ENOSR = 63;
static const int ENONET = 64;
static const int ENOPKG = 65;
static const int EREMOTE = 66;
static const int ENOLINK = 67;
static const int EADV = 68;
static const int ESRMNT = 69;
static const int ECOMM = 70;
static const int EPROTO = 71;
static const int EMULTIHOP = 72;
static const int EDOTDOT = 73;
static const int EBADMSG = 74;
static const int EOVERFLOW = 75;
static const int ENOTUNIQ = 76;
static const int EBADFD = 77;
static const int EREMCHG = 78;
static const int ELIBACC = 79;
static const int ELIBBAD = 80;
static const int ELIBSCN = 81;
static const int ELIBMAX = 82;
static const int ELIBEXEC = 83;
static const int EILSEQ = 84;
static const int ERESTART = 85;
static const int ESTRPIPE = 86;
static const int EUSERS = 87;
static const int ENOTSOCK = 88;
static const int EDESTADDRREQ = 89;
static const int EMSGSIZE = 90;
static const int EPROTOTYPE = 91;
static const int ENOPROTOOPT = 92;
static const int EPROTONOSUPPORT = 93;
static const int ESOCKTNOSUPPORT = 94;
static const int EOPNOTSUPP = 95;
static const int EPFNOSUPPORT = 96;
static const int EAFNOSUPPORT = 97;
static const int EADDRINUSE = 98;
static const int EADDRNOTAVAIL = 99;
static const int ENETDOWN = 100;
static const int ENETUNREACH = 101;
static const int ENETRESET = 102;
static const int ECONNABORTED = 103;
static const int ECONNRESET = 104;
static const int ENOBUFS = 105;
static const int EISCONN = 106;
static const int ENOTCONN = 107;
static const int ESHUTDOWN = 108;
static const int ETOOMANYREFS = 109;
static const int ETIMEDOUT = 110;
static const int ECONNREFUSED = 111;
static const int EHOSTDOWN = 112;
static const int EHOSTUNREACH = 113;
static const int EALREADY = 114;
static const int EINPROGRESS = 115;
static const int ESTALE = 116;
static const int EUCLEAN = 117;
static const int ENOTNAM = 118;
static const int ENAVAIL = 119;
static const int EISNAM = 120;
static const int EREMOTEIO = 121;
static const int EDQUOT = 122;
static const int ENOMEDIUM = 123;
static const int EMEDIUMTYPE = 124;
static const int ECANCELED = 125;
static const int ENOKEY = 126;
static const int EKEYEXPIRED = 127;
static const int EKEYREVOKED = 128;
static const int EKEYREJECTED = 129;
static const int EOWNERDEAD = 130;
static const int ENOTRECOVERABLE = 131;
static const int ERFKILL = 132;
static const int EHWPOISON = 133;
static const int ENOTSUP = EOPNOTSUPP;
extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
static const int errno = (*__errno_location ());

// *** 6. i386-linux-gnu/sys/types.h ***
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef unsigned int size_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;

// *** 7. i386-linux-gnu/sys/mman.h ***
static const int _SYS_MMAN_H = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef unsigned int size_t;
typedef __off_t off_t;
typedef __mode_t mode_t;
static const int PROT_READ = 0x1;
static const int PROT_WRITE = 0x2;
static const int PROT_EXEC = 0x4;
static const int PROT_NONE = 0x0;
static const int PROT_GROWSDOWN = 0x01000000;
static const int PROT_GROWSUP = 0x02000000;
static const int MAP_SHARED = 0x01;
static const int MAP_PRIVATE = 0x02;
static const int MAP_TYPE = 0x0f;
static const int MAP_FIXED = 0x10;
static const int MAP_FILE = 0;
static const int MAP_ANONYMOUS = 0x20;
static const int MAP_ANON = MAP_ANONYMOUS;
static const int MAP_GROWSDOWN = 0x00100;
static const int MAP_DENYWRITE = 0x00800;
static const int MAP_EXECUTABLE = 0x01000;
static const int MAP_LOCKED = 0x02000;
static const int MAP_NORESERVE = 0x04000;
static const int MAP_POPULATE = 0x08000;
static const int MAP_NONBLOCK = 0x10000;
static const int MAP_STACK = 0x20000;
static const int MAP_HUGETLB = 0x40000;
static const int MS_ASYNC = 1;
static const int MS_SYNC = 4;
static const int MS_INVALIDATE = 2;
static const int MCL_CURRENT = 1;
static const int MCL_FUTURE = 2;
static const int MADV_NORMAL = 0;
static const int MADV_RANDOM = 1;
static const int MADV_SEQUENTIAL = 2;
static const int MADV_WILLNEED = 3;
static const int MADV_DONTNEED = 4;
static const int MADV_REMOVE = 9;
static const int MADV_DONTFORK = 10;
static const int MADV_DOFORK = 11;
static const int MADV_MERGEABLE = 12;
static const int MADV_UNMERGEABLE = 13;
static const int MADV_HUGEPAGE = 14;
static const int MADV_NOHUGEPAGE = 15;
static const int MADV_HWPOISON = 100;
static const int POSIX_MADV_NORMAL = 0;
static const int POSIX_MADV_RANDOM = 1;
static const int POSIX_MADV_SEQUENTIAL = 2;
static const int POSIX_MADV_WILLNEED = 3;
static const int POSIX_MADV_DONTNEED = 4;
static const int MAP_FAILED = ((void *) -1);
extern void *mmap (void *__addr, size_t __len, int __prot,
     int __flags, int __fd, __off_t __offset) __attribute__ ((__nothrow__ , __leaf__));
extern int munmap (void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern int mprotect (void *__addr, size_t __len, int __prot) __attribute__ ((__nothrow__ , __leaf__));
extern int msync (void *__addr, size_t __len, int __flags);
extern int madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__ , __leaf__));
extern int posix_madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__ , __leaf__));
extern int mlock (__const void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern int munlock (__const void *__addr, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern int mlockall (int __flags) __attribute__ ((__nothrow__ , __leaf__));
extern int munlockall (void) __attribute__ ((__nothrow__ , __leaf__));
extern int mincore (void *__start, size_t __len, unsigned char *__vec)
     __attribute__ ((__nothrow__ , __leaf__));
extern int shm_open (__const char *__name, int __oflag, mode_t __mode);
extern int shm_unlink (__const char *__name);

// *** 8. i386-linux-gnu/sys/socket.h ***
static const int _SYS_SOCKET_H = 1;
static const int _SYS_UIO_H = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef unsigned int size_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
static const int _BITS_UIO_H = 1;
static const int UIO_MAXIOV = 1024;
struct iovec
  {
    void *iov_base;
    size_t iov_len;
  };
static const int _BITS_UIO_H_FOR_SYS_UIO_H = 1;
extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec,
     unsigned long int __liovcnt,
     __const struct iovec *__rvec,
     unsigned long int __riovcnt,
     unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec,
      unsigned long int __liovcnt,
      __const struct iovec *__rvec,
      unsigned long int __riovcnt,
      unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count,
         __off_t __offset) ;
extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count,
   __off_t __offset) ;
typedef __socklen_t socklen_t;
enum __socket_type
{
  SOCK_STREAM = 1,
static const int SOCK_STREAM = SOCK_STREAM;
  SOCK_DGRAM = 2,
static const int SOCK_DGRAM = SOCK_DGRAM;
  SOCK_RAW = 3,
static const int SOCK_RAW = SOCK_RAW;
  SOCK_RDM = 4,
static const int SOCK_RDM = SOCK_RDM;
  SOCK_SEQPACKET = 5,
static const int SOCK_SEQPACKET = SOCK_SEQPACKET;
  SOCK_DCCP = 6,
static const int SOCK_DCCP = SOCK_DCCP;
  SOCK_PACKET = 10,
static const int SOCK_PACKET = SOCK_PACKET;
  SOCK_CLOEXEC = 02000000,
static const int SOCK_CLOEXEC = SOCK_CLOEXEC;
  SOCK_NONBLOCK = 04000
static const int SOCK_NONBLOCK = SOCK_NONBLOCK;
};
static const int PF_UNSPEC = 0;
static const int PF_LOCAL = 1;
static const int PF_UNIX = PF_LOCAL;
static const int PF_FILE = PF_LOCAL;
static const int PF_INET = 2;
static const int PF_AX25 = 3;
static const int PF_IPX = 4;
static const int PF_APPLETALK = 5;
static const int PF_NETROM = 6;
static const int PF_BRIDGE = 7;
static const int PF_ATMPVC = 8;
static const int PF_X25 = 9;
static const int PF_INET6 = 10;
static const int PF_ROSE = 11;
static const int PF_DECnet = 12;
static const int PF_NETBEUI = 13;
static const int PF_SECURITY = 14;
static const int PF_KEY = 15;
static const int PF_NETLINK = 16;
static const int PF_ROUTE = PF_NETLINK;
static const int PF_PACKET = 17;
static const int PF_ASH = 18;
static const int PF_ECONET = 19;
static const int PF_ATMSVC = 20;
static const int PF_RDS = 21;
static const int PF_SNA = 22;
static const int PF_IRDA = 23;
static const int PF_PPPOX = 24;
static const int PF_WANPIPE = 25;
static const int PF_LLC = 26;
static const int PF_CAN = 29;
static const int PF_TIPC = 30;
static const int PF_BLUETOOTH = 31;
static const int PF_IUCV = 32;
static const int PF_RXRPC = 33;
static const int PF_ISDN = 34;
static const int PF_PHONET = 35;
static const int PF_IEEE802154 = 36;
static const int PF_CAIF = 37;
static const int PF_ALG = 38;
static const int PF_NFC = 39;
static const int PF_MAX = 40;
static const int AF_UNSPEC = PF_UNSPEC;
static const int AF_LOCAL = PF_LOCAL;
static const int AF_UNIX = PF_UNIX;
static const int AF_FILE = PF_FILE;
static const int AF_INET = PF_INET;
static const int AF_AX25 = PF_AX25;
static const int AF_IPX = PF_IPX;
static const int AF_APPLETALK = PF_APPLETALK;
static const int AF_NETROM = PF_NETROM;
static const int AF_BRIDGE = PF_BRIDGE;
static const int AF_ATMPVC = PF_ATMPVC;
static const int AF_X25 = PF_X25;
static const int AF_INET6 = PF_INET6;
static const int AF_ROSE = PF_ROSE;
static const int AF_DECnet = PF_DECnet;
static const int AF_NETBEUI = PF_NETBEUI;
static const int AF_SECURITY = PF_SECURITY;
static const int AF_KEY = PF_KEY;
static const int AF_NETLINK = PF_NETLINK;
static const int AF_ROUTE = PF_ROUTE;
static const int AF_PACKET = PF_PACKET;
static const int AF_ASH = PF_ASH;
static const int AF_ECONET = PF_ECONET;
static const int AF_ATMSVC = PF_ATMSVC;
static const int AF_RDS = PF_RDS;
static const int AF_SNA = PF_SNA;
static const int AF_IRDA = PF_IRDA;
static const int AF_PPPOX = PF_PPPOX;
static const int AF_WANPIPE = PF_WANPIPE;
static const int AF_LLC = PF_LLC;
static const int AF_CAN = PF_CAN;
static const int AF_TIPC = PF_TIPC;
static const int AF_BLUETOOTH = PF_BLUETOOTH;
static const int AF_IUCV = PF_IUCV;
static const int AF_RXRPC = PF_RXRPC;
static const int AF_ISDN = PF_ISDN;
static const int AF_PHONET = PF_PHONET;
static const int AF_IEEE802154 = PF_IEEE802154;
static const int AF_CAIF = PF_CAIF;
static const int AF_ALG = PF_ALG;
static const int AF_NFC = PF_NFC;
static const int AF_MAX = PF_MAX;
static const int SOL_RAW = 255;
static const int SOL_DECNET = 261;
static const int SOL_X25 = 262;
static const int SOL_PACKET = 263;
static const int SOL_ATM = 264;
static const int SOL_AAL = 265;
static const int SOL_IRDA = 266;
static const int SOMAXCONN = 128;
static const int _BITS_SOCKADDR_H = 1;
typedef unsigned short int sa_family_t;
static const int __SOCKADDR_COMMON(sa_prefix) = sa_family_t sa_prefix ##family;
static const int __SOCKADDR_COMMON_SIZE = (sizeof (unsigned short int));
struct sockaddr
  {
    sa_family_t sa_family;
    char sa_data[14];
  };
static const int __ss_aligntype = unsigned long int;
static const int _SS_SIZE = 128;
static const int _SS_PADSIZE = (_SS_SIZE - (2 * sizeof (__ss_aligntype)));
struct sockaddr_storage
  {
    sa_family_t ss_family;
    unsigned long int __ss_align;
    char __ss_padding[(128 - (2 * sizeof (unsigned long int)))];
  };
enum
  {
    MSG_OOB = 0x01,
static const int MSG_OOB = MSG_OOB;
    MSG_PEEK = 0x02,
static const int MSG_PEEK = MSG_PEEK;
    MSG_DONTROUTE = 0x04,
static const int MSG_DONTROUTE = MSG_DONTROUTE;
    MSG_CTRUNC = 0x08,
static const int MSG_CTRUNC = MSG_CTRUNC;
    MSG_PROXY = 0x10,
static const int MSG_PROXY = MSG_PROXY;
    MSG_TRUNC = 0x20,
static const int MSG_TRUNC = MSG_TRUNC;
    MSG_DONTWAIT = 0x40,
static const int MSG_DONTWAIT = MSG_DONTWAIT;
    MSG_EOR = 0x80,
static const int MSG_EOR = MSG_EOR;
    MSG_WAITALL = 0x100,
static const int MSG_WAITALL = MSG_WAITALL;
    MSG_FIN = 0x200,
static const int MSG_FIN = MSG_FIN;
    MSG_SYN = 0x400,
static const int MSG_SYN = MSG_SYN;
    MSG_CONFIRM = 0x800,
static const int MSG_CONFIRM = MSG_CONFIRM;
    MSG_RST = 0x1000,
static const int MSG_RST = MSG_RST;
    MSG_ERRQUEUE = 0x2000,
static const int MSG_ERRQUEUE = MSG_ERRQUEUE;
    MSG_NOSIGNAL = 0x4000,
static const int MSG_NOSIGNAL = MSG_NOSIGNAL;
    MSG_MORE = 0x8000,
static const int MSG_MORE = MSG_MORE;
    MSG_WAITFORONE = 0x10000,
static const int MSG_WAITFORONE = MSG_WAITFORONE;
    MSG_CMSG_CLOEXEC = 0x40000000
static const int MSG_CMSG_CLOEXEC = MSG_CMSG_CLOEXEC;
  };
struct msghdr
  {
    void *msg_name;
    socklen_t msg_namelen;
    struct iovec *msg_iov;
    size_t msg_iovlen;
    void *msg_control;
    size_t msg_controllen;
    int msg_flags;
  };
struct cmsghdr
  {
    size_t cmsg_len;
    int cmsg_level;
    int cmsg_type;
    __extension__ unsigned char __cmsg_data [];
  };
static const int CMSG_DATA(cmsg) = ((cmsg)->__cmsg_data);
static const int CMSG_NXTHDR(mhdr,cmsg) = __cmsg_nxthdr (mhdr, cmsg);
static const int CMSG_FIRSTHDR(mhdr) = ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0);
static const int CMSG_ALIGN(len) = (((len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1));
static const int CMSG_SPACE(len) = (CMSG_ALIGN (len) + CMSG_ALIGN (sizeof (struct cmsghdr)));
static const int CMSG_LEN(len) = (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len));
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
          struct cmsghdr *__cmsg) __attribute__ ((__nothrow__ , __leaf__));
enum
  {
    SCM_RIGHTS = 0x01
static const int SCM_RIGHTS = SCM_RIGHTS;
  };
static const int FIOSETOWN = 0x8901;
static const int SIOCSPGRP = 0x8902;
static const int FIOGETOWN = 0x8903;
static const int SIOCGPGRP = 0x8904;
static const int SIOCATMARK = 0x8905;
static const int SIOCGSTAMP = 0x8906;
static const int SIOCGSTAMPNS = 0x8907;
static const int SOL_SOCKET = 1;
static const int SO_DEBUG = 1;
static const int SO_REUSEADDR = 2;
static const int SO_TYPE = 3;
static const int SO_ERROR = 4;
static const int SO_DONTROUTE = 5;
static const int SO_BROADCAST = 6;
static const int SO_SNDBUF = 7;
static const int SO_RCVBUF = 8;
static const int SO_SNDBUFFORCE = 32;
static const int SO_RCVBUFFORCE = 33;
static const int SO_KEEPALIVE = 9;
static const int SO_OOBINLINE = 10;
static const int SO_NO_CHECK = 11;
static const int SO_PRIORITY = 12;
static const int SO_LINGER = 13;
static const int SO_BSDCOMPAT = 14;
static const int SO_PASSCRED = 16;
static const int SO_PEERCRED = 17;
static const int SO_RCVLOWAT = 18;
static const int SO_SNDLOWAT = 19;
static const int SO_RCVTIMEO = 20;
static const int SO_SNDTIMEO = 21;
static const int SO_SECURITY_AUTHENTICATION = 22;
static const int SO_SECURITY_ENCRYPTION_TRANSPORT = 23;
static const int SO_SECURITY_ENCRYPTION_NETWORK = 24;
static const int SO_BINDTODEVICE = 25;
static const int SO_ATTACH_FILTER = 26;
static const int SO_DETACH_FILTER = 27;
static const int SO_PEERNAME = 28;
static const int SO_TIMESTAMP = 29;
static const int SCM_TIMESTAMP = SO_TIMESTAMP;
static const int SO_ACCEPTCONN = 30;
static const int SO_PEERSEC = 31;
static const int SO_PASSSEC = 34;
static const int SO_TIMESTAMPNS = 35;
static const int SCM_TIMESTAMPNS = SO_TIMESTAMPNS;
static const int SO_MARK = 36;
static const int SO_TIMESTAMPING = 37;
static const int SCM_TIMESTAMPING = SO_TIMESTAMPING;
static const int SO_PROTOCOL = 38;
static const int SO_DOMAIN = 39;
static const int SO_RXQ_OVFL = 40;
static const int SO_WIFI_STATUS = 41;
static const int SCM_WIFI_STATUS = SO_WIFI_STATUS;
static const int SO_PEEK_OFF = 42;
static const int SO_NOFCS = 43;
struct linger
  {
    int l_onoff;
    int l_linger;
  };
extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags,
       __const struct timespec *__tmo);
extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags);
struct osockaddr
  {
    unsigned short int sa_family;
    unsigned char sa_data[14];
  };
enum
{
  SHUT_RD = 0,
static const int SHUT_RD = SHUT_RD;
  SHUT_WR,
static const int SHUT_WR = SHUT_WR;
  SHUT_RDWR
static const int SHUT_RDWR = SHUT_RDWR;
};
static const int __SOCKADDR_ARG = struct sockaddr *__restrict;
static const int __CONST_SOCKADDR_ARG = __const struct sockaddr *;
extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__ , __leaf__));
extern int socketpair (int __domain, int __type, int __protocol,
         int __fds[2]) __attribute__ ((__nothrow__ , __leaf__));
extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     __attribute__ ((__nothrow__ , __leaf__));
extern int getsockname (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len);
extern int getpeername (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags);
extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags);
extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
         int __flags, __const struct sockaddr * __addr,
         socklen_t __addr_len);
extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
    int __flags, struct sockaddr *__restrict __addr,
    socklen_t *__restrict __addr_len);
extern ssize_t sendmsg (int __fd, __const struct msghdr *__message,
   int __flags);
extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
extern int getsockopt (int __fd, int __level, int __optname,
         void *__restrict __optval,
         socklen_t *__restrict __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int setsockopt (int __fd, int __level, int __optname,
         __const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int listen (int __fd, int __n) __attribute__ ((__nothrow__ , __leaf__));
extern int accept (int __fd, struct sockaddr *__restrict __addr,
     socklen_t *__restrict __addr_len);
extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__ , __leaf__));
extern int sockatmark (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__ , __leaf__));

// *** 9. i386-linux-gnu/sys/ipc.h ***
static const int _SYS_IPC_H = 1;
static const int _BITS_IPCTYPES_H = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef unsigned short int __ipc_pid_t;
static const int IPC_CREAT = 01000;
static const int IPC_EXCL = 02000;
static const int IPC_NOWAIT = 04000;
static const int IPC_RMID = 0;
static const int IPC_SET = 1;
static const int IPC_STAT = 2;
static const int IPC_PRIVATE = ((__key_t) 0);
struct ipc_perm
  {
    __key_t __key;
    __uid_t uid;
    __gid_t gid;
    __uid_t cuid;
    __gid_t cgid;
    unsigned short int mode;
    unsigned short int __pad1;
    unsigned short int __seq;
    unsigned short int __pad2;
    unsigned long int __unused1;
    unsigned long int __unused2;
  };
typedef __uid_t uid_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __key_t key_t;
extern key_t ftok (__const char *__pathname, int __proj_id) __attribute__ ((__nothrow__ , __leaf__));

// *** 10. i386-linux-gnu/sys/shm.h ***
static const int _SYS_SHM_H = 1;
typedef unsigned int size_t;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef unsigned short int __ipc_pid_t;
struct ipc_perm
  {
    __key_t __key;
    __uid_t uid;
    __gid_t gid;
    __uid_t cuid;
    __gid_t cgid;
    unsigned short int mode;
    unsigned short int __pad1;
    unsigned short int __seq;
    unsigned short int __pad2;
    unsigned long int __unused1;
    unsigned long int __unused2;
  };
typedef __uid_t uid_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __key_t key_t;
extern key_t ftok (__const char *__pathname, int __proj_id) __attribute__ ((__nothrow__ , __leaf__));
static const int SHM_R = 0400;
static const int SHM_W = 0200;
static const int SHM_RDONLY = 010000;
static const int SHM_RND = 020000;
static const int SHM_REMAP = 040000;
static const int SHM_EXEC = 0100000;
static const int SHM_LOCK = 11;
static const int SHM_UNLOCK = 12;
static const int SHMLBA = (__getpagesize ());
extern int __getpagesize (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
typedef unsigned long int shmatt_t;
struct shmid_ds
  {
    struct ipc_perm shm_perm;
    size_t shm_segsz;
    __time_t shm_atime;
    unsigned long int __unused1;
    __time_t shm_dtime;
    unsigned long int __unused2;
    __time_t shm_ctime;
    unsigned long int __unused3;
    __pid_t shm_cpid;
    __pid_t shm_lpid;
    shmatt_t shm_nattch;
    unsigned long int __unused4;
    unsigned long int __unused5;
  };
static const int SHM_STAT = 13;
static const int SHM_INFO = 14;
static const int SHM_DEST = 01000;
static const int SHM_LOCKED = 02000;
static const int SHM_HUGETLB = 04000;
static const int SHM_NORESERVE = 010000;
struct shminfo
  {
    unsigned long int shmmax;
    unsigned long int shmmin;
    unsigned long int shmmni;
    unsigned long int shmseg;
    unsigned long int shmall;
    unsigned long int __unused1;
    unsigned long int __unused2;
    unsigned long int __unused3;
    unsigned long int __unused4;
  };
struct shm_info
  {
    int used_ids;
    unsigned long int shm_tot;
    unsigned long int shm_rss;
    unsigned long int shm_swp;
    unsigned long int swap_attempts;
    unsigned long int swap_successes;
  };
typedef __time_t time_t;
extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) __attribute__ ((__nothrow__ , __leaf__));
extern int shmget (key_t __key, size_t __size, int __shmflg) __attribute__ ((__nothrow__ , __leaf__));
extern void *shmat (int __shmid, __const void *__shmaddr, int __shmflg)
     __attribute__ ((__nothrow__ , __leaf__));
extern int shmdt (__const void *__shmaddr) __attribute__ ((__nothrow__ , __leaf__));

// *** 11. i386-linux-gnu/sys/time.h ***
static const int _SYS_TIME_H = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __time_t time_t;
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
struct timezone
  {
    int tz_minuteswest;
    int tz_dsttime;
  };
typedef struct timezone *__restrict __timezone_ptr_t;
extern int gettimeofday (struct timeval *__restrict __tv,
    __timezone_ptr_t __tz) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int settimeofday (__const struct timeval *__tv,
    __const struct timezone *__tz)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int adjtime (__const struct timeval *__delta,
      struct timeval *__olddelta) __attribute__ ((__nothrow__ , __leaf__));
enum __itimer_which
  {
    ITIMER_REAL = 0,
static const int ITIMER_REAL = ITIMER_REAL;
    ITIMER_VIRTUAL = 1,
static const int ITIMER_VIRTUAL = ITIMER_VIRTUAL;
    ITIMER_PROF = 2
static const int ITIMER_PROF = ITIMER_PROF;
  };
struct itimerval
  {
    struct timeval it_interval;
    struct timeval it_value;
  };
typedef int __itimer_which_t;
extern int getitimer (__itimer_which_t __which,
        struct itimerval *__value) __attribute__ ((__nothrow__ , __leaf__));
extern int setitimer (__itimer_which_t __which,
        __const struct itimerval *__restrict __new,
        struct itimerval *__restrict __old) __attribute__ ((__nothrow__ , __leaf__));
extern int utimes (__const char *__file, __const struct timeval __tvp[2])
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int lutimes (__const char *__file, __const struct timeval __tvp[2])
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int futimes (int __fd, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__));
static const int timerisset(tvp) = ((tvp)->tv_sec || (tvp)->tv_usec);
static const int timerclear(tvp) = ((tvp)->tv_sec = (tvp)->tv_usec = 0);
static const int timercmp(a,b,CMP) = (((a)->tv_sec == (b)->tv_sec) ? ((a)->tv_usec CMP (b)->tv_usec) : ((a)->tv_sec CMP (b)->tv_sec));
static const int timeradd(a,b,result) = do { (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; if ((result)->tv_usec >= 1000000) { ++(result)->tv_sec; (result)->tv_usec -= 1000000; } } while (0);
static const int timersub(a,b,result) = do { (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; if ((result)->tv_usec < 0) { --(result)->tv_sec; (result)->tv_usec += 1000000; } } while (0);

// *** 12. i386-linux-gnu/sys/poll.h ***
static const int _SYS_POLL_H = 1;
static const int POLLIN = 0x001;
static const int POLLPRI = 0x002;
static const int POLLOUT = 0x004;
static const int POLLRDNORM = 0x040;
static const int POLLRDBAND = 0x080;
static const int POLLWRNORM = 0x100;
static const int POLLWRBAND = 0x200;
static const int POLLERR = 0x008;
static const int POLLHUP = 0x010;
static const int POLLNVAL = 0x020;
typedef unsigned long int nfds_t;
struct pollfd
  {
    int fd;
    short int events;
    short int revents;
  };
extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout);

// *** 13. time.h ***
static const int _TIME_H = 1;
typedef unsigned int size_t;
static const int _BITS_TIME_H = 1;
static const int CLOCKS_PER_SEC = 1000000l;
static const int CLOCK_REALTIME = 0;
static const int CLOCK_MONOTONIC = 1;
static const int CLOCK_PROCESS_CPUTIME_ID = 2;
static const int CLOCK_THREAD_CPUTIME_ID = 3;
static const int CLOCK_MONOTONIC_RAW = 4;
static const int CLOCK_REALTIME_COARSE = 5;
static const int CLOCK_MONOTONIC_COARSE = 6;
static const int CLOCK_BOOTTIME = 7;
static const int CLOCK_REALTIME_ALARM = 8;
static const int CLOCK_BOOTTIME_ALARM = 9;
static const int TIMER_ABSTIME = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
struct tm
{
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;
  long int tm_gmtoff;
  __const char *tm_zone;
};
struct itimerspec
  {
    struct timespec it_interval;
    struct timespec it_value;
  };
struct sigevent;
typedef __pid_t pid_t;
extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__));
extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern double difftime (time_t __time1, time_t __time0)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern size_t strftime (char *__restrict __s, size_t __maxsize,
   __const char *__restrict __format,
   __const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
static const int _XLOCALE_H = 1;
typedef struct __locale_struct
{
  struct __locale_data *__locales[13];
  const unsigned short int *__ctype_b;
  const int *__ctype_tolower;
  const int *__ctype_toupper;
  const char *__names[13];
} *__locale_t;
typedef __locale_t locale_t;
extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
     __const char *__restrict __format,
     __const struct tm *__restrict __tp,
     __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *gmtime_r (__const time_t *__restrict __timer,
       struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *localtime_r (__const time_t *__restrict __timer,
          struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern char *asctime_r (__const struct tm *__restrict __tp,
   char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
extern char *ctime_r (__const time_t *__restrict __timer,
        char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;
extern char *tzname[2];
extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__));
extern int daylight;
extern long int timezone;
extern int stime (__const time_t *__when) __attribute__ ((__nothrow__ , __leaf__));
static const int __isleap(year) = ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0));
extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern int nanosleep (__const struct timespec *__requested_time,
        struct timespec *__remaining);
extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__));
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
     __attribute__ ((__nothrow__ , __leaf__));
extern int clock_nanosleep (clockid_t __clock_id, int __flags,
       __const struct timespec *__req,
       struct timespec *__rem);
extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_create (clockid_t __clock_id,
    struct sigevent *__restrict __evp,
    timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_settime (timer_t __timerid, int __flags,
     __const struct itimerspec *__restrict __value,
     struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
     __attribute__ ((__nothrow__ , __leaf__));
extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));

// *** 14. netinet/in.h ***
static const int _NETINET_IN_H = 1;
static const int _STDINT_H = 1;
static const int _BITS_WCHAR_H = 1;
static const int __WCHAR_MIN = (-2147483647l - 1l);
static const int __WCHAR_MAX = (2147483647l);
typedef signed char int8_t;
typedef short int int16_t;
typedef int int32_t;
__extension__
typedef long long int int64_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
__extension__
typedef unsigned long long int uint64_t;
typedef signed char int_least8_t;
typedef short int int_least16_t;
typedef int int_least32_t;
__extension__
typedef long long int int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short int uint_least16_t;
typedef unsigned int uint_least32_t;
__extension__
typedef unsigned long long int uint_least64_t;
typedef signed char int_fast8_t;
typedef int int_fast16_t;
typedef int int_fast32_t;
__extension__
typedef long long int int_fast64_t;
typedef unsigned char uint_fast8_t;
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
__extension__
typedef unsigned long long int uint_fast64_t;
typedef int intptr_t;
typedef unsigned int uintptr_t;
__extension__
typedef long long int intmax_t;
__extension__
typedef unsigned long long int uintmax_t;
static const int INT8_MIN = (-128);
static const int INT16_MIN = (-32767-1);
static const int INT32_MIN = (-2147483647-1);
static const int INT64_MIN = (-__INT64_C(9223372036854775807)-1);
static const int INT8_MAX = (127);
static const int INT16_MAX = (32767);
static const int INT32_MAX = (2147483647);
static const int INT64_MAX = (__INT64_C(9223372036854775807));
static const int UINT8_MAX = (255);
static const int UINT16_MAX = (65535);
static const int UINT32_MAX = (4294967295U);
static const int UINT64_MAX = (__UINT64_C(18446744073709551615));
static const int INT_LEAST8_MIN = (-128);
static const int INT_LEAST16_MIN = (-32767-1);
static const int INT_LEAST32_MIN = (-2147483647-1);
static const int INT_LEAST64_MIN = (-__INT64_C(9223372036854775807)-1);
static const int INT_LEAST8_MAX = (127);
static const int INT_LEAST16_MAX = (32767);
static const int INT_LEAST32_MAX = (2147483647);
static const int INT_LEAST64_MAX = (__INT64_C(9223372036854775807));
static const int UINT_LEAST8_MAX = (255);
static const int UINT_LEAST16_MAX = (65535);
static const int UINT_LEAST32_MAX = (4294967295U);
static const int UINT_LEAST64_MAX = (__UINT64_C(18446744073709551615));
static const int INT_FAST8_MIN = (-128);
static const int INT_FAST16_MIN = (-2147483647-1);
static const int INT_FAST32_MIN = (-2147483647-1);
static const int INT_FAST64_MIN = (-__INT64_C(9223372036854775807)-1);
static const int INT_FAST8_MAX = (127);
static const int INT_FAST16_MAX = (2147483647);
static const int INT_FAST32_MAX = (2147483647);
static const int INT_FAST64_MAX = (__INT64_C(9223372036854775807));
static const int UINT_FAST8_MAX = (255);
static const int UINT_FAST16_MAX = (4294967295U);
static const int UINT_FAST32_MAX = (4294967295U);
static const int UINT_FAST64_MAX = (__UINT64_C(18446744073709551615));
static const int INTPTR_MIN = (-2147483647-1);
static const int INTPTR_MAX = (2147483647);
static const int UINTPTR_MAX = (4294967295U);
static const int INTMAX_MIN = (-__INT64_C(9223372036854775807)-1);
static const int INTMAX_MAX = (__INT64_C(9223372036854775807));
static const int UINTMAX_MAX = (__UINT64_C(18446744073709551615));
static const int PTRDIFF_MIN = (-2147483647-1);
static const int PTRDIFF_MAX = (2147483647);
static const int SIG_ATOMIC_MIN = (-2147483647-1);
static const int SIG_ATOMIC_MAX = (2147483647);
static const int SIZE_MAX = (4294967295U);
static const int WCHAR_MIN = __WCHAR_MIN;
static const int WCHAR_MAX = __WCHAR_MAX;
static const int WINT_MIN = (0u);
static const int WINT_MAX = (4294967295u);
static const int INT8_C(c) = c;
static const int INT16_C(c) = c;
static const int INT32_C(c) = c;
static const int INT64_C(c) = c ## LL;
static const int UINT8_C(c) = c;
static const int UINT16_C(c) = c;
static const int UINT32_C(c) = c ## U;
static const int UINT64_C(c) = c ## ULL;
static const int INTMAX_C(c) = c ## LL;
static const int UINTMAX_C(c) = c ## ULL;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef unsigned int size_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
struct iovec
  {
    void *iov_base;
    size_t iov_len;
  };
extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec,
     unsigned long int __liovcnt,
     __const struct iovec *__rvec,
     unsigned long int __riovcnt,
     unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec,
      unsigned long int __liovcnt,
      __const struct iovec *__rvec,
      unsigned long int __riovcnt,
      unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count,
         __off_t __offset) ;
extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count,
   __off_t __offset) ;
typedef __socklen_t socklen_t;
enum __socket_type
{
  SOCK_STREAM = 1,
  SOCK_DGRAM = 2,
  SOCK_RAW = 3,
  SOCK_RDM = 4,
  SOCK_SEQPACKET = 5,
  SOCK_DCCP = 6,
  SOCK_PACKET = 10,
  SOCK_CLOEXEC = 02000000,
  SOCK_NONBLOCK = 04000
};
typedef unsigned short int sa_family_t;
struct sockaddr
  {
    sa_family_t sa_family;
    char sa_data[14];
  };
struct sockaddr_storage
  {
    sa_family_t ss_family;
    unsigned long int __ss_align;
    char __ss_padding[(128 - (2 * sizeof (unsigned long int)))];
  };
enum
  {
    MSG_OOB = 0x01,
    MSG_PEEK = 0x02,
    MSG_DONTROUTE = 0x04,
    MSG_CTRUNC = 0x08,
    MSG_PROXY = 0x10,
    MSG_TRUNC = 0x20,
    MSG_DONTWAIT = 0x40,
    MSG_EOR = 0x80,
    MSG_WAITALL = 0x100,
    MSG_FIN = 0x200,
    MSG_SYN = 0x400,
    MSG_CONFIRM = 0x800,
    MSG_RST = 0x1000,
    MSG_ERRQUEUE = 0x2000,
    MSG_NOSIGNAL = 0x4000,
    MSG_MORE = 0x8000,
    MSG_WAITFORONE = 0x10000,
    MSG_CMSG_CLOEXEC = 0x40000000
  };
struct msghdr
  {
    void *msg_name;
    socklen_t msg_namelen;
    struct iovec *msg_iov;
    size_t msg_iovlen;
    void *msg_control;
    size_t msg_controllen;
    int msg_flags;
  };
struct cmsghdr
  {
    size_t cmsg_len;
    int cmsg_level;
    int cmsg_type;
    __extension__ unsigned char __cmsg_data [];
  };
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
          struct cmsghdr *__cmsg) __attribute__ ((__nothrow__ , __leaf__));
enum
  {
    SCM_RIGHTS = 0x01
  };
struct linger
  {
    int l_onoff;
    int l_linger;
  };
extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags,
       __const struct timespec *__tmo);
extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags);
struct osockaddr
  {
    unsigned short int sa_family;
    unsigned char sa_data[14];
  };
enum
{
  SHUT_RD = 0,
  SHUT_WR,
  SHUT_RDWR
};
extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__ , __leaf__));
extern int socketpair (int __domain, int __type, int __protocol,
         int __fds[2]) __attribute__ ((__nothrow__ , __leaf__));
extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     __attribute__ ((__nothrow__ , __leaf__));
extern int getsockname (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len);
extern int getpeername (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags);
extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags);
extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
         int __flags, __const struct sockaddr * __addr,
         socklen_t __addr_len);
extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
    int __flags, struct sockaddr *__restrict __addr,
    socklen_t *__restrict __addr_len);
extern ssize_t sendmsg (int __fd, __const struct msghdr *__message,
   int __flags);
extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
extern int getsockopt (int __fd, int __level, int __optname,
         void *__restrict __optval,
         socklen_t *__restrict __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int setsockopt (int __fd, int __level, int __optname,
         __const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int listen (int __fd, int __n) __attribute__ ((__nothrow__ , __leaf__));
extern int accept (int __fd, struct sockaddr *__restrict __addr,
     socklen_t *__restrict __addr_len);
extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__ , __leaf__));
extern int sockatmark (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__ , __leaf__));
enum
  {
    IPPROTO_IP = 0,
static const int IPPROTO_IP = IPPROTO_IP;
    IPPROTO_HOPOPTS = 0,
static const int IPPROTO_HOPOPTS = IPPROTO_HOPOPTS;
    IPPROTO_ICMP = 1,
static const int IPPROTO_ICMP = IPPROTO_ICMP;
    IPPROTO_IGMP = 2,
static const int IPPROTO_IGMP = IPPROTO_IGMP;
    IPPROTO_IPIP = 4,
static const int IPPROTO_IPIP = IPPROTO_IPIP;
    IPPROTO_TCP = 6,
static const int IPPROTO_TCP = IPPROTO_TCP;
    IPPROTO_EGP = 8,
static const int IPPROTO_EGP = IPPROTO_EGP;
    IPPROTO_PUP = 12,
static const int IPPROTO_PUP = IPPROTO_PUP;
    IPPROTO_UDP = 17,
static const int IPPROTO_UDP = IPPROTO_UDP;
    IPPROTO_IDP = 22,
static const int IPPROTO_IDP = IPPROTO_IDP;
    IPPROTO_TP = 29,
static const int IPPROTO_TP = IPPROTO_TP;
    IPPROTO_DCCP = 33,
static const int IPPROTO_DCCP = IPPROTO_DCCP;
    IPPROTO_IPV6 = 41,
static const int IPPROTO_IPV6 = IPPROTO_IPV6;
    IPPROTO_ROUTING = 43,
static const int IPPROTO_ROUTING = IPPROTO_ROUTING;
    IPPROTO_FRAGMENT = 44,
static const int IPPROTO_FRAGMENT = IPPROTO_FRAGMENT;
    IPPROTO_RSVP = 46,
static const int IPPROTO_RSVP = IPPROTO_RSVP;
    IPPROTO_GRE = 47,
static const int IPPROTO_GRE = IPPROTO_GRE;
    IPPROTO_ESP = 50,
static const int IPPROTO_ESP = IPPROTO_ESP;
    IPPROTO_AH = 51,
static const int IPPROTO_AH = IPPROTO_AH;
    IPPROTO_ICMPV6 = 58,
static const int IPPROTO_ICMPV6 = IPPROTO_ICMPV6;
    IPPROTO_NONE = 59,
static const int IPPROTO_NONE = IPPROTO_NONE;
    IPPROTO_DSTOPTS = 60,
static const int IPPROTO_DSTOPTS = IPPROTO_DSTOPTS;
    IPPROTO_MTP = 92,
static const int IPPROTO_MTP = IPPROTO_MTP;
    IPPROTO_ENCAP = 98,
static const int IPPROTO_ENCAP = IPPROTO_ENCAP;
    IPPROTO_PIM = 103,
static const int IPPROTO_PIM = IPPROTO_PIM;
    IPPROTO_COMP = 108,
static const int IPPROTO_COMP = IPPROTO_COMP;
    IPPROTO_SCTP = 132,
static const int IPPROTO_SCTP = IPPROTO_SCTP;
    IPPROTO_UDPLITE = 136,
static const int IPPROTO_UDPLITE = IPPROTO_UDPLITE;
    IPPROTO_RAW = 255,
static const int IPPROTO_RAW = IPPROTO_RAW;
    IPPROTO_MAX
  };
typedef uint16_t in_port_t;
enum
  {
    IPPORT_ECHO = 7,
    IPPORT_DISCARD = 9,
    IPPORT_SYSTAT = 11,
    IPPORT_DAYTIME = 13,
    IPPORT_NETSTAT = 15,
    IPPORT_FTP = 21,
    IPPORT_TELNET = 23,
    IPPORT_SMTP = 25,
    IPPORT_TIMESERVER = 37,
    IPPORT_NAMESERVER = 42,
    IPPORT_WHOIS = 43,
    IPPORT_MTP = 57,
    IPPORT_TFTP = 69,
    IPPORT_RJE = 77,
    IPPORT_FINGER = 79,
    IPPORT_TTYLINK = 87,
    IPPORT_SUPDUP = 95,
    IPPORT_EXECSERVER = 512,
    IPPORT_LOGINSERVER = 513,
    IPPORT_CMDSERVER = 514,
    IPPORT_EFSSERVER = 520,
    IPPORT_BIFFUDP = 512,
    IPPORT_WHOSERVER = 513,
    IPPORT_ROUTESERVER = 520,
    IPPORT_RESERVED = 1024,
    IPPORT_USERRESERVED = 5000
  };
typedef uint32_t in_addr_t;
struct in_addr
  {
    in_addr_t s_addr;
  };
static const int IN_CLASSA(a) = ((((in_addr_t)(a)) & 0x80000000) == 0);
static const int IN_CLASSA_NET = 0xff000000;
static const int IN_CLASSA_NSHIFT = 24;
static const int IN_CLASSA_HOST = (0xffffffff & ~IN_CLASSA_NET);
static const int IN_CLASSA_MAX = 128;
static const int IN_CLASSB(a) = ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000);
static const int IN_CLASSB_NET = 0xffff0000;
static const int IN_CLASSB_NSHIFT = 16;
static const int IN_CLASSB_HOST = (0xffffffff & ~IN_CLASSB_NET);
static const int IN_CLASSB_MAX = 65536;
static const int IN_CLASSC(a) = ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000);
static const int IN_CLASSC_NET = 0xffffff00;
static const int IN_CLASSC_NSHIFT = 8;
static const int IN_CLASSC_HOST = (0xffffffff & ~IN_CLASSC_NET);
static const int IN_CLASSD(a) = ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000);
static const int IN_MULTICAST(a) = IN_CLASSD(a);
static const int IN_EXPERIMENTAL(a) = ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000);
static const int IN_BADCLASS(a) = ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000);
static const int INADDR_ANY = ((in_addr_t) 0x00000000);
static const int INADDR_BROADCAST = ((in_addr_t) 0xffffffff);
static const int INADDR_NONE = ((in_addr_t) 0xffffffff);
static const int IN_LOOPBACKNET = 127;
static const int INADDR_LOOPBACK = ((in_addr_t) 0x7f000001);
static const int INADDR_UNSPEC_GROUP = ((in_addr_t) 0xe0000000);
static const int INADDR_ALLHOSTS_GROUP = ((in_addr_t) 0xe0000001);
static const int INADDR_ALLRTRS_GROUP = ((in_addr_t) 0xe0000002);
static const int INADDR_MAX_LOCAL_GROUP = ((in_addr_t) 0xe00000ff);
struct in6_addr
  {
    union
      {
 uint8_t __u6_addr8[16];
 uint16_t __u6_addr16[8];
 uint32_t __u6_addr32[4];
      } __in6_u;
static const int s6_addr = __in6_u.__u6_addr8;
static const int s6_addr16 = __in6_u.__u6_addr16;
static const int s6_addr32 = __in6_u.__u6_addr32;
  };
extern const struct in6_addr in6addr_any;
extern const struct in6_addr in6addr_loopback;
static const int IN6ADDR_ANY_INIT = { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } };
static const int IN6ADDR_LOOPBACK_INIT = { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } };
static const int INET_ADDRSTRLEN = 16;
static const int INET6_ADDRSTRLEN = 46;
struct sockaddr_in
  {
    sa_family_t sin_family;
    in_port_t sin_port;
    struct in_addr sin_addr;
    unsigned char sin_zero[sizeof (struct sockaddr) -
      (sizeof (unsigned short int)) -
      sizeof (in_port_t) -
      sizeof (struct in_addr)];
  };
struct sockaddr_in6
  {
    sa_family_t sin6_family;
    in_port_t sin6_port;
    uint32_t sin6_flowinfo;
    struct in6_addr sin6_addr;
    uint32_t sin6_scope_id;
  };
struct ip_mreq
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_interface;
  };
struct ip_mreq_source
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_interface;
    struct in_addr imr_sourceaddr;
  };
struct ipv6_mreq
  {
    struct in6_addr ipv6mr_multiaddr;
    unsigned int ipv6mr_interface;
  };
struct group_req
  {
    uint32_t gr_interface;
    struct sockaddr_storage gr_group;
  };
struct group_source_req
  {
    uint32_t gsr_interface;
    struct sockaddr_storage gsr_group;
    struct sockaddr_storage gsr_source;
  };
struct ip_msfilter
  {
    struct in_addr imsf_multiaddr;
    struct in_addr imsf_interface;
    uint32_t imsf_fmode;
    uint32_t imsf_numsrc;
    struct in_addr imsf_slist[1];
  };
static const int IP_MSFILTER_SIZE(numsrc) = (sizeof (struct ip_msfilter) - sizeof (struct in_addr) + (numsrc) * sizeof (struct in_addr));
struct group_filter
  {
    uint32_t gf_interface;
    struct sockaddr_storage gf_group;
    uint32_t gf_fmode;
    uint32_t gf_numsrc;
    struct sockaddr_storage gf_slist[1];
};
static const int GROUP_FILTER_SIZE(numsrc) = (sizeof (struct group_filter) - sizeof (struct sockaddr_storage) + ((numsrc) * sizeof (struct sockaddr_storage)));
static const int IP_OPTIONS = 4;
static const int IP_HDRINCL = 3;
static const int IP_TOS = 1;
static const int IP_TTL = 2;
static const int IP_RECVOPTS = 6;
static const int IP_RECVRETOPTS = IP_RETOPTS;
static const int IP_RETOPTS = 7;
static const int IP_MULTICAST_IF = 32;
static const int IP_MULTICAST_TTL = 33;
static const int IP_MULTICAST_LOOP = 34;
static const int IP_ADD_MEMBERSHIP = 35;
static const int IP_DROP_MEMBERSHIP = 36;
static const int IP_UNBLOCK_SOURCE = 37;
static const int IP_BLOCK_SOURCE = 38;
static const int IP_ADD_SOURCE_MEMBERSHIP = 39;
static const int IP_DROP_SOURCE_MEMBERSHIP = 40;
static const int IP_MSFILTER = 41;
static const int MCAST_JOIN_GROUP = 42;
static const int MCAST_BLOCK_SOURCE = 43;
static const int MCAST_UNBLOCK_SOURCE = 44;
static const int MCAST_LEAVE_GROUP = 45;
static const int MCAST_JOIN_SOURCE_GROUP = 46;
static const int MCAST_LEAVE_SOURCE_GROUP = 47;
static const int MCAST_MSFILTER = 48;
static const int MCAST_EXCLUDE = 0;
static const int MCAST_INCLUDE = 1;
static const int IP_ROUTER_ALERT = 5;
static const int IP_PKTINFO = 8;
static const int IP_PKTOPTIONS = 9;
static const int IP_PMTUDISC = 10;
static const int IP_MTU_DISCOVER = 10;
static const int IP_RECVERR = 11;
static const int IP_RECVTTL = 12;
static const int IP_RECVTOS = 13;
static const int IP_MTU = 14;
static const int IP_FREEBIND = 15;
static const int IP_IPSEC_POLICY = 16;
static const int IP_XFRM_POLICY = 17;
static const int IP_PASSSEC = 18;
static const int IP_TRANSPARENT = 19;
static const int IP_MULTICAST_ALL = 49;
static const int IP_ORIGDSTADDR = 20;
static const int IP_RECVORIGDSTADDR = IP_ORIGDSTADDR;
static const int IP_MINTTL = 21;
static const int IP_PMTUDISC_DONT = 0;
static const int IP_PMTUDISC_WANT = 1;
static const int IP_PMTUDISC_DO = 2;
static const int IP_PMTUDISC_PROBE = 3;
static const int SOL_IP = 0;
static const int IP_DEFAULT_MULTICAST_TTL = 1;
static const int IP_DEFAULT_MULTICAST_LOOP = 1;
static const int IP_MAX_MEMBERSHIPS = 20;
struct ip_opts
  {
    struct in_addr ip_dst;
    char ip_opts[40];
  };
struct ip_mreqn
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_address;
    int imr_ifindex;
  };
struct in_pktinfo
  {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
  };
static const int IPV6_ADDRFORM = 1;
static const int IPV6_2292PKTINFO = 2;
static const int IPV6_2292HOPOPTS = 3;
static const int IPV6_2292DSTOPTS = 4;
static const int IPV6_2292RTHDR = 5;
static const int IPV6_2292PKTOPTIONS = 6;
static const int IPV6_CHECKSUM = 7;
static const int IPV6_2292HOPLIMIT = 8;
static const int SCM_SRCRT = IPV6_RXSRCRT;
static const int IPV6_NEXTHOP = 9;
static const int IPV6_AUTHHDR = 10;
static const int IPV6_UNICAST_HOPS = 16;
static const int IPV6_MULTICAST_IF = 17;
static const int IPV6_MULTICAST_HOPS = 18;
static const int IPV6_MULTICAST_LOOP = 19;
static const int IPV6_JOIN_GROUP = 20;
static const int IPV6_LEAVE_GROUP = 21;
static const int IPV6_ROUTER_ALERT = 22;
static const int IPV6_MTU_DISCOVER = 23;
static const int IPV6_MTU = 24;
static const int IPV6_RECVERR = 25;
static const int IPV6_V6ONLY = 26;
static const int IPV6_JOIN_ANYCAST = 27;
static const int IPV6_LEAVE_ANYCAST = 28;
static const int IPV6_IPSEC_POLICY = 34;
static const int IPV6_XFRM_POLICY = 35;
static const int IPV6_RECVPKTINFO = 49;
static const int IPV6_PKTINFO = 50;
static const int IPV6_RECVHOPLIMIT = 51;
static const int IPV6_HOPLIMIT = 52;
static const int IPV6_RECVHOPOPTS = 53;
static const int IPV6_HOPOPTS = 54;
static const int IPV6_RTHDRDSTOPTS = 55;
static const int IPV6_RECVRTHDR = 56;
static const int IPV6_RTHDR = 57;
static const int IPV6_RECVDSTOPTS = 58;
static const int IPV6_DSTOPTS = 59;
static const int IPV6_RECVTCLASS = 66;
static const int IPV6_TCLASS = 67;
static const int IPV6_ADD_MEMBERSHIP = IPV6_JOIN_GROUP;
static const int IPV6_DROP_MEMBERSHIP = IPV6_LEAVE_GROUP;
static const int IPV6_RXHOPOPTS = IPV6_HOPOPTS;
static const int IPV6_RXDSTOPTS = IPV6_DSTOPTS;
static const int IPV6_PMTUDISC_DONT = 0;
static const int IPV6_PMTUDISC_WANT = 1;
static const int IPV6_PMTUDISC_DO = 2;
static const int IPV6_PMTUDISC_PROBE = 3;
static const int SOL_IPV6 = 41;
static const int SOL_ICMPV6 = 58;
static const int IPV6_RTHDR_LOOSE = 0;
static const int IPV6_RTHDR_STRICT = 1;
static const int IPV6_RTHDR_TYPE_0 = 0;
extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint16_t ntohs (uint16_t __netshort)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint32_t htonl (uint32_t __hostlong)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint16_t htons (uint16_t __hostshort)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
static const int IN6_IS_ADDR_UNSPECIFIED(a) = (__extension__ ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a); __a->s6_addr32[0] == 0 && __a->s6_addr32[1] == 0 && __a->s6_addr32[2] == 0 && __a->s6_addr32[3] == 0; }));
static const int IN6_IS_ADDR_LOOPBACK(a) = (__extension__ ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a); __a->s6_addr32[0] == 0 && __a->s6_addr32[1] == 0 && __a->s6_addr32[2] == 0 && __a->s6_addr32[3] == htonl (1); }));
static const int IN6_IS_ADDR_LINKLOCAL(a) = (__extension__ ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a); (__a->s6_addr32[0] & htonl (0xffc00000)) == htonl (0xfe800000); }));
static const int IN6_IS_ADDR_SITELOCAL(a) = (__extension__ ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a); (__a->s6_addr32[0] & htonl (0xffc00000)) == htonl (0xfec00000); }));
static const int IN6_IS_ADDR_V4MAPPED(a) = (__extension__ ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a); __a->s6_addr32[0] == 0 && __a->s6_addr32[1] == 0 && __a->s6_addr32[2] == htonl (0xffff); }));
static const int IN6_IS_ADDR_V4COMPAT(a) = (__extension__ ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a); __a->s6_addr32[0] == 0 && __a->s6_addr32[1] == 0 && __a->s6_addr32[2] == 0 && ntohl (__a->s6_addr32[3]) > 1; }));
static const int IN6_ARE_ADDR_EQUAL(a,b) = (__extension__ ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a); __const struct in6_addr *__b = (__const struct in6_addr *) (b); __a->s6_addr32[0] == __b->s6_addr32[0] && __a->s6_addr32[1] == __b->s6_addr32[1] && __a->s6_addr32[2] == __b->s6_addr32[2] && __a->s6_addr32[3] == __b->s6_addr32[3]; }));
static const int IN6_IS_ADDR_MULTICAST(a) = (((__const uint8_t *) (a))[0] == 0xff);
extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__ , __leaf__));
extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
     __attribute__ ((__nothrow__ , __leaf__));
static const int IN6_IS_ADDR_MC_NODELOCAL(a) = (IN6_IS_ADDR_MULTICAST(a) && ((((__const uint8_t *) (a))[1] & 0xf) == 0x1));
static const int IN6_IS_ADDR_MC_LINKLOCAL(a) = (IN6_IS_ADDR_MULTICAST(a) && ((((__const uint8_t *) (a))[1] & 0xf) == 0x2));
static const int IN6_IS_ADDR_MC_SITELOCAL(a) = (IN6_IS_ADDR_MULTICAST(a) && ((((__const uint8_t *) (a))[1] & 0xf) == 0x5));
static const int IN6_IS_ADDR_MC_ORGLOCAL(a) = (IN6_IS_ADDR_MULTICAST(a) && ((((__const uint8_t *) (a))[1] & 0xf) == 0x8));
static const int IN6_IS_ADDR_MC_GLOBAL(a) = (IN6_IS_ADDR_MULTICAST(a) && ((((__const uint8_t *) (a))[1] & 0xf) == 0xe));

// *** 15. netinet/tcp.h ***
static const int _NETINET_TCP_H = 1;
static const int TCP_NODELAY = 1;
static const int TCP_MAXSEG = 2;
static const int TCP_CORK = 3;
static const int TCP_KEEPIDLE = 4;
static const int TCP_KEEPINTVL = 5;
static const int TCP_KEEPCNT = 6;
static const int TCP_SYNCNT = 7;
static const int TCP_LINGER2 = 8;
static const int TCP_DEFER_ACCEPT = 9;
static const int TCP_WINDOW_CLAMP = 10;
static const int TCP_INFO = 11;
static const int TCP_QUICKACK = 12;
static const int TCP_CONGESTION = 13;
static const int TCP_MD5SIG = 14;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef unsigned int size_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
struct iovec
  {
    void *iov_base;
    size_t iov_len;
  };
extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec,
     unsigned long int __liovcnt,
     __const struct iovec *__rvec,
     unsigned long int __riovcnt,
     unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec,
      unsigned long int __liovcnt,
      __const struct iovec *__rvec,
      unsigned long int __riovcnt,
      unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count,
         __off_t __offset) ;
extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count,
   __off_t __offset) ;
typedef __socklen_t socklen_t;
enum __socket_type
{
  SOCK_STREAM = 1,
  SOCK_DGRAM = 2,
  SOCK_RAW = 3,
  SOCK_RDM = 4,
  SOCK_SEQPACKET = 5,
  SOCK_DCCP = 6,
  SOCK_PACKET = 10,
  SOCK_CLOEXEC = 02000000,
  SOCK_NONBLOCK = 04000
};
typedef unsigned short int sa_family_t;
struct sockaddr
  {
    sa_family_t sa_family;
    char sa_data[14];
  };
struct sockaddr_storage
  {
    sa_family_t ss_family;
    unsigned long int __ss_align;
    char __ss_padding[(128 - (2 * sizeof (unsigned long int)))];
  };
enum
  {
    MSG_OOB = 0x01,
    MSG_PEEK = 0x02,
    MSG_DONTROUTE = 0x04,
    MSG_CTRUNC = 0x08,
    MSG_PROXY = 0x10,
    MSG_TRUNC = 0x20,
    MSG_DONTWAIT = 0x40,
    MSG_EOR = 0x80,
    MSG_WAITALL = 0x100,
    MSG_FIN = 0x200,
    MSG_SYN = 0x400,
    MSG_CONFIRM = 0x800,
    MSG_RST = 0x1000,
    MSG_ERRQUEUE = 0x2000,
    MSG_NOSIGNAL = 0x4000,
    MSG_MORE = 0x8000,
    MSG_WAITFORONE = 0x10000,
    MSG_CMSG_CLOEXEC = 0x40000000
  };
struct msghdr
  {
    void *msg_name;
    socklen_t msg_namelen;
    struct iovec *msg_iov;
    size_t msg_iovlen;
    void *msg_control;
    size_t msg_controllen;
    int msg_flags;
  };
struct cmsghdr
  {
    size_t cmsg_len;
    int cmsg_level;
    int cmsg_type;
    __extension__ unsigned char __cmsg_data [];
  };
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
          struct cmsghdr *__cmsg) __attribute__ ((__nothrow__ , __leaf__));
enum
  {
    SCM_RIGHTS = 0x01
  };
struct linger
  {
    int l_onoff;
    int l_linger;
  };
extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags,
       __const struct timespec *__tmo);
extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags);
struct osockaddr
  {
    unsigned short int sa_family;
    unsigned char sa_data[14];
  };
enum
{
  SHUT_RD = 0,
  SHUT_WR,
  SHUT_RDWR
};
extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__ , __leaf__));
extern int socketpair (int __domain, int __type, int __protocol,
         int __fds[2]) __attribute__ ((__nothrow__ , __leaf__));
extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     __attribute__ ((__nothrow__ , __leaf__));
extern int getsockname (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len);
extern int getpeername (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags);
extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags);
extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
         int __flags, __const struct sockaddr * __addr,
         socklen_t __addr_len);
extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
    int __flags, struct sockaddr *__restrict __addr,
    socklen_t *__restrict __addr_len);
extern ssize_t sendmsg (int __fd, __const struct msghdr *__message,
   int __flags);
extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
extern int getsockopt (int __fd, int __level, int __optname,
         void *__restrict __optval,
         socklen_t *__restrict __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int setsockopt (int __fd, int __level, int __optname,
         __const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int listen (int __fd, int __n) __attribute__ ((__nothrow__ , __leaf__));
extern int accept (int __fd, struct sockaddr *__restrict __addr,
     socklen_t *__restrict __addr_len);
extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__ , __leaf__));
extern int sockatmark (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__ , __leaf__));
struct tcphdr
  {
    u_int16_t source;
    u_int16_t dest;
    u_int32_t seq;
    u_int32_t ack_seq;
    u_int16_t res1:4;
    u_int16_t doff:4;
    u_int16_t fin:1;
    u_int16_t syn:1;
    u_int16_t rst:1;
    u_int16_t psh:1;
    u_int16_t ack:1;
    u_int16_t urg:1;
    u_int16_t res2:2;
    u_int16_t window;
    u_int16_t check;
    u_int16_t urg_ptr;
};
enum
{
  TCP_ESTABLISHED = 1,
  TCP_SYN_SENT,
  TCP_SYN_RECV,
  TCP_FIN_WAIT1,
  TCP_FIN_WAIT2,
  TCP_TIME_WAIT,
  TCP_CLOSE,
  TCP_CLOSE_WAIT,
  TCP_LAST_ACK,
  TCP_LISTEN,
  TCP_CLOSING
};
static const int TCPOPT_EOL = 0;
static const int TCPOPT_NOP = 1;
static const int TCPOPT_MAXSEG = 2;
static const int TCPOLEN_MAXSEG = 4;
static const int TCPOPT_WINDOW = 3;
static const int TCPOLEN_WINDOW = 3;
static const int TCPOPT_SACK_PERMITTED = 4;
static const int TCPOLEN_SACK_PERMITTED = 2;
static const int TCPOPT_SACK = 5;
static const int TCPOPT_TIMESTAMP = 8;
static const int TCPOLEN_TIMESTAMP = 10;
static const int TCPOLEN_TSTAMP_APPA = (TCPOLEN_TIMESTAMP+2);
static const int TCPOPT_TSTAMP_HDR = (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP);
static const int TCP_MSS = 512;
static const int TCP_MAXWIN = 65535;
static const int TCP_MAX_WINSHIFT = 14;
static const int SOL_TCP = 6;
static const int TCPI_OPT_TIMESTAMPS = 1;
static const int TCPI_OPT_SACK = 2;
static const int TCPI_OPT_WSCALE = 4;
static const int TCPI_OPT_ECN = 8;
enum tcp_ca_state
{
  TCP_CA_Open = 0,
  TCP_CA_Disorder = 1,
  TCP_CA_CWR = 2,
  TCP_CA_Recovery = 3,
  TCP_CA_Loss = 4
};
struct tcp_info
{
  u_int8_t tcpi_state;
  u_int8_t tcpi_ca_state;
  u_int8_t tcpi_retransmits;
  u_int8_t tcpi_probes;
  u_int8_t tcpi_backoff;
  u_int8_t tcpi_options;
  u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
  u_int32_t tcpi_rto;
  u_int32_t tcpi_ato;
  u_int32_t tcpi_snd_mss;
  u_int32_t tcpi_rcv_mss;
  u_int32_t tcpi_unacked;
  u_int32_t tcpi_sacked;
  u_int32_t tcpi_lost;
  u_int32_t tcpi_retrans;
  u_int32_t tcpi_fackets;
  u_int32_t tcpi_last_data_sent;
  u_int32_t tcpi_last_ack_sent;
  u_int32_t tcpi_last_data_recv;
  u_int32_t tcpi_last_ack_recv;
  u_int32_t tcpi_pmtu;
  u_int32_t tcpi_rcv_ssthresh;
  u_int32_t tcpi_rtt;
  u_int32_t tcpi_rttvar;
  u_int32_t tcpi_snd_ssthresh;
  u_int32_t tcpi_snd_cwnd;
  u_int32_t tcpi_advmss;
  u_int32_t tcpi_reordering;
  u_int32_t tcpi_rcv_rtt;
  u_int32_t tcpi_rcv_space;
  u_int32_t tcpi_total_retrans;
};
static const int TCP_MD5SIG_MAXKEYLEN = 80;
struct tcp_md5sig
{
  struct sockaddr_storage tcpm_addr;
  u_int16_t __tcpm_pad1;
  u_int16_t tcpm_keylen;
  u_int32_t __tcpm_pad2;
  u_int8_t tcpm_key[80];
};

// *** 16. arpa/inet.h ***
static const int _ARPA_INET_H = 1;
typedef signed char int8_t;
typedef short int int16_t;
typedef int int32_t;
__extension__
typedef long long int int64_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
__extension__
typedef unsigned long long int uint64_t;
typedef signed char int_least8_t;
typedef short int int_least16_t;
typedef int int_least32_t;
__extension__
typedef long long int int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short int uint_least16_t;
typedef unsigned int uint_least32_t;
__extension__
typedef unsigned long long int uint_least64_t;
typedef signed char int_fast8_t;
typedef int int_fast16_t;
typedef int int_fast32_t;
__extension__
typedef long long int int_fast64_t;
typedef unsigned char uint_fast8_t;
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
__extension__
typedef unsigned long long int uint_fast64_t;
typedef int intptr_t;
typedef unsigned int uintptr_t;
__extension__
typedef long long int intmax_t;
__extension__
typedef unsigned long long int uintmax_t;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef unsigned int size_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
struct iovec
  {
    void *iov_base;
    size_t iov_len;
  };
extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec,
     unsigned long int __liovcnt,
     __const struct iovec *__rvec,
     unsigned long int __riovcnt,
     unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec,
      unsigned long int __liovcnt,
      __const struct iovec *__rvec,
      unsigned long int __riovcnt,
      unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count,
         __off_t __offset) ;
extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count,
   __off_t __offset) ;
typedef __socklen_t socklen_t;
enum __socket_type
{
  SOCK_STREAM = 1,
  SOCK_DGRAM = 2,
  SOCK_RAW = 3,
  SOCK_RDM = 4,
  SOCK_SEQPACKET = 5,
  SOCK_DCCP = 6,
  SOCK_PACKET = 10,
  SOCK_CLOEXEC = 02000000,
  SOCK_NONBLOCK = 04000
};
typedef unsigned short int sa_family_t;
struct sockaddr
  {
    sa_family_t sa_family;
    char sa_data[14];
  };
struct sockaddr_storage
  {
    sa_family_t ss_family;
    unsigned long int __ss_align;
    char __ss_padding[(128 - (2 * sizeof (unsigned long int)))];
  };
enum
  {
    MSG_OOB = 0x01,
    MSG_PEEK = 0x02,
    MSG_DONTROUTE = 0x04,
    MSG_CTRUNC = 0x08,
    MSG_PROXY = 0x10,
    MSG_TRUNC = 0x20,
    MSG_DONTWAIT = 0x40,
    MSG_EOR = 0x80,
    MSG_WAITALL = 0x100,
    MSG_FIN = 0x200,
    MSG_SYN = 0x400,
    MSG_CONFIRM = 0x800,
    MSG_RST = 0x1000,
    MSG_ERRQUEUE = 0x2000,
    MSG_NOSIGNAL = 0x4000,
    MSG_MORE = 0x8000,
    MSG_WAITFORONE = 0x10000,
    MSG_CMSG_CLOEXEC = 0x40000000
  };
struct msghdr
  {
    void *msg_name;
    socklen_t msg_namelen;
    struct iovec *msg_iov;
    size_t msg_iovlen;
    void *msg_control;
    size_t msg_controllen;
    int msg_flags;
  };
struct cmsghdr
  {
    size_t cmsg_len;
    int cmsg_level;
    int cmsg_type;
    __extension__ unsigned char __cmsg_data [];
  };
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
          struct cmsghdr *__cmsg) __attribute__ ((__nothrow__ , __leaf__));
enum
  {
    SCM_RIGHTS = 0x01
  };
struct linger
  {
    int l_onoff;
    int l_linger;
  };
extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags,
       __const struct timespec *__tmo);
extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags);
struct osockaddr
  {
    unsigned short int sa_family;
    unsigned char sa_data[14];
  };
enum
{
  SHUT_RD = 0,
  SHUT_WR,
  SHUT_RDWR
};
extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__ , __leaf__));
extern int socketpair (int __domain, int __type, int __protocol,
         int __fds[2]) __attribute__ ((__nothrow__ , __leaf__));
extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     __attribute__ ((__nothrow__ , __leaf__));
extern int getsockname (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len);
extern int getpeername (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags);
extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags);
extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
         int __flags, __const struct sockaddr * __addr,
         socklen_t __addr_len);
extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
    int __flags, struct sockaddr *__restrict __addr,
    socklen_t *__restrict __addr_len);
extern ssize_t sendmsg (int __fd, __const struct msghdr *__message,
   int __flags);
extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
extern int getsockopt (int __fd, int __level, int __optname,
         void *__restrict __optval,
         socklen_t *__restrict __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int setsockopt (int __fd, int __level, int __optname,
         __const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int listen (int __fd, int __n) __attribute__ ((__nothrow__ , __leaf__));
extern int accept (int __fd, struct sockaddr *__restrict __addr,
     socklen_t *__restrict __addr_len);
extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__ , __leaf__));
extern int sockatmark (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__ , __leaf__));
enum
  {
    IPPROTO_IP = 0,
    IPPROTO_HOPOPTS = 0,
    IPPROTO_ICMP = 1,
    IPPROTO_IGMP = 2,
    IPPROTO_IPIP = 4,
    IPPROTO_TCP = 6,
    IPPROTO_EGP = 8,
    IPPROTO_PUP = 12,
    IPPROTO_UDP = 17,
    IPPROTO_IDP = 22,
    IPPROTO_TP = 29,
    IPPROTO_DCCP = 33,
    IPPROTO_IPV6 = 41,
    IPPROTO_ROUTING = 43,
    IPPROTO_FRAGMENT = 44,
    IPPROTO_RSVP = 46,
    IPPROTO_GRE = 47,
    IPPROTO_ESP = 50,
    IPPROTO_AH = 51,
    IPPROTO_ICMPV6 = 58,
    IPPROTO_NONE = 59,
    IPPROTO_DSTOPTS = 60,
    IPPROTO_MTP = 92,
    IPPROTO_ENCAP = 98,
    IPPROTO_PIM = 103,
    IPPROTO_COMP = 108,
    IPPROTO_SCTP = 132,
    IPPROTO_UDPLITE = 136,
    IPPROTO_RAW = 255,
    IPPROTO_MAX
  };
typedef uint16_t in_port_t;
enum
  {
    IPPORT_ECHO = 7,
    IPPORT_DISCARD = 9,
    IPPORT_SYSTAT = 11,
    IPPORT_DAYTIME = 13,
    IPPORT_NETSTAT = 15,
    IPPORT_FTP = 21,
    IPPORT_TELNET = 23,
    IPPORT_SMTP = 25,
    IPPORT_TIMESERVER = 37,
    IPPORT_NAMESERVER = 42,
    IPPORT_WHOIS = 43,
    IPPORT_MTP = 57,
    IPPORT_TFTP = 69,
    IPPORT_RJE = 77,
    IPPORT_FINGER = 79,
    IPPORT_TTYLINK = 87,
    IPPORT_SUPDUP = 95,
    IPPORT_EXECSERVER = 512,
    IPPORT_LOGINSERVER = 513,
    IPPORT_CMDSERVER = 514,
    IPPORT_EFSSERVER = 520,
    IPPORT_BIFFUDP = 512,
    IPPORT_WHOSERVER = 513,
    IPPORT_ROUTESERVER = 520,
    IPPORT_RESERVED = 1024,
    IPPORT_USERRESERVED = 5000
  };
typedef uint32_t in_addr_t;
struct in_addr
  {
    in_addr_t s_addr;
  };
struct in6_addr
  {
    union
      {
 uint8_t __u6_addr8[16];
 uint16_t __u6_addr16[8];
 uint32_t __u6_addr32[4];
      } __in6_u;
  };
extern const struct in6_addr in6addr_any;
extern const struct in6_addr in6addr_loopback;
struct sockaddr_in
  {
    sa_family_t sin_family;
    in_port_t sin_port;
    struct in_addr sin_addr;
    unsigned char sin_zero[sizeof (struct sockaddr) -
      (sizeof (unsigned short int)) -
      sizeof (in_port_t) -
      sizeof (struct in_addr)];
  };
struct sockaddr_in6
  {
    sa_family_t sin6_family;
    in_port_t sin6_port;
    uint32_t sin6_flowinfo;
    struct in6_addr sin6_addr;
    uint32_t sin6_scope_id;
  };
struct ip_mreq
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_interface;
  };
struct ip_mreq_source
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_interface;
    struct in_addr imr_sourceaddr;
  };
struct ipv6_mreq
  {
    struct in6_addr ipv6mr_multiaddr;
    unsigned int ipv6mr_interface;
  };
struct group_req
  {
    uint32_t gr_interface;
    struct sockaddr_storage gr_group;
  };
struct group_source_req
  {
    uint32_t gsr_interface;
    struct sockaddr_storage gsr_group;
    struct sockaddr_storage gsr_source;
  };
struct ip_msfilter
  {
    struct in_addr imsf_multiaddr;
    struct in_addr imsf_interface;
    uint32_t imsf_fmode;
    uint32_t imsf_numsrc;
    struct in_addr imsf_slist[1];
  };
struct group_filter
  {
    uint32_t gf_interface;
    struct sockaddr_storage gf_group;
    uint32_t gf_fmode;
    uint32_t gf_numsrc;
    struct sockaddr_storage gf_slist[1];
};
struct ip_opts
  {
    struct in_addr ip_dst;
    char ip_opts[40];
  };
struct ip_mreqn
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_address;
    int imr_ifindex;
  };
struct in_pktinfo
  {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
  };
extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint16_t ntohs (uint16_t __netshort)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint32_t htonl (uint32_t __hostlong)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint16_t htons (uint16_t __hostshort)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__ , __leaf__));
extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
     __attribute__ ((__nothrow__ , __leaf__));
extern in_addr_t inet_addr (__const char *__cp) __attribute__ ((__nothrow__ , __leaf__));
extern in_addr_t inet_lnaof (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__));
extern struct in_addr inet_makeaddr (in_addr_t __net, in_addr_t __host)
     __attribute__ ((__nothrow__ , __leaf__));
extern in_addr_t inet_netof (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__));
extern in_addr_t inet_network (__const char *__cp) __attribute__ ((__nothrow__ , __leaf__));
extern char *inet_ntoa (struct in_addr __in) __attribute__ ((__nothrow__ , __leaf__));
extern int inet_pton (int __af, __const char *__restrict __cp,
        void *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
extern __const char *inet_ntop (int __af, __const void *__restrict __cp,
    char *__restrict __buf, socklen_t __len)
     __attribute__ ((__nothrow__ , __leaf__));
extern int inet_aton (__const char *__cp, struct in_addr *__inp) __attribute__ ((__nothrow__ , __leaf__));
extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern char *inet_net_ntop (int __af, __const void *__cp, int __bits,
       char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern int inet_net_pton (int __af, __const char *__cp,
     void *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
extern unsigned int inet_nsap_addr (__const char *__cp,
        unsigned char *__buf, int __len) __attribute__ ((__nothrow__ , __leaf__));
extern char *inet_nsap_ntoa (int __len, __const unsigned char *__cp,
        char *__buf) __attribute__ ((__nothrow__ , __leaf__));

// *** 17. netdb.h ***
static const int _NETDB_H = 1;
typedef signed char int8_t;
typedef short int int16_t;
typedef int int32_t;
__extension__
typedef long long int int64_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
__extension__
typedef unsigned long long int uint64_t;
typedef signed char int_least8_t;
typedef short int int_least16_t;
typedef int int_least32_t;
__extension__
typedef long long int int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short int uint_least16_t;
typedef unsigned int uint_least32_t;
__extension__
typedef unsigned long long int uint_least64_t;
typedef signed char int_fast8_t;
typedef int int_fast16_t;
typedef int int_fast32_t;
__extension__
typedef long long int int_fast64_t;
typedef unsigned char uint_fast8_t;
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
__extension__
typedef unsigned long long int uint_fast64_t;
typedef int intptr_t;
typedef unsigned int uintptr_t;
__extension__
typedef long long int intmax_t;
__extension__
typedef unsigned long long int uintmax_t;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef unsigned int size_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
struct iovec
  {
    void *iov_base;
    size_t iov_len;
  };
extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec,
     unsigned long int __liovcnt,
     __const struct iovec *__rvec,
     unsigned long int __riovcnt,
     unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec,
      unsigned long int __liovcnt,
      __const struct iovec *__rvec,
      unsigned long int __riovcnt,
      unsigned long int __flags)
  __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
  ;
extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count,
         __off_t __offset) ;
extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count,
   __off_t __offset) ;
typedef __socklen_t socklen_t;
enum __socket_type
{
  SOCK_STREAM = 1,
  SOCK_DGRAM = 2,
  SOCK_RAW = 3,
  SOCK_RDM = 4,
  SOCK_SEQPACKET = 5,
  SOCK_DCCP = 6,
  SOCK_PACKET = 10,
  SOCK_CLOEXEC = 02000000,
  SOCK_NONBLOCK = 04000
};
typedef unsigned short int sa_family_t;
struct sockaddr
  {
    sa_family_t sa_family;
    char sa_data[14];
  };
struct sockaddr_storage
  {
    sa_family_t ss_family;
    unsigned long int __ss_align;
    char __ss_padding[(128 - (2 * sizeof (unsigned long int)))];
  };
enum
  {
    MSG_OOB = 0x01,
    MSG_PEEK = 0x02,
    MSG_DONTROUTE = 0x04,
    MSG_CTRUNC = 0x08,
    MSG_PROXY = 0x10,
    MSG_TRUNC = 0x20,
    MSG_DONTWAIT = 0x40,
    MSG_EOR = 0x80,
    MSG_WAITALL = 0x100,
    MSG_FIN = 0x200,
    MSG_SYN = 0x400,
    MSG_CONFIRM = 0x800,
    MSG_RST = 0x1000,
    MSG_ERRQUEUE = 0x2000,
    MSG_NOSIGNAL = 0x4000,
    MSG_MORE = 0x8000,
    MSG_WAITFORONE = 0x10000,
    MSG_CMSG_CLOEXEC = 0x40000000
  };
struct msghdr
  {
    void *msg_name;
    socklen_t msg_namelen;
    struct iovec *msg_iov;
    size_t msg_iovlen;
    void *msg_control;
    size_t msg_controllen;
    int msg_flags;
  };
struct cmsghdr
  {
    size_t cmsg_len;
    int cmsg_level;
    int cmsg_type;
    __extension__ unsigned char __cmsg_data [];
  };
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
          struct cmsghdr *__cmsg) __attribute__ ((__nothrow__ , __leaf__));
enum
  {
    SCM_RIGHTS = 0x01
  };
struct linger
  {
    int l_onoff;
    int l_linger;
  };
extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags,
       __const struct timespec *__tmo);
extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
       unsigned int __vlen, int __flags);
struct osockaddr
  {
    unsigned short int sa_family;
    unsigned char sa_data[14];
  };
enum
{
  SHUT_RD = 0,
  SHUT_WR,
  SHUT_RDWR
};
extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__ , __leaf__));
extern int socketpair (int __domain, int __type, int __protocol,
         int __fds[2]) __attribute__ ((__nothrow__ , __leaf__));
extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     __attribute__ ((__nothrow__ , __leaf__));
extern int getsockname (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len);
extern int getpeername (int __fd, struct sockaddr *__restrict __addr,
   socklen_t *__restrict __len) __attribute__ ((__nothrow__ , __leaf__));
extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags);
extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags);
extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
         int __flags, __const struct sockaddr * __addr,
         socklen_t __addr_len);
extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
    int __flags, struct sockaddr *__restrict __addr,
    socklen_t *__restrict __addr_len);
extern ssize_t sendmsg (int __fd, __const struct msghdr *__message,
   int __flags);
extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
extern int getsockopt (int __fd, int __level, int __optname,
         void *__restrict __optval,
         socklen_t *__restrict __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int setsockopt (int __fd, int __level, int __optname,
         __const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__ , __leaf__));
extern int listen (int __fd, int __n) __attribute__ ((__nothrow__ , __leaf__));
extern int accept (int __fd, struct sockaddr *__restrict __addr,
     socklen_t *__restrict __addr_len);
extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__ , __leaf__));
extern int sockatmark (int __fd) __attribute__ ((__nothrow__ , __leaf__));
extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__ , __leaf__));
enum
  {
    IPPROTO_IP = 0,
    IPPROTO_HOPOPTS = 0,
    IPPROTO_ICMP = 1,
    IPPROTO_IGMP = 2,
    IPPROTO_IPIP = 4,
    IPPROTO_TCP = 6,
    IPPROTO_EGP = 8,
    IPPROTO_PUP = 12,
    IPPROTO_UDP = 17,
    IPPROTO_IDP = 22,
    IPPROTO_TP = 29,
    IPPROTO_DCCP = 33,
    IPPROTO_IPV6 = 41,
    IPPROTO_ROUTING = 43,
    IPPROTO_FRAGMENT = 44,
    IPPROTO_RSVP = 46,
    IPPROTO_GRE = 47,
    IPPROTO_ESP = 50,
    IPPROTO_AH = 51,
    IPPROTO_ICMPV6 = 58,
    IPPROTO_NONE = 59,
    IPPROTO_DSTOPTS = 60,
    IPPROTO_MTP = 92,
    IPPROTO_ENCAP = 98,
    IPPROTO_PIM = 103,
    IPPROTO_COMP = 108,
    IPPROTO_SCTP = 132,
    IPPROTO_UDPLITE = 136,
    IPPROTO_RAW = 255,
    IPPROTO_MAX
  };
typedef uint16_t in_port_t;
enum
  {
    IPPORT_ECHO = 7,
    IPPORT_DISCARD = 9,
    IPPORT_SYSTAT = 11,
    IPPORT_DAYTIME = 13,
    IPPORT_NETSTAT = 15,
    IPPORT_FTP = 21,
    IPPORT_TELNET = 23,
    IPPORT_SMTP = 25,
    IPPORT_TIMESERVER = 37,
    IPPORT_NAMESERVER = 42,
    IPPORT_WHOIS = 43,
    IPPORT_MTP = 57,
    IPPORT_TFTP = 69,
    IPPORT_RJE = 77,
    IPPORT_FINGER = 79,
    IPPORT_TTYLINK = 87,
    IPPORT_SUPDUP = 95,
    IPPORT_EXECSERVER = 512,
    IPPORT_LOGINSERVER = 513,
    IPPORT_CMDSERVER = 514,
    IPPORT_EFSSERVER = 520,
    IPPORT_BIFFUDP = 512,
    IPPORT_WHOSERVER = 513,
    IPPORT_ROUTESERVER = 520,
    IPPORT_RESERVED = 1024,
    IPPORT_USERRESERVED = 5000
  };
typedef uint32_t in_addr_t;
struct in_addr
  {
    in_addr_t s_addr;
  };
struct in6_addr
  {
    union
      {
 uint8_t __u6_addr8[16];
 uint16_t __u6_addr16[8];
 uint32_t __u6_addr32[4];
      } __in6_u;
  };
extern const struct in6_addr in6addr_any;
extern const struct in6_addr in6addr_loopback;
struct sockaddr_in
  {
    sa_family_t sin_family;
    in_port_t sin_port;
    struct in_addr sin_addr;
    unsigned char sin_zero[sizeof (struct sockaddr) -
      (sizeof (unsigned short int)) -
      sizeof (in_port_t) -
      sizeof (struct in_addr)];
  };
struct sockaddr_in6
  {
    sa_family_t sin6_family;
    in_port_t sin6_port;
    uint32_t sin6_flowinfo;
    struct in6_addr sin6_addr;
    uint32_t sin6_scope_id;
  };
struct ip_mreq
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_interface;
  };
struct ip_mreq_source
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_interface;
    struct in_addr imr_sourceaddr;
  };
struct ipv6_mreq
  {
    struct in6_addr ipv6mr_multiaddr;
    unsigned int ipv6mr_interface;
  };
struct group_req
  {
    uint32_t gr_interface;
    struct sockaddr_storage gr_group;
  };
struct group_source_req
  {
    uint32_t gsr_interface;
    struct sockaddr_storage gsr_group;
    struct sockaddr_storage gsr_source;
  };
struct ip_msfilter
  {
    struct in_addr imsf_multiaddr;
    struct in_addr imsf_interface;
    uint32_t imsf_fmode;
    uint32_t imsf_numsrc;
    struct in_addr imsf_slist[1];
  };
struct group_filter
  {
    uint32_t gf_interface;
    struct sockaddr_storage gf_group;
    uint32_t gf_fmode;
    uint32_t gf_numsrc;
    struct sockaddr_storage gf_slist[1];
};
struct ip_opts
  {
    struct in_addr ip_dst;
    char ip_opts[40];
  };
struct ip_mreqn
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_address;
    int imr_ifindex;
  };
struct in_pktinfo
  {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
  };
extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint16_t ntohs (uint16_t __netshort)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint32_t htonl (uint32_t __hostlong)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern uint16_t htons (uint16_t __hostshort)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__ , __leaf__));
extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
     __attribute__ ((__nothrow__ , __leaf__));
static const int _RPC_NETDB_H = 1;
struct rpcent
{
  char *r_name;
  char **r_aliases;
  int r_number;
};
extern void setrpcent (int __stayopen) __attribute__ ((__nothrow__ , __leaf__));
extern void endrpcent (void) __attribute__ ((__nothrow__ , __leaf__));
extern struct rpcent *getrpcbyname (__const char *__name) __attribute__ ((__nothrow__ , __leaf__));
extern struct rpcent *getrpcbynumber (int __number) __attribute__ ((__nothrow__ , __leaf__));
extern struct rpcent *getrpcent (void) __attribute__ ((__nothrow__ , __leaf__));
extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf,
      char *__buffer, size_t __buflen,
      struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__));
extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf,
        char *__buffer, size_t __buflen,
        struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__));
extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer,
   size_t __buflen, struct rpcent **__result) __attribute__ ((__nothrow__ , __leaf__));
struct netent
{
  char *n_name;
  char **n_aliases;
  int n_addrtype;
  uint32_t n_net;
};
static const char _PATH_HEQUIV = "/etc/hosts.equiv";
static const char _PATH_HOSTS = "/etc/hosts";
static const char _PATH_NETWORKS = "/etc/networks";
static const char _PATH_NSSWITCH_CONF = "/etc/nsswitch.conf";
static const char _PATH_PROTOCOLS = "/etc/protocols";
static const char _PATH_SERVICES = "/etc/services";
static const int h_errno = (*__h_errno_location ());
extern int *__h_errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
static const int HOST_NOT_FOUND = 1;
static const int TRY_AGAIN = 2;
static const int NO_RECOVERY = 3;
static const int NO_DATA = 4;
static const int NETDB_INTERNAL = -1;
static const int NETDB_SUCCESS = 0;
static const int NO_ADDRESS = NO_DATA;
static const int IPPORT_RESERVED = 1024;
extern void herror (__const char *__str) __attribute__ ((__nothrow__ , __leaf__));
extern __const char *hstrerror (int __err_num) __attribute__ ((__nothrow__ , __leaf__));
struct hostent
{
  char *h_name;
  char **h_aliases;
  int h_addrtype;
  int h_length;
  char **h_addr_list;
static const int h_addr = h_addr_list[0];
};
extern void sethostent (int __stay_open);
extern void endhostent (void);
extern struct hostent *gethostent (void);
extern struct hostent *gethostbyaddr (__const void *__addr, __socklen_t __len,
          int __type);
extern struct hostent *gethostbyname (__const char *__name);
extern struct hostent *gethostbyname2 (__const char *__name, int __af);
extern int gethostent_r (struct hostent *__restrict __result_buf,
    char *__restrict __buf, size_t __buflen,
    struct hostent **__restrict __result,
    int *__restrict __h_errnop);
extern int gethostbyaddr_r (__const void *__restrict __addr, __socklen_t __len,
       int __type,
       struct hostent *__restrict __result_buf,
       char *__restrict __buf, size_t __buflen,
       struct hostent **__restrict __result,
       int *__restrict __h_errnop);
extern int gethostbyname_r (__const char *__restrict __name,
       struct hostent *__restrict __result_buf,
       char *__restrict __buf, size_t __buflen,
       struct hostent **__restrict __result,
       int *__restrict __h_errnop);
extern int gethostbyname2_r (__const char *__restrict __name, int __af,
        struct hostent *__restrict __result_buf,
        char *__restrict __buf, size_t __buflen,
        struct hostent **__restrict __result,
        int *__restrict __h_errnop);
extern void setnetent (int __stay_open);
extern void endnetent (void);
extern struct netent *getnetent (void);
extern struct netent *getnetbyaddr (uint32_t __net, int __type);
extern struct netent *getnetbyname (__const char *__name);
extern int getnetent_r (struct netent *__restrict __result_buf,
   char *__restrict __buf, size_t __buflen,
   struct netent **__restrict __result,
   int *__restrict __h_errnop);
extern int getnetbyaddr_r (uint32_t __net, int __type,
      struct netent *__restrict __result_buf,
      char *__restrict __buf, size_t __buflen,
      struct netent **__restrict __result,
      int *__restrict __h_errnop);
extern int getnetbyname_r (__const char *__restrict __name,
      struct netent *__restrict __result_buf,
      char *__restrict __buf, size_t __buflen,
      struct netent **__restrict __result,
      int *__restrict __h_errnop);
struct servent
{
  char *s_name;
  char **s_aliases;
  int s_port;
  char *s_proto;
};
extern void setservent (int __stay_open);
extern void endservent (void);
extern struct servent *getservent (void);
extern struct servent *getservbyname (__const char *__name,
          __const char *__proto);
extern struct servent *getservbyport (int __port, __const char *__proto);
extern int getservent_r (struct servent *__restrict __result_buf,
    char *__restrict __buf, size_t __buflen,
    struct servent **__restrict __result);
extern int getservbyname_r (__const char *__restrict __name,
       __const char *__restrict __proto,
       struct servent *__restrict __result_buf,
       char *__restrict __buf, size_t __buflen,
       struct servent **__restrict __result);
extern int getservbyport_r (int __port, __const char *__restrict __proto,
       struct servent *__restrict __result_buf,
       char *__restrict __buf, size_t __buflen,
       struct servent **__restrict __result);
struct protoent
{
  char *p_name;
  char **p_aliases;
  int p_proto;
};
extern void setprotoent (int __stay_open);
extern void endprotoent (void);
extern struct protoent *getprotoent (void);
extern struct protoent *getprotobyname (__const char *__name);
extern struct protoent *getprotobynumber (int __proto);
extern int getprotoent_r (struct protoent *__restrict __result_buf,
     char *__restrict __buf, size_t __buflen,
     struct protoent **__restrict __result);
extern int getprotobyname_r (__const char *__restrict __name,
        struct protoent *__restrict __result_buf,
        char *__restrict __buf, size_t __buflen,
        struct protoent **__restrict __result);
extern int getprotobynumber_r (int __proto,
          struct protoent *__restrict __result_buf,
          char *__restrict __buf, size_t __buflen,
          struct protoent **__restrict __result);
extern int setnetgrent (__const char *__netgroup);
extern void endnetgrent (void);
extern int getnetgrent (char **__restrict __hostp,
   char **__restrict __userp,
   char **__restrict __domainp);
extern int innetgr (__const char *__netgroup, __const char *__host,
      __const char *__user, __const char *__domain);
extern int getnetgrent_r (char **__restrict __hostp,
     char **__restrict __userp,
     char **__restrict __domainp,
     char *__restrict __buffer, size_t __buflen);
extern int rcmd (char **__restrict __ahost, unsigned short int __rport,
   __const char *__restrict __locuser,
   __const char *__restrict __remuser,
   __const char *__restrict __cmd, int *__restrict __fd2p);
extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport,
      __const char *__restrict __locuser,
      __const char *__restrict __remuser,
      __const char *__restrict __cmd, int *__restrict __fd2p,
      sa_family_t __af);
extern int rexec (char **__restrict __ahost, int __rport,
    __const char *__restrict __name,
    __const char *__restrict __pass,
    __const char *__restrict __cmd, int *__restrict __fd2p);
extern int rexec_af (char **__restrict __ahost, int __rport,
       __const char *__restrict __name,
       __const char *__restrict __pass,
       __const char *__restrict __cmd, int *__restrict __fd2p,
       sa_family_t __af);
extern int ruserok (__const char *__rhost, int __suser,
      __const char *__remuser, __const char *__locuser);
extern int ruserok_af (__const char *__rhost, int __suser,
         __const char *__remuser, __const char *__locuser,
         sa_family_t __af);
extern int iruserok (uint32_t __raddr, int __suser,
       __const char *__remuser, __const char *__locuser);
extern int iruserok_af (__const void *__raddr, int __suser,
   __const char *__remuser, __const char *__locuser,
   sa_family_t __af);
extern int rresvport (int *__alport);
extern int rresvport_af (int *__alport, sa_family_t __af);
struct addrinfo
{
  int ai_flags;
  int ai_family;
  int ai_socktype;
  int ai_protocol;
  socklen_t ai_addrlen;
  struct sockaddr *ai_addr;
  char *ai_canonname;
  struct addrinfo *ai_next;
};
static const int AI_PASSIVE = 0x0001;
static const int AI_CANONNAME = 0x0002;
static const int AI_NUMERICHOST = 0x0004;
static const int AI_V4MAPPED = 0x0008;
static const int AI_ALL = 0x0010;
static const int AI_ADDRCONFIG = 0x0020;
static const int AI_NUMERICSERV = 0x0400;
static const int EAI_BADFLAGS = -1;
static const int EAI_NONAME = -2;
static const int EAI_AGAIN = -3;
static const int EAI_FAIL = -4;
static const int EAI_FAMILY = -6;
static const int EAI_SOCKTYPE = -7;
static const int EAI_SERVICE = -8;
static const int EAI_MEMORY = -10;
static const int EAI_SYSTEM = -11;
static const int EAI_OVERFLOW = -12;
static const int NI_MAXHOST = 1025;
static const int NI_MAXSERV = 32;
static const int NI_NUMERICHOST = 1;
static const int NI_NUMERICSERV = 2;
static const int NI_NOFQDN = 4;
static const int NI_NAMEREQD = 8;
static const int NI_DGRAM = 16;
extern int getaddrinfo (__const char *__restrict __name,
   __const char *__restrict __service,
   __const struct addrinfo *__restrict __req,
   struct addrinfo **__restrict __pai);
extern void freeaddrinfo (struct addrinfo *__ai) __attribute__ ((__nothrow__ , __leaf__));
extern __const char *gai_strerror (int __ecode) __attribute__ ((__nothrow__ , __leaf__));
extern int getnameinfo (__const struct sockaddr *__restrict __sa,
   socklen_t __salen, char *__restrict __host,
   socklen_t __hostlen, char *__restrict __serv,
   socklen_t __servlen, int __flags);

// *** 18. pthread.h ***
static const int _PTHREAD_H = 1;
static const int _SCHED_H = 1;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
typedef unsigned int size_t;
typedef __time_t time_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
typedef __pid_t pid_t;
static const int SCHED_OTHER = 0;
static const int SCHED_FIFO = 1;
static const int SCHED_RR = 2;
struct sched_param
  {
    int __sched_priority;
  };
static const int __defined_schedparam = 1;
struct __sched_param
  {
    int __sched_priority;
  };
static const int __CPU_SETSIZE = 1024;
static const int __NCPUBITS = (8 * sizeof (__cpu_mask));
typedef unsigned long int __cpu_mask;
static const int __CPUELT(cpu) = ((cpu) / __NCPUBITS);
static const int __CPUMASK(cpu) = ((__cpu_mask) 1 << ((cpu) % __NCPUBITS));
typedef struct
{
  __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
} cpu_set_t;
static const int __CPU_ZERO_S(setsize,cpusetp) = do __builtin_memset (cpusetp, '\0', setsize); while (0);
static const int __CPU_SET_S(cpu,setsize,cpusetp) = (__extension__ ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }));
static const int __CPU_CLR_S(cpu,setsize,cpusetp) = (__extension__ ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }));
static const int __CPU_ISSET_S(cpu,setsize,cpusetp) = (__extension__ ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? ((((__const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; }));
static const int __CPU_COUNT_S(setsize,cpusetp) = __sched_cpucount (setsize, cpusetp);
static const int __CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) = (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0);
static const int __CPU_OP_S(setsize,destset,srcset1,srcset2,op) = (__extension__ ({ cpu_set_t *__dest = (destset); __const __cpu_mask *__arr1 = (srcset1)->__bits; __const __cpu_mask *__arr2 = (srcset2)->__bits; size_t __imax = (setsize) / sizeof (__cpu_mask); size_t __i; for (__i = 0; __i < __imax; ++__i) ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; __dest; }));
static const int __CPU_ALLOC_SIZE(count) = ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask));
static const int __CPU_ALLOC(count) = __sched_cpualloc (count);
static const int __CPU_FREE(cpuset) = __sched_cpufree (cpuset);
extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
  __attribute__ ((__nothrow__ , __leaf__));
extern cpu_set_t *__sched_cpualloc (size_t __count) __attribute__ ((__nothrow__ , __leaf__)) ;
extern void __sched_cpufree (cpu_set_t *__set) __attribute__ ((__nothrow__ , __leaf__));
static const int sched_priority = __sched_priority;
extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
     __attribute__ ((__nothrow__ , __leaf__));
extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__ , __leaf__));
extern int sched_setscheduler (__pid_t __pid, int __policy,
          __const struct sched_param *__param) __attribute__ ((__nothrow__ , __leaf__));
extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
extern int sched_yield (void) __attribute__ ((__nothrow__ , __leaf__));
extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__ , __leaf__));
extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__ , __leaf__));
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__ , __leaf__));
typedef __clock_t clock_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
struct tm
{
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;
  long int tm_gmtoff;
  __const char *tm_zone;
};
struct itimerspec
  {
    struct timespec it_interval;
    struct timespec it_value;
  };
struct sigevent;
extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__));
extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern double difftime (time_t __time1, time_t __time0)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern size_t strftime (char *__restrict __s, size_t __maxsize,
   __const char *__restrict __format,
   __const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
typedef struct __locale_struct
{
  struct __locale_data *__locales[13];
  const unsigned short int *__ctype_b;
  const int *__ctype_tolower;
  const int *__ctype_toupper;
  const char *__names[13];
} *__locale_t;
typedef __locale_t locale_t;
extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
     __const char *__restrict __format,
     __const struct tm *__restrict __tp,
     __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *gmtime_r (__const time_t *__restrict __timer,
       struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
extern struct tm *localtime_r (__const time_t *__restrict __timer,
          struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
extern char *asctime_r (__const struct tm *__restrict __tp,
   char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
extern char *ctime_r (__const time_t *__restrict __timer,
        char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;
extern char *tzname[2];
extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__));
extern int daylight;
extern long int timezone;
extern int stime (__const time_t *__when) __attribute__ ((__nothrow__ , __leaf__));
extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern int nanosleep (__const struct timespec *__requested_time,
        struct timespec *__remaining);
extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__));
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__));
extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
     __attribute__ ((__nothrow__ , __leaf__));
extern int clock_nanosleep (clockid_t __clock_id, int __flags,
       __const struct timespec *__req,
       struct timespec *__rem);
extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_create (clockid_t __clock_id,
    struct sigevent *__restrict __evp,
    timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_settime (timer_t __timerid, int __flags,
     __const struct itimerspec *__restrict __value,
     struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__));
extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
     __attribute__ ((__nothrow__ , __leaf__));
extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
static const int _BITS_SETJMP_H = 1;
typedef int __jmp_buf[6];
enum
{
  PTHREAD_CREATE_JOINABLE,
static const int PTHREAD_CREATE_JOINABLE = PTHREAD_CREATE_JOINABLE;
  PTHREAD_CREATE_DETACHED
static const int PTHREAD_CREATE_DETACHED = PTHREAD_CREATE_DETACHED;
};
enum
{
  PTHREAD_MUTEX_TIMED_NP,
  PTHREAD_MUTEX_RECURSIVE_NP,
  PTHREAD_MUTEX_ERRORCHECK_NP,
  PTHREAD_MUTEX_ADAPTIVE_NP
  ,
  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
};
enum
{
  PTHREAD_MUTEX_STALLED,
  PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
  PTHREAD_MUTEX_ROBUST,
  PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
};
static const int PTHREAD_MUTEX_INITIALIZER = { { 0, 0, 0, 0, 0, { 0 } } };
enum
{
  PTHREAD_RWLOCK_PREFER_READER_NP,
  PTHREAD_RWLOCK_PREFER_WRITER_NP,
  PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
  PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
};
static const int PTHREAD_RWLOCK_INITIALIZER = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };
enum
{
  PTHREAD_INHERIT_SCHED,
static const int PTHREAD_INHERIT_SCHED = PTHREAD_INHERIT_SCHED;
  PTHREAD_EXPLICIT_SCHED
static const int PTHREAD_EXPLICIT_SCHED = PTHREAD_EXPLICIT_SCHED;
};
enum
{
  PTHREAD_SCOPE_SYSTEM,
static const int PTHREAD_SCOPE_SYSTEM = PTHREAD_SCOPE_SYSTEM;
  PTHREAD_SCOPE_PROCESS
static const int PTHREAD_SCOPE_PROCESS = PTHREAD_SCOPE_PROCESS;
};
enum
{
  PTHREAD_PROCESS_PRIVATE,
static const int PTHREAD_PROCESS_PRIVATE = PTHREAD_PROCESS_PRIVATE;
  PTHREAD_PROCESS_SHARED
static const int PTHREAD_PROCESS_SHARED = PTHREAD_PROCESS_SHARED;
};
static const int PTHREAD_COND_INITIALIZER = { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } };
struct _pthread_cleanup_buffer
{
  void (*__routine) (void *);
  void *__arg;
  int __canceltype;
  struct _pthread_cleanup_buffer *__prev;
};
enum
{
  PTHREAD_CANCEL_ENABLE,
static const int PTHREAD_CANCEL_ENABLE = PTHREAD_CANCEL_ENABLE;
  PTHREAD_CANCEL_DISABLE
static const int PTHREAD_CANCEL_DISABLE = PTHREAD_CANCEL_DISABLE;
};
enum
{
  PTHREAD_CANCEL_DEFERRED,
static const int PTHREAD_CANCEL_DEFERRED = PTHREAD_CANCEL_DEFERRED;
  PTHREAD_CANCEL_ASYNCHRONOUS
static const int PTHREAD_CANCEL_ASYNCHRONOUS = PTHREAD_CANCEL_ASYNCHRONOUS;
};
static const int PTHREAD_CANCELED = ((void *) -1);
static const int PTHREAD_ONCE_INIT = 0;
static const int PTHREAD_BARRIER_SERIAL_THREAD = -1;
extern int pthread_create (pthread_t *__restrict __newthread,
      __const pthread_attr_t *__restrict __attr,
      void *(*__start_routine) (void *),
      void *__restrict __arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
extern int pthread_join (pthread_t __th, void **__thread_return);
extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__ , __leaf__));
extern pthread_t pthread_self (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__ , __leaf__));
extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_destroy (pthread_attr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
     int *__detachstate)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
     int __detachstate)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
          size_t *__guardsize)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
          size_t __guardsize)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
           __attr,
           struct sched_param *__restrict __param)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
           __const struct sched_param *__restrict
           __param) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
     __attr, int *__restrict __policy)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
      __attr, int *__restrict __inherit)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
      int __inherit)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
      int *__restrict __scope)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
          __attr, void **__restrict __stackaddr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
          void *__stackaddr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
          __attr, size_t *__restrict __stacksize)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
          size_t __stacksize)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
      void **__restrict __stackaddr,
      size_t *__restrict __stacksize)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3)));
extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
      size_t __stacksize) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
      __const struct sched_param *__param)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
extern int pthread_getschedparam (pthread_t __target_thread,
      int *__restrict __policy,
      struct sched_param *__restrict __param)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
     __attribute__ ((__nothrow__ , __leaf__));
extern int pthread_once (pthread_once_t *__once_control,
    void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_setcancelstate (int __state, int *__oldstate);
extern int pthread_setcanceltype (int __type, int *__oldtype);
extern int pthread_cancel (pthread_t __th);
extern void pthread_testcancel (void);
typedef struct
{
  struct
  {
    __jmp_buf __cancel_jmp_buf;
    int __mask_was_saved;
  } __cancel_jmp_buf[1];
  void *__pad[4];
} __pthread_unwind_buf_t __attribute__ ((__aligned__));
struct __pthread_cleanup_frame
{
  void (*__cancel_routine) (void *);
  void *__cancel_arg;
  int __do_it;
  int __cancel_type;
};
static const int pthread_cleanup_push(routine,arg) = do { __pthread_unwind_buf_t __cancel_buf; void (*__cancel_routine) (void *) = (routine); void *__cancel_arg = (arg); int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *) __cancel_buf.__cancel_jmp_buf, 0); if (__builtin_expect (__not_first_call, 0)) { __cancel_routine (__cancel_arg); __pthread_unwind_next (&__cancel_buf); } __pthread_register_cancel (&__cancel_buf); do {;
extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
     __attribute__ ((__regparm__ (1)));
static const int pthread_cleanup_pop(execute) = do { } while (0); } while (0); __pthread_unregister_cancel (&__cancel_buf); if (execute) __cancel_routine (__cancel_arg); } while (0);
extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
  __attribute__ ((__regparm__ (1)));
extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
     __attribute__ ((__regparm__ (1))) __attribute__ ((__noreturn__))
     __attribute__ ((__weak__))
     ;
struct __jmp_buf_tag;
extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __attribute__ ((__nothrow__ , __leaf__));
extern int pthread_mutex_init (pthread_mutex_t *__mutex,
          __const pthread_mutexattr_t *__mutexattr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
        __const struct timespec *__restrict
        __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
      __restrict __mutex,
      int *__restrict __prioceiling)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
      int __prioceiling,
      int *__restrict __old_ceiling)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
      __restrict __attr,
      int *__restrict __pshared)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
      int __pshared)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
          __attr, int *__restrict __kind)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
       __restrict __attr,
       int *__restrict __protocol)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
       int __protocol)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
          __restrict __attr,
          int *__restrict __prioceiling)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
          int __prioceiling)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_getrobust (__const pthread_mutexattr_t *__attr,
     int *__robustness)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
     int __robustness)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
    __const pthread_rwlockattr_t *__restrict
    __attr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
           __const struct timespec *__restrict
           __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
           __const struct timespec *__restrict
           __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
       __restrict __attr,
       int *__restrict __pshared)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
       int __pshared)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
       __restrict __attr,
       int *__restrict __pref)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
       int __pref) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
         __const pthread_condattr_t *__restrict
         __cond_attr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_destroy (pthread_cond_t *__cond)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_signal (pthread_cond_t *__cond)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_broadcast (pthread_cond_t *__cond)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
         pthread_mutex_t *__restrict __mutex)
     __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
       pthread_mutex_t *__restrict __mutex,
       __const struct timespec *__restrict
       __abstime) __attribute__ ((__nonnull__ (1, 2, 3)));
extern int pthread_condattr_init (pthread_condattr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_condattr_getpshared (__const pthread_condattr_t *
     __restrict __attr,
     int *__restrict __pshared)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
     int __pshared) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_condattr_getclock (__const pthread_condattr_t *
          __restrict __attr,
          __clockid_t *__restrict __clock_id)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
          __clockid_t __clock_id)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_lock (pthread_spinlock_t *__lock)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
     __const pthread_barrierattr_t *__restrict
     __attr, unsigned int __count)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
        __restrict __attr,
        int *__restrict __pshared)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
        int __pshared)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_key_create (pthread_key_t *__key,
          void (*__destr_function) (void *))
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__ , __leaf__));
extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__ , __leaf__));
extern int pthread_setspecific (pthread_key_t __key,
    __const void *__pointer) __attribute__ ((__nothrow__ , __leaf__)) ;
extern int pthread_getcpuclockid (pthread_t __thread_id,
      __clockid_t *__clock_id)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern int pthread_atfork (void (*__prepare) (void),
      void (*__parent) (void),
      void (*__child) (void)) __attribute__ ((__nothrow__ , __leaf__));

// *** 19. signal.h ***
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
static const int _SIGSET_H_fns = 1;
static const int _EXTERN_INLINE = __extern_inline;
static const int __sigmask(sig) = (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned long int))));
static const int __sigword(sig) = (((sig) - 1) / (8 * sizeof (unsigned long int)));
static const int __sigemptyset(set) = (__extension__ ({ int __cnt = _SIGSET_NWORDS; sigset_t *__set = (set); while (--__cnt >= 0) __set->__val[__cnt] = 0; 0; }));
static const int __sigfillset(set) = (__extension__ ({ int __cnt = _SIGSET_NWORDS; sigset_t *__set = (set); while (--__cnt >= 0) __set->__val[__cnt] = ~0UL; 0; }));
extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
typedef __sig_atomic_t sig_atomic_t;
typedef __sigset_t sigset_t;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef void * __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
static const int SIG_ERR = ((__sighandler_t) -1);
static const int SIG_DFL = ((__sighandler_t) 0);
static const int SIG_IGN = ((__sighandler_t) 1);
static const int SIGHUP = 1;
static const int SIGINT = 2;
static const int SIGQUIT = 3;
static const int SIGILL = 4;
static const int SIGTRAP = 5;
static const int SIGABRT = 6;
static const int SIGIOT = 6;
static const int SIGBUS = 7;
static const int SIGFPE = 8;
static const int SIGKILL = 9;
static const int SIGUSR1 = 10;
static const int SIGSEGV = 11;
static const int SIGUSR2 = 12;
static const int SIGPIPE = 13;
static const int SIGALRM = 14;
static const int SIGTERM = 15;
static const int SIGSTKFLT = 16;
static const int SIGCLD = SIGCHLD;
static const int SIGCHLD = 17;
static const int SIGCONT = 18;
static const int SIGSTOP = 19;
static const int SIGTSTP = 20;
static const int SIGTTIN = 21;
static const int SIGTTOU = 22;
static const int SIGURG = 23;
static const int SIGXCPU = 24;
static const int SIGXFSZ = 25;
static const int SIGVTALRM = 26;
static const int SIGPROF = 27;
static const int SIGWINCH = 28;
static const int SIGPOLL = SIGIO;
static const int SIGIO = 29;
static const int SIGPWR = 30;
static const int SIGSYS = 31;
static const int SIGUNUSED = 31;
static const int _NSIG = 65;
static const int SIGRTMIN = (__libc_current_sigrtmin ());
static const int SIGRTMAX = (__libc_current_sigrtmax ());
static const int __SIGRTMIN = 32;
static const int __SIGRTMAX = (_NSIG - 1);
typedef __pid_t pid_t;
typedef __uid_t uid_t;
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
static const int __have_sigval_t = 1;
typedef union sigval
  {
    int sival_int;
    void *sival_ptr;
  } sigval_t;
static const int __have_siginfo_t = 1;
static const int __SI_MAX_SIZE = 128;
static const int __SI_PAD_SIZE = ((__SI_MAX_SIZE / sizeof (int)) - 3);
typedef struct siginfo
  {
    int si_signo;
    int si_errno;
    int si_code;
    union
      {
 int _pad[((128 / sizeof (int)) - 3)];
 struct
   {
     __pid_t si_pid;
     __uid_t si_uid;
   } _kill;
 struct
   {
     int si_tid;
     int si_overrun;
     sigval_t si_sigval;
   } _timer;
 struct
   {
     __pid_t si_pid;
     __uid_t si_uid;
     sigval_t si_sigval;
   } _rt;
 struct
   {
     __pid_t si_pid;
     __uid_t si_uid;
     int si_status;
     __clock_t si_utime;
     __clock_t si_stime;
   } _sigchld;
 struct
   {
     void *si_addr;
   } _sigfault;
 struct
   {
     long int si_band;
     int si_fd;
   } _sigpoll;
      } _sifields;
  } siginfo_t;
static const int si_pid = _sifields._kill.si_pid;
static const int si_uid = _sifields._kill.si_uid;
static const int si_timerid = _sifields._timer.si_tid;
static const int si_overrun = _sifields._timer.si_overrun;
static const int si_status = _sifields._sigchld.si_status;
static const int si_utime = _sifields._sigchld.si_utime;
static const int si_stime = _sifields._sigchld.si_stime;
static const int si_value = _sifields._rt.si_sigval;
static const int si_int = _sifields._rt.si_sigval.sival_int;
static const int si_ptr = _sifields._rt.si_sigval.sival_ptr;
static const int si_addr = _sifields._sigfault.si_addr;
static const int si_band = _sifields._sigpoll.si_band;
static const int si_fd = _sifields._sigpoll.si_fd;
enum
{
  SI_ASYNCNL = -60,
static const int SI_ASYNCNL = SI_ASYNCNL;
  SI_TKILL = -6,
static const int SI_TKILL = SI_TKILL;
  SI_SIGIO,
static const int SI_SIGIO = SI_SIGIO;
  SI_ASYNCIO,
static const int SI_ASYNCIO = SI_ASYNCIO;
  SI_MESGQ,
static const int SI_MESGQ = SI_MESGQ;
  SI_TIMER,
static const int SI_TIMER = SI_TIMER;
  SI_QUEUE,
static const int SI_QUEUE = SI_QUEUE;
  SI_USER,
static const int SI_USER = SI_USER;
  SI_KERNEL = 0x80
static const int SI_KERNEL = SI_KERNEL;
};
enum
{
  ILL_ILLOPC = 1,
static const int ILL_ILLOPC = ILL_ILLOPC;
  ILL_ILLOPN,
static const int ILL_ILLOPN = ILL_ILLOPN;
  ILL_ILLADR,
static const int ILL_ILLADR = ILL_ILLADR;
  ILL_ILLTRP,
static const int ILL_ILLTRP = ILL_ILLTRP;
  ILL_PRVOPC,
static const int ILL_PRVOPC = ILL_PRVOPC;
  ILL_PRVREG,
static const int ILL_PRVREG = ILL_PRVREG;
  ILL_COPROC,
static const int ILL_COPROC = ILL_COPROC;
  ILL_BADSTK
static const int ILL_BADSTK = ILL_BADSTK;
};
enum
{
  FPE_INTDIV = 1,
static const int FPE_INTDIV = FPE_INTDIV;
  FPE_INTOVF,
static const int FPE_INTOVF = FPE_INTOVF;
  FPE_FLTDIV,
static const int FPE_FLTDIV = FPE_FLTDIV;
  FPE_FLTOVF,
static const int FPE_FLTOVF = FPE_FLTOVF;
  FPE_FLTUND,
static const int FPE_FLTUND = FPE_FLTUND;
  FPE_FLTRES,
static const int FPE_FLTRES = FPE_FLTRES;
  FPE_FLTINV,
static const int FPE_FLTINV = FPE_FLTINV;
  FPE_FLTSUB
static const int FPE_FLTSUB = FPE_FLTSUB;
};
enum
{
  SEGV_MAPERR = 1,
static const int SEGV_MAPERR = SEGV_MAPERR;
  SEGV_ACCERR
static const int SEGV_ACCERR = SEGV_ACCERR;
};
enum
{
  BUS_ADRALN = 1,
static const int BUS_ADRALN = BUS_ADRALN;
  BUS_ADRERR,
static const int BUS_ADRERR = BUS_ADRERR;
  BUS_OBJERR
static const int BUS_OBJERR = BUS_OBJERR;
};
enum
{
  TRAP_BRKPT = 1,
static const int TRAP_BRKPT = TRAP_BRKPT;
  TRAP_TRACE
static const int TRAP_TRACE = TRAP_TRACE;
};
enum
{
  CLD_EXITED = 1,
static const int CLD_EXITED = CLD_EXITED;
  CLD_KILLED,
static const int CLD_KILLED = CLD_KILLED;
  CLD_DUMPED,
static const int CLD_DUMPED = CLD_DUMPED;
  CLD_TRAPPED,
static const int CLD_TRAPPED = CLD_TRAPPED;
  CLD_STOPPED,
static const int CLD_STOPPED = CLD_STOPPED;
  CLD_CONTINUED
static const int CLD_CONTINUED = CLD_CONTINUED;
};
enum
{
  POLL_IN = 1,
static const int POLL_IN = POLL_IN;
  POLL_OUT,
static const int POLL_OUT = POLL_OUT;
  POLL_MSG,
static const int POLL_MSG = POLL_MSG;
  POLL_ERR,
static const int POLL_ERR = POLL_ERR;
  POLL_PRI,
static const int POLL_PRI = POLL_PRI;
  POLL_HUP
static const int POLL_HUP = POLL_HUP;
};
static const int __have_sigevent_t = 1;
static const int __SIGEV_MAX_SIZE = 64;
static const int __SIGEV_PAD_SIZE = ((__SIGEV_MAX_SIZE / sizeof (int)) - 3);
typedef struct sigevent
  {
    sigval_t sigev_value;
    int sigev_signo;
    int sigev_notify;
    union
      {
 int _pad[((64 / sizeof (int)) - 3)];
 __pid_t _tid;
 struct
   {
     void (*_function) (sigval_t);
     void *_attribute;
   } _sigev_thread;
      } _sigev_un;
  } sigevent_t;
static const int sigev_notify_function = _sigev_un._sigev_thread._function;
static const int sigev_notify_attributes = _sigev_un._sigev_thread._attribute;
enum
{
  SIGEV_SIGNAL = 0,
static const int SIGEV_SIGNAL = SIGEV_SIGNAL;
  SIGEV_NONE,
static const int SIGEV_NONE = SIGEV_NONE;
  SIGEV_THREAD,
static const int SIGEV_THREAD = SIGEV_THREAD;
  SIGEV_THREAD_ID = 4
static const int SIGEV_THREAD_ID = SIGEV_THREAD_ID;
};
typedef void (*__sighandler_t) (int);
extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
     __attribute__ ((__nothrow__ , __leaf__));
extern __sighandler_t signal (int __sig, __sighandler_t __handler)
     __attribute__ ((__nothrow__ , __leaf__));
extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern int raise (int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern __sighandler_t ssignal (int __sig, __sighandler_t __handler)
     __attribute__ ((__nothrow__ , __leaf__));
extern int gsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern void psignal (int __sig, __const char *__s);
extern void psiginfo (__const siginfo_t *__pinfo, __const char *__s);
extern int __sigpause (int __sig_or_mask, int __is_sig);
static const int sigmask(sig) = __sigmask(sig);
extern int sigblock (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
extern int sigsetmask (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
extern int siggetmask (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
static const int NSIG = _NSIG;
typedef __sighandler_t sig_t;
extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigismember (__const sigset_t *__set, int __signo)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
struct sigaction
  {
    union
      {
 __sighandler_t sa_handler;
 void (*sa_sigaction) (int, siginfo_t *, void *);
      }
    __sigaction_handler;
static const int sa_handler = __sigaction_handler.sa_handler;
static const int sa_sigaction = __sigaction_handler.sa_sigaction;
    __sigset_t sa_mask;
    int sa_flags;
    void (*sa_restorer) (void);
  };
static const int SA_NOCLDSTOP = 1;
static const int SA_NOCLDWAIT = 2;
static const int SA_SIGINFO = 4;
static const int SA_ONSTACK = 0x08000000;
static const int SA_RESTART = 0x10000000;
static const int SA_NODEFER = 0x40000000;
static const int SA_RESETHAND = 0x80000000;
static const int SA_INTERRUPT = 0x20000000;
static const int SA_NOMASK = SA_NODEFER;
static const int SA_ONESHOT = SA_RESETHAND;
static const int SA_STACK = SA_ONSTACK;
static const int SIG_BLOCK = 0;
static const int SIG_UNBLOCK = 1;
static const int SIG_SETMASK = 2;
extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
   sigset_t *__restrict __oset) __attribute__ ((__nothrow__ , __leaf__));
extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1)));
extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
        struct sigaction *__restrict __oact) __attribute__ ((__nothrow__ , __leaf__));
extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
     __attribute__ ((__nonnull__ (1, 2)));
extern int sigwaitinfo (__const sigset_t *__restrict __set,
   siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1)));
extern int sigtimedwait (__const sigset_t *__restrict __set,
    siginfo_t *__restrict __info,
    __const struct timespec *__restrict __timeout)
     __attribute__ ((__nonnull__ (1)));
extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
     __attribute__ ((__nothrow__ , __leaf__));
extern __const char *__const _sys_siglist[65];
extern __const char *__const sys_siglist[65];
struct sigvec
  {
    __sighandler_t sv_handler;
    int sv_mask;
    int sv_flags;
static const int sv_onstack = sv_flags;
  };
static const int SV_ONSTACK = (1 << 0);
static const int SV_INTERRUPT = (1 << 1);
static const int SV_RESETHAND = (1 << 2);
extern int sigvec (int __sig, __const struct sigvec *__vec,
     struct sigvec *__ovec) __attribute__ ((__nothrow__ , __leaf__));
static const int sigcontext_struct = sigcontext;
static const int __BITS_PER_LONG = 32;
typedef __signed__ char __s8;
typedef unsigned char __u8;
typedef __signed__ short __s16;
typedef unsigned short __u16;
typedef __signed__ int __s32;
typedef unsigned int __u32;
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
typedef struct {
 unsigned long fds_bits[1024 / (8 * sizeof(long))];
} __kernel_fd_set;
typedef void (*__kernel_sighandler_t)(int);
typedef int __kernel_key_t;
typedef int __kernel_mqd_t;
typedef unsigned short __kernel_mode_t;
static const int __kernel_mode_t = __kernel_mode_t;
typedef unsigned short __kernel_ipc_pid_t;
static const int __kernel_ipc_pid_t = __kernel_ipc_pid_t;
typedef unsigned short __kernel_uid_t;
typedef unsigned short __kernel_gid_t;
static const int __kernel_uid_t = __kernel_uid_t;
typedef unsigned short __kernel_old_dev_t;
static const int __kernel_old_dev_t = __kernel_old_dev_t;
typedef long __kernel_long_t;
typedef unsigned long __kernel_ulong_t;
typedef __kernel_ulong_t __kernel_ino_t;
typedef int __kernel_pid_t;
typedef __kernel_long_t __kernel_suseconds_t;
typedef int __kernel_daddr_t;
typedef unsigned int __kernel_uid32_t;
typedef unsigned int __kernel_gid32_t;
typedef __kernel_uid_t __kernel_old_uid_t;
typedef __kernel_gid_t __kernel_old_gid_t;
typedef unsigned int __kernel_size_t;
typedef int __kernel_ssize_t;
typedef int __kernel_ptrdiff_t;
typedef struct {
 int val[2];
} __kernel_fsid_t;
typedef __kernel_long_t __kernel_off_t;
typedef long long __kernel_loff_t;
typedef __kernel_long_t __kernel_time_t;
typedef __kernel_long_t __kernel_clock_t;
typedef int __kernel_timer_t;
typedef int __kernel_clockid_t;
typedef char * __kernel_caddr_t;
typedef unsigned short __kernel_uid16_t;
typedef unsigned short __kernel_gid16_t;
typedef __u16 __le16;
typedef __u16 __be16;
typedef __u32 __le32;
typedef __u32 __be32;
typedef __u64 __le64;
typedef __u64 __be64;
typedef __u16 __sum16;
typedef __u32 __wsum;
static const int __aligned_u64 = __u64 __attribute__((aligned(8)));
static const int __aligned_be64 = __be64 __attribute__((aligned(8)));
static const int __aligned_le64 = __le64 __attribute__((aligned(8)));
static const int FP_XSTATE_MAGIC1 = 0x46505853U;
static const int FP_XSTATE_MAGIC2 = 0x46505845U;
static const int FP_XSTATE_MAGIC2_SIZE = sizeof(FP_XSTATE_MAGIC2);
struct _fpx_sw_bytes {
 __u32 magic1;
 __u32 extended_size;
 __u64 xstate_bv;
 __u32 xstate_size;
 __u32 padding[7];
};
struct _fpreg {
 unsigned short significand[4];
 unsigned short exponent;
};
struct _fpxreg {
 unsigned short significand[4];
 unsigned short exponent;
 unsigned short padding[3];
};
struct _xmmreg {
 unsigned long element[4];
};
struct _fpstate {
 unsigned long cw;
 unsigned long sw;
 unsigned long tag;
 unsigned long ipoff;
 unsigned long cssel;
 unsigned long dataoff;
 unsigned long datasel;
 struct _fpreg _st[8];
 unsigned short status;
 unsigned short magic;
 unsigned long _fxsr_env[6];
 unsigned long mxcsr;
 unsigned long reserved;
 struct _fpxreg _fxsr_st[8];
 struct _xmmreg _xmm[8];
 unsigned long padding1[44];
 union {
  unsigned long padding2[12];
  struct _fpx_sw_bytes sw_reserved;
 };
};
static const int X86_FXSR_MAGIC = 0x0000;
struct sigcontext {
 unsigned short gs, __gsh;
 unsigned short fs, __fsh;
 unsigned short es, __esh;
 unsigned short ds, __dsh;
 unsigned long edi;
 unsigned long esi;
 unsigned long ebp;
 unsigned long esp;
 unsigned long ebx;
 unsigned long edx;
 unsigned long ecx;
 unsigned long eax;
 unsigned long trapno;
 unsigned long err;
 unsigned long eip;
 unsigned short cs, __csh;
 unsigned long eflags;
 unsigned long esp_at_signal;
 unsigned short ss, __ssh;
 struct _fpstate *fpstate;
 unsigned long oldmask;
 unsigned long cr2;
};
struct _xsave_hdr {
 __u64 xstate_bv;
 __u64 reserved1[2];
 __u64 reserved2[5];
};
struct _ymmh_state {
 __u32 ymmh_space[64];
};
struct _xstate {
 struct _fpstate fpstate;
 struct _xsave_hdr xstate_hdr;
 struct _ymmh_state ymmh;
};
extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__ , __leaf__));
typedef unsigned int size_t;
extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__));
struct sigstack
  {
    void *ss_sp;
    int ss_onstack;
  };
enum
{
  SS_ONSTACK = 1,
static const int SS_ONSTACK = SS_ONSTACK;
  SS_DISABLE
static const int SS_DISABLE = SS_DISABLE;
};
static const int MINSIGSTKSZ = 2048;
static const int SIGSTKSZ = 8192;
typedef struct sigaltstack
  {
    void *ss_sp;
    int ss_flags;
    size_t ss_size;
  } stack_t;
static const int _SYS_UCONTEXT_H = 1;
typedef int greg_t;
static const int NGREG = 19;
typedef greg_t gregset_t[19];
struct _libc_fpreg
{
  unsigned short int significand[4];
  unsigned short int exponent;
};
struct _libc_fpstate
{
  unsigned long int cw;
  unsigned long int sw;
  unsigned long int tag;
  unsigned long int ipoff;
  unsigned long int cssel;
  unsigned long int dataoff;
  unsigned long int datasel;
  struct _libc_fpreg _st[8];
  unsigned long int status;
};
typedef struct _libc_fpstate *fpregset_t;
typedef struct
  {
    gregset_t gregs;
    fpregset_t fpregs;
    unsigned long int oldmask;
    unsigned long int cr2;
  } mcontext_t;
typedef struct ucontext
  {
    unsigned long int uc_flags;
    struct ucontext *uc_link;
    stack_t uc_stack;
    mcontext_t uc_mcontext;
    __sigset_t uc_sigmask;
    struct _libc_fpstate __fpregs_mem;
  } ucontext_t;
extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
   struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__ , __leaf__));
typedef unsigned long int pthread_t;
typedef union
{
  char __size[36];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_slist
{
  struct __pthread_internal_slist *__next;
} __pthread_slist_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    int __kind;
    unsigned int __nusers;
    __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
  } __data;
  char __size[24];
  long int __align;
} pthread_mutex_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;
typedef union
{
  char __size[4];
  long int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    unsigned char __flags;
    unsigned char __shared;
    unsigned char __pad1;
    unsigned char __pad2;
    int __writer;
  } __data;
  char __size[32];
  long int __align;
} pthread_rwlock_t;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[20];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
static const int _BITS_SIGTHREAD_H = 1;
extern int pthread_sigmask (int __how,
       __const __sigset_t *__restrict __newmask,
       __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__ , __leaf__));
extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__ , __leaf__));
extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__ , __leaf__));
extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__ , __leaf__));

// *** 20. string.h ***
static const int _STRING_H = 1;
typedef unsigned int size_t;
extern void *memcpy (void *__restrict __dest,
       __const void *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *memmove (void *__dest, __const void *__src, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
        int __c, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *memchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strncpy (char *__restrict __dest,
        __const char *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
        size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern int strcmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern int strcoll (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern size_t strxfrm (char *__restrict __dest,
         __const char *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
typedef struct __locale_struct
{
  struct __locale_data *__locales[13];
  const unsigned short int *__ctype_b;
  const int *__ctype_tolower;
  const int *__ctype_toupper;
  const char *__names[13];
} *__locale_t;
typedef __locale_t locale_t;
extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
    __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4)));
extern char *strdup (__const char *__s)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
extern char *strndup (__const char *__string, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
extern char *strchr (__const char *__s, int __c)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern char *strrchr (__const char *__s, int __c)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern size_t strcspn (__const char *__s, __const char *__reject)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern size_t strspn (__const char *__s, __const char *__accept)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strpbrk (__const char *__s, __const char *__accept)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strstr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern char *__strtok_r (char *__restrict __s,
    __const char *__restrict __delim,
    char **__restrict __save_ptr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
         char **__restrict __save_ptr)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
extern size_t strlen (__const char *__s)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern size_t strnlen (__const char *__string, size_t __maxlen)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__));
extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern void bcopy (__const void *__src, void *__dest, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *index (__const char *__s, int __c)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern char *rindex (__const char *__s, int __c)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
extern int strcasecmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strsep (char **__restrict __stringp,
       __const char *__restrict __delim)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__));
extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *__stpncpy (char *__restrict __dest,
   __const char *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *stpncpy (char *__restrict __dest,
        __const char *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));