]> granicus.if.org Git - sudo/commitdiff
Remove monitor support until there is a versino of systrace that
authorTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 15 Aug 2007 15:20:01 +0000 (15:20 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 15 Aug 2007 15:20:01 +0000 (15:20 +0000)
uses a lookaside buffer (or we have a better mechanism to use).

20 files changed:
INSTALL
Makefile.in
WHATSNEW
config.h.in
configure.in
def_data.c
def_data.h
def_data.in
gram.c
gram.h
gram.y
parse.c
parse.h
pathnames.h.in
sudo.c
sudo.h
sudoers.pod
testsudoers.c
toke.c
toke.l

diff --git a/INSTALL b/INSTALL
index e612d9a35ee14a12f11df1dc66d9eb047f4bf010..1f00e1627fdb28fa16d6b870956e4a9e97c5ab3a 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -252,14 +252,6 @@ Special features/options:
        is to compile noexec support if libtool supports building
        shared objects on your OS.
 
-  --with-systrace[=DIR]
-       Enable support for the systrace(4) tracing facility.  This
-       allows sudo to control execution of further commands by
-       the program being run through sudo.  On systems with
-       systrace(4) support this is a better option than the
-       "noexec" facility.  If DIR is specified it indicates the
-       directory in which to find the systrace.h include file.
-
   --disable-root-mailer
        By default sudo will run the mailer as root when tattling
        on a user so as to prevent that user from killing the mailer.
index 3abba90c0c16f5ec7c41101d9e266a5afece28d2..a7cfef65995b3c2a95e628b8cd698c3b5067efcf 100644 (file)
@@ -101,7 +101,7 @@ PROGS = @PROGS@
 SRCS = alloc.c alloca.c check.c closefrom.c def_data.c defaults.c env.c \
        error.c fileops.c find_path.c fnmatch.c getcwd.c getprogname.c \
        getspwuid.c gettime.c goodpath.c gram.c gram.y interfaces.c ldap.c \
-       logging.c match.c mkstemp.c memrchr.c mon_systrace.c parse.c pwutil.c  \
+       logging.c match.c mkstemp.c memrchr.c parse.c pwutil.c  \
        set_perms.c sigaction.c snprintf.c strcasecmp.c strerror.c strlcat.c \
        strlcpy.c sudo.c sudo_noexec.c sudo_edit.c testsudoers.c tgetpass.c \
        toke.c toke.l tsgetgrpw.c utimes.c visudo.c zero_bytes.c redblack.c \
@@ -263,8 +263,6 @@ mkstemp.o: $(srcdir)/mkstemp.c $(SUDODEP)
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/mkstemp.c
 mon_solaris.o: $(srcdir)/mon_solaris.c $(SUDODEP) $(srcdir)/mon_solaris.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/mon_solaris.c
-mon_systrace.o: $(srcdir)/mon_systrace.c $(SUDODEP) $(srcdir)/mon_systrace.h
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/mon_systrace.c
 parse.o: $(srcdir)/parse.c $(SUDODEP) $(srcdir)/parse.h $(devdir)/gram.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/parse.c
 pwutil.o: $(srcdir)/pwutil.c $(SUDODEP)
index ddf80960f0473a5faeeb9649aec7cece1e5a57d5..13c56d13fea110493bf38cfa7db4db5df8f81f7c 100644 (file)
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -5,14 +5,6 @@ What's new in Sudo 1.7?
    apply sudoers Defaults entries before searching for the command.
    It also adds support for per-command Defaults specifications.
 
- * New monitor functionality for systems with the systrace kernel facility
-   (OpenBSD and NetBSD in the default system, FreeBSD and Linux with kernel
-   patched).  When monitoring is enabled, sudo will fork a daemon that
-   monitors the command being run and intercepts the execve() system call,
-   allowing or denying execution of the new command based on a sudoers lookup.
-   The SUDO_* environment variables are also updated if this is supported by
-   the version of systrace(4) on the system.
-
  * Sudoers now supports a #include facility to allow the inclusion of other
    sudoers-format files.
 
index a94d87b2f957f8d0076ea0600697644605ae4146..c2ed862eb527076a1bf149847508ce9804655b67 100644 (file)
@@ -75,9 +75,6 @@
 /* Define to 1 if your `DIR' contains dd_fd. */
 #undef HAVE_DD_FD
 
-/* Define to 1 if you have the <dev/systrace.h> header file. */
-#undef HAVE_DEV_SYSTRACE_H
-
 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
    */
 #undef HAVE_DIRENT_H
 /* Define to 1 if you have the `ldap_start_tls_s' function. */
 #undef HAVE_LDAP_START_TLS_S
 
-/* Define to 1 if you have the <linux/systrace.h> header file. */
-#undef HAVE_LINUX_SYSTRACE_H
-
 /* Define to 1 if you have the `lockf' function. */
 #undef HAVE_LOCKF
 
 /* Define to 1 if you have the `sysconf' function. */
 #undef HAVE_SYSCONF
 
-/* Define to 1 to build support for tracing subprocesses using systrace(4) */
-#undef HAVE_SYSTRACE
-
 /* Define to 1 if you have the <sys/bsdtypes.h> header file. */
 #undef HAVE_SYS_BSDTYPES_H
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
-/* Define to 1 if you have the <sys/systrace.h> header file. */
-#undef HAVE_SYS_SYSTRACE_H
-
 /* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H
 
index 3d412dceb7278d448a07e023dfa89f03eae88dac..ad6bda14198f04edecc671ef806c628bb0d93561 100644 (file)
@@ -392,13 +392,6 @@ AC_ARG_WITH(bsdauth, [  --with-bsdauth          enable BSD authentication suppor
                ;;
 esac])
 
-AC_ARG_WITH(systrace, [  --with-systrace[[=DIR]]   enable systrace(4) support],
-[case $with_systrace in
-    no)                with_systrace=""
-               ;;
-    *)         ;;
-esac])
-
 AC_ARG_WITH(project, [  --with-project          enable Solaris project support],
 [case $with_project in
     yes|no)    ;;
@@ -1781,19 +1774,6 @@ AC_CHECK_FUNCS(getprogname, , [
     AC_MSG_RESULT($sudo_cv___progname)
 ])
 dnl
-dnl systrace(4) support
-dnl
-if test -n "$with_systrace"; then
-    AC_DEFINE(HAVE_SYSTRACE)
-    if test "$with_systrace" = "yes"; then
-       AC_CHECK_HEADERS(dev/systrace.h sys/systrace.h linux/systrace.h, [break], [], [#include <sys/param.h>])
-    else
-       CPPFLAGS="$CPPFLAGS -I${with_systrace}"
-    fi
-    SUDO_OBJS="${SUDO_OBJS} mon_systrace.o"
-    AC_CHECK_FUNCS(setproctitle)
-fi
-dnl
 dnl Kerberos IV
 dnl
 if test -n "$with_kerb4"; then
@@ -2393,7 +2373,6 @@ AH_TEMPLATE(HAVE_SKEY, [Define to 1 if you use S/Key.])
 AH_TEMPLATE(HAVE_SKEYACCESS, [Define to 1 if your S/Key library has skeyaccess().])
 AH_TEMPLATE(HAVE_ST_MTIM, [Define to 1 if your struct stat has an st_mtim member])
 AH_TEMPLATE(HAVE_ST_MTIMESPEC, [Define to 1 if your struct stat has an st_mtimespec member])
-AH_TEMPLATE(HAVE_SYSTRACE, [Define to 1 to build support for tracing subprocesses using systrace(4)])
 AH_TEMPLATE(HAVE_TERMIOS_H, [Define to 1 if you have the <termios.h> header file and the `tcgetattr' function.])
 AH_TEMPLATE(HAVE_TIMESPEC, [Define to 1 if you have struct timespec in sys/time.h])
 AH_TEMPLATE(HAVE_TIMESPECSUB2, [Define to 1 if you have a timespecsub macro or function that takes two arguments (not three)])
index cd04c8c6b090eec00f416de0f157864cae042eca..5f334639ed3a12b7e14310a32edae7e0be7459b9 100644 (file)
@@ -247,10 +247,6 @@ struct sudo_defs_types sudo_defs_table[] = {
        "ignore_local_sudoers", T_FLAG,
        "If LDAP directory is up, do we ignore local sudoers file",
        NULL,
-    }, {
-       "monitor", T_FLAG,
-       "Monitor children of cmnd and apply sudoers restrictions to them",
-       NULL,
     }, {
        "closefrom", T_INT,
        "File descriptors >= %d will be closed before executing a command",
index 0db62d33d8765c9fa15efbd12b2617677b9f80dd..0313ebde236c7b7699544d41c80436417c7aae9c 100644 (file)
 #define I_NOEXEC_FILE           54
 #define def_ignore_local_sudoers (sudo_defs_table[55].sd_un.flag)
 #define I_IGNORE_LOCAL_SUDOERS  55
-#define def_monitor             (sudo_defs_table[56].sd_un.flag)
-#define I_MONITOR               56
-#define def_closefrom           (sudo_defs_table[57].sd_un.ival)
-#define I_CLOSEFROM             57
-#define def_closefrom_override  (sudo_defs_table[58].sd_un.flag)
-#define I_CLOSEFROM_OVERRIDE    58
-#define def_env_check           (sudo_defs_table[59].sd_un.list)
-#define I_ENV_CHECK             59
-#define def_env_delete          (sudo_defs_table[60].sd_un.list)
-#define I_ENV_DELETE            60
-#define def_env_keep            (sudo_defs_table[61].sd_un.list)
-#define I_ENV_KEEP              61
-#define def_setenv              (sudo_defs_table[62].sd_un.flag)
-#define I_SETENV                62
+#define def_closefrom           (sudo_defs_table[56].sd_un.ival)
+#define I_CLOSEFROM             56
+#define def_closefrom_override  (sudo_defs_table[57].sd_un.flag)
+#define I_CLOSEFROM_OVERRIDE    57
+#define def_env_check           (sudo_defs_table[58].sd_un.list)
+#define I_ENV_CHECK             58
+#define def_env_delete          (sudo_defs_table[59].sd_un.list)
+#define I_ENV_DELETE            59
+#define def_env_keep            (sudo_defs_table[60].sd_un.list)
+#define I_ENV_KEEP              60
+#define def_setenv              (sudo_defs_table[61].sd_un.flag)
+#define I_SETENV                61
 
 enum def_tupple {
        never,
index d392b6d60fc90d2abd2cff8561c1613ec565e663..3f7579186b58cd9fdc44993ee270028fa0c812c6 100644 (file)
@@ -182,9 +182,6 @@ noexec_file
 ignore_local_sudoers
        T_FLAG
        "If LDAP directory is up, do we ignore local sudoers file"
-monitor
-       T_FLAG
-       "Monitor children of cmnd and apply sudoers restrictions to them"
 closefrom
        T_INT
        "File descriptors >= %d will be closed before executing a command"
diff --git a/gram.c b/gram.c
index 326f0d1df248d4c872a8c0a0a52ff2ba83c16f81..a6219f7a54b25c6678649fd82ea09a7c8fa7ebf9 100644 (file)
--- a/gram.c
+++ b/gram.c
@@ -146,17 +146,15 @@ typedef union {
 #define PASSWD 271
 #define NOEXEC 272
 #define EXEC 273
-#define MONITOR 274
-#define NOMONITOR 275
-#define SETENV 276
-#define NOSETENV 277
-#define ALL 278
-#define COMMENT 279
-#define HOSTALIAS 280
-#define CMNDALIAS 281
-#define USERALIAS 282
-#define RUNASALIAS 283
-#define ERROR 284
+#define SETENV 274
+#define NOSETENV 275
+#define ALL 276
+#define COMMENT 277
+#define HOSTALIAS 278
+#define CMNDALIAS 279
+#define USERALIAS 280
+#define RUNASALIAS 281
+#define ERROR 282
 #define YYERRCODE 256
 #if defined(__cplusplus) || defined(__STDC__)
 const short yylhs[] =
@@ -169,10 +167,10 @@ short yylhs[] =
     3,    3,    3,   19,   19,   18,   10,   10,    8,    8,
     8,    8,    8,    2,    2,    1,    6,    6,   14,   14,
    13,   13,   11,   11,   15,   15,   15,   15,   15,   20,
-   20,   20,   20,   20,   20,   20,   20,   20,    5,    5,
-    5,   24,   24,   27,    9,    9,   25,   25,   28,    7,
-    7,   26,   26,   29,   23,   23,   30,   17,   17,   12,
-   12,   16,   16,   16,   16,   16,
+   20,   20,   20,   20,   20,   20,    5,    5,    5,   24,
+   24,   27,    9,    9,   25,   25,   28,    7,    7,   26,
+   26,   29,   23,   23,   30,   17,   17,   12,   12,   16,
+   16,   16,   16,   16,
 };
 #if defined(__cplusplus) || defined(__STDC__)
 const short yylen[] =
@@ -185,10 +183,10 @@ short yylen[] =
     3,    3,    3,    1,    3,    3,    1,    2,    1,    1,
     1,    1,    1,    1,    3,    3,    1,    2,    0,    2,
     1,    3,    1,    2,    1,    1,    1,    1,    1,    0,
-    2,    2,    2,    2,    2,    2,    2,    2,    1,    1,
-    1,    1,    3,    3,    1,    3,    1,    3,    3,    1,
-    3,    1,    3,    3,    1,    3,    3,    1,    3,    1,
-    2,    1,    1,    1,    1,    1,
+    2,    2,    2,    2,    2,    2,    1,    1,    1,    1,
+    3,    3,    1,    3,    1,    3,    3,    1,    3,    1,
+    3,    3,    1,    3,    3,    1,    3,    1,    2,    1,
+    1,    1,    1,    1,
 };
 #if defined(__cplusplus) || defined(__STDC__)
 const short yydefred[] =
@@ -196,20 +194,19 @@ const short yydefred[] =
 short yydefred[] =
 #endif
        {                                      0,
-    0,   82,   84,   85,   86,    0,    0,    0,    0,    0,
-   83,    5,    0,    0,    0,    0,    0,    0,   78,   80,
+    0,   80,   82,   83,   84,    0,    0,    0,    0,    0,
+   81,    5,    0,    0,    0,    0,    0,    0,   76,   78,
     0,    0,    3,    6,    0,    0,   17,    0,   29,   32,
-   31,   33,   30,    0,   27,    0,   65,    0,   45,   47,
-   48,   49,   46,    0,   41,    0,   43,   61,   60,   59,
-    0,   37,   70,    0,    0,    0,   62,    0,    0,   67,
-    0,    0,   75,    0,    0,   72,   81,    0,    0,   24,
+   31,   33,   30,    0,   27,    0,   63,    0,   45,   47,
+   48,   49,   46,    0,   41,    0,   43,   59,   58,   57,
+    0,   37,   68,    0,    0,    0,   60,    0,    0,   65,
+    0,    0,   73,    0,    0,   70,   79,    0,    0,   24,
     0,    4,    0,    0,    0,   20,    0,   28,    0,    0,
     0,   44,    0,    0,   38,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   79,    0,    0,   21,   22,
-   23,   18,   66,   42,   71,    0,   63,    0,   68,    0,
-   76,    0,   73,    0,   34,    0,   50,   25,    0,    0,
-    0,   35,   51,   52,   53,   54,   57,   58,   55,   56,
-   36,
+    0,    0,    0,    0,    0,   77,    0,    0,   21,   22,
+   23,   18,   64,   42,   69,    0,   61,    0,   66,    0,
+   74,    0,   71,    0,   34,    0,   50,   25,    0,    0,
+    0,   35,   51,   52,   53,   54,   55,   56,   36,
 };
 #if defined(__cplusplus) || defined(__STDC__)
 const short yydgoto[] =
@@ -226,231 +223,245 @@ const short yysindex[] =
 #else
 short yysindex[] =
 #endif
-       {                                    466,
- -266,    0,    0,    0,    0,  -21,  513,   -7,  517,  188,
-    0,    0, -244, -239, -234, -233, -231,    0,    0,    0,
-  -29,  466,    0,    0,    9, -226,    0,   -9,    0,    0,
-    0,    0,    0, -219,    0,  -26,    0,  -24,    0,    0,
-    0,    0,    0, -212,    0,  -23,    0,    0,    0,    0,
- -241,    0,    0,  -22,  -25,  -18,    0,  -13,  -15,    0,
-   -5,    2,    0,   -3,    3,    0,    0,   -7,  -38,    0,
-    6,    0, -198, -196, -195,    0,  -21,    0,  513,   -9,
-   -9,    0,  517,   -9,    0,  188,   -9,  513, -244,  188,
- -239,   -7, -234,  517, -233,    0, -200,  513,    0,    0,
-    0,    0,    0,    0,    0,   28,    0,   30,    0,   31,
-    0,   32,    0,  517,    0,   33,    0,    0,   32, -200,
-  -31,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,};
+       {                                    -33,
+ -275,    0,    0,    0,    0,  -10,   -5,  265,  292,  253,
+    0,    0, -253, -251, -250, -248, -243,    0,    0,    0,
+  -22,  -33,    0,    0,  -13, -242,    0,  -28,    0,    0,
+    0,    0,    0, -211,    0,  -19,    0,   -9,    0,    0,
+    0,    0,    0, -222,    0,   -7,    0,    0,    0,    0,
+ -245,    0,    0,   13,  -40,  -15,    0,  -17,   -3,    0,
+    2,    3,    0,    6,    4,    0,    0,  265,   -2,    0,
+   10,    0, -212, -199, -194,    0,  -10,    0,   -5,  -28,
+  -28,    0,  292,  -28,    0,  253,  -28,   -5, -253,  253,
+ -251,  265, -250,  292, -248,    0, -198,   -5,    0,    0,
+    0,    0,    0,    0,    0,   26,    0,   28,    0,   29,
+    0,   31,    0,  292,    0,   32,    0,    0,   31, -198,
+  263,    0,    0,    0,    0,    0,    0,    0,    0,};
 #if defined(__cplusplus) || defined(__STDC__)
 const short yyrindex[] =
 #else
 short yyrindex[] =
 #endif
-       {                                     73,
+       {                                     77,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   78,    0,    0,    1,    0,    0,  169,    0,    0,
+    0,   78,    0,    0,    1,    0,    0,  157,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  197,    0,    0,  225,    0,
-    0,  253,    0,    0,  298,    0,    0,    0,    0,    0,
-  326,    0,    0,    0,    0,    0,    0,    0,    0,  354,
-  382,    0,    0,  410,    0,    0,  438,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  267,    0,    0,    0,
-    0,    0,    0,    0,    0,   29,    0,   57,    0,   85,
-    0,  113,    0,    0,    0,  141,    0,    0,  480,  267,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,};
+    0,    0,    0,    0,    0,  183,    0,    0,  209,    0,
+    0,  237,    0,    0,  458,    0,    0,    0,    0,    0,
+  492,    0,    0,    0,    0,    0,    0,    0,    0,  519,
+  545,    0,    0,  571,    0,    0,  597,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,  289,    0,    0,    0,
+    0,    0,    0,    0,    0,   27,    0,   53,    0,   79,
+    0,  105,    0,    0,    0,  131,    0,    0,  315,  289,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,};
 #if defined(__cplusplus) || defined(__STDC__)
 const short yygindex[] =
 #else
 short yygindex[] =
 #endif
        {                                      0,
-  -41,    0,    4,   17,   37,  -83,  -10,   48,   -2,   10,
-    8,   15,  -86,    0,   49,   75,   -8,   -4,    0,    0,
-    0,   74,    0,    0,    0,    0,   11,    7,   12,   13,
+  -39,    0,    5,   20,   33,  -83,    7,   46,   -1,   11,
+    8,   15,  -85,    0,   45,   75,   -4,    9,    0,    0,
+    0,   71,    0,    0,    0,    0,   12,   17,   14,   21,
 };
-#define YYTABLESIZE 795
+#define YYTABLESIZE 878
 #if defined(__cplusplus) || defined(__STDC__)
 const short yytable[] =
 #else
 short yytable[] =
 #endif
-       {                                      38,
-   19,   51,  105,   34,   36,   79,   26,  112,   26,   26,
-   26,   26,   24,   55,   68,   48,   49,   79,   58,   68,
-   83,   86,   97,   61,   64,   17,    2,  119,   64,    3,
-    4,    5,   76,   19,   77,   88,   50,  131,   29,   89,
-   30,   31,   91,   32,   19,   39,   11,   90,   40,   41,
-   42,   74,   80,   75,   81,   92,   69,   94,   33,   93,
-   95,   64,   84,   98,   99,   43,  100,  101,  114,   73,
-   87,   79,    1,   86,   68,   83,  120,    2,  122,  108,
-  102,   78,   96,  110,   77,  106,   64,   85,  103,   69,
-  104,   67,   82,  118,    0,   72,    0,  109,    0,  107,
-    0,    0,    0,    0,    0,  111,  113,    0,    0,    0,
-    0,    0,   74,    0,   69,    0,    0,   77,    0,    0,
+       {                                      17,
+   19,   24,  105,   38,   55,   36,   58,   61,  112,   64,
+   34,   48,   49,   26,    2,   77,   76,    3,    4,    5,
+   88,   68,   26,   26,   79,   26,   62,   34,  119,   74,
+   50,   75,   11,   19,   68,   39,   83,  129,   40,   41,
+   42,   79,   89,   90,   19,   26,   29,   73,   30,   31,
+   99,   32,   67,   43,   91,   80,   86,   81,   97,   62,
+   93,   95,   92,  100,   33,   84,   94,   98,  101,   79,
+  114,   86,   68,   87,   83,  120,    1,    2,   75,   78,
+  122,  102,   96,   85,   62,   67,  106,  110,   82,  103,
+  104,   67,   72,    0,    0,    0,  108,    0,    0,    0,
+  107,    0,    0,    0,   72,    0,  118,  109,  113,    0,
+   67,   75,    0,  111,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+   26,    0,    0,    0,    0,    0,   75,   72,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   26,    0,   77,    0,    0,   74,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,   12,    0,    0,    0,
+    0,    0,   72,   26,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,   12,    0,
-   74,    0,    0,   26,    0,    0,    0,    0,    0,    0,
+    0,    0,    9,    0,    0,    0,    0,    0,   26,   12,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,   10,    0,
+    0,    0,    0,    0,    0,    9,    0,    0,    0,    0,
+    0,    0,    1,    0,    2,    0,    0,    3,    4,    5,
+    6,    7,    8,    9,   10,   29,    8,   30,   31,   25,
+   32,   10,   11,   12,   13,   14,   15,   16,   25,   25,
+    0,   25,   29,   33,   30,   31,   19,   32,   19,    0,
+    0,   19,   19,   19,   19,   19,   19,   19,   19,    8,
+   33,   25,    0,    0,    0,    0,   19,   19,   19,   19,
+   19,   19,   62,    0,   62,   51,    0,   62,   62,   62,
+   62,   62,   62,   62,   62,   51,    0,   17,    0,    0,
+    0,    0,   62,   62,   62,   62,   62,   62,   67,    0,
+   67,    0,    0,   67,   67,   67,   67,   67,   67,   67,
+   67,   39,    0,    0,   44,    0,    0,    0,   67,   67,
+   67,   67,   67,   67,   75,    0,   75,    0,    0,   75,
+   75,   75,   75,   75,   75,   75,   75,   40,    0,    0,
+    0,    0,    0,    0,   75,   75,   75,   75,   75,   75,
+   72,    0,   72,    0,    0,   72,   72,   72,   72,   72,
+   72,   72,   72,    0,    0,    0,    0,    0,    0,    0,
+   72,   72,   72,   72,   72,   72,   26,    0,   26,    0,
+    0,   26,   26,   26,   26,   26,   26,   26,   26,    0,
+    0,    0,    0,    0,    0,    0,   26,   26,   26,   26,
+   26,   26,   12,    0,   12,    0,    0,   12,   12,   12,
+   12,   12,   12,   12,   12,    0,    0,    0,    0,    0,
+    0,    0,   12,   12,   12,   12,   12,   12,    9,    0,
+    9,    0,    0,    9,    9,    9,    9,    9,    9,    9,
+    9,    0,    0,    0,    0,    0,    0,   11,    9,    9,
+    9,    9,    9,    9,   10,    0,   10,    0,    0,   10,
+   10,   10,   10,   10,   10,   10,   10,    0,    0,    0,
+    0,    0,    0,    0,   10,   10,   10,   10,   10,   10,
+   11,    7,    8,    0,    8,    0,    0,    8,    8,    8,
+    8,    8,    8,    8,    8,    0,    0,    0,    0,   48,
+   49,    0,    8,    8,    8,    8,    8,    8,   15,   48,
+   49,    0,    2,    0,    7,    3,    4,    5,   50,    0,
+    0,    0,  123,  124,  125,  126,  127,  128,   50,    0,
+   11,    0,    0,    0,   13,   39,   39,    0,    0,   39,
+    0,   15,   40,   41,   42,    0,    0,    0,   39,   39,
+   39,   39,   39,   39,   39,    0,    0,   43,    0,    0,
+   14,   40,   40,    0,    0,    0,    0,   13,    0,    0,
+    0,    0,    0,    0,   40,   40,   40,   40,   40,   40,
+   40,    0,    0,    0,    0,    0,   16,    0,    0,    0,
+    0,    0,    0,   14,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,   16,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    9,    0,   26,    0,
-    0,   12,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   51,    0,    0,    0,   10,   48,   49,    0,   29,    9,
-   30,   31,   25,   32,   25,   25,   25,   25,  123,  124,
-  125,  126,  127,  128,  129,  130,   50,    0,   33,    0,
-    2,    0,    8,    3,    4,    5,   19,   10,   19,    0,
-    0,   19,   19,   19,   19,   19,   19,   19,   19,    0,
-   11,    0,    0,    0,    0,    0,    0,    0,   19,   19,
-   19,   19,   19,   19,   64,    8,   64,    0,    0,   64,
-   64,   64,   64,   64,   64,   64,   64,   11,    0,   39,
-    0,    0,    0,    0,    0,    0,   64,   64,   64,   64,
-   64,   64,   69,    0,   69,    0,    0,   69,   69,   69,
-   69,   69,   69,   69,   69,    7,    0,    0,    0,    0,
-   11,    0,    0,    0,   69,   69,   69,   69,   69,   69,
-   77,    0,   77,    0,    0,   77,   77,   77,   77,   77,
-   77,   77,   77,   15,    0,    0,    0,    0,    7,    0,
-    0,    0,   77,   77,   77,   77,   77,   77,   74,    0,
-   74,    0,    0,   74,   74,   74,   74,   74,   74,   74,
-   74,   13,    0,    0,    0,    0,   15,    0,    0,    0,
-   74,   74,   74,   74,   74,   74,   26,    0,   26,    0,
-    0,   26,   26,   26,   26,   26,   26,   26,   26,   14,
-    0,    0,    0,    0,   13,    0,    0,    0,   26,   26,
-   26,   26,   26,   26,   12,    0,   12,    0,    0,   12,
-   12,   12,   12,   12,   12,   12,   12,   16,    0,    0,
-    0,    0,   14,    0,   48,   49,   12,   12,   12,   12,
-   12,   12,    9,    0,    9,    0,    0,    9,    9,    9,
-    9,    9,    9,    9,    9,   50,    0,    0,    0,    0,
-   16,    0,    0,    0,    9,    9,    9,    9,    9,    9,
-   10,    0,   10,    0,    0,   10,   10,   10,   10,   10,
-   10,   10,   10,    0,    0,    0,    0,    0,   17,    0,
-    0,    0,   10,   10,   10,   10,   10,   10,    8,    0,
-    8,    0,   40,    8,    8,    8,    8,    8,    8,    8,
-    8,    0,    0,   39,   39,    0,    0,    0,    0,    0,
-    8,    8,    8,    8,    8,    8,   39,   39,   39,   39,
-   39,   39,   39,   39,   39,   34,    0,    0,    0,   44,
-    0,    0,    0,   11,    0,   11,    0,    0,   11,   11,
-   11,   11,   11,   11,   11,   11,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   11,   11,   11,   11,   11,
-   11,    7,    0,    7,    0,    0,    7,    7,    7,    7,
-    7,    7,    7,    7,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    7,    7,    7,    7,    7,    7,   15,
-    0,   15,    0,    0,   15,   15,   15,   15,   15,   15,
-   15,   15,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   15,   15,   15,   15,   15,   15,   13,    0,   13,
-    0,    0,   13,   13,   13,   13,   13,   13,   13,   13,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   13,
-   13,   13,   13,   13,   13,   14,    0,   14,    0,    0,
-   14,   14,   14,   14,   14,   14,   14,   14,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   14,   14,   14,
-   14,   14,   14,   16,    0,   16,    0,    0,   16,   16,
-   16,   16,   16,   16,   16,   16,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   16,   16,   16,   16,   16,
-   16,    1,    0,    2,    0,    0,    3,    4,    5,    6,
-    7,    8,    9,   10,    0,    0,   40,   40,    0,    0,
-    0,    0,    0,   11,   12,   13,   14,   15,   16,   40,
-   40,   40,   40,   40,   40,   40,   40,   40,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   29,    0,   30,   31,   39,   32,    0,   40,   41,   42,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   33,    0,    0,    0,   43,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,   11,    0,   11,    0,    0,   11,   11,
+   11,   11,   11,   11,   11,   11,    0,    0,    0,    0,
+    0,    0,    0,   11,   11,   11,   11,   11,   11,    0,
+    0,    0,    0,    0,    0,    0,    0,    7,    0,    7,
+    0,    0,    7,    7,    7,    7,    7,    7,    7,    7,
+    0,    0,    0,    0,    0,    0,    0,    7,    7,    7,
+    7,    7,    7,    0,   15,    0,   15,    0,    0,   15,
+   15,   15,   15,   15,   15,   15,   15,    0,    0,    0,
+    0,    0,    0,    0,   15,   15,   15,   15,   15,   15,
+   13,    0,   13,    0,    0,   13,   13,   13,   13,   13,
+   13,   13,   13,    0,    0,    0,    0,    0,    0,    0,
+   13,   13,   13,   13,   13,   13,   14,    0,   14,    0,
+    0,   14,   14,   14,   14,   14,   14,   14,   14,    0,
+    0,    0,    0,    0,    0,    0,   14,   14,   14,   14,
+   14,   14,   16,    0,   16,    0,    0,   16,   16,   16,
+   16,   16,   16,   16,   16,    0,    0,    0,    0,    0,
+    0,    0,   16,   16,   16,   16,   16,   16,
 };
 #if defined(__cplusplus) || defined(__STDC__)
 const short yycheck[] =
 #else
 short yycheck[] =
 #endif
-       {                                       8,
-    0,   33,   86,   33,    7,   44,   33,   94,   33,   33,
-   33,   33,  279,  258,   44,  257,  258,   44,  258,   44,
-   44,   44,   61,  258,  258,   33,  258,  114,    0,  261,
-  262,  263,  259,   33,   44,   61,  278,  121,  258,   58,
-  260,  261,   58,  263,   44,  258,  278,   61,  261,  262,
-  263,   43,   36,   45,   38,   61,    0,   61,  278,   58,
-   58,   33,   46,   58,  263,  278,  263,  263,  269,   61,
-   54,   44,    0,   44,   44,   44,   44,    0,  120,   90,
-   77,   34,   68,   92,    0,   88,   58,   51,   79,   33,
-   83,   17,   44,   98,   -1,   22,   -1,   91,   -1,   89,
-   -1,   -1,   -1,   -1,   -1,   93,   95,   -1,   -1,   -1,
-   -1,   -1,    0,   -1,   58,   -1,   -1,   33,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       {                                      33,
+    0,  277,   86,    8,  258,    7,  258,  258,   94,  258,
+   33,  257,  258,   33,  258,   44,  259,  261,  262,  263,
+   61,   44,   33,   33,   44,   33,    0,   33,  114,   43,
+  276,   45,  276,   33,   44,  258,   44,  121,  261,  262,
+  263,   44,   58,   61,   44,   33,  258,   61,  260,  261,
+  263,  263,    0,  276,   58,   36,   44,   38,   61,   33,
+   58,   58,   61,  263,  276,   46,   61,   58,  263,   44,
+  269,   44,   44,   54,   44,   44,    0,    0,    0,   34,
+  120,   77,   68,   51,   58,   33,   88,   92,   44,   79,
+   83,   17,   22,   -1,   -1,   -1,   90,   -1,   -1,   -1,
+   89,   -1,   -1,   -1,    0,   -1,   98,   91,   95,   -1,
+   58,   33,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-    0,   -1,   58,   -1,   -1,   33,   -1,   -1,   -1,   -1,
+    0,   -1,   -1,   -1,   -1,   -1,   58,   33,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,
-   58,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
+   -1,   -1,   58,   33,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   58,   -1,
-   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   58,   33,
    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   33,   -1,   -1,   -1,    0,  257,  258,   -1,  258,   33,
-  260,  261,  259,  263,  259,  259,  259,  259,  270,  271,
-  272,  273,  274,  275,  276,  277,  278,   -1,  278,   -1,
-  258,   -1,    0,  261,  262,  263,  256,   33,  258,   -1,
-   -1,  261,  262,  263,  264,  265,  266,  267,  268,   -1,
-  278,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  278,  279,
-  280,  281,  282,  283,  256,   33,  258,   -1,   -1,  261,
-  262,  263,  264,  265,  266,  267,  268,    0,   -1,   33,
-   -1,   -1,   -1,   -1,   -1,   -1,  278,  279,  280,  281,
-  282,  283,  256,   -1,  258,   -1,   -1,  261,  262,  263,
-  264,  265,  266,  267,  268,    0,   -1,   -1,   -1,   -1,
-   33,   -1,   -1,   -1,  278,  279,  280,  281,  282,  283,
-  256,   -1,  258,   -1,   -1,  261,  262,  263,  264,  265,
-  266,  267,  268,    0,   -1,   -1,   -1,   -1,   33,   -1,
-   -1,   -1,  278,  279,  280,  281,  282,  283,  256,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,
+   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,
+   -1,   -1,  256,   -1,  258,   -1,   -1,  261,  262,  263,
+  264,  265,  266,  267,  268,  258,    0,  260,  261,  259,
+  263,   33,  276,  277,  278,  279,  280,  281,  259,  259,
+   -1,  259,  258,  276,  260,  261,  256,  263,  258,   -1,
+   -1,  261,  262,  263,  264,  265,  266,  267,  268,   33,
+  276,  259,   -1,   -1,   -1,   -1,  276,  277,  278,  279,
+  280,  281,  256,   -1,  258,   33,   -1,  261,  262,  263,
+  264,  265,  266,  267,  268,   33,   -1,   33,   -1,   -1,
+   -1,   -1,  276,  277,  278,  279,  280,  281,  256,   -1,
   258,   -1,   -1,  261,  262,  263,  264,  265,  266,  267,
-  268,    0,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
-  278,  279,  280,  281,  282,  283,  256,   -1,  258,   -1,
-   -1,  261,  262,  263,  264,  265,  266,  267,  268,    0,
-   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,  278,  279,
-  280,  281,  282,  283,  256,   -1,  258,   -1,   -1,  261,
-  262,  263,  264,  265,  266,  267,  268,    0,   -1,   -1,
-   -1,   -1,   33,   -1,  257,  258,  278,  279,  280,  281,
-  282,  283,  256,   -1,  258,   -1,   -1,  261,  262,  263,
-  264,  265,  266,  267,  268,  278,   -1,   -1,   -1,   -1,
-   33,   -1,   -1,   -1,  278,  279,  280,  281,  282,  283,
+  268,   33,   -1,   -1,   33,   -1,   -1,   -1,  276,  277,
+  278,  279,  280,  281,  256,   -1,  258,   -1,   -1,  261,
+  262,  263,  264,  265,  266,  267,  268,   33,   -1,   -1,
+   -1,   -1,   -1,   -1,  276,  277,  278,  279,  280,  281,
   256,   -1,  258,   -1,   -1,  261,  262,  263,  264,  265,
-  266,  267,  268,   -1,   -1,   -1,   -1,   -1,   33,   -1,
-   -1,   -1,  278,  279,  280,  281,  282,  283,  256,   -1,
-  258,   -1,   33,  261,  262,  263,  264,  265,  266,  267,
-  268,   -1,   -1,  257,  258,   -1,   -1,   -1,   -1,   -1,
-  278,  279,  280,  281,  282,  283,  270,  271,  272,  273,
-  274,  275,  276,  277,  278,   33,   -1,   -1,   -1,   33,
+  266,  267,  268,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+  276,  277,  278,  279,  280,  281,  256,   -1,  258,   -1,
+   -1,  261,  262,  263,  264,  265,  266,  267,  268,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,  276,  277,  278,  279,
+  280,  281,  256,   -1,  258,   -1,   -1,  261,  262,  263,
+  264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,  276,  277,  278,  279,  280,  281,  256,   -1,
+  258,   -1,   -1,  261,  262,  263,  264,  265,  266,  267,
+  268,   -1,   -1,   -1,   -1,   -1,   -1,    0,  276,  277,
+  278,  279,  280,  281,  256,   -1,  258,   -1,   -1,  261,
+  262,  263,  264,  265,  266,  267,  268,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,  276,  277,  278,  279,  280,  281,
+   33,    0,  256,   -1,  258,   -1,   -1,  261,  262,  263,
+  264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,  257,
+  258,   -1,  276,  277,  278,  279,  280,  281,    0,  257,
+  258,   -1,  258,   -1,   33,  261,  262,  263,  276,   -1,
+   -1,   -1,  270,  271,  272,  273,  274,  275,  276,   -1,
+  276,   -1,   -1,   -1,    0,  257,  258,   -1,   -1,  258,
+   -1,   33,  261,  262,  263,   -1,   -1,   -1,  270,  271,
+  272,  273,  274,  275,  276,   -1,   -1,  276,   -1,   -1,
+    0,  257,  258,   -1,   -1,   -1,   -1,   33,   -1,   -1,
+   -1,   -1,   -1,   -1,  270,  271,  272,  273,  274,  275,
+  276,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
+   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
    -1,   -1,   -1,  256,   -1,  258,   -1,   -1,  261,  262,
   263,  264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  278,  279,  280,  281,  282,
-  283,  256,   -1,  258,   -1,   -1,  261,  262,  263,  264,
-  265,  266,  267,  268,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  278,  279,  280,  281,  282,  283,  256,
-   -1,  258,   -1,   -1,  261,  262,  263,  264,  265,  266,
-  267,  268,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  278,  279,  280,  281,  282,  283,  256,   -1,  258,
+   -1,   -1,   -1,  276,  277,  278,  279,  280,  281,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,  258,
    -1,   -1,  261,  262,  263,  264,  265,  266,  267,  268,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  278,
-  279,  280,  281,  282,  283,  256,   -1,  258,   -1,   -1,
-  261,  262,  263,  264,  265,  266,  267,  268,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  278,  279,  280,
-  281,  282,  283,  256,   -1,  258,   -1,   -1,  261,  262,
-  263,  264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  278,  279,  280,  281,  282,
-  283,  256,   -1,  258,   -1,   -1,  261,  262,  263,  264,
-  265,  266,  267,  268,   -1,   -1,  257,  258,   -1,   -1,
-   -1,   -1,   -1,  278,  279,  280,  281,  282,  283,  270,
-  271,  272,  273,  274,  275,  276,  277,  278,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  258,   -1,  260,  261,  258,  263,   -1,  261,  262,  263,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  278,   -1,   -1,   -1,  278,
+   -1,   -1,   -1,   -1,   -1,   -1,   -1,  276,  277,  278,
+  279,  280,  281,   -1,  256,   -1,  258,   -1,   -1,  261,
+  262,  263,  264,  265,  266,  267,  268,   -1,   -1,   -1,
+   -1,   -1,   -1,   -1,  276,  277,  278,  279,  280,  281,
+  256,   -1,  258,   -1,   -1,  261,  262,  263,  264,  265,
+  266,  267,  268,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+  276,  277,  278,  279,  280,  281,  256,   -1,  258,   -1,
+   -1,  261,  262,  263,  264,  265,  266,  267,  268,   -1,
+   -1,   -1,   -1,   -1,   -1,   -1,  276,  277,  278,  279,
+  280,  281,  256,   -1,  258,   -1,   -1,  261,  262,  263,
+  264,  265,  266,  267,  268,   -1,   -1,   -1,   -1,   -1,
+   -1,   -1,  276,  277,  278,  279,  280,  281,
 };
 #define YYFINAL 18
 #ifndef YYDEBUG
 #define YYDEBUG 0
 #endif
-#define YYMAXTOKEN 284
+#define YYMAXTOKEN 282
 #if YYDEBUG
 #if defined(__cplusplus) || defined(__STDC__)
 const char * const yyname[] =
@@ -467,8 +478,8 @@ char *yyname[] =
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 "COMMAND","ALIAS","DEFVAR","NTWKADDR","NETGROUP","USERGROUP","WORD","DEFAULTS",
 "DEFAULTS_HOST","DEFAULTS_USER","DEFAULTS_RUNAS","DEFAULTS_CMND","RUNAS",
-"NOPASSWD","PASSWD","NOEXEC","EXEC","MONITOR","NOMONITOR","SETENV","NOSETENV",
-"ALL","COMMENT","HOSTALIAS","CMNDALIAS","USERALIAS","RUNASALIAS","ERROR",
+"NOPASSWD","PASSWD","NOEXEC","EXEC","SETENV","NOSETENV","ALL","COMMENT",
+"HOSTALIAS","CMNDALIAS","USERALIAS","RUNASALIAS","ERROR",
 };
 #if defined(__cplusplus) || defined(__STDC__)
 const char * const yyrule[] =
@@ -532,8 +543,6 @@ char *yyrule[] =
 "cmndtag : cmndtag EXEC",
 "cmndtag : cmndtag SETENV",
 "cmndtag : cmndtag NOSETENV",
-"cmndtag : cmndtag MONITOR",
-"cmndtag : cmndtag NOMONITOR",
 "cmnd : ALL",
 "cmnd : ALIAS",
 "cmnd : COMMAND",
@@ -589,7 +598,7 @@ short *yyss;
 short *yysslim;
 YYSTYPE *yyvs;
 int yystacksize;
-#line 511 "gram.y"
+#line 499 "gram.y"
 /*
  * Add a list of defaults structures to the defaults list.
  * The binding, if non-NULL, specifies a list of hosts, users, or
@@ -712,7 +721,7 @@ init_parser(path, quiet)
     sudolineno = 1;
     verbose = !quiet;
 }
-#line 664 "y.tab.c"
+#line 673 "y.tab.c"
 /* allocate initial stack or double stack size, up to YYMAXDEPTH */
 #if defined(__cplusplus) || defined(__STDC__)
 static int yygrowstack(void)
@@ -906,135 +915,134 @@ yyreduce:
     switch (yyn)
     {
 case 1:
-#line 166 "gram.y"
+#line 164 "gram.y"
 { ; }
 break;
 case 5:
-#line 174 "gram.y"
+#line 172 "gram.y"
 {
                            ;
                        }
 break;
 case 6:
-#line 177 "gram.y"
+#line 175 "gram.y"
 {
                            yyerrok;
                        }
 break;
 case 7:
-#line 180 "gram.y"
+#line 178 "gram.y"
 {
                            add_userspec(yyvsp[-1].member, yyvsp[0].privilege);
                        }
 break;
 case 8:
-#line 183 "gram.y"
+#line 181 "gram.y"
 {
                            ;
                        }
 break;
 case 9:
-#line 186 "gram.y"
+#line 184 "gram.y"
 {
                            ;
                        }
 break;
 case 10:
-#line 189 "gram.y"
+#line 187 "gram.y"
 {
                            ;
                        }
 break;
 case 11:
-#line 192 "gram.y"
+#line 190 "gram.y"
 {
                            ;
                        }
 break;
 case 12:
-#line 195 "gram.y"
+#line 193 "gram.y"
 {
                            add_defaults(DEFAULTS, NULL, yyvsp[0].defaults);
                        }
 break;
 case 13:
-#line 198 "gram.y"
+#line 196 "gram.y"
 {
                            add_defaults(DEFAULTS_USER, yyvsp[-1].member, yyvsp[0].defaults);
                        }
 break;
 case 14:
-#line 201 "gram.y"
+#line 199 "gram.y"
 {
                            add_defaults(DEFAULTS_RUNAS, yyvsp[-1].member, yyvsp[0].defaults);
                        }
 break;
 case 15:
-#line 204 "gram.y"
+#line 202 "gram.y"
 {
                            add_defaults(DEFAULTS_HOST, yyvsp[-1].member, yyvsp[0].defaults);
                        }
 break;
 case 16:
-#line 207 "gram.y"
+#line 205 "gram.y"
 {
                            add_defaults(DEFAULTS_CMND, yyvsp[-1].member, yyvsp[0].defaults);
                        }
 break;
 case 18:
-#line 213 "gram.y"
+#line 211 "gram.y"
 {
                            LIST_APPEND(yyvsp[-2].defaults, yyvsp[0].defaults);
                            yyval.defaults = yyvsp[-2].defaults;
                        }
 break;
 case 19:
-#line 219 "gram.y"
+#line 217 "gram.y"
 {
                            NEW_DEFAULT(yyval.defaults, yyvsp[0].string, NULL, TRUE);
                        }
 break;
 case 20:
-#line 222 "gram.y"
+#line 220 "gram.y"
 {
                            NEW_DEFAULT(yyval.defaults, yyvsp[0].string, NULL, FALSE);
                        }
 break;
 case 21:
-#line 225 "gram.y"
+#line 223 "gram.y"
 {
                            NEW_DEFAULT(yyval.defaults, yyvsp[-2].string, yyvsp[0].string, TRUE);
                        }
 break;
 case 22:
-#line 228 "gram.y"
+#line 226 "gram.y"
 {
                            NEW_DEFAULT(yyval.defaults, yyvsp[-2].string, yyvsp[0].string, '+');
                        }
 break;
 case 23:
-#line 231 "gram.y"
+#line 229 "gram.y"
 {
                            NEW_DEFAULT(yyval.defaults, yyvsp[-2].string, yyvsp[0].string, '-');
                        }
 break;
 case 25:
-#line 237 "gram.y"
+#line 235 "gram.y"
 {
                            LIST_APPEND(yyvsp[-2].privilege, yyvsp[0].privilege);
                            yyval.privilege = yyvsp[-2].privilege;
                        }
 break;
 case 26:
-#line 243 "gram.y"
+#line 241 "gram.y"
 {
                            struct cmndtag tags;
                            struct privilege *p = emalloc(sizeof(*p));
                            struct cmndspec *cs;
                            p->hostlist = yyvsp[-2].member;
                            p->cmndlist = yyvsp[0].cmndspec;
-                           tags.nopasswd = tags.noexec = tags.monitor =
-                               tags.setenv = UNSPEC;
+                           tags.nopasswd = tags.noexec = tags.setenv = UNSPEC;
                            /* propagate tags */
                            for (cs = yyvsp[0].cmndspec; cs != NULL; cs = cs->next) {
                                if (cs->tags.nopasswd == UNSPEC)
@@ -1043,8 +1051,6 @@ case 26:
                                    cs->tags.noexec = tags.noexec;
                                if (cs->tags.setenv == UNSPEC)
                                    cs->tags.setenv = tags.setenv;
-                               if (cs->tags.monitor == UNSPEC)
-                                   cs->tags.monitor = tags.monitor;
                                memcpy(&tags, &cs->tags, sizeof(tags));
                            }
                            p->last = NULL;
@@ -1053,58 +1059,58 @@ case 26:
                        }
 break;
 case 27:
-#line 269 "gram.y"
+#line 264 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                            yyval.member->negated = FALSE;
                        }
 break;
 case 28:
-#line 273 "gram.y"
+#line 268 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                            yyval.member->negated = TRUE;
                        }
 break;
 case 29:
-#line 279 "gram.y"
+#line 274 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, ALIAS);
                        }
 break;
 case 30:
-#line 282 "gram.y"
+#line 277 "gram.y"
 {
                            NEW_MEMBER(yyval.member, NULL, ALL);
                        }
 break;
 case 31:
-#line 285 "gram.y"
+#line 280 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, NETGROUP);
                        }
 break;
 case 32:
-#line 288 "gram.y"
+#line 283 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, NTWKADDR);
                        }
 break;
 case 33:
-#line 291 "gram.y"
+#line 286 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, WORD);
                        }
 break;
 case 35:
-#line 297 "gram.y"
+#line 292 "gram.y"
 {
                            LIST_APPEND(yyvsp[-2].cmndspec, yyvsp[0].cmndspec);
                            yyval.cmndspec = yyvsp[-2].cmndspec;
                        }
 break;
 case 36:
-#line 303 "gram.y"
+#line 298 "gram.y"
 {
                            struct cmndspec *cs = emalloc(sizeof(*cs));
                            cs->runaslist = yyvsp[-2].member;
@@ -1116,151 +1122,138 @@ case 36:
                        }
 break;
 case 37:
-#line 314 "gram.y"
+#line 309 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                            yyval.member->negated = FALSE;
                        }
 break;
 case 38:
-#line 318 "gram.y"
+#line 313 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                            yyval.member->negated = TRUE;
                        }
 break;
 case 39:
-#line 324 "gram.y"
+#line 319 "gram.y"
 {
                            yyval.member = NULL;
                        }
 break;
 case 40:
-#line 327 "gram.y"
+#line 322 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                        }
 break;
 case 42:
-#line 333 "gram.y"
+#line 328 "gram.y"
 {
                            LIST_APPEND(yyvsp[-2].member, yyvsp[0].member);
                            yyval.member = yyvsp[-2].member;
                        }
 break;
 case 43:
-#line 339 "gram.y"
+#line 334 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                            yyval.member->negated = FALSE;
                        }
 break;
 case 44:
-#line 343 "gram.y"
+#line 338 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                            yyval.member->negated = TRUE;
                        }
 break;
 case 45:
-#line 349 "gram.y"
+#line 344 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, ALIAS);
                        }
 break;
 case 46:
-#line 352 "gram.y"
+#line 347 "gram.y"
 {
                            NEW_MEMBER(yyval.member, NULL, ALL);
                        }
 break;
 case 47:
-#line 355 "gram.y"
+#line 350 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, NETGROUP);
                        }
 break;
 case 48:
-#line 358 "gram.y"
+#line 353 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, USERGROUP);
                        }
 break;
 case 49:
-#line 361 "gram.y"
+#line 356 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, WORD);
                        }
 break;
 case 50:
-#line 366 "gram.y"
+#line 361 "gram.y"
 {
-                           yyval.tag.nopasswd = yyval.tag.noexec = yyval.tag.monitor =
-                               yyval.tag.setenv = UNSPEC;
+                           yyval.tag.nopasswd = yyval.tag.noexec = yyval.tag.setenv = UNSPEC;
                        }
 break;
 case 51:
-#line 370 "gram.y"
+#line 364 "gram.y"
 {
                            yyval.tag.nopasswd = TRUE;
                        }
 break;
 case 52:
-#line 373 "gram.y"
+#line 367 "gram.y"
 {
                            yyval.tag.nopasswd = FALSE;
                        }
 break;
 case 53:
-#line 376 "gram.y"
+#line 370 "gram.y"
 {
                            yyval.tag.noexec = TRUE;
                        }
 break;
 case 54:
-#line 379 "gram.y"
+#line 373 "gram.y"
 {
                            yyval.tag.noexec = FALSE;
                        }
 break;
 case 55:
-#line 382 "gram.y"
+#line 376 "gram.y"
 {
                            yyval.tag.setenv = TRUE;
                        }
 break;
 case 56:
-#line 385 "gram.y"
+#line 379 "gram.y"
 {
                            yyval.tag.setenv = FALSE;
                        }
 break;
 case 57:
-#line 388 "gram.y"
-{
-                           yyval.tag.monitor = TRUE;
-                       }
-break;
-case 58:
-#line 391 "gram.y"
-{
-                           yyval.tag.monitor = FALSE;
-                       }
-break;
-case 59:
-#line 396 "gram.y"
+#line 384 "gram.y"
 {
                            NEW_MEMBER(yyval.member, NULL, ALL);
                        }
 break;
-case 60:
-#line 399 "gram.y"
+case 58:
+#line 387 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, ALIAS);
                        }
 break;
-case 61:
-#line 402 "gram.y"
+case 59:
+#line 390 "gram.y"
 {
                            struct sudo_command *c = emalloc(sizeof(*c));
                            c->cmnd = yyvsp[0].command.cmnd;
@@ -1268,8 +1261,8 @@ case 61:
                            NEW_MEMBER(yyval.member, (char *)c, COMMAND);
                        }
 break;
-case 64:
-#line 414 "gram.y"
+case 62:
+#line 402 "gram.y"
 {
                            char *s;
                            if ((s = alias_add(yyvsp[-2].string, HOSTALIAS, yyvsp[0].member)) != NULL) {
@@ -1278,15 +1271,15 @@ case 64:
                            }
                        }
 break;
-case 66:
-#line 424 "gram.y"
+case 64:
+#line 412 "gram.y"
 {
                            LIST_APPEND(yyvsp[-2].member, yyvsp[0].member);
                            yyval.member = yyvsp[-2].member;
                        }
 break;
-case 69:
-#line 434 "gram.y"
+case 67:
+#line 422 "gram.y"
 {
                            char *s;
                            if ((s = alias_add(yyvsp[-2].string, CMNDALIAS, yyvsp[0].member)) != NULL) {
@@ -1295,15 +1288,15 @@ case 69:
                            }
                        }
 break;
-case 71:
-#line 444 "gram.y"
+case 69:
+#line 432 "gram.y"
 {
                            LIST_APPEND(yyvsp[-2].member, yyvsp[0].member);
                            yyval.member = yyvsp[-2].member;
                        }
 break;
-case 74:
-#line 454 "gram.y"
+case 72:
+#line 442 "gram.y"
 {
                            char *s;
                            if ((s = alias_add(yyvsp[-2].string, RUNASALIAS, yyvsp[0].member)) != NULL) {
@@ -1312,8 +1305,8 @@ case 74:
                            }
                        }
 break;
-case 77:
-#line 467 "gram.y"
+case 75:
+#line 455 "gram.y"
 {
                            char *s;
                            if ((s = alias_add(yyvsp[-2].string, USERALIAS, yyvsp[0].member)) != NULL) {
@@ -1322,58 +1315,58 @@ case 77:
                            }
                        }
 break;
-case 79:
-#line 477 "gram.y"
+case 77:
+#line 465 "gram.y"
 {
                            LIST_APPEND(yyvsp[-2].member, yyvsp[0].member);
                            yyval.member = yyvsp[-2].member;
                        }
 break;
-case 80:
-#line 483 "gram.y"
+case 78:
+#line 471 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                            yyval.member->negated = FALSE;
                        }
 break;
-case 81:
-#line 487 "gram.y"
+case 79:
+#line 475 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
                            yyval.member->negated = TRUE;
                        }
 break;
-case 82:
-#line 493 "gram.y"
+case 80:
+#line 481 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, ALIAS);
                        }
 break;
-case 83:
-#line 496 "gram.y"
+case 81:
+#line 484 "gram.y"
 {
                            NEW_MEMBER(yyval.member, NULL, ALL);
                        }
 break;
-case 84:
-#line 499 "gram.y"
+case 82:
+#line 487 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, NETGROUP);
                        }
 break;
-case 85:
-#line 502 "gram.y"
+case 83:
+#line 490 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, USERGROUP);
                        }
 break;
-case 86:
-#line 505 "gram.y"
+case 84:
+#line 493 "gram.y"
 {
                            NEW_MEMBER(yyval.member, yyvsp[0].string, WORD);
                        }
 break;
-#line 1325 "y.tab.c"
+#line 1318 "y.tab.c"
     }
     yyssp -= yym;
     yystate = *yyssp;
diff --git a/gram.h b/gram.h
index c667b1103c29efb119e243a739b818a112600c10..f2cb6306942b83f54cda3762956f33a192bc659a 100644 (file)
--- a/gram.h
+++ b/gram.h
 #define PASSWD 271
 #define NOEXEC 272
 #define EXEC 273
-#define MONITOR 274
-#define NOMONITOR 275
-#define SETENV 276
-#define NOSETENV 277
-#define ALL 278
-#define COMMENT 279
-#define HOSTALIAS 280
-#define CMNDALIAS 281
-#define USERALIAS 282
-#define RUNASALIAS 283
-#define ERROR 284
+#define SETENV 274
+#define NOSETENV 275
+#define ALL 276
+#define COMMENT 277
+#define HOSTALIAS 278
+#define CMNDALIAS 279
+#define USERALIAS 280
+#define RUNASALIAS 281
+#define ERROR 282
 #ifndef YYSTYPE_DEFINED
 #define YYSTYPE_DEFINED
 typedef union {
diff --git a/gram.y b/gram.y
index 53cb4222dbb885713799bfc6fb99e1eb0fc6294a..83dfc62421f2cc1480895bed491429c42aaf161d 100644 (file)
--- a/gram.y
+++ b/gram.y
@@ -127,8 +127,6 @@ yyerror(s)
 %token <tok>    PASSWD                 /* passwd req for command (default) */
 %token <tok>    NOEXEC                 /* preload dummy execve() for cmnd */
 %token <tok>    EXEC                   /* don't preload dummy execve() */
-%token <tok>    MONITOR                /* monitor children of cmnd */
-%token <tok>    NOMONITOR              /* disable monitoring of children */
 %token <tok>    SETENV                 /* user may set environment for cmnd */
 %token <tok>    NOSETENV               /* user may not set environment */
 %token <tok>    ALL                    /* ALL keyword */
@@ -246,8 +244,7 @@ privilege   :       hostlist '=' cmndspeclist {
                            struct cmndspec *cs;
                            p->hostlist = $1;
                            p->cmndlist = $3;
-                           tags.nopasswd = tags.noexec = tags.monitor =
-                               tags.setenv = UNSPEC;
+                           tags.nopasswd = tags.noexec = tags.setenv = UNSPEC;
                            /* propagate tags */
                            for (cs = $3; cs != NULL; cs = cs->next) {
                                if (cs->tags.nopasswd == UNSPEC)
@@ -256,8 +253,6 @@ privilege   :       hostlist '=' cmndspeclist {
                                    cs->tags.noexec = tags.noexec;
                                if (cs->tags.setenv == UNSPEC)
                                    cs->tags.setenv = tags.setenv;
-                               if (cs->tags.monitor == UNSPEC)
-                                   cs->tags.monitor = tags.monitor;
                                memcpy(&tags, &cs->tags, sizeof(tags));
                            }
                            p->last = NULL;
@@ -364,8 +359,7 @@ runasuser   :       ALIAS {
                ;
 
 cmndtag                :       /* empty */ {
-                           $$.nopasswd = $$.noexec = $$.monitor =
-                               $$.setenv = UNSPEC;
+                           $$.nopasswd = $$.noexec = $$.setenv = UNSPEC;
                        }
                |       cmndtag NOPASSWD {
                            $$.nopasswd = TRUE;
@@ -385,12 +379,6 @@ cmndtag            :       /* empty */ {
                |       cmndtag NOSETENV {
                            $$.setenv = FALSE;
                        }
-               |       cmndtag MONITOR {
-                           $$.monitor = TRUE;
-                       }
-               |       cmndtag NOMONITOR {
-                           $$.monitor = FALSE;
-                       }
                ;
 
 cmnd           :       ALL {
diff --git a/parse.c b/parse.c
index de77f52e18ef5d425549ec766c1bcfdf0d2d68ec..3e3c7a1ee6d97dfe32d5015af5f81a59a67c0555 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -193,8 +193,6 @@ sudoers_lookup(pwflag)
                def_noexec = tags->noexec;
            if (tags->setenv != UNSPEC)
                def_setenv = tags->setenv;
-           if (tags->monitor != UNSPEC)
-               def_monitor = tags->monitor;
        }
     }
     set_perms(PERM_ROOT);
@@ -243,7 +241,6 @@ display_privs(v, pw)
                continue;
 
            for (priv = us->privileges; priv != NULL; priv = priv->next) {
-               tags.monitor = def_monitor;
                tags.noexec = def_noexec;
                tags.setenv = def_setenv;
                tags.nopasswd = !def_authenticate;
@@ -261,10 +258,6 @@ display_privs(v, pw)
                        print_priv(def_runas_default);
                    }
                    print_priv(") ");
-                   if (TAG_CHANGED(monitor)) {
-                       print_priv(cs->tags.monitor ? "MONITOR: " : "NOMONITOR: ");
-                       tags.monitor = cs->tags.monitor;
-                   }
                    if (TAG_CHANGED(setenv)) {
                        print_priv(cs->tags.setenv ? "SETENV: " : "NOSETENV: ");
                        tags.setenv = cs->tags.setenv;
diff --git a/parse.h b/parse.h
index afa339bf2013459cfb2fa8f7754395cea7dd23ad..2ce3ae62104530989b8b7aaed590cbd29b6a6eb3 100644 (file)
--- a/parse.h
+++ b/parse.h
@@ -44,7 +44,6 @@ struct cmndtag {
     char nopasswd;
     char noexec;
     char setenv;
-    char monitor;
     char extra;
 };
 
index b28378ce515850923fc08fa7a6f24f87d5cff632..2f19b6ce816101516465294b739c756b3bca95b4 100644 (file)
 #ifndef _PATH_LDAP_SECRET
 #define        _PATH_LDAP_SECRET       "/etc/ldap.secret"
 #endif /* _PATH_LDAP_SECRET */
-
-#ifndef _PATH_DEV_SYSTRACE
-#define        _PATH_DEV_SYSTRACE      "/dev/systrace"
-#endif /* _PATH_DEV_SYSTRACE */
diff --git a/sudo.c b/sudo.c
index 498f6a4f76d95386f2be44d483bc97e8c3c6a2f4..de730ea4ff9bd1ad35e8cdbd1c1c3c2f40531a99 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -405,11 +405,6 @@ main(argc, argv, envp)
        }
 #endif
 
-#ifdef HAVE_SYSTRACE 
-       if (def_monitor)
-           systrace_attach(getpid());
-#endif
-
        /* Override user's umask if configured to do so. */
        if (def_umask != 0777)
            (void) umask(def_umask);
diff --git a/sudo.h b/sudo.h
index 3b284935abfffef7e445140d8806d500dba3ef89..31791f6dcb7bface1afb5be16cdf1e8addb87d19 100644 (file)
--- a/sudo.h
+++ b/sudo.h
@@ -279,9 +279,6 @@ struct passwd *sudo_getpwuid __P((uid_t));
 struct passwd *sudo_fakepwuid __P((uid_t));
 struct group *sudo_getgrnam __P((const char *));
 struct group *sudo_getgrgid __P((gid_t));
-#ifdef HAVE_SYSTRACE
-void systrace_attach   __P((pid_t));
-#endif
 YY_DECL;
 
 /* Only provide extern declarations outside of sudo.c. */
index 978acd66e2166d0b7700f76fd34c93de88703a75..0db65e7cd8ad56a3fe3d25ad764def77d369466c 100644 (file)
@@ -250,7 +250,7 @@ See L</"SUDOERS OPTIONS"> for a list of supported Defaults parameters.
  Runas_Spec ::= '(' Runas_List ')'
 
  Tag_Spec ::= ('NOPASSWD:' | 'PASSWD:' | 'NOEXEC:' | 'EXEC:' |
-              'SETENV:' | 'NOSETENV:' | 'MONITOR:' | 'NOMONITOR:')
+              'SETENV:' | 'NOSETENV:' )
 
 A B<user specification> determines which commands a user may run
 (and as what user) on specified hosts.  By default, commands are
@@ -285,7 +285,7 @@ but  F</bin/kill> and F</usr/bin/lprm> as B<root>.
 
 A command may have zero or more tags associated with it.  There are
 eight possible tag values, C<NOPASSWD>, C<PASSWD>, C<NOEXEC>, C<EXEC>,
-C<SETENV>, C<NOSETENV>, C<MONITOR> and C<NOMONITOR>.
+C<SETENV> and C<NOSETENV>.
 Once a tag is set on a C<Cmnd>, subsequent C<Cmnd>s in the
 C<Cmnd_Spec_List>, inherit the tag unless it is overridden by the
 opposite tag (i.e.: C<PASSWD> overrides C<NOPASSWD> and C<NOEXEC>
@@ -342,23 +342,6 @@ to the restrictions imposed by I<env_check>, I<env_delete>, or
 I<env_keep>.  As such, only trusted users should be allowed to set
 variables in this manner.
 
-=head3 MONITOR and NOMONITOR
-
-If B<sudo> has been configured with the C<--with-systrace> option,
-the C<MONITOR> tag can be used to cause programs spawned by a command
-to be checked against I<sudoers> and logged just like they would
-be if run through B<sudo> directly.  This is useful in conjunction
-with commands that allow shell escapes such as editors, shells and
-paginators.
-
-In the following example, user B<chuck> may run any command on the
-machine research in monitor mode.
-
- chuck research = MONITOR: ALL
-
-See the L<PREVENTING SHELL ESCAPES> section below for more details
-on how C<MONITOR> works and whether or not it will work on your system.
-
 =head2 Wildcards
 
 B<sudo> allows shell-style I<wildcards> (aka meta or glob characters)
@@ -603,16 +586,6 @@ If set, mail will be sent to the I<mailto> user if the invoking
 user is not in the I<sudoers> file.  This flag is I<@mail_no_user@>
 by default.
 
-=item monitor
-
-If set, all commands run via B<sudo> will behave as if the C<MONITOR>
-tag has been set, unless overridden by a C<NOMONITOR> tag.  See the
-description of I<MONITOR and NOMONITOR> below as well as the L<PREVENTING
-SHELL ESCAPES> section at the end of this manual.  Be aware that
-tracing is only supported on certain operating systems.  On systems
-where it is not supported this flag will have no effect.
-This flag is I<off> by default.
-
 =item noexec
 
 If set, all commands run via B<sudo> will behave as if the C<NOEXEC>
@@ -1286,7 +1259,7 @@ which lets a user bypass B<sudo>'s access control and logging.
 Common programs that permit shell escapes include shells (obviously),
 editors, paginators, mail and terminal programs.
 
-There are three basic approaches to this problem:
+There are two basic approaches to this problem:
 
 =over 10
 
@@ -1341,31 +1314,6 @@ executing other commands (such as a shell).  If you are unsure
 whether or not your system is capable of supporting I<noexec> you
 can always just try it out and see if it works.
 
-=item monitor
-
-On operating systems that support the B<systrace> pseudo-device,
-the C<--with-systrace> configure option can be used to compile
-support for proccess monitoring in B<sudo>.  In monitor mode
-B<sudo> can transparently intercept a new command, allow or deny
-it based on I<sudoers>, and log the result.  This does require that
-B<sudo> become a daemon that persists until the command and all its
-descendents have exited.
-
-To enable monitor mode on a per-command basis, use the C<MONITOR>
-tag as documented in the User Specification section above.  Here
-is that example again:
-
- chuck research = MONITOR: ALL
-
-This allows user B<chuck> to run any command on the machine research
-in monitor mode.  Any commands run via shell escapes will be logged
-by B<sudo>.
-
-At the time of this writing the B<systrace> pseudo-device comes
-standard with OpenBSD and NetBSD and is available as patches to
-FreeBSD, MacOS X and Linux.  See L<http://www.systrace.org/> for
-more information.
-
 =back
 
 Note that restricting shell escapes is not a panacea.  Programs
index bffa1bad8a0bf7a5c40c9a4ea1760e545227199c..a1f7a54b83895c0c02c1ebe36497129744830d77 100644 (file)
@@ -474,7 +474,7 @@ print_privilege(priv)
            print_member(m);
        }
        fputs(" = ", stdout);
-       tags.nopasswd = tags.noexec = tags.monitor = UNSPEC;
+       tags.nopasswd = tags.noexec = UNSPEC;
        for (cs = p->cmndlist; cs != NULL; cs = cs->next) {
            if (cs != p->cmndlist)
                fputs(", ", stdout);
@@ -491,8 +491,6 @@ print_privilege(priv)
                printf("%sPASSWD: ", cs->tags.nopasswd ? "NO" : "");
            if (cs->tags.noexec != UNSPEC && cs->tags.noexec != tags.noexec)
                printf("%sEXEC: ", cs->tags.noexec ? "NO" : "");
-           if (cs->tags.monitor != UNSPEC && cs->tags.monitor != tags.monitor)
-               printf("%sMONITOR: ", cs->tags.monitor ? "" : "NO");
            print_member(cs->cmnd);
            memcpy(&tags, &cs->tags, sizeof(tags));
        }
diff --git a/toke.c b/toke.c
index 85a42d8af47dd43e25976bcc076cb5494e9769bb..8da6387a0cd3f7da0d0dbdb0b0a604b68321264a 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -288,170 +288,167 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
        *yy_cp = '\0'; \
        yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 47
-#define YY_END_OF_BUFFER 48
-static yyconst short int yy_accept[1461] =
+#define YY_NUM_RULES 45
+#define YY_END_OF_BUFFER 46
+static yyconst short int yy_accept[1429] =
     {   0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   48,   37,   43,   42,   41,   46,   37,   30,
-       46,   37,   38,   37,   37,   37,   37,   40,   39,   31,
-       31,   31,   31,   31,   31,   31,   46,   37,   37,   43,
-       46,   31,   31,   31,   31,   31,   32,   46,   32,   33,
-       32,   32,   32,   32,   32,   31,   31,   31,   31,   31,
-       31,   31,   46,   32,   32,    1,   37,   37,   12,   11,
-       12,   11,   11,   46,   46,    2,    8,    8,    8,    3,
-        8,    4,   46,   37,    0,   43,   41,    0,   45,   25,
-        0,   24,    0,   36,   36,    0,   37,   37,    0,   37,
-
-       37,   37,   37,   28,   31,   31,   31,   31,   31,   31,
-       31,   37,   44,   37,   43,    0,    0,    0,    0,    0,
-        0,   37,   37,   37,   37,   37,   32,    0,   32,   25,
-        0,   24,    0,   32,    0,   32,   32,   32,   32,   32,
-       32,   31,   31,   31,   31,   31,   31,   31,   32,   32,
-        1,   34,   34,    0,   37,   12,   12,   10,    9,   10,
-        0,    2,    8,    0,    8,    0,    0,    5,    6,    8,
-        8,    0,   37,   37,   37,   37,    0,   28,   37,    0,
-       28,   31,   31,   31,   31,   31,   31,   31,   31,   31,
-       37,    0,    0,    0,    0,    0,    0,   37,   37,   37,
-
-       37,   37,   32,   32,   32,   32,   32,   31,   31,   31,
-       31,   31,   31,   31,   31,   31,   32,    0,   37,    7,
-        7,    0,    7,    8,   37,   37,   37,   37,   37,   37,
-        0,    0,   28,   28,   28,   28,   29,   29,   29,    0,
-        0,   28,    0,   31,   31,   31,   31,   31,   31,   31,
-       31,   31,   37,    0,    0,    0,    0,    0,    0,   37,
-       37,   37,   32,   32,   32,   32,   32,   32,   31,   31,
-       31,   31,   31,   31,   31,   31,   31,   32,   37,    7,
-       37,   37,   37,    0,    0,   28,    0,   28,    0,   28,
-       28,   28,   28,    0,    0,   29,   29,   29,   28,   28,
-
-       28,   28,   28,   28,    0,   19,   31,   31,   31,   31,
-       31,   31,   31,   37,    0,    0,    0,    0,   37,   37,
-       32,   32,   32,   31,   31,   31,   31,   31,   31,   31,
-       32,   37,   37,   37,   37,   37,   37,    0,    0,    0,
-       28,   28,   28,   28,    0,    0,    0,   28,   28,   28,
-       28,   28,   28,    0,    0,   28,   29,   28,   28,    0,
-       28,    0,   28,   28,   28,   28,   31,   31,   31,   31,
-       31,   31,   31,   37,    0,    0,    0,   37,   37,   32,
-       32,   32,   32,   32,   31,   31,   31,   31,   31,   31,
-       31,   32,   37,   26,   26,   26,    0,    0,   28,   28,
-
-        0,   28,   28,   28,   28,    0,    0,    0,    0,    0,
-       28,    0,   28,    0,   28,   28,   28,   28,    0,    0,
-        0,   28,   28,   28,   28,   28,    0,    0,    0,    0,
-       28,   28,   28,   28,   28,   28,   31,    0,   18,   31,
-       31,   31,    0,   17,    0,   20,   37,    0,    0,    0,
-       37,   37,   26,   26,   26,   31,   31,   31,   31,   32,
-       37,   37,   26,   26,   26,   26,    0,    0,    0,   28,
-       28,   28,   28,   28,   28,   28,    0,    0,    0,    0,
-        0,    0,   28,   28,   28,   28,   28,   28,    0,    0,
-       28,    0,   28,    0,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,    0,    0,    0,    0,    0,   28,   28,
-        0,   28,   28,   28,   28,    0,   23,   31,   31,   31,
-       35,    0,    0,    0,   37,   14,   32,   26,   26,   26,
-       26,   31,   31,   31,   32,   34,   37,   27,   27,   27,
-        0,    0,   28,   28,    0,   28,   28,    0,   28,   28,
-       28,   28,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   28,    0,   28,    0,   28,   28,   28,   28,
-        0,    0,    0,   28,   28,   28,   28,    0,    0,    0,
-       28,   28,   28,   28,   28,   28,   28,    0,   28,    0,
-       28,   28,   28,   28,    0,    0,    0,   28,   28,   28,
-
-       28,   28,   28,   31,    0,   16,    0,   21,    0,   14,
-        0,   37,    0,   37,   32,   27,   27,   27,   31,   37,
-       37,   27,   27,   27,   27,   27,    0,    0,    0,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,    0,    0,    0,    0,    0,    0,
-       28,   28,   28,   28,   28,   28,    0,    0,   28,   28,
-        0,   28,   28,   28,   28,    0,    0,    0,    0,    0,
-       28,    0,   28,    0,   28,   28,   28,   28,    0,    0,
-        0,   28,   28,   28,   28,   28,   28,    0,    0,    0,
-        0,    0,   28,   28,    0,   28,   28,   28,   28,    0,
-
-       22,    0,    0,   15,   14,    0,   14,    0,   32,   32,
-       27,   27,   27,   27,   27,   37,   37,   37,   27,   27,
-        0,    0,   28,   28,    0,   28,   28,    0,   28,   28,
-       28,   28,   28,   28,    0,   28,   28,   28,   28,   28,
-       28,   28,   28,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   28,    0,   28,    0,   28,   28,   28,
-       28,    0,    0,    0,   28,   28,   28,   28,   28,   28,
-       28,    0,    0,    0,    0,    0,    0,   28,   28,   28,
-       28,   28,   28,    0,    0,    0,    0,    0,   28,   28,
-        0,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,   28,   15,    0,   13,   32,   32,   32,
-       27,   27,   37,   37,   37,   37,   37,    0,    0,    0,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,    0,    0,    0,    0,    0,    0,   28,   28,   28,
-       28,   28,   28,    0,    0,   28,   28,    0,   28,   28,
-        0,   28,   28,   28,   28,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   28,    0,   28,    0,   28,
-       28,   28,   28,    0,    0,    0,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,    0,   28,
-
-       28,   28,   28,   32,   32,   32,   32,   32,   37,   37,
-       37,    0,    0,    0,    0,   28,    0,   28,    0,   28,
-       28,    0,   28,   28,   28,   28,   28,   28,    0,   28,
-       28,   28,   28,   28,   28,    0,   28,   28,   28,   28,
-       28,   28,   28,   28,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   28,    0,   28,    0,   28,   28,
-       28,   28,    0,    0,    0,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-        0,    0,    0,    0,    0,    0,   28,   28,   28,   28,
-       28,   28,    0,    0,    0,    0,    0,   28,   28,    0,
-
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       32,   32,   32,   37,   37,   37,   37,   37,    0,    0,
-        0,    0,    0,    0,    0,    0,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,    0,    0,    0,    0,    0,    0,   28,   28,   28,
-        0,    0,   28,   28,    0,   28,   28,    0,   28,   28,
-       28,   28,   28,   28,    0,   28,   28,   28,   28,   28,
-       28,   28,   28,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   28,    0,   28,    0,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-
-       28,   28,    0,   28,   28,   28,   28,   32,   32,   32,
-       32,   32,   26,   26,   26,    0,    0,    0,    0,   28,
-       28,    0,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   28,   28,    0,    0,    0,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,    0,    0,    0,    0,    0,    0,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,    0,
-       28,   28,   28,   28,   28,   28,   28,   26,   26,   26,
-
-       26,   26,   26,    0,    0,    0,    0,    0,    0,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,    0,    0,
-        0,   28,    0,    0,    0,    0,   28,    0,   28,    0,
-       28,   28,    0,   28,   28,   28,   28,   28,   28,    0,
-       28,   28,   28,   28,   28,   28,    0,   28,   28,   28,
-       28,   28,   28,   28,   28,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   28,    0,   28,    0,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   26,   26,   26,    0,    0,    0,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,    0,    0,    0,
-
-        0,    0,   28,    0,    0,    0,    0,    0,    0,    0,
-        0,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,    0,    0,    0,    0,
-        0,    0,   28,   28,   28,   28,   28,    0,   28,   28,
-       28,   28,   28,    0,    0,    0,    0,    0,   28,   28,
-       28,    0,    0,    0,    0,   28,   28,    0,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,    0,    0,    0,    0,    0,    0,
-
-       28,   28,   28,   28,   28,   28,   28,   28,   28,    0,
-        0,    0,   28,   28,   28,   28,   28,   28,   28,    0,
-        0,    0,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,    0,    0,    0,    0,    0,   28,   28,    0,
-        0,    0,    0,    0,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,    0
+        0,    0,   46,   35,   41,   40,   39,   44,   35,   28,
+       44,   35,   36,   35,   35,   35,   35,   38,   37,   29,
+       29,   29,   29,   29,   29,   44,   35,   35,   41,   44,
+       29,   29,   29,   29,   29,   30,   44,   30,   31,   30,
+       30,   30,   30,   30,   29,   29,   29,   29,   29,   29,
+       44,   30,   30,    1,   35,   35,   12,   11,   12,   11,
+       11,   44,   44,    2,    8,    8,    8,    3,    8,    4,
+       44,   35,    0,   41,   39,    0,   43,   23,    0,   22,
+        0,   34,   34,    0,   35,   35,    0,   35,   35,   35,
+
+       35,   26,   29,   29,   29,   29,   29,   29,   35,   42,
+       35,   41,    0,    0,    0,    0,    0,    0,   35,   35,
+       35,   35,   35,   30,    0,   30,   23,    0,   22,    0,
+       30,    0,   30,   30,   30,   30,   30,   30,   29,   29,
+       29,   29,   29,   29,   30,   30,    1,   32,   32,    0,
+       35,   12,   12,   10,    9,   10,    0,    2,    8,    0,
+        8,    0,    0,    5,    6,    8,    8,    0,   35,   35,
+       35,   35,    0,   26,   35,    0,   26,   29,   29,   29,
+       29,   29,   29,   29,   35,    0,    0,    0,    0,    0,
+        0,   35,   35,   35,   35,   35,   30,   30,   30,   30,
+
+       30,   29,   29,   29,   29,   29,   29,   29,   30,    0,
+       35,    7,    7,    0,    7,    8,   35,   35,   35,   35,
+       35,   35,    0,    0,   26,   26,   26,   26,   27,   27,
+       27,    0,    0,   26,    0,   29,   29,   29,   29,   29,
+       29,   29,   35,    0,    0,    0,    0,    0,    0,   35,
+       35,   35,   30,   30,   30,   30,   30,   30,   29,   29,
+       29,   29,   29,   29,   29,   30,   35,    7,   35,   35,
+       35,    0,    0,   26,    0,   26,    0,   26,   26,   26,
+       26,    0,    0,   27,   27,   27,   26,   26,   26,   26,
+       26,   26,    0,   19,   29,   29,   29,   29,   29,   35,
+
+        0,    0,    0,    0,   35,   35,   30,   30,   30,   29,
+       29,   29,   29,   29,   30,   35,   35,   35,   35,   35,
+       35,    0,    0,    0,   26,   26,   26,   26,    0,    0,
+        0,   26,   26,   26,   26,   26,   26,    0,    0,   26,
+       27,   26,   26,    0,   26,    0,   26,   26,   26,   26,
+       29,   29,   29,   29,   29,   35,    0,    0,    0,   35,
+       35,   30,   30,   30,   30,   30,   29,   29,   29,   29,
+       29,   30,   35,   24,   24,   24,    0,    0,   26,   26,
+        0,   26,   26,   26,   26,    0,    0,    0,    0,    0,
+       26,    0,   26,    0,   26,   26,   26,   26,    0,    0,
+
+        0,   26,   26,   26,   26,   26,    0,    0,    0,    0,
+       26,   26,   26,   26,   26,   26,    0,   18,   29,   29,
+        0,   17,    0,   20,   35,    0,    0,    0,   35,   35,
+       24,   24,   24,   29,   29,   30,   35,   35,   24,   24,
+       24,   24,    0,    0,    0,   26,   26,   26,   26,   26,
+       26,   26,    0,    0,    0,    0,    0,    0,   26,   26,
+       26,   26,   26,   26,    0,    0,   26,    0,   26,    0,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,    0,
+        0,    0,    0,    0,   26,   26,    0,   26,   26,   26,
+       26,   29,   29,   33,    0,    0,    0,   35,   14,   30,
+
+       24,   24,   24,   24,   29,   29,   30,   32,   35,   25,
+       25,   25,    0,    0,   26,   26,    0,   26,   26,    0,
+       26,   26,   26,   26,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   26,    0,   26,    0,   26,   26,
+       26,   26,    0,    0,    0,   26,   26,   26,   26,    0,
+        0,    0,   26,   26,   26,   26,   26,   26,   26,    0,
+       26,    0,   26,   26,   26,   26,    0,    0,    0,   26,
+       26,   26,   26,   26,   26,    0,   16,    0,   21,    0,
+       14,    0,   35,    0,   35,   30,   25,   25,   25,   35,
+       35,   25,   25,   25,   25,   25,    0,    0,    0,   26,
+
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,    0,    0,    0,    0,    0,    0,
+       26,   26,   26,   26,   26,   26,    0,    0,   26,   26,
+        0,   26,   26,   26,   26,    0,    0,    0,    0,    0,
+       26,    0,   26,    0,   26,   26,   26,   26,    0,    0,
+        0,   26,   26,   26,   26,   26,   26,    0,    0,    0,
+        0,    0,   26,   26,    0,   26,   26,   26,   26,    0,
+        0,   15,   14,    0,   14,    0,   30,   30,   25,   25,
+       25,   25,   25,   35,   35,   35,   25,   25,    0,    0,
+       26,   26,    0,   26,   26,    0,   26,   26,   26,   26,
+
+       26,   26,    0,   26,   26,   26,   26,   26,   26,   26,
+       26,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   26,    0,   26,    0,   26,   26,   26,   26,    0,
+        0,    0,   26,   26,   26,   26,   26,   26,   26,    0,
+        0,    0,    0,    0,    0,   26,   26,   26,   26,   26,
+       26,    0,    0,    0,    0,    0,   26,   26,    0,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+       26,   26,   15,    0,   13,   30,   30,   30,   25,   25,
+       35,   35,   35,   35,   35,    0,    0,    0,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+
+       26,   26,   26,   26,   26,   26,   26,   26,   26,    0,
+        0,    0,    0,    0,    0,   26,   26,   26,   26,   26,
+       26,    0,    0,   26,   26,    0,   26,   26,    0,   26,
+       26,   26,   26,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,   26,    0,   26,    0,   26,   26,   26,
+       26,    0,    0,    0,   26,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,    0,   26,   26,   26,
+       26,   30,   30,   30,   30,   30,   35,   35,   35,    0,
+        0,    0,    0,   26,    0,   26,    0,   26,   26,    0,
+       26,   26,   26,   26,   26,   26,    0,   26,   26,   26,
+
+       26,   26,   26,    0,   26,   26,   26,   26,   26,   26,
+       26,   26,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,   26,    0,   26,    0,   26,   26,   26,   26,
+        0,    0,    0,   26,   26,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,    0,    0,
+        0,    0,    0,    0,   26,   26,   26,   26,   26,   26,
+        0,    0,    0,    0,    0,   26,   26,    0,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   30,   30,
+       30,   35,   35,   35,   35,   35,    0,    0,    0,    0,
+        0,    0,    0,    0,   26,   26,   26,   26,   26,   26,
+
+       26,   26,   26,   26,   26,   26,   26,   26,   26,    0,
+        0,    0,    0,    0,    0,   26,   26,   26,    0,    0,
+       26,   26,    0,   26,   26,    0,   26,   26,   26,   26,
+       26,   26,    0,   26,   26,   26,   26,   26,   26,   26,
+       26,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   26,    0,   26,    0,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+        0,   26,   26,   26,   26,   30,   30,   30,   30,   30,
+       24,   24,   24,    0,    0,    0,    0,   26,   26,    0,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+
+       26,   26,   26,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,   26,   26,    0,    0,    0,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,    0,
+        0,    0,    0,    0,    0,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,    0,   26,   26,
+       26,   26,   26,   26,   26,   24,   24,   24,   24,   24,
+       24,    0,    0,    0,    0,    0,    0,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,    0,    0,    0,   26,
+        0,    0,    0,    0,   26,    0,   26,    0,   26,   26,
+
+        0,   26,   26,   26,   26,   26,   26,    0,   26,   26,
+       26,   26,   26,   26,    0,   26,   26,   26,   26,   26,
+       26,   26,   26,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,   26,    0,   26,    0,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   24,
+       24,   24,    0,    0,    0,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,    0,    0,    0,    0,    0,
+       26,    0,    0,    0,    0,    0,    0,    0,    0,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,    0,    0,    0,    0,    0,    0,
+
+       26,   26,   26,   26,   26,    0,   26,   26,   26,   26,
+       26,    0,    0,    0,    0,    0,   26,   26,   26,    0,
+        0,    0,    0,   26,   26,    0,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   26,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+       26,   26,    0,    0,    0,    0,    0,    0,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,    0,    0,    0,
+       26,   26,   26,   26,   26,   26,   26,    0,    0,    0,
+       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
+
+        0,    0,    0,    0,    0,   26,   26,    0,    0,    0,
+        0,    0,   26,   26,   26,   26,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,   26,   26,    0
     } ;
 
 static yyconst int yy_ec[256] =
@@ -463,13 +460,13 @@ static yyconst int yy_ec[256] =
         9,   10,   11,   12,   13,   14,   15,   16,   17,   18,
        19,   20,   21,   22,   22,   22,   23,   24,    1,    1,
        25,   26,   10,   27,   28,   29,   30,   31,   32,   29,
-       33,   34,   35,   33,   33,   33,   36,   37,   38,   39,
-       33,   40,   41,   42,   43,   44,   45,   46,   33,   33,
-       10,   47,   10,    1,   48,    1,   49,   50,   51,   52,
+       33,   34,   33,   33,   33,   33,   33,   35,   36,   37,
+       33,   38,   39,   40,   41,   42,   43,   44,   33,   33,
+       10,   45,   10,    1,   46,    1,   47,   48,   49,   50,
 
-       53,   54,   55,   55,   56,   55,   55,   57,   58,   59,
-       60,   55,   55,   61,   62,   63,   64,   55,   55,   55,
-       55,   55,    1,    1,    1,    1,    1,    1,    1,    1,
+       51,   52,   53,   53,   54,   53,   53,   55,   56,   57,
+       58,   53,   53,   59,   60,   61,   62,   53,   53,   53,
+       53,   53,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -486,1556 +483,1535 @@ static yyconst int yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[65] =
+static yyconst int yy_meta[63] =
     {   0,
         1,    2,    2,    3,    1,    4,    1,    3,    3,    1,
         1,    2,    1,    5,    6,    7,    7,    7,    7,    7,
         7,    7,    7,    8,    4,    3,    1,    7,    7,    7,
         7,    7,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    9,   10,   11,   11,
-       11,   11,   11,   11,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10
+        1,    1,    1,    1,    9,   10,   11,   11,   11,   11,
+       11,   11,   10,   10,   10,   10,   10,   10,   10,   10,
+       10,   10
     } ;
 
-static yyconst short int yy_base[1717] =
+static yyconst short int yy_base[1684] =
     {   0,
-        0,   63,  106,    0,  169,  170,  177,  188,  234,  297,
-      360,  406, 5231, 5182, 5195,10368, 5192, 5160, 5115,10368,
-    10368, 5114,10368,  178,  440,   54,   62, 5136,10368,  494,
-     5113,  543, 5094, 5091, 5100, 5095,  596,  200,   20,  213,
-      170, 5068, 5042, 5034, 5029, 5030, 5044,  241, 5017,10368,
-     4988,  201,  609,   69,  249,  663, 4988,  712, 4966, 4963,
-     4972, 4951,  765,  257,  164, 4978,  225,  255,    0,10368,
-     4940,    0,10368,  374,   93,    0, 4896,  388,  149,10368,
-      183,10368,   96, 4895,  302, 4922, 4917, 4917,10368, 4872,
-      418, 4856,  472,  441, 4855,  641,  320,  776, 4867, 4837,
-
-      560,  568,  304, 4835,  815,    0, 4817, 4811,  277, 4760,
-     4758,  195,10368,   53,  745, 4741, 4745, 4712, 4687, 4688,
-      190,  148,  185,  141,  258,  199, 4702,  846,  593, 4701,
-      871, 4686,  880,  774,  905,  733,  916, 4698,  793,  902,
-      313,  955,    0, 4679, 4673,  356, 4657, 4654,  367,  198,
-     4693,  814, 4618,  986,  260,    0, 4660,   99,10368,10368,
-      372,    0, 4616,  377, 1011,  376,  400,10368,10368, 4615,
-      426, 1013, 1045, 1079, 1113, 1147, 4610, 1187, 4617, 1226,
-      372, 1265, 4600, 4594, 4581, 4562, 4569, 4563, 4522, 4529,
-      378, 4470, 4474, 4433, 4435, 4440,  365,  354, 4443,  385,
-
-       19,  194, 1306, 1340, 1374, 1408, 4450, 1447, 4415, 4409,
-     4397, 4404, 4413, 4407, 4397, 4392,  386, 1016,  392, 4376,
-    10368,  432, 1027, 1044,  933,  368, 1488, 1522, 1059,  453,
-     4398, 4397, 1556,  941,  882, 1067, 4361, 1091,  552, 4360,
-     4349,  451, 1595, 4338,  622, 4291, 4300, 4275, 4242, 4240,
-     4199, 4206,  387, 4151, 4153, 4099, 4112, 4086,  462,  435,
-      624,  389, 1100,  587, 1636, 1670, 1124,  595, 4092,  633,
-     4071, 4080, 4074, 4037, 4035, 4029, 4033,  622,  692,  754,
-     1704, 1738, 1772, 4020, 4012, 1805, 1132,  827, 1844,  967,
-     1885,    0, 1166, 4008, 3990, 1204, 3951, 3949,    0,  722,
-
-     1896, 1243, 1213, 1284,  736,10368, 3922, 3922, 3911, 3872,
-     3880, 3880, 3866,  734, 3860, 3815, 3816,  438,  589,  597,
-     1937, 1971, 2005, 3807, 3814, 3808, 3801, 3809, 3743, 3729,
-      772,  810, 1317,  604, 2039, 2073, 1327, 3736, 3733, 3732,
-     2107, 1251, 1292, 1359, 1384, 1394, 1427,  733, 2148, 1349,
-     1435, 1466, 1020, 3730, 3728, 2187, 3716, 3715,  861, 1496,
-     1275, 2226, 1418, 2267,    0, 1506, 3698,  815, 3695, 3676,
-     3683,  854,  857,  946, 3662, 3630,  600,  806,  740, 1534,
-      846, 2278, 2312, 1544, 3646,  888, 3643, 3624, 3631,  892,
-      977,  995,  998, 2345, 2378, 2411, 3606, 3605, 3603, 1457,
-
-     2443, 1479, 2484,    0, 1578, 1612, 3575, 1646, 1656, 1622,
-     1033, 1678, 1688, 2493, 1690, 2534,    0, 1714, 3564, 3553,
-     3531, 2545, 1723, 1690, 1748, 3529, 2584, 1758, 1782, 1792,
-     1079, 2625, 1822, 1830, 1863, 1854,  997, 1029,10368, 3499,
-     3505, 3443, 1058,10368, 1122,10368,  863, 3429, 3400,  767,
-     1081,  880, 2665, 2698, 2731, 1170, 3410, 3416, 3402,  980,
-     1008, 1914,  893, 2764, 2797, 1923, 3410, 3409, 3408, 1306,
-     1327, 2831, 1946, 1871, 1957, 1981, 1990, 2015, 2025, 2049,
-     2059, 2083, 1394, 2872, 2091, 1981, 2126, 2159, 3380, 3377,
-     2911, 2168, 1375, 2950, 1523, 2991,    0,  463, 3376, 3002,
-
-     2204, 2134, 2245, 2212, 3353, 2288, 2298, 2322, 1544, 2236,
-     3041, 2330, 3082,    0, 2332, 1171,10368, 3106, 1211, 1580,
-     3319, 3277, 3270,  994,  894, 2420, 2355, 1057, 3156, 3189,
-     2364, 3236, 1713, 2367, 3215, 3214, 3287, 3321, 3355, 3389,
-     3236, 3221, 3225, 1656, 3421, 1758, 2389, 3460, 2391, 3501,
-        0, 2421, 2400, 3185, 2434, 2462, 2512, 2518, 3167, 2564,
-     2603, 2644, 1792, 2650, 2503, 3510, 2594, 3551,    0, 2675,
-     3108, 3107, 3106, 3562, 2684, 2253, 2708, 2718, 2741, 2751,
-     3091, 3603, 2772, 2470, 2782, 1576, 3090, 2805, 1637, 3642,
-     1773, 3683,    0, 1134, 2815, 2850, 2891, 1957, 3694, 2928,
-
-     2572, 2969, 2960, 3748, 1187,10368, 1190,10368, 3063, 2852,
-     1531, 1112, 3063, 3021, 3799, 3833, 3867, 3901, 3948, 3019,
-     1111, 3999, 4033, 4067, 4101, 2792, 3043, 3005, 3004, 2025,
-     2059, 4135, 2936, 2611, 3060, 2117, 4176, 3027, 2899, 3166,
-     2982, 3175, 3198, 3207, 3297, 3307, 3331, 3341, 3365, 3375,
-     2298, 4217, 3397, 3068, 3407, 3094, 2974, 2971,    0, 2006,
-     4256, 2040, 4297,    0, 1230, 3438, 2980, 3479, 3529, 3448,
-     2969, 3579, 2074, 4306, 2168, 4347,    0, 1269, 3622, 3661,
-     3713, 2953, 4358, 3587, 3487, 3809, 2279, 3817, 2962, 3843,
-     3853, 3877, 2453, 3218, 4397, 3220, 4438,    0, 3885, 1471,
-
-    10368, 2876, 2934, 2889, 2888, 4033, 2852, 4067, 3909, 1336,
-     4449, 4483, 4517, 4551, 3540, 4585, 4619, 4653, 4078, 1905,
-     2874, 2853, 2860, 2555, 4685, 2635, 3224, 4724, 3470, 4765,
-        0, 3919, 2718, 3520, 4774, 3652, 4815,    0, 4009, 2843,
-     4045, 4087, 4111, 4117, 2843, 4154, 4195, 4236, 4242, 2829,
-     4275, 4325, 4377, 2751, 4383, 3674, 4824, 3727, 4865,    0,
-     4416, 2818, 2817, 2753, 2752, 2732, 4876, 4457, 3630, 4467,
-     2313, 4493, 4503, 4527, 4537, 4561, 4571, 2720, 4917, 4593,
-     4125, 4603, 2684, 4627, 2729, 4637, 4663, 4673, 2699, 2783,
-     4956, 2816, 4997,    0, 1309, 4703, 4742, 4792, 2850, 5008,
-
-     4841, 4162, 4895, 3927,10368, 2708,10368, 5049, 5083, 5117,
-     4934, 3184, 4942, 1338, 5151, 5185, 5027, 2686, 2685, 5217,
-     2882, 3307, 5258, 4849, 4203, 4976, 3341, 5299, 5033, 4283,
-     5059, 3930, 3375, 5340, 5067, 4333, 5093, 4266, 5102, 5126,
-     5135, 5161, 5171, 5195, 5205, 5236, 5277, 3407, 5381, 5316,
-     4711, 5359, 4316, 2673, 2628,    0, 2627, 5420, 2587, 3003,
-     5459, 3051, 5500,    0, 1397, 5324, 2596, 5400, 5439, 5478,
-     5484, 2558, 5511, 5521, 5531, 2547, 5537, 3288, 5545, 3322,
-     5586,    0, 1412, 5564, 5597, 5607, 2536, 5617, 5634, 4750,
-     5658, 3356, 2505, 5667, 5676, 4801, 3613, 4908, 5684, 4988,
-
-     5725,    0, 5703, 5734, 1575, 5768, 5802, 5745, 5836, 5870,
-     5904, 2495, 5938, 5642, 5244, 2455, 5753, 3704,    0, 3853,
-     5430,    0, 5469, 5979,    0, 5779, 3892, 5555,    0, 5577,
-     5990,    0, 5790, 4016, 5812,    0, 5814, 6001,    0, 5827,
-     2454, 5845, 5854, 5879, 5885, 2435, 5914, 5924, 5895, 5955,
-     2429, 6012, 6022, 5965, 4019, 6030, 5816,    0, 6040, 6051,
-        0, 6062, 2390, 2388, 2386, 2385, 2384, 6073, 6040, 5285,
-     6092, 2366, 6114, 6131, 5367, 6155, 3421, 6139, 6163, 6171,
-     6181, 6191, 6201, 6211, 6221, 6231, 2365, 6241, 6258, 5408,
-     6282, 3800, 6266, 2374, 6292, 6302, 6312, 2363, 3834, 6318,
-
-     3868, 6359,    0, 1468, 4145, 6370, 6335, 5447, 6389, 6105,
-     6411, 6445, 6479, 6422, 1702, 6513, 6547, 6432, 2362, 6343,
-     3933, 2346, 4024, 6581,    0, 1506, 2343, 4186, 2342, 4227,
-     2340, 6402, 4368, 2309, 6456, 4467, 2308, 6458, 6468, 6488,
-     6497, 6523, 6533, 6557, 6567, 6592, 6602, 4503, 2238, 6612,
-     2228, 2190,    0, 2189, 6621, 2188, 4058, 6660, 4484, 6701,
-        0, 1509, 2187, 4518, 6710, 4538, 6751,    0, 1526,10368,
-     6612, 6638, 6646, 6677, 2182, 6729, 6762, 6687, 6770, 2181,
-     6780, 6790, 6800, 2170, 6806, 4552, 6814, 4572, 6855,    0,
-     1544, 6831, 6839, 6864, 2169, 6874, 6891, 6737, 6915, 4604,
-
-     4637, 6720,    0, 6906, 6925,    0, 6936, 6945, 1736, 6979,
-     7013, 6956, 6962, 6994, 7002, 7034, 7045, 7055, 2157, 2160,
-     2119, 4654, 2118, 4673, 2104, 4886, 2103, 4967, 2102, 5018,
-     2101, 2100, 7064, 7073, 7082, 7088, 2071, 7098, 7108, 7026,
-     7116, 2070, 7126, 7136, 7146, 5171, 2036, 2026, 1993, 7152,
-     1992, 1991, 7193, 7169, 6970, 7212, 1990, 7234, 7177, 7220,
-     7253, 4685, 1979, 7275, 7292, 7261, 7316, 5084, 7300, 7324,
-     7332, 7342, 7352, 7362, 7372, 7382, 7392, 1962, 7402, 7419,
-     7427, 7443, 5152,10368, 7451, 7459, 7467, 1959, 5186, 7473,
-     5206, 7514,    0, 1659, 5227, 1967, 7483, 7492, 7524, 7532,
-
-     1882, 7540, 7548, 7580, 1770, 7590, 7600, 7556, 1739, 1721,
-     1704, 1698, 1670, 1622, 1606, 7609, 7618, 7627, 7637, 7647,
-     7657, 1604, 1579, 7667, 7684, 7500,    0, 7708, 1577,    0,
-     1559, 5512,    0, 5598, 7718,    0, 1725, 1468, 5618,    0,
-     5744, 7729,    0, 1795, 1450, 5788,    0, 5905, 7740,    0,
-     1807,10368, 7692, 7749, 7564, 7757, 1409, 7767, 7777, 7572,
-     7785, 1372, 7795, 7805, 7815, 1360, 7821, 5925,    0, 5939,
-     7831,    0, 1809, 1331, 7842, 7859, 7867, 7883, 6013, 5268,
-     1334, 1165, 7891, 7899, 7907, 7931, 7941, 1178, 1176, 1173,
-     1147, 1124, 1090, 1055, 7950, 7959, 7916, 7967, 1012, 7977,
-
-     7987, 7997, 1009,  996, 8003, 6074,  979, 6093, 8013,    0,
-     1830,    0,  976,    0,  965,    0, 6182,  904,    0, 6202,
-      891,    0, 6222, 8022, 8030, 8038, 8048, 8058, 8068, 8078,
-     8088, 8098,  867,    0, 6242,  863, 6283,    0, 6303, 8108,
-        0, 1848,  859, 8117,  835, 8127, 8137, 8147, 8154, 8163,
-     8172, 8182, 8192, 8202,  778,    0,10368, 6390,    0,  760,
-        0,  748,    0,  734,    0,  665,    0,10368, 8210, 8218,
-     7923, 8226,  658, 8236, 8246, 8256, 8262,  641, 8272, 8282,
-     8292,  583,    0,  496,    0, 6423,  491, 8299, 8308, 8317,
-      488, 8326, 8335, 8344, 8350,  441, 8360, 8370, 8380,  380,
-
-        0,    0,    0,    0,    0,    0, 8386, 8394, 8402, 8412,
-     8422, 8432,    0,  311,    0,  300, 8441, 8450, 8459, 8467,
-     8477, 8487,    0,10368,10368,10368,10368,10368,10368, 8495,
-     8503, 8511, 8517,  192, 8527, 8537, 8547,10368,    0, 8553,
-       90, 8563, 8573, 8583, 8589, 8597, 8605,10368, 8613, 8621,
-     8629,10368, 8637, 8645, 8653,10368, 8659, 8667, 8675,10368,
-     8696, 8707, 8718, 8729, 8740, 8751, 8762, 8773, 8784, 8795,
-     8806, 8817, 8828, 8839, 8841, 8852, 8863, 8874, 8885, 8890,
-     8896, 8907, 8918, 8923, 8929, 8934, 8939, 8944, 8950, 8955,
-     8960, 8967, 8972, 8977, 8982, 8988, 8993, 8998, 9004, 9009,
-
-     9014, 9019, 9026, 9031, 9036, 9042, 9049, 9056, 9061, 9066,
-     9071, 9077, 9082, 9087, 9093, 9099, 9105, 9110, 9115, 9122,
-     9127, 9134, 9145, 9156, 9161, 9166, 9172, 9178, 9185, 9192,
-     9197, 9202, 9207, 9214, 9220, 9231, 9242, 9253, 9264, 9275,
-     9280, 9285, 9291, 9297, 9303, 9309, 9314, 9319, 9324, 9331,
-     9338, 9343, 9350, 9361, 9372, 9383, 9394, 9405, 9410, 9415,
-     9421, 9427, 9434, 9441, 9448, 9453, 9458, 9463, 9468, 9473,
-     9480, 9486, 9497, 9508, 9519, 9524, 9530, 9536, 9542, 9548,
-     9554, 9559, 9564, 9569, 9574, 9581, 9588, 9593, 9600, 9611,
-     9622, 9627, 9633, 9639, 9644, 9651, 9656, 9663, 9668, 9675,
-
-     9680, 9687, 9692, 9697, 9702, 9707, 9712, 9717, 9722, 9729,
-     9735, 9746, 9757, 9764, 9769, 9775, 9781, 9787, 9793, 9799,
-     9805, 9811, 9817, 9823, 9829, 9835, 9840, 9845, 9850, 9855,
-     9862, 9869, 9876, 9881, 9888, 9893, 9904, 9915, 9920, 9926,
-     9932, 9938, 9944, 9950, 9956, 9962, 9967, 9972, 9977, 9982,
-     9987, 9992, 9999,10005,10011,10022,10033,10039,10045,10051,
-    10057,10063,10069,10075,10080,10085,10090,10095,10102,10107,
-    10114,10119,10126,10131,10138,10143,10148,10154,10165,10171,
-    10178,10183,10188,10193,10198,10203,10208,10213,10218,10223,
-    10228,10233,10238,10245,10250,10256,10261,10266,10271,10276,
-
-    10281,10286,10291,10296,10301,10306,10311,10316,10321,10326,
-    10331,10336,10341,10346,10351,10356
+        0,   61,  102,    0,  163,  164,  171,  182,  226,  287,
+      348,  392, 4545, 4499, 4541,10254, 4538, 4523, 4480,10254,
+    10254, 4452,10254,  172,  424,   52,   60, 4472,10254,  476,
+     4451,  523, 4458, 4450, 4445,  574,  217,   20,  180,  165,
+     4385, 4389, 4381, 4365, 4365, 4379,  228, 4354,10254, 4350,
+      354,  587,   67,  183,  639, 4350,  686, 4328, 4335, 4303,
+      737,  238,  146, 4269,  361,  147,    0,10254, 4264,    0,
+    10254,  406,   91,    0, 4222,  376,  142,10254,  168,10254,
+       94, 4221,  290, 4226, 4222, 4222,10254, 4162,  299, 4151,
+      746,  381, 4139,  771,  443,  782, 4119, 4110,  246,  540,
+
+      301, 4108,  819,    0, 4090,  183, 4081, 4079,  310,10254,
+      250,  398, 4049, 4053, 4045, 4040, 4015,  186,  252,  312,
+      145,  311,  259, 4023,  782,  571, 4022,  850, 3992,  875,
+      619,  884,  706,  895, 4020,  799,  912,  548,  932,    0,
+     3986,  335, 3978, 3949,  326,  341, 3984,  819, 3925,  963,
+      369,    0, 3965,   98,10254,10254,  223,    0, 3888,  618,
+      988,  370,  422,10254,10254, 3887,  729,  990, 1020, 1052,
+     1084, 1116, 3907, 1154, 3899, 1191,  342, 1228, 3882, 3866,
+     3866, 3861, 3853, 3823,  366, 3797, 3801, 3748, 3750, 3728,
+      327,  434, 3728,  388,   19,  375, 1267, 1299, 1331, 1363,
+
+     3760, 1400, 3714, 3699, 3687, 3680, 3672, 3678,  377,  993,
+      412, 3664,10254,  378, 1004, 1019, 1034,  534, 1439, 1471,
+     1064,  282, 3659, 3656, 1503, 1070,  748, 1094, 3655, 1102,
+      579, 3654, 3592,  597, 1540, 3555,  456, 3544, 3521, 3519,
+     3486, 3491,  580, 3475, 3463, 3448, 3461, 3448,  447,  504,
+      697,  152, 1133,  588, 1579, 1611, 1173,  368, 3468,  624,
+     3459, 3451, 3449, 3445, 3438,  596,  668,  715, 1643, 1675,
+     1707, 3448, 3447, 1738, 1208,  829, 1775,  858, 1814,    0,
+     1247, 3429, 3426, 1275, 3426, 3410,    0,  598, 1825, 1284,
+      886, 1309,  627,10254, 3403, 3364, 3370, 3370, 3358,  731,
+
+     3338, 3321, 3276,  727,  225,  423, 1864, 1896, 1928, 3305,
+     3295, 3301, 3287, 3275,  737,  810, 1317,  733, 1960, 1992,
+     1351, 3292, 3291, 3275, 2024, 1381,  920, 1419, 1449, 1459,
+     1481,  729, 2063, 1489, 1042, 1522,  942, 3274, 3262, 2100,
+     3261, 3260,  865, 1557,  944, 2137,  962, 2176,    0, 1589,
+      822, 3240, 3247,  861,  895,  958, 3229, 3199,  662,  953,
+      440, 1598,  812, 2187, 2219, 1628,  896, 3210, 3217,  995,
+      999,  966,  981, 2250, 2281, 2312, 3217, 3212, 3207, 1258,
+     2342, 1342, 2381,    0, 1660, 1683, 3179, 1693, 1717, 1727,
+     1052, 1755, 1349, 2390, 1410, 2429,    0, 1794, 3099, 3098,
+
+     3082, 2440, 1842, 1141, 1874, 3079, 2477, 1884, 1906, 1916,
+     1116, 2516, 1936, 1179, 1946, 1430, 1075,10254, 3070, 3023,
+     1230,10254, 1231,10254,  748, 3009, 2938,  919, 1134,  985,
+     2554, 2585, 2616, 2967, 2940,  833,  987, 1971,  846, 2647,
+     2678, 1980, 2957, 2955, 2953, 1331, 1363, 2710, 2001, 1565,
+     2012, 1626, 2043, 2082, 2119, 2156, 2197, 2207, 1459, 2749,
+     2227, 1651, 2237, 1855, 2932, 2931, 2786, 2258, 1300, 2823,
+     1472, 2862,    0,  734, 2930, 2873, 2266, 1763, 2291, 2299,
+     2939, 2322, 2332, 2361, 1513, 2110, 2910, 2147, 2949,    0,
+     2409, 2973, 1250, 2892, 2882, 2859,  971, 1049, 2477, 2457,
+
+      850, 3021, 3052, 2496, 3097, 1403, 2873, 2871, 3146, 3178,
+     3210, 3242, 2876, 2875, 2854, 1611, 3272, 1693, 2352, 3309,
+     2528, 3348,    0, 2564, 2537, 2852, 2573, 2595, 2605, 2624,
+     2836, 2634, 2657, 2667, 1727, 2686, 2696, 3357, 2698, 3396,
+        0, 2729, 2825, 2808, 2807, 3407, 2766, 2367, 2805, 2842,
+     2892, 2929, 2806, 3446, 3029, 2698, 3039, 1598, 2805, 3060,
+     1708, 3483, 1875, 3522,    0, 1005, 3070, 3156, 3166, 1916,
+     3533, 3186, 2774, 3196, 2796, 1634,10254, 1797,10254, 2766,
+     3216, 1636, 1082, 2767, 2731, 3572, 3604, 3636, 3668, 3228,
+     1296, 3700, 3732, 3764, 3796, 3221, 2751, 2750, 2732, 1946,
+
+     1960, 3828, 3258, 3251, 3291, 2012, 3867, 3326, 3334, 3376,
+     2833, 3425, 3464, 3501, 3552, 3582, 3592, 3614, 3624, 3646,
+     2034, 3906, 3654, 3676, 3684, 2853, 2731, 2730,    0, 1897,
+     3943, 2083, 3982,    0, 1024, 3708, 2738, 3718, 3742, 3752,
+     2727, 3772, 2188, 3991, 2238, 4030,    0, 1158, 3782, 3806,
+     3816, 2713, 4041, 3845, 3853, 3886, 2323, 3923, 2722, 3962,
+     4010, 4060, 2207, 2920, 4078, 3081, 4117,    0, 4097, 2675,
+     2718, 2645, 2644, 4140, 2627, 4149, 4160, 1297, 4192, 4224,
+     4256, 4288, 4153, 4320, 4352, 4384, 4171, 1343, 2636, 2635,
+     2613, 2495, 4414, 2605, 3282, 4451, 3367, 4490,    0, 4203,
+
+     2634, 3437, 4499, 3513, 4538,    0, 4215, 2612, 4233, 4242,
+     4265, 4271, 2596, 4298, 4308, 4183, 4328, 2584, 4338, 4362,
+     4372, 2667, 4392, 3563, 4547, 3953, 4586,    0, 4402, 2573,
+     2562, 2538, 2526, 2525, 4597, 4431, 3931, 4470, 2441, 4518,
+     4566, 4616, 4636, 4646, 4656, 2499, 4666, 4683, 4066, 4705,
+     2537, 4713, 2507, 4723, 4733, 4743, 2496, 2874, 4749, 2893,
+     4788,    0, 1194, 4767, 4798, 4807, 2961, 4817, 4834, 4279,
+     4856, 3973,10254, 2515,10254, 4866, 4898, 4930, 4877, 1549,
+     4885, 1329, 4962, 4994, 4915, 2462, 2461, 5024, 3039, 3070,
+     5063, 4945, 4439, 4972, 3085, 5102, 4980, 4691, 5004, 4001,
+
+     3166, 5141, 5012, 4842, 5043, 4021, 5081, 5120, 5159, 5180,
+     5190, 5200, 5210, 5220, 5230, 3210, 5240, 5257, 4907, 5279,
+     4148, 2460, 2459,    0, 2458, 5287, 2443, 3147, 5324, 3197,
+     5363,    0, 1212, 5304, 2452, 5343, 5374, 5384, 5390, 2422,
+     5400, 5410, 5420, 2411, 5426, 3408, 5434, 3583, 5473,    0,
+     1214, 5453, 5484, 5494, 2410, 5504, 5521, 4921, 5543, 3605,
+     2417, 5552, 5561, 5570, 3543, 4171, 5576, 4461, 5615,    0,
+     5595, 5624, 1344, 5656, 5688, 5635, 5720, 5752, 5784, 2407,
+     5816, 5641, 4938, 2402, 5667, 3624,    0, 3684, 4509,    0,
+     4557, 5855,    0, 5679, 3718, 4627,    0, 4779, 5866,    0,
+
+     5698, 3752, 5171,    0, 5270, 5877,    0, 5711, 2401, 5729,
+     5738, 5761, 5767, 2401, 5794, 5804, 5835, 5886, 2400, 5896,
+     5906, 5916, 3782, 5922, 5334,    0, 5354, 5932,    0, 5943,
+     2345, 2344, 2332, 2301, 2300, 5954, 5971, 4953, 5993, 2299,
+     6003, 6020, 5312, 6042, 3637, 6050, 6058, 6066, 6076, 6086,
+     6096, 6106, 6116, 6126, 2282, 6136, 6153, 5529, 6175, 3733,
+     6183, 2280, 6193, 6203, 6213, 2269, 3797, 6219, 3887, 6258,
+        0, 1247, 3816, 6269, 6236, 5775, 6288, 5444, 6308, 6340,
+     6372, 6319, 1361, 6404, 6436, 6329, 2268, 6349, 4042, 2267,
+     4136, 6468,    0, 1286, 2275, 4130, 2248, 4132, 2246, 5464,
+
+     4144, 2219, 5984, 4308, 2168, 6033, 6360, 6381, 6390, 6414,
+     6424, 6446, 6456, 6479, 6489, 4338, 2167, 6166, 2157, 2156,
+        0, 2140, 6497, 2139, 4289, 6534, 4353, 6573,    0, 1385,
+     2122, 4414, 6582, 4598, 6621,    0, 1491,10254, 6514, 6551,
+     5841, 6599, 2131, 6632, 6642, 6652, 6658, 2130, 6668, 6678,
+     6688, 2119, 6694, 4647, 6702, 4667, 6741,    0, 1507, 6719,
+     6750, 6758, 2103, 6768, 6785, 6244, 6807, 4724, 4372, 6299,
+        0, 6564, 6817,    0, 6828, 6837, 1501, 6869, 6901, 6848,
+     6854, 6884, 6914, 6931, 6944, 6954, 2102, 2094, 2093, 4857,
+     2091, 4616, 2075, 5034, 2074, 5667, 2073, 5804, 2055, 2054,
+
+     6963, 6972, 6923, 6980, 2054, 6990, 7000, 7010, 7016, 2053,
+     7026, 7036, 7046, 5826, 2036, 2026, 1983, 7052, 1980, 1979,
+     7091, 7069, 6522, 7110, 1978, 7130, 7147, 6607, 7169, 4963,
+     1962, 7179, 7196, 6727, 7218, 4995, 7226, 7234, 7242, 7252,
+     7262, 7272, 7282, 7292, 7302, 1961, 7312, 7329, 6793, 7351,
+     5191,10254, 7359, 7367, 6892, 1948, 5211, 7375, 5375, 7414,
+        0, 1525, 6279, 1956, 7082, 7394, 7424, 7432, 1898, 7440,
+     7454, 7470, 1894, 7484, 7494, 7462, 1847, 1853, 1852, 1851,
+     1837, 1836, 1835, 7503, 7512, 7521, 7531, 7541, 7551, 1805,
+     1795, 7561, 7578, 7155,    0, 7600, 1793,    0, 1792, 5401,
+
+        0, 5485, 7610,    0, 1630, 1778, 5505,    0, 5785, 7621,
+        0, 1632, 1777, 5897,    0, 5955, 7632,    0, 1660,10254,
+     7641, 7649, 7204, 7657, 1786, 7667, 7677, 7687, 7693, 1751,
+     7703, 7713, 7723, 1740, 7729, 6004,    0, 6077, 7739,    0,
+     1663, 1739, 7750, 7767, 7337, 7789, 6097, 6424, 1747, 1645,
+     7797, 7805, 7813, 7835, 7845, 1672, 1622, 1608, 1596, 1549,
+     1534, 1449, 7854, 7863, 7872, 7878, 1432, 7888, 7898, 7827,
+     1428, 1402, 7906, 6117, 1385, 6137, 7916,    0, 1696,    0,
+     1366,    0, 1229,    0, 6194, 1119,    0, 6320, 1117,    0,
+     6405, 7925, 7933, 7941, 7951, 7961, 7971, 7981, 7991, 8001,
+
+     1104,    0, 6437, 1071, 6480,    0, 6633, 8011,    0, 1727,
+      989, 8020,  971, 8030, 8040, 8050, 8057, 8066, 8075, 8085,
+     8095, 8105,  954,    0,10254, 6669,    0,  897,    0,  801,
+        0,  768,    0,  761,    0,10254, 8113, 8121, 7586, 8129,
+      697, 8139, 8149, 8159, 8165,  628, 8175, 8185, 8195,  590,
+        0,  561,    0, 6769,  566, 8202, 8211, 8220,  467, 8229,
+     8238, 8247, 8253,  388, 8263, 8273, 8283,  360,    0,    0,
+        0,    0,    0,    0, 8289, 8297, 8305, 8315, 8325, 8335,
+        0,  353,    0,  316, 8344, 8353, 8362, 8370, 8380, 8390,
+        0,10254,10254,10254,10254,10254,10254, 8398, 8406, 7775,
+
+     8414,  228, 8424, 8434, 8444,10254,    0, 8450,   84, 8460,
+     8470, 8480, 8486, 8494, 8502,10254, 8510, 8518, 8526,10254,
+     8534, 8542, 8550,10254, 8556, 8564, 8572,10254, 8593, 8604,
+     8615, 8626, 8637, 8648, 8659, 8670, 8681, 8692, 8703, 8714,
+     8725, 8736, 8738, 8749, 8760, 8771, 8782, 8787, 8793, 8804,
+     8815, 8820, 8826, 8831, 8836, 8841, 8847, 8852, 8857, 8864,
+     8869, 8874, 8879, 8885, 8890, 8895, 8901, 8906, 8911, 8916,
+     8923, 8928, 8933, 8939, 8946, 8953, 8958, 8963, 8968, 8974,
+     8979, 8984, 8990, 8996, 9002, 9007, 9012, 9019, 9024, 9031,
+     9042, 9047, 9052, 9058, 9064, 9071, 9078, 9083, 9088, 9093,
+
+     9100, 9106, 9117, 9128, 9139, 9150, 9161, 9166, 9171, 9177,
+     9183, 9189, 9195, 9200, 9205, 9210, 9217, 9224, 9229, 9236,
+     9247, 9258, 9269, 9280, 9291, 9296, 9301, 9307, 9313, 9320,
+     9327, 9334, 9339, 9344, 9349, 9354, 9359, 9366, 9372, 9383,
+     9394, 9405, 9410, 9416, 9422, 9428, 9434, 9440, 9445, 9450,
+     9455, 9460, 9467, 9474, 9479, 9486, 9497, 9508, 9513, 9519,
+     9525, 9530, 9537, 9542, 9549, 9554, 9561, 9566, 9573, 9578,
+     9583, 9588, 9593, 9598, 9603, 9608, 9615, 9621, 9632, 9643,
+     9650, 9655, 9661, 9667, 9673, 9679, 9685, 9691, 9697, 9703,
+     9709, 9715, 9721, 9726, 9731, 9736, 9741, 9748, 9755, 9762,
+
+     9767, 9774, 9779, 9790, 9801, 9806, 9812, 9818, 9824, 9830,
+     9836, 9842, 9848, 9853, 9858, 9863, 9868, 9873, 9878, 9885,
+     9891, 9897, 9908, 9919, 9925, 9931, 9937, 9943, 9949, 9955,
+     9961, 9966, 9971, 9976, 9981, 9988, 9993,10000,10005,10012,
+    10017,10024,10029,10034,10040,10051,10057,10064,10069,10074,
+    10079,10084,10089,10094,10099,10104,10109,10114,10119,10124,
+    10131,10136,10142,10147,10152,10157,10162,10167,10172,10177,
+    10182,10187,10192,10197,10202,10207,10212,10217,10222,10227,
+    10232,10237,10242
     } ;
 
-static yyconst short int yy_def[1717] =
+static yyconst short int yy_def[1684] =
     {   0,
-     1460,    1, 1460,    3,    1,    1, 1461, 1461, 1462, 1462,
-     1463, 1463, 1460, 1464, 1460, 1460, 1460, 1465, 1466, 1460,
-     1460, 1467, 1460, 1468, 1464,   25,   25, 1460, 1460, 1460,
-       30,   30,   32,   32,   32,   32, 1464,   25, 1464, 1460,
-     1465,   30,   30,   32,   32,   32, 1469, 1460, 1470, 1460,
-     1471, 1472, 1469,   53,   53, 1460,   56,   56,   58,   58,
-       58,   58, 1469,   53, 1469, 1460, 1473, 1464, 1474, 1460,
-     1474, 1474, 1460, 1460, 1460, 1475, 1476, 1477, 1476, 1460,
-     1476, 1460, 1478, 1464, 1464, 1460, 1460, 1465, 1460, 1466,
-     1466, 1467, 1467, 1468, 1479, 1464, 1464,   25, 1480,   98,
-
-       98,   98,   98, 1481,   30,   32,   32,   32,   32,   32,
-       32, 1464, 1460, 1464, 1460, 1460, 1460, 1460, 1460, 1460,
-     1465, 1464,   98, 1464, 1464, 1464, 1469, 1469, 1460, 1470,
-     1470, 1471, 1471, 1472, 1469, 1469,   53,  137,  137,  137,
-      137,   56,   58,   58,   58,   58,   58,   58, 1469, 1469,
-     1460, 1473, 1482, 1464, 1464, 1474, 1474, 1460, 1460, 1460,
-     1460, 1475, 1476, 1476, 1477, 1483, 1477, 1460, 1460, 1476,
-     1476, 1460, 1464, 1464, 1464,   98, 1484, 1460,  176, 1460,
-     1485,   30,   32,   32,   32,   32,   32,   32,   32,   32,
-     1464, 1460, 1460, 1460, 1460, 1460, 1465, 1464,  176, 1464,
-
-     1464, 1464, 1469, 1469, 1469,  137,  206,   56,   58,   58,
-       58,   58,   58,   58,   58,   58, 1469, 1460, 1464, 1476,
-     1460, 1483, 1477, 1477, 1464, 1464, 1464, 1464, 1464, 1464,
-     1486, 1487, 1460,  233,  233,  233, 1488, 1488,  238, 1460,
-     1488, 1489, 1460,   32,   32,   32,   32,   32,   32,   32,
-       32,   32, 1464, 1460, 1460, 1460, 1460, 1460, 1465, 1464,
-     1464, 1464, 1469, 1469, 1469, 1469, 1469, 1469,   58,   58,
-       58,   58,   58,   58,   58,   58,   58, 1469, 1464, 1483,
-     1464, 1464, 1464, 1490, 1491, 1460, 1460, 1492, 1460, 1492,
-     1492,  291, 1492, 1493, 1494, 1493,  296, 1493, 1495, 1496,
-
-     1460,  301,  301,  301, 1460, 1460,   32,   32,   32,   32,
-       32,   32,   32, 1464, 1460, 1460, 1460, 1465, 1464, 1464,
-     1469, 1469, 1469,   58,   58,   58,   58,   58,   58,   58,
-     1469, 1464, 1464, 1464, 1464, 1464, 1464, 1460, 1497, 1498,
-     1460,  341,  341,  341, 1460, 1460, 1460, 1499, 1460,  349,
-      349,  349, 1499, 1500, 1501, 1460, 1500, 1502, 1460, 1460,
-     1503, 1460, 1503, 1503,  364, 1503,   32,   32,   32,   32,
-       32,   32,   32, 1464, 1460, 1460, 1465, 1464, 1464, 1469,
-     1469, 1469, 1469, 1469,   58,   58,   58,   58,   58,   58,
-       58, 1469, 1464, 1464, 1464, 1464, 1504, 1505, 1506, 1507,
-
-     1460, 1507, 1507,  403, 1507, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1508, 1460, 1508, 1508,  416, 1508, 1460, 1509,
-     1510, 1460,  422,  422,  422, 1511, 1460, 1460, 1460, 1460,
-     1512, 1460,  432,  432,  432, 1512,   32, 1460, 1460,   32,
-       32,   32, 1460, 1460, 1460, 1460, 1464, 1460, 1460, 1465,
-     1464, 1464, 1469, 1469, 1469,   58,   58,   58,   58, 1469,
-     1464, 1464, 1464, 1464, 1464, 1464, 1460, 1513, 1514, 1515,
-     1516, 1460,  472,  472,  472, 1516, 1460, 1460, 1460, 1460,
-     1460, 1460, 1517, 1460,  484,  484,  484, 1517, 1518, 1519,
-     1460, 1460, 1520, 1460, 1520, 1520,  496,  496, 1521, 1460,
-
-      500,  500,  500, 1460, 1460, 1460, 1460, 1460, 1460, 1522,
-     1460, 1522, 1522,  513, 1522, 1460, 1460, 1460,  518,  518,
-     1464, 1460, 1460, 1523, 1464, 1464, 1524, 1524, 1524, 1524,
-     1524, 1460,  532,  532, 1524, 1464, 1464, 1464, 1464, 1464,
-     1525, 1526, 1527, 1528, 1460, 1460, 1529, 1460, 1529, 1529,
-      550, 1529, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1530, 1460, 1530, 1530,  568, 1530,
-     1460, 1531, 1532, 1460,  574,  574,  574, 1460, 1460, 1460,
-     1533, 1460,  582,  582,  582, 1533, 1460, 1460, 1534, 1460,
-     1534, 1534,  592,  592, 1460, 1460, 1460, 1535, 1460,  599,
-
-      599,  599, 1535, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1536, 1537, 1538, 1539, 1540, 1540, 1540, 1540, 1460, 1537,
-     1537, 1537, 1537, 1537, 1537, 1537, 1460, 1541, 1542, 1543,
-     1544, 1460,  632,  632,  632, 1545, 1460,  637,  637,  637,
-     1545, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1546, 1460,  652,  652,  652, 1546, 1547, 1548, 1549, 1550,
-     1460, 1550, 1550,  663,  663, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1551, 1460, 1551, 1551,  676,  676, 1460, 1460,
-     1460, 1552, 1460,  683,  683,  683, 1552, 1460, 1460, 1460,
-     1460, 1460, 1460, 1553, 1460, 1553, 1553,  697, 1553, 1460,
-
-     1460, 1460, 1554, 1555, 1556, 1556, 1557, 1557, 1558, 1558,
-     1558, 1558, 1558, 1558, 1558, 1555, 1555, 1555, 1555, 1555,
-     1559, 1560, 1561, 1562, 1460, 1460, 1563, 1460, 1563, 1563,
-      730, 1563, 1460, 1564, 1460, 1564, 1564,  737, 1564, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1565, 1460, 1565, 1565,  759,
-     1565, 1460, 1566, 1567, 1568, 1569, 1460,  767,  767,  767,
-     1569, 1460, 1460, 1460, 1460, 1460, 1460, 1570, 1460,  779,
-      779,  779, 1570, 1460, 1460, 1460, 1460, 1460, 1460, 1571,
-     1460, 1571, 1571,  793,  793, 1460, 1460, 1460, 1572, 1460,
-
-      800,  800,  800, 1572, 1460, 1573, 1460, 1574, 1574, 1574,
-     1574, 1574, 1575, 1575, 1575, 1575, 1575, 1460, 1576, 1460,
-     1577, 1578, 1460,  823,  823,  823, 1579, 1460,  828,  828,
-      828, 1579, 1580, 1460,  834,  834,  834, 1580, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1581, 1460,  849,
-      849,  849, 1581, 1582, 1583, 1584, 1585, 1460, 1460, 1586,
-     1460, 1586, 1586,  863,  863, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1587, 1460, 1587,
-     1587,  881,  881, 1460, 1460, 1460, 1588, 1460,  888,  888,
-      888, 1588, 1460, 1460, 1460, 1460, 1460, 1589, 1460, 1589,
-
-     1589,  901, 1589, 1590, 1590, 1590, 1590, 1590, 1591, 1591,
-     1591, 1592, 1460,  913,  913, 1593,  913, 1594, 1595, 1460,
-     1596, 1597, 1596, 1596,  924, 1596, 1460, 1598, 1599, 1598,
-     1598,  931, 1598, 1460, 1600, 1601, 1600, 1600,  938, 1600,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1602, 1603, 1602, 1602,
-      960, 1602, 1460, 1604, 1605, 1606, 1607, 1460,  968,  968,
-      968, 1608, 1460,  973,  973,  973, 1608, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1609, 1460,  988,  988,
-      988, 1609, 1460, 1460, 1460, 1460, 1460, 1460, 1610, 1460,
-
-     1610, 1610, 1002, 1002, 1611, 1460, 1006, 1006, 1006, 1611,
-     1612, 1612, 1612, 1613, 1613, 1613, 1613, 1613, 1460, 1460,
-     1614, 1615, 1614, 1614, 1024, 1024, 1616, 1617, 1618, 1619,
-     1620, 1619, 1621, 1622, 1621, 1623, 1624, 1623, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1625, 1626, 1625,
-     1627, 1628, 1629, 1630, 1460, 1460, 1631, 1460, 1631, 1631,
-     1060, 1060, 1460, 1632, 1460, 1632, 1632, 1067, 1067, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1633, 1460, 1633, 1633, 1089,
-     1089, 1460, 1460, 1460, 1634, 1460, 1096, 1096, 1096, 1634,
-
-     1460, 1635, 1636, 1635, 1635, 1105, 1635, 1637, 1637, 1637,
-     1637, 1637, 1638, 1638, 1638, 1460, 1460, 1460, 1639, 1640,
-     1460, 1639, 1641, 1460, 1642, 1460, 1643, 1460, 1644, 1460,
-     1645, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1646, 1460, 1647, 1460,
-     1648, 1649, 1460, 1153, 1153, 1153, 1650, 1460, 1158, 1158,
-     1158, 1650, 1651, 1460, 1164, 1164, 1164, 1651, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1652, 1460, 1179,
-     1179, 1179, 1652, 1460, 1460, 1460, 1460, 1460, 1653, 1460,
-     1653, 1653, 1192, 1192, 1654, 1655, 1654, 1656, 1656, 1656,
-
-     1657, 1657, 1657, 1460, 1460, 1460, 1460, 1460, 1460, 1658,
-     1659, 1660, 1661, 1662, 1663, 1460, 1460, 1460, 1460, 1460,
-     1460, 1664, 1665, 1460, 1224, 1224, 1666, 1224, 1667, 1668,
-     1460, 1669, 1670, 1669, 1669, 1235, 1235, 1460, 1671, 1672,
-     1671, 1671, 1242, 1242, 1460, 1673, 1674, 1673, 1673, 1249,
-     1249, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1675, 1676, 1675,
-     1675, 1271, 1271, 1677, 1460, 1275, 1275, 1275, 1677, 1460,
-     1678, 1679, 1679, 1679, 1460, 1460, 1460, 1680, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-
-     1460, 1460, 1460, 1460, 1460, 1681, 1682, 1681, 1681, 1309,
-     1309, 1683, 1684, 1685, 1686, 1687, 1686, 1688, 1689, 1688,
-     1690, 1691, 1690, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1692, 1693, 1692, 1460, 1694, 1695, 1694, 1694,
-     1340, 1340, 1696, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1697, 1698, 1460, 1697, 1699, 1460,
-     1700, 1460, 1701, 1460, 1702, 1460, 1703, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1704, 1705, 1706, 1705, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-
-     1707, 1708, 1709, 1710, 1711, 1712, 1460, 1460, 1460, 1460,
-     1460, 1460, 1713, 1460, 1714, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1715, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1716, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,    0,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460
+     1428,    1, 1428,    3,    1,    1, 1429, 1429, 1430, 1430,
+     1431, 1431, 1428, 1432, 1428, 1428, 1428, 1433, 1434, 1428,
+     1428, 1435, 1428, 1436, 1432,   25,   25, 1428, 1428, 1428,
+       30,   30,   32,   32,   32, 1432,   25, 1432, 1428, 1433,
+       30,   30,   32,   32,   32, 1437, 1428, 1438, 1428, 1439,
+     1440, 1437,   52,   52, 1428,   55,   55,   57,   57,   57,
+     1437,   52, 1437, 1428, 1441, 1432, 1442, 1428, 1442, 1442,
+     1428, 1428, 1428, 1443, 1444, 1445, 1444, 1428, 1444, 1428,
+     1446, 1432, 1432, 1428, 1428, 1433, 1428, 1434, 1434, 1435,
+     1435, 1436, 1447, 1432, 1432,   25, 1448,   96,   96,   96,
+
+       96, 1449,   30,   32,   32,   32,   32,   32, 1432, 1428,
+     1432, 1428, 1428, 1428, 1428, 1428, 1428, 1433, 1432,   96,
+     1432, 1432, 1432, 1437, 1437, 1428, 1438, 1438, 1439, 1439,
+     1440, 1437, 1437,   52,  134,  134,  134,  134,   55,   57,
+       57,   57,   57,   57, 1437, 1437, 1428, 1441, 1450, 1432,
+     1432, 1442, 1442, 1428, 1428, 1428, 1428, 1443, 1444, 1444,
+     1445, 1451, 1445, 1428, 1428, 1444, 1444, 1428, 1432, 1432,
+     1432,   96, 1452, 1428,  172, 1428, 1453,   30,   32,   32,
+       32,   32,   32,   32, 1432, 1428, 1428, 1428, 1428, 1428,
+     1433, 1432,  172, 1432, 1432, 1432, 1437, 1437, 1437,  134,
+
+      200,   55,   57,   57,   57,   57,   57,   57, 1437, 1428,
+     1432, 1444, 1428, 1451, 1445, 1445, 1432, 1432, 1432, 1432,
+     1432, 1432, 1454, 1455, 1428,  225,  225,  225, 1456, 1456,
+      230, 1428, 1456, 1457, 1428,   32,   32,   32,   32,   32,
+       32,   32, 1432, 1428, 1428, 1428, 1428, 1428, 1433, 1432,
+     1432, 1432, 1437, 1437, 1437, 1437, 1437, 1437,   57,   57,
+       57,   57,   57,   57,   57, 1437, 1432, 1451, 1432, 1432,
+     1432, 1458, 1459, 1428, 1428, 1460, 1428, 1460, 1460,  279,
+     1460, 1461, 1462, 1461,  284, 1461, 1463, 1464, 1428,  289,
+      289,  289, 1428, 1428,   32,   32,   32,   32,   32, 1432,
+
+     1428, 1428, 1428, 1433, 1432, 1432, 1437, 1437, 1437,   57,
+       57,   57,   57,   57, 1437, 1432, 1432, 1432, 1432, 1432,
+     1432, 1428, 1465, 1466, 1428,  325,  325,  325, 1428, 1428,
+     1428, 1467, 1428,  333,  333,  333, 1467, 1468, 1469, 1428,
+     1468, 1470, 1428, 1428, 1471, 1428, 1471, 1471,  348, 1471,
+       32,   32,   32,   32,   32, 1432, 1428, 1428, 1433, 1432,
+     1432, 1437, 1437, 1437, 1437, 1437,   57,   57,   57,   57,
+       57, 1437, 1432, 1432, 1432, 1432, 1472, 1473, 1474, 1475,
+     1428, 1475, 1475,  383, 1475, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1476, 1428, 1476, 1476,  396, 1476, 1428, 1477,
+
+     1478, 1428,  402,  402,  402, 1479, 1428, 1428, 1428, 1428,
+     1480, 1428,  412,  412,  412, 1480, 1428, 1428,   32,   32,
+     1428, 1428, 1428, 1428, 1432, 1428, 1428, 1433, 1432, 1432,
+     1437, 1437, 1437,   57,   57, 1437, 1432, 1432, 1432, 1432,
+     1432, 1432, 1428, 1481, 1482, 1483, 1484, 1428,  448,  448,
+      448, 1484, 1428, 1428, 1428, 1428, 1428, 1428, 1485, 1428,
+      460,  460,  460, 1485, 1486, 1487, 1428, 1428, 1488, 1428,
+     1488, 1488,  472,  472, 1489, 1428,  476,  476,  476, 1428,
+     1428, 1428, 1428, 1428, 1428, 1490, 1428, 1490, 1490,  489,
+     1490, 1428,  492, 1432, 1428, 1428, 1491, 1432, 1432, 1437,
+
+     1437, 1437, 1437, 1437, 1428,  505, 1437, 1432, 1432, 1432,
+     1432, 1432, 1492, 1493, 1494, 1495, 1428, 1428, 1496, 1428,
+     1496, 1496,  522, 1496, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1497, 1428, 1497, 1497,
+      540, 1497, 1428, 1498, 1499, 1428,  546,  546,  546, 1428,
+     1428, 1428, 1500, 1428,  554,  554,  554, 1500, 1428, 1428,
+     1501, 1428, 1501, 1501,  564,  564, 1428, 1428, 1428, 1502,
+     1428,  571,  571,  571, 1502, 1428, 1428, 1428, 1428, 1428,
+     1428, 1503, 1504, 1505, 1506, 1507, 1507, 1507, 1507, 1504,
+     1504, 1504, 1504, 1504, 1504, 1504, 1428, 1508, 1509, 1510,
+
+     1511, 1428,  602,  602,  602, 1512, 1428,  607,  607,  607,
+     1512, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1513, 1428,  622,  622,  622, 1513, 1514, 1515, 1516, 1517,
+     1428, 1517, 1517,  633,  633, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1518, 1428, 1518, 1518,  646,  646, 1428, 1428,
+     1428, 1519, 1428,  653,  653,  653, 1519, 1428, 1428, 1428,
+     1428, 1428, 1428, 1520, 1428, 1520, 1520,  667, 1520, 1428,
+     1521, 1522, 1523, 1523, 1524, 1524, 1525, 1525, 1525, 1525,
+     1525, 1525, 1525, 1522, 1522, 1522, 1522, 1522, 1526, 1527,
+     1528, 1529, 1428, 1428, 1530, 1428, 1530, 1530,  698, 1530,
+
+     1428, 1531, 1428, 1531, 1531,  705, 1531, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1532, 1428, 1532, 1532,  727, 1532, 1428,
+     1533, 1534, 1535, 1536, 1428,  735,  735,  735, 1536, 1428,
+     1428, 1428, 1428, 1428, 1428, 1537, 1428,  747,  747,  747,
+     1537, 1428, 1428, 1428, 1428, 1428, 1428, 1538, 1428, 1538,
+     1538,  761,  761, 1428, 1428, 1428, 1539, 1428,  768,  768,
+      768, 1539, 1428, 1540, 1428, 1541, 1541, 1541, 1541, 1541,
+     1542, 1542, 1542, 1542, 1542, 1428, 1543, 1428, 1544, 1545,
+     1428,  791,  791,  791, 1546, 1428,  796,  796,  796, 1546,
+
+     1547, 1428,  802,  802,  802, 1547, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1548, 1428,  817,  817,  817,
+     1548, 1549, 1550, 1551, 1552, 1428, 1428, 1553, 1428, 1553,
+     1553,  831,  831, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1554, 1428, 1554, 1554,  849,
+      849, 1428, 1428, 1428, 1555, 1428,  856,  856,  856, 1555,
+     1428, 1428, 1428, 1428, 1428, 1556, 1428, 1556, 1556,  869,
+     1556, 1557, 1557, 1557, 1557, 1557, 1558, 1558, 1558, 1559,
+     1428,  881,  881, 1560,  881, 1561, 1562, 1428, 1563, 1564,
+     1563, 1563,  892, 1563, 1428, 1565, 1566, 1565, 1565,  899,
+
+     1565, 1428, 1567, 1568, 1567, 1567,  906, 1567, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1569, 1570, 1569, 1569,  928, 1569,
+     1428, 1571, 1572, 1573, 1574, 1428,  936,  936,  936, 1575,
+     1428,  941,  941,  941, 1575, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1576, 1428,  956,  956,  956, 1576,
+     1428, 1428, 1428, 1428, 1428, 1428, 1577, 1428, 1577, 1577,
+      970,  970, 1578, 1428,  974,  974,  974, 1578, 1579, 1579,
+     1579, 1580, 1580, 1580, 1580, 1580, 1428, 1428, 1581, 1582,
+     1581, 1581,  992,  992, 1583, 1584, 1585, 1586, 1587, 1586,
+
+     1588, 1589, 1588, 1590, 1591, 1590, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1592, 1593, 1592, 1594, 1595,
+     1596, 1597, 1428, 1428, 1598, 1428, 1598, 1598, 1028, 1028,
+     1428, 1599, 1428, 1599, 1599, 1035, 1035, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1600, 1428, 1600, 1600, 1057, 1057, 1428,
+     1428, 1428, 1601, 1428, 1064, 1064, 1064, 1601, 1428, 1602,
+     1603, 1602, 1602, 1073, 1602, 1604, 1604, 1604, 1604, 1604,
+     1605, 1605, 1605, 1428, 1428, 1428, 1606, 1607, 1428, 1606,
+     1608, 1428, 1609, 1428, 1610, 1428, 1611, 1428, 1612, 1428,
+
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1613, 1428, 1614, 1428, 1615, 1616,
+     1428, 1121, 1121, 1121, 1617, 1428, 1126, 1126, 1126, 1617,
+     1618, 1428, 1132, 1132, 1132, 1618, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1619, 1428, 1147, 1147, 1147,
+     1619, 1428, 1428, 1428, 1428, 1428, 1620, 1428, 1620, 1620,
+     1160, 1160, 1621, 1622, 1621, 1623, 1623, 1623, 1624, 1624,
+     1624, 1428, 1428, 1428, 1428, 1428, 1428, 1625, 1626, 1627,
+     1628, 1629, 1630, 1428, 1428, 1428, 1428, 1428, 1428, 1631,
+     1632, 1428, 1192, 1192, 1633, 1192, 1634, 1635, 1428, 1636,
+
+     1637, 1636, 1636, 1203, 1203, 1428, 1638, 1639, 1638, 1638,
+     1210, 1210, 1428, 1640, 1641, 1640, 1640, 1217, 1217, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1642, 1643, 1642, 1642, 1239,
+     1239, 1644, 1428, 1243, 1243, 1243, 1644, 1428, 1645, 1646,
+     1646, 1646, 1428, 1428, 1428, 1647, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1648, 1649, 1648, 1648, 1277, 1277, 1650,
+     1651, 1652, 1653, 1654, 1653, 1655, 1656, 1655, 1657, 1658,
+     1657, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+
+     1659, 1660, 1659, 1428, 1661, 1662, 1661, 1661, 1308, 1308,
+     1663, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1664, 1665, 1428, 1664, 1666, 1428, 1667, 1428,
+     1668, 1428, 1669, 1428, 1670, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1671, 1672, 1673, 1672, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1674, 1675,
+     1676, 1677, 1678, 1679, 1428, 1428, 1428, 1428, 1428, 1428,
+     1680, 1428, 1681, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1682, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+
+     1428, 1428, 1428, 1428, 1428, 1428, 1683, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428,    0, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428
     } ;
 
-static yyconst short int yy_nxt[10433] =
+static yyconst short int yy_nxt[10317] =
     {   0,
        14,   15,   16,   17,   14,   18,   19,   20,   21,   14,
        22,   23,   14,   14,   24,   25,   26,   27,   25,   25,
        25,   25,   25,   28,   29,   21,   14,   30,   30,   30,
-       30,   31,   32,   32,   32,   33,   34,   32,   35,   32,
-       36,   32,   32,   32,   32,   32,   37,   14,   38,   38,
-       38,   38,   38,   38,   14,   14,   14,   14,   14,   14,
-       14,   39,   14,   14,   40,   85,   85,  262,   41,  101,
-      101,  101,  101,  101,  101,  101,  101,  102,  102,  102,
-      102,  102,  103,  114,  139,  139,  139,  139,  139,  139,
-      139,  139,   42,   43,  161,  113,   44,  171,  113,   85,
-
-      161,  113,   45, 1440,  191,   46,   47,   15,   16,   17,
-       47,   48,   49,   21,   50,   47,   51,   23,   47,   47,
-       52,   53,   54,   55,   53,   53,   53,   53,   53,   28,
-       29,   21,   47,   56,   56,   56,   56,   57,   58,   58,
-       58,   59,   60,   58,   61,   58,   62,   58,   58,   58,
-       58,   58,   63,   47,   64,   64,   64,   64,   64,   64,
-       47,   47,   47,   47,   47,   47,   47,   65,   47,   47,
-       66,   66,   89,  168,   21,   21,   21,   21,   15,   70,
-       71,   95,   72,   67,   67,   95,   95,   85,   73,   15,
-       70,   71,   89,   72,   85,  164,  161,  113,   84,   73,
-
-       73,   72,  200,   95,   95, 1433,  198,  169,   95,   95,
-      128,   73,   72,   84,  115,  100,  100,  100,  100,  100,
-      100,  100,  100,   74,   96,  121,   95,  150,  153,  164,
-       68,   68,  153,  153,   74,   15,   16,   17,  199,   18,
-       85,   85,  116,  117,  128,   85,  118,  135,  197,  217,
-      153,  202,  119,  129,  260,  120,  129,  129,  129,  129,
-      129,  129,  129,  129,  140,  140,  140,  140,  140,  141,
-      127,  154,  138,  138,  138,  138,  138,  138,  138,  138,
-       75,   76,   76,   76,   76,   76,   76,   76,   76,   76,
-       76,   76,   76,   76,   76,   76,   76,   76,   15,   16,
-
-       17,   85,   18,   84,   85,   84,   85,   84,  185,   84,
-       84,  219,  186,   84,  180,  187,  201,  188,  155,  179,
-      179,  179,  179,  179,  179,   84,   84,   84,  207,  207,
-      207,  207,  207,  207, 1338,  173,  174,  175,  173,  173,
-      173,  173,  173,   75,   76,   76,   76,   76,   76,   76,
-       76,   76,   76,   76,   76,   76,   76,   76,   76,   76,
-       76,   15,   16,   17,   78,   18,   85,   89,  161,  113,
-       79,   80,   81,  161,  113,  158,  113,  159,  163,  160,
-      221,  225,  163,  159,   82,  160,  180,  211,  163,  166,
-      166,  212,  163,  166,  213,  243,  214,  160,  160,  166,
-
-       85,  163,  166, 1307,  223,  260,   83,   15,   16,   17,
-       78,   18,  166,  128,   85,  259,   79,   80,   81,   90,
-      160,   90,  222,   90,   85,   90,   90,  161,  113,   90,
-       82,   85,  128,   85,  167,   85,  280,  253,   85,  314,
-       89,   90,   90,   90,   95,  278,  224,  260,   95,   95,
-      260,  279,   83,   97, 1395,   98,   98,   98,   98,   98,
-       98,   98,   98,   99,   89,  180,   95,  100,  100,  100,
-      100,  100,  164,   92,  243,   92,   99,   92,  222,   92,
-       92,   85,  319,   92,  581,  581,   85,   96,  100,  100,
-      100,  100,  100,  100,   84,   92,   92,   92,   84,   85,
-
-       84,  377,  180,   84,   84,  180,   84,   84,   84,  105,
-      105,  105,  105,  105,  105,  105,  105,   99,  318, 1338,
-       84,  105,  105,  105,  105,  105,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-       85,  106,  100,  100,  100,  100,  100,  100,   84,   84,
-       84,   84,   84,   84,   84,   84,   84,   84,  106,  106,
-      106,  106,  106,  106,  106,  106, 1460,  298,  298,  298,
-      106,  106,  106,  106,  106,  179,  179,  179,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,   84,   84,   84,   84,   84,   84,  112,  113,   84,
-
-      263,   84,   89,   84,   84,  129, 1269,   84,  129,  129,
-      129,  129,  129,  129,  129,  129,  378,  333,   99,   84,
-       84,   84,  136,  305,  137,  137,  137,  137,  137,  137,
-      137,  137,   99,  128,  305,   85,  138,  138,  138,  138,
-      138,  128,   94,   85,   84,  306,   94,   99,   84,   84,
-       85,  450,   94,  379, 1377,  128,  306,  138,  138,  138,
-      138,  138,  138,  127,   94,   94,   84,  127,  128,  127,
-       85, 1372,  127,  127,  331,  127,  127,  127,  142,  142,
-      142,  142,  142,  142,  142,  142,   99,  320, 1247,  127,
-      142,  142,  142,  142,  142,  143,  143,  143,  143,  143,
-
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  128,
-      143,  138,  138,  138,  138,  138,  138,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  143,  143,  143,
-      143,  143,  143,  143,  143, 1460,  180,  305,   85,  143,
-      143,  143,  143,  143,  332,  243,  115,  180,  203,  204,
-      205,  203,  203,  203,  203,  203,  289, 1240,  221,  306,
-      127,  127,  127,  127,  127,  127,  149,  113,  127,   89,
-      127, 1233,  127,  127,  116,  117,  127,   95,  118,  128,
-       85,   95,   95, 1230,  119,  374,   85,  120,  127,  127,
-      127,  176,  176,  176,  176,  176,  176,  176,  176,   95,
-
-      222, 1307,  452,  176,  176,  176,  176,  176,  207,  207,
-      207,  207,  207,  207,  207,  207,  438,  153,  128,  524,
-      135,  153,  153,  392,  176,  176,  176,  176,  176,  176,
-      182,  182,  182,  182,  182,  182,  182,  182,  439,  153,
-      287,  180,  182,  182,  182,  182,  182,  127, 1344,  127,
-      289,  127,   85,  127,  127,  443,   85,  127,  445,  380,
-      154,  393,  451,  176,  176,  176,  176,  176,  176,  127,
-      127,  127,  130,  180,  130,  180,  130,  444,  130,  130,
-      446,  132,  130,  132,  243,  132, 1190,  132,  132,  438,
-     1269,  132,  128,  443,  130,  130,  130,  292,  292,  292,
-
-      292,  292,  293,  132,  132,  132,  134,  462,  127,   85,
-      134,  439,  127,  127, 1247,  444,  134,  207,  207,  207,
-      207,  207,  207,  207,  207,  521,   85, 1240,  134,  134,
-      127,  206,  206,  206,  206,  206,  206,  206,  206,   85,
-       85,  526,  612,  206,  206,  206,  206,  206,  281,  282,
-      283,  281,  281,  281,  281,  281,  291,  291,  291,  291,
-      291,  291,  291,  291,  206,  206,  206,  206,  206,  206,
-      208,  208,  208,  208,  208,  208,  208,  208,  445,   85,
-     1460,  180,  208,  208,  208,  208,  208,  152, 1233,   84,
-      289,  152,   85,   84,   84,  611,   89,  152,  516, 1230,
-
-      446,  447, 1357,  206,  206,  206,  206,  206,  206,  152,
-      152,   84,  166,  166,   95,  220,  166,  153,   95, 1150,
-      517,  153,  166,  180,   95, 1298,  128,  153,  166,  166,
-      438,  220,  166,  287,  180,  166,   95,   95,  166,  153,
-      153,  128,  535,  289,   85,  166,  166,  180,  223,  166,
-      460,  166,  439,  461,   85,  166,  289,  167,  225,  443,
-      226,  226,  226,  226,  226,  226,  226,  226,  166,  180,
-      536,  527,  225,  167,  226,  226,  226,  226,  226,  226,
-     1460,  444,  290,  290,  290,  290,  290,  290,  290,  290,
-      167,   85,  225,  180,  227,  227,  227,  227,  227,  227,
-
-      227,  227,  362,  128,  180,   85,  296,  296,  297,  298,
-      298,  298,  298,  298,  295,  321,  322,  323,  321,  321,
-      321,  321,  321,  445,  620,   85,  225,   85,  228,  228,
-      228,  228,  228,  229,  226,  226,  525,  263,  180,  264,
-      264,  264,  264,  264,  264,  446,  128,  345,  346,  347,
-      345,  345,  345,  345,  345,  682,  682,   85,   85,   85,
-       84,  180,  230,  230,  230,  230,  230,  230,  230,  230,
-      128,  516,  516,  704,  230,  230,  230,  230,  230,  287,
-      180,  353,  353,  353,  353,  353,  353,  180,  605,  289,
-      180,  607,  180,  517,  517,  230,  230,  230,  230,  230,
-
-      230,  180,  233,  234,  235,  233,  233,  233,  233,  233,
-      606,  128,  605,  608,  236,  236,  236,  236,  236,  357,
-      357,  357,  357,  357,  357,  357,  357,  295,  365,  365,
-      365,  365,  365,  366,  606,  236,  236,  236,  236,  236,
-      236,  237,  238,  239,  239,  239,  239,  239,  239,  240,
-      106,  766,  766,  241,  241,  241,  241,  241,  364,  364,
-      364,  364,  364,  364,  364,  364,  403,  403,  403,  403,
-      403,  403,  403,  403,  241,  241,  241,  241,  241,  241,
-      244,  244,  244,  244,  244,  244,  244,  244,  360,  180,
-      778,  778,  244,  244,  244,  244,  244, 1460,  362,  363,
-
-      363,  363,  363,  363,  363,  363,  363,  404,  404,  404,
-      404,  404,  405,  230,  230,  230,  230,  230,  230,  263,
-      180,  264,  264,  264,  264,  264,  264,  264,  264,  545,
-      887,  887,  394,  395,  396,  394,  394,  394,  394,  394,
-      333,  180,  334,  334,  334,  334,  334,  334,  180,  709,
-      401,  813,  128,  263, 1190,  265,  265,  265,  265,  265,
-      265,  265,  265,   85,  416,  416,  416,  416,  416,  416,
-      416,  416, 1460,   85,  402,  402,  402,  402,  402,  402,
-      402,  402,  128, 1087,   85, 1261,  128,  263,  492,  266,
-      266,  266,  266,  266,  267,  264,  264,  406,  494,  407,
-
-      407,  407,  407,  407,  407,  407,  407,  406,  180,  408,
-      408,  408,  408,  408,  408,  408,  408,  414,  972,  972,
-      128,  127, 1256,  268,  268,  268,  268,  268,  268,  268,
-      268, 1460,  180,  987,  987,  268,  268,  268,  268,  268,
-      406,  362,  409,  409,  409,  409,  409,  410,  407,  407,
-      417,  417,  417,  417,  417,  418,  268,  268,  268,  268,
-      268,  268,  269,  269,  269,  269,  269,  269,  269,  269,
-      287,  180,  700, 1065,  269,  269,  269,  269,  269, 1460,
-      401,  415,  415,  415,  415,  415,  415,  415,  415, 1095,
-     1095, 1058, 1460,  180,  701,  268,  268,  268,  268,  268,
-
-      268,  225,  401,  226,  226,  226,  226,  226,  226,  226,
-      226,  428,  429,  430,  428,  428,  428,  428,  428,  360,
-      180,  436,  436,  436,  436,  436,  436, 1119, 1119,  362,
-     1157, 1157,  611,   89,   85,  225, 1460,  226,  226,  226,
-      226,  226,  226,  226,  226,  703,  494, 1163, 1163,  453,
-      454,  455,  453,  453,  453,  453,  453,  380,  180,  381,
-      381,  381,  381,  381,  381, 1178, 1178,  362,   85,  287,
-      180,  288,  288,  288,  288,  288,  288,  288,  288,  289,
-      128,  607, 1055,  290,  290,  290,  290,  290,  904,  492,
-      128,  287,  180,  476,  476,  476,  476,  476,  476,  494,
-
-     1230,  401, 1150,  608,  290,  290,  290,  290,  290,  290,
-      301,  302,  303,  301,  301,  301,  301,  301,  180,  106,
-      180,  128,  304,  304,  304,  304,  304,  477,  478,  479,
-      477,  477,  477,  477,  477,  406,  180,  407,  407,  407,
-      407,  407,  407,  304,  304,  304,  304,  304,  304,  263,
-      588,  264,  264,  264,  264,  264,  264,  264,  264,  406,
-      590,  407,  407,  407,  407,  407,  407,  407,  407,  406,
-      180,  407,  407,  407,  407,  407,  407,  407,  407,  545,
-     1274, 1274,  128,  263,  180,  264,  264,  264,  264,  264,
-      264,  264,  264,  480,  481,  482,  480,  480,  480,  480,
-
-      480,  412,  180, 1460,  180,  497,  497,  497,  497,  497,
-      498,  414,  180,  414,  605, 1014,  128,  333,  180,  334,
-      334,  334,  334,  334,  334,  334,  334,  412,  180,  488,
-      488,  488,  488,  488,  488,  180,  606,  414,  496,  496,
-      496,  496,  496,  496,  496,  496, 1315, 1315,   85, 1108,
-       85,  333,  143,  335,  335,  335,  335,  335,  335,  335,
-      335, 1460, 1022,  495,  495,  495,  495,  495,  495,  495,
-      495,  504,  180,  505,  505,  505,  505,  505,  505,  505,
-      505,  401,  128, 1204,   85,  333, 1460,  336,  336,  336,
-      336,  336,  337,  334,  334,  504,  590,  506,  506,  506,
-
-      506,  506,  506,  506,  506,  504,  180,  507,  507,  507,
-      507,  507,  508,  505,  505,  414, 1318, 1318,   85,  180,
-      341,  342,  343,  341,  341,  341,  341,  341, 1321, 1321,
-     1333, 1333,  344,  344,  344,  344,  344,  513,  513,  513,
-      513,  513,  513,  513,  513,  514,  514,  514,  514,  514,
-      515, 1355, 1355,  344,  344,  344,  344,  344,  344,  349,
-      350,  351,  349,  349,  349,  349,  349,  360,  180, 1384,
-     1384,  352,  352,  352,  352,  352, 1460,  362,  512,  512,
-      512,  512,  512,  512,  512,  512,  551,  551,  551,  551,
-      551,  552,  352,  352,  352,  352,  352,  352,  287,  180,
-
-      353,  353,  353,  353,  353,  353,  353,  353,  289,  360,
-      180,  361,  361,  361,  361,  361,  361,  361,  361,  362,
-      720,  720,  720,  363,  363,  363,  363,  363,   85,  537,
-      538,  539,  540,  537,  537,  537,  537,  462,  463,  463,
-      463,  463,  463,  463,  363,  363,  363,  363,  363,  363,
-      380,   85,  381,  381,  381,  381,  381,  381,  381,  381,
-       85,  550,  550,  550,  550,  550,  550,  550,  550,   85,
-     1460,  180,  549,  549,  549,  549,  549,  549,  549,  549,
-      511,  180, 1000,  128,  380, 1087,  382,  382,  382,  382,
-      382,  382,  382,  382,  287,  180,  569,  569,  569,  569,
-
-      569,  570, 1065,  553,  401,  554,  554,  554,  554,  554,
-      554,  554,  554, 1058, 1055, 1230, 1150,  128,  380,  492,
-      383,  383,  383,  383,  383,  384,  381,  381,  553,  661,
-      555,  555,  555,  555,  555,  555,  555,  555,  553,  180,
-      556,  556,  556,  556,  556,  557,  554,  554,  725,  965,
-      180,  128,  333, 1460,  334,  334,  334,  334,  334,  334,
-      334,  334,  558,  661,  559,  559,  559,  559,  559,  559,
-      559,  559,  558,  180,  560,  560,  560,  560,  560,  560,
-      560,  560,  545, 1141, 1136,   85,  333,  672,  334,  334,
-      334,  334,  334,  334,  334,  334,  558,  674,  561,  561,
-
-      561,  561,  561,  562,  559,  559,  568,  568,  568,  568,
-      568,  568,  568,  568,  180,  180,  180,  180,  180,   85,
-      287,  180,  400,  400,  400,  400,  400,  400,  400,  400,
-      401,  180,  180,  180,  402,  402,  402,  402,  402, 1460,
-      548,  567,  567,  567,  567,  567,  567,  567,  567,  593,
-      593,  593,  593,  593,  594,  402,  402,  402,  402,  402,
-      402,  412,  180,  413,  413,  413,  413,  413,  413,  413,
-      413,  414,  412,  180,  180,  415,  415,  415,  415,  415,
-     1022, 1460,  414,  578,  579,  580,  578,  578,  578,  578,
-      578,  674, 1000,  879, 1079, 1074,  415,  415,  415,  415,
-
-      415,  415,  422,  423,  424,  422,  422,  422,  422,  422,
-      861,  858, 1055, 1150,  425,  425,  425,  425,  425,  592,
-      592,  592,  592,  592,  592,  592,  592,  595,  596,  597,
-      595,  595,  595,  595,  595,  425,  425,  425,  425,  425,
-      425,  432,  433,  434,  432,  432,  432,  432,  432,  360,
-      180,  965,  180,  435,  435,  435,  435,  435, 1460,  511,
-      591,  591,  591,  591,  591,  591,  591,  591,  664,  664,
-      664,  664,  664,  665,  435,  435,  435,  435,  435,  435,
-      360,  180,  436,  436,  436,  436,  436,  436,  436,  436,
-      362,  380,  588,  381,  381,  381,  381,  381,  381,  381,
-
-      381,  504,  590,  505,  505,  505,  505,  505,  505,  505,
-      505,  504,  180,  505,  505,  505,  505,  505,  505,  505,
-      505,  566,  180,  180,  128,  380,  492,  381,  381,  381,
-      381,  381,  381,  381,  381,  504,  661,  505,  505,  505,
-      505,  505,  505, 1460,  180,  360,  180,  603,  603,  603,
-      603,  603,  603,  511,  180,  511,  180,  180,  128,  462,
-      463,  463,  463,  463,  463,  463,  463,  463,  607, 1121,
-      615,  616,  617,  618,  615,  615,  615,  615,  527,  528,
-      528,  528,  528,  528,  528,  820,  791,  993,  879,  861,
-      608,   85,  462,  464,  464,  464,  464,  464,  464,  464,
-
-      464,  128,  412,  180, 1460,  180,  143,  858, 1055, 1053,
-      128,  965,  548,  764,  548,  642,  643,  644,  642,  642,
-      642,  642,  642,  613,   85,  462,  465,  465,  465,  465,
-      465,  466,  463,  463,  412,  180,  641,  641,  641,  641,
-      641,  641,  950,  613,  548,  613,  614,  553,  945,  554,
-      554,  554,  554,  554,  554,  554,  554,   85,  472,  473,
-      474,  472,  472,  472,  472,  472,   85,  180,  180,  180,
-      475,  475,  475,  475,  475,  553,  511,  554,  554,  554,
-      554,  554,  554,  554,  554,  677,  677,  677,  677,  677,
-      678,  475,  475,  475,  475,  475,  475,  287,  180,  476,
-
-      476,  476,  476,  476,  476,  476,  476,  401,  484,  485,
-      486,  484,  484,  484,  484,  484,  564,  180,  820,  180,
-      487,  487,  487,  487,  487,  553,  566,  554,  554,  554,
-      554,  554,  554,  645,  646,  647,  645,  645,  645,  645,
-      645,  487,  487,  487,  487,  487,  487,  412,  180,  488,
-      488,  488,  488,  488,  488,  488,  488,  414,  492,  791,
-      493,  493,  493,  493,  493,  493,  493,  493,  494,  180,
-      674,  871,  495,  495,  495,  495,  495,  558,  725,  559,
-      559,  559,  559,  559,  559,  559,  559,  698,  698,  698,
-      698,  698,  699,  495,  495,  495,  495,  495,  495,  500,
-
-      501,  502,  500,  500,  500,  500,  500, 1460,  180,  866,
-      661,  503,  503,  503,  503,  503,  558,  566,  559,  559,
-      559,  559,  559,  559,  559,  559,  731,  731,  731,  731,
-      731,  732,  503,  503,  503,  503,  503,  503,  360,  180,
-      510,  510,  510,  510,  510,  510,  510,  510,  511,  180,
-      858,  965,  512,  512,  512,  512,  512,  558,  545,  559,
-      559,  559,  559,  559,  559,  648,  649,  650,  648,  648,
-      648,  648,  648,  512,  512,  512,  512,  512,  512,  527,
-      528,  528,  528,  528,  528,  528,  528,  528,  564,  180,
-      656,  656,  656,  656,  656,  656,  764,  672,  566,  663,
-
-      663,  663,  663,  663,  663,  663,  663,  674,  820,  629,
-      807,  128,  527,  529,  529,  529,  529,  529,  529,  529,
-      529, 1460,  590,  662,  662,  662,  662,  662,  662,  662,
-      662,  666,  180,  667,  667,  667,  667,  667,  667,  667,
-      667,  548,  784,  674,  128,  527,  530,  530,  530,  530,
-      530,  531,  528,  528,  666,  661,  668,  668,  668,  668,
-      668,  668,  668,  668,  666,  180,  669,  669,  669,  669,
-      669,  670,  667,  667,  566,  858,  856,  128,  462,  463,
-      463,  463,  463,  463,  463,  463,  463,  676,  676,  676,
-      676,  676,  676,  676,  676, 1460,  588,  675,  675,  675,
-
-      675,  675,  675,  675,  675,  620,  791,  720,  720,  720,
-       85,  462,  463,  463,  463,  463,  463,  463,  463,  463,
-      679,  680,  681,  679,  679,  679,  679,  679,  688, 1460,
-      689,  689,  689,  689,  689,  689,  689,  689,   85,  791,
-      764,  573,  749,   85,  412,  180,  547,  547,  547,  547,
-      547,  547,  547,  547,  548,  613,  744,  180,  549,  549,
-      549,  549,  549,  688,  180,  690,  690,  690,  690,  690,
-      690,  690,  690,  695,  180,  613,  820,  613,  613,  549,
-      549,  549,  549,  549,  549,  564,  180,  565,  565,  565,
-      565,  565,  565,  565,  565,  566,  180,  629,  708,  567,
-
-      567,  567,  567,  567,  688,  919,  691,  691,  691,  691,
-      691,  692,  689,  689,  738,  738,  738,  738,  738,  739,
-      567,  567,  567,  567,  567,  567,  574,  575,  576,  574,
-      574,  574,  574,  574,  706,   85,  807,  805,  577,  577,
-      577,  577,  577,  697,  697,  697,  697,  697,  697,  697,
-      697,  730,  730,  730,  730,  730,  730,  730,  730,  577,
-      577,  577,  577,  577,  577,  582,  583,  584,  582,  582,
-      582,  582,  582,  360,  180,  688,  590,  585,  585,  585,
-      585,  585, 1460,  511,  696,  696,  696,  696,  696,  696,
-      696,  696,  494,  666,  764,  412,  180,  573,  585,  585,
-
-      585,  585,  585,  585,  492,  548,  586,  586,  586,  586,
-      586,  586,  586,  586,  494,  588,  672,  589,  589,  589,
-      589,  589,  589,  589,  589,  590,  861,  723,  629,  591,
-      591,  591,  591,  591,  716,  717,  718,  716,  716,  716,
-      716,  716,  737,  737,  737,  737,  737,  737,  737,  737,
-      591,  591,  591,  591,  591,  591,  599,  600,  601,  599,
-      599,  599,  599,  599, 1460,   85,  469,  708,  602,  602,
-      602,  602,  602, 1460,  861,  729,  729,  729,  729,  729,
-      729,  729,  729,  760,  760,  760,  760,  760,  761,  602,
-      602,  602,  602,  602,  602,  360,  180,  603,  603,  603,
-
-      603,  603,  603,  603,  603,  511,   84,  564,  180,  706,
-       84,  702,   84,  427,  494,   84,   84,  566,   84,   84,
-       84,  106,  106,  106,  106,  106,  106,  106,  106,  659,
-      573,  421,   84,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  604,  106,  106,  106,  106,
-      106,  106,   85,  106,   84,   84,   84,   84,   84,   84,
-       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
-      527,  528,  528,  528,  528,  528,  528,  528,  528, 1460,
-      558,  736,  736,  736,  736,  736,  736,  736,  736,  180,
-      740,  740,  740,  740,  740,  740,  740,  740,  553,  812,
-
-      812,  812,  128,  527,  528,  528,  528,  528,  528,  528,
-      528,  528,  180,  741,  741,  741,  741,  741,  741,  741,
-      741,  180,  742,  742,  742,  742,  742,  743,  740,  740,
-      128,  360,  180, 1460,  180,  128,  127,  412,  180,  180,
-      127,  695,  127,  695,  629,  127,  127,  728,  127,  127,
-      127,  143,  143,  143,  143,  143,  143,  143,  143,  469,
-       85,  128,  127,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  619,  143,  143,  143,  143,
-      143,  143,  128,  143,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-
-      620,  877,  621,  621,  621,  621,  621,  621,  621,  621,
-      744,  879,  745,  745,  745,  745,  745,  745,  745,  745,
-      744,  180,  746,  746,  746,  746,  746,  746,  746,  746,
-      725,  610,  609,   85,  620, 1460,  622,  622,  622,  622,
-      622,  622,  622,  622,  744,  879,  747,  747,  747,  747,
-      747,  748,  745,  745,  749,  180,  750,  750,  750,  750,
-      750,  750,  750,  750,  728,   85,  504,   85,  620,  588,
-      623,  623,  623,  623,  623,  624,  625,  625,  749,  791,
-      751,  751,  751,  751,  751,  751,  751,  751,  749,  180,
-      752,  752,  752,  752,  752,  753,  750,  750,  735,  427,
-
-      573,   85,  620,  421,  626,  626,  626,  621,  621,  621,
-      621,  621,  759,  759,  759,  759,  759,  759,  759,  759,
-     1460,  180,  758,  758,  758,  758,  758,  758,  758,  758,
-      757,  543,  469,  340,  672,   85,  632,  633,  634,  632,
-      632,  632,  632,  632,  861,  534,  533,  532,  635,  635,
-      635,  635,  635,  772,  773,  774,  772,  772,  772,  772,
-      772,  666,  523,  667,  667,  667,  667,  667,  667,  635,
-      635,  635,  635,  635,  635,  637,  638,  639,  637,  637,
-      637,  637,  637, 1460,  180,  522,  520,  640,  640,  640,
-      640,  640,  666,  728,  667,  667,  667,  667,  667,  667,
-
-      667,  667,  794,  794,  794,  794,  794,  795,  640,  640,
-      640,  640,  640,  640,  412,  180,  641,  641,  641,  641,
-      641,  641,  641,  641,  548,  652,  653,  654,  652,  652,
-      652,  652,  652,  564,  180,  519,  518,  655,  655,  655,
-      655,  655,  666,  735,  667,  667,  667,  667,  667,  667,
-      667,  667,  427,  709,  491,  812,  812,  812,  655,  655,
-      655,  655,  655,  655,  564,  180,  656,  656,  656,  656,
-      656,  656,  656,  656,  566,  492,  421,  660,  660,  660,
-      660,  660,  660,  660,  660,  661,  128,  295,  406,  662,
-      662,  662,  662,  662,  775,  776,  777,  775,  775,  775,
-
-      775,  775,  793,  793,  793,  793,  793,  793,  793,  793,
-      662,  662,  662,  662,  662,  662,  672,  180,  673,  673,
-      673,  673,  673,  673,  673,  673,  674,  180,  469,  340,
-      675,  675,  675,  675,  675,  784,  695,  785,  785,  785,
-      785,  785,  785,  785,  785,  864,  864,  864,  864,  864,
-      865,  675,  675,  675,  675,  675,  675,  683,  684,  685,
-      683,  683,  683,  683,  683, 1460,  180,  459,  458,  686,
-      686,  686,  686,  686,  784,  735,  786,  786,  786,  786,
-      786,  786,  786,  786,  457,  456,  449,  755,  180,  448,
-      686,  686,  686,  686,  686,  686,  588,  757,  687,  687,
-
-      687,  687,  687,  687,  687,  687,  590,  360,  180,  694,
-      694,  694,  694,  694,  694,  694,  694,  695,  180,  442,
-      441,  696,  696,  696,  696,  696,  784,  919,  787,  787,
-      787,  787,  787,  788,  785,  785,  440,  437,  427,  295,
-     1460,  180,  696,  696,  696,  696,  696,  696,   84,  700,
-      757,  421,   84,  295,   84,  399,  340,   84,   84,  232,
-       84,   84,   84,  106,  106,  106,  106,  106,  106,  106,
-      106,  701,  391,  390,   84,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,   85,  106,   84,   84,   84,   84,
-
-       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
-       84,   84,  709,  877,  710,  710,  710,  710,  710,  710,
-      710,  710, 1460,  879,  792,  792,  792,  792,  792,  792,
-      792,  792,  796,  797,  798,  796,  796,  796,  796,  796,
-      389,  388,  387,  386,  385,  128,  709,  588,  711,  711,
-      711,  711,  711,  711,  711,  711,  688, 1000,  689,  689,
-      689,  689,  689,  689,  689,  689,  688,  180,  689,  689,
-      689,  689,  689,  689,  689,  689,  725,  315,  376,  128,
-      709, 1460,  712,  712,  712,  712,  712,  713,  714,  714,
-      688, 1000,  689,  689,  689,  689,  689,  689,  360,  180,
-
-      804,  804,  804,  804,  804,  804,  180,  375,  695,  373,
-      372,  371,  370,  128,  709,  728,  715,  715,  715,  710,
-      710,  710,  710,  710,  808,  809,  810,  808,  808,  808,
-      808,  808,  412,  180,  832,  832,  832,  832,  832,  832,
-      360,  180,  728,  412,  180,  369, 1020,  128,  127,  700,
-      695,  368,  127,  728,  127,  128, 1022,  127,  127,  367,
-      127,  127,  127,  143,  143,  143,  143,  143,  143,  143,
-      143,  701,  295,  354,  127,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  128,  143,  127,  127,  127,  127,
-
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  620,  356,  625,  625,  625,  625,  625,  625,
-      625,  625,  564,  180,  838,  838,  838,  838,  838,  838,
-      180,  295,  735,  180,  705,  340,  705, 1460,  705,  735,
-      705,  705,  757,  232,  705,   85,  620, 1022,  625,  625,
-      625,  625,  625,  625,  625,  625,  705,  705,  705,  180,
-      740,  740,  740,  740,  740,  740,  740,  740,  707,  330,
-      707,  672,  707,  329,  707,  707,  328,  327,  707,   85,
-      620, 1058,  625,  625,  625,  625,  625,  625,  719,  719,
-      707,  707,  707,  719,  719,  719,  719,  719,  719,  719,
-
-      719,  180,  740,  740,  740,  740,  740,  740,  740,  740,
-      326,  325,  324,   85,  620,   99,  719,  719,  719,  719,
-      719,  719,  719,  719,   85,  180,  740,  740,  740,  740,
-      740,  740,  839,  840,  841,  839,  839,  839,  839,  839,
-      882,  882,  882,  882,  882,  883,  315,   85,  412,  180,
-      727,  727,  727,  727,  727,  727,  727,  727,  728,  180,
-      317,  315,  729,  729,  729,  729,  729,  744,  899,  745,
-      745,  745,  745,  745,  745,  745,  745,  902,  902,  902,
-      902,  902,  903,  729,  729,  729,  729,  729,  729,  564,
-      180,  734,  734,  734,  734,  734,  734,  734,  734,  735,
-
-      180,  316,  315,  736,  736,  736,  736,  736,  744,  919,
-      745,  745,  745,  745,  745,  745,  745,  745,  925,  925,
-      925,  925,  925,  926,  736,  736,  736,  736,  736,  736,
-      755,  180,  756,  756,  756,  756,  756,  756,  756,  756,
-      757,  180,  313,  312,  758,  758,  758,  758,  758,  744,
-      922,  745,  745,  745,  745,  745,  745,  842,  843,  844,
-      842,  842,  842,  842,  842,  758,  758,  758,  758,  758,
-      758,  767,  768,  769,  767,  767,  767,  767,  767,  564,
-      180,  311,  310,  770,  770,  770,  770,  770,  749,  735,
-      750,  750,  750,  750,  750,  750,  750,  750,  932,  932,
-
-      932,  932,  932,  933,  770,  770,  770,  770,  770,  770,
-      492,  309,  771,  771,  771,  771,  771,  771,  771,  771,
-      661,  779,  780,  781,  779,  779,  779,  779,  779,  755,
-      180,  308,  307,  782,  782,  782,  782,  782,  749,  757,
-      750,  750,  750,  750,  750,  750,  750,  750,  939,  939,
-      939,  939,  939,  940,  782,  782,  782,  782,  782,  782,
-      672,   99,  783,  783,  783,  783,  783,  783,  783,  783,
-      674,  588,  295,  790,  790,  790,  790,  790,  790,  790,
-      790,  791,  180,  299,  295,  792,  792,  792,  792,  792,
-      749,  929,  750,  750,  750,  750,  750,  750,  845,  846,
-
-      847,  845,  845,  845,  845,  845,  792,  792,  792,  792,
-      792,  792,  800,  801,  802,  800,  800,  800,  800,  800,
-      286,  232,  164,  277,  803,  803,  803,  803,  803,  755,
-      180,  853,  853,  853,  853,  853,  853,  276,  275,  757,
-      274,  273,  272,  271,  270,  803,  803,  803,  803,  803,
-      803,  360,  180,  804,  804,  804,  804,  804,  804,  804,
-      804,  695,  709,  136,  714,  714,  714,  714,  714,  714,
-      714,  714,  863,  863,  863,  863,  863,  863,  863,  863,
-     1460,  180,  862,  862,  862,  862,  862,  862,  862,  862,
-      936,  261,  258,  257,  256,  128,  709, 1460,  714,  714,
-
-      714,  714,  714,  714,  714,  714,  866, 1058,  867,  867,
-      867,  867,  867,  867,  867,  867,  866,  180,  868,  868,
-      868,  868,  868,  868,  868,  868,  958,  255,  254,  128,
-      709,  877,  714,  714,  714,  714,  714,  714,  811,  811,
-      866, 1065,  869,  869,  869,  869,  869,  870,  867,  867,
-      871, 1460,  872,  872,  872,  872,  872,  872,  872,  872,
-      252, 1065,  251,  128,  709, 1085,  811,  811,  811,  811,
-      811,  811,  811,  811,  871, 1087,  873,  873,  873,  873,
-      873,  873,  873,  873,  871, 1460,  874,  874,  874,  874,
-      874,  875,  872,  872,  250, 1087,  249,  128,  813,  248,
-
-      814,  814,  814,  814,  814,  814,  814,  814,  881,  881,
-      881,  881,  881,  881,  881,  881, 1460,  588,  880,  880,
-      880,  880,  880,  880,  880,  880,  247, 1000,  246,  245,
-       97,   85,  813,  232,  815,  815,  815,  815,  815,  815,
-      815,  815,  884,  885,  886,  884,  884,  884,  884,  884,
-      784,  180,  785,  785,  785,  785,  785,  785,  785,  785,
-      899,  164,  164,  157,  218,   85,  813, 1020,  816,  816,
-      816,  816,  816,  817,  814,  814,  784, 1022,  785,  785,
-      785,  785,  785,  785,  785,  785,  784,  180,  785,  785,
-      785,  785,  785,  785,  151,  216,  919,  215,  672,   85,
-
-      823,  824,  825,  823,  823,  823,  823,  823, 1058,  210,
-      209,  127,  826,  826,  826,  826,  826,  180,  893,  893,
-      893,  893,  893,  893,  893,  893,  961,  961,  961,  961,
-      961,  962,  133,  826,  826,  826,  826,  826,  826,  828,
-      829,  830,  828,  828,  828,  828,  828,  131,  128,  196,
-      195,  831,  831,  831,  831,  831,  180,  894,  894,  894,
-      894,  894,  894,  894,  894, 1003, 1003, 1003, 1003, 1003,
-     1004,  194,  831,  831,  831,  831,  831,  831,  412,  180,
-      832,  832,  832,  832,  832,  832,  832,  832,  728,  834,
-      835,  836,  834,  834,  834,  834,  834,  193,  192,  190,
-
-      189,  837,  837,  837,  837,  837,  180,  895,  895,  895,
-      895,  895,  896,  893,  893,  180,  893,  893,  893,  893,
-      893,  893,  837,  837,  837,  837,  837,  837,  564,  180,
-      838,  838,  838,  838,  838,  838,  838,  838,  735,  849,
-      850,  851,  849,  849,  849,  849,  849,  184,  183,  180,
-       84,  852,  852,  852,  852,  852,  901,  901,  901,  901,
-      901,  901,  901,  901,  924,  924,  924,  924,  924,  924,
-      924,  924,  852,  852,  852,  852,  852,  852,  755,  180,
-      853,  853,  853,  853,  853,  853,  853,  853,  757,  672,
-      178,  860,  860,  860,  860,  860,  860,  860,  860,  861,
-
-      180,  172,   93,  862,  862,  862,  862,  862, 1460,  922,
-      900,  900,  900,  900,  900,  900,  900,  900,   91,   89,
-       87,  360,  180,   86,  862,  862,  862,  862,  862,  862,
-      877,  899,  878,  878,  878,  878,  878,  878,  878,  878,
-      879,   85,  164,  157,  880,  880,  880,  880,  880,  811,
-      811,  811,  811,  811,  811,  811,  811,  909,  910,  911,
-      909,  909,  909,  909,  909,  880,  880,  880,  880,  880,
-      880,  888,  889,  890,  888,  888,  888,  888,  888,  151,
-      128,  180,  148,  891,  891,  891,  891,  891,   85, 1460,
-      929,  923,  923,  923,  923,  923,  923,  923,  923,  147,
-
-      146, 1460,  180,  145,  891,  891,  891,  891,  891,  891,
-      588,  899,  892,  892,  892,  892,  892,  892,  892,  892,
-      791,  360,  180,  898,  898,  898,  898,  898,  898,  898,
-      898,  899,  180,  144,  133,  900,  900,  900,  900,  900,
-      813,  936,  814,  814,  814,  814,  814,  814,  931,  931,
-      931,  931,  931,  931,  931,  931,  900,  900,  900,  900,
-      900,  900,  904,  131,  905,  905,  905,  905,  905,  905,
-      905,  905, 1460,   85,  930,  930,  930,  930,  930,  930,
-      930,  930,  938,  938,  938,  938,  938,  938,  938,  938,
-      128,  126,  125,  124,  123,  128,  904,  877,  906,  906,
-
-      906,  906,  906,  906,  906,  906, 1460, 1065,  937,  937,
-      937,  937,  937,  937,  937,  937,  180,  941,  941,  941,
-      941,  941,  941,  941,  941,  122,  111,  110,  109,  128,
-      904,  108,  907,  907,  907,  907,  907,  908,  905,  905,
-      180,  942,  942,  942,  942,  942,  942,  942,  942,  180,
-      943,  943,  943,  943,  943,  944,  941,  941,  107,  104,
-       93,   91,   89,  128,  813, 1085,  814,  814,  814,  814,
-      814,  814,  814,  814,  945, 1087,  946,  946,  946,  946,
-      946,  946,  946,  946,  945,  180,  947,  947,  947,  947,
-      947,  947,  947,  947,  958,   87,   86,   85,  813,  588,
-
-      814,  814,  814,  814,  814,  814,  814,  814,  945, 1190,
-      948,  948,  948,  948,  948,  949,  946,  946,  950, 1460,
-      951,  951,  951,  951,  951,  951,  951,  951,   85, 1190,
-     1460,   85,  913,  914,  915,  913,  913,  913,  913,  913,
-      916,  180, 1460, 1460,  917,  917,  917,  917,  917,  950,
-     1103,  952,  952,  952,  952,  952,  952,  952,  952, 1025,
-     1025, 1025, 1025, 1025, 1026,  917,  917,  917,  917,  917,
-      917,  412,  180,  921,  921,  921,  921,  921,  921,  921,
-      921,  922,  180, 1460, 1460,  923,  923,  923,  923,  923,
-      950, 1103,  953,  953,  953,  953,  953,  954,  951,  951,
-
-     1061, 1061, 1061, 1061, 1061, 1062,  923,  923,  923,  923,
-      923,  923,  564,  180,  928,  928,  928,  928,  928,  928,
-      928,  928,  929, 1460, 1460, 1460,  930,  930,  930,  930,
-      930,  960,  960,  960,  960,  960,  960,  960,  960,  978,
-      979,  980,  978,  978,  978,  978,  978,  930,  930,  930,
-      930,  930,  930,  755,  180,  935,  935,  935,  935,  935,
-      935,  935,  935,  936, 1460, 1460, 1460,  937,  937,  937,
-      937,  937, 1460, 1460,  959,  959,  959,  959,  959,  959,
-      959,  959, 1068, 1068, 1068, 1068, 1068, 1069,  937,  937,
-      937,  937,  937,  937,  956,  180,  957,  957,  957,  957,
-
-      957,  957,  957,  957,  958, 1460, 1460, 1460,  959,  959,
-      959,  959,  959,  866, 1460,  867,  867,  867,  867,  867,
-      867,  867,  867, 1090, 1090, 1090, 1090, 1090, 1091,  959,
-      959,  959,  959,  959,  959,  968,  969,  970,  968,  968,
-      968,  968,  968,  412,  180, 1460, 1460,  971,  971,  971,
-      971,  971,  866,  922,  867,  867,  867,  867,  867,  867,
-      867,  867, 1106, 1106, 1106, 1106, 1106, 1107,  971,  971,
-      971,  971,  971,  971,  973,  974,  975,  973,  973,  973,
-      973,  973, 1460,  180, 1460, 1460,  976,  976,  976,  976,
-      976,  866,  922,  867,  867,  867,  867,  867,  867,  981,
-
-      982,  983,  981,  981,  981,  981,  981,  976,  976,  976,
-      976,  976,  976,  672, 1460,  977,  977,  977,  977,  977,
-      977,  977,  977,  861,  871,  672,  872,  872,  872,  872,
-      872,  872,  872,  872,  871, 1233,  872,  872,  872,  872,
-      872,  872,  872,  872,  871, 1460,  872,  872,  872,  872,
-      872,  872,  984,  985,  986,  984,  984,  984,  984,  984,
-      988,  989,  990,  988,  988,  988,  988,  988,  564,  180,
-     1460, 1460,  991,  991,  991,  991,  991,  993,  929,  994,
-      994,  994,  994,  994,  994,  994,  994, 1460, 1460, 1460,
-     1460,  180, 1460,  991,  991,  991,  991,  991,  991,  877,
-
-      929,  992,  992,  992,  992,  992,  992,  992,  992,  879,
-      993, 1460,  995,  995,  995,  995,  995,  995,  995,  995,
-      993, 1233,  996,  996,  996,  996,  996,  997,  994,  994,
-      588,  877,  999,  999,  999,  999,  999,  999,  999,  999,
-     1000, 1240, 1460, 1460, 1001, 1001, 1001, 1001, 1001, 1002,
-     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1024, 1024, 1024,
-     1024, 1024, 1024, 1024, 1024, 1001, 1001, 1001, 1001, 1001,
-     1001, 1460, 1460, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
-     1001,  180,  893,  893,  893,  893,  893,  893,  893,  893,
-      180,  893,  893,  893,  893,  893,  893,  893,  893, 1006,
-
-     1007, 1008, 1006, 1006, 1006, 1006, 1006, 1460, 1460, 1460,
-     1460, 1009, 1009, 1009, 1009, 1009,  360,  180, 1010, 1010,
-     1010, 1010, 1010, 1010, 1460, 1460,  899, 1460, 1460, 1460,
-     1460, 1460, 1009, 1009, 1009, 1009, 1009, 1009,  360,  180,
-     1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010,  899, 1011,
-     1012, 1013, 1011, 1011, 1011, 1011, 1011, 1460,  904, 1460,
-      905,  905,  905,  905,  905,  905, 1460, 1240, 1023, 1023,
-     1023, 1023, 1023, 1023, 1023, 1023, 1460, 1460, 1460, 1460,
-      128,  904, 1460,  905,  905,  905,  905,  905,  905,  905,
-      905,  128,  412,  180, 1032, 1032, 1032, 1032, 1032, 1032,
-
-     1460, 1085,  922,  564,  180, 1035, 1035, 1035, 1035, 1035,
-     1035, 1247, 1460,  929,  128,  904, 1460,  905,  905,  905,
-      905,  905,  905,  905,  905,  755,  180, 1460,  180,  956,
-      180, 1460, 1460, 1460, 1460,  936, 1460,  936, 1460,  958,
-      755,  180, 1038, 1038, 1038, 1038, 1038, 1038,  128, 1014,
-      936, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,  180,
-      941,  941,  941,  941,  941,  941,  941,  941,  180,  941,
-      941,  941,  941,  941,  941,  941,  941, 1460, 1460, 1460,
-     1460, 1460,   85, 1014, 1460, 1016, 1016, 1016, 1016, 1016,
-     1016, 1016, 1016,  180,  941,  941,  941,  941,  941,  941,
-
-     1039, 1040, 1041, 1039, 1039, 1039, 1039, 1039,  945, 1460,
-      946,  946,  946,  946,  946,  946,   85, 1014, 1460, 1017,
-     1017, 1017, 1017, 1017, 1018, 1015, 1015,  945, 1247,  946,
-      946,  946,  946,  946,  946,  946,  946,  945, 1267,  946,
-      946,  946,  946,  946,  946,  946,  946, 1460, 1269, 1460,
-       85, 1020, 1460, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
-     1021, 1022, 1269, 1460, 1460, 1023, 1023, 1023, 1023, 1023,
-     1042, 1043, 1044, 1042, 1042, 1042, 1042, 1042,  950, 1460,
-      951,  951,  951,  951,  951,  951, 1023, 1023, 1023, 1023,
-     1023, 1023,  412,  180, 1032, 1032, 1032, 1032, 1032, 1032,
-
-     1032, 1032,  922,  564,  180, 1035, 1035, 1035, 1035, 1035,
-     1035, 1035, 1035,  929,  755,  180, 1038, 1038, 1038, 1038,
-     1038, 1038, 1038, 1038,  936,  950,  588,  951,  951,  951,
-      951,  951,  951,  951,  951,  950, 1190,  951,  951,  951,
-      951,  951,  951,  951,  951, 1045, 1046, 1047, 1045, 1045,
-     1045, 1045, 1045, 1460,  180, 1060, 1060, 1060, 1060, 1060,
-     1060, 1060, 1060,  958,  956,  180, 1050, 1050, 1050, 1050,
-     1050, 1050, 1050, 1050,  958,  956,  180, 1050, 1050, 1050,
-     1050, 1050, 1050, 1460, 1460,  958,  672, 1305, 1057, 1057,
-     1057, 1057, 1057, 1057, 1057, 1057, 1058, 1307, 1460, 1460,
-
-     1059, 1059, 1059, 1059, 1059, 1460, 1460, 1059, 1059, 1059,
-     1059, 1059, 1059, 1059, 1059, 1460, 1307, 1460,  360,  180,
-     1460, 1059, 1059, 1059, 1059, 1059, 1059,  877,  899, 1064,
-     1064, 1064, 1064, 1064, 1064, 1064, 1064, 1065, 1460, 1460,
-     1460, 1066, 1066, 1066, 1066, 1066, 1067, 1067, 1067, 1067,
-     1067, 1067, 1067, 1067, 1070, 1070, 1070, 1070, 1070, 1070,
-     1070, 1070, 1066, 1066, 1066, 1066, 1066, 1066, 1460, 1460,
-     1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1071, 1071,
-     1071, 1071, 1071, 1071, 1071, 1071, 1072, 1072, 1072, 1072,
-     1072, 1073, 1070, 1070, 1074,  672, 1075, 1075, 1075, 1075,
-
-     1075, 1075, 1075, 1075, 1074, 1233, 1076, 1076, 1076, 1076,
-     1076, 1076, 1076, 1076, 1074,  877, 1077, 1077, 1077, 1077,
-     1077, 1078, 1075, 1075, 1079, 1240, 1080, 1080, 1080, 1080,
-     1080, 1080, 1080, 1080, 1079, 1085, 1081, 1081, 1081, 1081,
-     1081, 1081, 1081, 1081, 1079, 1247, 1082, 1082, 1082, 1082,
-     1082, 1083, 1080, 1080, 1085, 1267, 1086, 1086, 1086, 1086,
-     1086, 1086, 1086, 1086, 1087, 1269, 1460, 1460, 1088, 1088,
-     1088, 1088, 1088, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
-     1089, 1092, 1093, 1094, 1092, 1092, 1092, 1092, 1092, 1088,
-     1088, 1088, 1088, 1088, 1088, 1460,  588, 1088, 1088, 1088,
-
-     1088, 1088, 1088, 1088, 1088,  993, 1338,  994,  994,  994,
-      994,  994,  994,  994,  994,  993, 1460,  994,  994,  994,
-      994,  994,  994,  994,  994,  993, 1338,  994,  994,  994,
-      994,  994,  994, 1096, 1097, 1098, 1096, 1096, 1096, 1096,
-     1096, 1460, 1460, 1460, 1460, 1099, 1099, 1099, 1099, 1099,
-     1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1116, 1117,
-     1118, 1116, 1116, 1116, 1116, 1116, 1099, 1099, 1099, 1099,
-     1099, 1099,  588, 1460, 1100, 1100, 1100, 1100, 1100, 1100,
-     1100, 1100, 1000,  360,  180, 1102, 1102, 1102, 1102, 1102,
-     1102, 1102, 1102, 1103, 1460, 1460, 1460, 1104, 1104, 1104,
-
-     1104, 1104, 1460, 1305, 1104, 1104, 1104, 1104, 1104, 1104,
-     1104, 1104, 1460, 1307, 1460,  412,  180, 1460, 1104, 1104,
-     1104, 1104, 1104, 1104, 1108,  922, 1109, 1109, 1109, 1109,
-     1109, 1109, 1109, 1109, 1460, 1460,  588, 1113, 1114, 1115,
-     1113, 1113, 1113, 1113, 1113, 1014, 1338, 1015, 1015, 1015,
-     1015, 1015, 1015, 1460, 1460, 1460, 1460,  128, 1108, 1460,
-     1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,   85,  564,
-      180,  755,  180, 1460, 1460, 1460, 1460, 1460,   85,  929,
-     1460,  936,  180, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
-     1132,  128, 1108, 1460, 1111, 1111, 1111, 1111, 1111, 1112,
-
-     1109, 1109,  180, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
-     1133,  180, 1134, 1134, 1134, 1134, 1134, 1135, 1132, 1132,
-     1460, 1460, 1460, 1460, 1460,  128, 1014, 1460, 1015, 1015,
-     1015, 1015, 1015, 1015, 1015, 1015, 1136, 1460, 1137, 1137,
-     1137, 1137, 1137, 1137, 1137, 1137, 1136, 1460, 1138, 1138,
-     1138, 1138, 1138, 1138, 1138, 1138, 1460, 1460, 1460,   85,
-     1014, 1460, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
-     1136, 1460, 1139, 1139, 1139, 1139, 1139, 1140, 1137, 1137,
-     1141, 1460, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
-     1460, 1460, 1460,   85, 1020, 1460, 1122, 1122, 1122, 1122,
-
-     1122, 1122, 1122, 1122, 1022, 1141, 1460, 1143, 1143, 1143,
-     1143, 1143, 1143, 1143, 1143, 1141, 1460, 1144, 1144, 1144,
-     1144, 1144, 1145, 1142, 1142,  956,  180, 1070, 1070, 1070,
-     1070, 1070, 1070, 1070, 1070,  958, 1153, 1154, 1155, 1153,
-     1153, 1153, 1153, 1153, 1460, 1460, 1460, 1460, 1156, 1156,
-     1156, 1156, 1156, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
-     1070, 1070, 1070, 1070, 1070, 1070, 1070, 1460, 1460, 1156,
-     1156, 1156, 1156, 1156, 1156, 1158, 1159, 1160, 1158, 1158,
-     1158, 1158, 1158, 1460, 1460, 1460, 1460, 1161, 1161, 1161,
-     1161, 1161, 1169, 1170, 1171, 1169, 1169, 1169, 1169, 1169,
-
-     1074, 1460, 1075, 1075, 1075, 1075, 1075, 1075, 1161, 1161,
-     1161, 1161, 1161, 1161,  672, 1460, 1162, 1162, 1162, 1162,
-     1162, 1162, 1162, 1162, 1058, 1164, 1165, 1166, 1164, 1164,
-     1164, 1164, 1164,  360,  180, 1460, 1460, 1167, 1167, 1167,
-     1167, 1167, 1074, 1103, 1075, 1075, 1075, 1075, 1075, 1075,
-     1075, 1075, 1193, 1193, 1193, 1193, 1193, 1194, 1167, 1167,
-     1167, 1167, 1167, 1167,  877, 1460, 1168, 1168, 1168, 1168,
-     1168, 1168, 1168, 1168, 1065, 1074, 1460, 1075, 1075, 1075,
-     1075, 1075, 1075, 1075, 1075, 1172, 1173, 1174, 1172, 1172,
-     1172, 1172, 1172, 1079, 1460, 1080, 1080, 1080, 1080, 1080,
-
-     1080, 1080, 1080, 1079, 1460, 1080, 1080, 1080, 1080, 1080,
-     1080, 1080, 1080, 1079, 1460, 1080, 1080, 1080, 1080, 1080,
-     1080, 1175, 1176, 1177, 1175, 1175, 1175, 1175, 1175, 1179,
-     1180, 1181, 1179, 1179, 1179, 1179, 1179, 1460, 1460, 1460,
-     1460, 1182, 1182, 1182, 1182, 1182, 1184, 1184, 1184, 1184,
-     1184, 1184, 1184, 1184, 1185, 1185, 1185, 1185, 1185, 1185,
-     1185, 1185, 1182, 1182, 1182, 1182, 1182, 1182, 1085, 1460,
-     1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1087, 1186,
-     1186, 1186, 1186, 1186, 1187, 1184, 1184,  588, 1460, 1189,
-     1189, 1189, 1189, 1189, 1189, 1189, 1189, 1190, 1460, 1460,
-
-     1460, 1191, 1191, 1191, 1191, 1191, 1192, 1192, 1192, 1192,
-     1192, 1192, 1192, 1192, 1460, 1460, 1460, 1460, 1460, 1460,
-      180, 1460, 1191, 1191, 1191, 1191, 1191, 1191, 1460, 1103,
-     1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,  360,  180,
-     1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1103,  360,
-      180, 1197, 1197, 1197, 1197, 1197, 1197, 1460, 1460, 1103,
-     1198, 1199, 1200, 1198, 1198, 1198, 1198, 1198, 1460, 1108,
-     1460, 1109, 1109, 1109, 1109, 1109, 1109, 1201, 1201, 1201,
-     1201, 1201, 1201, 1201, 1201, 1236, 1236, 1236, 1236, 1236,
-     1237,  128, 1108, 1460, 1109, 1109, 1109, 1109, 1109, 1109,
-
-     1109, 1109,  128, 1460, 1460, 1460, 1460, 1460,   85, 1113,
-     1113, 1113, 1113, 1113, 1113, 1113, 1113, 1202, 1202, 1202,
-     1202, 1202, 1203, 1201, 1201,  128, 1108, 1460, 1109, 1109,
-     1109, 1109, 1109, 1109, 1109, 1109, 1460, 1460, 1460, 1136,
-       85, 1137, 1137, 1137, 1137, 1137, 1137, 1204,   85, 1205,
-     1205, 1205, 1205, 1205, 1205, 1205, 1205, 1460, 1204,  128,
-     1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1204, 1460,
-     1207, 1207, 1207, 1207, 1207, 1208, 1205, 1205,  180, 1132,
-     1132, 1132, 1132, 1132, 1132, 1132, 1132,  180, 1132, 1132,
-     1132, 1132, 1132, 1132, 1132, 1132,  180, 1132, 1132, 1132,
-
-     1132, 1132, 1132, 1216, 1217, 1218, 1216, 1216, 1216, 1216,
-     1216, 1136, 1460, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
-     1137, 1136, 1460, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
-     1137, 1219, 1220, 1221, 1219, 1219, 1219, 1219, 1219, 1141,
-     1460, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1141,
-     1460, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1141,
-     1460, 1142, 1142, 1142, 1142, 1142, 1142, 1224, 1225, 1226,
-     1224, 1224, 1224, 1224, 1224, 1227, 1460, 1460, 1460, 1228,
-     1228, 1228, 1228, 1228, 1235, 1235, 1235, 1235, 1235, 1235,
-     1235, 1235, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
-
-     1228, 1228, 1228, 1228, 1228, 1228,  672, 1460, 1232, 1232,
-     1232, 1232, 1232, 1232, 1232, 1232, 1233, 1460, 1460, 1460,
-     1234, 1234, 1234, 1234, 1234, 1460, 1460, 1234, 1234, 1234,
-     1234, 1234, 1234, 1234, 1234, 1243, 1243, 1243, 1243, 1243,
-     1244, 1234, 1234, 1234, 1234, 1234, 1234,  877, 1460, 1239,
-     1239, 1239, 1239, 1239, 1239, 1239, 1239, 1240, 1460, 1460,
-     1460, 1241, 1241, 1241, 1241, 1241, 1460, 1460, 1241, 1241,
-     1241, 1241, 1241, 1241, 1241, 1241, 1250, 1250, 1250, 1250,
-     1250, 1251, 1241, 1241, 1241, 1241, 1241, 1241, 1085, 1460,
-     1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1247, 1460,
-
-     1460, 1460, 1248, 1248, 1248, 1248, 1248, 1249, 1249, 1249,
-     1249, 1249, 1249, 1249, 1249, 1252, 1252, 1252, 1252, 1252,
-     1252, 1252, 1252, 1248, 1248, 1248, 1248, 1248, 1248, 1460,
-     1460, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1253,
-     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1254, 1254, 1254,
-     1254, 1254, 1255, 1252, 1252, 1256, 1460, 1257, 1257, 1257,
-     1257, 1257, 1257, 1257, 1257, 1256, 1460, 1258, 1258, 1258,
-     1258, 1258, 1258, 1258, 1258, 1256, 1460, 1259, 1259, 1259,
-     1259, 1259, 1260, 1257, 1257, 1261, 1460, 1262, 1262, 1262,
-     1262, 1262, 1262, 1262, 1262, 1261, 1460, 1263, 1263, 1263,
-
-     1263, 1263, 1263, 1263, 1263, 1261, 1460, 1264, 1264, 1264,
-     1264, 1264, 1265, 1262, 1262, 1267, 1460, 1268, 1268, 1268,
-     1268, 1268, 1268, 1268, 1268, 1269, 1460, 1460, 1460, 1270,
-     1270, 1270, 1270, 1270, 1271, 1271, 1271, 1271, 1271, 1271,
-     1271, 1271, 1272, 1272, 1272, 1272, 1272, 1273, 1460, 1460,
-     1270, 1270, 1270, 1270, 1270, 1270, 1460, 1460, 1270, 1270,
-     1270, 1270, 1270, 1270, 1270, 1270, 1184, 1184, 1184, 1184,
-     1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
-     1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1275, 1276,
-     1277, 1275, 1275, 1275, 1275, 1275,  360,  180, 1460, 1460,
-
-     1278, 1278, 1278, 1278, 1278, 1460, 1103, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1310, 1310, 1310, 1310, 1310,
-     1311, 1278, 1278, 1278, 1278, 1278, 1278,  588, 1460, 1279,
-     1279, 1279, 1279, 1279, 1279, 1279, 1279, 1190,  128, 1198,
-     1198, 1198, 1198, 1198, 1198, 1198, 1198, 1283, 1283, 1283,
-     1283, 1283, 1284, 1282, 1282, 1201, 1201, 1201, 1201, 1201,
-     1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1204,
-      128, 1205, 1205, 1205, 1205, 1205, 1205, 1460,  128, 1252,
-     1252, 1252, 1252, 1252, 1252, 1256,   85, 1257, 1257, 1257,
-     1257, 1257, 1257, 1460,   85, 1285, 1286, 1287, 1285, 1285,
-
-     1285, 1285, 1285, 1204, 1460, 1205, 1205, 1205, 1205, 1205,
-     1205, 1205, 1205, 1204, 1460, 1205, 1205, 1205, 1205, 1205,
-     1205, 1205, 1205,  180, 1294, 1294, 1294, 1294, 1294, 1294,
-     1294, 1294,  180, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
-     1295,  180, 1296, 1296, 1296, 1296, 1296, 1297, 1294, 1294,
-     1298, 1460, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-     1298, 1460, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
-     1298, 1460, 1301, 1301, 1301, 1301, 1301, 1302, 1299, 1299,
-     1305, 1460, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306,
-     1307, 1460, 1460, 1460, 1308, 1308, 1308, 1308, 1308, 1309,
-
-     1309, 1309, 1309, 1309, 1309, 1309, 1309, 1252, 1252, 1252,
-     1252, 1252, 1252, 1252, 1252, 1308, 1308, 1308, 1308, 1308,
-     1308, 1460, 1460, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
-     1308,  672, 1460, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
-     1317, 1233,  877, 1460, 1320, 1320, 1320, 1320, 1320, 1320,
-     1320, 1320, 1240, 1085, 1460, 1323, 1323, 1323, 1323, 1323,
-     1323, 1323, 1323, 1247, 1252, 1252, 1252, 1252, 1252, 1252,
-     1252, 1252, 1324, 1325, 1326, 1324, 1324, 1324, 1324, 1324,
-     1256, 1460, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
-     1256, 1460, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
-
-     1327, 1328, 1329, 1327, 1327, 1327, 1327, 1327, 1261, 1460,
-     1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1261, 1460,
-     1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1261, 1460,
-     1262, 1262, 1262, 1262, 1262, 1262, 1330, 1331, 1332, 1330,
-     1330, 1330, 1330, 1330, 1267, 1460, 1335, 1335, 1335, 1335,
-     1335, 1335, 1335, 1335, 1269,  588, 1460, 1337, 1337, 1337,
-     1337, 1337, 1337, 1337, 1337, 1338, 1460, 1460, 1460, 1339,
-     1339, 1339, 1339, 1339, 1340, 1340, 1340, 1340, 1340, 1340,
-     1340, 1340, 1341, 1341, 1341, 1341, 1341, 1342, 1460, 1460,
-     1339, 1339, 1339, 1339, 1339, 1339, 1460, 1460, 1339, 1339,
-
-     1339, 1339, 1339, 1339, 1339, 1339, 1282, 1282, 1282, 1282,
-     1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
-     1344, 1460, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345,
-      180, 1294, 1294, 1294, 1294, 1294, 1294,  128, 1368, 1368,
-     1368, 1368, 1368, 1368, 1344,  128, 1346, 1346, 1346, 1346,
-     1346, 1346, 1346, 1346, 1344, 1460, 1347, 1347, 1347, 1347,
-     1347, 1348, 1345, 1345,  180, 1294, 1294, 1294, 1294, 1294,
-     1294, 1294, 1294,  180, 1294, 1294, 1294, 1294, 1294, 1294,
-     1294, 1294, 1349, 1350, 1351, 1349, 1349, 1349, 1349, 1349,
-     1298, 1460, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-
-     1298, 1460, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-     1298, 1460, 1299, 1299, 1299, 1299, 1299, 1299, 1352, 1353,
-     1354, 1352, 1352, 1352, 1352, 1352, 1305, 1460, 1358, 1358,
-     1358, 1358, 1358, 1358, 1358, 1358, 1307, 1368, 1368, 1368,
-     1368, 1368, 1368, 1368, 1368, 1369, 1369, 1369, 1369, 1369,
-     1369, 1369, 1369, 1370, 1370, 1370, 1370, 1370, 1371, 1368,
-     1368, 1372, 1460, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
-     1373, 1372, 1460, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
-     1374, 1372, 1460, 1375, 1375, 1375, 1375, 1375, 1376, 1373,
-     1373, 1377, 1460, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
-
-     1378, 1377, 1460, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
-     1379, 1377, 1460, 1380, 1380, 1380, 1380, 1380, 1381, 1378,
-     1378,  588, 1460, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
-     1386, 1338, 1388, 1389, 1390, 1388, 1388, 1388, 1388, 1388,
-     1344, 1460, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345,
-     1344, 1460, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345,
-     1344, 1460, 1345, 1345, 1345, 1345, 1345, 1345,  180, 1391,
-     1391, 1391, 1391, 1391, 1391, 1391, 1391,  180, 1392, 1392,
-     1392, 1392, 1392, 1392, 1392, 1392,  180, 1393, 1393, 1393,
-     1393, 1393, 1394, 1391, 1391, 1395, 1460, 1396, 1396, 1396,
-
-     1396, 1396, 1396, 1396, 1396, 1395, 1460, 1397, 1397, 1397,
-     1397, 1397, 1397, 1397, 1397, 1395, 1460, 1398, 1398, 1398,
-     1398, 1398, 1399, 1396, 1396, 1368, 1368, 1368, 1368, 1368,
-     1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
-     1368, 1407, 1408, 1409, 1407, 1407, 1407, 1407, 1407, 1372,
-     1460, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1372,
-     1460, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1372,
-     1460, 1373, 1373, 1373, 1373, 1373, 1373, 1410, 1411, 1412,
-     1410, 1410, 1410, 1410, 1410, 1377, 1460, 1378, 1378, 1378,
-     1378, 1378, 1378, 1378, 1378, 1377, 1460, 1378, 1378, 1378,
-
-     1378, 1378, 1378, 1378, 1378, 1377, 1460, 1378, 1378, 1378,
-     1378, 1378, 1378,  180, 1416, 1416, 1416, 1416, 1416, 1416,
-     1416, 1416,  180, 1417, 1417, 1417, 1417, 1417, 1417, 1417,
-     1417,  180, 1418, 1418, 1418, 1418, 1418, 1419, 1416, 1416,
-      180, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391,  180,
-     1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391,  180, 1391,
-     1391, 1391, 1391, 1391, 1391, 1420, 1421, 1422, 1420, 1420,
-     1420, 1420, 1420, 1395, 1460, 1396, 1396, 1396, 1396, 1396,
-     1396, 1396, 1396, 1395, 1460, 1396, 1396, 1396, 1396, 1396,
-     1396, 1396, 1396, 1395, 1460, 1396, 1396, 1396, 1396, 1396,
-
-     1396, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1430,
-     1430, 1430, 1430, 1430, 1430, 1430, 1430, 1431, 1431, 1431,
-     1431, 1431, 1432, 1429, 1429, 1433, 1460, 1434, 1434, 1434,
-     1434, 1434, 1434, 1434, 1434, 1433, 1460, 1435, 1435, 1435,
-     1435, 1435, 1435, 1435, 1435, 1433, 1460, 1436, 1436, 1436,
-     1436, 1436, 1437, 1434, 1434,  180, 1416, 1416, 1416, 1416,
-     1416, 1416, 1416, 1416,  180, 1416, 1416, 1416, 1416, 1416,
-     1416, 1416, 1416,  180, 1416, 1416, 1416, 1416, 1416, 1416,
-     1440, 1460, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441,
-     1440, 1460, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
-
-     1440, 1460, 1443, 1443, 1443, 1443, 1443, 1444, 1441, 1441,
-     1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429,
-     1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429,
-     1429, 1429, 1445, 1446, 1447, 1445, 1445, 1445, 1445, 1445,
-     1433, 1460, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434,
-     1433, 1460, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434,
-     1433, 1460, 1434, 1434, 1434, 1434, 1434, 1434, 1449, 1450,
-     1451, 1449, 1449, 1449, 1449, 1449, 1440, 1460, 1441, 1441,
-     1441, 1441, 1441, 1441, 1441, 1441, 1440, 1460, 1441, 1441,
-     1441, 1441, 1441, 1441, 1441, 1441, 1440, 1460, 1441, 1441,
-
-     1441, 1441, 1441, 1441, 1452, 1452, 1452, 1452, 1452, 1452,
-     1452, 1452, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
-     1454, 1454, 1454, 1454, 1454, 1455, 1452, 1452, 1456, 1456,
-     1456, 1456, 1456, 1456, 1456, 1456, 1457, 1457, 1457, 1457,
-     1457, 1457, 1457, 1457, 1458, 1458, 1458, 1458, 1458, 1459,
-     1456, 1456, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
-     1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
-     1452, 1452, 1452, 1452, 1456, 1456, 1456, 1456, 1456, 1456,
-     1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456,
-     1456, 1456, 1456, 1456, 1456, 1456,   69,   69,   69,   69,
-
-       69,   69,   69,   69,   69,   69,   69,   21,   21,   21,
-       21,   21,   21,   21,   21,   21,   21,   21,   77,   77,
-       77,   77,   77,   77,   77,   77,   77,   77,   77,   84,
-     1460, 1460, 1460,   84,   84,   84, 1460,   84,   84,   84,
-       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
-       88,   90, 1460, 1460, 1460,   90,   90,   90, 1460,   90,
-       90,   90,   92, 1460, 1460, 1460,   92,   92,   92, 1460,
-       92,   92,   92,   94, 1460,   94, 1460,   94,   94,   94,
-     1460,   94,   94,   94,  127, 1460, 1460, 1460,  127,  127,
-      127, 1460,  127,  127,  127,  130, 1460, 1460, 1460,  130,
-
-      130,  130, 1460,  130,  130,  130,  132, 1460, 1460, 1460,
-      132,  132,  132, 1460,  132,  132,  132,  134, 1460,  134,
-     1460,  134,  134,  134, 1460,  134,  134,  134,  152, 1460,
-      152, 1460,  152,  152,  152, 1460,  152,  152,  152,  156,
-     1460,  156,  156,  156,  156,  156, 1460, 1460,  156,  156,
-      162,  162,  163, 1460,  163, 1460,  163,  163,  163,  163,
-      163,  163,  163,  165,  165,  165,  165,  165,  165,  165,
-      165,  165,  165,  165,  170,  170,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,   95, 1460,   95, 1460,   95,
-       95,   95, 1460,   95,   95,   95,  177,  177, 1460, 1460,
-
-      177,  181,  181, 1460, 1460, 1460,  181,  153, 1460,  153,
-     1460,  153,  153,  153, 1460,  153,  153,  153,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  231,
-      231, 1460, 1460,  231,  242,  242,  242, 1460, 1460,  242,
-      284,  284, 1460, 1460,  284,  285,  285, 1460, 1460,  285,
-      294,  294, 1460, 1460,  294,  300,  300,  300, 1460, 1460,
-      300,  338,  338, 1460, 1460,  338,  339,  339, 1460, 1460,
-      339,  348,  348,  348,  348, 1460, 1460,  348,  354,  354,
-     1460, 1460,  354,  355,  355, 1460, 1460,  355,  358, 1460,
-     1460, 1460,  358,  359,  359,  359, 1460, 1460,  359,  397,
-
-      397, 1460, 1460,  397,  398,  398, 1460, 1460,  398,  411,
-      411,  411, 1460, 1460,  411,  419,  419, 1460, 1460,  419,
-      420,  420, 1460, 1460,  420,  426,  426, 1460, 1460,  426,
-      431,  431,  431,  431, 1460, 1460,  431,  467,  467, 1460,
-     1460,  467,  468,  468, 1460, 1460,  468,  470,  470, 1460,
-     1460, 1460,  470,  471,  471,  471,  471, 1460, 1460,  471,
-      483,  483,  483,  483, 1460, 1460,  483,  489,  489, 1460,
-     1460,  489,  490,  490, 1460, 1460,  490,  499,  499, 1460,
-     1460,  499,  509,  509,  509, 1460, 1460,  509,  541,  541,
-     1460, 1460,  541,  542,  542, 1460, 1460,  542,  544,  544,
-
-      544, 1460, 1460,  544,  546,  546,  546, 1460, 1460,  546,
-      563,  563,  563, 1460, 1460,  563,  571,  571, 1460, 1460,
-      571,  572,  572, 1460, 1460,  572,  581, 1460,  581,  581,
-     1460, 1460,  581,  587,  587, 1460, 1460,  587,  598,  598,
-      598,  598, 1460, 1460,  598,   88,   88,   88,   88,   88,
-       88,   88,   88,   88,   88,   88,  127, 1460, 1460, 1460,
-      127,  127,  127, 1460,  127,  127,  127,  627,  627, 1460,
-     1460,  627,  628,  628, 1460, 1460,  628,  630,  630, 1460,
-     1460, 1460,  630,  631,  631,  631, 1460, 1460,  631,  636,
-      636,  636,  636, 1460, 1460,  636,  651,  651,  651,  651,
-
-     1460, 1460,  651,  657,  657, 1460, 1460,  657,  658,  658,
-     1460, 1460,  658,  671,  671, 1460, 1460,  671,  682, 1460,
-      682,  682, 1460, 1460,  682,  693,  693,  693, 1460, 1460,
-      693,   88,   88,   88,   88,   88,   88,   88,   88,   88,
-       88,   88,   84, 1460, 1460, 1460,   84,   84,   84, 1460,
-       84,   84,   84,  705, 1460, 1460, 1460,  705,  705,  705,
-     1460,  705,  705,  705,  707, 1460, 1460, 1460,  707,  707,
-      707, 1460,  707,  707,  707,  127, 1460, 1460, 1460,  127,
-      127,  127, 1460,  127,  127,  127,  721,  721, 1460, 1460,
-      721,  722,  722, 1460, 1460,  722,  724,  724,  724, 1460,
-
-     1460,  724,  726,  726,  726, 1460, 1460,  726,  733,  733,
-      733, 1460, 1460,  733,  754,  754,  754, 1460, 1460,  754,
-      762,  762, 1460, 1460,  762,  763,  763, 1460, 1460,  763,
-      765, 1460, 1460, 1460,  765,  766, 1460,  766,  766, 1460,
-     1460,  766,  778, 1460,  778,  778, 1460, 1460,  778,  789,
-      789, 1460, 1460,  789,  799,  799,  799,  799, 1460, 1460,
-      799,  806,  806,  806,  806,  806,  806,  806,  806,  806,
-      806,  806,   84, 1460, 1460, 1460,   84,   84,   84, 1460,
-       84,   84,   84,  705, 1460, 1460, 1460,  705,  705,  705,
-     1460,  705,  705,  705,  707, 1460, 1460, 1460,  707,  707,
-
-      707, 1460,  707,  707,  707,  127, 1460, 1460, 1460,  127,
-      127,  127, 1460,  127,  127,  127,  818,  818, 1460, 1460,
-      818,  819,  819, 1460, 1460,  819,  821,  821, 1460, 1460,
-     1460,  821,  822,  822,  822, 1460, 1460,  822,  827,  827,
-      827,  827, 1460, 1460,  827,  833,  833,  833,  833, 1460,
-     1460,  833,  848,  848,  848,  848, 1460, 1460,  848,  854,
-      854, 1460, 1460,  854,  855,  855, 1460, 1460,  855,  857,
-      857, 1460, 1460,  857,  859,  859, 1460, 1460,  859,  876,
-      876, 1460, 1460,  876,  887, 1460,  887,  887, 1460, 1460,
-      887,  897,  897,  897, 1460, 1460,  897,  806,  806,  806,
-
-      806,  806,  806,  806,  806,  806,  806,  806,  127, 1460,
-     1460, 1460,  127,  127,  127, 1460,  127,  127,  127,   84,
-     1460, 1460, 1460,   84,   84,   84, 1460,   84,   84,   84,
-      912,  912, 1460, 1460,  912,  918,  918,  918, 1460, 1460,
-      918,  920,  920,  920, 1460, 1460,  920,  927,  927,  927,
-     1460, 1460,  927,  934,  934,  934, 1460, 1460,  934,  955,
-      955,  955, 1460, 1460,  955,  963,  963, 1460, 1460,  963,
-      964,  964, 1460, 1460,  964,  966, 1460, 1460, 1460,  966,
-      967,  967, 1460, 1460,  967,  972, 1460,  972,  972, 1460,
-     1460,  972,  987, 1460,  987,  987, 1460, 1460,  987,  998,
-
-      998, 1460, 1460,  998, 1005, 1005, 1005, 1005, 1460, 1460,
-     1005,  127, 1460, 1460, 1460,  127,  127,  127, 1460,  127,
-      127,  127,   84, 1460, 1460, 1460,   84,   84,   84, 1460,
-       84,   84,   84, 1019, 1019, 1460, 1460, 1019, 1027, 1027,
-     1460, 1460, 1460, 1027, 1028, 1028, 1028, 1460, 1460, 1028,
-     1029, 1460, 1460, 1460, 1029, 1030, 1030, 1030, 1030, 1460,
-     1460, 1030, 1031, 1460, 1460, 1460, 1031, 1033, 1033, 1033,
-     1033, 1460, 1460, 1033, 1034, 1460, 1460, 1460, 1034, 1036,
-     1036, 1036, 1036, 1460, 1460, 1036, 1037, 1460, 1460, 1460,
-     1037, 1048, 1048, 1048, 1048, 1460, 1460, 1048, 1049, 1460,
-
-     1460, 1460, 1049, 1051, 1051, 1460, 1460, 1051, 1052, 1052,
-     1460, 1460, 1052, 1054, 1054, 1460, 1460, 1054, 1056, 1056,
-     1460, 1460, 1056, 1063, 1063, 1460, 1460, 1063, 1084, 1084,
-     1460, 1460, 1084, 1095, 1460, 1095, 1095, 1460, 1460, 1095,
-     1101, 1101, 1101, 1460, 1460, 1101,  127, 1460, 1460, 1460,
-      127,  127,  127, 1460,  127,  127,  127,   84, 1460, 1460,
-     1460,   84,   84,   84, 1460,   84,   84,   84, 1119, 1460,
-     1119, 1119, 1460, 1460, 1119, 1120, 1120, 1460, 1460, 1120,
-     1123, 1123, 1460, 1460, 1460, 1123, 1124, 1124, 1124, 1460,
-     1460, 1124, 1125, 1125, 1460, 1460, 1460, 1125, 1126, 1126,
-
-     1126, 1460, 1460, 1126, 1127, 1127, 1460, 1460, 1460, 1127,
-     1128, 1128, 1128, 1460, 1460, 1128, 1129, 1129, 1460, 1460,
-     1460, 1129, 1130, 1130, 1130, 1460, 1460, 1130, 1131, 1131,
-     1460, 1460, 1460, 1131, 1146, 1146, 1146, 1460, 1460, 1146,
-     1147, 1147, 1460, 1460, 1460, 1147, 1148, 1148, 1460, 1460,
-     1148, 1149, 1149, 1460, 1460, 1149, 1151, 1460, 1460, 1460,
-     1151, 1152, 1152, 1460, 1460, 1152, 1157, 1460, 1157, 1157,
-     1460, 1460, 1157, 1163, 1460, 1163, 1163, 1460, 1460, 1163,
-     1178, 1460, 1178, 1178, 1460, 1460, 1178, 1188, 1188, 1460,
-     1460, 1188, 1195, 1195, 1195, 1195, 1460, 1460, 1195, 1196,
-
-     1460, 1460, 1460, 1196,  127, 1460, 1460, 1460,  127,  127,
-      127, 1460,  127,  127,  127,   84, 1460, 1460, 1460,   84,
-       84,   84, 1460,   84,   84,   84, 1209, 1209, 1460, 1460,
-     1209, 1210, 1210, 1460, 1460, 1460, 1210, 1211, 1211, 1460,
-     1460, 1460, 1211, 1212, 1212, 1460, 1460, 1460, 1212, 1213,
-     1213, 1460, 1460, 1460, 1213, 1214, 1214, 1460, 1460, 1460,
-     1214, 1215, 1215, 1460, 1460, 1460, 1215, 1222, 1222, 1460,
-     1460, 1460, 1222, 1223, 1223, 1460, 1460, 1223, 1229, 1229,
-     1460, 1460, 1229, 1231, 1231, 1460, 1460, 1231, 1238, 1238,
-     1460, 1460, 1238, 1245, 1245, 1460, 1460, 1245, 1266, 1266,
-
-     1460, 1460, 1266, 1274, 1460, 1274, 1274, 1460, 1460, 1274,
-     1280, 1280, 1280, 1460, 1460, 1280, 1281, 1281, 1460, 1460,
-     1460, 1281,  127, 1460, 1460, 1460,  127,  127,  127, 1460,
-      127,  127,  127,   84, 1460, 1460, 1460,   84,   84,   84,
-     1460,   84,   84,   84, 1288, 1288, 1460, 1460, 1460, 1288,
-     1289, 1289, 1460, 1460, 1460, 1289, 1290, 1290, 1460, 1460,
-     1460, 1290, 1291, 1291, 1460, 1460, 1460, 1291, 1292, 1292,
-     1460, 1460, 1460, 1292, 1293, 1293, 1460, 1460, 1460, 1293,
-     1303, 1303, 1460, 1460, 1460, 1303, 1304, 1304, 1460, 1460,
-     1304, 1312, 1460, 1460, 1460, 1312, 1313, 1313, 1460, 1460,
-
-     1313, 1314, 1460, 1460, 1460, 1314, 1315, 1460, 1315, 1315,
-     1460, 1460, 1315, 1316, 1460, 1460, 1460, 1316, 1318, 1460,
-     1318, 1318, 1460, 1460, 1318, 1319, 1460, 1460, 1460, 1319,
-     1321, 1460, 1321, 1321, 1460, 1460, 1321, 1322, 1460, 1460,
-     1460, 1322, 1333, 1460, 1333, 1333, 1460, 1460, 1333, 1334,
-     1460, 1460, 1460, 1334, 1336, 1336, 1460, 1460, 1336, 1343,
-     1343, 1460, 1460, 1460, 1343,  127, 1460, 1460, 1460,  127,
-      127,  127, 1460,  127,  127,  127, 1121, 1121, 1460, 1460,
-     1460, 1121, 1355, 1460, 1355, 1355, 1460, 1460, 1355, 1356,
-     1356, 1460, 1460, 1356, 1359, 1460, 1460, 1460, 1359, 1360,
-
-     1360, 1460, 1460, 1360, 1361, 1460, 1460, 1460, 1361, 1362,
-     1362, 1460, 1460, 1362, 1363, 1460, 1460, 1460, 1363, 1364,
-     1364, 1460, 1460, 1364, 1365, 1460, 1460, 1460, 1365, 1366,
-     1366, 1460, 1460, 1366, 1367, 1460, 1460, 1460, 1367, 1382,
-     1382, 1460, 1460, 1382, 1383, 1460, 1460, 1460, 1383, 1384,
-     1460, 1384, 1384, 1460, 1460, 1384, 1385, 1460, 1460, 1460,
-     1385, 1387, 1387, 1460, 1460, 1460, 1387, 1400, 1400, 1460,
-     1460, 1400, 1401, 1460, 1460, 1460, 1401, 1402, 1460, 1460,
-     1460, 1402, 1403, 1460, 1460, 1460, 1403, 1404, 1460, 1460,
-     1460, 1404, 1405, 1460, 1460, 1460, 1405, 1406, 1460, 1460,
-
-     1460, 1406, 1413, 1460, 1460, 1460, 1413, 1414, 1414, 1460,
-     1460, 1414, 1415, 1460, 1460, 1460, 1415, 1423, 1460, 1460,
-     1460, 1423, 1424, 1460, 1460, 1460, 1424, 1425, 1460, 1460,
-     1460, 1425, 1426, 1460, 1460, 1460, 1426, 1427, 1460, 1460,
-     1460, 1427, 1428, 1460, 1460, 1460, 1428, 1438, 1460, 1460,
-     1460, 1438, 1439, 1460, 1460, 1460, 1439, 1357, 1460, 1460,
-     1460, 1357, 1448, 1460, 1460, 1460, 1448,   13, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460
+       30,   31,   32,   32,   33,   32,   34,   32,   35,   32,
+       32,   32,   32,   32,   36,   14,   37,   37,   37,   37,
+       37,   37,   14,   14,   14,   14,   14,   14,   14,   38,
+       14,   14,   39,   83,   83,  252,   40,   99,   99,   99,
+       99,   99,   99,   99,   99,  100,  100,  100,  100,  100,
+      101,  111,  136,  136,  136,  136,  136,  136,  136,  136,
+       41,   42,  157,  110,   43,  167,  110, 1408,   44,  157,
+
+      110,   45,   46,   15,   16,   17,   46,   47,   48,   21,
+       49,   46,   50,   23,   46,   46,   51,   52,   53,   54,
+       52,   52,   52,   52,   52,   28,   29,   21,   46,   55,
+       55,   55,   55,   56,   57,   57,   58,   57,   59,   57,
+       60,   57,   57,   57,   57,   57,   61,   46,   62,   62,
+       62,   62,   62,   62,   46,   46,   46,   46,   46,   46,
+       46,   63,   46,   46,   64,   64,  164,   87,   21,   21,
+       21,   21,   15,   68,   69,   93,   70,   65,   65,   93,
+       93,  112,   71,   15,   68,   69,  160,   70,   87,   83,
+      125,   83,  165,   71,   71,   70,   83,   93,  137,  137,
+
+      137,  137,  137,  138,  194,   71,   70,  146,  151,  113,
+      114,  250,  160,  115,  180,   72,   94,  116,  118,  181,
+      117,  182,   66,   66,  157,  110,   72,   15,   16,   17,
+       82,   18,   98,   98,   98,   98,   98,   98,   98,   98,
+      126, 1401,  191,  126,  126,  126,  126,  126,  126,  126,
+      126,  124,  360,  135,  135,  135,  135,  135,  135,  135,
+      135,  175,  175,  175,  175,  175,  175,  175,  175,   83,
+       73,   74,   74,   74,   74,   74,   74,   74,   74,   74,
+       74,   74,   74,   74,   74,   74,   74,   74,   15,   16,
+       17,   82,   18,   82,   83,   82,   83,   82,   82,  185,
+
+       88,   82,   88,   83,   88,   97,   88,   88,  192,  196,
+       88,  157,  110,   82,   82,   82,  175,  175,  175,  175,
+      175,  175,   88,   88,   88,   82,   83,  157,  110,   87,
+      176,   73,   74,   74,   74,   74,   74,   74,   74,   74,
+       74,   74,   74,   74,   74,   74,   74,   74,   74,   15,
+       16,   17,   76,   18,   83,   83,  176,   93,   77,   78,
+       79,   93,   93,  193,  149,  235,  204,  195,  149,  149,
+      125,  205,   80,  206,  213,  249, 1306,  162,  162,   93,
+      159,  162,  268, 1275,   93,  125,  149,  162,   93,   93,
+      209,   97,   81,   15,   16,   17,   76,   18,  132,  112,
+
+      162, 1363,   77,   78,   79,  150,   93,  154,  110,  155,
+       83,  156,  125,   83,  214,  155,   80,  156,  211,   83,
+      163,  125,  214,  243,  162,   94,  215,  113,  114,  156,
+      156,  115,   83,  250,  266,  116,   81,   95,  117,   96,
+       96,   96,   96,   96,   96,   96,   96,   97,  250,   87,
+      156,   98,   98,   98,   98,   98,   83,  293,  169,  170,
+      171,  169,  169,  169,  169,  169,  216,   83,   83,  267,
+       98,   98,   98,   98,   98,   98,   82,  361,   83,  294,
+       82,  176,   82,  250,   83,   82,   82,   83,   82,   82,
+       82,  103,  103,  103,  103,  103,  103,  103,  103,   97,
+
+      430,  304,   82,  103,  103,  103,  103,  103,  104,  104,
+      104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
+       83,  104,   98,   98,   98,   98,   98,   98,   82,   82,
+       82,   82,   82,   82,   82,   82,   82,   82,  104,  104,
+      104,  104,  104,  104,  104,  104, 1428,  217,   83,  305,
+      104,  104,  104,  104,  104,  175,  175,  175,  175,  175,
+      175,  175,  175,  201,  201,  201,  201,  201,  201,   82,
+       82,   82,   82,   82,   82,  109,  110,   82,   83,   82,
+      176,   82,   82,  126, 1306,   82,  126,  126,  126,  126,
+      126,  126,  126,  126,  286,  286,  286,   82,   82,   82,
+
+      133,  253,  134,  134,  134,  134,  134,  134,  134,  134,
+       97,  176,  176, 1237,  135,  135,  135,  135,  135,  159,
+      235,  235,   93,  159,   83,  293,   93,   93,  293,  159,
+      300,  125,  125,  135,  135,  135,  135,  135,  135,  124,
+      125, 1345,  159,  124,   93,  124,  315,  294,  124,  124,
+      294,  124,  124,  124,  139,  139,  139,  139,  139,  139,
+      139,  139,   97,  132,   87,  124,  139,  139,  139,  139,
+      139,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  125,  140,  135,  135,  135,  135,  135,
+      135,  124,  124,  124,  124,  124,  124,  124,  124,  124,
+
+      124,  140,  140,  140,  140,  140,  140,  140,  140, 1428,
+     1340,  428,   83,  140,  140,  140,  140,  140,  316,  213,
+       97,  197,  198,  199,  197,  197,  197,  197,  197,   87,
+      157,  110,  124,  124,  124,  124,  124,  124,  145,  110,
+      124,   83,  124,  176,  124,  124,  317,   90,  124,   90,
+      125,   90,  277,   90,   90,  553,  553,   90,  306,  214,
+      124,  124,  124,  280,  280,  280,  280,  280,  281,   90,
+       90,   90,   92,  160,   82,   83,   92,   83,   82,   82,
+      356,  125,   92,  124, 1215,  124,  372,  124,  359,  124,
+      124, 1208,   83,  124,   92,   92,   82,  172,  172,  172,
+
+      172,  172,  172,  172,  172,  124,  124,  124,  494,  172,
+      172,  172,  172,  172,  201,  201,  201,  201,  201,  201,
+      201,  201,  149,  417, 1201,  362,  149,  149,  172,  172,
+      172,  172,  172,  172,  178,  178,  178,  178,  178,  178,
+      178,  178,  275,  176,  149,  418,  178,  178,  178,  178,
+      178,  127,  277,  127,   83,  127,  125,  127,  127,  373,
+      438,  127,  421,  150,  500,  172,  172,  172,  172,  172,
+      172, 1428,  176,  127,  127,  127,  129,  125,  129,  176,
+      129,  277,  129,  129,  422,  131,  129,  124,  235,  131,
+       83,  124,  124,  507,  125,  131,  423,  417,  129,  129,
+
+      129,  349,  349,  349,  349,  349,  350,  131,  131,  124,
+      200,  200,  200,  200,  200,  200,  200,  200,  424,  418,
+     1198,   87,  200,  200,  200,  200,  200,  201,  201,  201,
+      201,  201,  201,  201,  201,  384,  384,  384,  384,  384,
+      385,  200,  200,  200,  200,  200,  200,  202,  202,  202,
+      202,  202,  202,  202,  202,  275,  176,  344,  176,  202,
+      202,  202,  202,  202,  148,  277,   82,  346,  148,  497,
+       82,   82,  582,   87,  148, 1428,  176, 1275,  200,  200,
+      200,  200,  200,  200, 1312,  346,  148,  148,   82,  162,
+      162,   93,  212,  162,  149,   93,  421,   83,  149,  162,
+
+      423,   93,   83,  176,  149,  162,  162,  429,  212,  162,
+      125,  425,  162,   93,   93,  162,  149,  149,  422,  436,
+      162,  162,  424,  215,  162,   83,  652,  652,  162,   83,
+      162,   83,  163,  217,  437,  218,  218,  218,  218,  218,
+      218,  218,  218,  162,  499,  734,  734,  508,  163,  269,
+      270,  271,  269,  269,  269,  269,  269,  397,  397,  397,
+      397,  397,  398,  163,   83,  217,  176,  219,  219,  219,
+      219,  219,  219,  219,  219,  277,  417,  217,   83,  218,
+      218,  218,  218,  218,  218,  279,  279,  279,  279,  279,
+      279,  279,  279,   83, 1158,  583,   83,  217,  418,  220,
+
+      220,  220,  220,  220,  221,  218,  218, 1428,   83,  278,
+      278,  278,  278,  278,  278,  278,  278,  284,  284,  285,
+      286,  286,  286,  286,  286,  283,   83, 1237,   83,   82,
+      176,  222,  222,  222,  222,  222,  222,  222,  222,  346,
+     1215,  672, 1208,  222,  222,  222,  222,  222,  307,  308,
+      309,  307,  307,  307,  307,  307,  473,  473,  473,  473,
+      473,  474,  222,  222,  222,  222,  222,  222,  176,  225,
+      226,  227,  225,  225,  225,  225,  225,  125,   83,  746,
+      746,  228,  228,  228,  228,  228,  253,  498,  254,  254,
+      254,  254,  254,  254,  490,  490,  490,  490,  490,  491,
+
+      228,  228,  228,  228,  228,  228,  229,  230,  231,  231,
+      231,  231,  231,  231,  232,  855,  855,  125,  233,  233,
+      233,  233,  233,  329,  330,  331,  329,  329,  329,  329,
+      329,  421,  423,  940,  940,  955,  955,  233,  233,  233,
+      233,  233,  233,  236,  236,  236,  236,  236,  236,  236,
+      236,  578, 1201,  422,  424,  236,  236,  236,  236,  236,
+      275,  176,  337,  337,  337,  337,  337,  337, 1063, 1063,
+      277,  275,  176,  579,  222,  222,  222,  222,  222,  222,
+      253,  381,  254,  254,  254,  254,  254,  254,  254,  254,
+      341,  341,  341,  341,  341,  341,  341,  341,  283,  348,
+
+      348,  348,  348,  348,  348,  348,  348, 1087, 1087,  590,
+      677,  125,  253,  468,  255,  255,  255,  255,  255,  255,
+      255,  255, 1428,  470,  347,  347,  347,  347,  347,  347,
+      347,  347,  374,  375,  376,  374,  374,  374,  374,  374,
+       83,  125,  781,  125,  253,  176,  256,  256,  256,  256,
+      256,  257,  254,  254,  517, 1428,  176,  872,  688,  688,
+      688,   83,  392,  176,  317,  381,  318,  318,  318,  318,
+      318,  318,  394,   83,  982,  125,  124,  176,  258,  258,
+      258,  258,  258,  258,  258,  258,  381,   83,  125, 1198,
+      258,  258,  258,  258,  258,   83,  383,  383,  383,  383,
+
+      383,  383,  383,  383,  578,   83, 1125, 1125, 1325,  258,
+      258,  258,  258,  258,  258,  259,  259,  259,  259,  259,
+      259,  259,  259, 1428,  176, 1118,  579,  259,  259,  259,
+      259,  259, 1428,  394,  382,  382,  382,  382,  382,  382,
+      382,  382,  176,  344,  176, 1266,  258,  258,  258,  258,
+      258,  258,  217,  346,  218,  218,  218,  218,  218,  218,
+      218,  218,  386,  176,  387,  387,  387,  387,  387,  387,
+      387,  387,  386,  176,  388,  388,  388,  388,  388,  388,
+      388,  388,  394,   83,  217, 1428,  218,  218,  218,  218,
+      218,  218,  218,  218,  386,  470,  389,  389,  389,  389,
+
+      389,  390,  387,  387,  396,  396,  396,  396,  396,  396,
+      396,  396, 1131, 1131, 1076,   83,  275,  176,  276,  276,
+      276,  276,  276,  276,  276,  276,  277,  176, 1146, 1146,
+      278,  278,  278,  278,  278, 1428,  346,  395,  395,  395,
+      395,  395,  395,  395,  395,  125, 1242, 1242,  176,  278,
+      278,  278,  278,  278,  278,  289,  290,  291,  289,  289,
+      289,  289,  289,  176,  780,  780,  780,  292,  292,  292,
+      292,  292,  408,  409,  410,  408,  408,  408,  408,  408,
+      523,  523,  523,  523,  523,  524,  292,  292,  292,  292,
+      292,  292,  253,  125,  254,  254,  254,  254,  254,  254,
+
+      254,  254,  344,  176,  416,  416,  416,  416,  416,  416,
+      176,  468,  346,  431,  432,  433,  431,  431,  431,  431,
+      431,  470,  176,  125,  253,  176,  254,  254,  254,  254,
+      254,  254,  254,  254,  517,  576,  176,  582,   87,  275,
+      176,  362,  125,  363,  363,  363,  363,  363,  363,  381,
+      671, 1283, 1283, 1286, 1286,  125,  317,  577,  318,  318,
+      318,  318,  318,  318,  318,  318,  541,  541,  541,  541,
+      541,  542,  125,  275,  176,  452,  452,  452,  452,  452,
+      452, 1289, 1289,  381, 1301, 1301,  176,   83,  317,  125,
+      319,  319,  319,  319,  319,  319,  319,  319,  453,  454,
+
+      455,  453,  453,  453,  453,  453,  386,  176,  387,  387,
+      387,  387,  387,  387,  387,  387,  381, 1323, 1323,   83,
+      317,  560,  320,  320,  320,  320,  320,  321,  318,  318,
+      386,  562,  387,  387,  387,  387,  387,  387,  387,  387,
+      386,  176,  387,  387,  387,  387,  387,  387, 1352, 1352,
+      394,   83,  176,  325,  326,  327,  325,  325,  325,  325,
+      325,  176, 1158, 1055, 1229,  328,  328,  328,  328,  328,
+      456,  457,  458,  456,  456,  456,  456,  456,  565,  565,
+      565,  565,  565,  566,  328,  328,  328,  328,  328,  328,
+      333,  334,  335,  333,  333,  333,  333,  333,  578, 1224,
+
+     1033, 1026,  336,  336,  336,  336,  336,  392,  176,  464,
+      464,  464,  464,  464,  464, 1023, 1198,  394, 1118,  176,
+      579,  336,  336,  336,  336,  336,  336,  275,  176,  337,
+      337,  337,  337,  337,  337,  337,  337,  277,  344,  176,
+      345,  345,  345,  345,  345,  345,  345,  345,  346,  176,
+      176,  176,  347,  347,  347,  347,  347,  472,  472,  472,
+      472,  472,  472,  472,  472,  176,  176,  176,  392,  176,
+      990,  347,  347,  347,  347,  347,  347,  362,  394,  363,
+      363,  363,  363,  363,  363,  363,  363, 1428, 1428,  471,
+      471,  471,  471,  471,  471,  471,  471,  480,  562,  481,
+
+      481,  481,  481,  481,  481,  481,  481, 1172,  125,  362,
+      468,  364,  364,  364,  364,  364,  364,  364,  364,  480,
+      631,  482,  482,  482,  482,  482,  482,  482,  482,  480,
+      176,  483,  483,  483,  483,  483,  484,  481,  481,  487,
+      125,  362,   83,  365,  365,  365,  365,  365,  366,  363,
+      363,  489,  489,  489,  489,  489,  489,  489,  489, 1428,
+      176,  488,  488,  488,  488,  488,  488,  488,  488,  693,
+      176,  968,  125,  317,  176,  318,  318,  318,  318,  318,
+      318,  318,  318,  517, 1055, 1033,  509,  510,  511,  512,
+      509,  509,  509,  509,  438,  439,  439,  439,  439,  439,
+
+      439, 1026, 1023, 1198,   83,  317, 1118,  318,  318,  318,
+      318,  318,  318,  318,  318,   83,  522,  522,  522,  522,
+      522,  522,  522,  522,   83, 1428,  176,  521,  521,  521,
+      521,  521,  521,  521,  521,  520,   83,  275,  176,  380,
+      380,  380,  380,  380,  380,  380,  380,  381,  176,  933,
+      176,  382,  382,  382,  382,  382,  525,  538,  526,  526,
+      526,  526,  526,  526,  526,  526, 1109, 1104,  176,  176,
+      382,  382,  382,  382,  382,  382,  392,  176,  393,  393,
+      393,  393,  393,  393,  393,  393,  394,  176,  176,  176,
+      395,  395,  395,  395,  395,  525, 1428,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  176,  631,  176,  176,  395,
+      395,  395,  395,  395,  395,  402,  403,  404,  402,  402,
+      402,  402,  402,  344,  176,  990,  968,  405,  405,  405,
+      405,  405,  525,  487,  528,  528,  528,  528,  528,  529,
+      526,  526,  847, 1047, 1042,  829,  405,  405,  405,  405,
+      405,  405,  412,  413,  414,  412,  412,  412,  412,  412,
+     1428,  176,  826, 1023,  415,  415,  415,  415,  415,  530,
+      487,  531,  531,  531,  531,  531,  531,  531,  531, 1118,
+      933,  176,  176,  415,  415,  415,  415,  415,  415,  344,
+      176,  416,  416,  416,  416,  416,  416,  416,  416,  346,
+
+      362,  642,  363,  363,  363,  363,  363,  363,  363,  363,
+      530,  644,  532,  532,  532,  532,  532,  532,  532,  532,
+      530,  176,  533,  533,  533,  533,  533,  534,  531,  531,
+      487,  125,  362,  176,  363,  363,  363,  363,  363,  363,
+      363,  363,  540,  540,  540,  540,  540,  540,  540,  540,
+     1428, 1428,  539,  539,  539,  539,  539,  539,  539,  539,
+      176,  644,  176,  125,  438,  439,  439,  439,  439,  439,
+      439,  439,  439,  550,  551,  552,  550,  550,  550,  550,
+      550,  564,  564,  564,  564,  564,  564,  564,  564,  176,
+     1089,  788,  759,  961,   83,  438,  440,  440,  440,  440,
+
+      440,  440,  440,  440, 1428,  847,  563,  563,  563,  563,
+      563,  563,  563,  563,  567,  568,  569,  567,  567,  567,
+      567,  567,  829,  826, 1023,   83,  438,  441,  441,  441,
+      441,  441,  442,  439,  439,  480,  560,  481,  481,  481,
+      481,  481,  481,  481,  481,  480,  562,  481,  481,  481,
+      481,  481,  481,  481,  481, 1021,   83,  448,  449,  450,
+      448,  448,  448,  448,  448,  392,  176,  933,  732,  451,
+      451,  451,  451,  451,  480,  520,  481,  481,  481,  481,
+      481,  481,  634,  634,  634,  634,  634,  635,  451,  451,
+      451,  451,  451,  451,  275,  176,  452,  452,  452,  452,
+
+      452,  452,  452,  452,  381,  460,  461,  462,  460,  460,
+      460,  460,  460,  918,  913,  176,  176,  463,  463,  463,
+      463,  463,  344,  176,  575,  575,  575,  575,  575,  575,
+      788,  176,  487,  759,  644,  839,  463,  463,  463,  463,
+      463,  463,  392,  176,  464,  464,  464,  464,  464,  464,
+      464,  464,  394,  468,  468,  469,  469,  469,  469,  469,
+      469,  469,  469,  470,  631,  834,  631,  471,  471,  471,
+      471,  471,  586,  587,  588,  589,  586,  586,  586,  586,
+      584,  826,  933,  732,  788,  599,  471,  471,  471,  471,
+      471,  471,  476,  477,  478,  476,  476,  476,  476,  476,
+
+      584,  125,  584,  585,  479,  479,  479,  479,  479,  176,
+      500,  501,  501,  501,  501,  501,  501,  775,  693,  562,
+      752,   83,  644,  479,  479,  479,  479,  479,  479,  344,
+      176,  486,  486,  486,  486,  486,  486,  486,  486,  487,
+      125, 1428,  176,  488,  488,  488,  488,  488,  631,  826,
+      642,  520,  612,  613,  614,  612,  612,  612,  612,  612,
+      644,  824,  488,  488,  488,  488,  488,  488,  500,  501,
+      501,  501,  501,  501,  501,  501,  501,  392,  176,  611,
+      611,  611,  611,  611,  611,  732,  525,  520,  526,  526,
+      526,  526,  526,  526,  526,  526,  545,  717,  125,  500,
+
+      502,  502,  502,  502,  502,  502,  502,  502,  525,  712,
+      526,  526,  526,  526,  526,  526,  526,  526,  525,  176,
+      526,  526,  526,  526,  526,  526,  176,  176,  517,  125,
+      500,  503,  503,  503,  503,  503,  504,  501,  501,  615,
+      616,  617,  615,  615,  615,  615,  615,  530,  176,  531,
+      531,  531,  531,  531,  531,  531,  531,  520,  788,  599,
+      125,  438,  439,  439,  439,  439,  439,  439,  439,  439,
+      530,  676,  531,  531,  531,  531,  531,  531,  531,  531,
+      530,  176,  531,  531,  531,  531,  531,  531,  674,   83,
+      538,   83,  438,  439,  439,  439,  439,  439,  439,  439,
+
+      439,  618,  619,  620,  618,  618,  618,  618,  618,  536,
+      176, 1428,  176,  647,  647,  647,  647,  647,  648,  538,
+      775,  538,   83,  392,  176,  519,  519,  519,  519,  519,
+      519,  519,  519,  520,  773,  658,  562,  521,  521,  521,
+      521,  521,  536,  176,  626,  626,  626,  626,  626,  626,
+      470,  636,  538,  732,  545,  691,  521,  521,  521,  521,
+      521,  521,  536,  176,  537,  537,  537,  537,  537,  537,
+      537,  537,  538,  599,  445,  676,  539,  539,  539,  539,
+      539,  633,  633,  633,  633,  633,  633,  633,  633,  668,
+      668,  668,  668,  668,  669,  539,  539,  539,  539,  539,
+
+      539,  546,  547,  548,  546,  546,  546,  546,  546,  344,
+      176,  674,  670,  549,  549,  549,  549,  549, 1428,  487,
+      632,  632,  632,  632,  632,  632,  632,  632,  407,  470,
+      629,  545,  549,  549,  549,  549,  549,  549,  554,  555,
+      556,  554,  554,  554,  554,  554,  392,  176,  401,  530,
+      557,  557,  557,  557,  557,  636,  520,  637,  637,  637,
+      637,  637,  637,  637,  637,  525,  536,  176,  176,  557,
+      557,  557,  557,  557,  557,  468,  538,  558,  558,  558,
+      558,  558,  558,  558,  558,  470,  560,  560,  561,  561,
+      561,  561,  561,  561,  561,  561,  562,  759,  599,  445,
+
+      563,  563,  563,  563,  563,  636, 1428,  638,  638,  638,
+      638,  638,  638,  638,  638,   83,  759,  125,  581,  563,
+      563,  563,  563,  563,  563,  571,  572,  573,  571,  571,
+      571,  571,  571,  344,  176,  580,   83,  574,  574,  574,
+      574,  574,  636,  665,  639,  639,  639,  639,  639,  640,
+      637,  637,  480,  407,  545,  401,  574,  574,  574,  574,
+      574,  574,  344,  176,  575,  575,  575,  575,  575,  575,
+      575,  575,  487,   82,  576,  176,  515,   82,  445,   82,
+      324,  506,   82,   82,  665,   82,   82,   82,  104,  104,
+      104,  104,  104,  104,  104,  104,  577,  505,  496,   82,
+
+      104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
+      104,  104,  104,  104,  104,  104,  104,   83,  104,   82,
+       82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
+       82,   82,   82,   82,   82,  500,  501,  501,  501,  501,
+      501,  501,  501,  501,  646,  646,  646,  646,  646,  646,
+      646,  646, 1428,  176,  645,  645,  645,  645,  645,  645,
+      645,  645,  887,  495,  493,  125,  500,  501,  501,  501,
+      501,  501,  501,  501,  501,  649,  650,  651,  649,  649,
+      649,  649,  649,  658,  176,  659,  659,  659,  659,  659,
+      659,  659,  659,  693, 1428,  176,  125,  124,  576,  176,
+
+      492,  124,  407,  124,  665,  467,  124,  124,  696,  124,
+      124,  124,  140,  140,  140,  140,  140,  140,  140,  140,
+      577,  401,  283,  124,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  125,  140,  124,  124,  124,  124,  124,  124,  124,
+      124,  124,  124,  124,  124,  124,  124,  124,  124,  590,
+      642,  591,  591,  591,  591,  591,  591,  591,  591,  658,
+      829,  660,  660,  660,  660,  660,  660,  660,  660,  658,
+      176,  661,  661,  661,  661,  661,  662,  659,  659,  703,
+       83,  590,  386,  592,  592,  592,  592,  592,  592,  592,
+
+      592,  667,  667,  667,  667,  667,  667,  667,  667, 1428,
+     1428,  666,  666,  666,  666,  666,  666,  666,  666,  584,
+      829,  176,   83,  590,  176,  593,  593,  593,  593,  593,
+      594,  595,  595,  725,  590,  445,  688,  688,  688,  584,
+      324,  584,  584,  684,  685,  686,  684,  684,  684,  684,
+      684,  435,  434,  427,   83,  590,  426,  596,  596,  596,
+      591,  591,  591,  591,  591,   83,  699,  699,  699,  699,
+      699,  700,   83,  698,  698,  698,  698,  698,  698,  698,
+      698,  420,  419,  407,  283,  401,   83,  602,  603,  604,
+      602,  602,  602,  602,  602,  392,  176,  283,  379,  605,
+
+      605,  605,  605,  605, 1428,  696,  697,  697,  697,  697,
+      697,  697,  697,  697,  324,  224,  371,  370,  605,  605,
+      605,  605,  605,  605,  607,  608,  609,  607,  607,  607,
+      607,  607,  369,  368,  367,  301,  610,  610,  610,  610,
+      610,  705,  705,  705,  705,  705,  705,  705,  705,  706,
+      706,  706,  706,  706,  707,  610,  610,  610,  610,  610,
+      610,  392,  176,  611,  611,  611,  611,  611,  611,  611,
+      611,  520,  622,  623,  624,  622,  622,  622,  622,  622,
+     1428,  176,  358,  357,  625,  625,  625,  625,  625, 1428,
+      696,  704,  704,  704,  704,  704,  704,  704,  704,  355,
+
+      354,  353,  352,  625,  625,  625,  625,  625,  625,  536,
+      176,  626,  626,  626,  626,  626,  626,  626,  626,  538,
+      468,  845,  630,  630,  630,  630,  630,  630,  630,  630,
+      631,  847,  351,  283,  632,  632,  632,  632,  632,  176,
+      708,  708,  708,  708,  708,  708,  708,  708,  338,  340,
+      536,  176,  283,  632,  632,  632,  632,  632,  632,  642,
+      703,  643,  643,  643,  643,  643,  643,  643,  643,  644,
+      324,  224,  314,  645,  645,  645,  645,  645,  176,  709,
+      709,  709,  709,  709,  709,  709,  709,  313,  312,  311,
+      310,   97,  645,  645,  645,  645,  645,  645,  653,  654,
+
+      655,  653,  653,  653,  653,  653,  301,  303,  301,  302,
+      656,  656,  656,  656,  656,  176,  710,  710,  710,  710,
+      710,  711,  708,  708,  301,  299, 1428,  176,  298,  656,
+      656,  656,  656,  656,  656,  560,  703,  657,  657,  657,
+      657,  657,  657,  657,  657,  562,  344,  176,  664,  664,
+      664,  664,  664,  664,  664,  664,  665,  176,  297,  296,
+      666,  666,  666,  666,  666,  712,  665,  713,  713,  713,
+      713,  713,  713,  713,  713,  295,  723,  176,   97,  666,
+      666,  666,  666,  666,  666,  677,  725,  678,  678,  678,
+      678,  678,  678,  678,  678,  712, 1428,  714,  714,  714,
+
+      714,  714,  714,  714,  714,  712,  847,  715,  715,  715,
+      715,  715,  716,  713,  713,  283,  125,  677,  560,  679,
+      679,  679,  679,  679,  679,  679,  679,  717,  759,  718,
+      718,  718,  718,  718,  718,  718,  718,  717,  176,  719,
+      719,  719,  719,  719,  719,  719,  719,  887,  125,  677,
+      642,  680,  680,  680,  680,  680,  681,  682,  682,  717,
+      829,  720,  720,  720,  720,  720,  721,  718,  718,  727,
+      727,  727,  727,  727,  727,  727,  727,  287,  283,  274,
+      125,  677,  224,  683,  683,  683,  678,  678,  678,  678,
+      678,  728,  728,  728,  728,  728,  729, 1428,  176,  726,
+
+      726,  726,  726,  726,  726,  726,  726,  693,  160,  265,
+      264,  263,  125,  590,  262,  595,  595,  595,  595,  595,
+      595,  595,  595,  740,  741,  742,  740,  740,  740,  740,
+      740,  636,  176,  637,  637,  637,  637,  637,  637,  637,
+      637,  696,  261,  260,   83,  590,  845,  595,  595,  595,
+      595,  595,  595,  595,  595,  636,  847,  637,  637,  637,
+      637,  637,  637,  637,  637,  636,  176,  637,  637,  637,
+      637,  637,  637,  133,  251,  703,   83,  590,  248,  595,
+      595,  595,  595,  595,  595,  687,  687,  743,  744,  745,
+      743,  743,  743,  743,  743,  752,  176,  753,  753,  753,
+
+      753,  753,  753,  753,  753,  725,  247,  246,   83,  590,
+      560,  687,  687,  687,  687,  687,  687,  687,  687,  752,
+      968,  754,  754,  754,  754,  754,  754,  754,  754,  752,
+      176,  755,  755,  755,  755,  755,  756,  753,  753,  867,
+       83,  392,  176,  695,  695,  695,  695,  695,  695,  695,
+      695,  696,  245,  244,  242,  697,  697,  697,  697,  697,
+      761,  761,  761,  761,  761,  761,  761,  761,  762,  762,
+      762,  762,  762,  763,  697,  697,  697,  697,  697,  697,
+      536,  176,  702,  702,  702,  702,  702,  702,  702,  702,
+      703,  241,  240,  239,  704,  704,  704,  704,  704, 1428,
+
+     1428,  760,  760,  760,  760,  760,  760,  760,  760,  238,
+      968,  237,   95,  704,  704,  704,  704,  704,  704,  723,
+      176,  724,  724,  724,  724,  724,  724,  724,  724,  725,
+      224,  160,  160,  726,  726,  726,  726,  726,  764,  765,
+      766,  764,  764,  764,  764,  764,  832,  832,  832,  832,
+      832,  833,  726,  726,  726,  726,  726,  726,  735,  736,
+      737,  735,  735,  735,  735,  735, 1428,  176,  153,  210,
+      738,  738,  738,  738,  738,  658,  725,  659,  659,  659,
+      659,  659,  659,  659,  659,  147,  344,  176,  208,  738,
+      738,  738,  738,  738,  738,  468,  665,  739,  739,  739,
+
+      739,  739,  739,  739,  739,  631,  747,  748,  749,  747,
+      747,  747,  747,  747,  392,  176,  207,  203,  750,  750,
+      750,  750,  750,  658,  696,  659,  659,  659,  659,  659,
+      659,  659,  659,  124,  536,  176,  130,  750,  750,  750,
+      750,  750,  750,  642,  703,  751,  751,  751,  751,  751,
+      751,  751,  751,  644,  560,  988,  758,  758,  758,  758,
+      758,  758,  758,  758,  759,  990,  128,  125,  760,  760,
+      760,  760,  760,  658,  190,  659,  659,  659,  659,  659,
+      659,  850,  850,  850,  850,  850,  851,  760,  760,  760,
+      760,  760,  760,  768,  769,  770,  768,  768,  768,  768,
+
+      768,  189,  188,  187,  186,  771,  771,  771,  771,  771,
+      344,  176,  772,  772,  772,  772,  772,  772,  184,  183,
+      665,  179,  176,   82,  771,  771,  771,  771,  771,  771,
+      344,  176,  772,  772,  772,  772,  772,  772,  772,  772,
+      665,  673,  174,  673,  176,  673,  176,  673,  673, 1428,
+      675,  673,  675,  887,  675,  890,  675,  675,  176,  990,
+      675,  723,  176,  673,  673,  673,  677,  897,  780,  780,
+      780,  725,  675,  675,  675,  776,  777,  778,  776,  776,
+      776,  776,  776,  168,  344,  176,  687,  687,  687,  687,
+      687,  687,  687,  687,  867,   91,  712,  125,  713,  713,
+
+      713,  713,  713,  713,  125,  677,   89,  682,  682,  682,
+      682,  682,  682,  682,  682,   83,  392,  176,  800,  800,
+      800,  800,  800,  800,   87,   85,  696,   84,  536,  176,
+      806,  806,  806,  806,  806,  806,  125,  677,  703,  682,
+      682,  682,  682,  682,  682,  682,  682,  176,  708,  708,
+      708,  708,  708,  708,  708,  708,  176,  708,  708,  708,
+      708,  708,  708,  708,  708,   83,  160,  153,  125,  677,
+      147,  682,  682,  682,  682,  682,  682,  779,  779,  176,
+      708,  708,  708,  708,  708,  708,  807,  808,  809,  807,
+      807,  807,  807,  807,  870,  870,  870,  870,  870,  871,
+
+      125,  677,  642,  779,  779,  779,  779,  779,  779,  779,
+      779,  712, 1026,  713,  713,  713,  713,  713,  713,  713,
+      713,  712,  176,  713,  713,  713,  713,  713,  713,  713,
+      713,  904,  125,  781,  144,  782,  782,  782,  782,  782,
+      782,  782,  782,  810,  811,  812,  810,  810,  810,  810,
+      810,  717,  176,  718,  718,  718,  718,  718,  718,  718,
+      718,  926,  143,  142,   83,  781, 1428,  783,  783,  783,
+      783,  783,  783,  783,  783,  717, 1026,  718,  718,  718,
+      718,  718,  718,  718,  718,  717,  176,  718,  718,  718,
+      718,  718,  718,  141,  130,  867,   83,  781,  128,  784,
+
+      784,  784,  784,  784,  785,  782,  782,  813,  814,  815,
+      813,  813,  813,  813,  813,  723,  176,  821,  821,  821,
+      821,  821,  821,  125,  123,  725,  122,  845,   83,  791,
+      792,  793,  791,  791,  791,  791,  791, 1033,  121,  120,
+      119,  794,  794,  794,  794,  794,  831,  831,  831,  831,
+      831,  831,  831,  831,  893,  893,  893,  893,  893,  894,
+      794,  794,  794,  794,  794,  794,  796,  797,  798,  796,
+      796,  796,  796,  796, 1428,  176,  108,  107,  799,  799,
+      799,  799,  799, 1428,  867,  830,  830,  830,  830,  830,
+      830,  830,  830,  106,  105,  102,   91,  799,  799,  799,
+
+      799,  799,  799,  392,  176,  800,  800,  800,  800,  800,
+      800,  800,  800,  696,  802,  803,  804,  802,  802,  802,
+      802,  802,  392,  176,   89,   87,  805,  805,  805,  805,
+      805,  834,  890,  835,  835,  835,  835,  835,  835,  835,
+      835,   85,   84,   83, 1428,  805,  805,  805,  805,  805,
+      805,  536,  176,  806,  806,  806,  806,  806,  806,  806,
+      806,  703,  817,  818,  819,  817,  817,  817,  817,  817,
+     1428,  176, 1428, 1428,  820,  820,  820,  820,  820,  834,
+      890,  836,  836,  836,  836,  836,  836,  836,  836, 1428,
+     1428, 1428, 1428,  820,  820,  820,  820,  820,  820,  723,
+
+      176,  821,  821,  821,  821,  821,  821,  821,  821,  725,
+      642, 1428,  828,  828,  828,  828,  828,  828,  828,  828,
+      829, 1033, 1428, 1428,  830,  830,  830,  830,  830,  834,
+      176,  837,  837,  837,  837,  837,  838,  835,  835,  887,
+      536,  176, 1428,  830,  830,  830,  830,  830,  830,  839,
+      897,  840,  840,  840,  840,  840,  840,  840,  840,  839,
+     1053,  841,  841,  841,  841,  841,  841,  841,  841,  839,
+     1055,  842,  842,  842,  842,  842,  843,  840,  840,  845,
+     1428,  846,  846,  846,  846,  846,  846,  846,  846,  847,
+     1055, 1428, 1428,  848,  848,  848,  848,  848,  849,  849,
+
+      849,  849,  849,  849,  849,  849,  900,  900,  900,  900,
+      900,  901,  848,  848,  848,  848,  848,  848, 1428, 1428,
+      848,  848,  848,  848,  848,  848,  848,  848,  852,  853,
+      854,  852,  852,  852,  852,  852,  752,  560,  753,  753,
+      753,  753,  753,  753,  753,  753,  752,  968,  753,  753,
+      753,  753,  753,  753,  753,  753,  752, 1428,  753,  753,
+      753,  753,  753,  753,  856,  857,  858,  856,  856,  856,
+      856,  856, 1428, 1428, 1428, 1428,  859,  859,  859,  859,
+      859,  176,  861,  861,  861,  861,  861,  861,  861,  861,
+     1428, 1428, 1428,  176, 1428,  859,  859,  859,  859,  859,
+
+      859,  560,  897,  860,  860,  860,  860,  860,  860,  860,
+      860,  759,  176,  862,  862,  862,  862,  862,  862,  862,
+      862,  176,  863,  863,  863,  863,  863,  864,  861,  861,
+      344,  176,  866,  866,  866,  866,  866,  866,  866,  866,
+      867, 1428, 1428, 1428,  868,  868,  868,  868,  868,  869,
+      869,  869,  869,  869,  869,  869,  869,  907,  907,  907,
+      907,  907,  908,  868,  868,  868,  868,  868,  868, 1428,
+      988,  868,  868,  868,  868,  868,  868,  868,  868,  872,
+      990,  873,  873,  873,  873,  873,  873,  873,  873, 1428,
+     1428, 1428,  779,  779,  779,  779,  779,  779,  779,  779,
+
+      877,  878,  879,  877,  877,  877,  877,  877, 1428, 1428,
+      125,  872, 1428,  874,  874,  874,  874,  874,  874,  874,
+      874,  125,  929,  929,  929,  929,  929,  930,  781,   83,
+      782,  782,  782,  782,  782,  782,  971,  971,  971,  971,
+      971,  972,  125,  872, 1428,  875,  875,  875,  875,  875,
+      876,  873,  873,  993,  993,  993,  993,  993,  994,   83,
+      892,  892,  892,  892,  892,  892,  892,  892, 1029, 1029,
+     1029, 1029, 1029, 1030,  125,  781,  642,  782,  782,  782,
+      782,  782,  782,  782,  782, 1428, 1026,  891,  891,  891,
+      891,  891,  891,  891,  891,  899,  899,  899,  899,  899,
+
+      899,  899,  899, 1428, 1428, 1428,   83,  781,  845,  782,
+      782,  782,  782,  782,  782,  782,  782, 1428, 1033,  898,
+      898,  898,  898,  898,  898,  898,  898,  906,  906,  906,
+      906,  906,  906,  906,  906, 1428, 1428, 1428,   83,  881,
+      882,  883,  881,  881,  881,  881,  881,  884,  176, 1428,
+     1428,  885,  885,  885,  885,  885, 1428,  890,  905,  905,
+      905,  905,  905,  905,  905,  905, 1428, 1428, 1428, 1428,
+      885,  885,  885,  885,  885,  885,  392,  176,  889,  889,
+      889,  889,  889,  889,  889,  889,  890, 1428, 1428, 1428,
+      891,  891,  891,  891,  891,  176,  909,  909,  909,  909,
+
+      909,  909,  909,  909, 1428, 1428, 1428, 1428, 1428,  891,
+      891,  891,  891,  891,  891,  536,  176,  896,  896,  896,
+      896,  896,  896,  896,  896,  897, 1428, 1428, 1428,  898,
+      898,  898,  898,  898,  176,  910,  910,  910,  910,  910,
+      910,  910,  910, 1428, 1428, 1428, 1428, 1428,  898,  898,
+      898,  898,  898,  898,  723,  176,  903,  903,  903,  903,
+      903,  903,  903,  903,  904, 1428, 1428, 1428,  905,  905,
+      905,  905,  905,  176,  911,  911,  911,  911,  911,  912,
+      909,  909, 1428, 1428,  723,  176, 1428,  905,  905,  905,
+      905,  905,  905,  913,  904,  914,  914,  914,  914,  914,
+
+      914,  914,  914,  913, 1053,  915,  915,  915,  915,  915,
+      915,  915,  915,  913, 1055,  916,  916,  916,  916,  916,
+      917,  914,  914,  918,  560,  919,  919,  919,  919,  919,
+      919,  919,  919,  918, 1158,  920,  920,  920,  920,  920,
+      920,  920,  920,  918, 1428,  921,  921,  921,  921,  921,
+      922,  919,  919,  924,  176,  925,  925,  925,  925,  925,
+      925,  925,  925,  926, 1428, 1428, 1428,  927,  927,  927,
+      927,  927,  928,  928,  928,  928,  928,  928,  928,  928,
+     1428, 1428, 1428, 1428,  176, 1428,  927,  927,  927,  927,
+      927,  927, 1428,  904,  927,  927,  927,  927,  927,  927,
+
+      927,  927,  936,  937,  938,  936,  936,  936,  936,  936,
+     1428, 1428, 1428, 1428,  939,  939,  939,  939,  939,  946,
+      947,  948,  946,  946,  946,  946,  946, 1036, 1036, 1036,
+     1036, 1036, 1037,  939,  939,  939,  939,  939,  939,  941,
+      942,  943,  941,  941,  941,  941,  941,  924,  176, 1428,
+     1428,  944,  944,  944,  944,  944,  834,  926,  835,  835,
+      835,  835,  835,  835,  835,  835, 1428, 1428,  176, 1428,
+      944,  944,  944,  944,  944,  944,  642,  926,  945,  945,
+      945,  945,  945,  945,  945,  945,  829,  834, 1428,  835,
+      835,  835,  835,  835,  835,  835,  835,  834, 1158,  835,
+
+      835,  835,  835,  835,  835,  949,  950,  951,  949,  949,
+      949,  949,  949,  839,  642,  840,  840,  840,  840,  840,
+      840,  840,  840,  839, 1201,  840,  840,  840,  840,  840,
+      840,  840,  840,  839, 1428,  840,  840,  840,  840,  840,
+      840,  952,  953,  954,  952,  952,  952,  952,  952,  956,
+      957,  958,  956,  956,  956,  956,  956,  344,  176, 1428,
+     1428,  959,  959,  959,  959,  959,  961,  867,  962,  962,
+      962,  962,  962,  962,  962,  962, 1428,  392,  176, 1428,
+      959,  959,  959,  959,  959,  959,  845,  890,  960,  960,
+      960,  960,  960,  960,  960,  960,  847,  961, 1428,  963,
+
+      963,  963,  963,  963,  963,  963,  963,  961, 1201,  964,
+      964,  964,  964,  964,  965,  962,  962,  560,  845,  967,
+      967,  967,  967,  967,  967,  967,  967,  968, 1208, 1428,
+     1428,  969,  969,  969,  969,  969,  970,  970,  970,  970,
+      970,  970,  970,  970, 1058, 1058, 1058, 1058, 1058, 1059,
+      969,  969,  969,  969,  969,  969, 1428, 1428,  969,  969,
+      969,  969,  969,  969,  969,  969,  176,  861,  861,  861,
+      861,  861,  861,  861,  861,  176,  861,  861,  861,  861,
+      861,  861,  861,  861,  176,  861,  861,  861,  861,  861,
+      861,  974,  975,  976,  974,  974,  974,  974,  974, 1428,
+
+     1428, 1428, 1428,  977,  977,  977,  977,  977,  344,  176,
+      978,  978,  978,  978,  978,  978, 1428, 1428,  867, 1428,
+     1428, 1428,  977,  977,  977,  977,  977,  977,  344,  176,
+      978,  978,  978,  978,  978,  978,  978,  978,  867,  979,
+      980,  981,  979,  979,  979,  979,  979, 1428,  872, 1428,
+      873,  873,  873,  873,  873,  873,  992,  992,  992,  992,
+      992,  992,  992,  992, 1428, 1428, 1428, 1428,  125,  872,
+     1428,  873,  873,  873,  873,  873,  873,  873,  873,  125,
+     1428,  176,  991,  991,  991,  991,  991,  991,  991,  991,
+      897, 1428,  392,  176, 1000, 1000, 1000, 1000, 1000, 1000,
+
+      125,  872,  890,  873,  873,  873,  873,  873,  873,  873,
+      873,  536,  176, 1003, 1003, 1003, 1003, 1003, 1003, 1428,
+     1428,  897, 1428, 1428,  723,  176, 1006, 1006, 1006, 1006,
+     1006, 1006,  125,  982,  904,  983,  983,  983,  983,  983,
+      983,  983,  983,  176,  909,  909,  909,  909,  909,  909,
+      909,  909,  176,  909,  909,  909,  909,  909,  909,  909,
+      909, 1428, 1428, 1428,   83,  982, 1428,  984,  984,  984,
+      984,  984,  984,  984,  984,  176,  909,  909,  909,  909,
+      909,  909, 1007, 1008, 1009, 1007, 1007, 1007, 1007, 1007,
+     1074, 1074, 1074, 1074, 1074, 1075,   83,  982, 1428,  985,
+
+      985,  985,  985,  985,  986,  983,  983,  913, 1208,  914,
+      914,  914,  914,  914,  914,  914,  914,  913,  176,  914,
+      914,  914,  914,  914,  914,  914,  914,  904,   83,  988,
+     1428,  989,  989,  989,  989,  989,  989,  989,  989,  990,
+      176, 1428, 1428,  991,  991,  991,  991,  991,  913,  926,
+      914,  914,  914,  914,  914,  914, 1038, 1038, 1038, 1038,
+     1038, 1038,  991,  991,  991,  991,  991,  991,  392,  176,
+     1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000,  890,  536,
+      176, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003,  897,
+      723,  176, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006,
+
+      904, 1010, 1011, 1012, 1010, 1010, 1010, 1010, 1010,  918,
+     1053,  919,  919,  919,  919,  919,  919,  919,  919,  918,
+     1215,  919,  919,  919,  919,  919,  919,  919,  919,  918,
+     1428,  919,  919,  919,  919,  919,  919, 1013, 1014, 1015,
+     1013, 1013, 1013, 1013, 1013,  924,  176, 1018, 1018, 1018,
+     1018, 1018, 1018, 1018, 1018,  926,  924,  176, 1018, 1018,
+     1018, 1018, 1018, 1018, 1428, 1428,  926,  642, 1428, 1025,
+     1025, 1025, 1025, 1025, 1025, 1025, 1025, 1026, 1215, 1428,
+     1428, 1027, 1027, 1027, 1027, 1027, 1028, 1028, 1028, 1028,
+     1028, 1028, 1028, 1028, 1428, 1428, 1428,  536,  176, 1428,
+
+     1027, 1027, 1027, 1027, 1027, 1027, 1428,  897, 1027, 1027,
+     1027, 1027, 1027, 1027, 1027, 1027,  845, 1235, 1032, 1032,
+     1032, 1032, 1032, 1032, 1032, 1032, 1033, 1237, 1428, 1428,
+     1034, 1034, 1034, 1034, 1034, 1035, 1035, 1035, 1035, 1035,
+     1035, 1035, 1035, 1428, 1428, 1428,  723,  176, 1428, 1034,
+     1034, 1034, 1034, 1034, 1034, 1428,  904, 1034, 1034, 1034,
+     1034, 1034, 1034, 1034, 1034, 1038, 1038, 1038, 1038, 1038,
+     1038, 1038, 1038, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
+     1039, 1040, 1040, 1040, 1040, 1040, 1041, 1038, 1038, 1042,
+     1428, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1042,
+
+     1237, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1042,
+      560, 1045, 1045, 1045, 1045, 1045, 1046, 1043, 1043, 1047,
+     1158, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1047,
+     1273, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1047,
+     1275, 1050, 1050, 1050, 1050, 1050, 1051, 1048, 1048, 1053,
+     1428, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055,
+     1275, 1428, 1428, 1056, 1056, 1056, 1056, 1056, 1057, 1057,
+     1057, 1057, 1057, 1057, 1057, 1057, 1428, 1428, 1428,  924,
+      176, 1428, 1056, 1056, 1056, 1056, 1056, 1056, 1428,  926,
+     1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1060, 1061,
+
+     1062, 1060, 1060, 1060, 1060, 1060,  961,  642,  962,  962,
+      962,  962,  962,  962,  962,  962,  961, 1201,  962,  962,
+      962,  962,  962,  962,  962,  962,  961, 1428,  962,  962,
+      962,  962,  962,  962, 1064, 1065, 1066, 1064, 1064, 1064,
+     1064, 1064, 1428, 1428, 1428, 1428, 1067, 1067, 1067, 1067,
+     1067, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1161,
+     1161, 1161, 1161, 1161, 1162, 1067, 1067, 1067, 1067, 1067,
+     1067,  560, 1428, 1068, 1068, 1068, 1068, 1068, 1068, 1068,
+     1068,  968,  344,  176, 1070, 1070, 1070, 1070, 1070, 1070,
+     1070, 1070, 1071,  176, 1428, 1428, 1072, 1072, 1072, 1072,
+
+     1072, 1428, 1071, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
+     1072, 1428,  344,  176, 1428, 1072, 1072, 1072, 1072, 1072,
+     1072, 1076, 1071, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
+     1077, 1428, 1428,  845, 1081, 1082, 1083, 1081, 1081, 1081,
+     1081, 1081,  982, 1208,  983,  983,  983,  983,  983,  983,
+     1428, 1428,  125, 1076, 1428, 1078, 1078, 1078, 1078, 1078,
+     1078, 1078, 1078,   83, 1084, 1085, 1086, 1084, 1084, 1084,
+     1084, 1084, 1428,   83,  176, 1100, 1100, 1100, 1100, 1100,
+     1100, 1100, 1100, 1428,  125, 1076, 1428, 1079, 1079, 1079,
+     1079, 1079, 1080, 1077, 1077,  176, 1101, 1101, 1101, 1101,
+
+     1101, 1101, 1101, 1101,  176, 1102, 1102, 1102, 1102, 1102,
+     1103, 1100, 1100, 1428, 1428, 1428,  125,  982, 1053,  983,
+      983,  983,  983,  983,  983,  983,  983, 1104, 1215, 1105,
+     1105, 1105, 1105, 1105, 1105, 1105, 1105, 1104,  176, 1106,
+     1106, 1106, 1106, 1106, 1106, 1106, 1106, 1071,   83,  982,
+     1235,  983,  983,  983,  983,  983,  983,  983,  983, 1104,
+     1237, 1107, 1107, 1107, 1107, 1107, 1108, 1105, 1105, 1109,
+     1428, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1428,
+       83,  988, 1428, 1090, 1090, 1090, 1090, 1090, 1090, 1090,
+     1090,  990, 1109,  560, 1111, 1111, 1111, 1111, 1111, 1111,
+
+     1111, 1111, 1109, 1306, 1112, 1112, 1112, 1112, 1112, 1113,
+     1110, 1110, 1121, 1122, 1123, 1121, 1121, 1121, 1121, 1121,
+     1428, 1428, 1428, 1428, 1124, 1124, 1124, 1124, 1124, 1038,
+     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1204, 1204, 1204,
+     1204, 1204, 1205, 1124, 1124, 1124, 1124, 1124, 1124, 1126,
+     1127, 1128, 1126, 1126, 1126, 1126, 1126, 1428, 1428, 1428,
+     1428, 1129, 1129, 1129, 1129, 1129, 1038, 1038, 1038, 1038,
+     1038, 1038, 1038, 1038, 1428, 1428, 1428, 1428,  176, 1428,
+     1129, 1129, 1129, 1129, 1129, 1129,  642, 1071, 1130, 1130,
+     1130, 1130, 1130, 1130, 1130, 1130, 1026, 1132, 1133, 1134,
+
+     1132, 1132, 1132, 1132, 1132, 1428, 1428, 1428, 1428, 1135,
+     1135, 1135, 1135, 1135, 1137, 1138, 1139, 1137, 1137, 1137,
+     1137, 1137, 1211, 1211, 1211, 1211, 1211, 1212, 1135, 1135,
+     1135, 1135, 1135, 1135,  845, 1428, 1136, 1136, 1136, 1136,
+     1136, 1136, 1136, 1136, 1033, 1042, 1428, 1043, 1043, 1043,
+     1043, 1043, 1043, 1043, 1043, 1042, 1306, 1043, 1043, 1043,
+     1043, 1043, 1043, 1043, 1043, 1042, 1428, 1043, 1043, 1043,
+     1043, 1043, 1043, 1140, 1141, 1142, 1140, 1140, 1140, 1140,
+     1140, 1047, 1273, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
+     1048, 1047, 1275, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
+
+     1048, 1047, 1428, 1048, 1048, 1048, 1048, 1048, 1048, 1143,
+     1144, 1145, 1143, 1143, 1143, 1143, 1143, 1147, 1148, 1149,
+     1147, 1147, 1147, 1147, 1147, 1428, 1428, 1428, 1428, 1150,
+     1150, 1150, 1150, 1150, 1152, 1152, 1152, 1152, 1152, 1152,
+     1152, 1152, 1218, 1218, 1218, 1218, 1218, 1219, 1150, 1150,
+     1150, 1150, 1150, 1150, 1053, 1428, 1151, 1151, 1151, 1151,
+     1151, 1151, 1151, 1151, 1055, 1153, 1153, 1153, 1153, 1153,
+     1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1155, 1152,
+     1152,  560,  560, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
+     1157, 1158, 1306, 1428, 1428, 1159, 1159, 1159, 1159, 1159,
+
+     1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1240, 1240,
+     1240, 1240, 1240, 1241, 1159, 1159, 1159, 1159, 1159, 1159,
+     1428, 1428, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
+      344,  176, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
+     1071,  344,  176, 1165, 1165, 1165, 1165, 1165, 1165, 1428,
+     1428, 1071, 1166, 1167, 1168, 1166, 1166, 1166, 1166, 1166,
+     1428, 1076, 1428, 1077, 1077, 1077, 1077, 1077, 1077, 1169,
+     1169, 1169, 1169, 1169, 1169, 1169, 1169, 1428, 1428, 1428,
+     1428,  125, 1076, 1428, 1077, 1077, 1077, 1077, 1077, 1077,
+     1077, 1077,  125, 1428, 1428, 1428, 1428, 1428,   83, 1081,
+
+     1081, 1081, 1081, 1081, 1081, 1081, 1081, 1152, 1152, 1152,
+     1152, 1152, 1152,  125, 1076, 1428, 1077, 1077, 1077, 1077,
+     1077, 1077, 1077, 1077, 1428, 1428, 1428, 1428,   83, 1170,
+     1170, 1170, 1170, 1170, 1171, 1169, 1169,  176, 1100, 1100,
+     1100, 1100, 1100, 1100, 1172,  125, 1173, 1173, 1173, 1173,
+     1173, 1173, 1173, 1173, 1428, 1428, 1428, 1172,   83, 1174,
+     1174, 1174, 1174, 1174, 1174, 1174, 1174, 1172, 1428, 1175,
+     1175, 1175, 1175, 1175, 1176, 1173, 1173,  176, 1100, 1100,
+     1100, 1100, 1100, 1100, 1100, 1100,  176, 1100, 1100, 1100,
+     1100, 1100, 1100, 1100, 1100, 1184, 1185, 1186, 1184, 1184,
+
+     1184, 1184, 1184, 1104, 1428, 1105, 1105, 1105, 1105, 1105,
+     1105, 1105, 1105, 1104, 1428, 1105, 1105, 1105, 1105, 1105,
+     1105, 1105, 1105, 1104, 1428, 1105, 1105, 1105, 1105, 1105,
+     1105, 1187, 1188, 1189, 1187, 1187, 1187, 1187, 1187, 1109,
+     1428, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1109,
+     1428, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1109,
+     1428, 1110, 1110, 1110, 1110, 1110, 1110, 1192, 1193, 1194,
+     1192, 1192, 1192, 1192, 1192, 1195, 1428, 1428, 1428, 1196,
+     1196, 1196, 1196, 1196, 1203, 1203, 1203, 1203, 1203, 1203,
+     1203, 1203, 1428, 1428, 1428,  344,  176, 1428, 1196, 1196,
+
+     1196, 1196, 1196, 1196,  642, 1071, 1200, 1200, 1200, 1200,
+     1200, 1200, 1200, 1200, 1201, 1428, 1428, 1428, 1202, 1202,
+     1202, 1202, 1202, 1428, 1428, 1202, 1202, 1202, 1202, 1202,
+     1202, 1202, 1202, 1428, 1428, 1428, 1428, 1202, 1202, 1202,
+     1202, 1202, 1202,  845, 1428, 1207, 1207, 1207, 1207, 1207,
+     1207, 1207, 1207, 1208, 1428, 1428, 1428, 1209, 1209, 1209,
+     1209, 1209, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
+     1278, 1278, 1278, 1278, 1278, 1279, 1209, 1209, 1209, 1209,
+     1209, 1209, 1428, 1428, 1209, 1209, 1209, 1209, 1209, 1209,
+     1209, 1209, 1053, 1428, 1214, 1214, 1214, 1214, 1214, 1214,
+
+     1214, 1214, 1215, 1428, 1428, 1428, 1216, 1216, 1216, 1216,
+     1216, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1220,
+     1220, 1220, 1220, 1220, 1220, 1216, 1216, 1216, 1216, 1216,
+     1216, 1428, 1428, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
+     1216, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1221,
+     1221, 1221, 1221, 1221, 1221, 1221, 1221, 1222, 1222, 1222,
+     1222, 1222, 1223, 1220, 1220, 1224, 1428, 1225, 1225, 1225,
+     1225, 1225, 1225, 1225, 1225, 1224, 1428, 1226, 1226, 1226,
+     1226, 1226, 1226, 1226, 1226, 1224, 1428, 1227, 1227, 1227,
+     1227, 1227, 1228, 1225, 1225, 1229, 1428, 1230, 1230, 1230,
+
+     1230, 1230, 1230, 1230, 1230, 1229, 1428, 1231, 1231, 1231,
+     1231, 1231, 1231, 1231, 1231, 1229, 1428, 1232, 1232, 1232,
+     1232, 1232, 1233, 1230, 1230, 1235, 1428, 1236, 1236, 1236,
+     1236, 1236, 1236, 1236, 1236, 1237, 1428, 1428, 1428, 1238,
+     1238, 1238, 1238, 1238, 1239, 1239, 1239, 1239, 1239, 1239,
+     1239, 1239, 1309, 1309, 1309, 1309, 1309, 1310, 1238, 1238,
+     1238, 1238, 1238, 1238, 1428, 1428, 1238, 1238, 1238, 1238,
+     1238, 1238, 1238, 1238, 1152, 1152, 1152, 1152, 1152, 1152,
+     1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
+     1243, 1244, 1245, 1243, 1243, 1243, 1243, 1243, 1428, 1428,
+
+     1428, 1428, 1246, 1246, 1246, 1246, 1246, 1428, 1428, 1250,
+     1250, 1250, 1250, 1250, 1250, 1250, 1250, 1428, 1428, 1428,
+     1428, 1246, 1246, 1246, 1246, 1246, 1246,  560, 1428, 1247,
+     1247, 1247, 1247, 1247, 1247, 1247, 1247, 1158,  125, 1166,
+     1166, 1166, 1166, 1166, 1166, 1166, 1166, 1251, 1251, 1251,
+     1251, 1251, 1252, 1250, 1250, 1169, 1169, 1169, 1169, 1169,
+     1169, 1169, 1169, 1428, 1428, 1428, 1428, 1428,  125, 1169,
+     1169, 1169, 1169, 1169, 1169, 1172,  125, 1173, 1173, 1173,
+     1173, 1173, 1173, 1428,   83, 1253, 1254, 1255, 1253, 1253,
+     1253, 1253, 1253, 1428, 1428, 1428, 1428, 1172,   83, 1173,
+
+     1173, 1173, 1173, 1173, 1173, 1173, 1173, 1172, 1428, 1173,
+     1173, 1173, 1173, 1173, 1173, 1173, 1173,  176, 1262, 1262,
+     1262, 1262, 1262, 1262, 1262, 1262,  176, 1263, 1263, 1263,
+     1263, 1263, 1263, 1263, 1263,  176, 1264, 1264, 1264, 1264,
+     1264, 1265, 1262, 1262, 1266, 1428, 1267, 1267, 1267, 1267,
+     1267, 1267, 1267, 1267, 1266, 1428, 1268, 1268, 1268, 1268,
+     1268, 1268, 1268, 1268, 1266, 1428, 1269, 1269, 1269, 1269,
+     1269, 1270, 1267, 1267, 1273, 1428, 1274, 1274, 1274, 1274,
+     1274, 1274, 1274, 1274, 1275, 1428, 1428, 1428, 1276, 1276,
+     1276, 1276, 1276, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
+
+     1277, 1336, 1336, 1336, 1336, 1336, 1336, 1276, 1276, 1276,
+     1276, 1276, 1276, 1428, 1428, 1276, 1276, 1276, 1276, 1276,
+     1276, 1276, 1276,  642, 1428, 1285, 1285, 1285, 1285, 1285,
+     1285, 1285, 1285, 1201,  845, 1428, 1288, 1288, 1288, 1288,
+     1288, 1288, 1288, 1288, 1208, 1053, 1428, 1291, 1291, 1291,
+     1291, 1291, 1291, 1291, 1291, 1215, 1220, 1220, 1220, 1220,
+     1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+     1220, 1220, 1292, 1293, 1294, 1292, 1292, 1292, 1292, 1292,
+     1224, 1428, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
+     1224, 1428, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
+
+     1224, 1428, 1225, 1225, 1225, 1225, 1225, 1225, 1295, 1296,
+     1297, 1295, 1295, 1295, 1295, 1295, 1229, 1428, 1230, 1230,
+     1230, 1230, 1230, 1230, 1230, 1230, 1229, 1428, 1230, 1230,
+     1230, 1230, 1230, 1230, 1230, 1230, 1229, 1428, 1230, 1230,
+     1230, 1230, 1230, 1230, 1298, 1299, 1300, 1298, 1298, 1298,
+     1298, 1298, 1235, 1428, 1303, 1303, 1303, 1303, 1303, 1303,
+     1303, 1303, 1237,  560, 1428, 1305, 1305, 1305, 1305, 1305,
+     1305, 1305, 1305, 1306, 1428, 1428, 1428, 1307, 1307, 1307,
+     1307, 1307, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
+     1397, 1397, 1397, 1397, 1397, 1397, 1307, 1307, 1307, 1307,
+
+     1307, 1307, 1428, 1428, 1307, 1307, 1307, 1307, 1307, 1307,
+     1307, 1307, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
+     1250, 1250, 1250, 1250, 1250, 1250, 1312, 1428, 1313, 1313,
+     1313, 1313, 1313, 1313, 1313, 1313, 1428, 1428, 1428, 1428,
+     1266,  125, 1267, 1267, 1267, 1267, 1267, 1267, 1312,  125,
+     1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1312, 1428,
+     1315, 1315, 1315, 1315, 1315, 1316, 1313, 1313,  176, 1262,
+     1262, 1262, 1262, 1262, 1262, 1262, 1262,  176, 1262, 1262,
+     1262, 1262, 1262, 1262, 1262, 1262,  176, 1262, 1262, 1262,
+     1262, 1262, 1262, 1317, 1318, 1319, 1317, 1317, 1317, 1317,
+
+     1317, 1266, 1428, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
+     1267, 1266, 1428, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
+     1267, 1320, 1321, 1322, 1320, 1320, 1320, 1320, 1320, 1273,
+     1428, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1275,
+     1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1337, 1337,
+     1337, 1337, 1337, 1337, 1337, 1337, 1338, 1338, 1338, 1338,
+     1338, 1339, 1336, 1336, 1340, 1428, 1341, 1341, 1341, 1341,
+     1341, 1341, 1341, 1341, 1340, 1428, 1342, 1342, 1342, 1342,
+     1342, 1342, 1342, 1342, 1340, 1428, 1343, 1343, 1343, 1343,
+     1343, 1344, 1341, 1341, 1345, 1428, 1346, 1346, 1346, 1346,
+
+     1346, 1346, 1346, 1346, 1345, 1428, 1347, 1347, 1347, 1347,
+     1347, 1347, 1347, 1347, 1345, 1428, 1348, 1348, 1348, 1348,
+     1348, 1349, 1346, 1346,  560, 1428, 1354, 1354, 1354, 1354,
+     1354, 1354, 1354, 1354, 1306, 1356, 1357, 1358, 1356, 1356,
+     1356, 1356, 1356, 1312, 1428, 1313, 1313, 1313, 1313, 1313,
+     1313, 1313, 1313, 1312, 1428, 1313, 1313, 1313, 1313, 1313,
+     1313, 1313, 1313, 1312, 1428, 1313, 1313, 1313, 1313, 1313,
+     1313,  176, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+      176, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,  176,
+     1361, 1361, 1361, 1361, 1361, 1362, 1359, 1359, 1363, 1428,
+
+     1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1363, 1428,
+     1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1363, 1428,
+     1366, 1366, 1366, 1366, 1366, 1367, 1364, 1364, 1336, 1336,
+     1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336,
+     1336, 1336, 1336, 1336, 1375, 1376, 1377, 1375, 1375, 1375,
+     1375, 1375, 1340, 1428, 1341, 1341, 1341, 1341, 1341, 1341,
+     1341, 1341, 1340, 1428, 1341, 1341, 1341, 1341, 1341, 1341,
+     1341, 1341, 1340, 1428, 1341, 1341, 1341, 1341, 1341, 1341,
+     1378, 1379, 1380, 1378, 1378, 1378, 1378, 1378, 1345, 1428,
+     1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1345, 1428,
+
+     1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1345, 1428,
+     1346, 1346, 1346, 1346, 1346, 1346,  176, 1384, 1384, 1384,
+     1384, 1384, 1384, 1384, 1384,  176, 1385, 1385, 1385, 1385,
+     1385, 1385, 1385, 1385,  176, 1386, 1386, 1386, 1386, 1386,
+     1387, 1384, 1384,  176, 1359, 1359, 1359, 1359, 1359, 1359,
+     1359, 1359,  176, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+     1359,  176, 1359, 1359, 1359, 1359, 1359, 1359, 1388, 1389,
+     1390, 1388, 1388, 1388, 1388, 1388, 1363, 1428, 1364, 1364,
+     1364, 1364, 1364, 1364, 1364, 1364, 1363, 1428, 1364, 1364,
+     1364, 1364, 1364, 1364, 1364, 1364, 1363, 1428, 1364, 1364,
+
+     1364, 1364, 1364, 1364, 1397, 1397, 1397, 1397, 1397, 1397,
+     1397, 1397, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
+     1399, 1399, 1399, 1399, 1399, 1400, 1397, 1397, 1401, 1428,
+     1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1401, 1428,
+     1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1401, 1428,
+     1404, 1404, 1404, 1404, 1404, 1405, 1402, 1402,  176, 1384,
+     1384, 1384, 1384, 1384, 1384, 1384, 1384,  176, 1384, 1384,
+     1384, 1384, 1384, 1384, 1384, 1384,  176, 1384, 1384, 1384,
+     1384, 1384, 1384, 1408, 1428, 1409, 1409, 1409, 1409, 1409,
+     1409, 1409, 1409, 1408, 1428, 1410, 1410, 1410, 1410, 1410,
+
+     1410, 1410, 1410, 1408, 1428, 1411, 1411, 1411, 1411, 1411,
+     1412, 1409, 1409, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
+     1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1413,
+     1414, 1415, 1413, 1413, 1413, 1413, 1413, 1401, 1428, 1402,
+     1402, 1402, 1402, 1402, 1402, 1402, 1402, 1401, 1428, 1402,
+     1402, 1402, 1402, 1402, 1402, 1402, 1402, 1401, 1428, 1402,
+     1402, 1402, 1402, 1402, 1402, 1417, 1418, 1419, 1417, 1417,
+     1417, 1417, 1417, 1408, 1428, 1409, 1409, 1409, 1409, 1409,
+     1409, 1409, 1409, 1408, 1428, 1409, 1409, 1409, 1409, 1409,
+     1409, 1409, 1409, 1408, 1428, 1409, 1409, 1409, 1409, 1409,
+
+     1409, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1421,
+     1421, 1421, 1421, 1421, 1421, 1421, 1421, 1422, 1422, 1422,
+     1422, 1422, 1423, 1420, 1420, 1424, 1424, 1424, 1424, 1424,
+     1424, 1424, 1424, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
+     1425, 1426, 1426, 1426, 1426, 1426, 1427, 1424, 1424, 1420,
+     1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
+     1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
+     1420, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
+     1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
+     1424, 1424, 1424,   67,   67,   67,   67,   67,   67,   67,
+
+       67,   67,   67,   67,   21,   21,   21,   21,   21,   21,
+       21,   21,   21,   21,   21,   75,   75,   75,   75,   75,
+       75,   75,   75,   75,   75,   75,   82, 1428, 1428, 1428,
+       82,   82,   82, 1428,   82,   82,   82,   86,   86,   86,
+       86,   86,   86,   86,   86,   86,   86,   86,   88, 1428,
+     1428, 1428,   88,   88,   88, 1428,   88,   88,   88,   90,
+     1428, 1428, 1428,   90,   90,   90, 1428,   90,   90,   90,
+       92, 1428,   92, 1428,   92,   92,   92, 1428,   92,   92,
+       92,  124, 1428, 1428, 1428,  124,  124,  124, 1428,  124,
+      124,  124,  127, 1428, 1428, 1428,  127,  127,  127, 1428,
+
+      127,  127,  127,  129, 1428, 1428, 1428,  129,  129,  129,
+     1428,  129,  129,  129,  131, 1428,  131, 1428,  131,  131,
+      131, 1428,  131,  131,  131,  148, 1428,  148, 1428,  148,
+      148,  148, 1428,  148,  148,  148,  152, 1428,  152,  152,
+      152,  152,  152, 1428, 1428,  152,  152,  158,  158,  159,
+     1428,  159, 1428,  159,  159,  159,  159,  159,  159,  159,
+      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
+      161,  166,  166,  166,  166,  166,  166,  166,  166,  166,
+      166,  166,   93, 1428,   93, 1428,   93,   93,   93, 1428,
+       93,   93,   93,  173,  173, 1428, 1428,  173,  177,  177,
+
+     1428, 1428, 1428,  177,  149, 1428,  149, 1428,  149,  149,
+      149, 1428,  149,  149,  149,  162,  162,  162,  162,  162,
+      162,  162,  162,  162,  162,  162,  223,  223, 1428, 1428,
+      223,  234,  234,  234, 1428, 1428,  234,  272,  272, 1428,
+     1428,  272,  273,  273, 1428, 1428,  273,  282,  282, 1428,
+     1428,  282,  288,  288,  288, 1428, 1428,  288,  322,  322,
+     1428, 1428,  322,  323,  323, 1428, 1428,  323,  332,  332,
+      332,  332, 1428, 1428,  332,  338,  338, 1428, 1428,  338,
+      339,  339, 1428, 1428,  339,  342, 1428, 1428, 1428,  342,
+      343,  343,  343, 1428, 1428,  343,  377,  377, 1428, 1428,
+
+      377,  378,  378, 1428, 1428,  378,  391,  391,  391, 1428,
+     1428,  391,  399,  399, 1428, 1428,  399,  400,  400, 1428,
+     1428,  400,  406,  406, 1428, 1428,  406,  411,  411,  411,
+      411, 1428, 1428,  411,  443,  443, 1428, 1428,  443,  444,
+      444, 1428, 1428,  444,  446,  446, 1428, 1428, 1428,  446,
+      447,  447,  447,  447, 1428, 1428,  447,  459,  459,  459,
+      459, 1428, 1428,  459,  465,  465, 1428, 1428,  465,  466,
+      466, 1428, 1428,  466,  475,  475, 1428, 1428,  475,  485,
+      485,  485, 1428, 1428,  485,  513,  513, 1428, 1428,  513,
+      514,  514, 1428, 1428,  514,  516,  516,  516, 1428, 1428,
+
+      516,  518,  518,  518, 1428, 1428,  518,  535,  535,  535,
+     1428, 1428,  535,  543,  543, 1428, 1428,  543,  544,  544,
+     1428, 1428,  544,  553, 1428,  553,  553, 1428, 1428,  553,
+      559,  559, 1428, 1428,  559,  570,  570,  570,  570, 1428,
+     1428,  570,   86,   86,   86,   86,   86,   86,   86,   86,
+       86,   86,   86,  597,  597, 1428, 1428,  597,  598,  598,
+     1428, 1428,  598,  600,  600, 1428, 1428, 1428,  600,  601,
+      601,  601, 1428, 1428,  601,  606,  606,  606,  606, 1428,
+     1428,  606,  621,  621,  621,  621, 1428, 1428,  621,  627,
+      627, 1428, 1428,  627,  628,  628, 1428, 1428,  628,  641,
+
+      641, 1428, 1428,  641,  652, 1428,  652,  652, 1428, 1428,
+      652,  663,  663,  663, 1428, 1428,  663,   86,   86,   86,
+       86,   86,   86,   86,   86,   86,   86,   86,   82, 1428,
+     1428, 1428,   82,   82,   82, 1428,   82,   82,   82,  673,
+     1428, 1428, 1428,  673,  673,  673, 1428,  673,  673,  673,
+      675, 1428, 1428, 1428,  675,  675,  675, 1428,  675,  675,
+      675,  124, 1428, 1428, 1428,  124,  124,  124, 1428,  124,
+      124,  124,  689,  689, 1428, 1428,  689,  690,  690, 1428,
+     1428,  690,  692,  692,  692, 1428, 1428,  692,  694,  694,
+      694, 1428, 1428,  694,  701,  701,  701, 1428, 1428,  701,
+
+      722,  722,  722, 1428, 1428,  722,  730,  730, 1428, 1428,
+      730,  731,  731, 1428, 1428,  731,  733, 1428, 1428, 1428,
+      733,  734, 1428,  734,  734, 1428, 1428,  734,  746, 1428,
+      746,  746, 1428, 1428,  746,  757,  757, 1428, 1428,  757,
+      767,  767,  767,  767, 1428, 1428,  767,  774,  774,  774,
+      774,  774,  774,  774,  774,  774,  774,  774,   82, 1428,
+     1428, 1428,   82,   82,   82, 1428,   82,   82,   82,  673,
+     1428, 1428, 1428,  673,  673,  673, 1428,  673,  673,  673,
+      675, 1428, 1428, 1428,  675,  675,  675, 1428,  675,  675,
+      675,  124, 1428, 1428, 1428,  124,  124,  124, 1428,  124,
+
+      124,  124,  786,  786, 1428, 1428,  786,  787,  787, 1428,
+     1428,  787,  789,  789, 1428, 1428, 1428,  789,  790,  790,
+      790, 1428, 1428,  790,  795,  795,  795,  795, 1428, 1428,
+      795,  801,  801,  801,  801, 1428, 1428,  801,  816,  816,
+      816,  816, 1428, 1428,  816,  822,  822, 1428, 1428,  822,
+      823,  823, 1428, 1428,  823,  825,  825, 1428, 1428,  825,
+      827,  827, 1428, 1428,  827,  844,  844, 1428, 1428,  844,
+      855, 1428,  855,  855, 1428, 1428,  855,  865,  865,  865,
+     1428, 1428,  865,  774,  774,  774,  774,  774,  774,  774,
+      774,  774,  774,  774,  124, 1428, 1428, 1428,  124,  124,
+
+      124, 1428,  124,  124,  124,   82, 1428, 1428, 1428,   82,
+       82,   82, 1428,   82,   82,   82,  880,  880, 1428, 1428,
+      880,  886,  886,  886, 1428, 1428,  886,  888,  888,  888,
+     1428, 1428,  888,  895,  895,  895, 1428, 1428,  895,  902,
+      902,  902, 1428, 1428,  902,  923,  923,  923, 1428, 1428,
+      923,  931,  931, 1428, 1428,  931,  932,  932, 1428, 1428,
+      932,  934, 1428, 1428, 1428,  934,  935,  935, 1428, 1428,
+      935,  940, 1428,  940,  940, 1428, 1428,  940,  955, 1428,
+      955,  955, 1428, 1428,  955,  966,  966, 1428, 1428,  966,
+      973,  973,  973,  973, 1428, 1428,  973,  124, 1428, 1428,
+
+     1428,  124,  124,  124, 1428,  124,  124,  124,   82, 1428,
+     1428, 1428,   82,   82,   82, 1428,   82,   82,   82,  987,
+      987, 1428, 1428,  987,  995,  995, 1428, 1428, 1428,  995,
+      996,  996,  996, 1428, 1428,  996,  997, 1428, 1428, 1428,
+      997,  998,  998,  998,  998, 1428, 1428,  998,  999, 1428,
+     1428, 1428,  999, 1001, 1001, 1001, 1001, 1428, 1428, 1001,
+     1002, 1428, 1428, 1428, 1002, 1004, 1004, 1004, 1004, 1428,
+     1428, 1004, 1005, 1428, 1428, 1428, 1005, 1016, 1016, 1016,
+     1016, 1428, 1428, 1016, 1017, 1428, 1428, 1428, 1017, 1019,
+     1019, 1428, 1428, 1019, 1020, 1020, 1428, 1428, 1020, 1022,
+
+     1022, 1428, 1428, 1022, 1024, 1024, 1428, 1428, 1024, 1031,
+     1031, 1428, 1428, 1031, 1052, 1052, 1428, 1428, 1052, 1063,
+     1428, 1063, 1063, 1428, 1428, 1063, 1069, 1069, 1069, 1428,
+     1428, 1069,  124, 1428, 1428, 1428,  124,  124,  124, 1428,
+      124,  124,  124,   82, 1428, 1428, 1428,   82,   82,   82,
+     1428,   82,   82,   82, 1087, 1428, 1087, 1087, 1428, 1428,
+     1087, 1088, 1088, 1428, 1428, 1088, 1091, 1091, 1428, 1428,
+     1428, 1091, 1092, 1092, 1092, 1428, 1428, 1092, 1093, 1093,
+     1428, 1428, 1428, 1093, 1094, 1094, 1094, 1428, 1428, 1094,
+     1095, 1095, 1428, 1428, 1428, 1095, 1096, 1096, 1096, 1428,
+
+     1428, 1096, 1097, 1097, 1428, 1428, 1428, 1097, 1098, 1098,
+     1098, 1428, 1428, 1098, 1099, 1099, 1428, 1428, 1428, 1099,
+     1114, 1114, 1114, 1428, 1428, 1114, 1115, 1115, 1428, 1428,
+     1428, 1115, 1116, 1116, 1428, 1428, 1116, 1117, 1117, 1428,
+     1428, 1117, 1119, 1428, 1428, 1428, 1119, 1120, 1120, 1428,
+     1428, 1120, 1125, 1428, 1125, 1125, 1428, 1428, 1125, 1131,
+     1428, 1131, 1131, 1428, 1428, 1131, 1146, 1428, 1146, 1146,
+     1428, 1428, 1146, 1156, 1156, 1428, 1428, 1156, 1163, 1163,
+     1163, 1163, 1428, 1428, 1163, 1164, 1428, 1428, 1428, 1164,
+      124, 1428, 1428, 1428,  124,  124,  124, 1428,  124,  124,
+
+      124,   82, 1428, 1428, 1428,   82,   82,   82, 1428,   82,
+       82,   82, 1177, 1177, 1428, 1428, 1177, 1178, 1178, 1428,
+     1428, 1428, 1178, 1179, 1179, 1428, 1428, 1428, 1179, 1180,
+     1180, 1428, 1428, 1428, 1180, 1181, 1181, 1428, 1428, 1428,
+     1181, 1182, 1182, 1428, 1428, 1428, 1182, 1183, 1183, 1428,
+     1428, 1428, 1183, 1190, 1190, 1428, 1428, 1428, 1190, 1191,
+     1191, 1428, 1428, 1191, 1197, 1197, 1428, 1428, 1197, 1199,
+     1199, 1428, 1428, 1199, 1206, 1206, 1428, 1428, 1206, 1213,
+     1213, 1428, 1428, 1213, 1234, 1234, 1428, 1428, 1234, 1242,
+     1428, 1242, 1242, 1428, 1428, 1242, 1248, 1248, 1248, 1428,
+
+     1428, 1248, 1249, 1249, 1428, 1428, 1428, 1249,  124, 1428,
+     1428, 1428,  124,  124,  124, 1428,  124,  124,  124,   82,
+     1428, 1428, 1428,   82,   82,   82, 1428,   82,   82,   82,
+     1256, 1256, 1428, 1428, 1428, 1256, 1257, 1257, 1428, 1428,
+     1428, 1257, 1258, 1258, 1428, 1428, 1428, 1258, 1259, 1259,
+     1428, 1428, 1428, 1259, 1260, 1260, 1428, 1428, 1428, 1260,
+     1261, 1261, 1428, 1428, 1428, 1261, 1271, 1271, 1428, 1428,
+     1428, 1271, 1272, 1272, 1428, 1428, 1272, 1280, 1428, 1428,
+     1428, 1280, 1281, 1281, 1428, 1428, 1281, 1282, 1428, 1428,
+     1428, 1282, 1283, 1428, 1283, 1283, 1428, 1428, 1283, 1284,
+
+     1428, 1428, 1428, 1284, 1286, 1428, 1286, 1286, 1428, 1428,
+     1286, 1287, 1428, 1428, 1428, 1287, 1289, 1428, 1289, 1289,
+     1428, 1428, 1289, 1290, 1428, 1428, 1428, 1290, 1301, 1428,
+     1301, 1301, 1428, 1428, 1301, 1302, 1428, 1428, 1428, 1302,
+     1304, 1304, 1428, 1428, 1304, 1311, 1311, 1428, 1428, 1428,
+     1311,  124, 1428, 1428, 1428,  124,  124,  124, 1428,  124,
+      124,  124, 1089, 1089, 1428, 1428, 1428, 1089, 1323, 1428,
+     1323, 1323, 1428, 1428, 1323, 1324, 1324, 1428, 1428, 1324,
+     1327, 1428, 1428, 1428, 1327, 1328, 1328, 1428, 1428, 1328,
+     1329, 1428, 1428, 1428, 1329, 1330, 1330, 1428, 1428, 1330,
+
+     1331, 1428, 1428, 1428, 1331, 1332, 1332, 1428, 1428, 1332,
+     1333, 1428, 1428, 1428, 1333, 1334, 1334, 1428, 1428, 1334,
+     1335, 1428, 1428, 1428, 1335, 1350, 1350, 1428, 1428, 1350,
+     1351, 1428, 1428, 1428, 1351, 1352, 1428, 1352, 1352, 1428,
+     1428, 1352, 1353, 1428, 1428, 1428, 1353, 1355, 1355, 1428,
+     1428, 1428, 1355, 1368, 1368, 1428, 1428, 1368, 1369, 1428,
+     1428, 1428, 1369, 1370, 1428, 1428, 1428, 1370, 1371, 1428,
+     1428, 1428, 1371, 1372, 1428, 1428, 1428, 1372, 1373, 1428,
+     1428, 1428, 1373, 1374, 1428, 1428, 1428, 1374, 1381, 1428,
+     1428, 1428, 1381, 1382, 1382, 1428, 1428, 1382, 1383, 1428,
+
+     1428, 1428, 1383, 1391, 1428, 1428, 1428, 1391, 1392, 1428,
+     1428, 1428, 1392, 1393, 1428, 1428, 1428, 1393, 1394, 1428,
+     1428, 1428, 1394, 1395, 1428, 1428, 1428, 1395, 1396, 1428,
+     1428, 1428, 1396, 1406, 1428, 1428, 1428, 1406, 1407, 1428,
+     1428, 1428, 1407, 1325, 1428, 1428, 1428, 1325, 1416, 1428,
+     1428, 1428, 1416,   13, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428
     } ;
 
-static yyconst short int yy_chk[10433] =
+static yyconst short int yy_chk[10317] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -2043,1148 +2019,1135 @@ static yyconst short int yy_chk[10433] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    2,  201,   39,  201,    2,   26,
-       26,   26,   26,   26,   26,   26,   26,   27,   27,   27,
-       27,   27,   27,   39,   54,   54,   54,   54,   54,   54,
-       54,   54,    2,    2,   75,   75,    2,   83,   83,  114,
+        1,    1,    2,  195,   38,  195,    2,   26,   26,   26,
+       26,   26,   26,   26,   26,   27,   27,   27,   27,   27,
+       27,   38,   53,   53,   53,   53,   53,   53,   53,   53,
+        2,    2,   73,   73,    2,   81,   81, 1409,    2,  154,
 
-      158,  158,    2, 1441,  114,    2,    3,    3,    3,    3,
+      154,    2,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        5,    6,   41,   79,    5,    6,    5,    6,    7,    7,
-        7,   24,    7,    5,    6,   24,   24,  124,    7,    8,
-        8,    8,  121,    8,  122,   79,  112,  112,  123,    8,
-
-        7,    7,  124,   24,   52, 1434,  122,   81,   52,   52,
-       65,    8,    8,   38,   40,   38,   38,   38,   38,   38,
-       38,   38,   38,    7,   24,   41,   52,   65,   67,   81,
-        5,    6,   67,   67,    8,    9,    9,    9,  123,    9,
-      202,  112,   40,   40,  150,  126,   40,   52,  121,  150,
-       67,  126,   40,   48,  202,   40,   48,   48,   48,   48,
-       48,   48,   48,   48,   55,   55,   55,   55,   55,   55,
-       64,   67,   64,   64,   64,   64,   64,   64,   64,   64,
+        3,    3,    3,    3,    5,    6,   77,   40,    5,    6,
+        5,    6,    7,    7,    7,   24,    7,    5,    6,   24,
+       24,   39,    7,    8,    8,    8,   77,    8,  118,  121,
+       63,   66,   79,    8,    7,    7,  252,   24,   54,   54,
+
+       54,   54,   54,   54,  121,    8,    8,   63,   66,   39,
+       39,  252,   79,   39,  106,    7,   24,   39,   40,  106,
+       39,  106,    5,    6,  157,  157,    8,    9,    9,    9,
+       37,    9,   37,   37,   37,   37,   37,   37,   37,   37,
+       47, 1402,  118,   47,   47,   47,   47,   47,   47,   47,
+       47,   62,  305,   62,   62,   62,   62,   62,   62,   62,
+       62,   99,   99,   99,   99,   99,   99,   99,   99,  305,
         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
         9,    9,    9,    9,    9,    9,    9,    9,   10,   10,
-
-       10,   68,   10,   85,  125,   85,  155,   85,  109,   85,
-       85,  155,  109,   85, 1416,  109,  125,  109,   68,  103,
-      103,  103,  103,  103,  103,   85,   85,   85,  141,  141,
-      141,  141,  141,  141, 1414,   97,   97,   97,   97,   97,
-       97,   97,   97,   10,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,   11,   11,   11,   11,   11,   97,  197,  149,  149,
-       11,   11,   11,  161,  161,   74,   74,   74,  164,   74,
-      166,  226,  164,   74,   11,   74,  181,  146,  164,   78,
-       78,  146,   78,   78,  146,  181,  146,   74,   74,   78,
-
-      198,  164,  167, 1400,  167,  198,   11,   12,   12,   12,
-       12,   12,   78,  149,  226,  197,   12,   12,   12,   91,
-       74,   91,  166,   91,  191,   91,   91,  171,  171,   91,
-       12,  200,  217,  253,   78,  262,  222,  191,  219,  253,
-      318,   91,   91,   91,   94,  217,  167,  200,   94,   94,
-      262,  219,   12,   25, 1396,   25,   25,   25,   25,   25,
-       25,   25,   25,   25,  259,  242,   94,   25,   25,   25,
-       25,   25,  171,   93,  242,   93,  230,   93,  222,   93,
-       93,  260,  260,   93,  498,  498,   25,   94,   25,   25,
-       25,   25,   25,   25,   30,   93,   93,   93,   30,  230,
-
-       30,  318, 1391,   30,   30, 1387,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,  259, 1384,
+       10,   83,   10,   83,  111,   83,  119,   83,   83,  111,
+
+       89,   83,   89,  123,   89,  222,   89,   89,  119,  123,
+       89,  109,  109,   83,   83,   83,  101,  101,  101,  101,
+      101,  101,   89,   89,   89,  120,  222,  145,  145,  191,
+     1384,   10,   10,   10,   10,   10,   10,   10,   10,   10,
+       10,   10,   10,   10,   10,   10,   10,   10,   10,   11,
+       11,   11,   11,   11,  109,  122,  177,   51,   11,   11,
+       11,   51,   51,  120,   65,  177,  142,  122,   65,   65,
+      145,  142,   11,  142,  162,  191, 1382,   76,   76,   51,
+       76,   76,  214, 1368,   92,  146,   65,   76,   92,   92,
+      146,  258,   11,   12,   12,   12,   12,   12,   51,  112,
+
+       76, 1364,   12,   12,   12,   65,   92,   72,   72,   72,
+      185,   72,  258,  151,  162,   72,   12,   72,  151,  196,
+       76,  209,  214,  185,  163,   92,  163,  112,  112,   72,
+       72,  112,  194,  196,  209,  112,   12,   25,  112,   25,
+       25,   25,   25,   25,   25,   25,   25,   25,  194,  249,
+       72,   25,   25,   25,   25,   25,  211,  237,   95,   95,
+       95,   95,   95,   95,   95,   95,  163,  306,   25,  211,
+       25,   25,   25,   25,   25,   25,   30,  306,  192,  237,
+       30, 1359,   30,  192,  361,   30,   30,   95,   30,   30,
        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
+
+      361,  249,   30,   30,   30,   30,   30,   30,   30,   30,
        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
        30,   30,   30,   30,   30,   30,   30,   30,   32,   32,
-       32,   32,   32,   32,   32,   32,   32,  239,  239,  239,
-       32,   32,   32,   32,   32,  101,  101,  101,  101,  101,
-      101,  101,  101,  102,  102,  102,  102,  102,  102,  102,
-      102,   32,   32,   32,   32,   32,   32,   37,   37,   37,
-
-      264,   37,  377,   37,   37,  129, 1382,   37,  129,  129,
-      129,  129,  129,  129,  129,  129,  319,  334,  268,   37,
-       37,   37,   53,  245,   53,   53,   53,   53,   53,   53,
-       53,   53,   53,  264,  270,  319,   53,   53,   53,   53,
-       53,  268,   96,  320,   96,  245,   96,  261,   96,   96,
-      334,  377,   96,  320, 1378,   53,  270,   53,   53,   53,
-       53,   53,   53,   56,   96,   96,   96,   56,  278,   56,
-      261, 1373,   56,   56,  278,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,  261, 1366,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   58,   58,   58,
-       58,   58,   58,   58,   58,   58,  300,  305,  279,   58,
-       58,   58,   58,   58,  279,  300,  115,  348,  136,  136,
-      136,  136,  136,  136,  136,  136,  348, 1364,  280,  305,
-       58,   58,   58,   58,   58,   58,   63,   63,   63,  450,
-       63, 1362,   63,   63,  115,  115,   63,  134,  115,  136,
-      314,  134,  134, 1360,  115,  314,  379,  115,   63,   63,
-       63,   98,   98,   98,   98,   98,   98,   98,   98,  134,
-
-      280, 1355,  379,   98,   98,   98,   98,   98,  139,  139,
-      139,  139,  139,  139,  139,  139,  368,  152,  331,  450,
-      134,  152,  152,  331,   98,   98,   98,   98,   98,   98,
-      105,  105,  105,  105,  105,  105,  105,  105,  368,  152,
-      288,  288,  105,  105,  105,  105,  105,  128, 1345,  128,
-      288,  128,  378,  128,  128,  372,  332,  128,  373,  381,
-      152,  332,  378,  105,  105,  105,  105,  105,  105,  128,
-      128,  128,  131, 1343,  131,  359,  131,  372,  131,  131,
-      373,  133,  131,  133,  359,  133, 1336,  133,  133,  386,
-     1333,  133,  381,  390,  131,  131,  131,  235,  235,  235,
-
-      235,  235,  235,  133,  133,  133,  135,  463,  135,  447,
-      135,  386,  135,  135, 1321,  390,  135,  140,  140,  140,
-      140,  140,  140,  140,  140,  447,  452, 1318,  135,  135,
-      135,  137,  137,  137,  137,  137,  137,  137,  137,  463,
-      525,  452,  525,  137,  137,  137,  137,  137,  225,  225,
-      225,  225,  225,  225,  225,  225,  234,  234,  234,  234,
-      234,  234,  234,  234,  137,  137,  137,  137,  137,  137,
-      142,  142,  142,  142,  142,  142,  142,  142,  391,  225,
-      290,  290,  142,  142,  142,  142,  142,  154, 1315,  154,
-      290,  154,  374,  154,  154,  524,  524,  154,  437, 1313,
-
-      391,  374, 1307,  142,  142,  142,  142,  142,  142,  154,
-      154,  154,  165,  165,  172,  165,  165,  218,  172, 1304,
-      437,  218,  165, 1303,  172, 1299,  460,  218,  223,  223,
-      438,  223,  223,  353,  353,  165,  172,  172,  223,  218,
-      218,  392,  460,  353,  393,  224,  224,  411,  224,  224,
-      392,  223,  438,  393,  461,  224,  411,  165,  173,  443,
-      173,  173,  173,  173,  173,  173,  173,  173,  224, 1294,
-      461,  528,  229,  223,  229,  229,  229,  229,  229,  229,
-      236,  443,  236,  236,  236,  236,  236,  236,  236,  236,
-      224,  173,  174,  431,  174,  174,  174,  174,  174,  174,
-
-      174,  174,  431,  528, 1293,  229,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  263,  263,  263,  263,  263,
-      263,  263,  263,  445,  621,  174,  175,  451,  175,  175,
-      175,  175,  175,  175,  175,  175,  451,  267, 1292,  267,
-      267,  267,  267,  267,  267,  445,  263,  287,  287,  287,
-      287,  287,  287,  287,  287,  594,  594,  621,  612,  175,
-      176, 1291,  176,  176,  176,  176,  176,  176,  176,  176,
-      267,  456,  516,  612,  176,  176,  176,  176,  176,  293,
-      293,  293,  293,  293,  293,  293,  293, 1290,  605,  293,
-     1289,  607, 1288,  456,  516,  176,  176,  176,  176,  176,
-
-      176,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      605, 1282,  519,  607,  178,  178,  178,  178,  178,  296,
-      296,  296,  296,  296,  296,  296,  296,  296,  303,  303,
-      303,  303,  303,  303,  519,  178,  178,  178,  178,  178,
-      178,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      519,  665,  665,  180,  180,  180,  180,  180,  302,  302,
-      302,  302,  302,  302,  302,  302,  342,  342,  342,  342,
-      342,  342,  342,  342,  180,  180,  180,  180,  180,  180,
-      182,  182,  182,  182,  182,  182,  182,  182,  361,  361,
-      678,  678,  182,  182,  182,  182,  182,  304,  361,  304,
-
-      304,  304,  304,  304,  304,  304,  304,  343,  343,  343,
-      343,  343,  343,  182,  182,  182,  182,  182,  182,  203,
-      470,  203,  203,  203,  203,  203,  203,  203,  203,  470,
-      795,  795,  333,  333,  333,  333,  333,  333,  333,  333,
-      337,  471,  337,  337,  337,  337,  337,  337, 1281,  710,
-      471,  814,  203,  204, 1274,  204,  204,  204,  204,  204,
-      204,  204,  204,  333,  350,  350,  350,  350,  350,  350,
-      350,  350,  344,  337,  344,  344,  344,  344,  344,  344,
-      344,  344,  710, 1266,  814, 1262,  204,  205,  493,  205,
-      205,  205,  205,  205,  205,  205,  205,  345,  493,  345,
-
-      345,  345,  345,  345,  345,  345,  345,  346,  483,  346,
-      346,  346,  346,  346,  346,  346,  346,  483,  865,  865,
-      205,  206, 1257,  206,  206,  206,  206,  206,  206,  206,
-      206,  363,  363,  883,  883,  206,  206,  206,  206,  206,
-      347,  363,  347,  347,  347,  347,  347,  347,  347,  347,
-      351,  351,  351,  351,  351,  351,  206,  206,  206,  206,
-      206,  206,  208,  208,  208,  208,  208,  208,  208,  208,
-      400,  400,  700, 1245,  208,  208,  208,  208,  208,  352,
-      400,  352,  352,  352,  352,  352,  352,  352,  352, 1004,
-     1004, 1238,  402,  402,  700,  208,  208,  208,  208,  208,
-
-      208,  227,  402,  227,  227,  227,  227,  227,  227,  227,
-      227,  360,  360,  360,  360,  360,  360,  360,  360,  366,
-      366,  366,  366,  366,  366,  366,  366, 1026, 1026,  366,
-     1062, 1062,  611,  611,  227,  228,  495,  228,  228,  228,
-      228,  228,  228,  228,  228,  611,  495, 1069, 1069,  380,
-      380,  380,  380,  380,  380,  380,  380,  384,  509,  384,
-      384,  384,  384,  384,  384, 1091, 1091,  509,  228,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      380,  520, 1231,  233,  233,  233,  233,  233,  905,  586,
-      384,  405,  405,  405,  405,  405,  405,  405,  405,  586,
-
-     1229,  405, 1223,  520,  233,  233,  233,  233,  233,  233,
-      243,  243,  243,  243,  243,  243,  243,  243, 1222,  520,
-     1215,  905,  243,  243,  243,  243,  243,  406,  406,  406,
-      406,  406,  406,  406,  406,  410, 1214,  410,  410,  410,
-      410,  410,  410,  243,  243,  243,  243,  243,  243,  265,
-      589,  265,  265,  265,  265,  265,  265,  265,  265,  408,
-      589,  408,  408,  408,  408,  408,  408,  408,  408,  409,
-      544,  409,  409,  409,  409,  409,  409,  409,  409,  544,
-     1194, 1194,  265,  266, 1213,  266,  266,  266,  266,  266,
-      266,  266,  266,  412,  412,  412,  412,  412,  412,  412,
-
-      412,  413,  413,  415,  415,  424,  424,  424,  424,  424,
-      424,  413, 1212,  415,  533, 1015,  266,  281, 1211,  281,
-      281,  281,  281,  281,  281,  281,  281,  418,  418,  418,
-      418,  418,  418,  418,  418, 1210,  533,  418,  423,  423,
-      423,  423,  423,  423,  423,  423, 1237, 1237, 1015, 1109,
-      281,  282,  533,  282,  282,  282,  282,  282,  282,  282,
-      282,  425, 1209,  425,  425,  425,  425,  425,  425,  425,
-      425,  428,  546,  428,  428,  428,  428,  428,  428,  428,
-      428,  546, 1109, 1205,  282,  283,  591,  283,  283,  283,
-      283,  283,  283,  283,  283,  429,  591,  429,  429,  429,
-
-      429,  429,  429,  429,  429,  430,  563,  430,  430,  430,
-      430,  430,  430,  430,  430,  563, 1244, 1244,  283,  286,
-      286,  286,  286,  286,  286,  286,  286,  286, 1251, 1251,
-     1273, 1273,  286,  286,  286,  286,  286,  433,  433,  433,
-      433,  433,  433,  433,  433,  434,  434,  434,  434,  434,
-      434, 1311, 1311,  286,  286,  286,  286,  286,  286,  289,
-      289,  289,  289,  289,  289,  289,  289,  436,  436, 1342,
-     1342,  289,  289,  289,  289,  289,  435,  436,  435,  435,
-      435,  435,  435,  435,  435,  435,  474,  474,  474,  474,
-      474,  474,  289,  289,  289,  289,  289,  289,  291,  291,
-
-      291,  291,  291,  291,  291,  291,  291,  291,  291,  301,
-      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
-      720,  720,  720,  301,  301,  301,  301,  301, 1201,  462,
-      462,  462,  462,  462,  462,  462,  462,  466,  466,  466,
-      466,  466,  466,  466,  301,  301,  301,  301,  301,  301,
-      321,  720,  321,  321,  321,  321,  321,  321,  321,  321,
-      462,  473,  473,  473,  473,  473,  473,  473,  473,  466,
-      475,  598,  475,  475,  475,  475,  475,  475,  475,  475,
-      598, 1196, 1188,  321,  322, 1178,  322,  322,  322,  322,
-      322,  322,  322,  322,  476,  476,  486,  486,  486,  486,
-
-      486,  486, 1163,  477,  476,  477,  477,  477,  477,  477,
-      477,  477,  477, 1157, 1152, 1151, 1149,  322,  323,  660,
-      323,  323,  323,  323,  323,  323,  323,  323,  478,  660,
-      478,  478,  478,  478,  478,  478,  478,  478,  479,  630,
-      479,  479,  479,  479,  479,  479,  479,  479,  630, 1148,
-     1147,  323,  335,  662,  335,  335,  335,  335,  335,  335,
-      335,  335,  480,  662,  480,  480,  480,  480,  480,  480,
-      480,  480,  481,  631,  481,  481,  481,  481,  481,  481,
-      481,  481,  631, 1142, 1137,  335,  336,  673,  336,  336,
-      336,  336,  336,  336,  336,  336,  482,  673,  482,  482,
-
-      482,  482,  482,  482,  482,  482,  485,  485,  485,  485,
-      485,  485,  485,  485, 1132, 1131, 1129, 1127, 1125,  336,
-      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
-      341,  636, 1123, 1121,  341,  341,  341,  341,  341,  487,
-      636,  487,  487,  487,  487,  487,  487,  487,  487,  502,
-      502,  502,  502,  502,  502,  341,  341,  341,  341,  341,
-      341,  349,  349,  349,  349,  349,  349,  349,  349,  349,
-      349,  349,  488,  488, 1120,  349,  349,  349,  349,  349,
-     1119,  675,  488,  492,  492,  492,  492,  492,  492,  492,
-      492,  675, 1095, 1084, 1080, 1075,  349,  349,  349,  349,
-
-      349,  349,  356,  356,  356,  356,  356,  356,  356,  356,
-     1063, 1056, 1054, 1052,  356,  356,  356,  356,  356,  501,
-      501,  501,  501,  501,  501,  501,  501,  504,  504,  504,
-      504,  504,  504,  504,  504,  356,  356,  356,  356,  356,
-      356,  362,  362,  362,  362,  362,  362,  362,  362,  510,
-      510, 1051, 1049,  362,  362,  362,  362,  362,  503,  510,
-      503,  503,  503,  503,  503,  503,  503,  503,  576,  576,
-      576,  576,  576,  576,  362,  362,  362,  362,  362,  362,
-      364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
-      364,  382,  687,  382,  382,  382,  382,  382,  382,  382,
-
-      382,  506,  687,  506,  506,  506,  506,  506,  506,  506,
-      506,  507,  651,  507,  507,  507,  507,  507,  507,  507,
-      507,  651, 1037, 1034,  382,  383,  771,  383,  383,  383,
-      383,  383,  383,  383,  383,  508,  771,  508,  508,  508,
-      508,  508,  508,  512,  512,  515,  515,  515,  515,  515,
-      515,  515,  515,  512, 1031,  515, 1029, 1027,  383,  394,
-      394,  394,  394,  394,  394,  394,  394,  394,  534, 1022,
-      527,  527,  527,  527,  527,  527,  527,  527,  531,  531,
-      531,  531,  531,  531,  531, 1019,  998,  994,  987,  972,
-      534,  394,  395,  395,  395,  395,  395,  395,  395,  395,
-
-      395,  527,  547,  547,  549,  549,  534,  967,  966,  965,
-      531,  964,  547,  963,  549,  553,  553,  553,  553,  553,
-      553,  553,  553,  526,  395,  396,  396,  396,  396,  396,
-      396,  396,  396,  396,  552,  552,  552,  552,  552,  552,
-      552,  552,  951,  526,  552,  526,  526,  555,  946,  555,
-      555,  555,  555,  555,  555,  555,  555,  396,  401,  401,
-      401,  401,  401,  401,  401,  401,  526,  693,  941,  916,
-      401,  401,  401,  401,  401,  556,  693,  556,  556,  556,
-      556,  556,  556,  556,  556,  584,  584,  584,  584,  584,
-      584,  401,  401,  401,  401,  401,  401,  403,  403,  403,
-
-      403,  403,  403,  403,  403,  403,  403,  403,  414,  414,
-      414,  414,  414,  414,  414,  414,  565,  565,  912,  893,
-      414,  414,  414,  414,  414,  557,  565,  557,  557,  557,
-      557,  557,  557,  558,  558,  558,  558,  558,  558,  558,
-      558,  414,  414,  414,  414,  414,  414,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  422,  887,
-      422,  422,  422,  422,  422,  422,  422,  422,  422,  724,
-      876,  872,  422,  422,  422,  422,  422,  560,  724,  560,
-      560,  560,  560,  560,  560,  560,  560,  601,  601,  601,
-      601,  601,  601,  422,  422,  422,  422,  422,  422,  427,
-
-      427,  427,  427,  427,  427,  427,  427,  567,  567,  867,
-      859,  427,  427,  427,  427,  427,  561,  567,  561,  561,
-      561,  561,  561,  561,  561,  561,  634,  634,  634,  634,
-      634,  634,  427,  427,  427,  427,  427,  427,  432,  432,
-      432,  432,  432,  432,  432,  432,  432,  432,  432,  726,
-      857,  855,  432,  432,  432,  432,  432,  562,  726,  562,
-      562,  562,  562,  562,  562,  564,  564,  564,  564,  564,
-      564,  564,  564,  432,  432,  432,  432,  432,  432,  453,
-      453,  453,  453,  453,  453,  453,  453,  453,  570,  570,
-      570,  570,  570,  570,  570,  570,  854,  783,  570,  575,
-
-      575,  575,  575,  575,  575,  575,  575,  783,  819,  818,
-      806,  453,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  577,  789,  577,  577,  577,  577,  577,  577,  577,
-      577,  578,  733,  578,  578,  578,  578,  578,  578,  578,
-      578,  733,  785,  778,  454,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  579,  766,  579,  579,  579,  579,
-      579,  579,  579,  579,  580,  754,  580,  580,  580,  580,
-      580,  580,  580,  580,  754,  765,  764,  455,  464,  464,
-      464,  464,  464,  464,  464,  464,  464,  583,  583,  583,
-      583,  583,  583,  583,  583,  585,  790,  585,  585,  585,
-
-      585,  585,  585,  585,  585,  626,  790,  626,  626,  626,
-      464,  465,  465,  465,  465,  465,  465,  465,  465,  465,
-      588,  588,  588,  588,  588,  588,  588,  588,  595,  792,
-      595,  595,  595,  595,  595,  595,  595,  595,  626,  792,
-      763,  762,  750,  465,  472,  472,  472,  472,  472,  472,
-      472,  472,  472,  472,  472,  610,  745,  740,  472,  472,
-      472,  472,  472,  596,  799,  596,  596,  596,  596,  596,
-      596,  596,  596,  799,  723,  610,  722,  610,  610,  472,
-      472,  472,  472,  472,  472,  484,  484,  484,  484,  484,
-      484,  484,  484,  484,  484,  484,  821,  721,  707,  484,
-
-      484,  484,  484,  484,  597,  821,  597,  597,  597,  597,
-      597,  597,  597,  597,  639,  639,  639,  639,  639,  639,
-      484,  484,  484,  484,  484,  484,  491,  491,  491,  491,
-      491,  491,  491,  491,  705,  704,  703,  702,  491,  491,
-      491,  491,  491,  600,  600,  600,  600,  600,  600,  600,
-      600,  633,  633,  633,  633,  633,  633,  633,  633,  491,
-      491,  491,  491,  491,  491,  494,  494,  494,  494,  494,
-      494,  494,  494,  603,  603,  689,  682,  494,  494,  494,
-      494,  494,  602,  603,  602,  602,  602,  602,  602,  602,
-      602,  602,  671,  667,  658,  641,  641,  657,  494,  494,
-
-      494,  494,  494,  494,  496,  641,  496,  496,  496,  496,
-      496,  496,  496,  496,  496,  500,  860,  500,  500,  500,
-      500,  500,  500,  500,  500,  500,  860,  629,  628,  500,
-      500,  500,  500,  500,  620,  620,  620,  620,  620,  620,
-      620,  620,  638,  638,  638,  638,  638,  638,  638,  638,
-      500,  500,  500,  500,  500,  500,  511,  511,  511,  511,
-      511,  511,  511,  511,  862,  620,  627,  614,  511,  511,
-      511,  511,  511,  635,  862,  635,  635,  635,  635,  635,
-      635,  635,  635,  654,  654,  654,  654,  654,  654,  511,
-      511,  511,  511,  511,  511,  513,  513,  513,  513,  513,
-
-      513,  513,  513,  513,  513,  513,  518,  656,  656,  613,
-      518,  609,  518,  587,  581,  518,  518,  656,  518,  518,
-      518,  518,  518,  518,  518,  518,  518,  518,  518,  573,
-      572,  571,  518,  518,  518,  518,  518,  518,  518,  518,
-      518,  518,  518,  518,  518,  518,  518,  518,  518,  518,
-      518,  518,  518,  518,  518,  518,  518,  518,  518,  518,
-      518,  518,  518,  518,  518,  518,  518,  518,  518,  518,
-      529,  529,  529,  529,  529,  529,  529,  529,  529,  640,
-      559,  640,  640,  640,  640,  640,  640,  640,  640,  642,
-      642,  642,  642,  642,  642,  642,  642,  642,  554,  812,
-
-      812,  812,  529,  530,  530,  530,  530,  530,  530,  530,
-      530,  530,  643,  643,  643,  643,  643,  643,  643,  643,
-      643,  644,  644,  644,  644,  644,  644,  644,  644,  644,
-      812,  694,  694,  696,  696,  530,  532,  727,  727,  543,
-      532,  694,  532,  696,  542,  532,  532,  727,  532,  532,
-      532,  532,  532,  532,  532,  532,  532,  532,  532,  541,
-      536,  535,  532,  532,  532,  532,  532,  532,  532,  532,
-      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
-      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
-      532,  532,  532,  532,  532,  532,  532,  532,  532,  532,
-
-      537,  878,  537,  537,  537,  537,  537,  537,  537,  537,
-      645,  878,  645,  645,  645,  645,  645,  645,  645,  645,
-      646,  822,  646,  646,  646,  646,  646,  646,  646,  646,
-      822,  523,  522,  537,  538,  880,  538,  538,  538,  538,
-      538,  538,  538,  538,  647,  880,  647,  647,  647,  647,
-      647,  647,  647,  647,  648,  827,  648,  648,  648,  648,
-      648,  648,  648,  648,  827,  521,  505,  538,  539,  892,
-      539,  539,  539,  539,  539,  539,  539,  539,  649,  892,
-      649,  649,  649,  649,  649,  649,  649,  649,  650,  833,
-      650,  650,  650,  650,  650,  650,  650,  650,  833,  499,
-
-      490,  539,  540,  489,  540,  540,  540,  540,  540,  540,
-      540,  540,  653,  653,  653,  653,  653,  653,  653,  653,
-      655,  848,  655,  655,  655,  655,  655,  655,  655,  655,
-      848,  469,  468,  467,  977,  540,  545,  545,  545,  545,
-      545,  545,  545,  545,  977,  459,  458,  457,  545,  545,
-      545,  545,  545,  666,  666,  666,  666,  666,  666,  666,
-      666,  670,  449,  670,  670,  670,  670,  670,  670,  545,
-      545,  545,  545,  545,  545,  548,  548,  548,  548,  548,
-      548,  548,  548,  729,  729,  448,  442,  548,  548,  548,
-      548,  548,  668,  729,  668,  668,  668,  668,  668,  668,
-
-      668,  668,  685,  685,  685,  685,  685,  685,  548,  548,
-      548,  548,  548,  548,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  566,  566,  566,  566,  566,
-      566,  566,  566,  734,  734,  441,  440,  566,  566,  566,
-      566,  566,  669,  734,  669,  669,  669,  669,  669,  669,
-      669,  669,  426,  715,  421,  715,  715,  715,  566,  566,
-      566,  566,  566,  566,  568,  568,  568,  568,  568,  568,
-      568,  568,  568,  568,  568,  574,  420,  574,  574,  574,
-      574,  574,  574,  574,  574,  574,  715,  419,  407,  574,
-      574,  574,  574,  574,  672,  672,  672,  672,  672,  672,
-
-      672,  672,  684,  684,  684,  684,  684,  684,  684,  684,
-      574,  574,  574,  574,  574,  574,  582,  399,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  897,  398,  397,
-      582,  582,  582,  582,  582,  679,  897,  679,  679,  679,
-      679,  679,  679,  679,  679,  769,  769,  769,  769,  769,
-      769,  582,  582,  582,  582,  582,  582,  590,  590,  590,
-      590,  590,  590,  590,  590,  736,  736,  389,  388,  590,
-      590,  590,  590,  590,  680,  736,  680,  680,  680,  680,
-      680,  680,  680,  680,  387,  385,  376,  756,  756,  375,
-      590,  590,  590,  590,  590,  590,  592,  756,  592,  592,
-
-      592,  592,  592,  592,  592,  592,  592,  599,  599,  599,
-      599,  599,  599,  599,  599,  599,  599,  599,  918,  371,
-      370,  599,  599,  599,  599,  599,  681,  918,  681,  681,
-      681,  681,  681,  681,  681,  681,  369,  367,  358,  357,
-      758,  758,  599,  599,  599,  599,  599,  599,  604,  604,
-      758,  355,  604,  354,  604,  340,  339,  604,  604,  338,
-      604,  604,  604,  604,  604,  604,  604,  604,  604,  604,
-      604,  604,  330,  329,  604,  604,  604,  604,  604,  604,
-      604,  604,  604,  604,  604,  604,  604,  604,  604,  604,
-      604,  604,  604,  604,  604,  604,  604,  604,  604,  604,
-
-      604,  604,  604,  604,  604,  604,  604,  604,  604,  604,
-      604,  604,  615,  992,  615,  615,  615,  615,  615,  615,
-      615,  615,  686,  992,  686,  686,  686,  686,  686,  686,
-      686,  686,  688,  688,  688,  688,  688,  688,  688,  688,
-      328,  327,  326,  325,  324,  615,  616,  999,  616,  616,
-      616,  616,  616,  616,  616,  616,  690,  999,  690,  690,
-      690,  690,  690,  690,  690,  690,  691,  920,  691,  691,
-      691,  691,  691,  691,  691,  691,  920,  317,  316,  616,
-      617, 1001,  617,  617,  617,  617,  617,  617,  617,  617,
-      692, 1001,  692,  692,  692,  692,  692,  692,  699,  699,
-
-      699,  699,  699,  699,  699,  699,  927,  315,  699,  313,
-      312,  311,  310,  617,  618,  927,  618,  618,  618,  618,
-      618,  618,  618,  618,  709,  709,  709,  709,  709,  709,
-      709,  709,  732,  732,  732,  732,  732,  732,  732,  732,
-      804,  804,  732,  832,  832,  309, 1021,  618,  619,  619,
-      804,  308,  619,  832,  619,  709, 1021,  619,  619,  307,
-      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
-      619,  619,  298,  297,  619,  619,  619,  619,  619,  619,
-      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
-      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
-
-      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
-      619,  619,  622,  295,  622,  622,  622,  622,  622,  622,
-      622,  622,  739,  739,  739,  739,  739,  739,  739,  739,
-      934,  294,  739,  955,  706,  285,  706, 1023,  706,  934,
-      706,  706,  955,  284,  706,  622,  623, 1023,  623,  623,
-      623,  623,  623,  623,  623,  623,  706,  706,  706,  741,
-      741,  741,  741,  741,  741,  741,  741,  741,  708,  277,
-      708, 1057,  708,  276,  708,  708,  275,  274,  708,  623,
-      624, 1057,  624,  624,  624,  624,  624,  624,  624,  624,
-      708,  708,  708,  719,  719,  719,  719,  719,  719,  719,
-
-      719,  742,  742,  742,  742,  742,  742,  742,  742,  742,
-      273,  272,  271,  624,  625,  269,  625,  625,  625,  625,
-      625,  625,  625,  625,  719,  743,  743,  743,  743,  743,
-      743,  743,  744,  744,  744,  744,  744,  744,  744,  744,
-      781,  781,  781,  781,  781,  781,  258,  625,  632,  632,
-      632,  632,  632,  632,  632,  632,  632,  632,  632, 1005,
-      257,  256,  632,  632,  632,  632,  632,  746, 1005,  746,
-      746,  746,  746,  746,  746,  746,  746,  802,  802,  802,
-      802,  802,  802,  632,  632,  632,  632,  632,  632,  637,
-      637,  637,  637,  637,  637,  637,  637,  637,  637,  637,
-
-     1028,  255,  254,  637,  637,  637,  637,  637,  747, 1028,
-      747,  747,  747,  747,  747,  747,  747,  747,  825,  825,
-      825,  825,  825,  825,  637,  637,  637,  637,  637,  637,
-      652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
-      652, 1030,  252,  251,  652,  652,  652,  652,  652,  748,
-     1030,  748,  748,  748,  748,  748,  748,  749,  749,  749,
-      749,  749,  749,  749,  749,  652,  652,  652,  652,  652,
-      652,  661,  661,  661,  661,  661,  661,  661,  661,  838,
-      838,  250,  249,  661,  661,  661,  661,  661,  751,  838,
-      751,  751,  751,  751,  751,  751,  751,  751,  830,  830,
-
-      830,  830,  830,  830,  661,  661,  661,  661,  661,  661,
-      663,  248,  663,  663,  663,  663,  663,  663,  663,  663,
-      663,  674,  674,  674,  674,  674,  674,  674,  674,  853,
-      853,  247,  246,  674,  674,  674,  674,  674,  752,  853,
-      752,  752,  752,  752,  752,  752,  752,  752,  836,  836,
-      836,  836,  836,  836,  674,  674,  674,  674,  674,  674,
-      676,  244,  676,  676,  676,  676,  676,  676,  676,  676,
-      676,  683,  241,  683,  683,  683,  683,  683,  683,  683,
-      683,  683, 1033,  240,  237,  683,  683,  683,  683,  683,
-      753, 1033,  753,  753,  753,  753,  753,  753,  755,  755,
-
-      755,  755,  755,  755,  755,  755,  683,  683,  683,  683,
-      683,  683,  695,  695,  695,  695,  695,  695,  695,  695,
-      232,  231,  220,  216,  695,  695,  695,  695,  695,  761,
-      761,  761,  761,  761,  761,  761,  761,  215,  214,  761,
-      213,  212,  211,  210,  209,  695,  695,  695,  695,  695,
-      695,  697,  697,  697,  697,  697,  697,  697,  697,  697,
-      697,  697,  711,  207,  711,  711,  711,  711,  711,  711,
-      711,  711,  768,  768,  768,  768,  768,  768,  768,  768,
-      770, 1036,  770,  770,  770,  770,  770,  770,  770,  770,
-     1036,  199,  196,  195,  194,  711,  712, 1059,  712,  712,
-
-      712,  712,  712,  712,  712,  712,  772, 1059,  772,  772,
-      772,  772,  772,  772,  772,  772,  773, 1048,  773,  773,
-      773,  773,  773,  773,  773,  773, 1048,  193,  192,  712,
-      713, 1064,  713,  713,  713,  713,  713,  713,  713,  713,
-      774, 1064,  774,  774,  774,  774,  774,  774,  774,  774,
-      775, 1066,  775,  775,  775,  775,  775,  775,  775,  775,
-      190, 1066,  189,  713,  714, 1086,  714,  714,  714,  714,
-      714,  714,  714,  714,  776, 1086,  776,  776,  776,  776,
-      776,  776,  776,  776,  777, 1088,  777,  777,  777,  777,
-      777,  777,  777,  777,  188, 1088,  187,  714,  716,  186,
-
-      716,  716,  716,  716,  716,  716,  716,  716,  780,  780,
-      780,  780,  780,  780,  780,  780,  782, 1100,  782,  782,
-      782,  782,  782,  782,  782,  782,  185, 1100,  184,  183,
-      179,  716,  717,  177,  717,  717,  717,  717,  717,  717,
-      717,  717,  784,  784,  784,  784,  784,  784,  784,  784,
-      786, 1101,  786,  786,  786,  786,  786,  786,  786,  786,
-     1101,  170,  163,  157,  153,  717,  718, 1122,  718,  718,
-      718,  718,  718,  718,  718,  718,  787, 1122,  787,  787,
-      787,  787,  787,  787,  787,  787,  788, 1124,  788,  788,
-      788,  788,  788,  788,  151,  148, 1124,  147, 1162,  718,
-
-      725,  725,  725,  725,  725,  725,  725,  725, 1162,  145,
-      144,  138,  725,  725,  725,  725,  725,  796,  796,  796,
-      796,  796,  796,  796,  796,  796,  851,  851,  851,  851,
-      851,  851,  132,  725,  725,  725,  725,  725,  725,  728,
-      728,  728,  728,  728,  728,  728,  728,  130,  127,  120,
-      119,  728,  728,  728,  728,  728,  797,  797,  797,  797,
-      797,  797,  797,  797,  797,  890,  890,  890,  890,  890,
-      890,  118,  728,  728,  728,  728,  728,  728,  730,  730,
-      730,  730,  730,  730,  730,  730,  730,  730,  730,  735,
-      735,  735,  735,  735,  735,  735,  735,  117,  116,  111,
-
-      110,  735,  735,  735,  735,  735,  798,  798,  798,  798,
-      798,  798,  798,  798,  798,  896,  896,  896,  896,  896,
-      896,  896,  735,  735,  735,  735,  735,  735,  737,  737,
-      737,  737,  737,  737,  737,  737,  737,  737,  737,  757,
-      757,  757,  757,  757,  757,  757,  757,  108,  107,  104,
-      100,  757,  757,  757,  757,  757,  801,  801,  801,  801,
-      801,  801,  801,  801,  824,  824,  824,  824,  824,  824,
-      824,  824,  757,  757,  757,  757,  757,  757,  759,  759,
-      759,  759,  759,  759,  759,  759,  759,  759,  759,  767,
-       99,  767,  767,  767,  767,  767,  767,  767,  767,  767,
-
-     1126,   95,   92,  767,  767,  767,  767,  767,  803, 1126,
-      803,  803,  803,  803,  803,  803,  803,  803,   90,   88,
-       87,  898,  898,   86,  767,  767,  767,  767,  767,  767,
-      779,  898,  779,  779,  779,  779,  779,  779,  779,  779,
-      779,   84,   77,   71,  779,  779,  779,  779,  779,  811,
-      811,  811,  811,  811,  811,  811,  811,  813,  813,  813,
-      813,  813,  813,  813,  813,  779,  779,  779,  779,  779,
-      779,  791,  791,  791,  791,  791,  791,  791,  791,   66,
-      811, 1128,   62,  791,  791,  791,  791,  791,  813,  826,
-     1128,  826,  826,  826,  826,  826,  826,  826,  826,   61,
-
-       60,  900,  900,   59,  791,  791,  791,  791,  791,  791,
-      793,  900,  793,  793,  793,  793,  793,  793,  793,  793,
-      793,  800,  800,  800,  800,  800,  800,  800,  800,  800,
-      800,  800, 1130,   57,   51,  800,  800,  800,  800,  800,
-      817, 1130,  817,  817,  817,  817,  817,  817,  829,  829,
-      829,  829,  829,  829,  829,  829,  800,  800,  800,  800,
-      800,  800,  808,   49,  808,  808,  808,  808,  808,  808,
-      808,  808,  831,  817,  831,  831,  831,  831,  831,  831,
-      831,  831,  835,  835,  835,  835,  835,  835,  835,  835,
-       47,   46,   45,   44,   43,  808,  809, 1168,  809,  809,
-
-      809,  809,  809,  809,  809,  809,  837, 1168,  837,  837,
-      837,  837,  837,  837,  837,  837,  839,  839,  839,  839,
-      839,  839,  839,  839,  839,   42,   36,   35,   34,  809,
-      810,   33,  810,  810,  810,  810,  810,  810,  810,  810,
-      840,  840,  840,  840,  840,  840,  840,  840,  840,  841,
-      841,  841,  841,  841,  841,  841,  841,  841,   31,   28,
-       22,   19,   18,  810,  815, 1183,  815,  815,  815,  815,
-      815,  815,  815,  815,  842, 1183,  842,  842,  842,  842,
-      842,  842,  842,  842,  843, 1146,  843,  843,  843,  843,
-      843,  843,  843,  843, 1146,   17,   15,  815,  816, 1189,
-
-      816,  816,  816,  816,  816,  816,  816,  816,  844, 1189,
-      844,  844,  844,  844,  844,  844,  844,  844,  845, 1191,
-      845,  845,  845,  845,  845,  845,  845,  845,   14, 1191,
-       13,  816,  820,  820,  820,  820,  820,  820,  820,  820,
-      820, 1195,    0,    0,  820,  820,  820,  820,  820,  846,
-     1195,  846,  846,  846,  846,  846,  846,  846,  846,  915,
-      915,  915,  915,  915,  915,  820,  820,  820,  820,  820,
-      820,  823,  823,  823,  823,  823,  823,  823,  823,  823,
-      823,  823, 1280,    0,    0,  823,  823,  823,  823,  823,
-      847, 1280,  847,  847,  847,  847,  847,  847,  847,  847,
-
-      970,  970,  970,  970,  970,  970,  823,  823,  823,  823,
-      823,  823,  828,  828,  828,  828,  828,  828,  828,  828,
-      828,  828,  828,    0,    0,    0,  828,  828,  828,  828,
-      828,  850,  850,  850,  850,  850,  850,  850,  850,  866,
-      866,  866,  866,  866,  866,  866,  866,  828,  828,  828,
-      828,  828,  828,  834,  834,  834,  834,  834,  834,  834,
-      834,  834,  834,  834,    0,    0,    0,  834,  834,  834,
-      834,  834,  852,    0,  852,  852,  852,  852,  852,  852,
-      852,  852,  975,  975,  975,  975,  975,  975,  834,  834,
-      834,  834,  834,  834,  849,  849,  849,  849,  849,  849,
-
-      849,  849,  849,  849,  849,    0,    0,    0,  849,  849,
-      849,  849,  849,  868,    0,  868,  868,  868,  868,  868,
-      868,  868,  868,  990,  990,  990,  990,  990,  990,  849,
-      849,  849,  849,  849,  849,  858,  858,  858,  858,  858,
-      858,  858,  858,  921,  921,    0,    0,  858,  858,  858,
-      858,  858,  869,  921,  869,  869,  869,  869,  869,  869,
-      869,  869, 1008, 1008, 1008, 1008, 1008, 1008,  858,  858,
-      858,  858,  858,  858,  861,  861,  861,  861,  861,  861,
-      861,  861,  923,  923,    0,    0,  861,  861,  861,  861,
-      861,  870,  923,  870,  870,  870,  870,  870,  870,  871,
-
-      871,  871,  871,  871,  871,  871,  871,  861,  861,  861,
-      861,  861,  861,  863,    0,  863,  863,  863,  863,  863,
-      863,  863,  863,  863,  873, 1232,  873,  873,  873,  873,
-      873,  873,  873,  873,  874, 1232,  874,  874,  874,  874,
-      874,  874,  874,  874,  875,    0,  875,  875,  875,  875,
-      875,  875,  877,  877,  877,  877,  877,  877,  877,  877,
-      879,  879,  879,  879,  879,  879,  879,  879,  928,  928,
-        0,    0,  879,  879,  879,  879,  879,  884,  928,  884,
-      884,  884,  884,  884,  884,  884,  884,    0,    0,    0,
-      930,  930,    0,  879,  879,  879,  879,  879,  879,  881,
-
-      930,  881,  881,  881,  881,  881,  881,  881,  881,  881,
-      885, 1234,  885,  885,  885,  885,  885,  885,  885,  885,
-      886, 1234,  886,  886,  886,  886,  886,  886,  886,  886,
-      888, 1239,  888,  888,  888,  888,  888,  888,  888,  888,
-      888, 1239,    0,    0,  888,  888,  888,  888,  888,  889,
-      889,  889,  889,  889,  889,  889,  889,  914,  914,  914,
-      914,  914,  914,  914,  914,  888,  888,  888,  888,  888,
-      888,  891,    0,  891,  891,  891,  891,  891,  891,  891,
-      891,  894,  894,  894,  894,  894,  894,  894,  894,  894,
-      895,  895,  895,  895,  895,  895,  895,  895,  895,  899,
-
-      899,  899,  899,  899,  899,  899,  899,    0,    0,    0,
-        0,  899,  899,  899,  899,  899,  903,  903,  903,  903,
-      903,  903,  903,  903,    0,    0,  903,    0,    0,    0,
-        0,    0,  899,  899,  899,  899,  899,  899,  901,  901,
-      901,  901,  901,  901,  901,  901,  901,  901,  901,  904,
-      904,  904,  904,  904,  904,  904,  904, 1241,  908,    0,
-      908,  908,  908,  908,  908,  908,  917, 1241,  917,  917,
-      917,  917,  917,  917,  917,  917,    0,    0,    0,    0,
-      904,  906,    0,  906,  906,  906,  906,  906,  906,  906,
-      906,  908,  926,  926,  926,  926,  926,  926,  926,  926,
-
-        0, 1246,  926,  933,  933,  933,  933,  933,  933,  933,
-      933, 1246,    0,  933,  906,  907,    0,  907,  907,  907,
-      907,  907,  907,  907,  907,  935,  935,  937,  937,  957,
-      957,    0,    0,    0,    0,  935,    0,  937,    0,  957,
-      940,  940,  940,  940,  940,  940,  940,  940,  907,  909,
-      940,  909,  909,  909,  909,  909,  909,  909,  909,  942,
-      942,  942,  942,  942,  942,  942,  942,  942,  943,  943,
-      943,  943,  943,  943,  943,  943,  943,    0,    0,    0,
-        0,    0,  909,  910,    0,  910,  910,  910,  910,  910,
-      910,  910,  910,  944,  944,  944,  944,  944,  944,  944,
-
-      945,  945,  945,  945,  945,  945,  945,  945,  949,    0,
-      949,  949,  949,  949,  949,  949,  910,  911, 1248,  911,
-      911,  911,  911,  911,  911,  911,  911,  947, 1248,  947,
-      947,  947,  947,  947,  947,  947,  947,  948, 1268,  948,
-      948,  948,  948,  948,  948,  948,  948,    0, 1268,    0,
-      911,  913, 1270,  913,  913,  913,  913,  913,  913,  913,
-      913,  913, 1270,    0,    0,  913,  913,  913,  913,  913,
-      950,  950,  950,  950,  950,  950,  950,  950,  954,    0,
-      954,  954,  954,  954,  954,  954,  913,  913,  913,  913,
-      913,  913,  924,  924,  924,  924,  924,  924,  924,  924,
-
-      924,  924,  924,  931,  931,  931,  931,  931,  931,  931,
-      931,  931,  931,  931,  938,  938,  938,  938,  938,  938,
-      938,  938,  938,  938,  938,  952, 1279,  952,  952,  952,
-      952,  952,  952,  952,  952,  953, 1279,  953,  953,  953,
-      953,  953,  953,  953,  953,  956,  956,  956,  956,  956,
-      956,  956,  956,  959,  959,  969,  969,  969,  969,  969,
-      969,  969,  969,  959,  960,  960,  960,  960,  960,  960,
-      960,  960,  960,  960,  960,  962,  962,  962,  962,  962,
-      962,  962,  962,    0,    0,  962,  968, 1306,  968,  968,
-      968,  968,  968,  968,  968,  968,  968, 1306,    0,    0,
-
-      968,  968,  968,  968,  968,  971, 1308,  971,  971,  971,
-      971,  971,  971,  971,  971,    0, 1308,    0, 1010, 1010,
-        0,  968,  968,  968,  968,  968,  968,  973, 1010,  973,
-      973,  973,  973,  973,  973,  973,  973,  973,    0,    0,
-        0,  973,  973,  973,  973,  973,  974,  974,  974,  974,
-      974,  974,  974,  974,  978,  978,  978,  978,  978,  978,
-      978,  978,  973,  973,  973,  973,  973,  973,  976,    0,
-      976,  976,  976,  976,  976,  976,  976,  976,  979,  979,
-      979,  979,  979,  979,  979,  979,  980,  980,  980,  980,
-      980,  980,  980,  980,  981, 1317,  981,  981,  981,  981,
-
-      981,  981,  981,  981,  982, 1317,  982,  982,  982,  982,
-      982,  982,  982,  982,  983, 1320,  983,  983,  983,  983,
-      983,  983,  983,  983,  984, 1320,  984,  984,  984,  984,
-      984,  984,  984,  984,  985, 1323,  985,  985,  985,  985,
-      985,  985,  985,  985,  986, 1323,  986,  986,  986,  986,
-      986,  986,  986,  986,  988, 1335,  988,  988,  988,  988,
-      988,  988,  988,  988,  988, 1335,    0,    0,  988,  988,
-      988,  988,  988,  989,  989,  989,  989,  989,  989,  989,
-      989,  993,  993,  993,  993,  993,  993,  993,  993,  988,
-      988,  988,  988,  988,  988,  991, 1337,  991,  991,  991,
-
-      991,  991,  991,  991,  991,  995, 1337,  995,  995,  995,
-      995,  995,  995,  995,  995,  996, 1339,  996,  996,  996,
-      996,  996,  996,  996,  996,  997, 1339,  997,  997,  997,
-      997,  997,  997, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
-     1000,    0,    0,    0,    0, 1000, 1000, 1000, 1000, 1000,
-     1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1020, 1020,
-     1020, 1020, 1020, 1020, 1020, 1020, 1000, 1000, 1000, 1000,
-     1000, 1000, 1002,    0, 1002, 1002, 1002, 1002, 1002, 1002,
-     1002, 1002, 1002, 1006, 1006, 1006, 1006, 1006, 1006, 1006,
-     1006, 1006, 1006, 1006,    0,    0,    0, 1006, 1006, 1006,
-
-     1006, 1006, 1009, 1358, 1009, 1009, 1009, 1009, 1009, 1009,
-     1009, 1009,    0, 1358,    0, 1032, 1032,    0, 1006, 1006,
-     1006, 1006, 1006, 1006, 1011, 1032, 1011, 1011, 1011, 1011,
-     1011, 1011, 1011, 1011,    0,    0, 1386, 1014, 1014, 1014,
-     1014, 1014, 1014, 1014, 1014, 1018, 1386, 1018, 1018, 1018,
-     1018, 1018, 1018,    0,    0,    0,    0, 1011, 1012,    0,
-     1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1014, 1035,
-     1035, 1038, 1038,    0,    0,    0,    0,    0, 1018, 1035,
-        0, 1038, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
-     1039, 1012, 1013,    0, 1013, 1013, 1013, 1013, 1013, 1013,
-
-     1013, 1013, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
-     1040, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041,
-        0,    0,    0,    0,    0, 1013, 1016,    0, 1016, 1016,
-     1016, 1016, 1016, 1016, 1016, 1016, 1042,    0, 1042, 1042,
-     1042, 1042, 1042, 1042, 1042, 1042, 1043,    0, 1043, 1043,
-     1043, 1043, 1043, 1043, 1043, 1043,    0,    0,    0, 1016,
-     1017,    0, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
-     1044,    0, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044,
-     1045,    0, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
-        0,    0,    0, 1017, 1024,    0, 1024, 1024, 1024, 1024,
-
-     1024, 1024, 1024, 1024, 1024, 1046,    0, 1046, 1046, 1046,
-     1046, 1046, 1046, 1046, 1046, 1047,    0, 1047, 1047, 1047,
-     1047, 1047, 1047, 1047, 1047, 1050, 1050, 1071, 1071, 1071,
-     1071, 1071, 1071, 1071, 1071, 1050, 1055, 1055, 1055, 1055,
-     1055, 1055, 1055, 1055,    0,    0,    0,    0, 1055, 1055,
-     1055, 1055, 1055, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
-     1072, 1073, 1073, 1073, 1073, 1073, 1073,    0,    0, 1055,
-     1055, 1055, 1055, 1055, 1055, 1058, 1058, 1058, 1058, 1058,
-     1058, 1058, 1058,    0,    0,    0,    0, 1058, 1058, 1058,
-     1058, 1058, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
-
-     1078,    0, 1078, 1078, 1078, 1078, 1078, 1078, 1058, 1058,
-     1058, 1058, 1058, 1058, 1060,    0, 1060, 1060, 1060, 1060,
-     1060, 1060, 1060, 1060, 1060, 1065, 1065, 1065, 1065, 1065,
-     1065, 1065, 1065, 1102, 1102,    0,    0, 1065, 1065, 1065,
-     1065, 1065, 1076, 1102, 1076, 1076, 1076, 1076, 1076, 1076,
-     1076, 1076, 1098, 1098, 1098, 1098, 1098, 1098, 1065, 1065,
-     1065, 1065, 1065, 1065, 1067,    0, 1067, 1067, 1067, 1067,
-     1067, 1067, 1067, 1067, 1067, 1077,    0, 1077, 1077, 1077,
-     1077, 1077, 1077, 1077, 1077, 1079, 1079, 1079, 1079, 1079,
-     1079, 1079, 1079, 1081,    0, 1081, 1081, 1081, 1081, 1081,
-
-     1081, 1081, 1081, 1082,    0, 1082, 1082, 1082, 1082, 1082,
-     1082, 1082, 1082, 1083,    0, 1083, 1083, 1083, 1083, 1083,
-     1083, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1087,
-     1087, 1087, 1087, 1087, 1087, 1087, 1087,    0,    0,    0,
-        0, 1087, 1087, 1087, 1087, 1087, 1092, 1092, 1092, 1092,
-     1092, 1092, 1092, 1092, 1093, 1093, 1093, 1093, 1093, 1093,
-     1093, 1093, 1087, 1087, 1087, 1087, 1087, 1087, 1089,    0,
-     1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1094,
-     1094, 1094, 1094, 1094, 1094, 1094, 1094, 1096,    0, 1096,
-     1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,    0,    0,
-
-        0, 1096, 1096, 1096, 1096, 1096, 1097, 1097, 1097, 1097,
-     1097, 1097, 1097, 1097,    0,    0,    0,    0,    0, 1104,
-     1104,    0, 1096, 1096, 1096, 1096, 1096, 1096, 1099, 1104,
-     1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1105, 1105,
-     1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1107,
-     1107, 1107, 1107, 1107, 1107, 1107, 1107,    0,    0, 1107,
-     1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,    0, 1112,
-        0, 1112, 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113,
-     1113, 1113, 1113, 1113, 1113, 1155, 1155, 1155, 1155, 1155,
-     1155, 1108, 1110,    0, 1110, 1110, 1110, 1110, 1110, 1110,
-
-     1110, 1110, 1112,    0,    0,    0,    0,    0, 1113, 1114,
-     1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115,
-     1115, 1115, 1115, 1115, 1115, 1110, 1111,    0, 1111, 1111,
-     1111, 1111, 1111, 1111, 1111, 1111,    0,    0,    0, 1140,
-     1114, 1140, 1140, 1140, 1140, 1140, 1140, 1116, 1115, 1116,
-     1116, 1116, 1116, 1116, 1116, 1116, 1116,    0, 1117, 1111,
-     1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118,    0,
-     1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1133, 1133,
-     1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134,
-     1134, 1134, 1134, 1134, 1134, 1134, 1135, 1135, 1135, 1135,
-
-     1135, 1135, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
-     1136, 1138,    0, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
-     1138, 1139,    0, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
-     1139, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1143,
-        0, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1144,
-        0, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1145,
-        0, 1145, 1145, 1145, 1145, 1145, 1145, 1150, 1150, 1150,
-     1150, 1150, 1150, 1150, 1150, 1150,    0,    0,    0, 1150,
-     1150, 1150, 1150, 1150, 1154, 1154, 1154, 1154, 1154, 1154,
-     1154, 1154, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
-
-     1150, 1150, 1150, 1150, 1150, 1150, 1153,    0, 1153, 1153,
-     1153, 1153, 1153, 1153, 1153, 1153, 1153,    0,    0,    0,
-     1153, 1153, 1153, 1153, 1153, 1156,    0, 1156, 1156, 1156,
-     1156, 1156, 1156, 1156, 1156, 1160, 1160, 1160, 1160, 1160,
-     1160, 1153, 1153, 1153, 1153, 1153, 1153, 1158,    0, 1158,
+       32,   32,   32,   32,   32,   32,   32,  218,  250,  250,
+       32,   32,   32,   32,   32,  100,  100,  100,  100,  100,
+      100,  100,  100,  138,  138,  138,  138,  138,  138,   32,
+       32,   32,   32,   32,   32,   36,   36,   36,  218,   36,
+     1355,   36,   36,  126, 1352,   36,  126,  126,  126,  126,
+      126,  126,  126,  126,  231,  231,  231,   36,   36,   36,
+
+       52,  254,   52,   52,   52,   52,   52,   52,   52,   52,
+       52,  234,  288, 1350,   52,   52,   52,   52,   52,  160,
+      234,  288,  131,  160,  243,  260,  131,  131,  293,  160,
+      243,   52,  254,   52,   52,   52,   52,   52,   52,   55,
+      266, 1346,  160,   55,  131,   55,  266,  260,   55,   55,
+      293,   55,   55,   55,   55,   55,   55,   55,   55,   55,
+       55,   55,   55,  131,  359,   55,   55,   55,   55,   55,
+       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
+       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
+       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
+
+       55,   57,   57,   57,   57,   57,   57,   57,   57,   57,
+     1341,  359,  267,   57,   57,   57,   57,   57,  267,  268,
+      251,  133,  133,  133,  133,  133,  133,  133,  133,  304,
+      167,  167,   57,   57,   57,   57,   57,   57,   61,   61,
+       61,  251,   61,  332,   61,   61,  318,   91,   61,   91,
+      133,   91,  332,   91,   91,  474,  474,   91,  251,  268,
+       61,   61,   61,  227,  227,  227,  227,  227,  227,   91,
+       91,   91,   94,  167,   94,  300,   94,  318,   94,   94,
+      300,  315,   94,  125, 1334,  125,  315,  125,  304,  125,
+      125, 1332,  425,  125,   94,   94,   94,   96,   96,   96,
+
+       96,   96,   96,   96,   96,  125,  125,  125,  425,   96,
+       96,   96,   96,   96,  136,  136,  136,  136,  136,  136,
+      136,  136,  148,  351, 1330,  363,  148,  148,   96,   96,
+       96,   96,   96,   96,  103,  103,  103,  103,  103,  103,
+      103,  103,  276,  276,  148,  351,  103,  103,  103,  103,
+      103,  128,  276,  128,  316,  128,  363,  128,  128,  316,
+      439,  128,  354,  148,  501,  103,  103,  103,  103,  103,
+      103,  278,  278,  128,  128,  128,  130,  436,  130,  343,
+      130,  278,  130,  130,  354,  132,  130,  132,  343,  132,
+      439,  132,  132,  436,  501,  132,  355,  367,  130,  130,
+
+      130,  291,  291,  291,  291,  291,  291,  132,  132,  132,
+      134,  134,  134,  134,  134,  134,  134,  134,  355,  367,
+     1328,  428,  134,  134,  134,  134,  134,  137,  137,  137,
+      137,  137,  137,  137,  137,  327,  327,  327,  327,  327,
+      327,  134,  134,  134,  134,  134,  134,  139,  139,  139,
+      139,  139,  139,  139,  139,  337,  337,  345,  345,  139,
+      139,  139,  139,  139,  150,  337,  150,  345,  150,  428,
+      150,  150,  497,  497,  150,  347,  347, 1323,  139,  139,
+      139,  139,  139,  139, 1313,  347,  150,  150,  150,  161,
+      161,  168,  161,  161,  210,  168,  370,  360,  210,  161,
+
+      371,  168,  356, 1311,  210,  215,  215,  360,  215,  215,
+      372,  356,  161,  168,  168,  215,  210,  210,  370,  372,
+      216,  216,  371,  216,  216,  373,  566,  566,  215,  430,
+      216,  437,  161,  169,  373,  169,  169,  169,  169,  169,
+      169,  169,  169,  216,  430,  635,  635,  437,  215,  217,
+      217,  217,  217,  217,  217,  217,  217,  335,  335,  335,
+      335,  335,  335,  216,  169,  170,  391,  170,  170,  170,
+      170,  170,  170,  170,  170,  391,  417,  221,  217,  221,
+      221,  221,  221,  221,  221,  226,  226,  226,  226,  226,
+      226,  226,  226,  498, 1304,  498,  170,  171,  417,  171,
+
+      171,  171,  171,  171,  171,  171,  171,  228,  221,  228,
+      228,  228,  228,  228,  228,  228,  228,  230,  230,  230,
+      230,  230,  230,  230,  230,  230,  583, 1301,  171,  172,
+      411,  172,  172,  172,  172,  172,  172,  172,  172,  411,
+     1289,  583, 1286,  172,  172,  172,  172,  172,  253,  253,
+      253,  253,  253,  253,  253,  253,  404,  404,  404,  404,
+      404,  404,  172,  172,  172,  172,  172,  172,  174,  174,
+      174,  174,  174,  174,  174,  174,  174,  253,  429,  648,
+      648,  174,  174,  174,  174,  174,  257,  429,  257,  257,
+      257,  257,  257,  257,  414,  414,  414,  414,  414,  414,
+
+      174,  174,  174,  174,  174,  174,  176,  176,  176,  176,
+      176,  176,  176,  176,  176,  763,  763,  257,  176,  176,
+      176,  176,  176,  275,  275,  275,  275,  275,  275,  275,
+      275,  421,  423,  833,  833,  851,  851,  176,  176,  176,
+      176,  176,  176,  178,  178,  178,  178,  178,  178,  178,
+      178,  493, 1283,  421,  423,  178,  178,  178,  178,  178,
+      281,  281,  281,  281,  281,  281,  281,  281,  972,  972,
+      281,  380,  380,  493,  178,  178,  178,  178,  178,  178,
+      197,  380,  197,  197,  197,  197,  197,  197,  197,  197,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  290,
+
+      290,  290,  290,  290,  290,  290,  290,  994,  994,  591,
+      678,  197,  198,  469,  198,  198,  198,  198,  198,  198,
+      198,  198,  292,  469,  292,  292,  292,  292,  292,  292,
+      292,  292,  317,  317,  317,  317,  317,  317,  317,  317,
+      591,  678,  782,  198,  199,  446,  199,  199,  199,  199,
+      199,  199,  199,  199,  446,  382,  382,  873,  688,  688,
+      688,  317,  393,  393,  321,  382,  321,  321,  321,  321,
+      321,  321,  393,  782,  983,  199,  200,  447,  200,  200,
+      200,  200,  200,  200,  200,  200,  447,  688,  873, 1281,
+      200,  200,  200,  200,  200,  321,  326,  326,  326,  326,
+
+      326,  326,  326,  326,  506,  983, 1030, 1030, 1275,  200,
+      200,  200,  200,  200,  200,  202,  202,  202,  202,  202,
+      202,  202,  202,  395,  395, 1272,  506,  202,  202,  202,
+      202,  202,  328,  395,  328,  328,  328,  328,  328,  328,
+      328,  328, 1271,  416,  416, 1267,  202,  202,  202,  202,
+      202,  202,  219,  416,  219,  219,  219,  219,  219,  219,
+      219,  219,  329, 1262,  329,  329,  329,  329,  329,  329,
+      329,  329,  330,  459,  330,  330,  330,  330,  330,  330,
+      330,  330,  459,  219,  220,  471,  220,  220,  220,  220,
+      220,  220,  220,  220,  331,  471,  331,  331,  331,  331,
+
+      331,  331,  331,  331,  334,  334,  334,  334,  334,  334,
+      334,  334, 1037, 1037, 1077,  220,  225,  225,  225,  225,
+      225,  225,  225,  225,  225,  225,  225,  485, 1059, 1059,
+      225,  225,  225,  225,  225,  336,  485,  336,  336,  336,
+      336,  336,  336,  336,  336, 1077, 1162, 1162, 1261,  225,
+      225,  225,  225,  225,  225,  235,  235,  235,  235,  235,
+      235,  235,  235, 1260,  780,  780,  780,  235,  235,  235,
+      235,  235,  344,  344,  344,  344,  344,  344,  344,  344,
+      450,  450,  450,  450,  450,  450,  235,  235,  235,  235,
+      235,  235,  255,  780,  255,  255,  255,  255,  255,  255,
+
+      255,  255,  350,  350,  350,  350,  350,  350,  350,  350,
+     1259,  558,  350,  362,  362,  362,  362,  362,  362,  362,
+      362,  558, 1258,  255,  256,  516,  256,  256,  256,  256,
+      256,  256,  256,  256,  516,  576, 1257,  582,  582,  452,
+      452,  366,  362,  366,  366,  366,  366,  366,  366,  452,
+      582, 1205, 1205, 1212, 1212,  256,  269,  576,  269,  269,
+      269,  269,  269,  269,  269,  269,  462,  462,  462,  462,
+      462,  462,  366,  385,  385,  385,  385,  385,  385,  385,
+      385, 1219, 1219,  385, 1241, 1241, 1256,  269,  270, 1250,
+      270,  270,  270,  270,  270,  270,  270,  270,  386,  386,
+
+      386,  386,  386,  386,  386,  386,  388,  518,  388,  388,
+      388,  388,  388,  388,  388,  388,  518, 1279, 1279,  270,
+      271,  561,  271,  271,  271,  271,  271,  271,  271,  271,
+      389,  561,  389,  389,  389,  389,  389,  389,  389,  389,
+      390,  535,  390,  390,  390,  390,  390,  390, 1310, 1310,
+      535,  271,  274,  274,  274,  274,  274,  274,  274,  274,
+      274, 1249, 1242, 1234, 1230,  274,  274,  274,  274,  274,
+      392,  392,  392,  392,  392,  392,  392,  392,  478,  478,
+      478,  478,  478,  478,  274,  274,  274,  274,  274,  274,
+      277,  277,  277,  277,  277,  277,  277,  277,  578, 1225,
+
+     1213, 1206,  277,  277,  277,  277,  277,  398,  398,  398,
+      398,  398,  398,  398,  398, 1199, 1197,  398, 1191, 1190,
+      578,  277,  277,  277,  277,  277,  277,  279,  279,  279,
+      279,  279,  279,  279,  279,  279,  279,  279,  289,  289,
+      289,  289,  289,  289,  289,  289,  289,  289,  289, 1183,
+     1182, 1181,  289,  289,  289,  289,  289,  403,  403,  403,
+      403,  403,  403,  403,  403, 1180, 1179, 1178,  464,  464,
+     1177,  289,  289,  289,  289,  289,  289,  307,  464,  307,
+      307,  307,  307,  307,  307,  307,  307,  405,  563,  405,
+      405,  405,  405,  405,  405,  405,  405,  408,  563,  408,
+
+      408,  408,  408,  408,  408,  408,  408, 1173,  307,  308,
+      630,  308,  308,  308,  308,  308,  308,  308,  308,  409,
+      630,  409,  409,  409,  409,  409,  409,  409,  409,  410,
+      570,  410,  410,  410,  410,  410,  410,  410,  410,  570,
+      308,  309, 1169,  309,  309,  309,  309,  309,  309,  309,
+      309,  413,  413,  413,  413,  413,  413,  413,  413,  415,
+      600,  415,  415,  415,  415,  415,  415,  415,  415,  600,
+     1164, 1156,  309,  319,  601,  319,  319,  319,  319,  319,
+      319,  319,  319,  601, 1146, 1131,  438,  438,  438,  438,
+      438,  438,  438,  438,  442,  442,  442,  442,  442,  442,
+
+      442, 1125, 1120, 1119,  319,  320, 1117,  320,  320,  320,
+      320,  320,  320,  320,  320,  438,  449,  449,  449,  449,
+      449,  449,  449,  449,  442,  451,  606,  451,  451,  451,
+      451,  451,  451,  451,  451,  606,  320,  325,  325,  325,
+      325,  325,  325,  325,  325,  325,  325,  325,  621, 1116,
+     1115,  325,  325,  325,  325,  325,  453,  621,  453,  453,
+      453,  453,  453,  453,  453,  453, 1110, 1105, 1100, 1099,
+      325,  325,  325,  325,  325,  325,  333,  333,  333,  333,
+      333,  333,  333,  333,  333,  333,  333, 1097, 1095, 1093,
+      333,  333,  333,  333,  333,  454,  632,  454,  454,  454,
+
+      454,  454,  454,  454,  454, 1091,  632, 1089, 1088,  333,
+      333,  333,  333,  333,  333,  340,  340,  340,  340,  340,
+      340,  340,  340,  486,  486, 1087, 1063,  340,  340,  340,
+      340,  340,  455,  486,  455,  455,  455,  455,  455,  455,
+      455,  455, 1052, 1048, 1043, 1031,  340,  340,  340,  340,
+      340,  340,  346,  346,  346,  346,  346,  346,  346,  346,
+      488,  488, 1024, 1022,  346,  346,  346,  346,  346,  456,
+      488,  456,  456,  456,  456,  456,  456,  456,  456, 1020,
+     1019, 1017, 1005,  346,  346,  346,  346,  346,  346,  348,
+      348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
+
+      364,  643,  364,  364,  364,  364,  364,  364,  364,  364,
+      457,  643,  457,  457,  457,  457,  457,  457,  457,  457,
+      458,  663,  458,  458,  458,  458,  458,  458,  458,  458,
+      663,  364,  365, 1002,  365,  365,  365,  365,  365,  365,
+      365,  365,  461,  461,  461,  461,  461,  461,  461,  461,
+      463,  645,  463,  463,  463,  463,  463,  463,  463,  463,
+      999,  645,  997,  365,  374,  374,  374,  374,  374,  374,
+      374,  374,  374,  468,  468,  468,  468,  468,  468,  468,
+      468,  477,  477,  477,  477,  477,  477,  477,  477,  995,
+      990,  987,  966,  962,  374,  375,  375,  375,  375,  375,
+
+      375,  375,  375,  375,  479,  955,  479,  479,  479,  479,
+      479,  479,  479,  479,  480,  480,  480,  480,  480,  480,
+      480,  480,  940,  935,  934,  375,  376,  376,  376,  376,
+      376,  376,  376,  376,  376,  482,  657,  482,  482,  482,
+      482,  482,  482,  482,  482,  483,  657,  483,  483,  483,
+      483,  483,  483,  483,  483,  933,  376,  381,  381,  381,
+      381,  381,  381,  381,  381,  519,  519,  932,  931,  381,
+      381,  381,  381,  381,  484,  519,  484,  484,  484,  484,
+      484,  484,  548,  548,  548,  548,  548,  548,  381,  381,
+      381,  381,  381,  381,  383,  383,  383,  383,  383,  383,
+
+      383,  383,  383,  383,  383,  394,  394,  394,  394,  394,
+      394,  394,  394,  919,  914,  909,  884,  394,  394,  394,
+      394,  394,  491,  491,  491,  491,  491,  491,  491,  491,
+      880,  861,  491,  855,  844,  840,  394,  394,  394,  394,
+      394,  394,  396,  396,  396,  396,  396,  396,  396,  396,
+      396,  396,  396,  402,  739,  402,  402,  402,  402,  402,
+      402,  402,  402,  402,  739,  835,  827,  402,  402,  402,
+      402,  402,  500,  500,  500,  500,  500,  500,  500,  500,
+      499,  825,  823,  822,  787,  786,  402,  402,  402,  402,
+      402,  402,  407,  407,  407,  407,  407,  407,  407,  407,
+
+      499,  500,  499,  499,  407,  407,  407,  407,  407,  692,
+      504,  504,  504,  504,  504,  504,  504,  774,  692,  757,
+      753,  499,  746,  407,  407,  407,  407,  407,  407,  412,
+      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
+      504,  521,  521,  412,  412,  412,  412,  412,  734,  733,
+      751,  521,  525,  525,  525,  525,  525,  525,  525,  525,
+      751,  732,  412,  412,  412,  412,  412,  412,  431,  431,
+      431,  431,  431,  431,  431,  431,  431,  524,  524,  524,
+      524,  524,  524,  524,  524,  731,  527,  524,  527,  527,
+      527,  527,  527,  527,  527,  527,  730,  718,  431,  432,
+
+      432,  432,  432,  432,  432,  432,  432,  432,  528,  713,
+      528,  528,  528,  528,  528,  528,  528,  528,  529,  694,
+      529,  529,  529,  529,  529,  529,  708,  691,  694,  432,
+      433,  433,  433,  433,  433,  433,  433,  433,  433,  530,
+      530,  530,  530,  530,  530,  530,  530,  532,  701,  532,
+      532,  532,  532,  532,  532,  532,  532,  701,  690,  689,
+      433,  440,  440,  440,  440,  440,  440,  440,  440,  440,
+      533,  675,  533,  533,  533,  533,  533,  533,  533,  533,
+      534,  722,  534,  534,  534,  534,  534,  534,  673,  672,
+      722,  440,  441,  441,  441,  441,  441,  441,  441,  441,
+
+      441,  536,  536,  536,  536,  536,  536,  536,  536,  537,
+      537,  539,  539,  556,  556,  556,  556,  556,  556,  537,
+      671,  539,  441,  448,  448,  448,  448,  448,  448,  448,
+      448,  448,  448,  448,  670,  659,  652,  448,  448,  448,
+      448,  448,  542,  542,  542,  542,  542,  542,  542,  542,
+      641,  637,  542,  628,  627,  599,  448,  448,  448,  448,
+      448,  448,  460,  460,  460,  460,  460,  460,  460,  460,
+      460,  460,  460,  598,  597,  585,  460,  460,  460,  460,
+      460,  547,  547,  547,  547,  547,  547,  547,  547,  573,
+      573,  573,  573,  573,  573,  460,  460,  460,  460,  460,
+
+      460,  467,  467,  467,  467,  467,  467,  467,  467,  575,
+      575,  584,  580,  467,  467,  467,  467,  467,  549,  575,
+      549,  549,  549,  549,  549,  549,  549,  549,  559,  553,
+      545,  544,  467,  467,  467,  467,  467,  467,  470,  470,
+      470,  470,  470,  470,  470,  470,  611,  611,  543,  531,
+      470,  470,  470,  470,  470,  550,  611,  550,  550,  550,
+      550,  550,  550,  550,  550,  526,  626,  626,  515,  470,
+      470,  470,  470,  470,  470,  472,  626,  472,  472,  472,
+      472,  472,  472,  472,  472,  472,  476,  758,  476,  476,
+      476,  476,  476,  476,  476,  476,  476,  758,  514,  513,
+
+      476,  476,  476,  476,  476,  551,  760,  551,  551,  551,
+      551,  551,  551,  551,  551,  508,  760,  507,  496,  476,
+      476,  476,  476,  476,  476,  487,  487,  487,  487,  487,
+      487,  487,  487,  664,  664,  495,  494,  487,  487,  487,
+      487,  487,  552,  664,  552,  552,  552,  552,  552,  552,
+      552,  552,  481,  475,  466,  465,  487,  487,  487,  487,
+      487,  487,  489,  489,  489,  489,  489,  489,  489,  489,
+      489,  489,  489,  492,  492,  767,  445,  492,  444,  492,
+      443,  435,  492,  492,  767,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  434,  427,  492,
+
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  555,  555,  555,  555,  555,  555,
+      555,  555,  557,  789,  557,  557,  557,  557,  557,  557,
+      557,  557,  789,  426,  420,  502,  503,  503,  503,  503,
+      503,  503,  503,  503,  503,  560,  560,  560,  560,  560,
+      560,  560,  560,  567,  790,  567,  567,  567,  567,  567,
+      567,  567,  567,  790,  666,  666,  503,  505,  505,  795,
+
+      419,  505,  406,  505,  666,  401,  505,  505,  795,  505,
+      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
+      505,  400,  399,  505,  505,  505,  505,  505,  505,  505,
+      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
+      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
+      505,  505,  505,  505,  505,  505,  505,  505,  505,  509,
+      828,  509,  509,  509,  509,  509,  509,  509,  509,  568,
+      828,  568,  568,  568,  568,  568,  568,  568,  568,  569,
+      801,  569,  569,  569,  569,  569,  569,  569,  569,  801,
+      509,  510,  387,  510,  510,  510,  510,  510,  510,  510,
+
+      510,  572,  572,  572,  572,  572,  572,  572,  572,  574,
+      830,  574,  574,  574,  574,  574,  574,  574,  574,  581,
+      830,  379,  510,  511,  816,  511,  511,  511,  511,  511,
+      511,  511,  511,  816,  596,  378,  596,  596,  596,  581,
+      377,  581,  581,  590,  590,  590,  590,  590,  590,  590,
+      590,  369,  368,  358,  511,  512,  357,  512,  512,  512,
+      512,  512,  512,  512,  512,  596,  604,  604,  604,  604,
+      604,  604,  590,  603,  603,  603,  603,  603,  603,  603,
+      603,  353,  352,  342,  341,  339,  512,  517,  517,  517,
+      517,  517,  517,  517,  517,  695,  695,  338,  324,  517,
+
+      517,  517,  517,  517,  605,  695,  605,  605,  605,  605,
+      605,  605,  605,  605,  323,  322,  314,  313,  517,  517,
+      517,  517,  517,  517,  520,  520,  520,  520,  520,  520,
+      520,  520,  312,  311,  310,  303,  520,  520,  520,  520,
+      520,  608,  608,  608,  608,  608,  608,  608,  608,  609,
+      609,  609,  609,  609,  609,  520,  520,  520,  520,  520,
+      520,  522,  522,  522,  522,  522,  522,  522,  522,  522,
+      522,  522,  538,  538,  538,  538,  538,  538,  538,  538,
+      697,  697,  302,  301,  538,  538,  538,  538,  538,  610,
+      697,  610,  610,  610,  610,  610,  610,  610,  610,  299,
+
+      298,  297,  296,  538,  538,  538,  538,  538,  538,  540,
+      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
+      546,  846,  546,  546,  546,  546,  546,  546,  546,  546,
+      546,  846,  295,  286,  546,  546,  546,  546,  546,  612,
+      612,  612,  612,  612,  612,  612,  612,  612,  285,  283,
+      702,  702,  282,  546,  546,  546,  546,  546,  546,  554,
+      702,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      273,  272,  265,  554,  554,  554,  554,  554,  613,  613,
+      613,  613,  613,  613,  613,  613,  613,  264,  263,  262,
+      261,  259,  554,  554,  554,  554,  554,  554,  562,  562,
+
+      562,  562,  562,  562,  562,  562,  248,  247,  246,  245,
+      562,  562,  562,  562,  562,  614,  614,  614,  614,  614,
+      614,  614,  614,  614,  244,  242,  704,  704,  241,  562,
+      562,  562,  562,  562,  562,  564,  704,  564,  564,  564,
+      564,  564,  564,  564,  564,  564,  571,  571,  571,  571,
+      571,  571,  571,  571,  571,  571,  571,  865,  240,  239,
+      571,  571,  571,  571,  571,  615,  865,  615,  615,  615,
+      615,  615,  615,  615,  615,  238,  724,  724,  236,  571,
+      571,  571,  571,  571,  571,  586,  724,  586,  586,  586,
+      586,  586,  586,  586,  586,  616,  848,  616,  616,  616,
+
+      616,  616,  616,  616,  616,  617,  848,  617,  617,  617,
+      617,  617,  617,  617,  617,  233,  586,  587,  860,  587,
+      587,  587,  587,  587,  587,  587,  587,  618,  860,  618,
+      618,  618,  618,  618,  618,  618,  618,  619,  886,  619,
+      619,  619,  619,  619,  619,  619,  619,  886,  587,  588,
+      945,  588,  588,  588,  588,  588,  588,  588,  588,  620,
+      945,  620,  620,  620,  620,  620,  620,  620,  620,  623,
+      623,  623,  623,  623,  623,  623,  623,  232,  229,  224,
+      588,  589,  223,  589,  589,  589,  589,  589,  589,  589,
+      589,  624,  624,  624,  624,  624,  624,  625,  888,  625,
+
+      625,  625,  625,  625,  625,  625,  625,  888,  212,  208,
+      207,  206,  589,  592,  205,  592,  592,  592,  592,  592,
+      592,  592,  592,  636,  636,  636,  636,  636,  636,  636,
+      636,  638,  895,  638,  638,  638,  638,  638,  638,  638,
+      638,  895,  204,  203,  592,  593,  960,  593,  593,  593,
+      593,  593,  593,  593,  593,  639,  960,  639,  639,  639,
+      639,  639,  639,  639,  639,  640,  902,  640,  640,  640,
+      640,  640,  640,  201,  193,  902,  593,  594,  190,  594,
+      594,  594,  594,  594,  594,  594,  594,  642,  642,  642,
+      642,  642,  642,  642,  642,  649,  923,  649,  649,  649,
+
+      649,  649,  649,  649,  649,  923,  189,  188,  594,  595,
+      967,  595,  595,  595,  595,  595,  595,  595,  595,  650,
+      967,  650,  650,  650,  650,  650,  650,  650,  650,  651,
+      973,  651,  651,  651,  651,  651,  651,  651,  651,  973,
+      595,  602,  602,  602,  602,  602,  602,  602,  602,  602,
+      602,  602,  187,  186,  184,  602,  602,  602,  602,  602,
+      654,  654,  654,  654,  654,  654,  654,  654,  655,  655,
+      655,  655,  655,  655,  602,  602,  602,  602,  602,  602,
+      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
+      607,  183,  182,  181,  607,  607,  607,  607,  607,  656,
+
+      969,  656,  656,  656,  656,  656,  656,  656,  656,  180,
+      969,  179,  175,  607,  607,  607,  607,  607,  607,  622,
+      622,  622,  622,  622,  622,  622,  622,  622,  622,  622,
+      173,  166,  159,  622,  622,  622,  622,  622,  658,  658,
+      658,  658,  658,  658,  658,  658,  737,  737,  737,  737,
+      737,  737,  622,  622,  622,  622,  622,  622,  631,  631,
+      631,  631,  631,  631,  631,  631,  726,  726,  153,  149,
+      631,  631,  631,  631,  631,  660,  726,  660,  660,  660,
+      660,  660,  660,  660,  660,  147,  772,  772,  144,  631,
+      631,  631,  631,  631,  631,  633,  772,  633,  633,  633,
+
+      633,  633,  633,  633,  633,  633,  644,  644,  644,  644,
+      644,  644,  644,  644,  800,  800,  143,  141,  644,  644,
+      644,  644,  644,  661,  800,  661,  661,  661,  661,  661,
+      661,  661,  661,  135,  806,  806,  129,  644,  644,  644,
+      644,  644,  644,  646,  806,  646,  646,  646,  646,  646,
+      646,  646,  646,  646,  653,  989,  653,  653,  653,  653,
+      653,  653,  653,  653,  653,  989,  127,  124,  653,  653,
+      653,  653,  653,  662,  117,  662,  662,  662,  662,  662,
+      662,  749,  749,  749,  749,  749,  749,  653,  653,  653,
+      653,  653,  653,  665,  665,  665,  665,  665,  665,  665,
+
+      665,  116,  115,  114,  113,  665,  665,  665,  665,  665,
+      669,  669,  669,  669,  669,  669,  669,  669,  108,  107,
+      669,  105,  102,   98,  665,  665,  665,  665,  665,  665,
+      667,  667,  667,  667,  667,  667,  667,  667,  667,  667,
+      667,  674,   97,  674,  996,  674,  998,  674,  674,  991,
+      676,  674,  676,  996,  676,  998,  676,  676, 1001,  991,
+      676,  821,  821,  674,  674,  674,  683, 1001,  683,  683,
+      683,  821,  676,  676,  676,  677,  677,  677,  677,  677,
+      677,  677,  677,   93,  866,  866,  687,  687,  687,  687,
+      687,  687,  687,  687,  866,   90,  716,  683,  716,  716,
+
+      716,  716,  716,  716,  677,  679,   88,  679,  679,  679,
+      679,  679,  679,  679,  679,  687,  700,  700,  700,  700,
+      700,  700,  700,  700,   86,   85,  700,   84,  707,  707,
+      707,  707,  707,  707,  707,  707,  679,  680,  707,  680,
+      680,  680,  680,  680,  680,  680,  680,  709,  709,  709,
+      709,  709,  709,  709,  709,  709,  710,  710,  710,  710,
+      710,  710,  710,  710,  710,   82,   75,   69,  680,  681,
+       64,  681,  681,  681,  681,  681,  681,  681,  681,  711,
+      711,  711,  711,  711,  711,  711,  712,  712,  712,  712,
+      712,  712,  712,  712,  770,  770,  770,  770,  770,  770,
+
+      681,  682, 1025,  682,  682,  682,  682,  682,  682,  682,
+      682,  714, 1025,  714,  714,  714,  714,  714,  714,  714,
+      714,  715, 1004,  715,  715,  715,  715,  715,  715,  715,
+      715, 1004,  682,  684,   60,  684,  684,  684,  684,  684,
+      684,  684,  684,  717,  717,  717,  717,  717,  717,  717,
+      717,  719, 1016,  719,  719,  719,  719,  719,  719,  719,
+      719, 1016,   59,   58,  684,  685, 1027,  685,  685,  685,
+      685,  685,  685,  685,  685,  720, 1027,  720,  720,  720,
+      720,  720,  720,  720,  720,  721, 1069,  721,  721,  721,
+      721,  721,  721,   56,   50, 1069,  685,  686,   48,  686,
+
+      686,  686,  686,  686,  686,  686,  686,  723,  723,  723,
+      723,  723,  723,  723,  723,  729,  729,  729,  729,  729,
+      729,  729,  729,   46,   45,  729,   44, 1032,  686,  693,
+      693,  693,  693,  693,  693,  693,  693, 1032,   43,   42,
+       41,  693,  693,  693,  693,  693,  736,  736,  736,  736,
+      736,  736,  736,  736,  793,  793,  793,  793,  793,  793,
+      693,  693,  693,  693,  693,  693,  696,  696,  696,  696,
+      696,  696,  696,  696,  868,  868,   35,   34,  696,  696,
+      696,  696,  696,  738,  868,  738,  738,  738,  738,  738,
+      738,  738,  738,   33,   31,   28,   22,  696,  696,  696,
+
+      696,  696,  696,  698,  698,  698,  698,  698,  698,  698,
+      698,  698,  698,  698,  703,  703,  703,  703,  703,  703,
+      703,  703,  889,  889,   19,   18,  703,  703,  703,  703,
+      703,  740,  889,  740,  740,  740,  740,  740,  740,  740,
+      740,   17,   15,   14,   13,  703,  703,  703,  703,  703,
+      703,  705,  705,  705,  705,  705,  705,  705,  705,  705,
+      705,  705,  725,  725,  725,  725,  725,  725,  725,  725,
+      891,  891,    0,    0,  725,  725,  725,  725,  725,  741,
+      891,  741,  741,  741,  741,  741,  741,  741,  741,    0,
+        0,    0,    0,  725,  725,  725,  725,  725,  725,  727,
+
+      727,  727,  727,  727,  727,  727,  727,  727,  727,  727,
+      735, 1034,  735,  735,  735,  735,  735,  735,  735,  735,
+      735, 1034,    0,    0,  735,  735,  735,  735,  735,  742,
+     1092,  742,  742,  742,  742,  742,  742,  742,  742, 1092,
+      896,  896,    0,  735,  735,  735,  735,  735,  735,  743,
+      896,  743,  743,  743,  743,  743,  743,  743,  743,  744,
+     1054,  744,  744,  744,  744,  744,  744,  744,  744,  745,
+     1054,  745,  745,  745,  745,  745,  745,  745,  745,  747,
+     1056,  747,  747,  747,  747,  747,  747,  747,  747,  747,
+     1056,    0,    0,  747,  747,  747,  747,  747,  748,  748,
+
+      748,  748,  748,  748,  748,  748,  798,  798,  798,  798,
+      798,  798,  747,  747,  747,  747,  747,  747,  750,    0,
+      750,  750,  750,  750,  750,  750,  750,  750,  752,  752,
+      752,  752,  752,  752,  752,  752,  754, 1068,  754,  754,
+      754,  754,  754,  754,  754,  754,  755, 1068,  755,  755,
+      755,  755,  755,  755,  755,  755,  756,    0,  756,  756,
+      756,  756,  756,  756,  759,  759,  759,  759,  759,  759,
+      759,  759,    0,    0,    0,    0,  759,  759,  759,  759,
+      759,  764,  764,  764,  764,  764,  764,  764,  764,  764,
+        0,    0,  898,  898,    0,  759,  759,  759,  759,  759,
+
+      759,  761,  898,  761,  761,  761,  761,  761,  761,  761,
+      761,  761,  765,  765,  765,  765,  765,  765,  765,  765,
+      765,  766,  766,  766,  766,  766,  766,  766,  766,  766,
+      768,  768,  768,  768,  768,  768,  768,  768,  768,  768,
+      768,    0,    0,    0,  768,  768,  768,  768,  768,  769,
+      769,  769,  769,  769,  769,  769,  769,  804,  804,  804,
+      804,  804,  804,  768,  768,  768,  768,  768,  768,  771,
+     1090,  771,  771,  771,  771,  771,  771,  771,  771,  776,
+     1090,  776,  776,  776,  776,  776,  776,  776,  776,    0,
+        0,    0,  779,  779,  779,  779,  779,  779,  779,  779,
+
+      781,  781,  781,  781,  781,  781,  781,  781,    0,    0,
+      776,  777,    0,  777,  777,  777,  777,  777,  777,  777,
+      777,  779,  819,  819,  819,  819,  819,  819,  785,  781,
+      785,  785,  785,  785,  785,  785,  858,  858,  858,  858,
+      858,  858,  777,  778,    0,  778,  778,  778,  778,  778,
+      778,  778,  778,  883,  883,  883,  883,  883,  883,  785,
+      792,  792,  792,  792,  792,  792,  792,  792,  938,  938,
+      938,  938,  938,  938,  778,  783, 1130,  783,  783,  783,
+      783,  783,  783,  783,  783,  794, 1130,  794,  794,  794,
+      794,  794,  794,  794,  794,  797,  797,  797,  797,  797,
+
+      797,  797,  797,    0,    0,    0,  783,  784, 1136,  784,
+      784,  784,  784,  784,  784,  784,  784,  799, 1136,  799,
+      799,  799,  799,  799,  799,  799,  799,  803,  803,  803,
+      803,  803,  803,  803,  803,    0,    0,    0,  784,  788,
+      788,  788,  788,  788,  788,  788,  788,  788, 1094,    0,
+        0,  788,  788,  788,  788,  788,  805, 1094,  805,  805,
+      805,  805,  805,  805,  805,  805,    0,    0,    0,    0,
+      788,  788,  788,  788,  788,  788,  791,  791,  791,  791,
+      791,  791,  791,  791,  791,  791,  791,    0,    0,    0,
+      791,  791,  791,  791,  791,  807,  807,  807,  807,  807,
+
+      807,  807,  807,  807,    0,    0,    0,    0,    0,  791,
+      791,  791,  791,  791,  791,  796,  796,  796,  796,  796,
+      796,  796,  796,  796,  796,  796,    0,    0,    0,  796,
+      796,  796,  796,  796,  808,  808,  808,  808,  808,  808,
+      808,  808,  808,    0,    0,    0,    0,    0,  796,  796,
+      796,  796,  796,  796,  802,  802,  802,  802,  802,  802,
+      802,  802,  802,  802,  802,    0,    0,    0,  802,  802,
+      802,  802,  802,  809,  809,  809,  809,  809,  809,  809,
+      809,  809,    0,    0,  903,  903,    0,  802,  802,  802,
+      802,  802,  802,  810,  903,  810,  810,  810,  810,  810,
+
+      810,  810,  810,  811, 1151,  811,  811,  811,  811,  811,
+      811,  811,  811,  812, 1151,  812,  812,  812,  812,  812,
+      812,  812,  812,  813, 1157,  813,  813,  813,  813,  813,
+      813,  813,  813,  814, 1157,  814,  814,  814,  814,  814,
+      814,  814,  814,  815,    0,  815,  815,  815,  815,  815,
+      815,  815,  815,  817,  817,  817,  817,  817,  817,  817,
+      817,  817,  817,  817,    0,    0,    0,  817,  817,  817,
+      817,  817,  818,  818,  818,  818,  818,  818,  818,  818,
+        0,    0,    0,  905,  905,    0,  817,  817,  817,  817,
+      817,  817,  820,  905,  820,  820,  820,  820,  820,  820,
+
+      820,  820,  826,  826,  826,  826,  826,  826,  826,  826,
+        0,    0,    0,    0,  826,  826,  826,  826,  826,  834,
+      834,  834,  834,  834,  834,  834,  834,  943,  943,  943,
+      943,  943,  943,  826,  826,  826,  826,  826,  826,  829,
+      829,  829,  829,  829,  829,  829,  829,  925,  925,    0,
+        0,  829,  829,  829,  829,  829,  836,  925,  836,  836,
+      836,  836,  836,  836,  836,  836,    0,  927,  927,    0,
+      829,  829,  829,  829,  829,  829,  831,  927,  831,  831,
+      831,  831,  831,  831,  831,  831,  831,  837, 1159,  837,
+      837,  837,  837,  837,  837,  837,  837,  838, 1159,  838,
+
+      838,  838,  838,  838,  838,  839,  839,  839,  839,  839,
+      839,  839,  839,  841, 1200,  841,  841,  841,  841,  841,
+      841,  841,  841,  842, 1200,  842,  842,  842,  842,  842,
+      842,  842,  842,  843,    0,  843,  843,  843,  843,  843,
+      843,  845,  845,  845,  845,  845,  845,  845,  845,  847,
+      847,  847,  847,  847,  847,  847,  847,  978,  978,    0,
+        0,  847,  847,  847,  847,  847,  852,  978,  852,  852,
+      852,  852,  852,  852,  852,  852,    0, 1000, 1000,    0,
+      847,  847,  847,  847,  847,  847,  849, 1000,  849,  849,
+      849,  849,  849,  849,  849,  849,  849,  853, 1202,  853,
+
+      853,  853,  853,  853,  853,  853,  853,  854, 1202,  854,
+      854,  854,  854,  854,  854,  854,  854,  856, 1207,  856,
+      856,  856,  856,  856,  856,  856,  856,  856, 1207,    0,
+        0,  856,  856,  856,  856,  856,  857,  857,  857,  857,
+      857,  857,  857,  857,  958,  958,  958,  958,  958,  958,
+      856,  856,  856,  856,  856,  856,  859,    0,  859,  859,
+      859,  859,  859,  859,  859,  859,  862,  862,  862,  862,
+      862,  862,  862,  862,  862,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  864,  864,  864,  864,  864,  864,
+      864,  867,  867,  867,  867,  867,  867,  867,  867,    0,
+
+        0,    0,    0,  867,  867,  867,  867,  867,  871,  871,
+      871,  871,  871,  871,  871,  871,    0,    0,  871,    0,
+        0,    0,  867,  867,  867,  867,  867,  867,  869,  869,
+      869,  869,  869,  869,  869,  869,  869,  869,  869,  872,
+      872,  872,  872,  872,  872,  872,  872,    0,  876,    0,
+      876,  876,  876,  876,  876,  876,  882,  882,  882,  882,
+      882,  882,  882,  882,    0,    0,    0,    0,  872,  874,
+        0,  874,  874,  874,  874,  874,  874,  874,  874,  876,
+      885, 1096,  885,  885,  885,  885,  885,  885,  885,  885,
+     1096,    0,  894,  894,  894,  894,  894,  894,  894,  894,
+
+      874,  875,  894,  875,  875,  875,  875,  875,  875,  875,
+      875,  901,  901,  901,  901,  901,  901,  901,  901,    0,
+        0,  901,    0,    0,  908,  908,  908,  908,  908,  908,
+      908,  908,  875,  877,  908,  877,  877,  877,  877,  877,
+      877,  877,  877,  910,  910,  910,  910,  910,  910,  910,
+      910,  910,  911,  911,  911,  911,  911,  911,  911,  911,
+      911,    0,    0,    0,  877,  878,    0,  878,  878,  878,
+      878,  878,  878,  878,  878,  912,  912,  912,  912,  912,
+      912,  912,  913,  913,  913,  913,  913,  913,  913,  913,
+      976,  976,  976,  976,  976,  976,  878,  879, 1209,  879,
+
+      879,  879,  879,  879,  879,  879,  879,  915, 1209,  915,
+      915,  915,  915,  915,  915,  915,  915,  916, 1098,  916,
+      916,  916,  916,  916,  916,  916,  916, 1098,  879,  881,
+        0,  881,  881,  881,  881,  881,  881,  881,  881,  881,
+     1114,    0,    0,  881,  881,  881,  881,  881,  917, 1114,
+      917,  917,  917,  917,  917,  917, 1041, 1041, 1041, 1041,
+     1041, 1041,  881,  881,  881,  881,  881,  881,  892,  892,
+      892,  892,  892,  892,  892,  892,  892,  892,  892,  899,
+      899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+      906,  906,  906,  906,  906,  906,  906,  906,  906,  906,
+
+      906,  918,  918,  918,  918,  918,  918,  918,  918,  920,
+     1214,  920,  920,  920,  920,  920,  920,  920,  920,  921,
+     1214,  921,  921,  921,  921,  921,  921,  921,  921,  922,
+        0,  922,  922,  922,  922,  922,  922,  924,  924,  924,
+      924,  924,  924,  924,  924,  928,  928,  928,  928,  928,
+      928,  928,  928,  928,  928,  928,  930,  930,  930,  930,
+      930,  930,  930,  930,    0,    0,  930,  936, 1216,  936,
+      936,  936,  936,  936,  936,  936,  936,  936, 1216,    0,
+        0,  936,  936,  936,  936,  936,  937,  937,  937,  937,
+      937,  937,  937,  937,    0,    0,    0, 1003, 1003,    0,
+
+      936,  936,  936,  936,  936,  936,  939, 1003,  939,  939,
+      939,  939,  939,  939,  939,  939,  941, 1236,  941,  941,
+      941,  941,  941,  941,  941,  941,  941, 1236,    0,    0,
+      941,  941,  941,  941,  941,  942,  942,  942,  942,  942,
+      942,  942,  942,    0,    0,    0, 1006, 1006,    0,  941,
+      941,  941,  941,  941,  941,  944, 1006,  944,  944,  944,
+      944,  944,  944,  944,  944,  946,  946,  946,  946,  946,
+      946,  946,  946,  947,  947,  947,  947,  947,  947,  947,
+      947,  948,  948,  948,  948,  948,  948,  948,  948,  949,
+     1238,  949,  949,  949,  949,  949,  949,  949,  949,  950,
+
+     1238,  950,  950,  950,  950,  950,  950,  950,  950,  951,
+     1247,  951,  951,  951,  951,  951,  951,  951,  951,  952,
+     1247,  952,  952,  952,  952,  952,  952,  952,  952,  953,
+     1274,  953,  953,  953,  953,  953,  953,  953,  953,  954,
+     1274,  954,  954,  954,  954,  954,  954,  954,  954,  956,
+     1276,  956,  956,  956,  956,  956,  956,  956,  956,  956,
+     1276,    0,    0,  956,  956,  956,  956,  956,  957,  957,
+      957,  957,  957,  957,  957,  957,    0,    0,    0, 1018,
+     1018,    0,  956,  956,  956,  956,  956,  956,  959, 1018,
+      959,  959,  959,  959,  959,  959,  959,  959,  961,  961,
+
+      961,  961,  961,  961,  961,  961,  963, 1285,  963,  963,
+      963,  963,  963,  963,  963,  963,  964, 1285,  964,  964,
+      964,  964,  964,  964,  964,  964,  965,    0,  965,  965,
+      965,  965,  965,  965,  968,  968,  968,  968,  968,  968,
+      968,  968,    0,    0,    0,    0,  968,  968,  968,  968,
+      968,  975,  975,  975,  975,  975,  975,  975,  975, 1066,
+     1066, 1066, 1066, 1066, 1066,  968,  968,  968,  968,  968,
+      968,  970,    0,  970,  970,  970,  970,  970,  970,  970,
+      970,  970,  974,  974,  974,  974,  974,  974,  974,  974,
+      974,  974,  974, 1163,    0,    0,  974,  974,  974,  974,
+
+      974,  977, 1163,  977,  977,  977,  977,  977,  977,  977,
+      977,    0, 1070, 1070,    0,  974,  974,  974,  974,  974,
+      974,  979, 1070,  979,  979,  979,  979,  979,  979,  979,
+      979,    0,    0, 1288,  982,  982,  982,  982,  982,  982,
+      982,  982,  986, 1288,  986,  986,  986,  986,  986,  986,
+        0,    0,  979,  980,    0,  980,  980,  980,  980,  980,
+      980,  980,  980,  982,  988,  988,  988,  988,  988,  988,
+      988,  988,    0,  986, 1007, 1007, 1007, 1007, 1007, 1007,
+     1007, 1007, 1007,    0,  980,  981,    0,  981,  981,  981,
+      981,  981,  981,  981,  981, 1008, 1008, 1008, 1008, 1008,
+
+     1008, 1008, 1008, 1008, 1009, 1009, 1009, 1009, 1009, 1009,
+     1009, 1009, 1009,    0,    0,    0,  981,  984, 1291,  984,
+      984,  984,  984,  984,  984,  984,  984, 1010, 1291, 1010,
+     1010, 1010, 1010, 1010, 1010, 1010, 1010, 1011, 1248, 1011,
+     1011, 1011, 1011, 1011, 1011, 1011, 1011, 1248,  984,  985,
+     1303,  985,  985,  985,  985,  985,  985,  985,  985, 1012,
+     1303, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1013,
+        0, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,    0,
+      985,  992,    0,  992,  992,  992,  992,  992,  992,  992,
+      992,  992, 1014, 1305, 1014, 1014, 1014, 1014, 1014, 1014,
+
+     1014, 1014, 1015, 1305, 1015, 1015, 1015, 1015, 1015, 1015,
+     1015, 1015, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
+        0,    0,    0,    0, 1023, 1023, 1023, 1023, 1023, 1039,
+     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1123, 1123, 1123,
+     1123, 1123, 1123, 1023, 1023, 1023, 1023, 1023, 1023, 1026,
+     1026, 1026, 1026, 1026, 1026, 1026, 1026,    0,    0,    0,
+        0, 1026, 1026, 1026, 1026, 1026, 1040, 1040, 1040, 1040,
+     1040, 1040, 1040, 1040,    0,    0,    0, 1072, 1072,    0,
+     1026, 1026, 1026, 1026, 1026, 1026, 1028, 1072, 1028, 1028,
+     1028, 1028, 1028, 1028, 1028, 1028, 1028, 1033, 1033, 1033,
+
+     1033, 1033, 1033, 1033, 1033,    0,    0,    0,    0, 1033,
+     1033, 1033, 1033, 1033, 1042, 1042, 1042, 1042, 1042, 1042,
+     1042, 1042, 1128, 1128, 1128, 1128, 1128, 1128, 1033, 1033,
+     1033, 1033, 1033, 1033, 1035,    0, 1035, 1035, 1035, 1035,
+     1035, 1035, 1035, 1035, 1035, 1044, 1307, 1044, 1044, 1044,
+     1044, 1044, 1044, 1044, 1044, 1045, 1307, 1045, 1045, 1045,
+     1045, 1045, 1045, 1045, 1045, 1046,    0, 1046, 1046, 1046,
+     1046, 1046, 1046, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
+     1047, 1049, 1326, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
+     1049, 1050, 1326, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
+
+     1050, 1051,    0, 1051, 1051, 1051, 1051, 1051, 1051, 1053,
+     1053, 1053, 1053, 1053, 1053, 1053, 1053, 1055, 1055, 1055,
+     1055, 1055, 1055, 1055, 1055,    0,    0,    0,    0, 1055,
+     1055, 1055, 1055, 1055, 1060, 1060, 1060, 1060, 1060, 1060,
+     1060, 1060, 1134, 1134, 1134, 1134, 1134, 1134, 1055, 1055,
+     1055, 1055, 1055, 1055, 1057,    0, 1057, 1057, 1057, 1057,
+     1057, 1057, 1057, 1057, 1057, 1061, 1061, 1061, 1061, 1061,
+     1061, 1061, 1061, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
+     1062, 1064, 1354, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
+     1064, 1064, 1354,    0,    0, 1064, 1064, 1064, 1064, 1064,
+
+     1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1149, 1149,
+     1149, 1149, 1149, 1149, 1064, 1064, 1064, 1064, 1064, 1064,
+     1067,    0, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067,
+     1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073,
+     1073, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075,    0,
+        0, 1075, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
+        0, 1080,    0, 1080, 1080, 1080, 1080, 1080, 1080, 1081,
+     1081, 1081, 1081, 1081, 1081, 1081, 1081,    0,    0,    0,
+        0, 1076, 1078,    0, 1078, 1078, 1078, 1078, 1078, 1078,
+     1078, 1078, 1080,    0,    0,    0,    0,    0, 1081, 1082,
+
+     1082, 1082, 1082, 1082, 1082, 1082, 1082, 1155, 1155, 1155,
+     1155, 1155, 1155, 1078, 1079,    0, 1079, 1079, 1079, 1079,
+     1079, 1079, 1079, 1079,    0,    0,    0,    0, 1082, 1083,
+     1083, 1083, 1083, 1083, 1083, 1083, 1083, 1103, 1103, 1103,
+     1103, 1103, 1103, 1103, 1084, 1079, 1084, 1084, 1084, 1084,
+     1084, 1084, 1084, 1084,    0,    0,    0, 1085, 1083, 1085,
+     1085, 1085, 1085, 1085, 1085, 1085, 1085, 1086,    0, 1086,
+     1086, 1086, 1086, 1086, 1086, 1086, 1086, 1101, 1101, 1101,
+     1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102, 1102, 1102,
+     1102, 1102, 1102, 1102, 1102, 1104, 1104, 1104, 1104, 1104,
+
+     1104, 1104, 1104, 1106,    0, 1106, 1106, 1106, 1106, 1106,
+     1106, 1106, 1106, 1107,    0, 1107, 1107, 1107, 1107, 1107,
+     1107, 1107, 1107, 1108,    0, 1108, 1108, 1108, 1108, 1108,
+     1108, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1111,
+        0, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1112,
+        0, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1113,
+        0, 1113, 1113, 1113, 1113, 1113, 1113, 1118, 1118, 1118,
+     1118, 1118, 1118, 1118, 1118, 1118,    0,    0,    0, 1118,
+     1118, 1118, 1118, 1118, 1122, 1122, 1122, 1122, 1122, 1122,
+     1122, 1122,    0,    0,    0, 1165, 1165,    0, 1118, 1118,
+
+     1118, 1118, 1118, 1118, 1121, 1165, 1121, 1121, 1121, 1121,
+     1121, 1121, 1121, 1121, 1121,    0,    0,    0, 1121, 1121,
+     1121, 1121, 1121, 1124,    0, 1124, 1124, 1124, 1124, 1124,
+     1124, 1124, 1124,    0,    0,    0,    0, 1121, 1121, 1121,
+     1121, 1121, 1121, 1126,    0, 1126, 1126, 1126, 1126, 1126,
+     1126, 1126, 1126, 1126,    0,    0,    0, 1126, 1126, 1126,
+     1126, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
+     1194, 1194, 1194, 1194, 1194, 1194, 1126, 1126, 1126, 1126,
+     1126, 1126, 1129,    0, 1129, 1129, 1129, 1129, 1129, 1129,
+     1129, 1129, 1132,    0, 1132, 1132, 1132, 1132, 1132, 1132,
+
+     1132, 1132, 1132,    0,    0,    0, 1132, 1132, 1132, 1132,
+     1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1223,
+     1223, 1223, 1223, 1223, 1223, 1132, 1132, 1132, 1132, 1132,
+     1132, 1135,    0, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
+     1135, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138,
+     1138, 1138, 1138, 1138, 1138, 1138, 1138, 1139, 1139, 1139,
+     1139, 1139, 1139, 1139, 1139, 1140,    0, 1140, 1140, 1140,
+     1140, 1140, 1140, 1140, 1140, 1141,    0, 1141, 1141, 1141,
+     1141, 1141, 1141, 1141, 1141, 1142,    0, 1142, 1142, 1142,
+     1142, 1142, 1142, 1142, 1142, 1143,    0, 1143, 1143, 1143,
+
+     1143, 1143, 1143, 1143, 1143, 1144,    0, 1144, 1144, 1144,
+     1144, 1144, 1144, 1144, 1144, 1145,    0, 1145, 1145, 1145,
+     1145, 1145, 1145, 1145, 1145, 1147,    0, 1147, 1147, 1147,
+     1147, 1147, 1147, 1147, 1147, 1147,    0,    0,    0, 1147,
+     1147, 1147, 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148,
+     1148, 1148, 1245, 1245, 1245, 1245, 1245, 1245, 1147, 1147,
+     1147, 1147, 1147, 1147, 1150,    0, 1150, 1150, 1150, 1150,
+     1150, 1150, 1150, 1150, 1153, 1153, 1153, 1153, 1153, 1153,
+     1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
      1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,    0,    0,
-        0, 1158, 1158, 1158, 1158, 1158, 1161,    0, 1161, 1161,
-     1161, 1161, 1161, 1161, 1161, 1161, 1166, 1166, 1166, 1166,
-     1166, 1166, 1158, 1158, 1158, 1158, 1158, 1158, 1164,    0,
-     1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,    0,
-
-        0,    0, 1164, 1164, 1164, 1164, 1164, 1165, 1165, 1165,
-     1165, 1165, 1165, 1165, 1165, 1169, 1169, 1169, 1169, 1169,
-     1169, 1169, 1169, 1164, 1164, 1164, 1164, 1164, 1164, 1167,
-        0, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1170,
-     1170, 1170, 1170, 1170, 1170, 1170, 1170, 1171, 1171, 1171,
-     1171, 1171, 1171, 1171, 1171, 1172,    0, 1172, 1172, 1172,
-     1172, 1172, 1172, 1172, 1172, 1173,    0, 1173, 1173, 1173,
-     1173, 1173, 1173, 1173, 1173, 1174,    0, 1174, 1174, 1174,
-     1174, 1174, 1174, 1174, 1174, 1175,    0, 1175, 1175, 1175,
-     1175, 1175, 1175, 1175, 1175, 1176,    0, 1176, 1176, 1176,
-
-     1176, 1176, 1176, 1176, 1176, 1177,    0, 1177, 1177, 1177,
-     1177, 1177, 1177, 1177, 1177, 1179,    0, 1179, 1179, 1179,
-     1179, 1179, 1179, 1179, 1179, 1179,    0,    0,    0, 1179,
-     1179, 1179, 1179, 1179, 1180, 1180, 1180, 1180, 1180, 1180,
-     1180, 1180, 1181, 1181, 1181, 1181, 1181, 1181,    0,    0,
-     1179, 1179, 1179, 1179, 1179, 1179, 1182,    0, 1182, 1182,
-     1182, 1182, 1182, 1182, 1182, 1182, 1185, 1185, 1185, 1185,
-     1185, 1185, 1185, 1185, 1186, 1186, 1186, 1186, 1186, 1186,
-     1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1190, 1190,
-     1190, 1190, 1190, 1190, 1190, 1190, 1197, 1197,    0,    0,
-
-     1190, 1190, 1190, 1190, 1190,    0, 1197, 1198, 1198, 1198,
-     1198, 1198, 1198, 1198, 1198, 1226, 1226, 1226, 1226, 1226,
-     1226, 1190, 1190, 1190, 1190, 1190, 1190, 1192,    0, 1192,
-     1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1198, 1199,
-     1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
-     1200, 1200, 1200, 1200, 1200, 1202, 1202, 1202, 1202, 1202,
-     1202, 1202, 1202, 1203, 1203, 1203, 1203, 1203, 1203, 1208,
-     1199, 1208, 1208, 1208, 1208, 1208, 1208,    0, 1200, 1255,
-     1255, 1255, 1255, 1255, 1255, 1260, 1202, 1260, 1260, 1260,
-     1260, 1260, 1260,    0, 1203, 1204, 1204, 1204, 1204, 1204,
-
-     1204, 1204, 1204, 1206,    0, 1206, 1206, 1206, 1206, 1206,
-     1206, 1206, 1206, 1207,    0, 1207, 1207, 1207, 1207, 1207,
-     1207, 1207, 1207, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
-     1216, 1216, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
-     1217, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
-     1219,    0, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
-     1220,    0, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
-     1221,    0, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
-     1224,    0, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
-     1224,    0,    0,    0, 1224, 1224, 1224, 1224, 1224, 1225,
-
-     1225, 1225, 1225, 1225, 1225, 1225, 1225, 1253, 1253, 1253,
-     1253, 1253, 1253, 1253, 1253, 1224, 1224, 1224, 1224, 1224,
-     1224, 1228,    0, 1228, 1228, 1228, 1228, 1228, 1228, 1228,
-     1228, 1235,    0, 1235, 1235, 1235, 1235, 1235, 1235, 1235,
-     1235, 1235, 1242,    0, 1242, 1242, 1242, 1242, 1242, 1242,
-     1242, 1242, 1242, 1249,    0, 1249, 1249, 1249, 1249, 1249,
-     1249, 1249, 1249, 1249, 1254, 1254, 1254, 1254, 1254, 1254,
-     1254, 1254, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256,
-     1258,    0, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
-     1259,    0, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259,
-
-     1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1263,    0,
-     1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1264,    0,
-     1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1265,    0,
-     1265, 1265, 1265, 1265, 1265, 1265, 1267, 1267, 1267, 1267,
-     1267, 1267, 1267, 1267, 1271,    0, 1271, 1271, 1271, 1271,
-     1271, 1271, 1271, 1271, 1271, 1275,    0, 1275, 1275, 1275,
-     1275, 1275, 1275, 1275, 1275, 1275,    0,    0,    0, 1275,
-     1275, 1275, 1275, 1275, 1276, 1276, 1276, 1276, 1276, 1276,
-     1276, 1276, 1277, 1277, 1277, 1277, 1277, 1277,    0,    0,
-     1275, 1275, 1275, 1275, 1275, 1275, 1278,    0, 1278, 1278,
-
-     1278, 1278, 1278, 1278, 1278, 1278, 1283, 1283, 1283, 1283,
-     1283, 1283, 1283, 1283, 1284, 1284, 1284, 1284, 1284, 1284,
-     1285,    0, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
-     1297, 1297, 1297, 1297, 1297, 1297, 1297, 1283, 1371, 1371,
-     1371, 1371, 1371, 1371, 1286, 1284, 1286, 1286, 1286, 1286,
-     1286, 1286, 1286, 1286, 1287,    0, 1287, 1287, 1287, 1287,
-     1287, 1287, 1287, 1287, 1295, 1295, 1295, 1295, 1295, 1295,
-     1295, 1295, 1295, 1296, 1296, 1296, 1296, 1296, 1296, 1296,
-     1296, 1296, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
-     1300,    0, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
-
-     1301,    0, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301,
-     1302,    0, 1302, 1302, 1302, 1302, 1302, 1302, 1305, 1305,
-     1305, 1305, 1305, 1305, 1305, 1305, 1309,    0, 1309, 1309,
-     1309, 1309, 1309, 1309, 1309, 1309, 1309, 1324, 1324, 1324,
-     1324, 1324, 1324, 1324, 1324, 1325, 1325, 1325, 1325, 1325,
-     1325, 1325, 1325, 1326, 1326, 1326, 1326, 1326, 1326, 1326,
-     1326, 1327,    0, 1327, 1327, 1327, 1327, 1327, 1327, 1327,
-     1327, 1328,    0, 1328, 1328, 1328, 1328, 1328, 1328, 1328,
-     1328, 1329,    0, 1329, 1329, 1329, 1329, 1329, 1329, 1329,
-     1329, 1330,    0, 1330, 1330, 1330, 1330, 1330, 1330, 1330,
-
-     1330, 1331,    0, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
-     1331, 1332,    0, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
-     1332, 1340,    0, 1340, 1340, 1340, 1340, 1340, 1340, 1340,
-     1340, 1340, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344,
-     1346,    0, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
-     1347,    0, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347,
-     1348,    0, 1348, 1348, 1348, 1348, 1348, 1348, 1349, 1349,
-     1349, 1349, 1349, 1349, 1349, 1349, 1349, 1350, 1350, 1350,
-     1350, 1350, 1350, 1350, 1350, 1350, 1351, 1351, 1351, 1351,
-     1351, 1351, 1351, 1351, 1351, 1352,    0, 1352, 1352, 1352,
-
-     1352, 1352, 1352, 1352, 1352, 1353,    0, 1353, 1353, 1353,
-     1353, 1353, 1353, 1353, 1353, 1354,    0, 1354, 1354, 1354,
-     1354, 1354, 1354, 1354, 1354, 1369, 1369, 1369, 1369, 1369,
-     1369, 1369, 1369, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
-     1370, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1374,
-        0, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1375,
-        0, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1376,
-        0, 1376, 1376, 1376, 1376, 1376, 1376, 1377, 1377, 1377,
-     1377, 1377, 1377, 1377, 1377, 1379,    0, 1379, 1379, 1379,
-     1379, 1379, 1379, 1379, 1379, 1380,    0, 1380, 1380, 1380,
-
-     1380, 1380, 1380, 1380, 1380, 1381,    0, 1381, 1381, 1381,
-     1381, 1381, 1381, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
-     1388, 1388, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
-     1389, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390,
-     1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1393,
-     1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1394, 1394,
-     1394, 1394, 1394, 1394, 1394, 1395, 1395, 1395, 1395, 1395,
-     1395, 1395, 1395, 1397,    0, 1397, 1397, 1397, 1397, 1397,
-     1397, 1397, 1397, 1398,    0, 1398, 1398, 1398, 1398, 1398,
-     1398, 1398, 1398, 1399,    0, 1399, 1399, 1399, 1399, 1399,
-
-     1399, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1408,
-     1408, 1408, 1408, 1408, 1408, 1408, 1408, 1409, 1409, 1409,
-     1409, 1409, 1409, 1409, 1409, 1410,    0, 1410, 1410, 1410,
-     1410, 1410, 1410, 1410, 1410, 1411,    0, 1411, 1411, 1411,
-     1411, 1411, 1411, 1411, 1411, 1412,    0, 1412, 1412, 1412,
-     1412, 1412, 1412, 1412, 1412, 1417, 1417, 1417, 1417, 1417,
-     1417, 1417, 1417, 1417, 1418, 1418, 1418, 1418, 1418, 1418,
-     1418, 1418, 1418, 1419, 1419, 1419, 1419, 1419, 1419, 1419,
-     1420,    0, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
-     1421,    0, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
-
-     1422,    0, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
-     1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1431, 1431,
-     1431, 1431, 1431, 1431, 1431, 1431, 1432, 1432, 1432, 1432,
-     1432, 1432, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433,
-     1435,    0, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435,
-     1436,    0, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436,
-     1437,    0, 1437, 1437, 1437, 1437, 1437, 1437, 1440, 1440,
-     1440, 1440, 1440, 1440, 1440, 1440, 1442,    0, 1442, 1442,
-     1442, 1442, 1442, 1442, 1442, 1442, 1443,    0, 1443, 1443,
-     1443, 1443, 1443, 1443, 1443, 1443, 1444,    0, 1444, 1444,
-
-     1444, 1444, 1444, 1444, 1445, 1445, 1445, 1445, 1445, 1445,
-     1445, 1445, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446,
-     1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1449, 1449,
-     1449, 1449, 1449, 1449, 1449, 1449, 1450, 1450, 1450, 1450,
-     1450, 1450, 1450, 1450, 1451, 1451, 1451, 1451, 1451, 1451,
-     1451, 1451, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
-     1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1455, 1455,
-     1455, 1455, 1455, 1455, 1457, 1457, 1457, 1457, 1457, 1457,
-     1457, 1457, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458,
-     1459, 1459, 1459, 1459, 1459, 1459, 1461, 1461, 1461, 1461,
-
-     1461, 1461, 1461, 1461, 1461, 1461, 1461, 1462, 1462, 1462,
-     1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1463, 1463,
-     1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1464,
-        0,    0,    0, 1464, 1464, 1464,    0, 1464, 1464, 1464,
-     1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465,
-     1465, 1466,    0,    0,    0, 1466, 1466, 1466,    0, 1466,
-     1466, 1466, 1467,    0,    0,    0, 1467, 1467, 1467,    0,
-     1467, 1467, 1467, 1468,    0, 1468,    0, 1468, 1468, 1468,
-        0, 1468, 1468, 1468, 1469,    0,    0,    0, 1469, 1469,
-     1469,    0, 1469, 1469, 1469, 1470,    0,    0,    0, 1470,
-
-     1470, 1470,    0, 1470, 1470, 1470, 1471,    0,    0,    0,
-     1471, 1471, 1471,    0, 1471, 1471, 1471, 1472,    0, 1472,
-        0, 1472, 1472, 1472,    0, 1472, 1472, 1472, 1473,    0,
-     1473,    0, 1473, 1473, 1473,    0, 1473, 1473, 1473, 1474,
-        0, 1474, 1474, 1474, 1474, 1474,    0,    0, 1474, 1474,
-     1475, 1475, 1476,    0, 1476,    0, 1476, 1476, 1476, 1476,
-     1476, 1476, 1476, 1477, 1477, 1477, 1477, 1477, 1477, 1477,
-     1477, 1477, 1477, 1477, 1478, 1478, 1478, 1478, 1478, 1478,
-     1478, 1478, 1478, 1478, 1478, 1479,    0, 1479,    0, 1479,
-     1479, 1479,    0, 1479, 1479, 1479, 1480, 1480,    0,    0,
-
-     1480, 1481, 1481,    0,    0,    0, 1481, 1482,    0, 1482,
-        0, 1482, 1482, 1482,    0, 1482, 1482, 1482, 1483, 1483,
-     1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1484,
-     1484,    0,    0, 1484, 1485, 1485, 1485,    0,    0, 1485,
-     1486, 1486,    0,    0, 1486, 1487, 1487,    0,    0, 1487,
-     1488, 1488,    0,    0, 1488, 1489, 1489, 1489,    0,    0,
-     1489, 1490, 1490,    0,    0, 1490, 1491, 1491,    0,    0,
-     1491, 1492, 1492, 1492, 1492,    0,    0, 1492, 1493, 1493,
-        0,    0, 1493, 1494, 1494,    0,    0, 1494, 1495,    0,
-        0,    0, 1495, 1496, 1496, 1496,    0,    0, 1496, 1497,
-
-     1497,    0,    0, 1497, 1498, 1498,    0,    0, 1498, 1499,
-     1499, 1499,    0,    0, 1499, 1500, 1500,    0,    0, 1500,
-     1501, 1501,    0,    0, 1501, 1502, 1502,    0,    0, 1502,
-     1503, 1503, 1503, 1503,    0,    0, 1503, 1504, 1504,    0,
-        0, 1504, 1505, 1505,    0,    0, 1505, 1506, 1506,    0,
-        0,    0, 1506, 1507, 1507, 1507, 1507,    0,    0, 1507,
-     1508, 1508, 1508, 1508,    0,    0, 1508, 1509, 1509,    0,
-        0, 1509, 1510, 1510,    0,    0, 1510, 1511, 1511,    0,
-        0, 1511, 1512, 1512, 1512,    0,    0, 1512, 1513, 1513,
-        0,    0, 1513, 1514, 1514,    0,    0, 1514, 1515, 1515,
-
-     1515,    0,    0, 1515, 1516, 1516, 1516,    0,    0, 1516,
-     1517, 1517, 1517,    0,    0, 1517, 1518, 1518,    0,    0,
-     1518, 1519, 1519,    0,    0, 1519, 1520,    0, 1520, 1520,
-        0,    0, 1520, 1521, 1521,    0,    0, 1521, 1522, 1522,
-     1522, 1522,    0,    0, 1522, 1523, 1523, 1523, 1523, 1523,
-     1523, 1523, 1523, 1523, 1523, 1523, 1524,    0,    0,    0,
-     1524, 1524, 1524,    0, 1524, 1524, 1524, 1525, 1525,    0,
-        0, 1525, 1526, 1526,    0,    0, 1526, 1527, 1527,    0,
-        0,    0, 1527, 1528, 1528, 1528,    0,    0, 1528, 1529,
-     1529, 1529, 1529,    0,    0, 1529, 1530, 1530, 1530, 1530,
-
-        0,    0, 1530, 1531, 1531,    0,    0, 1531, 1532, 1532,
-        0,    0, 1532, 1533, 1533,    0,    0, 1533, 1534,    0,
-     1534, 1534,    0,    0, 1534, 1535, 1535, 1535,    0,    0,
-     1535, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
-     1536, 1536, 1537,    0,    0,    0, 1537, 1537, 1537,    0,
-     1537, 1537, 1537, 1538,    0,    0,    0, 1538, 1538, 1538,
-        0, 1538, 1538, 1538, 1539,    0,    0,    0, 1539, 1539,
-     1539,    0, 1539, 1539, 1539, 1540,    0,    0,    0, 1540,
-     1540, 1540,    0, 1540, 1540, 1540, 1541, 1541,    0,    0,
-     1541, 1542, 1542,    0,    0, 1542, 1543, 1543, 1543,    0,
-
-        0, 1543, 1544, 1544, 1544,    0,    0, 1544, 1545, 1545,
-     1545,    0,    0, 1545, 1546, 1546, 1546,    0,    0, 1546,
-     1547, 1547,    0,    0, 1547, 1548, 1548,    0,    0, 1548,
-     1549,    0,    0,    0, 1549, 1550,    0, 1550, 1550,    0,
-        0, 1550, 1551,    0, 1551, 1551,    0,    0, 1551, 1552,
-     1552,    0,    0, 1552, 1553, 1553, 1553, 1553,    0,    0,
-     1553, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554,
-     1554, 1554, 1555,    0,    0,    0, 1555, 1555, 1555,    0,
-     1555, 1555, 1555, 1556,    0,    0,    0, 1556, 1556, 1556,
-        0, 1556, 1556, 1556, 1557,    0,    0,    0, 1557, 1557,
-
-     1557,    0, 1557, 1557, 1557, 1558,    0,    0,    0, 1558,
-     1558, 1558,    0, 1558, 1558, 1558, 1559, 1559,    0,    0,
-     1559, 1560, 1560,    0,    0, 1560, 1561, 1561,    0,    0,
-        0, 1561, 1562, 1562, 1562,    0,    0, 1562, 1563, 1563,
-     1563, 1563,    0,    0, 1563, 1564, 1564, 1564, 1564,    0,
-        0, 1564, 1565, 1565, 1565, 1565,    0,    0, 1565, 1566,
-     1566,    0,    0, 1566, 1567, 1567,    0,    0, 1567, 1568,
-     1568,    0,    0, 1568, 1569, 1569,    0,    0, 1569, 1570,
-     1570,    0,    0, 1570, 1571,    0, 1571, 1571,    0,    0,
-     1571, 1572, 1572, 1572,    0,    0, 1572, 1573, 1573, 1573,
-
-     1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1574,    0,
-        0,    0, 1574, 1574, 1574,    0, 1574, 1574, 1574, 1575,
-        0,    0,    0, 1575, 1575, 1575,    0, 1575, 1575, 1575,
-     1576, 1576,    0,    0, 1576, 1577, 1577, 1577,    0,    0,
-     1577, 1578, 1578, 1578,    0,    0, 1578, 1579, 1579, 1579,
-        0,    0, 1579, 1580, 1580, 1580,    0,    0, 1580, 1581,
-     1581, 1581,    0,    0, 1581, 1582, 1582,    0,    0, 1582,
-     1583, 1583,    0,    0, 1583, 1584,    0,    0,    0, 1584,
-     1585, 1585,    0,    0, 1585, 1586,    0, 1586, 1586,    0,
-        0, 1586, 1587,    0, 1587, 1587,    0,    0, 1587, 1588,
-
-     1588,    0,    0, 1588, 1589, 1589, 1589, 1589,    0,    0,
-     1589, 1590,    0,    0,    0, 1590, 1590, 1590,    0, 1590,
-     1590, 1590, 1591,    0,    0,    0, 1591, 1591, 1591,    0,
-     1591, 1591, 1591, 1592, 1592,    0,    0, 1592, 1593, 1593,
-        0,    0,    0, 1593, 1594, 1594, 1594,    0,    0, 1594,
-     1595,    0,    0,    0, 1595, 1596, 1596, 1596, 1596,    0,
-        0, 1596, 1597,    0,    0,    0, 1597, 1598, 1598, 1598,
-     1598,    0,    0, 1598, 1599,    0,    0,    0, 1599, 1600,
-     1600, 1600, 1600,    0,    0, 1600, 1601,    0,    0,    0,
-     1601, 1602, 1602, 1602, 1602,    0,    0, 1602, 1603,    0,
-
-        0,    0, 1603, 1604, 1604,    0,    0, 1604, 1605, 1605,
-        0,    0, 1605, 1606, 1606,    0,    0, 1606, 1607, 1607,
-        0,    0, 1607, 1608, 1608,    0,    0, 1608, 1609, 1609,
-        0,    0, 1609, 1610,    0, 1610, 1610,    0,    0, 1610,
-     1611, 1611, 1611,    0,    0, 1611, 1612,    0,    0,    0,
-     1612, 1612, 1612,    0, 1612, 1612, 1612, 1613,    0,    0,
-        0, 1613, 1613, 1613,    0, 1613, 1613, 1613, 1614,    0,
-     1614, 1614,    0,    0, 1614, 1615, 1615,    0,    0, 1615,
-     1616, 1616,    0,    0,    0, 1616, 1617, 1617, 1617,    0,
-        0, 1617, 1618, 1618,    0,    0,    0, 1618, 1619, 1619,
-
-     1619,    0,    0, 1619, 1620, 1620,    0,    0,    0, 1620,
-     1621, 1621, 1621,    0,    0, 1621, 1622, 1622,    0,    0,
-        0, 1622, 1623, 1623, 1623,    0,    0, 1623, 1624, 1624,
-        0,    0,    0, 1624, 1625, 1625, 1625,    0,    0, 1625,
-     1626, 1626,    0,    0,    0, 1626, 1627, 1627,    0,    0,
-     1627, 1628, 1628,    0,    0, 1628, 1629,    0,    0,    0,
-     1629, 1630, 1630,    0,    0, 1630, 1631,    0, 1631, 1631,
-        0,    0, 1631, 1632,    0, 1632, 1632,    0,    0, 1632,
-     1633,    0, 1633, 1633,    0,    0, 1633, 1634, 1634,    0,
-        0, 1634, 1635, 1635, 1635, 1635,    0,    0, 1635, 1636,
-
-        0,    0,    0, 1636, 1637,    0,    0,    0, 1637, 1637,
-     1637,    0, 1637, 1637, 1637, 1638,    0,    0,    0, 1638,
-     1638, 1638,    0, 1638, 1638, 1638, 1639, 1639,    0,    0,
-     1639, 1640, 1640,    0,    0,    0, 1640, 1641, 1641,    0,
-        0,    0, 1641, 1642, 1642,    0,    0,    0, 1642, 1643,
-     1643,    0,    0,    0, 1643, 1644, 1644,    0,    0,    0,
-     1644, 1645, 1645,    0,    0,    0, 1645, 1646, 1646,    0,
-        0,    0, 1646, 1647, 1647,    0,    0, 1647, 1648, 1648,
-        0,    0, 1648, 1649, 1649,    0,    0, 1649, 1650, 1650,
-        0,    0, 1650, 1651, 1651,    0,    0, 1651, 1652, 1652,
-
-        0,    0, 1652, 1653,    0, 1653, 1653,    0,    0, 1653,
-     1654, 1654, 1654,    0,    0, 1654, 1655, 1655,    0,    0,
-        0, 1655, 1656,    0,    0,    0, 1656, 1656, 1656,    0,
-     1656, 1656, 1656, 1657,    0,    0,    0, 1657, 1657, 1657,
-        0, 1657, 1657, 1657, 1658, 1658,    0,    0,    0, 1658,
-     1659, 1659,    0,    0,    0, 1659, 1660, 1660,    0,    0,
-        0, 1660, 1661, 1661,    0,    0,    0, 1661, 1662, 1662,
-        0,    0,    0, 1662, 1663, 1663,    0,    0,    0, 1663,
-     1664, 1664,    0,    0,    0, 1664, 1665, 1665,    0,    0,
-     1665, 1666,    0,    0,    0, 1666, 1667, 1667,    0,    0,
-
-     1667, 1668,    0,    0,    0, 1668, 1669,    0, 1669, 1669,
+
+        0,    0, 1158, 1158, 1158, 1158, 1158,    0,    0, 1166,
+     1166, 1166, 1166, 1166, 1166, 1166, 1166,    0,    0,    0,
+        0, 1158, 1158, 1158, 1158, 1158, 1158, 1160,    0, 1160,
+     1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1166, 1167,
+     1167, 1167, 1167, 1167, 1167, 1167, 1167, 1168, 1168, 1168,
+     1168, 1168, 1168, 1168, 1168, 1170, 1170, 1170, 1170, 1170,
+     1170, 1170, 1170,    0,    0,    0,    0,    0, 1167, 1171,
+     1171, 1171, 1171, 1171, 1171, 1176, 1168, 1176, 1176, 1176,
+     1176, 1176, 1176,    0, 1170, 1172, 1172, 1172, 1172, 1172,
+     1172, 1172, 1172,    0,    0,    0,    0, 1174, 1171, 1174,
+
+     1174, 1174, 1174, 1174, 1174, 1174, 1174, 1175,    0, 1175,
+     1175, 1175, 1175, 1175, 1175, 1175, 1175, 1184, 1184, 1184,
+     1184, 1184, 1184, 1184, 1184, 1184, 1185, 1185, 1185, 1185,
+     1185, 1185, 1185, 1185, 1185, 1186, 1186, 1186, 1186, 1186,
+     1186, 1186, 1186, 1186, 1187,    0, 1187, 1187, 1187, 1187,
+     1187, 1187, 1187, 1187, 1188,    0, 1188, 1188, 1188, 1188,
+     1188, 1188, 1188, 1188, 1189,    0, 1189, 1189, 1189, 1189,
+     1189, 1189, 1189, 1189, 1192,    0, 1192, 1192, 1192, 1192,
+     1192, 1192, 1192, 1192, 1192,    0,    0,    0, 1192, 1192,
+     1192, 1192, 1192, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
+
+     1193, 1339, 1339, 1339, 1339, 1339, 1339, 1192, 1192, 1192,
+     1192, 1192, 1192, 1196,    0, 1196, 1196, 1196, 1196, 1196,
+     1196, 1196, 1196, 1203,    0, 1203, 1203, 1203, 1203, 1203,
+     1203, 1203, 1203, 1203, 1210,    0, 1210, 1210, 1210, 1210,
+     1210, 1210, 1210, 1210, 1210, 1217,    0, 1217, 1217, 1217,
+     1217, 1217, 1217, 1217, 1217, 1217, 1221, 1221, 1221, 1221,
+     1221, 1221, 1221, 1221, 1222, 1222, 1222, 1222, 1222, 1222,
+     1222, 1222, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+     1226,    0, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226,
+     1227,    0, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
+
+     1228,    0, 1228, 1228, 1228, 1228, 1228, 1228, 1229, 1229,
+     1229, 1229, 1229, 1229, 1229, 1229, 1231,    0, 1231, 1231,
+     1231, 1231, 1231, 1231, 1231, 1231, 1232,    0, 1232, 1232,
+     1232, 1232, 1232, 1232, 1232, 1232, 1233,    0, 1233, 1233,
+     1233, 1233, 1233, 1233, 1235, 1235, 1235, 1235, 1235, 1235,
+     1235, 1235, 1239,    0, 1239, 1239, 1239, 1239, 1239, 1239,
+     1239, 1239, 1239, 1243,    0, 1243, 1243, 1243, 1243, 1243,
+     1243, 1243, 1243, 1243,    0,    0,    0, 1243, 1243, 1243,
+     1243, 1243, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
+     1400, 1400, 1400, 1400, 1400, 1400, 1243, 1243, 1243, 1243,
+
+     1243, 1243, 1246,    0, 1246, 1246, 1246, 1246, 1246, 1246,
+     1246, 1246, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
+     1252, 1252, 1252, 1252, 1252, 1252, 1253,    0, 1253, 1253,
+     1253, 1253, 1253, 1253, 1253, 1253,    0,    0,    0,    0,
+     1270, 1251, 1270, 1270, 1270, 1270, 1270, 1270, 1254, 1252,
+     1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1255,    0,
+     1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1263, 1263,
+     1263, 1263, 1263, 1263, 1263, 1263, 1263, 1264, 1264, 1264,
+     1264, 1264, 1264, 1264, 1264, 1264, 1265, 1265, 1265, 1265,
+     1265, 1265, 1265, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
+
+     1266, 1268,    0, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
+     1268, 1269,    0, 1269, 1269, 1269, 1269, 1269, 1269, 1269,
+     1269, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1277,
+        0, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
+     1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1293, 1293,
+     1293, 1293, 1293, 1293, 1293, 1293, 1294, 1294, 1294, 1294,
+     1294, 1294, 1294, 1294, 1295,    0, 1295, 1295, 1295, 1295,
+     1295, 1295, 1295, 1295, 1296,    0, 1296, 1296, 1296, 1296,
+     1296, 1296, 1296, 1296, 1297,    0, 1297, 1297, 1297, 1297,
+     1297, 1297, 1297, 1297, 1298,    0, 1298, 1298, 1298, 1298,
+
+     1298, 1298, 1298, 1298, 1299,    0, 1299, 1299, 1299, 1299,
+     1299, 1299, 1299, 1299, 1300,    0, 1300, 1300, 1300, 1300,
+     1300, 1300, 1300, 1300, 1308,    0, 1308, 1308, 1308, 1308,
+     1308, 1308, 1308, 1308, 1308, 1312, 1312, 1312, 1312, 1312,
+     1312, 1312, 1312, 1314,    0, 1314, 1314, 1314, 1314, 1314,
+     1314, 1314, 1314, 1315,    0, 1315, 1315, 1315, 1315, 1315,
+     1315, 1315, 1315, 1316,    0, 1316, 1316, 1316, 1316, 1316,
+     1316, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
+     1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1319,
+     1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1320,    0,
+
+     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1321,    0,
+     1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1322,    0,
+     1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1337, 1337,
+     1337, 1337, 1337, 1337, 1337, 1337, 1338, 1338, 1338, 1338,
+     1338, 1338, 1338, 1338, 1340, 1340, 1340, 1340, 1340, 1340,
+     1340, 1340, 1342,    0, 1342, 1342, 1342, 1342, 1342, 1342,
+     1342, 1342, 1343,    0, 1343, 1343, 1343, 1343, 1343, 1343,
+     1343, 1343, 1344,    0, 1344, 1344, 1344, 1344, 1344, 1344,
+     1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1347,    0,
+     1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1348,    0,
+
+     1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1349,    0,
+     1349, 1349, 1349, 1349, 1349, 1349, 1356, 1356, 1356, 1356,
+     1356, 1356, 1356, 1356, 1356, 1357, 1357, 1357, 1357, 1357,
+     1357, 1357, 1357, 1357, 1358, 1358, 1358, 1358, 1358, 1358,
+     1358, 1358, 1358, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
+     1360, 1360, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
+     1361, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1363, 1363,
+     1363, 1363, 1363, 1363, 1363, 1363, 1365,    0, 1365, 1365,
+     1365, 1365, 1365, 1365, 1365, 1365, 1366,    0, 1366, 1366,
+     1366, 1366, 1366, 1366, 1366, 1366, 1367,    0, 1367, 1367,
+
+     1367, 1367, 1367, 1367, 1375, 1375, 1375, 1375, 1375, 1375,
+     1375, 1375, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+     1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1378,    0,
+     1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1379,    0,
+     1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1380,    0,
+     1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1385, 1385,
+     1385, 1385, 1385, 1385, 1385, 1385, 1385, 1386, 1386, 1386,
+     1386, 1386, 1386, 1386, 1386, 1386, 1387, 1387, 1387, 1387,
+     1387, 1387, 1387, 1388,    0, 1388, 1388, 1388, 1388, 1388,
+     1388, 1388, 1388, 1389,    0, 1389, 1389, 1389, 1389, 1389,
+
+     1389, 1389, 1389, 1390,    0, 1390, 1390, 1390, 1390, 1390,
+     1390, 1390, 1390, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
+     1398, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1401,
+     1401, 1401, 1401, 1401, 1401, 1401, 1401, 1403,    0, 1403,
+     1403, 1403, 1403, 1403, 1403, 1403, 1403, 1404,    0, 1404,
+     1404, 1404, 1404, 1404, 1404, 1404, 1404, 1405,    0, 1405,
+     1405, 1405, 1405, 1405, 1405, 1408, 1408, 1408, 1408, 1408,
+     1408, 1408, 1408, 1410,    0, 1410, 1410, 1410, 1410, 1410,
+     1410, 1410, 1410, 1411,    0, 1411, 1411, 1411, 1411, 1411,
+     1411, 1411, 1411, 1412,    0, 1412, 1412, 1412, 1412, 1412,
+
+     1412, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1414,
+     1414, 1414, 1414, 1414, 1414, 1414, 1414, 1415, 1415, 1415,
+     1415, 1415, 1415, 1415, 1415, 1417, 1417, 1417, 1417, 1417,
+     1417, 1417, 1417, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1421,
+     1421, 1421, 1421, 1421, 1421, 1421, 1421, 1422, 1422, 1422,
+     1422, 1422, 1422, 1422, 1422, 1423, 1423, 1423, 1423, 1423,
+     1423, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1426,
+     1426, 1426, 1426, 1426, 1426, 1426, 1426, 1427, 1427, 1427,
+     1427, 1427, 1427, 1429, 1429, 1429, 1429, 1429, 1429, 1429,
+
+     1429, 1429, 1429, 1429, 1430, 1430, 1430, 1430, 1430, 1430,
+     1430, 1430, 1430, 1430, 1430, 1431, 1431, 1431, 1431, 1431,
+     1431, 1431, 1431, 1431, 1431, 1431, 1432,    0,    0,    0,
+     1432, 1432, 1432,    0, 1432, 1432, 1432, 1433, 1433, 1433,
+     1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434,    0,
+        0,    0, 1434, 1434, 1434,    0, 1434, 1434, 1434, 1435,
+        0,    0,    0, 1435, 1435, 1435,    0, 1435, 1435, 1435,
+     1436,    0, 1436,    0, 1436, 1436, 1436,    0, 1436, 1436,
+     1436, 1437,    0,    0,    0, 1437, 1437, 1437,    0, 1437,
+     1437, 1437, 1438,    0,    0,    0, 1438, 1438, 1438,    0,
+
+     1438, 1438, 1438, 1439,    0,    0,    0, 1439, 1439, 1439,
+        0, 1439, 1439, 1439, 1440,    0, 1440,    0, 1440, 1440,
+     1440,    0, 1440, 1440, 1440, 1441,    0, 1441,    0, 1441,
+     1441, 1441,    0, 1441, 1441, 1441, 1442,    0, 1442, 1442,
+     1442, 1442, 1442,    0,    0, 1442, 1442, 1443, 1443, 1444,
+        0, 1444,    0, 1444, 1444, 1444, 1444, 1444, 1444, 1444,
+     1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445,
+     1445, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446,
+     1446, 1446, 1447,    0, 1447,    0, 1447, 1447, 1447,    0,
+     1447, 1447, 1447, 1448, 1448,    0,    0, 1448, 1449, 1449,
+
+        0,    0,    0, 1449, 1450,    0, 1450,    0, 1450, 1450,
+     1450,    0, 1450, 1450, 1450, 1451, 1451, 1451, 1451, 1451,
+     1451, 1451, 1451, 1451, 1451, 1451, 1452, 1452,    0,    0,
+     1452, 1453, 1453, 1453,    0,    0, 1453, 1454, 1454,    0,
+        0, 1454, 1455, 1455,    0,    0, 1455, 1456, 1456,    0,
+        0, 1456, 1457, 1457, 1457,    0,    0, 1457, 1458, 1458,
+        0,    0, 1458, 1459, 1459,    0,    0, 1459, 1460, 1460,
+     1460, 1460,    0,    0, 1460, 1461, 1461,    0,    0, 1461,
+     1462, 1462,    0,    0, 1462, 1463,    0,    0,    0, 1463,
+     1464, 1464, 1464,    0,    0, 1464, 1465, 1465,    0,    0,
+
+     1465, 1466, 1466,    0,    0, 1466, 1467, 1467, 1467,    0,
+        0, 1467, 1468, 1468,    0,    0, 1468, 1469, 1469,    0,
+        0, 1469, 1470, 1470,    0,    0, 1470, 1471, 1471, 1471,
+     1471,    0,    0, 1471, 1472, 1472,    0,    0, 1472, 1473,
+     1473,    0,    0, 1473, 1474, 1474,    0,    0,    0, 1474,
+     1475, 1475, 1475, 1475,    0,    0, 1475, 1476, 1476, 1476,
+     1476,    0,    0, 1476, 1477, 1477,    0,    0, 1477, 1478,
+     1478,    0,    0, 1478, 1479, 1479,    0,    0, 1479, 1480,
+     1480, 1480,    0,    0, 1480, 1481, 1481,    0,    0, 1481,
+     1482, 1482,    0,    0, 1482, 1483, 1483, 1483,    0,    0,
+
+     1483, 1484, 1484, 1484,    0,    0, 1484, 1485, 1485, 1485,
+        0,    0, 1485, 1486, 1486,    0,    0, 1486, 1487, 1487,
+        0,    0, 1487, 1488,    0, 1488, 1488,    0,    0, 1488,
+     1489, 1489,    0,    0, 1489, 1490, 1490, 1490, 1490,    0,
+        0, 1490, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491,
+     1491, 1491, 1491, 1492, 1492,    0,    0, 1492, 1493, 1493,
+        0,    0, 1493, 1494, 1494,    0,    0,    0, 1494, 1495,
+     1495, 1495,    0,    0, 1495, 1496, 1496, 1496, 1496,    0,
+        0, 1496, 1497, 1497, 1497, 1497,    0,    0, 1497, 1498,
+     1498,    0,    0, 1498, 1499, 1499,    0,    0, 1499, 1500,
+
+     1500,    0,    0, 1500, 1501,    0, 1501, 1501,    0,    0,
+     1501, 1502, 1502, 1502,    0,    0, 1502, 1503, 1503, 1503,
+     1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1504,    0,
+        0,    0, 1504, 1504, 1504,    0, 1504, 1504, 1504, 1505,
+        0,    0,    0, 1505, 1505, 1505,    0, 1505, 1505, 1505,
+     1506,    0,    0,    0, 1506, 1506, 1506,    0, 1506, 1506,
+     1506, 1507,    0,    0,    0, 1507, 1507, 1507,    0, 1507,
+     1507, 1507, 1508, 1508,    0,    0, 1508, 1509, 1509,    0,
+        0, 1509, 1510, 1510, 1510,    0,    0, 1510, 1511, 1511,
+     1511,    0,    0, 1511, 1512, 1512, 1512,    0,    0, 1512,
+
+     1513, 1513, 1513,    0,    0, 1513, 1514, 1514,    0,    0,
+     1514, 1515, 1515,    0,    0, 1515, 1516,    0,    0,    0,
+     1516, 1517,    0, 1517, 1517,    0,    0, 1517, 1518,    0,
+     1518, 1518,    0,    0, 1518, 1519, 1519,    0,    0, 1519,
+     1520, 1520, 1520, 1520,    0,    0, 1520, 1521, 1521, 1521,
+     1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1522,    0,
+        0,    0, 1522, 1522, 1522,    0, 1522, 1522, 1522, 1523,
+        0,    0,    0, 1523, 1523, 1523,    0, 1523, 1523, 1523,
+     1524,    0,    0,    0, 1524, 1524, 1524,    0, 1524, 1524,
+     1524, 1525,    0,    0,    0, 1525, 1525, 1525,    0, 1525,
+
+     1525, 1525, 1526, 1526,    0,    0, 1526, 1527, 1527,    0,
+        0, 1527, 1528, 1528,    0,    0,    0, 1528, 1529, 1529,
+     1529,    0,    0, 1529, 1530, 1530, 1530, 1530,    0,    0,
+     1530, 1531, 1531, 1531, 1531,    0,    0, 1531, 1532, 1532,
+     1532, 1532,    0,    0, 1532, 1533, 1533,    0,    0, 1533,
+     1534, 1534,    0,    0, 1534, 1535, 1535,    0,    0, 1535,
+     1536, 1536,    0,    0, 1536, 1537, 1537,    0,    0, 1537,
+     1538,    0, 1538, 1538,    0,    0, 1538, 1539, 1539, 1539,
+        0,    0, 1539, 1540, 1540, 1540, 1540, 1540, 1540, 1540,
+     1540, 1540, 1540, 1540, 1541,    0,    0,    0, 1541, 1541,
+
+     1541,    0, 1541, 1541, 1541, 1542,    0,    0,    0, 1542,
+     1542, 1542,    0, 1542, 1542, 1542, 1543, 1543,    0,    0,
+     1543, 1544, 1544, 1544,    0,    0, 1544, 1545, 1545, 1545,
+        0,    0, 1545, 1546, 1546, 1546,    0,    0, 1546, 1547,
+     1547, 1547,    0,    0, 1547, 1548, 1548, 1548,    0,    0,
+     1548, 1549, 1549,    0,    0, 1549, 1550, 1550,    0,    0,
+     1550, 1551,    0,    0,    0, 1551, 1552, 1552,    0,    0,
+     1552, 1553,    0, 1553, 1553,    0,    0, 1553, 1554,    0,
+     1554, 1554,    0,    0, 1554, 1555, 1555,    0,    0, 1555,
+     1556, 1556, 1556, 1556,    0,    0, 1556, 1557,    0,    0,
+
+        0, 1557, 1557, 1557,    0, 1557, 1557, 1557, 1558,    0,
+        0,    0, 1558, 1558, 1558,    0, 1558, 1558, 1558, 1559,
+     1559,    0,    0, 1559, 1560, 1560,    0,    0,    0, 1560,
+     1561, 1561, 1561,    0,    0, 1561, 1562,    0,    0,    0,
+     1562, 1563, 1563, 1563, 1563,    0,    0, 1563, 1564,    0,
+        0,    0, 1564, 1565, 1565, 1565, 1565,    0,    0, 1565,
+     1566,    0,    0,    0, 1566, 1567, 1567, 1567, 1567,    0,
+        0, 1567, 1568,    0,    0,    0, 1568, 1569, 1569, 1569,
+     1569,    0,    0, 1569, 1570,    0,    0,    0, 1570, 1571,
+     1571,    0,    0, 1571, 1572, 1572,    0,    0, 1572, 1573,
+
+     1573,    0,    0, 1573, 1574, 1574,    0,    0, 1574, 1575,
+     1575,    0,    0, 1575, 1576, 1576,    0,    0, 1576, 1577,
+        0, 1577, 1577,    0,    0, 1577, 1578, 1578, 1578,    0,
+        0, 1578, 1579,    0,    0,    0, 1579, 1579, 1579,    0,
+     1579, 1579, 1579, 1580,    0,    0,    0, 1580, 1580, 1580,
+        0, 1580, 1580, 1580, 1581,    0, 1581, 1581,    0,    0,
+     1581, 1582, 1582,    0,    0, 1582, 1583, 1583,    0,    0,
+        0, 1583, 1584, 1584, 1584,    0,    0, 1584, 1585, 1585,
+        0,    0,    0, 1585, 1586, 1586, 1586,    0,    0, 1586,
+     1587, 1587,    0,    0,    0, 1587, 1588, 1588, 1588,    0,
+
+        0, 1588, 1589, 1589,    0,    0,    0, 1589, 1590, 1590,
+     1590,    0,    0, 1590, 1591, 1591,    0,    0,    0, 1591,
+     1592, 1592, 1592,    0,    0, 1592, 1593, 1593,    0,    0,
+        0, 1593, 1594, 1594,    0,    0, 1594, 1595, 1595,    0,
+        0, 1595, 1596,    0,    0,    0, 1596, 1597, 1597,    0,
+        0, 1597, 1598,    0, 1598, 1598,    0,    0, 1598, 1599,
+        0, 1599, 1599,    0,    0, 1599, 1600,    0, 1600, 1600,
+        0,    0, 1600, 1601, 1601,    0,    0, 1601, 1602, 1602,
+     1602, 1602,    0,    0, 1602, 1603,    0,    0,    0, 1603,
+     1604,    0,    0,    0, 1604, 1604, 1604,    0, 1604, 1604,
+
+     1604, 1605,    0,    0,    0, 1605, 1605, 1605,    0, 1605,
+     1605, 1605, 1606, 1606,    0,    0, 1606, 1607, 1607,    0,
+        0,    0, 1607, 1608, 1608,    0,    0,    0, 1608, 1609,
+     1609,    0,    0,    0, 1609, 1610, 1610,    0,    0,    0,
+     1610, 1611, 1611,    0,    0,    0, 1611, 1612, 1612,    0,
+        0,    0, 1612, 1613, 1613,    0,    0,    0, 1613, 1614,
+     1614,    0,    0, 1614, 1615, 1615,    0,    0, 1615, 1616,
+     1616,    0,    0, 1616, 1617, 1617,    0,    0, 1617, 1618,
+     1618,    0,    0, 1618, 1619, 1619,    0,    0, 1619, 1620,
+        0, 1620, 1620,    0,    0, 1620, 1621, 1621, 1621,    0,
+
+        0, 1621, 1622, 1622,    0,    0,    0, 1622, 1623,    0,
+        0,    0, 1623, 1623, 1623,    0, 1623, 1623, 1623, 1624,
+        0,    0,    0, 1624, 1624, 1624,    0, 1624, 1624, 1624,
+     1625, 1625,    0,    0,    0, 1625, 1626, 1626,    0,    0,
+        0, 1626, 1627, 1627,    0,    0,    0, 1627, 1628, 1628,
+        0,    0,    0, 1628, 1629, 1629,    0,    0,    0, 1629,
+     1630, 1630,    0,    0,    0, 1630, 1631, 1631,    0,    0,
+        0, 1631, 1632, 1632,    0,    0, 1632, 1633,    0,    0,
+        0, 1633, 1634, 1634,    0,    0, 1634, 1635,    0,    0,
+        0, 1635, 1636,    0, 1636, 1636,    0,    0, 1636, 1637,
+
+        0,    0,    0, 1637, 1638,    0, 1638, 1638,    0,    0,
+     1638, 1639,    0,    0,    0, 1639, 1640,    0, 1640, 1640,
+        0,    0, 1640, 1641,    0,    0,    0, 1641, 1642,    0,
+     1642, 1642,    0,    0, 1642, 1643,    0,    0,    0, 1643,
+     1644, 1644,    0,    0, 1644, 1645, 1645,    0,    0,    0,
+     1645, 1646,    0,    0,    0, 1646, 1646, 1646,    0, 1646,
+     1646, 1646, 1647, 1647,    0,    0,    0, 1647, 1648,    0,
+     1648, 1648,    0,    0, 1648, 1649, 1649,    0,    0, 1649,
+     1650,    0,    0,    0, 1650, 1651, 1651,    0,    0, 1651,
+     1652,    0,    0,    0, 1652, 1653, 1653,    0,    0, 1653,
+
+     1654,    0,    0,    0, 1654, 1655, 1655,    0,    0, 1655,
+     1656,    0,    0,    0, 1656, 1657, 1657,    0,    0, 1657,
+     1658,    0,    0,    0, 1658, 1659, 1659,    0,    0, 1659,
+     1660,    0,    0,    0, 1660, 1661,    0, 1661, 1661,    0,
+        0, 1661, 1662,    0,    0,    0, 1662, 1663, 1663,    0,
+        0,    0, 1663, 1664, 1664,    0,    0, 1664, 1665,    0,
+        0,    0, 1665, 1666,    0,    0,    0, 1666, 1667,    0,
+        0,    0, 1667, 1668,    0,    0,    0, 1668, 1669,    0,
         0,    0, 1669, 1670,    0,    0,    0, 1670, 1671,    0,
-     1671, 1671,    0,    0, 1671, 1672,    0,    0,    0, 1672,
-     1673,    0, 1673, 1673,    0,    0, 1673, 1674,    0,    0,
-        0, 1674, 1675,    0, 1675, 1675,    0,    0, 1675, 1676,
-        0,    0,    0, 1676, 1677, 1677,    0,    0, 1677, 1678,
-     1678,    0,    0,    0, 1678, 1679,    0,    0,    0, 1679,
-     1679, 1679,    0, 1679, 1679, 1679, 1680, 1680,    0,    0,
-        0, 1680, 1681,    0, 1681, 1681,    0,    0, 1681, 1682,
-     1682,    0,    0, 1682, 1683,    0,    0,    0, 1683, 1684,
-
-     1684,    0,    0, 1684, 1685,    0,    0,    0, 1685, 1686,
-     1686,    0,    0, 1686, 1687,    0,    0,    0, 1687, 1688,
-     1688,    0,    0, 1688, 1689,    0,    0,    0, 1689, 1690,
-     1690,    0,    0, 1690, 1691,    0,    0,    0, 1691, 1692,
-     1692,    0,    0, 1692, 1693,    0,    0,    0, 1693, 1694,
-        0, 1694, 1694,    0,    0, 1694, 1695,    0,    0,    0,
-     1695, 1696, 1696,    0,    0,    0, 1696, 1697, 1697,    0,
-        0, 1697, 1698,    0,    0,    0, 1698, 1699,    0,    0,
-        0, 1699, 1700,    0,    0,    0, 1700, 1701,    0,    0,
-        0, 1701, 1702,    0,    0,    0, 1702, 1703,    0,    0,
-
-        0, 1703, 1704,    0,    0,    0, 1704, 1705, 1705,    0,
-        0, 1705, 1706,    0,    0,    0, 1706, 1707,    0,    0,
-        0, 1707, 1708,    0,    0,    0, 1708, 1709,    0,    0,
-        0, 1709, 1710,    0,    0,    0, 1710, 1711,    0,    0,
-        0, 1711, 1712,    0,    0,    0, 1712, 1713,    0,    0,
-        0, 1713, 1714,    0,    0,    0, 1714, 1715,    0,    0,
-        0, 1715, 1716,    0,    0,    0, 1716, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
-     1460, 1460
+        0,    0, 1671, 1672, 1672,    0,    0, 1672, 1673,    0,
+
+        0,    0, 1673, 1674,    0,    0,    0, 1674, 1675,    0,
+        0,    0, 1675, 1676,    0,    0,    0, 1676, 1677,    0,
+        0,    0, 1677, 1678,    0,    0,    0, 1678, 1679,    0,
+        0,    0, 1679, 1680,    0,    0,    0, 1680, 1681,    0,
+        0,    0, 1681, 1682,    0,    0,    0, 1682, 1683,    0,
+        0,    0, 1683, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+
+     1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
+     1428, 1428, 1428, 1428, 1428, 1428
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -3296,7 +3259,7 @@ extern void yyerror               __P((const char *));
 
 #define INDEFS 5
 
-#line 3300 "lex.yy.c"
+#line 3263 "lex.yy.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -3452,7 +3415,7 @@ YY_DECL
 
 #line 108 "toke.l"
 
-#line 3456 "lex.yy.c"
+#line 3419 "lex.yy.c"
 
        if ( yy_init )
                {
@@ -3504,13 +3467,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 1461 )
+                               if ( yy_current_state >= 1429 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 10368 );
+               while ( yy_base[yy_current_state] != 10254 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -3782,22 +3745,6 @@ YY_RULE_SETUP
 case 22:
 YY_RULE_SETUP
 #line 289 "toke.l"
-{
-                               LEXTRACE("NOMONITOR ");
-                               return(NOMONITOR);
-                       }
-       YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 294 "toke.l"
-{
-                               LEXTRACE("MONITOR ");
-                               return(MONITOR);
-                       }
-       YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 299 "toke.l"
 {
                            /* netgroup */
                            if (!fill(yytext, yyleng))
@@ -3806,9 +3753,9 @@ YY_RULE_SETUP
                            return(NETGROUP);
                        }
        YY_BREAK
-case 25:
+case 23:
 YY_RULE_SETUP
-#line 307 "toke.l"
+#line 297 "toke.l"
 {
                            /* UN*X group */
                            if (!fill(yytext, yyleng))
@@ -3817,9 +3764,9 @@ YY_RULE_SETUP
                            return(USERGROUP);
                        }
        YY_BREAK
-case 26:
+case 24:
 YY_RULE_SETUP
-#line 315 "toke.l"
+#line 305 "toke.l"
 {
                            if (!fill(yytext, yyleng))
                                yyterminate();
@@ -3827,9 +3774,9 @@ YY_RULE_SETUP
                            return(NTWKADDR);
                        }
        YY_BREAK
-case 27:
+case 25:
 YY_RULE_SETUP
-#line 322 "toke.l"
+#line 312 "toke.l"
 {
                            if (!fill(yytext, yyleng))
                                yyterminate();
@@ -3837,9 +3784,9 @@ YY_RULE_SETUP
                            return(NTWKADDR);
                        }
        YY_BREAK
-case 28:
+case 26:
 YY_RULE_SETUP
-#line 329 "toke.l"
+#line 319 "toke.l"
 {
                            if (!fill(yytext, yyleng))
                                yyterminate();
@@ -3847,9 +3794,9 @@ YY_RULE_SETUP
                            return(NTWKADDR);
                        }
        YY_BREAK
-case 29:
+case 27:
 YY_RULE_SETUP
-#line 336 "toke.l"
+#line 326 "toke.l"
 {
                            if (!fill(yytext, yyleng))
                                yyterminate();
@@ -3857,18 +3804,18 @@ YY_RULE_SETUP
                            return(NTWKADDR);
                        }
        YY_BREAK
-case 30:
+case 28:
 YY_RULE_SETUP
-#line 343 "toke.l"
+#line 333 "toke.l"
 {
                                BEGIN GOTRUNAS;
                                LEXTRACE("RUNAS ");
                                return (RUNAS);
                        }
        YY_BREAK
-case 31:
+case 29:
 YY_RULE_SETUP
-#line 349 "toke.l"
+#line 339 "toke.l"
 {
                            if (strcmp(yytext, "ALL") == 0) {
                                LEXTRACE("ALL ");
@@ -3881,9 +3828,9 @@ YY_RULE_SETUP
                            }
                        }
        YY_BREAK
-case 32:
+case 30:
 YY_RULE_SETUP
-#line 361 "toke.l"
+#line 351 "toke.l"
 {
                            /* username/uid that user can run command as */
                            if (!fill(yytext, yyleng))
@@ -3892,16 +3839,16 @@ YY_RULE_SETUP
                            return(WORD);
                        }
        YY_BREAK
-case 33:
+case 31:
 YY_RULE_SETUP
-#line 369 "toke.l"
+#line 359 "toke.l"
 {
                            BEGIN INITIAL;
                        }
        YY_BREAK
-case 34:
+case 32:
 YY_RULE_SETUP
-#line 373 "toke.l"
+#line 363 "toke.l"
 {
                            /* no command args allowed for Defaults!/path */
                            if (!fill_cmnd(yytext, yyleng))
@@ -3910,9 +3857,9 @@ YY_RULE_SETUP
                            return(COMMAND);
                        }
        YY_BREAK
-case 35:
+case 33:
 YY_RULE_SETUP
-#line 381 "toke.l"
+#line 371 "toke.l"
 {
                            BEGIN GOTCMND;
                            LEXTRACE("COMMAND ");
@@ -3920,9 +3867,9 @@ YY_RULE_SETUP
                                yyterminate();
                        }                       /* sudo -e */
        YY_BREAK
-case 36:
+case 34:
 YY_RULE_SETUP
-#line 388 "toke.l"
+#line 378 "toke.l"
 {
                            /* directories can't have args... */
                            if (yytext[yyleng - 1] == '/') {
@@ -3938,9 +3885,9 @@ YY_RULE_SETUP
                            }
                        }                       /* a pathname */
        YY_BREAK
-case 37:
+case 35:
 YY_RULE_SETUP
-#line 403 "toke.l"
+#line 393 "toke.l"
 {
                            /* a word */
                            if (!fill(yytext, yyleng))
@@ -3949,41 +3896,41 @@ YY_RULE_SETUP
                            return(WORD);
                        }
        YY_BREAK
-case 38:
+case 36:
 YY_RULE_SETUP
-#line 411 "toke.l"
+#line 401 "toke.l"
 {
                            LEXTRACE(", ");
                            return(',');
                        }                       /* return ',' */
        YY_BREAK
-case 39:
+case 37:
 YY_RULE_SETUP
-#line 416 "toke.l"
+#line 406 "toke.l"
 {
                            LEXTRACE("= ");
                            return('=');
                        }                       /* return '=' */
        YY_BREAK
-case 40:
+case 38:
 YY_RULE_SETUP
-#line 421 "toke.l"
+#line 411 "toke.l"
 {
                            LEXTRACE(": ");
                            return(':');
                        }                       /* return ':' */
        YY_BREAK
-case 41:
+case 39:
 YY_RULE_SETUP
-#line 426 "toke.l"
+#line 416 "toke.l"
 {
                            if (yyleng % 2 == 1)
                                return('!');    /* return '!' */
                        }
        YY_BREAK
-case 42:
+case 40:
 YY_RULE_SETUP
-#line 431 "toke.l"
+#line 421 "toke.l"
 {
                            BEGIN INITIAL;
                            ++sudolineno;
@@ -3991,25 +3938,25 @@ YY_RULE_SETUP
                            return(COMMENT);
                        }                       /* return newline */
        YY_BREAK
-case 43:
+case 41:
 YY_RULE_SETUP
-#line 438 "toke.l"
+#line 428 "toke.l"
 {                      /* throw away space/tabs */
                            sawspace = TRUE;    /* but remember for fill_args */
                        }
        YY_BREAK
-case 44:
+case 42:
 YY_RULE_SETUP
-#line 442 "toke.l"
+#line 432 "toke.l"
 {
                            sawspace = TRUE;    /* remember for fill_args */
                            ++sudolineno;
                            LEXTRACE("\n\t");
                        }                       /* throw away EOL after \ */
        YY_BREAK
-case 45:
+case 43:
 YY_RULE_SETUP
-#line 448 "toke.l"
+#line 438 "toke.l"
 {
                            BEGIN INITIAL;
                            ++sudolineno;
@@ -4017,9 +3964,9 @@ YY_RULE_SETUP
                            return(COMMENT);
                        }                       /* return comments */
        YY_BREAK
-case 46:
+case 44:
 YY_RULE_SETUP
-#line 455 "toke.l"
+#line 445 "toke.l"
 {
                            LEXTRACE("ERROR ");
                            return(ERROR);
@@ -4031,7 +3978,7 @@ case YY_STATE_EOF(GOTDEFS):
 case YY_STATE_EOF(GOTCMND):
 case YY_STATE_EOF(STARTDEFS):
 case YY_STATE_EOF(INDEFS):
-#line 460 "toke.l"
+#line 450 "toke.l"
 {
                            if (YY_START != INITIAL) {
                                BEGIN INITIAL;
@@ -4042,12 +3989,12 @@ case YY_STATE_EOF(INDEFS):
                                yyterminate();
                        }
        YY_BREAK
-case 47:
+case 45:
 YY_RULE_SETUP
-#line 470 "toke.l"
+#line 460 "toke.l"
 ECHO;
        YY_BREAK
-#line 4051 "lex.yy.c"
+#line 3998 "lex.yy.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -4338,7 +4285,7 @@ static yy_state_type yy_get_previous_state()
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 1461 )
+                       if ( yy_current_state >= 1429 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -4373,11 +4320,11 @@ yy_state_type yy_current_state;
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 1461 )
+               if ( yy_current_state >= 1429 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 1460);
+       yy_is_jam = (yy_current_state == 1428);
 
        return yy_is_jam ? 0 : yy_current_state;
        }
@@ -4936,7 +4883,7 @@ int main()
        return 0;
        }
 #endif
-#line 470 "toke.l"
+#line 460 "toke.l"
 
 static int
 fill(s, len)
diff --git a/toke.l b/toke.l
index 48de6bb53d848507a0129cd65bef4661e96994b3..09635dc4ec8c3995fa026cbd605b446c19684504 100644 (file)
--- a/toke.l
+++ b/toke.l
@@ -286,16 +286,6 @@ NOSETENV[[:blank:]]*:      {
                                return(NOSETENV);
                        }
 
-NOMONITOR[[:blank:]]*: {
-                               LEXTRACE("NOMONITOR ");
-                               return(NOMONITOR);
-                       }
-
-MONITOR[[:blank:]]*:   {
-                               LEXTRACE("MONITOR ");
-                               return(MONITOR);
-                       }
-
 \+{WORD}               {
                            /* netgroup */
                            if (!fill(yytext, yyleng))