typedef long double __long_double_t; typedef unsigned int size_t; typedef long int wchar_t; extern int sys_nerr; extern char *sys_errlist[]; extern int _sys_nerr; extern char *_sys_errlist[]; extern int errno; extern void perror (__const char* __s) ; extern char* strerror (int __errno) ; union __convert_long_double { unsigned __convert_long_double_i[4]; long double __convert_long_double_d; }; typedef struct { int quot; int rem; } div_t; typedef struct { long quot; long rem; } ldiv_t; extern double atof (__const char *__nptr) ; extern int atoi (__const char *__nptr) ; extern long int atol (__const char *__nptr) ; extern double strtod (__const char *__nptr, char **__endptr) ; extern long int strtol (__const char *__nptr, char **__endptr, int __base) ; extern unsigned long int strtoul (__const char *__nptr, char **__endptr, int __base) ; extern int rand (void) ; extern void srand (unsigned int __seed) ; extern long int __random (void) ; extern void __srandom (unsigned int __seed) ; extern void * __initstate (unsigned int __seed, void * __statebuf, size_t __statelen) ; extern void * __setstate (void * __statebuf) ; extern long int random (void) ; extern void srandom (unsigned int __seed) ; extern void * initstate (unsigned int __seed, void * __statebuf, size_t __statelen) ; extern void * setstate (void * __statebuf) ; extern void * malloc (size_t __size) ; extern void * realloc (void * __ptr, size_t __size) ; extern void * calloc (size_t __nmemb, size_t __size) ; extern void free (void * __ptr) ; extern void cfree (void * __ptr) ; static __inline void* __gnu_calloc (size_t __nmemb, size_t __n) { return calloc (__nmemb ? __nmemb : 1, __n ? __n : 1); } static __inline void* __gnu_malloc (size_t __n) { return malloc (__n ? __n : 1); } extern void * __alloca (size_t __size) ; extern void * alloca (size_t __size) ; extern void * valloc(size_t __size); extern void abort (void) __attribute__ ((noreturn)) ; extern int atexit (void (*__func)(void)) ; extern int on_exit (void (*__func)(int __status, void * __arg), void * __arg) ; extern void exit (int __status) __attribute__ ((noreturn)) ; extern char *getenv (__const char *__name) ; extern int putenv (__const char *__string) ; extern int system (__const char *__command) ; 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) ; extern void qsort (void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar) ; extern int abs (int __x) __attribute__ ((const)) ; extern long int labs (long int __x) __attribute__ ((const)) ; extern div_t div(int __numer, int __denom) __attribute__ ((const)) ; extern ldiv_t ldiv(long int __numer, long int __denom) __attribute__ ((const)) ; extern int mblen (__const char *__s, size_t __n) ; extern int mbtowc (wchar_t *__pwc, __const char *__s, size_t __n) ; extern int wctomb (char *__s, wchar_t __wchar) ; extern size_t mbstowcs (wchar_t *__pwcs, __const char *__s, size_t __n) ; extern size_t wcstombs (char *__s, __const wchar_t *__pwcs, size_t __n) ; extern char **environ; extern char **__environ; extern void* memalign (size_t __alignment, size_t __size) ; extern void* valloc (size_t __size) ; extern char* ecvt (double __value, size_t __ndigit, int *__decpt, int *__sign) ; extern char* fcvt (double __value, size_t __ndigit, int *__decpt, int *__sign) ; extern char* gcvt (double __value, size_t __ndigit, char *__buf) ; extern char* dtoa (double __d, int __mode, int __ndigits, int *__decpt, int *__sign, char **__rve) ; extern double drand48 (void) ; extern double erand48 (unsigned short int __xsubi[3]) ; extern long int lrand48 (void) ; extern long int nrand48 (unsigned short int __xsubi[3]) ; extern long int mrand48 (void) ; extern long int jrand48 (unsigned short int __xsubi[3]) ; extern void srand48 (long int __seedval) ; extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; extern void lcong48 (unsigned short int __param[7]) ; extern int setenv (__const char *__name, __const char *__value, int __overwrite) ; extern void unsetenv (__const char *__name) ; struct qelem { struct qelem *q_forw; struct qelem *q_back; char q_data[1]; }; extern void insque (struct qelem *__elem, struct qelem *__prev) ; extern void remque (struct qelem *__elem) ;