text: # 1 "reorder_bad.c"
  # 1 "<built-in>"
  # 1 "<command line>"
  # 1 "reorder_bad.c"
  # 1 "/usr/include/stdio.h" 1 3 4
  # 28 "/usr/include/stdio.h" 3 4
  # 1 "/usr/include/features.h" 1 3 4
  # 329 "/usr/include/features.h" 3 4
  # 1 "/usr/include/sys/cdefs.h" 1 3 4
  # 313 "/usr/include/sys/cdefs.h" 3 4
  # 1 "/usr/include/bits/wordsize.h" 1 3 4
  # 314 "/usr/include/sys/cdefs.h" 2 3 4
  # 330 "/usr/include/features.h" 2 3 4
  # 352 "/usr/include/features.h" 3 4
  # 1 "/usr/include/gnu/stubs.h" 1 3 4
  
  
  
  # 1 "/usr/include/bits/wordsize.h" 1 3 4
  # 5 "/usr/include/gnu/stubs.h" 2 3 4
  
  
  
  
  # 1 "/usr/include/gnu/stubs-64.h" 1 3 4
  # 10 "/usr/include/gnu/stubs.h" 2 3 4
  # 353 "/usr/include/features.h" 2 3 4
  # 29 "/usr/include/stdio.h" 2 3 4
  
  
  
  
  
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 214 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 3 4
  typedef long unsigned int size_t;
  # 35 "/usr/include/stdio.h" 2 3 4
  
  # 1 "/usr/include/bits/types.h" 1 3 4
  # 28 "/usr/include/bits/types.h" 3 4
  # 1 "/usr/include/bits/wordsize.h" 1 3 4
  # 29 "/usr/include/bits/types.h" 2 3 4
  
  
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 32 "/usr/include/bits/types.h" 2 3 4
  
  
  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;
  
  typedef signed long int __int64_t;
  typedef unsigned long int __uint64_t;
  
  
  
  
  
  
  
  typedef long int __quad_t;
  typedef unsigned long int __u_quad_t;
  # 134 "/usr/include/bits/types.h" 3 4
  # 1 "/usr/include/bits/typesizes.h" 1 3 4
  # 135 "/usr/include/bits/types.h" 2 3 4
  
  
  typedef unsigned long int __dev_t;
  typedef unsigned int __uid_t;
  typedef unsigned int __gid_t;
  typedef unsigned long int __ino_t;
  typedef unsigned long int __ino64_t;
  typedef unsigned int __mode_t;
  typedef unsigned long int __nlink_t;
  typedef long int __off_t;
  typedef long int __off64_t;
  typedef int __pid_t;
  typedef struct { int __val[2]; } __fsid_t;
  typedef long int __clock_t;
  typedef unsigned long int __rlim_t;
  typedef unsigned long int __rlim64_t;
  typedef unsigned int __id_t;
  typedef long int __time_t;
  typedef unsigned int __useconds_t;
  typedef long int __suseconds_t;
  
  typedef int __daddr_t;
  typedef long int __swblk_t;
  typedef int __key_t;
  
  
  typedef int __clockid_t;
  
  
  typedef void * __timer_t;
  
  
  typedef long int __blksize_t;
  
  
  
  
  typedef long int __blkcnt_t;
  typedef long int __blkcnt64_t;
  
  
  typedef unsigned long int __fsblkcnt_t;
  typedef unsigned long int __fsblkcnt64_t;
  
  
  typedef unsigned long int __fsfilcnt_t;
  typedef unsigned long int __fsfilcnt64_t;
  
  typedef long int __ssize_t;
  
  
  
  typedef __off64_t __loff_t;
  typedef __quad_t *__qaddr_t;
  typedef char *__caddr_t;
  
  
  typedef long int __intptr_t;
  
  
  typedef unsigned int __socklen_t;
  # 37 "/usr/include/stdio.h" 2 3 4
  
  
  
  
  
  
  
  
  
  typedef struct _IO_FILE FILE;
  
  
  
  
  
  # 62 "/usr/include/stdio.h" 3 4
  typedef struct _IO_FILE __FILE;
  # 72 "/usr/include/stdio.h" 3 4
  # 1 "/usr/include/libio.h" 1 3 4
  # 32 "/usr/include/libio.h" 3 4
  # 1 "/usr/include/_G_config.h" 1 3 4
  # 14 "/usr/include/_G_config.h" 3 4
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 326 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 3 4
  typedef int wchar_t;
  # 355 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 3 4
  typedef unsigned int wint_t;
  # 15 "/usr/include/_G_config.h" 2 3 4
  # 24 "/usr/include/_G_config.h" 3 4
  # 1 "/usr/include/wchar.h" 1 3 4
  # 48 "/usr/include/wchar.h" 3 4
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 49 "/usr/include/wchar.h" 2 3 4
  
  # 1 "/usr/include/bits/wchar.h" 1 3 4
  # 51 "/usr/include/wchar.h" 2 3 4
  # 76 "/usr/include/wchar.h" 3 4
  typedef struct
  {
    int __count;
    union
    {
      wint_t __wch;
      char __wchb[4];
    } __value;
  } __mbstate_t;
  # 25 "/usr/include/_G_config.h" 2 3 4
  
  typedef struct
  {
    __off_t __pos;
    __mbstate_t __state;
  } _G_fpos_t;
  typedef struct
  {
    __off64_t __pos;
    __mbstate_t __state;
  } _G_fpos64_t;
  # 44 "/usr/include/_G_config.h" 3 4
  # 1 "/usr/include/gconv.h" 1 3 4
  # 28 "/usr/include/gconv.h" 3 4
  # 1 "/usr/include/wchar.h" 1 3 4
  # 48 "/usr/include/wchar.h" 3 4
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 49 "/usr/include/wchar.h" 2 3 4
  # 29 "/usr/include/gconv.h" 2 3 4
  
  
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 32 "/usr/include/gconv.h" 2 3 4
  
  
  
  
  
  enum
  {
    __GCONV_OK = 0,
    __GCONV_NOCONV,
    __GCONV_NODB,
    __GCONV_NOMEM,
  
    __GCONV_EMPTY_INPUT,
    __GCONV_FULL_OUTPUT,
    __GCONV_ILLEGAL_INPUT,
    __GCONV_INCOMPLETE_INPUT,
  
    __GCONV_ILLEGAL_DESCRIPTOR,
    __GCONV_INTERNAL_ERROR
  };
  
  
  
  enum
  {
    __GCONV_IS_LAST = 0x0001,
    __GCONV_IGNORE_ERRORS = 0x0002
  };
  
  
  
  struct __gconv_step;
  struct __gconv_step_data;
  struct __gconv_loaded_object;
  struct __gconv_trans_data;
  
  
  
  typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
         __const unsigned char **, __const unsigned char *,
         unsigned char **, size_t *, int, int);
  
  
  typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
  
  
  typedef int (*__gconv_init_fct) (struct __gconv_step *);
  typedef void (*__gconv_end_fct) (struct __gconv_step *);
  
  
  
  typedef int (*__gconv_trans_fct) (struct __gconv_step *,
        struct __gconv_step_data *, void *,
        __const unsigned char *,
        __const unsigned char **,
        __const unsigned char *, unsigned char **,
        size_t *);
  
  
  typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
         __const unsigned char *,
         unsigned char *, unsigned char *);
  
  
  typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
       size_t *);
  
  
  typedef int (*__gconv_trans_init_fct) (void **, const char *);
  typedef void (*__gconv_trans_end_fct) (void *);
  
  struct __gconv_trans_data
  {
  
    __gconv_trans_fct __trans_fct;
    __gconv_trans_context_fct __trans_context_fct;
    __gconv_trans_end_fct __trans_end_fct;
    void *__data;
    struct __gconv_trans_data *__next;
  };
  
  
  
  struct __gconv_step
  {
    struct __gconv_loaded_object *__shlib_handle;
    __const char *__modname;
  
    int __counter;
  
    char *__from_name;
    char *__to_name;
  
    __gconv_fct __fct;
    __gconv_btowc_fct __btowc_fct;
    __gconv_init_fct __init_fct;
    __gconv_end_fct __end_fct;
  
  
  
    int __min_needed_from;
    int __max_needed_from;
    int __min_needed_to;
    int __max_needed_to;
  
  
    int __stateful;
  
    void *__data;
  };
  
  
  
  struct __gconv_step_data
  {
    unsigned char *__outbuf;
    unsigned char *__outbufend;
  
  
  
    int __flags;
  
  
  
    int __invocation_counter;
  
  
  
    int __internal_use;
  
    __mbstate_t *__statep;
    __mbstate_t __state;
  
  
  
    struct __gconv_trans_data *__trans;
  };
  
  
  
  typedef struct __gconv_info
  {
    size_t __nsteps;
    struct __gconv_step *__steps;
    __extension__ struct __gconv_step_data __data [];
  } *__gconv_t;
  # 45 "/usr/include/_G_config.h" 2 3 4
  typedef union
  {
    struct __gconv_info __cd;
    struct
    {
      struct __gconv_info __cd;
      struct __gconv_step_data __data;
    } __combined;
  } _G_iconv_t;
  
  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__)));
  # 33 "/usr/include/libio.h" 2 3 4
  # 53 "/usr/include/libio.h" 3 4
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stdarg.h" 1 3 4
  # 43 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stdarg.h" 3 4
  typedef __builtin_va_list __gnuc_va_list;
  # 54 "/usr/include/libio.h" 2 3 4
  # 167 "/usr/include/libio.h" 3 4
  struct _IO_jump_t; struct _IO_FILE;
  # 177 "/usr/include/libio.h" 3 4
  typedef void _IO_lock_t;
  
  
  
  
  
  struct _IO_marker {
    struct _IO_marker *_next;
    struct _IO_FILE *_sbuf;
  
  
  
    int _pos;
  # 200 "/usr/include/libio.h" 3 4
  };
  
  
  enum __codecvt_result
  {
    __codecvt_ok,
    __codecvt_partial,
    __codecvt_error,
    __codecvt_noconv
  };
  # 268 "/usr/include/libio.h" 3 4
  struct _IO_FILE {
    int _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;
  # 316 "/usr/include/libio.h" 3 4
    __off64_t _offset;
  # 325 "/usr/include/libio.h" 3 4
    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_;
  # 361 "/usr/include/libio.h" 3 4
  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);
  # 413 "/usr/include/libio.h" 3 4
  extern int __underflow (_IO_FILE *);
  extern int __uflow (_IO_FILE *);
  extern int __overflow (_IO_FILE *, int);
  extern wint_t __wunderflow (_IO_FILE *);
  extern wint_t __wuflow (_IO_FILE *);
  extern wint_t __woverflow (_IO_FILE *, wint_t);
  # 451 "/usr/include/libio.h" 3 4
  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__));
  extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
  
  extern int _IO_peekc_locked (_IO_FILE *__fp);
  
  
  
  
  
  extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
  extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
  extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
  # 481 "/usr/include/libio.h" 3 4
  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__));
  # 73 "/usr/include/stdio.h" 2 3 4
  # 86 "/usr/include/stdio.h" 3 4
  
  
  typedef _G_fpos_t fpos_t;
  
  
  
  
  # 138 "/usr/include/stdio.h" 3 4
  # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
  # 139 "/usr/include/stdio.h" 2 3 4
  
  
  
  extern struct _IO_FILE *stdin;
  extern struct _IO_FILE *stdout;
  extern struct _IO_FILE *stderr;
  
  
  
  
  
  
  
  
  
  extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
  
  extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  extern FILE *tmpfile (void);
  # 185 "/usr/include/stdio.h" 3 4
  extern char *tmpnam (char *__s) __attribute__ ((__nothrow__));
  
  
  
  
  
  extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__));
  # 203 "/usr/include/stdio.h" 3 4
  extern char *tempnam (__const char *__dir, __const char *__pfx)
       __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
  
  
  
  
  
  
  
  
  extern int fclose (FILE *__stream);
  
  
  
  
  extern int fflush (FILE *__stream);
  
  # 228 "/usr/include/stdio.h" 3 4
  extern int fflush_unlocked (FILE *__stream);
  # 242 "/usr/include/stdio.h" 3 4
  
  
  
  
  
  
  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);
  # 269 "/usr/include/stdio.h" 3 4
  
  # 280 "/usr/include/stdio.h" 3 4
  extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__));
  # 300 "/usr/include/stdio.h" 3 4
  
  
  
  extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
  
  
  
  extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
        int __modes, size_t __n) __attribute__ ((__nothrow__));
  
  
  
  
  
  extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
           size_t __size) __attribute__ ((__nothrow__));
  
  
  extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
  
  
  
  
  
  
  
  
  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)));
  
  # 394 "/usr/include/stdio.h" 3 4
  
  
  
  
  
  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__));
  
  # 436 "/usr/include/stdio.h" 3 4
  
  
  
  
  
  extern int fgetc (FILE *__stream);
  extern int getc (FILE *__stream);
  
  
  
  
  
  extern int getchar (void);
  
  # 460 "/usr/include/stdio.h" 3 4
  extern int getc_unlocked (FILE *__stream);
  extern int getchar_unlocked (void);
  # 471 "/usr/include/stdio.h" 3 4
  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);
  
  # 504 "/usr/include/stdio.h" 3 4
  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) ;
  
  # 585 "/usr/include/stdio.h" 3 4
  
  
  
  
  
  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) ;
  
  # 638 "/usr/include/stdio.h" 3 4
  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);
  
  # 674 "/usr/include/stdio.h" 3 4
  extern int fseeko (FILE *__stream, __off_t __off, int __whence);
  
  
  
  
  extern __off_t ftello (FILE *__stream) ;
  # 693 "/usr/include/stdio.h" 3 4
  
  
  
  
  
  
  extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
  
  
  
  
  extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
  # 716 "/usr/include/stdio.h" 3 4
  
  # 725 "/usr/include/stdio.h" 3 4
  
  
  extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
  
  extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
  
  extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
  
  
  
  
  extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
  extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
  extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
  
  
  
  
  
  
  
  
  extern void perror (__const char *__s);
  
  
  
  
  
  
  # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
  # 27 "/usr/include/bits/sys_errlist.h" 3 4
  extern int sys_nerr;
  extern __const char *__const sys_errlist[];
  # 755 "/usr/include/stdio.h" 2 3 4
  
  
  
  
  extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
  
  
  
  
  extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
  # 774 "/usr/include/stdio.h" 3 4
  extern FILE *popen (__const char *__command, __const char *__modes) ;
  
  
  
  
  
  extern int pclose (FILE *__stream);
  
  
  
  
  
  extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
  # 814 "/usr/include/stdio.h" 3 4
  extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
  
  
  
  extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
  
  
  extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
  # 844 "/usr/include/stdio.h" 3 4
  
  # 2 "reorder_bad.c" 2
  # 1 "/usr/include/stdlib.h" 1 3 4
  # 33 "/usr/include/stdlib.h" 3 4
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 34 "/usr/include/stdlib.h" 2 3 4
  
  
  # 96 "/usr/include/stdlib.h" 3 4
  
  
  typedef struct
    {
      int quot;
      int rem;
    } div_t;
  
  
  
  typedef struct
    {
      long int quot;
      long int rem;
    } ldiv_t;
  
  
  
  # 140 "/usr/include/stdlib.h" 3 4
  extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
  
  
  
  
  extern double atof (__const char *__nptr)
       __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
  
  extern int atoi (__const char *__nptr)
       __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
  
  extern long int atol (__const char *__nptr)
       __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  
  __extension__ extern long long int atoll (__const char *__nptr)
       __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  
  extern double strtod (__const char *__restrict __nptr,
          char **__restrict __endptr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  # 182 "/usr/include/stdlib.h" 3 4
  
  
  extern long int strtol (__const char *__restrict __nptr,
     char **__restrict __endptr, int __base)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  extern unsigned long int strtoul (__const char *__restrict __nptr,
        char **__restrict __endptr, int __base)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  __extension__
  extern long long int strtoq (__const char *__restrict __nptr,
          char **__restrict __endptr, int __base)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  __extension__
  extern unsigned long long int strtouq (__const char *__restrict __nptr,
             char **__restrict __endptr, int __base)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  
  __extension__
  extern long long int strtoll (__const char *__restrict __nptr,
           char **__restrict __endptr, int __base)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  __extension__
  extern unsigned long long int strtoull (__const char *__restrict __nptr,
       char **__restrict __endptr, int __base)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  # 279 "/usr/include/stdlib.h" 3 4
  extern double __strtod_internal (__const char *__restrict __nptr,
       char **__restrict __endptr, int __group)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  extern float __strtof_internal (__const char *__restrict __nptr,
      char **__restrict __endptr, int __group)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  extern long double __strtold_internal (__const char *__restrict __nptr,
             char **__restrict __endptr,
             int __group)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  extern long int __strtol_internal (__const char *__restrict __nptr,
         char **__restrict __endptr,
         int __base, int __group)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
            char **__restrict __endptr,
            int __base, int __group)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  __extension__
  extern long long int __strtoll_internal (__const char *__restrict __nptr,
        char **__restrict __endptr,
        int __base, int __group)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  __extension__
  extern unsigned long long int __strtoull_internal (__const char *
           __restrict __nptr,
           char **__restrict __endptr,
           int __base, int __group)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  # 429 "/usr/include/stdlib.h" 3 4
  extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
  
  
  extern long int a64l (__const char *__s)
       __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  # 1 "/usr/include/sys/types.h" 1 3 4
  # 29 "/usr/include/sys/types.h" 3 4
  
  
  
  
  
  
  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;
  # 62 "/usr/include/sys/types.h" 3 4
  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;
  # 100 "/usr/include/sys/types.h" 3 4
  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;
  # 133 "/usr/include/sys/types.h" 3 4
  # 1 "/usr/include/time.h" 1 3 4
  # 75 "/usr/include/time.h" 3 4
  
  
  typedef __time_t time_t;
  
  
  
  # 93 "/usr/include/time.h" 3 4
  typedef __clockid_t clockid_t;
  # 105 "/usr/include/time.h" 3 4
  typedef __timer_t timer_t;
  # 134 "/usr/include/sys/types.h" 2 3 4
  # 147 "/usr/include/sys/types.h" 3 4
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 148 "/usr/include/sys/types.h" 2 3 4
  
  
  
  typedef unsigned long int ulong;
  typedef unsigned short int ushort;
  typedef unsigned int uint;
  # 195 "/usr/include/sys/types.h" 3 4
  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__)));
  # 217 "/usr/include/sys/types.h" 3 4
  # 1 "/usr/include/endian.h" 1 3 4
  # 37 "/usr/include/endian.h" 3 4
  # 1 "/usr/include/bits/endian.h" 1 3 4
  # 38 "/usr/include/endian.h" 2 3 4
  # 218 "/usr/include/sys/types.h" 2 3 4
  
  
  # 1 "/usr/include/sys/select.h" 1 3 4
  # 31 "/usr/include/sys/select.h" 3 4
  # 1 "/usr/include/bits/select.h" 1 3 4
  # 32 "/usr/include/sys/select.h" 2 3 4
  
  
  # 1 "/usr/include/bits/sigset.h" 1 3 4
  # 23 "/usr/include/bits/sigset.h" 3 4
  typedef int __sig_atomic_t;
  
  
  
  
  typedef struct
    {
      unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
    } __sigset_t;
  # 35 "/usr/include/sys/select.h" 2 3 4
  
  
  
  typedef __sigset_t sigset_t;
  
  
  
  
  
  # 1 "/usr/include/time.h" 1 3 4
  # 121 "/usr/include/time.h" 3 4
  struct timespec
    {
      __time_t tv_sec;
      long int tv_nsec;
    };
  # 45 "/usr/include/sys/select.h" 2 3 4
  
  # 1 "/usr/include/bits/time.h" 1 3 4
  # 69 "/usr/include/bits/time.h" 3 4
  struct timeval
    {
      __time_t tv_sec;
      __suseconds_t tv_usec;
    };
  # 47 "/usr/include/sys/select.h" 2 3 4
  
  
  typedef __suseconds_t suseconds_t;
  
  
  
  
  
  typedef long int __fd_mask;
  # 67 "/usr/include/sys/select.h" 3 4
  typedef struct
    {
  
  
  
  
  
  
      __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];
  
  
    } fd_set;
  
  
  
  
  
  
  typedef __fd_mask fd_mask;
  # 99 "/usr/include/sys/select.h" 3 4
  
  # 109 "/usr/include/sys/select.h" 3 4
  extern int select (int __nfds, fd_set *__restrict __readfds,
       fd_set *__restrict __writefds,
       fd_set *__restrict __exceptfds,
       struct timeval *__restrict __timeout);
  # 121 "/usr/include/sys/select.h" 3 4
  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);
  
  
  
  # 221 "/usr/include/sys/types.h" 2 3 4
  
  
  # 1 "/usr/include/sys/sysmacros.h" 1 3 4
  # 29 "/usr/include/sys/sysmacros.h" 3 4
  __extension__
  extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
       __attribute__ ((__nothrow__));
  __extension__
  extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
       __attribute__ ((__nothrow__));
  __extension__
  extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
         unsigned int __minor)
       __attribute__ ((__nothrow__));
  
  
  __extension__ extern __inline unsigned int
  __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
  {
    return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
  }
  
  __extension__ extern __inline unsigned int
  __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
  {
    return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
  }
  
  __extension__ extern __inline unsigned long long int
  __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
  {
    return ((__minor & 0xff) | ((__major & 0xfff) << 8)
     | (((unsigned long long int) (__minor & ~0xff)) << 12)
     | (((unsigned long long int) (__major & ~0xfff)) << 32));
  }
  # 224 "/usr/include/sys/types.h" 2 3 4
  # 235 "/usr/include/sys/types.h" 3 4
  typedef __blkcnt_t blkcnt_t;
  
  
  
  typedef __fsblkcnt_t fsblkcnt_t;
  
  
  
  typedef __fsfilcnt_t fsfilcnt_t;
  # 270 "/usr/include/sys/types.h" 3 4
  # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
  # 23 "/usr/include/bits/pthreadtypes.h" 3 4
  # 1 "/usr/include/bits/wordsize.h" 1 3 4
  # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4
  # 50 "/usr/include/bits/pthreadtypes.h" 3 4
  typedef unsigned long int pthread_t;
  
  
  typedef union
  {
    char __size[56];
    long int __align;
  } pthread_attr_t;
  
  
  
  typedef struct __pthread_internal_list
  {
    struct __pthread_internal_list *__prev;
    struct __pthread_internal_list *__next;
  } __pthread_list_t;
  # 76 "/usr/include/bits/pthreadtypes.h" 3 4
  typedef union
  {
    struct __pthread_mutex_s
    {
      int __lock;
      unsigned int __count;
      int __owner;
  
      unsigned int __nusers;
  
  
  
      int __kind;
  
      int __spins;
      __pthread_list_t __list;
  # 101 "/usr/include/bits/pthreadtypes.h" 3 4
    } __data;
    char __size[40];
    long int __align;
  } pthread_mutex_t;
  
  typedef union
  {
    char __size[4];
    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];
    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;
      int __writer;
      int __pad1;
      unsigned long int __pad2;
      unsigned long int __pad3;
  
  
      unsigned int __flags;
    } __data;
  # 184 "/usr/include/bits/pthreadtypes.h" 3 4
    char __size[56];
    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[32];
    long int __align;
  } pthread_barrier_t;
  
  typedef union
  {
    char __size[4];
    int __align;
  } pthread_barrierattr_t;
  # 271 "/usr/include/sys/types.h" 2 3 4
  
  
  
  # 439 "/usr/include/stdlib.h" 2 3 4
  
  
  
  
  
  
  extern long int random (void) __attribute__ ((__nothrow__));
  
  
  extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
  
  
  
  
  
  extern char *initstate (unsigned int __seed, char *__statebuf,
     size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
  
  
  
  extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __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__)) __attribute__ ((__nonnull__ (1, 2)));
  
  extern int srandom_r (unsigned int __seed, struct random_data *__buf)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
  
  extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
     size_t __statelen,
     struct random_data *__restrict __buf)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
  
  extern int setstate_r (char *__restrict __statebuf,
           struct random_data *__restrict __buf)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  
  
  
  
  extern int rand (void) __attribute__ ((__nothrow__));
  
  extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
  
  
  
  
  extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
  
  
  
  
  
  
  
  extern double drand48 (void) __attribute__ ((__nothrow__));
  extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern long int lrand48 (void) __attribute__ ((__nothrow__));
  extern long int nrand48 (unsigned short int __xsubi[3])
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern long int mrand48 (void) __attribute__ ((__nothrow__));
  extern long int jrand48 (unsigned short int __xsubi[3])
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
  extern unsigned short int *seed48 (unsigned short int __seed16v[3])
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __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__)) __attribute__ ((__nonnull__ (1, 2)));
  extern int erand48_r (unsigned short int __xsubi[3],
          struct drand48_data *__restrict __buffer,
          double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int lrand48_r (struct drand48_data *__restrict __buffer,
          long int *__restrict __result)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  extern int nrand48_r (unsigned short int __xsubi[3],
          struct drand48_data *__restrict __buffer,
          long int *__restrict __result)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int mrand48_r (struct drand48_data *__restrict __buffer,
          long int *__restrict __result)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  extern int jrand48_r (unsigned short int __xsubi[3],
          struct drand48_data *__restrict __buffer,
          long int *__restrict __result)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
  
  extern int seed48_r (unsigned short int __seed16v[3],
         struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  extern int lcong48_r (unsigned short int __param[7],
          struct drand48_data *__buffer)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  
  
  
  
  
  
  
  extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
  
  extern void *calloc (size_t __nmemb, size_t __size)
       __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
  
  
  
  
  
  
  
  extern void *realloc (void *__ptr, size_t __size)
       __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
  
  extern void free (void *__ptr) __attribute__ ((__nothrow__));
  
  
  
  
  extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
  
  
  
  # 1 "/usr/include/alloca.h" 1 3 4
  # 25 "/usr/include/alloca.h" 3 4
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 26 "/usr/include/alloca.h" 2 3 4
  
  
  
  
  
  
  
  extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
  
  
  
  
  
  
  # 613 "/usr/include/stdlib.h" 2 3 4
  
  
  
  
  extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
  
  
  
  
  extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
  
  
  
  extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  
  
  extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  
  
  
  extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
  
  # 658 "/usr/include/stdlib.h" 3 4
  
  
  extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  extern char *__secure_getenv (__const char *__name)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  
  extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  
  
  extern int setenv (__const char *__name, __const char *__value, int __replace)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
  
  
  extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
  
  
  
  
  
  
  extern int clearenv (void) __attribute__ ((__nothrow__));
  # 698 "/usr/include/stdlib.h" 3 4
  extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  # 709 "/usr/include/stdlib.h" 3 4
  extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
  # 729 "/usr/include/stdlib.h" 3 4
  extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  
  
  
  
  
  
  
  
  extern int system (__const char *__command) ;
  
  # 756 "/usr/include/stdlib.h" 3 4
  extern char *realpath (__const char *__restrict __name,
           char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
  
  
  
  
  
  
  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__)) __attribute__ ((__const__)) ;
  extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
  
  
  
  
  
  
  
  
  
  
  
  
  extern div_t div (int __numer, int __denom)
       __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
  extern ldiv_t ldiv (long int __numer, long int __denom)
       __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
  
  # 821 "/usr/include/stdlib.h" 3 4
  extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
       int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
  
  
  
  
  extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
       int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
  
  
  
  
  extern char *gcvt (double __value, int __ndigit, char *__buf)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
  
  
  
  
  extern char *qecvt (long double __value, int __ndigit,
        int *__restrict __decpt, int *__restrict __sign)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
  extern char *qfcvt (long double __value, int __ndigit,
        int *__restrict __decpt, int *__restrict __sign)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
  extern char *qgcvt (long double __value, int __ndigit, char *__buf)
       __attribute__ ((__nothrow__)) __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__)) __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__)) __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__)) __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__)) __attribute__ ((__nonnull__ (3, 4, 5)));
  
  
  
  
  
  
  
  extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ;
  
  
  extern int mbtowc (wchar_t *__restrict __pwc,
       __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
  
  
  extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
  
  
  
  extern size_t mbstowcs (wchar_t *__restrict __pwcs,
     __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
  
  extern size_t wcstombs (char *__restrict __s,
     __const wchar_t *__restrict __pwcs, size_t __n)
       __attribute__ ((__nothrow__));
  
  
  
  
  
  
  
  
  extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
  # 926 "/usr/include/stdlib.h" 3 4
  extern int posix_openpt (int __oflag) ;
  # 961 "/usr/include/stdlib.h" 3 4
  extern int getloadavg (double __loadavg[], int __nelem)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  # 977 "/usr/include/stdlib.h" 3 4
  
  # 3 "reorder_bad.c" 2
  # 1 "/usr/include/pthread.h" 1 3 4
  # 23 "/usr/include/pthread.h" 3 4
  # 1 "/usr/include/sched.h" 1 3 4
  # 29 "/usr/include/sched.h" 3 4
  # 1 "/usr/include/time.h" 1 3 4
  # 30 "/usr/include/sched.h" 2 3 4
  
  
  # 1 "/usr/include/bits/sched.h" 1 3 4
  # 65 "/usr/include/bits/sched.h" 3 4
  struct sched_param
    {
      int __sched_priority;
    };
  
  
  
  
  
  extern int clone (int (*__fn) (void *__arg), void *__child_stack,
      int __flags, void *__arg, ...) __attribute__ ((__nothrow__));
  
  
  extern int unshare (int __flags) __attribute__ ((__nothrow__));
  
  
  
  
  
  
  
  
  
  
  struct __sched_param
    {
      int __sched_priority;
    };
  # 104 "/usr/include/bits/sched.h" 3 4
  typedef unsigned long int __cpu_mask;
  
  
  
  
  
  
  typedef struct
  {
    __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
  } cpu_set_t;
  # 33 "/usr/include/sched.h" 2 3 4
  
  
  
  
  
  
  
  extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
       __attribute__ ((__nothrow__));
  
  
  extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__));
  
  
  extern int sched_setscheduler (__pid_t __pid, int __policy,
            __const struct sched_param *__param) __attribute__ ((__nothrow__));
  
  
  extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__));
  
  
  extern int sched_yield (void) __attribute__ ((__nothrow__));
  
  
  extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__));
  
  
  extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__));
  
  
  extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__));
  # 84 "/usr/include/sched.h" 3 4
  
  # 24 "/usr/include/pthread.h" 2 3 4
  # 1 "/usr/include/time.h" 1 3 4
  # 31 "/usr/include/time.h" 3 4
  
  
  
  
  
  
  
  
  # 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4
  # 40 "/usr/include/time.h" 2 3 4
  
  
  
  # 1 "/usr/include/bits/time.h" 1 3 4
  # 44 "/usr/include/time.h" 2 3 4
  # 59 "/usr/include/time.h" 3 4
  
  
  typedef __clock_t clock_t;
  
  
  
  # 132 "/usr/include/time.h" 3 4
  
  
  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;
  # 181 "/usr/include/time.h" 3 4
  
  
  
  extern clock_t clock (void) __attribute__ ((__nothrow__));
  
  
  extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
  
  
  extern double difftime (time_t __time1, time_t __time0)
       __attribute__ ((__nothrow__)) __attribute__ ((__const__));
  
  
  extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
  
  
  
  
  
  extern size_t strftime (char *__restrict __s, size_t __maxsize,
     __const char *__restrict __format,
     __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
  
  # 229 "/usr/include/time.h" 3 4
  
  
  
  extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
  
  
  
  extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
  
  
  
  
  
  extern struct tm *gmtime_r (__const time_t *__restrict __timer,
         struct tm *__restrict __tp) __attribute__ ((__nothrow__));
  
  
  
  extern struct tm *localtime_r (__const time_t *__restrict __timer,
            struct tm *__restrict __tp) __attribute__ ((__nothrow__));
  
  
  
  
  
  extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
  
  
  extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
  
  
  
  
  
  
  
  extern char *asctime_r (__const struct tm *__restrict __tp,
     char *__restrict __buf) __attribute__ ((__nothrow__));
  
  
  extern char *ctime_r (__const time_t *__restrict __timer,
          char *__restrict __buf) __attribute__ ((__nothrow__));
  
  
  
  
  extern char *__tzname[2];
  extern int __daylight;
  extern long int __timezone;
  
  
  
  
  extern char *tzname[2];
  
  
  
  extern void tzset (void) __attribute__ ((__nothrow__));
  
  
  
  extern int daylight;
  extern long int timezone;
  
  
  
  
  
  extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
  # 312 "/usr/include/time.h" 3 4
  extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
  
  
  extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
  
  
  extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
  # 327 "/usr/include/time.h" 3 4
  extern int nanosleep (__const struct timespec *__requested_time,
          struct timespec *__remaining);
  
  
  
  extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
  
  
  extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
  
  
  extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
       __attribute__ ((__nothrow__));
  
  
  
  
  
  
  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__));
  
  
  
  
  extern int timer_create (clockid_t __clock_id,
      struct sigevent *__restrict __evp,
      timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
  
  
  extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
  
  
  extern int timer_settime (timer_t __timerid, int __flags,
       __const struct itimerspec *__restrict __value,
       struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
  
  
  extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
       __attribute__ ((__nothrow__));
  
  
  extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
  # 416 "/usr/include/time.h" 3 4
  
  # 25 "/usr/include/pthread.h" 2 3 4
  
  
  # 1 "/usr/include/signal.h" 1 3 4
  # 31 "/usr/include/signal.h" 3 4
  
  
  # 1 "/usr/include/bits/sigset.h" 1 3 4
  # 34 "/usr/include/signal.h" 2 3 4
  # 400 "/usr/include/signal.h" 3 4
  
  # 28 "/usr/include/pthread.h" 2 3 4
  
  # 1 "/usr/include/bits/setjmp.h" 1 3 4
  # 27 "/usr/include/bits/setjmp.h" 3 4
  # 1 "/usr/include/bits/wordsize.h" 1 3 4
  # 28 "/usr/include/bits/setjmp.h" 2 3 4
  
  
  
  
  typedef long int __jmp_buf[8];
  # 30 "/usr/include/pthread.h" 2 3 4
  # 1 "/usr/include/bits/wordsize.h" 1 3 4
  # 31 "/usr/include/pthread.h" 2 3 4
  
  
  
  enum
  {
    PTHREAD_CREATE_JOINABLE,
  
    PTHREAD_CREATE_DETACHED
  
  };
  
  
  
  enum
  {
    PTHREAD_MUTEX_TIMED_NP,
    PTHREAD_MUTEX_RECURSIVE_NP,
    PTHREAD_MUTEX_ERRORCHECK_NP,
    PTHREAD_MUTEX_ADAPTIVE_NP
  # 61 "/usr/include/pthread.h" 3 4
  };
  # 113 "/usr/include/pthread.h" 3 4
  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
  };
  # 143 "/usr/include/pthread.h" 3 4
  enum
  {
    PTHREAD_INHERIT_SCHED,
  
    PTHREAD_EXPLICIT_SCHED
  
  };
  
  
  
  enum
  {
    PTHREAD_SCOPE_SYSTEM,
  
    PTHREAD_SCOPE_PROCESS
  
  };
  
  
  
  enum
  {
    PTHREAD_PROCESS_PRIVATE,
  
    PTHREAD_PROCESS_SHARED
  
  };
  # 178 "/usr/include/pthread.h" 3 4
  struct _pthread_cleanup_buffer
  {
    void (*__routine) (void *);
    void *__arg;
    int __canceltype;
    struct _pthread_cleanup_buffer *__prev;
  };
  
  
  enum
  {
    PTHREAD_CANCEL_ENABLE,
  
    PTHREAD_CANCEL_DISABLE
  
  };
  enum
  {
    PTHREAD_CANCEL_DEFERRED,
  
    PTHREAD_CANCEL_ASYNCHRONOUS
  
  };
  # 216 "/usr/include/pthread.h" 3 4
  
  
  
  
  
  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);
  # 259 "/usr/include/pthread.h" 3 4
  extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__));
  
  
  
  extern pthread_t pthread_self (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
  
  
  extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__));
  
  
  
  
  
  
  
  extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_attr_destroy (pthread_attr_t *__attr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
       int *__detachstate)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
       int __detachstate)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
            size_t *__guardsize)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
            size_t __guardsize)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
             __attr,
             struct sched_param *__restrict __param)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
             __const struct sched_param *__restrict
             __param) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
       __attr, int *__restrict __policy)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
        __attr, int *__restrict __inherit)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
        int __inherit)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
        int *__restrict __scope)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
            __attr, void **__restrict __stackaddr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
  
  
  
  
  
  extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
            void *__stackaddr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
  
  
  extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
            __attr, size_t *__restrict __stacksize)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  
  
  extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
            size_t __stacksize)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
        void **__restrict __stackaddr,
        size_t *__restrict __stacksize)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));
  
  
  
  
  extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
        size_t __stacksize) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  # 409 "/usr/include/pthread.h" 3 4
  extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
        __const struct sched_param *__param)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
  
  
  extern int pthread_getschedparam (pthread_t __target_thread,
        int *__restrict __policy,
        struct sched_param *__restrict __param)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
  
  
  extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
       __attribute__ ((__nothrow__));
  # 462 "/usr/include/pthread.h" 3 4
  extern int pthread_once (pthread_once_t *__once_control,
      void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
  # 474 "/usr/include/pthread.h" 3 4
  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__));
  # 508 "/usr/include/pthread.h" 3 4
  struct __pthread_cleanup_frame
  {
    void (*__cancel_routine) (void *);
    void *__cancel_arg;
    int __do_it;
    int __cancel_type;
  };
  # 648 "/usr/include/pthread.h" 3 4
  extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
       ;
  # 659 "/usr/include/pthread.h" 3 4
  extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
    ;
  # 699 "/usr/include/pthread.h" 3 4
  extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
       __attribute__ ((__noreturn__))
  
       __attribute__ ((__weak__))
  
       ;
  
  
  
  struct __jmp_buf_tag;
  extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __attribute__ ((__nothrow__));
  
  
  
  
  
  extern int pthread_mutex_init (pthread_mutex_t *__mutex,
            __const pthread_mutexattr_t *__mutexattr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
       __attribute__ ((__nothrow__)) __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)));
  # 770 "/usr/include/pthread.h" 3 4
  extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
        __restrict __attr,
        int *__restrict __pshared)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
        int __pshared)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  # 842 "/usr/include/pthread.h" 3 4
  extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
      __const pthread_rwlockattr_t *__restrict
      __attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
       __attribute__ ((__nothrow__)) __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__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
         __restrict __attr,
         int *__restrict __pshared)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
         int __pshared)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
         __restrict __attr,
         int *__restrict __pref)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
         int __pref) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  
  
  
  
  extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
           __const pthread_condattr_t *__restrict
           __cond_attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_cond_destroy (pthread_cond_t *__cond)
       __attribute__ ((__nothrow__)) __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)));
  # 954 "/usr/include/pthread.h" 3 4
  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__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_condattr_getpshared (__const pthread_condattr_t *
                                          __restrict __attr,
                                          int *__restrict __pshared)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
                                          int __pshared) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  
  extern int pthread_condattr_getclock (__const pthread_condattr_t *
            __restrict __attr,
            __clockid_t *__restrict __clock_id)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
            __clockid_t __clock_id)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  # 998 "/usr/include/pthread.h" 3 4
  extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
       __attribute__ ((__nothrow__)) __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__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
       __attribute__ ((__nothrow__)) __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__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
          __restrict __attr,
          int *__restrict __pshared)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
  
  
  extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
                                             int __pshared)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  # 1065 "/usr/include/pthread.h" 3 4
  extern int pthread_key_create (pthread_key_t *__key,
            void (*__destr_function) (void *))
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
  
  
  extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__));
  
  
  extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__));
  
  
  extern int pthread_setspecific (pthread_key_t __key,
      __const void *__pointer) __attribute__ ((__nothrow__)) ;
  
  
  
  
  extern int pthread_getcpuclockid (pthread_t __thread_id,
        __clockid_t *__clock_id)
       __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
  # 1099 "/usr/include/pthread.h" 3 4
  extern int pthread_atfork (void (*__prepare) (void),
        void (*__parent) (void),
        void (*__child) (void)) __attribute__ ((__nothrow__));
  # 1113 "/usr/include/pthread.h" 3 4
  
  # 4 "reorder_bad.c" 2
  
  
  
  static int iSet = 10;
  static int iCheck = 10;
  
  static int a = 0;
  static int b = 0;
  
  void __ESBMC_yield();
  
  void *setThread(void *param);
  void *checkThread(void *param);
  void set();
  int check();
  
  int main(int argc, char *argv[]) {
      int i, err;
  
      if (argc != 1) {
          if (argc != 3) {
              fprintf(stderr, "./reorder <param1> <param2>\n");
              exit(-1);
          } else {
              sscanf(argv[1], "%d", &iSet);
              sscanf(argv[2], "%d", &iCheck);
          }
      }
  
  
  
      pthread_t setPool[iSet];
      pthread_t checkPool[iCheck];
  
      for (i = 0; i < iSet; i++) {
          if (0 != (err = pthread_create(&setPool[i], ((void *)0), &setThread, ((void *)0)))) {
              fprintf(stderr, "Error [%d] found creating set thread.\n", err);
              exit(-1);
          }
      }
  
      for (i = 0; i < iCheck; i++) {
          if (0 != (err = pthread_create(&checkPool[i], ((void *)0), &checkThread,
                                         ((void *)0)))) {
              fprintf(stderr, "Error [%d] found creating check thread.\n", err);
              exit(-1);
          }
      }
  
      for (i = 0; i < iSet; i++) {
          if (0 != (err = pthread_join(setPool[i], ((void *)0)))) {
              fprintf(stderr, "pthread join error: %d\n", err);
              exit(-1);
          }
      }
  
      for (i = 0; i < iCheck; i++) {
          if (0 != (err = pthread_join(checkPool[i], ((void *)0)))) {
              fprintf(stderr, "pthread join error: %d\n", err);
              exit(-1);
          }
      }
  
      return 0;
  }
  
  void *setThread(void *param) {
      a = 1;
      b = -1;
  
      return ((void *)0);
  }
  
  void *checkThread(void *param) {
      if (! ((a == 0 && b == 0) || (a == 1 && b == -1))) {
          fprintf(stderr, "Bug found!\n");
          assert(0);
  
      }
  
      return ((void *)0);
  }
  