[pgpool-hackers: 571] Re: WIP patch for PG94 parser import
Muhammad Usama
m.usama at gmail.com
Sat Jul 5 05:07:41 JST 2014
Hi
Please find the attached mega patch for importing the PG94 parser.
--Usama
On Fri, Jun 27, 2014 at 6:26 AM, Tatsuo Ishii <ishii at postgresql.org> wrote:
> Usama,
>
> I have briefly looked into your patches and it seems they are good.
> Also I have tested a few 9.4's new syntax and pgpool-II successfully
> handles it. Good work! Please go head.
>
> Best regards,
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese:http://www.sraoss.co.jp
>
> > Usama,
> >
> > Thank you very much for the work.
> > I will look into this.
> >
> > Best regards,
> > --
> > Tatsuo Ishii
> > SRA OSS, Inc. Japan
> > English: http://www.sraoss.co.jp/index_en.php
> > Japanese:http://www.sraoss.co.jp
> >
> >> Hi
> >>
> >> I am working on updating pgpool-II parser to PG94's parser, and till
> time I
> >> have imported the changes from PostgreSQL source to pgpool-II, There are
> >> still some TODOs and compiler warnings needed to be fixed, which I am
> >> currently working on and hopefully be finished soon. Meanwhile can you
> >> please review the attached WIP patch if I have missed or overdone
> something.
> >>
> >> Thanks
> >> Usama
> > _______________________________________________
> > pgpool-hackers mailing list
> > pgpool-hackers at pgpool.net
> > http://www.pgpool.net/mailman/listinfo/pgpool-hackers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-hackers/attachments/20140705/d4dd704f/attachment-0001.html>
-------------- next part --------------
diff --git a/src/utils/psprintf.c b/src/utils/psprintf.c
new file mode 100644
index 0000000..3139f97
--- /dev/null
+++ b/src/utils/psprintf.c
@@ -0,0 +1,193 @@
+/*-------------------------------------------------------------------------
+ *
+ * psprintf.c
+ * sprintf into an allocated-on-demand buffer
+ *
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ *
+ * IDENTIFICATION
+ * src/common/psprintf.c
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#ifndef POOL_PRIVATE
+
+#include <errno.h>
+#include <stdarg.h>
+#include "pool.h"
+#include "utils/elog.h"
+#include "utils/palloc.h"
+#include "utils/memutils.h"
+
+#else
+
+#include "utils/fe_ports.h"
+
+/* It's possible we could use a different value for this in frontend code */
+#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */
+
+#endif
+
+
+/*
+ * psprintf
+ *
+ * Format text data under the control of fmt (an sprintf-style format string)
+ * and return it in an allocated-on-demand buffer. The buffer is allocated
+ * with palloc in the backend, or malloc in frontend builds. Caller is
+ * responsible to free the buffer when no longer needed, if appropriate.
+ *
+ * Errors are not returned to the caller, but are reported via elog(ERROR)
+ * in the backend, or printf-to-stderr-and-exit() in frontend builds.
+ * One should therefore think twice about using this in libpq.
+ */
+char *
+psprintf(const char *fmt,...)
+{
+ size_t len = 128; /* initial assumption about buffer size */
+
+ for (;;)
+ {
+ char *result;
+ va_list args;
+ size_t newlen;
+
+ /*
+ * Allocate result buffer. Note that in frontend this maps to malloc
+ * with exit-on-error.
+ */
+ result = (char *) palloc(len);
+
+ /* Try to format the data. */
+ va_start(args, fmt);
+ newlen = pvsnprintf(result, len, fmt, args);
+ va_end(args);
+
+ if (newlen < len)
+ return result; /* success */
+
+ /* Release buffer and loop around to try again with larger len. */
+ pfree(result);
+ len = newlen;
+ }
+}
+
+/*
+ * pvsnprintf
+ *
+ * Attempt to format text data under the control of fmt (an sprintf-style
+ * format string) and insert it into buf (which has length len, len > 0).
+ *
+ * If successful, return the number of bytes emitted, not counting the
+ * trailing zero byte. This will always be strictly less than len.
+ *
+ * If there's not enough space in buf, return an estimate of the buffer size
+ * needed to succeed (this *must* be more than the given len, else callers
+ * might loop infinitely).
+ *
+ * Other error cases do not return, but exit via elog(ERROR) or exit().
+ * Hence, this shouldn't be used inside libpq.
+ *
+ * This function exists mainly to centralize our workarounds for
+ * non-C99-compliant vsnprintf implementations. Generally, any call that
+ * pays any attention to the return value should go through here rather
+ * than calling snprintf or vsnprintf directly.
+ *
+ * Note that the semantics of the return value are not exactly C99's.
+ * First, we don't promise that the estimated buffer size is exactly right;
+ * callers must be prepared to loop multiple times to get the right size.
+ * Second, we return the recommended buffer size, not one less than that;
+ * this lets overflow concerns be handled here rather than in the callers.
+ */
+size_t
+pvsnprintf(char *buf, size_t len, const char *fmt, va_list args)
+{
+ int nprinted;
+
+ Assert(len > 0);
+
+ errno = 0;
+
+ /*
+ * Assert check here is to catch buggy vsnprintf that overruns the
+ * specified buffer length. Solaris 7 in 64-bit mode is an example of a
+ * platform with such a bug.
+ */
+#ifdef USE_ASSERT_CHECKING
+ buf[len - 1] = '\0';
+#endif
+
+ nprinted = vsnprintf(buf, len, fmt, args);
+
+ Assert(buf[len - 1] == '\0');
+
+ /*
+ * If vsnprintf reports an error other than ENOMEM, fail. The possible
+ * causes of this are not user-facing errors, so elog should be enough.
+ */
+ if (nprinted < 0 && errno != 0 && errno != ENOMEM)
+ {
+#ifndef POOL_PRIVATE
+ elog(ERROR, "vsnprintf failed: %m");
+#else
+ fprintf(stderr, "vsnprintf failed: %s\n", strerror(errno));
+ exit(EXIT_FAILURE);
+#endif
+ }
+
+ /*
+ * Note: some versions of vsnprintf return the number of chars actually
+ * stored, not the total space needed as C99 specifies. And at least one
+ * returns -1 on failure. Be conservative about believing whether the
+ * print worked.
+ */
+ if (nprinted >= 0 && (size_t) nprinted < len - 1)
+ {
+ /* Success. Note nprinted does not include trailing null. */
+ return (size_t) nprinted;
+ }
+
+ if (nprinted >= 0 && (size_t) nprinted > len)
+ {
+ /*
+ * This appears to be a C99-compliant vsnprintf, so believe its
+ * estimate of the required space. (If it's wrong, the logic will
+ * still work, but we may loop multiple times.) Note that the space
+ * needed should be only nprinted+1 bytes, but we'd better allocate
+ * one more than that so that the test above will succeed next time.
+ *
+ * In the corner case where the required space just barely overflows,
+ * fall through so that we'll error out below (possibly after
+ * looping).
+ */
+ if ((size_t) nprinted <= MaxAllocSize - 2)
+ return nprinted + 2;
+ }
+
+ /*
+ * Buffer overrun, and we don't know how much space is needed. Estimate
+ * twice the previous buffer size, but not more than MaxAllocSize; if we
+ * are already at MaxAllocSize, choke. Note we use this palloc-oriented
+ * overflow limit even when in frontend.
+ */
+ if (len >= MaxAllocSize)
+ {
+#ifndef POOL_PRIVATE
+ ereport(ERROR,
+ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
+ errmsg("out of memory")));
+#else
+ fprintf(stderr, _("out of memory\n"));
+ exit(EXIT_FAILURE);
+#endif
+ }
+
+ if (len >= MaxAllocSize / 2)
+ return MaxAllocSize;
+
+ return len * 2;
+}
diff --git a/src/Makefile.am b/src/Makefile.am
index cb9b88e..69ced68 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -30,6 +30,7 @@ pgpool_SOURCES = main/main.c \
parallel_query/pool_rewrite_outfuncs.c \
utils/pool_select_walker.c \
utils/strlcpy.c \
+ utils/psprintf.c \
utils/pool_params.c \
utils/ps_status.c \
utils/pool_shmem.c \
diff --git a/src/Makefile.in b/src/Makefile.in
index fcb5655..0c0e86c 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -121,11 +121,11 @@ am_pgpool_OBJECTS = main/main.$(OBJEXT) main/pool_globals.$(OBJEXT) \
parallel_query/pool_rewrite_query.$(OBJEXT) \
parallel_query/pool_rewrite_outfuncs.$(OBJEXT) \
utils/pool_select_walker.$(OBJEXT) utils/strlcpy.$(OBJEXT) \
- utils/pool_params.$(OBJEXT) utils/ps_status.$(OBJEXT) \
- utils/pool_shmem.$(OBJEXT) utils/pool_error.$(OBJEXT) \
- utils/pool_sema.$(OBJEXT) utils/pool_signal.$(OBJEXT) \
- utils/pool_path.$(OBJEXT) utils/pool_ip.$(OBJEXT) \
- utils/pool_relcache.$(OBJEXT) \
+ utils/psprintf.$(OBJEXT) utils/pool_params.$(OBJEXT) \
+ utils/ps_status.$(OBJEXT) utils/pool_shmem.$(OBJEXT) \
+ utils/pool_error.$(OBJEXT) utils/pool_sema.$(OBJEXT) \
+ utils/pool_signal.$(OBJEXT) utils/pool_path.$(OBJEXT) \
+ utils/pool_ip.$(OBJEXT) utils/pool_relcache.$(OBJEXT) \
utils/pool_process_reporting.$(OBJEXT) \
utils/pool_ssl.$(OBJEXT) utils/pool_stream.$(OBJEXT) \
utils/getopt_long.$(OBJEXT) utils/mmgr/mcxt.$(OBJEXT) \
@@ -439,6 +439,7 @@ pgpool_SOURCES = main/main.c \
parallel_query/pool_rewrite_outfuncs.c \
utils/pool_select_walker.c \
utils/strlcpy.c \
+ utils/psprintf.c \
utils/pool_params.c \
utils/ps_status.c \
utils/pool_shmem.c \
@@ -760,6 +761,8 @@ utils/pool_select_walker.$(OBJEXT): utils/$(am__dirstamp) \
utils/$(DEPDIR)/$(am__dirstamp)
utils/strlcpy.$(OBJEXT): utils/$(am__dirstamp) \
utils/$(DEPDIR)/$(am__dirstamp)
+utils/psprintf.$(OBJEXT): utils/$(am__dirstamp) \
+ utils/$(DEPDIR)/$(am__dirstamp)
utils/pool_params.$(OBJEXT): utils/$(am__dirstamp) \
utils/$(DEPDIR)/$(am__dirstamp)
utils/ps_status.$(OBJEXT): utils/$(am__dirstamp) \
@@ -883,6 +886,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at utils/$(DEPDIR)/pool_ssl.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at utils/$(DEPDIR)/pool_stream.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at utils/$(DEPDIR)/ps_status.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at utils/$(DEPDIR)/psprintf.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at utils/$(DEPDIR)/strlcpy.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at utils/error/$(DEPDIR)/assert.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at utils/error/$(DEPDIR)/elog.Po at am__quote@
diff --git a/src/config/pool_config.c b/src/config/pool_config.c
index 9227f80..e05346e 100644
--- a/src/config/pool_config.c
+++ b/src/config/pool_config.c
@@ -53,7 +53,6 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
-#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
@@ -84,6 +83,8 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
+#endif /* ! C99 */
+
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
@@ -140,7 +141,15 @@ typedef unsigned int flex_uint32_t;
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
@@ -554,7 +563,7 @@ static char *extract_string(char *value, POOL_TOKEN token);
static char **extract_string_tokens(char *str, char *delim, int *n);
static void clear_host_entry(int slot);
-#line 558 "config/pool_config.c"
+#line 567 "config/pool_config.c"
#define INITIAL 0
@@ -633,7 +642,12 @@ static int input (void );
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
@@ -652,7 +666,7 @@ static int input (void );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- unsigned n; \
+ size_t n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -737,7 +751,7 @@ YY_DECL
#line 98 "pool_config.l"
-#line 741 "config/pool_config.c"
+#line 755 "config/pool_config.c"
if ( !(yy_init) )
{
@@ -875,7 +889,7 @@ YY_RULE_SETUP
#line 113 "pool_config.l"
ECHO;
YY_BREAK
-#line 879 "config/pool_config.c"
+#line 893 "config/pool_config.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1593,8 +1607,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
* scan from a @e copy of @a bytes.
- * @param bytes the byte buffer to scan
- * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
*
* @return the newly allocated buffer state object.
*/
diff --git a/src/include/parser/gram.h b/src/include/parser/gram.h
index b8c4b91..5928d61 100644
--- a/src/include/parser/gram.h
+++ b/src/include/parser/gram.h
@@ -1,22 +1,24 @@
-/* A Bison parser, made by GNU Bison 2.4.3. */
+/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2009, 2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -27,11 +29,10 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -164,292 +165,302 @@
END_P = 381,
ENUM_P = 382,
ESCAPE = 383,
- EXCEPT = 384,
- EXCLUDE = 385,
- EXCLUDING = 386,
- EXCLUSIVE = 387,
- EXECUTE = 388,
- EXISTS = 389,
- EXPLAIN = 390,
- EXTENSION = 391,
- EXTERNAL = 392,
- EXTRACT = 393,
- FALSE_P = 394,
- FAMILY = 395,
- FETCH = 396,
- FIRST_P = 397,
- FLOAT_P = 398,
- FOLLOWING = 399,
- FOR = 400,
- FORCE = 401,
- FOREIGN = 402,
- FORWARD = 403,
- FREEZE = 404,
- FROM = 405,
- FULL = 406,
- FUNCTION = 407,
- FUNCTIONS = 408,
- GLOBAL = 409,
- GRANT = 410,
- GRANTED = 411,
- GREATEST = 412,
- GROUP_P = 413,
- HANDLER = 414,
- HAVING = 415,
- HEADER_P = 416,
- HOLD = 417,
- HOUR_P = 418,
- IDENTITY_P = 419,
- IF_P = 420,
- ILIKE = 421,
- IMMEDIATE = 422,
- IMMUTABLE = 423,
- IMPLICIT_P = 424,
- IN_P = 425,
- INCLUDING = 426,
- INCREMENT = 427,
- INDEX = 428,
- INDEXES = 429,
- INHERIT = 430,
- INHERITS = 431,
- INITIALLY = 432,
- INLINE_P = 433,
- INNER_P = 434,
- INOUT = 435,
- INPUT_P = 436,
- INSENSITIVE = 437,
- INSERT = 438,
- INSTEAD = 439,
- INT_P = 440,
- INTEGER = 441,
- INTERSECT = 442,
- INTERVAL = 443,
- INTO = 444,
- INVOKER = 445,
- IS = 446,
- ISNULL = 447,
- ISOLATION = 448,
- JOIN = 449,
- KEY = 450,
- LABEL = 451,
- LANGUAGE = 452,
- LARGE_P = 453,
- LAST_P = 454,
- LC_COLLATE_P = 455,
- LC_CTYPE_P = 456,
- LEADING = 457,
- LEAKPROOF = 458,
- LEAST = 459,
- LEFT = 460,
- LEVEL = 461,
- LIKE = 462,
- LIMIT = 463,
- LISTEN = 464,
- LOAD = 465,
- LOCAL = 466,
- LOCALTIME = 467,
- LOCALTIMESTAMP = 468,
- LOCATION = 469,
- LOCK_P = 470,
- MAPPING = 471,
- MATCH = 472,
- MAXVALUE = 473,
- MINUTE_P = 474,
- MINVALUE = 475,
- MODE = 476,
- MONTH_P = 477,
- MOVE = 478,
- NAME_P = 479,
- NAMES = 480,
- NATIONAL = 481,
- NATURAL = 482,
- NCHAR = 483,
- NEXT = 484,
- NO = 485,
- NONE = 486,
- NOT = 487,
- NOTHING = 488,
- NOTIFY = 489,
- NOTNULL = 490,
- NOWAIT = 491,
- NULL_P = 492,
- NULLIF = 493,
- NULLS_P = 494,
- NUMERIC = 495,
- OBJECT_P = 496,
- OF = 497,
- OFF = 498,
- OFFSET = 499,
- OIDS = 500,
- ON = 501,
- ONLY = 502,
- OPERATOR = 503,
- OPTION = 504,
- OPTIONS = 505,
- OR = 506,
- ORDER = 507,
- OUT_P = 508,
- OUTER_P = 509,
- OVER = 510,
- OVERLAPS = 511,
- OVERLAY = 512,
- OWNED = 513,
- OWNER = 514,
- PARSER = 515,
- PARTIAL = 516,
- PARTITION = 517,
- PASSING = 518,
- PASSWORD = 519,
- PLACING = 520,
- PLANS = 521,
- POSITION = 522,
- PRECEDING = 523,
- PRECISION = 524,
- PRESERVE = 525,
- PREPARE = 526,
- PREPARED = 527,
- PRIMARY = 528,
- PRIOR = 529,
- PRIVILEGES = 530,
- PROCEDURAL = 531,
- PROCEDURE = 532,
- QUOTE = 533,
- RANGE = 534,
- READ = 535,
- REAL = 536,
- REASSIGN = 537,
- RECHECK = 538,
- RECURSIVE = 539,
- REF = 540,
- REFERENCES = 541,
- REINDEX = 542,
- RELATIVE_P = 543,
- RELEASE = 544,
- RENAME = 545,
- REPEATABLE = 546,
- REPLACE = 547,
- REPLICA = 548,
- RESET = 549,
- RESTART = 550,
- RESTRICT = 551,
- RETURNING = 552,
- RETURNS = 553,
- REVOKE = 554,
- RIGHT = 555,
- ROLE = 556,
- ROLLBACK = 557,
- ROW = 558,
- ROWS = 559,
- RULE = 560,
- SAVEPOINT = 561,
- SCHEMA = 562,
- SCROLL = 563,
- SEARCH = 564,
- SECOND_P = 565,
- SECURITY = 566,
- SELECT = 567,
- SEQUENCE = 568,
- SEQUENCES = 569,
- SERIALIZABLE = 570,
- SERVER = 571,
- SESSION = 572,
- SESSION_USER = 573,
- SET = 574,
- SETOF = 575,
- SHARE = 576,
- SHOW = 577,
- SIMILAR = 578,
- SIMPLE = 579,
- SMALLINT = 580,
- SNAPSHOT = 581,
- SOME = 582,
- STABLE = 583,
- STANDALONE_P = 584,
- START = 585,
- STATEMENT = 586,
- STATISTICS = 587,
- STDIN = 588,
- STDOUT = 589,
- STORAGE = 590,
- STRICT_P = 591,
- STRIP_P = 592,
- SUBSTRING = 593,
- SYMMETRIC = 594,
- SYSID = 595,
- SYSTEM_P = 596,
- TABLE = 597,
- TABLES = 598,
- TABLESPACE = 599,
- TEMP = 600,
- TEMPLATE = 601,
- TEMPORARY = 602,
- TEXT_P = 603,
- THEN = 604,
- TIME = 605,
- TIMESTAMP = 606,
- TO = 607,
- TRAILING = 608,
- TRANSACTION = 609,
- TREAT = 610,
- TRIGGER = 611,
- TRIM = 612,
- TRUE_P = 613,
- TRUNCATE = 614,
- TRUSTED = 615,
- TYPE_P = 616,
- TYPES_P = 617,
- UNBOUNDED = 618,
- UNCOMMITTED = 619,
- UNENCRYPTED = 620,
- UNION = 621,
- UNIQUE = 622,
- UNKNOWN = 623,
- UNLISTEN = 624,
- UNLOGGED = 625,
- UNTIL = 626,
- UPDATE = 627,
- USER = 628,
- USING = 629,
- VACUUM = 630,
- VALID = 631,
- VALIDATE = 632,
- VALIDATOR = 633,
- VALUE_P = 634,
- VALUES = 635,
- VARCHAR = 636,
- VARIADIC = 637,
- VARYING = 638,
- VERBOSE = 639,
- VERSION_P = 640,
- VIEW = 641,
- VOLATILE = 642,
- WHEN = 643,
- WHERE = 644,
- WHITESPACE_P = 645,
- WINDOW = 646,
- WITH = 647,
- WITHOUT = 648,
- WORK = 649,
- WRAPPER = 650,
- WRITE = 651,
- XML_P = 652,
- XMLATTRIBUTES = 653,
- XMLCONCAT = 654,
- XMLELEMENT = 655,
- XMLEXISTS = 656,
- XMLFOREST = 657,
- XMLPARSE = 658,
- XMLPI = 659,
- XMLROOT = 660,
- XMLSERIALIZE = 661,
- YEAR_P = 662,
- YES_P = 663,
- ZONE = 664,
- NULLS_FIRST = 665,
- NULLS_LAST = 666,
- WITH_TIME = 667,
- POSTFIXOP = 668,
- UMINUS = 669
+ EVENT = 384,
+ EXCEPT = 385,
+ EXCLUDE = 386,
+ EXCLUDING = 387,
+ EXCLUSIVE = 388,
+ EXECUTE = 389,
+ EXISTS = 390,
+ EXPLAIN = 391,
+ EXTENSION = 392,
+ EXTERNAL = 393,
+ EXTRACT = 394,
+ FALSE_P = 395,
+ FAMILY = 396,
+ FETCH = 397,
+ FILTER = 398,
+ FIRST_P = 399,
+ FLOAT_P = 400,
+ FOLLOWING = 401,
+ FOR = 402,
+ FORCE = 403,
+ FOREIGN = 404,
+ FORWARD = 405,
+ FREEZE = 406,
+ FROM = 407,
+ FULL = 408,
+ FUNCTION = 409,
+ FUNCTIONS = 410,
+ GLOBAL = 411,
+ GRANT = 412,
+ GRANTED = 413,
+ GREATEST = 414,
+ GROUP_P = 415,
+ HANDLER = 416,
+ HAVING = 417,
+ HEADER_P = 418,
+ HOLD = 419,
+ HOUR_P = 420,
+ IDENTITY_P = 421,
+ IF_P = 422,
+ ILIKE = 423,
+ IMMEDIATE = 424,
+ IMMUTABLE = 425,
+ IMPLICIT_P = 426,
+ IN_P = 427,
+ INCLUDING = 428,
+ INCREMENT = 429,
+ INDEX = 430,
+ INDEXES = 431,
+ INHERIT = 432,
+ INHERITS = 433,
+ INITIALLY = 434,
+ INLINE_P = 435,
+ INNER_P = 436,
+ INOUT = 437,
+ INPUT_P = 438,
+ INSENSITIVE = 439,
+ INSERT = 440,
+ INSTEAD = 441,
+ INT_P = 442,
+ INTEGER = 443,
+ INTERSECT = 444,
+ INTERVAL = 445,
+ INTO = 446,
+ INVOKER = 447,
+ IS = 448,
+ ISNULL = 449,
+ ISOLATION = 450,
+ JOIN = 451,
+ KEY = 452,
+ LABEL = 453,
+ LANGUAGE = 454,
+ LARGE_P = 455,
+ LAST_P = 456,
+ LATERAL_P = 457,
+ LC_COLLATE_P = 458,
+ LC_CTYPE_P = 459,
+ LEADING = 460,
+ LEAKPROOF = 461,
+ LEAST = 462,
+ LEFT = 463,
+ LEVEL = 464,
+ LIKE = 465,
+ LIMIT = 466,
+ LISTEN = 467,
+ LOAD = 468,
+ LOCAL = 469,
+ LOCALTIME = 470,
+ LOCALTIMESTAMP = 471,
+ LOCATION = 472,
+ LOCK_P = 473,
+ MAPPING = 474,
+ MATCH = 475,
+ MATERIALIZED = 476,
+ MAXVALUE = 477,
+ MINUTE_P = 478,
+ MINVALUE = 479,
+ MODE = 480,
+ MONTH_P = 481,
+ MOVE = 482,
+ NAME_P = 483,
+ NAMES = 484,
+ NATIONAL = 485,
+ NATURAL = 486,
+ NCHAR = 487,
+ NEXT = 488,
+ NO = 489,
+ NONE = 490,
+ NOT = 491,
+ NOTHING = 492,
+ NOTIFY = 493,
+ NOTNULL = 494,
+ NOWAIT = 495,
+ NULL_P = 496,
+ NULLIF = 497,
+ NULLS_P = 498,
+ NUMERIC = 499,
+ OBJECT_P = 500,
+ OF = 501,
+ OFF = 502,
+ OFFSET = 503,
+ OIDS = 504,
+ ON = 505,
+ ONLY = 506,
+ OPERATOR = 507,
+ OPTION = 508,
+ OPTIONS = 509,
+ OR = 510,
+ ORDER = 511,
+ ORDINALITY = 512,
+ OUT_P = 513,
+ OUTER_P = 514,
+ OVER = 515,
+ OVERLAPS = 516,
+ OVERLAY = 517,
+ OWNED = 518,
+ OWNER = 519,
+ PARSER = 520,
+ PARTIAL = 521,
+ PARTITION = 522,
+ PASSING = 523,
+ PASSWORD = 524,
+ PLACING = 525,
+ PLANS = 526,
+ POSITION = 527,
+ PRECEDING = 528,
+ PRECISION = 529,
+ PRESERVE = 530,
+ PREPARE = 531,
+ PREPARED = 532,
+ PRIMARY = 533,
+ PRIOR = 534,
+ PRIVILEGES = 535,
+ PROCEDURAL = 536,
+ PROCEDURE = 537,
+ PROGRAM = 538,
+ QUOTE = 539,
+ RANGE = 540,
+ READ = 541,
+ REAL = 542,
+ REASSIGN = 543,
+ RECHECK = 544,
+ RECURSIVE = 545,
+ REF = 546,
+ REFERENCES = 547,
+ REFRESH = 548,
+ REINDEX = 549,
+ RELATIVE_P = 550,
+ RELEASE = 551,
+ RENAME = 552,
+ REPEATABLE = 553,
+ REPLACE = 554,
+ REPLICA = 555,
+ RESET = 556,
+ RESTART = 557,
+ RESTRICT = 558,
+ RETURNING = 559,
+ RETURNS = 560,
+ REVOKE = 561,
+ RIGHT = 562,
+ ROLE = 563,
+ ROLLBACK = 564,
+ ROW = 565,
+ ROWS = 566,
+ RULE = 567,
+ SAVEPOINT = 568,
+ SCHEMA = 569,
+ SCROLL = 570,
+ SEARCH = 571,
+ SECOND_P = 572,
+ SECURITY = 573,
+ SELECT = 574,
+ SEQUENCE = 575,
+ SEQUENCES = 576,
+ SERIALIZABLE = 577,
+ SERVER = 578,
+ SESSION = 579,
+ SESSION_USER = 580,
+ SET = 581,
+ SETOF = 582,
+ SHARE = 583,
+ SHOW = 584,
+ SIMILAR = 585,
+ SIMPLE = 586,
+ SMALLINT = 587,
+ SNAPSHOT = 588,
+ SOME = 589,
+ STABLE = 590,
+ STANDALONE_P = 591,
+ START = 592,
+ STATEMENT = 593,
+ STATISTICS = 594,
+ STDIN = 595,
+ STDOUT = 596,
+ STORAGE = 597,
+ STRICT_P = 598,
+ STRIP_P = 599,
+ SUBSTRING = 600,
+ SYMMETRIC = 601,
+ SYSID = 602,
+ SYSTEM_P = 603,
+ TABLE = 604,
+ TABLES = 605,
+ TABLESPACE = 606,
+ TEMP = 607,
+ TEMPLATE = 608,
+ TEMPORARY = 609,
+ TEXT_P = 610,
+ THEN = 611,
+ TIME = 612,
+ TIMESTAMP = 613,
+ TO = 614,
+ TRAILING = 615,
+ TRANSACTION = 616,
+ TREAT = 617,
+ TRIGGER = 618,
+ TRIM = 619,
+ TRUE_P = 620,
+ TRUNCATE = 621,
+ TRUSTED = 622,
+ TYPE_P = 623,
+ TYPES_P = 624,
+ UNBOUNDED = 625,
+ UNCOMMITTED = 626,
+ UNENCRYPTED = 627,
+ UNION = 628,
+ UNIQUE = 629,
+ UNKNOWN = 630,
+ UNLISTEN = 631,
+ UNLOGGED = 632,
+ UNTIL = 633,
+ UPDATE = 634,
+ USER = 635,
+ USING = 636,
+ VACUUM = 637,
+ VALID = 638,
+ VALIDATE = 639,
+ VALIDATOR = 640,
+ VALUE_P = 641,
+ VALUES = 642,
+ VARCHAR = 643,
+ VARIADIC = 644,
+ VARYING = 645,
+ VERBOSE = 646,
+ VERSION_P = 647,
+ VIEW = 648,
+ VIEWS = 649,
+ VOLATILE = 650,
+ WHEN = 651,
+ WHERE = 652,
+ WHITESPACE_P = 653,
+ WINDOW = 654,
+ WITH = 655,
+ WITHIN = 656,
+ WITHOUT = 657,
+ WORK = 658,
+ WRAPPER = 659,
+ WRITE = 660,
+ XML_P = 661,
+ XMLATTRIBUTES = 662,
+ XMLCONCAT = 663,
+ XMLELEMENT = 664,
+ XMLEXISTS = 665,
+ XMLFOREST = 666,
+ XMLPARSE = 667,
+ XMLPI = 668,
+ XMLROOT = 669,
+ XMLSERIALIZE = 670,
+ YEAR_P = 671,
+ YES_P = 672,
+ ZONE = 673,
+ NULLS_FIRST = 674,
+ NULLS_LAST = 675,
+ WITH_ORDINALITY = 676,
+ WITH_TIME = 677,
+ POSTFIXOP = 678,
+ UMINUS = 679
};
#endif
/* Tokens. */
@@ -579,303 +590,310 @@
#define END_P 381
#define ENUM_P 382
#define ESCAPE 383
-#define EXCEPT 384
-#define EXCLUDE 385
-#define EXCLUDING 386
-#define EXCLUSIVE 387
-#define EXECUTE 388
-#define EXISTS 389
-#define EXPLAIN 390
-#define EXTENSION 391
-#define EXTERNAL 392
-#define EXTRACT 393
-#define FALSE_P 394
-#define FAMILY 395
-#define FETCH 396
-#define FIRST_P 397
-#define FLOAT_P 398
-#define FOLLOWING 399
-#define FOR 400
-#define FORCE 401
-#define FOREIGN 402
-#define FORWARD 403
-#define FREEZE 404
-#define FROM 405
-#define FULL 406
-#define FUNCTION 407
-#define FUNCTIONS 408
-#define GLOBAL 409
-#define GRANT 410
-#define GRANTED 411
-#define GREATEST 412
-#define GROUP_P 413
-#define HANDLER 414
-#define HAVING 415
-#define HEADER_P 416
-#define HOLD 417
-#define HOUR_P 418
-#define IDENTITY_P 419
-#define IF_P 420
-#define ILIKE 421
-#define IMMEDIATE 422
-#define IMMUTABLE 423
-#define IMPLICIT_P 424
-#define IN_P 425
-#define INCLUDING 426
-#define INCREMENT 427
-#define INDEX 428
-#define INDEXES 429
-#define INHERIT 430
-#define INHERITS 431
-#define INITIALLY 432
-#define INLINE_P 433
-#define INNER_P 434
-#define INOUT 435
-#define INPUT_P 436
-#define INSENSITIVE 437
-#define INSERT 438
-#define INSTEAD 439
-#define INT_P 440
-#define INTEGER 441
-#define INTERSECT 442
-#define INTERVAL 443
-#define INTO 444
-#define INVOKER 445
-#define IS 446
-#define ISNULL 447
-#define ISOLATION 448
-#define JOIN 449
-#define KEY 450
-#define LABEL 451
-#define LANGUAGE 452
-#define LARGE_P 453
-#define LAST_P 454
-#define LC_COLLATE_P 455
-#define LC_CTYPE_P 456
-#define LEADING 457
-#define LEAKPROOF 458
-#define LEAST 459
-#define LEFT 460
-#define LEVEL 461
-#define LIKE 462
-#define LIMIT 463
-#define LISTEN 464
-#define LOAD 465
-#define LOCAL 466
-#define LOCALTIME 467
-#define LOCALTIMESTAMP 468
-#define LOCATION 469
-#define LOCK_P 470
-#define MAPPING 471
-#define MATCH 472
-#define MAXVALUE 473
-#define MINUTE_P 474
-#define MINVALUE 475
-#define MODE 476
-#define MONTH_P 477
-#define MOVE 478
-#define NAME_P 479
-#define NAMES 480
-#define NATIONAL 481
-#define NATURAL 482
-#define NCHAR 483
-#define NEXT 484
-#define NO 485
-#define NONE 486
-#define NOT 487
-#define NOTHING 488
-#define NOTIFY 489
-#define NOTNULL 490
-#define NOWAIT 491
-#define NULL_P 492
-#define NULLIF 493
-#define NULLS_P 494
-#define NUMERIC 495
-#define OBJECT_P 496
-#define OF 497
-#define OFF 498
-#define OFFSET 499
-#define OIDS 500
-#define ON 501
-#define ONLY 502
-#define OPERATOR 503
-#define OPTION 504
-#define OPTIONS 505
-#define OR 506
-#define ORDER 507
-#define OUT_P 508
-#define OUTER_P 509
-#define OVER 510
-#define OVERLAPS 511
-#define OVERLAY 512
-#define OWNED 513
-#define OWNER 514
-#define PARSER 515
-#define PARTIAL 516
-#define PARTITION 517
-#define PASSING 518
-#define PASSWORD 519
-#define PLACING 520
-#define PLANS 521
-#define POSITION 522
-#define PRECEDING 523
-#define PRECISION 524
-#define PRESERVE 525
-#define PREPARE 526
-#define PREPARED 527
-#define PRIMARY 528
-#define PRIOR 529
-#define PRIVILEGES 530
-#define PROCEDURAL 531
-#define PROCEDURE 532
-#define QUOTE 533
-#define RANGE 534
-#define READ 535
-#define REAL 536
-#define REASSIGN 537
-#define RECHECK 538
-#define RECURSIVE 539
-#define REF 540
-#define REFERENCES 541
-#define REINDEX 542
-#define RELATIVE_P 543
-#define RELEASE 544
-#define RENAME 545
-#define REPEATABLE 546
-#define REPLACE 547
-#define REPLICA 548
-#define RESET 549
-#define RESTART 550
-#define RESTRICT 551
-#define RETURNING 552
-#define RETURNS 553
-#define REVOKE 554
-#define RIGHT 555
-#define ROLE 556
-#define ROLLBACK 557
-#define ROW 558
-#define ROWS 559
-#define RULE 560
-#define SAVEPOINT 561
-#define SCHEMA 562
-#define SCROLL 563
-#define SEARCH 564
-#define SECOND_P 565
-#define SECURITY 566
-#define SELECT 567
-#define SEQUENCE 568
-#define SEQUENCES 569
-#define SERIALIZABLE 570
-#define SERVER 571
-#define SESSION 572
-#define SESSION_USER 573
-#define SET 574
-#define SETOF 575
-#define SHARE 576
-#define SHOW 577
-#define SIMILAR 578
-#define SIMPLE 579
-#define SMALLINT 580
-#define SNAPSHOT 581
-#define SOME 582
-#define STABLE 583
-#define STANDALONE_P 584
-#define START 585
-#define STATEMENT 586
-#define STATISTICS 587
-#define STDIN 588
-#define STDOUT 589
-#define STORAGE 590
-#define STRICT_P 591
-#define STRIP_P 592
-#define SUBSTRING 593
-#define SYMMETRIC 594
-#define SYSID 595
-#define SYSTEM_P 596
-#define TABLE 597
-#define TABLES 598
-#define TABLESPACE 599
-#define TEMP 600
-#define TEMPLATE 601
-#define TEMPORARY 602
-#define TEXT_P 603
-#define THEN 604
-#define TIME 605
-#define TIMESTAMP 606
-#define TO 607
-#define TRAILING 608
-#define TRANSACTION 609
-#define TREAT 610
-#define TRIGGER 611
-#define TRIM 612
-#define TRUE_P 613
-#define TRUNCATE 614
-#define TRUSTED 615
-#define TYPE_P 616
-#define TYPES_P 617
-#define UNBOUNDED 618
-#define UNCOMMITTED 619
-#define UNENCRYPTED 620
-#define UNION 621
-#define UNIQUE 622
-#define UNKNOWN 623
-#define UNLISTEN 624
-#define UNLOGGED 625
-#define UNTIL 626
-#define UPDATE 627
-#define USER 628
-#define USING 629
-#define VACUUM 630
-#define VALID 631
-#define VALIDATE 632
-#define VALIDATOR 633
-#define VALUE_P 634
-#define VALUES 635
-#define VARCHAR 636
-#define VARIADIC 637
-#define VARYING 638
-#define VERBOSE 639
-#define VERSION_P 640
-#define VIEW 641
-#define VOLATILE 642
-#define WHEN 643
-#define WHERE 644
-#define WHITESPACE_P 645
-#define WINDOW 646
-#define WITH 647
-#define WITHOUT 648
-#define WORK 649
-#define WRAPPER 650
-#define WRITE 651
-#define XML_P 652
-#define XMLATTRIBUTES 653
-#define XMLCONCAT 654
-#define XMLELEMENT 655
-#define XMLEXISTS 656
-#define XMLFOREST 657
-#define XMLPARSE 658
-#define XMLPI 659
-#define XMLROOT 660
-#define XMLSERIALIZE 661
-#define YEAR_P 662
-#define YES_P 663
-#define ZONE 664
-#define NULLS_FIRST 665
-#define NULLS_LAST 666
-#define WITH_TIME 667
-#define POSTFIXOP 668
-#define UMINUS 669
+#define EVENT 384
+#define EXCEPT 385
+#define EXCLUDE 386
+#define EXCLUDING 387
+#define EXCLUSIVE 388
+#define EXECUTE 389
+#define EXISTS 390
+#define EXPLAIN 391
+#define EXTENSION 392
+#define EXTERNAL 393
+#define EXTRACT 394
+#define FALSE_P 395
+#define FAMILY 396
+#define FETCH 397
+#define FILTER 398
+#define FIRST_P 399
+#define FLOAT_P 400
+#define FOLLOWING 401
+#define FOR 402
+#define FORCE 403
+#define FOREIGN 404
+#define FORWARD 405
+#define FREEZE 406
+#define FROM 407
+#define FULL 408
+#define FUNCTION 409
+#define FUNCTIONS 410
+#define GLOBAL 411
+#define GRANT 412
+#define GRANTED 413
+#define GREATEST 414
+#define GROUP_P 415
+#define HANDLER 416
+#define HAVING 417
+#define HEADER_P 418
+#define HOLD 419
+#define HOUR_P 420
+#define IDENTITY_P 421
+#define IF_P 422
+#define ILIKE 423
+#define IMMEDIATE 424
+#define IMMUTABLE 425
+#define IMPLICIT_P 426
+#define IN_P 427
+#define INCLUDING 428
+#define INCREMENT 429
+#define INDEX 430
+#define INDEXES 431
+#define INHERIT 432
+#define INHERITS 433
+#define INITIALLY 434
+#define INLINE_P 435
+#define INNER_P 436
+#define INOUT 437
+#define INPUT_P 438
+#define INSENSITIVE 439
+#define INSERT 440
+#define INSTEAD 441
+#define INT_P 442
+#define INTEGER 443
+#define INTERSECT 444
+#define INTERVAL 445
+#define INTO 446
+#define INVOKER 447
+#define IS 448
+#define ISNULL 449
+#define ISOLATION 450
+#define JOIN 451
+#define KEY 452
+#define LABEL 453
+#define LANGUAGE 454
+#define LARGE_P 455
+#define LAST_P 456
+#define LATERAL_P 457
+#define LC_COLLATE_P 458
+#define LC_CTYPE_P 459
+#define LEADING 460
+#define LEAKPROOF 461
+#define LEAST 462
+#define LEFT 463
+#define LEVEL 464
+#define LIKE 465
+#define LIMIT 466
+#define LISTEN 467
+#define LOAD 468
+#define LOCAL 469
+#define LOCALTIME 470
+#define LOCALTIMESTAMP 471
+#define LOCATION 472
+#define LOCK_P 473
+#define MAPPING 474
+#define MATCH 475
+#define MATERIALIZED 476
+#define MAXVALUE 477
+#define MINUTE_P 478
+#define MINVALUE 479
+#define MODE 480
+#define MONTH_P 481
+#define MOVE 482
+#define NAME_P 483
+#define NAMES 484
+#define NATIONAL 485
+#define NATURAL 486
+#define NCHAR 487
+#define NEXT 488
+#define NO 489
+#define NONE 490
+#define NOT 491
+#define NOTHING 492
+#define NOTIFY 493
+#define NOTNULL 494
+#define NOWAIT 495
+#define NULL_P 496
+#define NULLIF 497
+#define NULLS_P 498
+#define NUMERIC 499
+#define OBJECT_P 500
+#define OF 501
+#define OFF 502
+#define OFFSET 503
+#define OIDS 504
+#define ON 505
+#define ONLY 506
+#define OPERATOR 507
+#define OPTION 508
+#define OPTIONS 509
+#define OR 510
+#define ORDER 511
+#define ORDINALITY 512
+#define OUT_P 513
+#define OUTER_P 514
+#define OVER 515
+#define OVERLAPS 516
+#define OVERLAY 517
+#define OWNED 518
+#define OWNER 519
+#define PARSER 520
+#define PARTIAL 521
+#define PARTITION 522
+#define PASSING 523
+#define PASSWORD 524
+#define PLACING 525
+#define PLANS 526
+#define POSITION 527
+#define PRECEDING 528
+#define PRECISION 529
+#define PRESERVE 530
+#define PREPARE 531
+#define PREPARED 532
+#define PRIMARY 533
+#define PRIOR 534
+#define PRIVILEGES 535
+#define PROCEDURAL 536
+#define PROCEDURE 537
+#define PROGRAM 538
+#define QUOTE 539
+#define RANGE 540
+#define READ 541
+#define REAL 542
+#define REASSIGN 543
+#define RECHECK 544
+#define RECURSIVE 545
+#define REF 546
+#define REFERENCES 547
+#define REFRESH 548
+#define REINDEX 549
+#define RELATIVE_P 550
+#define RELEASE 551
+#define RENAME 552
+#define REPEATABLE 553
+#define REPLACE 554
+#define REPLICA 555
+#define RESET 556
+#define RESTART 557
+#define RESTRICT 558
+#define RETURNING 559
+#define RETURNS 560
+#define REVOKE 561
+#define RIGHT 562
+#define ROLE 563
+#define ROLLBACK 564
+#define ROW 565
+#define ROWS 566
+#define RULE 567
+#define SAVEPOINT 568
+#define SCHEMA 569
+#define SCROLL 570
+#define SEARCH 571
+#define SECOND_P 572
+#define SECURITY 573
+#define SELECT 574
+#define SEQUENCE 575
+#define SEQUENCES 576
+#define SERIALIZABLE 577
+#define SERVER 578
+#define SESSION 579
+#define SESSION_USER 580
+#define SET 581
+#define SETOF 582
+#define SHARE 583
+#define SHOW 584
+#define SIMILAR 585
+#define SIMPLE 586
+#define SMALLINT 587
+#define SNAPSHOT 588
+#define SOME 589
+#define STABLE 590
+#define STANDALONE_P 591
+#define START 592
+#define STATEMENT 593
+#define STATISTICS 594
+#define STDIN 595
+#define STDOUT 596
+#define STORAGE 597
+#define STRICT_P 598
+#define STRIP_P 599
+#define SUBSTRING 600
+#define SYMMETRIC 601
+#define SYSID 602
+#define SYSTEM_P 603
+#define TABLE 604
+#define TABLES 605
+#define TABLESPACE 606
+#define TEMP 607
+#define TEMPLATE 608
+#define TEMPORARY 609
+#define TEXT_P 610
+#define THEN 611
+#define TIME 612
+#define TIMESTAMP 613
+#define TO 614
+#define TRAILING 615
+#define TRANSACTION 616
+#define TREAT 617
+#define TRIGGER 618
+#define TRIM 619
+#define TRUE_P 620
+#define TRUNCATE 621
+#define TRUSTED 622
+#define TYPE_P 623
+#define TYPES_P 624
+#define UNBOUNDED 625
+#define UNCOMMITTED 626
+#define UNENCRYPTED 627
+#define UNION 628
+#define UNIQUE 629
+#define UNKNOWN 630
+#define UNLISTEN 631
+#define UNLOGGED 632
+#define UNTIL 633
+#define UPDATE 634
+#define USER 635
+#define USING 636
+#define VACUUM 637
+#define VALID 638
+#define VALIDATE 639
+#define VALIDATOR 640
+#define VALUE_P 641
+#define VALUES 642
+#define VARCHAR 643
+#define VARIADIC 644
+#define VARYING 645
+#define VERBOSE 646
+#define VERSION_P 647
+#define VIEW 648
+#define VIEWS 649
+#define VOLATILE 650
+#define WHEN 651
+#define WHERE 652
+#define WHITESPACE_P 653
+#define WINDOW 654
+#define WITH 655
+#define WITHIN 656
+#define WITHOUT 657
+#define WORK 658
+#define WRAPPER 659
+#define WRITE 660
+#define XML_P 661
+#define XMLATTRIBUTES 662
+#define XMLCONCAT 663
+#define XMLELEMENT 664
+#define XMLEXISTS 665
+#define XMLFOREST 666
+#define XMLPARSE 667
+#define XMLPI 668
+#define XMLROOT 669
+#define XMLSERIALIZE 670
+#define YEAR_P 671
+#define YES_P 672
+#define ZONE 673
+#define NULLS_FIRST 674
+#define NULLS_LAST 675
+#define WITH_ORDINALITY 676
+#define WITH_TIME 677
+#define POSTFIXOP 678
+#define UMINUS 679
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
+#line 211 "gram.y"
{
-
-/* Line 1685 of yacc.c */
-#line 171 "gram.y"
-
core_YYSTYPE core_yystype;
/* these fields must match core_YYSTYPE: */
int ival;
@@ -910,15 +928,13 @@ typedef union YYSTYPE
AccessPriv *accesspriv;
InsertStmt *istmt;
VariableSetStmt *vsetstmt;
-
-
-
-/* Line 1685 of yacc.c */
-#line 918 "gram.h"
-} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
+}
+/* Line 1529 of yacc.c. */
+#line 934 "gram.h"
+ YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
@@ -937,4 +953,3 @@ typedef struct YYLTYPE
#endif
-
diff --git a/src/include/parser/gramparse.h b/src/include/parser/gramparse.h
index a4397af..205b16e 100644
--- a/src/include/parser/gramparse.h
+++ b/src/include/parser/gramparse.h
@@ -8,8 +8,8 @@
* outside the core parser should be in parser.h.
*
*
- * Portions Copyright (c) 2003-2012, PgPool Global Development Group
- * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/parser/gramparse.h
diff --git a/src/include/parser/kwlist.h b/src/include/parser/kwlist.h
index 7f4bb10..c812600 100644
--- a/src/include/parser/kwlist.h
+++ b/src/include/parser/kwlist.h
@@ -7,8 +7,8 @@
* by the PG_KEYWORD macro, which is not defined in this file; it can
* be defined by the caller for special purposes.
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
@@ -142,6 +142,7 @@ PG_KEYWORD("encrypted", ENCRYPTED, UNRESERVED_KEYWORD)
PG_KEYWORD("end", END_P, RESERVED_KEYWORD)
PG_KEYWORD("enum", ENUM_P, UNRESERVED_KEYWORD)
PG_KEYWORD("escape", ESCAPE, UNRESERVED_KEYWORD)
+PG_KEYWORD("event", EVENT, UNRESERVED_KEYWORD)
PG_KEYWORD("except", EXCEPT, RESERVED_KEYWORD)
PG_KEYWORD("exclude", EXCLUDE, UNRESERVED_KEYWORD)
PG_KEYWORD("excluding", EXCLUDING, UNRESERVED_KEYWORD)
@@ -155,6 +156,7 @@ PG_KEYWORD("extract", EXTRACT, COL_NAME_KEYWORD)
PG_KEYWORD("false", FALSE_P, RESERVED_KEYWORD)
PG_KEYWORD("family", FAMILY, UNRESERVED_KEYWORD)
PG_KEYWORD("fetch", FETCH, RESERVED_KEYWORD)
+PG_KEYWORD("filter", FILTER, UNRESERVED_KEYWORD)
PG_KEYWORD("first", FIRST_P, UNRESERVED_KEYWORD)
PG_KEYWORD("float", FLOAT_P, COL_NAME_KEYWORD)
PG_KEYWORD("following", FOLLOWING, UNRESERVED_KEYWORD)
@@ -213,6 +215,7 @@ PG_KEYWORD("label", LABEL, UNRESERVED_KEYWORD)
PG_KEYWORD("language", LANGUAGE, UNRESERVED_KEYWORD)
PG_KEYWORD("large", LARGE_P, UNRESERVED_KEYWORD)
PG_KEYWORD("last", LAST_P, UNRESERVED_KEYWORD)
+PG_KEYWORD("lateral", LATERAL_P, RESERVED_KEYWORD)
PG_KEYWORD("lc_collate", LC_COLLATE_P, UNRESERVED_KEYWORD)
PG_KEYWORD("lc_ctype", LC_CTYPE_P, UNRESERVED_KEYWORD)
PG_KEYWORD("leading", LEADING, RESERVED_KEYWORD)
@@ -231,6 +234,7 @@ PG_KEYWORD("location", LOCATION, UNRESERVED_KEYWORD)
PG_KEYWORD("lock", LOCK_P, UNRESERVED_KEYWORD)
PG_KEYWORD("mapping", MAPPING, UNRESERVED_KEYWORD)
PG_KEYWORD("match", MATCH, UNRESERVED_KEYWORD)
+PG_KEYWORD("materialized", MATERIALIZED, UNRESERVED_KEYWORD)
PG_KEYWORD("maxvalue", MAXVALUE, UNRESERVED_KEYWORD)
PG_KEYWORD("minute", MINUTE_P, UNRESERVED_KEYWORD)
PG_KEYWORD("minvalue", MINVALUE, UNRESERVED_KEYWORD)
@@ -266,9 +270,10 @@ PG_KEYWORD("option", OPTION, UNRESERVED_KEYWORD)
PG_KEYWORD("options", OPTIONS, UNRESERVED_KEYWORD)
PG_KEYWORD("or", OR, RESERVED_KEYWORD)
PG_KEYWORD("order", ORDER, RESERVED_KEYWORD)
+PG_KEYWORD("ordinality", ORDINALITY, UNRESERVED_KEYWORD)
PG_KEYWORD("out", OUT_P, COL_NAME_KEYWORD)
PG_KEYWORD("outer", OUTER_P, TYPE_FUNC_NAME_KEYWORD)
-PG_KEYWORD("over", OVER, TYPE_FUNC_NAME_KEYWORD)
+PG_KEYWORD("over", OVER, UNRESERVED_KEYWORD)
PG_KEYWORD("overlaps", OVERLAPS, TYPE_FUNC_NAME_KEYWORD)
PG_KEYWORD("overlay", OVERLAY, COL_NAME_KEYWORD)
PG_KEYWORD("owned", OWNED, UNRESERVED_KEYWORD)
@@ -291,6 +296,7 @@ PG_KEYWORD("prior", PRIOR, UNRESERVED_KEYWORD)
PG_KEYWORD("privileges", PRIVILEGES, UNRESERVED_KEYWORD)
PG_KEYWORD("procedural", PROCEDURAL, UNRESERVED_KEYWORD)
PG_KEYWORD("procedure", PROCEDURE, UNRESERVED_KEYWORD)
+PG_KEYWORD("program", PROGRAM, UNRESERVED_KEYWORD)
PG_KEYWORD("quote", QUOTE, UNRESERVED_KEYWORD)
PG_KEYWORD("range", RANGE, UNRESERVED_KEYWORD)
PG_KEYWORD("read", READ, UNRESERVED_KEYWORD)
@@ -300,6 +306,7 @@ PG_KEYWORD("recheck", RECHECK, UNRESERVED_KEYWORD)
PG_KEYWORD("recursive", RECURSIVE, UNRESERVED_KEYWORD)
PG_KEYWORD("ref", REF, UNRESERVED_KEYWORD)
PG_KEYWORD("references", REFERENCES, RESERVED_KEYWORD)
+PG_KEYWORD("refresh", REFRESH, UNRESERVED_KEYWORD)
PG_KEYWORD("reindex", REINDEX, UNRESERVED_KEYWORD)
PG_KEYWORD("relative", RELATIVE_P, UNRESERVED_KEYWORD)
PG_KEYWORD("release", RELEASE, UNRESERVED_KEYWORD)
@@ -400,12 +407,14 @@ PG_KEYWORD("varying", VARYING, UNRESERVED_KEYWORD)
PG_KEYWORD("verbose", VERBOSE, TYPE_FUNC_NAME_KEYWORD)
PG_KEYWORD("version", VERSION_P, UNRESERVED_KEYWORD)
PG_KEYWORD("view", VIEW, UNRESERVED_KEYWORD)
+PG_KEYWORD("views", VIEWS, UNRESERVED_KEYWORD)
PG_KEYWORD("volatile", VOLATILE, UNRESERVED_KEYWORD)
PG_KEYWORD("when", WHEN, RESERVED_KEYWORD)
PG_KEYWORD("where", WHERE, RESERVED_KEYWORD)
PG_KEYWORD("whitespace", WHITESPACE_P, UNRESERVED_KEYWORD)
PG_KEYWORD("window", WINDOW, RESERVED_KEYWORD)
PG_KEYWORD("with", WITH, RESERVED_KEYWORD)
+PG_KEYWORD("within", WITHIN, UNRESERVED_KEYWORD)
PG_KEYWORD("without", WITHOUT, UNRESERVED_KEYWORD)
PG_KEYWORD("work", WORK, UNRESERVED_KEYWORD)
PG_KEYWORD("wrapper", WRAPPER, UNRESERVED_KEYWORD)
diff --git a/src/include/parser/makefuncs.h b/src/include/parser/makefuncs.h
index 7aaadeb..aed82e0 100644
--- a/src/include/parser/makefuncs.h
+++ b/src/include/parser/makefuncs.h
@@ -4,8 +4,8 @@
* prototypes for the creator functions (for primitive nodes)
*
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/nodes/makefuncs.h
@@ -71,13 +71,15 @@ extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location);
extern TypeName *makeTypeName(char *typnam);
extern TypeName *makeTypeNameFromNameList(List *names);
-extern TypeName *makeTypeNameFromOid(Oid typeid, int32 typmod);
+extern TypeName *makeTypeNameFromOid(Oid typeOid, int32 typmod);
extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype, List *args,
- Oid funccollid, Oid inputcollid, CoercionForm fformat);
+ Oid funccollid, Oid inputcollid, CoercionForm fformat);
+
+extern FuncCall *makeFuncCall(List *name, List *args, int location);
extern DefElem *makeDefElem(char *name, Node *arg);
-extern DefElem *makeDefElemExtended(char *namespace, char *name, Node *arg,
+extern DefElem *makeDefElemExtended(char *nameSpace, char *name, Node *arg,
DefElemAction defaction);
#endif /* MAKEFUNC_H */
diff --git a/src/include/parser/nodes.h b/src/include/parser/nodes.h
index ce82521..aa85aa7 100644
--- a/src/include/parser/nodes.h
+++ b/src/include/parser/nodes.h
@@ -4,11 +4,11 @@
* Definitions for tagged nodes.
*
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * src/include/nodes/parsenodes.h
+ * src/include/nodes/nodes.h
*
*-------------------------------------------------------------------------
*/
@@ -181,6 +181,7 @@ typedef enum NodeTag
*/
T_ExprState = 400,
T_GenericExprState,
+ T_WholeRowVarExprState,
T_AggrefExprState,
T_WindowFuncExprState,
T_ArrayRefExprState,
@@ -205,7 +206,6 @@ typedef enum NodeTag
T_NullTestState,
T_CoerceToDomainState,
T_DomainConstraintState,
- T_WholeRowVarExprState, /* will be in a more natural position in 9.3 */
/*
* TAGS FOR PLANNER NODES (relation.h)
@@ -236,6 +236,7 @@ typedef enum NodeTag
T_RestrictInfo,
T_PlaceHolderVar,
T_SpecialJoinInfo,
+ T_LateralJoinInfo,
T_AppendRelInfo,
T_PlaceHolderInfo,
T_MinMaxAggInfo,
@@ -354,11 +355,17 @@ typedef enum NodeTag
T_AlterUserMappingStmt,
T_DropUserMappingStmt,
T_AlterTableSpaceOptionsStmt,
+ T_AlterTableSpaceMoveStmt,
T_SecLabelStmt,
T_CreateForeignTableStmt,
T_CreateExtensionStmt,
T_AlterExtensionStmt,
T_AlterExtensionContentsStmt,
+ T_CreateEventTrigStmt,
+ T_AlterEventTrigStmt,
+ T_RefreshMatViewStmt,
+ T_ReplicaIdentityStmt,
+ T_AlterSystemStmt,
/*
* TAGS FOR PARSE TREE NODES (parsenodes.h)
@@ -385,6 +392,8 @@ typedef enum NodeTag
T_Constraint,
T_DefElem,
T_RangeTblEntry,
+ T_RangeTblFunction,
+ T_WithCheckOption,
T_SortGroupClause,
T_WindowClause,
T_PrivGrantee,
@@ -404,7 +413,10 @@ typedef enum NodeTag
*/
T_IdentifySystemCmd,
T_BaseBackupCmd,
+ T_CreateReplicationSlotCmd,
+ T_DropReplicationSlotCmd,
T_StartReplicationCmd,
+ T_TimeLineHistoryCmd,
/*
* TAGS FOR RANDOM OTHER STUFF
@@ -415,6 +427,7 @@ typedef enum NodeTag
* pass multiple object types through the same pointer).
*/
T_TriggerData = 950, /* in commands/trigger.h */
+ T_EventTriggerData, /* in commands/event_trigger.h */
T_ReturnSetInfo, /* in nodes/execnodes.h */
T_WindowObjectData, /* private in nodeWindowAgg.c */
T_TIDBitmap, /* in nodes/tidbitmap.h */
@@ -449,14 +462,13 @@ typedef struct Node
#ifdef __GNUC__
/* With GCC, we can use a compound statement within an expression */
-/* XXX AssertMacro was removed */
#define newNode(size, tag) \
({ Node *_result; \
+ AssertMacro((size) >= sizeof(Node)); /* need the tag, at least */ \
_result = (Node *) palloc0fast(size); \
_result->type = (tag); \
_result; \
})
-
#else
/*
@@ -465,7 +477,7 @@ typedef struct Node
* Fortunately, this macro isn't recursive so we just define
* a global variable for this purpose.
*/
-extern Node *newNodeMacroHolder;
+extern Node *newNodeMacroHolder;
#define newNode(size, tag) \
( \
@@ -490,7 +502,7 @@ extern Node *newNodeMacroHolder;
/*
* nodes/{outfuncs.c,print.c}
*/
-extern char *nodeToString(void *obj);
+extern char *nodeToString(const void *obj);
/*
* nodes/{readfuncs.c,read.c}
@@ -564,7 +576,7 @@ typedef enum JoinType
/*
* Semijoins and anti-semijoins (as defined in relational theory) do not
* appear in the SQL JOIN syntax, but there are standard idioms for
- * representing them (e.g., using EXISTS). The planner recognizes these
+ * representing them (e.g., using EXISTS). The planner recognizes these
* cases and converts them to joins. So the planner and executor must
* support these codes. NOTE: in JOIN_SEMI output, it is unspecified
* which matching RHS row is joined to. In JOIN_ANTI output, the row is
@@ -588,7 +600,7 @@ typedef enum JoinType
/*
* OUTER joins are those for which pushed-down quals must behave differently
* from the join's own quals. This is in fact everything except INNER and
- * SEMI joins. However, this macro must also exclude the JOIN_UNIQUE symbols
+ * SEMI joins. However, this macro must also exclude the JOIN_UNIQUE symbols
* since those are temporary proxies for what will eventually be an INNER
* join.
*
diff --git a/src/include/parser/parsenodes.h b/src/include/parser/parsenodes.h
index d3b2545..c1ed7a5 100644
--- a/src/include/parser/parsenodes.h
+++ b/src/include/parser/parsenodes.h
@@ -9,9 +9,8 @@
* the node. Access to the original source text is needed to make use of
* the location.
*
- *
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/nodes/parsenodes.h
@@ -25,7 +24,9 @@
#include "primnodes.h"
#include "value.h"
-/* include/nodes/bitmapset.h start */
+/*
+ * include/nodes/bitmapset.h start
+ */
typedef uint32 bitmapword; /* must be an unsigned type */
typedef struct Bitmapset
@@ -36,7 +37,6 @@ typedef struct Bitmapset
extern Bitmapset *bms_copy(const Bitmapset *a);
/* include/nodes/bitmapset.h end */
-
/* Possible sources of a Query */
typedef enum QuerySource
@@ -88,7 +88,7 @@ typedef uint32 AclMode; /* a bitmask of privilege bits */
#define ACL_CONNECT (1<<11) /* for databases */
#define N_ACL_RIGHTS 12 /* 1 plus the last 1<<x */
#define ACL_NO_RIGHTS 0
-/* Currently, SELECT ... FOR UPDATE/FOR SHARE requires UPDATE privileges */
+/* Currently, SELECT ... FOR [KEY] UPDATE/SHARE requires UPDATE privileges */
#define ACL_SELECT_FOR_UPDATE ACL_UPDATE
@@ -133,7 +133,7 @@ typedef struct Query
bool hasDistinctOn; /* distinctClause is from DISTINCT ON */
bool hasRecursive; /* WITH RECURSIVE was specified */
bool hasModifyingCTE; /* has INSERT/UPDATE/DELETE in WITH */
- bool hasForUpdate; /* FOR UPDATE or FOR SHARE was specified */
+ bool hasForUpdate; /* FOR [KEY] UPDATE/SHARE was specified */
List *cteList; /* WITH list (of CommonTableExpr's) */
@@ -142,6 +142,8 @@ typedef struct Query
List *targetList; /* target list (of TargetEntry) */
+ List *withCheckOptions; /* a list of WithCheckOption's */
+
List *returningList; /* return-values list (of TargetEntry) */
List *groupClause; /* a list of SortGroupClause's */
@@ -171,7 +173,7 @@ typedef struct Query
* Supporting data structures for Parse Trees
*
* Most of these node types appear in raw parsetrees output by the grammar,
- * and get transformed to something else by the analyzer. A few of them
+ * and get transformed to something else by the analyzer. A few of them
* are used as-is in transformed querytrees.
****************************************************************************/
@@ -185,7 +187,7 @@ typedef struct Query
* be prespecified in typemod, otherwise typemod is unused.
*
* If pct_type is TRUE, then names is actually a field name and we look up
- * the type of that field. Otherwise (the normal case), names is a type
+ * the type of that field. Otherwise (the normal case), names is a type
* name possibly qualified with schema and database name.
*/
typedef struct TypeName
@@ -204,7 +206,7 @@ typedef struct TypeName
/*
* ColumnRef - specifies a reference to a column, or possibly a whole tuple
*
- * The "fields" list must be nonempty. It can contain string Value nodes
+ * The "fields" list must be nonempty. It can contain string Value nodes
* (representing names) and A_Star nodes (representing occurrence of a '*').
* Currently, A_Star must appear only as the last list element --- the grammar
* is responsible for enforcing this!
@@ -293,12 +295,16 @@ typedef struct CollateClause
/*
* FuncCall - a function or aggregate invocation
*
- * agg_order (if not NIL) indicates we saw 'foo(... ORDER BY ...)'.
+ * agg_order (if not NIL) indicates we saw 'foo(... ORDER BY ...)', or if
+ * agg_within_group is true, it was 'foo(...) WITHIN GROUP (ORDER BY ...)'.
* agg_star indicates we saw a 'foo(*)' construct, while agg_distinct
* indicates we saw 'foo(DISTINCT ...)'. In any of these cases, the
* construct *must* be an aggregate call. Otherwise, it might be either an
- * aggregate or some other kind of function. However, if OVER is present
- * it had better be an aggregate or window function.
+ * aggregate or some other kind of function. However, if FILTER or OVER is
+ * present it had better be an aggregate or window function.
+ *
+ * Normally, you'd initialize this via makeFuncCall() and then only change the
+ * parts of the struct its defaults don't match afterwards, as needed.
*/
typedef struct FuncCall
{
@@ -306,6 +312,8 @@ typedef struct FuncCall
List *funcname; /* qualified name of function */
List *args; /* the arguments (list of exprs) */
List *agg_order; /* ORDER BY (list of SortBy) */
+ Node *agg_filter; /* FILTER clause, if any */
+ bool agg_within_group; /* ORDER BY appeared in WITHIN GROUP */
bool agg_star; /* argument was really '*' */
bool agg_distinct; /* arguments were labeled DISTINCT */
bool func_variadic; /* last argument was labeled VARIADIC */
@@ -465,17 +473,32 @@ typedef struct WindowDef
typedef struct RangeSubselect
{
NodeTag type;
+ bool lateral; /* does it have LATERAL prefix? */
Node *subquery; /* the untransformed sub-select clause */
Alias *alias; /* table alias & optional column aliases */
} RangeSubselect;
/*
* RangeFunction - function call appearing in a FROM clause
+ *
+ * functions is a List because we use this to represent the construct
+ * ROWS FROM(func1(...), func2(...), ...). Each element of this list is a
+ * two-element sublist, the first element being the untransformed function
+ * call tree, and the second element being a possibly-empty list of ColumnDef
+ * nodes representing any columndef list attached to that function within the
+ * ROWS FROM() syntax.
+ *
+ * alias and coldeflist represent any alias and/or columndef list attached
+ * at the top level. (We disallow coldeflist appearing both here and
+ * per-function, but that's checked in parse analysis, not by the grammar.)
*/
typedef struct RangeFunction
{
NodeTag type;
- Node *funccallnode; /* untransformed function call tree */
+ bool lateral; /* does it have LATERAL prefix? */
+ bool ordinality; /* does it have WITH ORDINALITY suffix? */
+ bool is_rowsfrom; /* is result of ROWS FROM() syntax? */
+ List *functions; /* per-function information, see above */
Alias *alias; /* table alias & optional column aliases */
List *coldeflist; /* list of ColumnDef nodes to describe result
* of function returning RECORD */
@@ -488,7 +511,7 @@ typedef struct RangeFunction
* in either "raw" form (an untransformed parse tree) or "cooked" form
* (a post-parse-analysis, executable expression tree), depending on
* how this ColumnDef node was created (by parsing, or by inheritance
- * from an existing relation). We should never have both in the same node!
+ * from an existing relation). We should never have both in the same node!
*
* Similarly, we may have a COLLATE specification in either raw form
* (represented as a CollateClause with arg==NULL) or cooked form
@@ -515,6 +538,7 @@ typedef struct ColumnDef
Oid collOid; /* collation OID (InvalidOid if not set) */
List *constraints; /* other constraints on column */
List *fdwoptions; /* per-column FDW options */
+ int location; /* parse location, or -1 if none/unknown */
} ColumnDef;
/*
@@ -559,7 +583,7 @@ typedef struct IndexElem
/*
* DefElem - a generic "name = value" option definition
*
- * In some contexts the name can be qualified. Also, certain SQL commands
+ * In some contexts the name can be qualified. Also, certain SQL commands
* allow a SET/ADD/DROP action to be attached to option settings, so it's
* convenient to carry a field for that too. (Note: currently, it is our
* practice that the grammar allows namespace and action only in statements
@@ -584,18 +608,28 @@ typedef struct DefElem
} DefElem;
/*
- * LockingClause - raw representation of FOR UPDATE/SHARE options
+ * LockingClause - raw representation of FOR [NO KEY] UPDATE/[KEY] SHARE
+ * options
*
- * Note: lockedRels == NIL means "all relations in query". Otherwise it
+ * Note: lockedRels == NIL means "all relations in query". Otherwise it
* is a list of RangeVar nodes. (We use RangeVar mainly because it carries
* a location field --- currently, parse analysis insists on unqualified
* names in LockingClause.)
*/
+typedef enum LockClauseStrength
+{
+ /* order is important -- see applyLockingClause */
+ LCS_FORKEYSHARE,
+ LCS_FORSHARE,
+ LCS_FORNOKEYUPDATE,
+ LCS_FORUPDATE
+} LockClauseStrength;
+
typedef struct LockingClause
{
NodeTag type;
- List *lockedRels; /* FOR UPDATE or FOR SHARE relations */
- bool forUpdate; /* true = FOR UPDATE, false = FOR SHARE */
+ List *lockedRels; /* FOR [KEY] UPDATE/SHARE relations */
+ LockClauseStrength strength;
bool noWait; /* NOWAIT option */
} LockingClause;
@@ -641,20 +675,20 @@ typedef struct XmlSerialize
*
* In RELATION RTEs, the colnames in both alias and eref are indexed by
* physical attribute number; this means there must be colname entries for
- * dropped columns. When building an RTE we insert empty strings ("") for
- * dropped columns. Note however that a stored rule may have nonempty
+ * dropped columns. When building an RTE we insert empty strings ("") for
+ * dropped columns. Note however that a stored rule may have nonempty
* colnames for columns dropped since the rule was created (and for that
* matter the colnames might be out of date due to column renamings).
- * The same comments apply to FUNCTION RTEs when the function's return type
+ * The same comments apply to FUNCTION RTEs when a function's return type
* is a named composite type.
*
* In JOIN RTEs, the colnames in both alias and eref are one-to-one with
* joinaliasvars entries. A JOIN RTE will omit columns of its inputs when
- * those columns are known to be dropped at parse time. Again, however,
+ * those columns are known to be dropped at parse time. Again, however,
* a stored rule might contain entries for columns dropped since the rule
- * was created. (This is only possible for columns not actually referenced
+ * was created. (This is only possible for columns not actually referenced
* in the rule.) When loading a stored rule, we replace the joinaliasvars
- * items for any such columns with NULL Consts. (We can't simply delete
+ * items for any such columns with null pointers. (We can't simply delete
* them from the joinaliasvars list, because that would affect the attnums
* of Vars referencing the rest of the list.)
*
@@ -671,7 +705,7 @@ typedef struct XmlSerialize
* decompiled queries.
*
* requiredPerms and checkAsUser specify run-time access permissions
- * checks to be performed at query startup. The user must have *all*
+ * checks to be performed at query startup. The user must have *all*
* of the permissions that are OR'd together in requiredPerms (zero
* indicates no permissions checking). If checkAsUser is not zero,
* then do the permissions checks using the access rights of that user,
@@ -720,34 +754,38 @@ typedef struct RangeTblEntry
* Fields valid for a subquery RTE (else NULL):
*/
Query *subquery; /* the sub-query */
- bool security_barrier; /* subquery from security_barrier view */
+ bool security_barrier; /* is from security_barrier view? */
/*
* Fields valid for a join RTE (else NULL/zero):
*
- * joinaliasvars is a list of Vars or COALESCE expressions corresponding
- * to the columns of the join result. An alias Var referencing column K
- * of the join result can be replaced by the K'th element of joinaliasvars
- * --- but to simplify the task of reverse-listing aliases correctly, we
- * do not do that until planning time. In a Query loaded from a stored
- * rule, it is also possible for joinaliasvars items to be NULL Consts,
- * denoting columns dropped since the rule was made.
+ * joinaliasvars is a list of (usually) Vars corresponding to the columns
+ * of the join result. An alias Var referencing column K of the join
+ * result can be replaced by the K'th element of joinaliasvars --- but to
+ * simplify the task of reverse-listing aliases correctly, we do not do
+ * that until planning time. In detail: an element of joinaliasvars can
+ * be a Var of one of the join's input relations, or such a Var with an
+ * implicit coercion to the join's output column type, or a COALESCE
+ * expression containing the two input column Vars (possibly coerced).
+ * Within a Query loaded from a stored rule, it is also possible for
+ * joinaliasvars items to be null pointers, which are placeholders for
+ * (necessarily unreferenced) columns dropped since the rule was made.
+ * Also, once planning begins, joinaliasvars items can be almost anything,
+ * as a result of subquery-flattening substitutions.
*/
JoinType jointype; /* type of join */
List *joinaliasvars; /* list of alias-var expansions */
/*
- * Fields valid for a function RTE (else NULL):
+ * Fields valid for a function RTE (else NIL/zero):
*
- * If the function returns RECORD, funccoltypes lists the column types
- * declared in the RTE's column type specification, funccoltypmods lists
- * their declared typmods, funccolcollations their collations. Otherwise,
- * those fields are NIL.
+ * When funcordinality is true, the eref->colnames list includes an alias
+ * for the ordinality column. The ordinality column is otherwise
+ * implicit, and must be accounted for "by hand" in places such as
+ * expandRTE().
*/
- Node *funcexpr; /* expression tree for func call */
- List *funccoltypes; /* OID list of column type OIDs */
- List *funccoltypmods; /* integer list of column typmods */
- List *funccolcollations; /* OID list of column collation OIDs */
+ List *functions; /* list of RangeTblFunction nodes */
+ bool funcordinality; /* is this called WITH ORDINALITY? */
/*
* Fields valid for a values RTE (else NIL):
@@ -770,15 +808,61 @@ typedef struct RangeTblEntry
*/
Alias *alias; /* user-written alias clause, if any */
Alias *eref; /* expanded reference names */
+ bool lateral; /* subquery, function, or values is LATERAL? */
bool inh; /* inheritance requested? */
bool inFromCl; /* present in FROM clause? */
AclMode requiredPerms; /* bitmask of required access permissions */
Oid checkAsUser; /* if valid, check access as this role */
Bitmapset *selectedCols; /* columns needing SELECT permission */
Bitmapset *modifiedCols; /* columns needing INSERT/UPDATE permission */
+ List *securityQuals; /* any security barrier quals to apply */
} RangeTblEntry;
/*
+ * RangeTblFunction -
+ * RangeTblEntry subsidiary data for one function in a FUNCTION RTE.
+ *
+ * If the function had a column definition list (required for an
+ * otherwise-unspecified RECORD result), funccolnames lists the names given
+ * in the definition list, funccoltypes lists their declared column types,
+ * funccoltypmods lists their typmods, funccolcollations their collations.
+ * Otherwise, those fields are NIL.
+ *
+ * Notice we don't attempt to store info about the results of functions
+ * returning named composite types, because those can change from time to
+ * time. We do however remember how many columns we thought the type had
+ * (including dropped columns!), so that we can successfully ignore any
+ * columns added after the query was parsed.
+ */
+typedef struct RangeTblFunction
+{
+ NodeTag type;
+
+ Node *funcexpr; /* expression tree for func call */
+ int funccolcount; /* number of columns it contributes to RTE */
+ /* These fields record the contents of a column definition list, if any: */
+ List *funccolnames; /* column names (list of String) */
+ List *funccoltypes; /* OID list of column type OIDs */
+ List *funccoltypmods; /* integer list of column typmods */
+ List *funccolcollations; /* OID list of column collation OIDs */
+ /* This is set during planning for use by the executor: */
+ Bitmapset *funcparams; /* PARAM_EXEC Param IDs affecting this func */
+} RangeTblFunction;
+
+/*
+ * WithCheckOption -
+ * representation of WITH CHECK OPTION checks to be applied to new tuples
+ * when inserting/updating an auto-updatable view.
+ */
+typedef struct WithCheckOption
+{
+ NodeTag type;
+ char *viewname; /* name of view that specified the WCO */
+ Node *qual; /* constraint qual to check */
+ bool cascaded; /* true = WITH CASCADED CHECK OPTION */
+} WithCheckOption;
+
+/*
* SortGroupClause -
* representation of ORDER BY, GROUP BY, PARTITION BY,
* DISTINCT, DISTINCT ON items
@@ -786,7 +870,7 @@ typedef struct RangeTblEntry
* You might think that ORDER BY is only interested in defining ordering,
* and GROUP/DISTINCT are only interested in defining equality. However,
* one way to implement grouping is to sort and then apply a "uniq"-like
- * filter. So it's also interesting to keep track of possible sort operators
+ * filter. So it's also interesting to keep track of possible sort operators
* for GROUP/DISTINCT, and in particular to try to sort for the grouping
* in a way that will also yield a requested ORDER BY ordering. So we need
* to be able to compare ORDER BY and GROUP/DISTINCT lists, which motivates
@@ -806,15 +890,15 @@ typedef struct RangeTblEntry
* here, but it's cheap to get it along with the sortop, and requiring it
* to be valid eases comparisons to grouping items.) Note that this isn't
* actually enough information to determine an ordering: if the sortop is
- * collation-sensitive, a collation OID is needed too. We don't store the
+ * collation-sensitive, a collation OID is needed too. We don't store the
* collation in SortGroupClause because it's not available at the time the
* parser builds the SortGroupClause; instead, consult the exposed collation
* of the referenced targetlist expression to find out what it is.
*
- * In a grouping item, eqop must be valid. If the eqop is a btree equality
+ * In a grouping item, eqop must be valid. If the eqop is a btree equality
* operator, then sortop should be set to a compatible ordering operator.
* We prefer to set eqop/sortop/nulls_first to match any ORDER BY item that
- * the query presents for the same tlist item. If there is none, we just
+ * the query presents for the same tlist item. If there is none, we just
* use the default ordering op for the datatype.
*
* If the tlist item's type has a hash opclass but no btree opclass, then
@@ -876,21 +960,21 @@ typedef struct WindowClause
/*
* RowMarkClause -
- * parser output representation of FOR UPDATE/SHARE clauses
+ * parser output representation of FOR [KEY] UPDATE/SHARE clauses
*
* Query.rowMarks contains a separate RowMarkClause node for each relation
- * identified as a FOR UPDATE/SHARE target. If FOR UPDATE/SHARE is applied
- * to a subquery, we generate RowMarkClauses for all normal and subquery rels
- * in the subquery, but they are marked pushedDown = true to distinguish them
- * from clauses that were explicitly written at this query level. Also,
- * Query.hasForUpdate tells whether there were explicit FOR UPDATE/SHARE
- * clauses in the current query level.
+ * identified as a FOR [KEY] UPDATE/SHARE target. If one of these clauses
+ * is applied to a subquery, we generate RowMarkClauses for all normal and
+ * subquery rels in the subquery, but they are marked pushedDown = true to
+ * distinguish them from clauses that were explicitly written at this query
+ * level. Also, Query.hasForUpdate tells whether there were explicit FOR
+ * UPDATE/SHARE/KEY SHARE clauses in the current query level.
*/
typedef struct RowMarkClause
{
NodeTag type;
Index rti; /* range table index of target relation */
- bool forUpdate; /* true = FOR UPDATE, false = FOR SHARE */
+ LockClauseStrength strength;
bool noWait; /* NOWAIT option */
bool pushedDown; /* pushed down from higher query level? */
} RowMarkClause;
@@ -1030,7 +1114,6 @@ typedef struct SelectStmt
List *groupClause; /* GROUP BY clauses */
Node *havingClause; /* HAVING conditional-expression */
List *windowClause; /* WINDOW window_name AS (...), ... */
- WithClause *withClause; /* WITH clause */
/*
* In a "leaf" node representing a VALUES list, the above fields are all
@@ -1050,6 +1133,7 @@ typedef struct SelectStmt
Node *limitOffset; /* # of result tuples to skip */
Node *limitCount; /* # of result tuples to return */
List *lockingClause; /* FOR UPDATE (list of LockingClause's) */
+ WithClause *withClause; /* WITH clause */
/*
* These fields are used only in upper-level SelectStmts.
@@ -1070,7 +1154,7 @@ typedef struct SelectStmt
* range table. Its setOperations field shows the tree of set operations,
* with leaf SelectStmt nodes replaced by RangeTblRef nodes, and internal
* nodes replaced by SetOperationStmt nodes. Information about the output
- * column types is added, too. (Note that the child nodes do not necessarily
+ * column types is added, too. (Note that the child nodes do not necessarily
* produce these types directly, but we've checked that their output types
* can be coerced to the output column type.) Also, if it's not UNION ALL,
* information about the types' sort/group semantics is provided in the form
@@ -1127,6 +1211,7 @@ typedef enum ObjectType
OBJECT_CONVERSION,
OBJECT_DATABASE,
OBJECT_DOMAIN,
+ OBJECT_EVENT_TRIGGER,
OBJECT_EXTENSION,
OBJECT_FDW,
OBJECT_FOREIGN_SERVER,
@@ -1135,6 +1220,7 @@ typedef enum ObjectType
OBJECT_INDEX,
OBJECT_LANGUAGE,
OBJECT_LARGEOBJECT,
+ OBJECT_MATVIEW,
OBJECT_OPCLASS,
OBJECT_OPERATOR,
OBJECT_OPFAMILY,
@@ -1167,6 +1253,7 @@ typedef struct CreateSchemaStmt
char *schemaname; /* the name of the schema to create */
char *authid; /* the owner of the created schema */
List *schemaElts; /* schema components (list of parsenodes) */
+ bool if_not_exists; /* just do nothing if schema already exists? */
} CreateSchemaStmt;
typedef enum DropBehavior
@@ -1206,6 +1293,8 @@ typedef enum AlterTableType
AT_ReAddIndex, /* internal to commands/tablecmds.c */
AT_AddConstraint, /* add constraint */
AT_AddConstraintRecurse, /* internal to commands/tablecmds.c */
+ AT_ReAddConstraint, /* internal to commands/tablecmds.c */
+ AT_AlterConstraint, /* alter constraint */
AT_ValidateConstraint, /* validate constraint */
AT_ValidateConstraintRecurse, /* internal to commands/tablecmds.c */
AT_ProcessedConstraint, /* pre-processed add constraint (local in
@@ -1241,11 +1330,17 @@ typedef enum AlterTableType
AT_DropInherit, /* NO INHERIT parent */
AT_AddOf, /* OF <type_name> */
AT_DropOf, /* NOT OF */
- AT_GenericOptions, /* OPTIONS (...) */
- /* this will be in a more natural position in 9.3: */
- AT_ReAddConstraint /* internal to commands/tablecmds.c */
+ AT_ReplicaIdentity, /* REPLICA IDENTITY */
+ AT_GenericOptions /* OPTIONS (...) */
} AlterTableType;
+typedef struct ReplicaIdentityStmt
+{
+ NodeTag type;
+ char identity_type;
+ char *name;
+} ReplicaIdentityStmt;
+
typedef struct AlterTableCmd /* one subcommand of an ALTER TABLE */
{
NodeTag type;
@@ -1365,7 +1460,7 @@ typedef struct AccessPriv
*
* Note: because of the parsing ambiguity with the GRANT <privileges>
* statement, granted_roles is a list of AccessPriv; the execution code
- * should complain if any column lists appear. grantee_roles is a list
+ * should complain if any column lists appear. grantee_roles is a list
* of role names, as Value strings.
* ----------------------
*/
@@ -1395,7 +1490,7 @@ typedef struct AlterDefaultPrivilegesStmt
* Copy Statement
*
* We support "COPY relation FROM file", "COPY relation TO file", and
- * "COPY (query) TO file". In any given CopyStmt, exactly one of "relation"
+ * "COPY (query) TO file". In any given CopyStmt, exactly one of "relation"
* and "query" must be non-NULL.
* ----------------------
*/
@@ -1407,6 +1502,7 @@ typedef struct CopyStmt
List *attlist; /* List of column names (as Strings), or NIL
* for all columns */
bool is_from; /* TO or FROM */
+ bool is_program; /* is 'filename' a program to popen? */
char *filename; /* filename, or NULL for STDIN/STDOUT */
List *options; /* List of DefElem nodes */
} CopyStmt;
@@ -1493,7 +1589,7 @@ typedef struct CreateStmt
*
* If skip_validation is true then we skip checking that the existing rows
* in the table satisfy the constraint, and just install the catalog entries
- * for the constraint. A new FK constraint is marked as valid iff
+ * for the constraint. A new FK constraint is marked as valid iff
* initially_valid is true. (Usually skip_validation and initially_valid
* are inverses, but we can set both true if the table is known empty.)
*
@@ -1506,7 +1602,8 @@ typedef struct CreateStmt
typedef enum ConstrType /* types of constraints */
{
- CONSTR_NULL, /* not SQL92, but a lot of people expect it */
+ CONSTR_NULL, /* not standard SQL, but a lot of people
+ * expect it */
CONSTR_NOTNULL,
CONSTR_DEFAULT,
CONSTR_CHECK,
@@ -1530,7 +1627,7 @@ typedef enum ConstrType /* types of constraints */
/* Foreign key matchtype codes */
#define FKCONSTR_MATCH_FULL 'f'
#define FKCONSTR_MATCH_PARTIAL 'p'
-#define FKCONSTR_MATCH_UNSPECIFIED 'u'
+#define FKCONSTR_MATCH_SIMPLE 's'
typedef struct Constraint
{
@@ -1566,10 +1663,11 @@ typedef struct Constraint
RangeVar *pktable; /* Primary key table */
List *fk_attrs; /* Attributes of foreign key */
List *pk_attrs; /* Corresponding attrs in PK table */
- char fk_matchtype; /* FULL, PARTIAL, UNSPECIFIED */
+ char fk_matchtype; /* FULL, PARTIAL, SIMPLE */
char fk_upd_action; /* ON UPDATE action */
char fk_del_action; /* ON DELETE action */
List *old_conpfeqop; /* pg_constraint.conpfeqop of my former self */
+ Oid old_pktable_oid; /* pg_constraint.confrelid of my former self */
/* Fields used for constraints that allow a NOT VALID specification */
bool skip_validation; /* skip validation of existing rows? */
@@ -1587,6 +1685,7 @@ typedef struct CreateTableSpaceStmt
char *tablespacename;
char *owner;
char *location;
+ List *options;
} CreateTableSpaceStmt;
typedef struct DropTableSpaceStmt
@@ -1604,6 +1703,17 @@ typedef struct AlterTableSpaceOptionsStmt
bool isReset;
} AlterTableSpaceOptionsStmt;
+typedef struct AlterTableSpaceMoveStmt
+{
+ NodeTag type;
+ char *orig_tablespacename;
+ ObjectType objtype; /* set to -1 if move_all is true */
+ bool move_all; /* move all, or just objtype objects? */
+ List *roles; /* List of roles to move objects of */
+ char *new_tablespacename;
+ bool nowait;
+} AlterTableSpaceMoveStmt;
+
/* ----------------------
* Create/Alter Extension Statements
* ----------------------
@@ -1747,6 +1857,32 @@ typedef struct CreateTrigStmt
} CreateTrigStmt;
/* ----------------------
+ * Create EVENT TRIGGER Statement
+ * ----------------------
+ */
+typedef struct CreateEventTrigStmt
+{
+ NodeTag type;
+ char *trigname; /* TRIGGER's name */
+ char *eventname; /* event's identifier */
+ List *whenclause; /* list of DefElems indicating filtering */
+ List *funcname; /* qual. name of function to call */
+} CreateEventTrigStmt;
+
+/* ----------------------
+ * Alter EVENT TRIGGER Statement
+ * ----------------------
+ */
+typedef struct AlterEventTrigStmt
+{
+ NodeTag type;
+ char *trigname; /* TRIGGER's name */
+ char tgenabled; /* trigger's firing configuration WRT
+ * session_replication_role */
+} AlterEventTrigStmt;
+
+/* ----------------------
+ * Create/Drop PROCEDURAL LANGUAGE Statements
* Create PROCEDURAL LANGUAGE Statements
* ----------------------
*/
@@ -1972,7 +2108,7 @@ typedef struct SecLabelStmt
* Declare Cursor Statement
*
* Note: the "query" field of DeclareCursorStmt is only used in the raw grammar
- * output. After parse analysis it's set to null, and the Query points to the
+ * output. After parse analysis it's set to null, and the Query points to the
* DeclareCursorStmt, not vice versa.
* ----------------------
*/
@@ -2154,7 +2290,6 @@ typedef struct AlterObjectSchemaStmt
RangeVar *relation; /* in case it's a table */
List *object; /* in case it's some other object */
List *objarg; /* argument types, if applicable */
- char *addname; /* additional name if needed */
char *newschema; /* the new schema */
bool missing_ok; /* skip error if missing? */
} AlterObjectSchemaStmt;
@@ -2170,7 +2305,6 @@ typedef struct AlterOwnerStmt
RangeVar *relation; /* in case it's a table */
List *object; /* in case it's some other object */
List *objarg; /* argument types, if applicable */
- char *addname; /* additional name if needed */
char *newowner; /* the new owner */
} AlterOwnerStmt;
@@ -2292,12 +2426,20 @@ typedef struct AlterEnumStmt
char *newVal; /* new enum value's name */
char *newValNeighbor; /* neighboring enum value, if specified */
bool newValIsAfter; /* place new enum value after neighbor? */
+ bool skipIfExists; /* no error if label already exists */
} AlterEnumStmt;
/* ----------------------
* Create View Statement
* ----------------------
*/
+typedef enum ViewCheckOption
+{
+ NO_CHECK_OPTION,
+ LOCAL_CHECK_OPTION,
+ CASCADED_CHECK_OPTION
+} ViewCheckOption;
+
typedef struct ViewStmt
{
NodeTag type;
@@ -2306,6 +2448,7 @@ typedef struct ViewStmt
Node *query; /* the SELECT query */
bool replace; /* replace an existing view? */
List *options; /* options from WITH clause */
+ ViewCheckOption withCheckOption; /* WITH CHECK OPTION */
} ViewStmt;
/* ----------------------
@@ -2359,6 +2502,16 @@ typedef struct DropdbStmt
} DropdbStmt;
/* ----------------------
+ * Alter System Statement
+ * ----------------------
+ */
+typedef struct AlterSystemStmt
+{
+ NodeTag type;
+ VariableSetStmt *setstmt; /* SET subcommand */
+} AlterSystemStmt;
+
+/* ----------------------
* Cluster Statement (support pbrown's cluster index implementation)
* ----------------------
*/
@@ -2396,6 +2549,10 @@ typedef struct VacuumStmt
int options; /* OR of VacuumOption flags */
int freeze_min_age; /* min freeze age, or -1 to use default */
int freeze_table_age; /* age at which to scan whole table */
+ int multixact_freeze_min_age; /* min multixact freeze age,
+ * or -1 to use default */
+ int multixact_freeze_table_age; /* multixact age at which to
+ * scan whole table */
RangeVar *relation; /* single table to process, or NULL */
List *va_cols; /* list of column names, or NIL for all */
} VacuumStmt;
@@ -2421,6 +2578,8 @@ typedef struct ExplainStmt
* A query written as CREATE TABLE AS will produce this node type natively.
* A query written as SELECT ... INTO will be transformed to this form during
* parse analysis.
+ * A query written as CREATE MATERIALIZED view will produce this node type,
+ * during parse analysis, since it needs all the same data.
*
* The "query" field is handled similarly to EXPLAIN, though note that it
* can be a SELECT or an EXECUTE, but not other DML statements.
@@ -2431,10 +2590,23 @@ typedef struct CreateTableAsStmt
NodeTag type;
Node *query; /* the query (see comments above) */
IntoClause *into; /* destination table */
+ ObjectType relkind; /* OBJECT_TABLE or OBJECT_MATVIEW */
bool is_select_into; /* it was written as SELECT INTO */
} CreateTableAsStmt;
/* ----------------------
+ * REFRESH MATERIALIZED VIEW Statement
+ * ----------------------
+ */
+typedef struct RefreshMatViewStmt
+{
+ NodeTag type;
+ bool concurrent; /* allow concurrent access? */
+ bool skipData; /* true for WITH NO DATA */
+ RangeVar *relation; /* relation to insert into */
+} RefreshMatViewStmt;
+
+/* ----------------------
* Checkpoint Statement
* ----------------------
*/
@@ -2452,6 +2624,7 @@ typedef enum DiscardMode
{
DISCARD_ALL,
DISCARD_PLANS,
+ DISCARD_SEQUENCES,
DISCARD_TEMP
} DiscardMode;
@@ -2491,7 +2664,7 @@ typedef struct ConstraintsSetStmt
typedef struct ReindexStmt
{
NodeTag type;
- ObjectType kind; /* OBJECT_INDEX, OBJECT_TABLE, OBJECT_DATABASE */
+ ObjectType kind; /* OBJECT_INDEX, OBJECT_TABLE, etc. */
RangeVar *relation; /* Table or index to reindex */
const char *name; /* name of database to reindex */
bool do_system; /* include system tables in database case */
diff --git a/src/include/parser/parser.h b/src/include/parser/parser.h
index 5fa00a0..fcfa4fd 100644
--- a/src/include/parser/parser.h
+++ b/src/include/parser/parser.h
@@ -5,8 +5,8 @@
*
* This is the external API for the raw lexing/parsing functions.
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/parser/parser.h
@@ -16,7 +16,6 @@
#ifndef PARSER_H
#define PARSER_H
-#include "pg_list.h"
#include "parsenodes.h"
@@ -35,7 +34,6 @@ extern PGDLLIMPORT bool standard_conforming_strings;
/* Primary entry point for the raw parsing functions */
extern List *raw_parser(const char *str);
-extern void free_parser(void);
/* Utility functions exported by gram.y (perhaps these should be elsewhere) */
extern List *SystemFuncName(char *name);
diff --git a/src/include/parser/pg_list.h b/src/include/parser/pg_list.h
index 801af06..7a5f00f 100644
--- a/src/include/parser/pg_list.h
+++ b/src/include/parser/pg_list.h
@@ -26,14 +26,9 @@
* (At the moment, ints and Oids are the same size, but they may not
* always be so; try to be careful to maintain the distinction.)
*
- * There is also limited support for lists of TransactionIds; since these
- * are used in only one or two places, we don't provide a full implementation,
- * but map them onto Oid lists. This effectively assumes that TransactionId
- * is no wider than Oid and both are unsigned types.
*
- *
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/nodes/pg_list.h
@@ -47,7 +42,6 @@
#include "pool_parser.h"
#include "nodes.h"
-
typedef struct ListCell ListCell;
typedef struct List
@@ -79,34 +73,34 @@ struct ListCell
/*
* These routines are used frequently. However, we can't implement
* them as macros, since we want to avoid double-evaluation of macro
- * arguments. Therefore, we implement them using GCC inline functions,
- * and as regular functions with non-GCC compilers.
+ * arguments. Therefore, we implement them using static inline functions
+ * if supported by the compiler, or as regular functions otherwise.
+ * See STATIC_IF_INLINE in c.h.
*/
-#ifdef __GNUC__
-
-static __inline__ ListCell *
+#ifndef PG_USE_INLINE
+extern ListCell *list_head(const List *l);
+extern ListCell *list_tail(List *l);
+extern int list_length(const List *l);
+#endif /* PG_USE_INLINE */
+#if defined(PG_USE_INLINE) || defined(PG_LIST_INCLUDE_DEFINITIONS)
+STATIC_IF_INLINE ListCell *
list_head(const List *l)
{
return l ? l->head : NULL;
}
-static __inline__ ListCell *
+STATIC_IF_INLINE ListCell *
list_tail(List *l)
{
return l ? l->tail : NULL;
}
-static __inline__ int
-list_length(List *l)
+STATIC_IF_INLINE int
+list_length(const List *l)
{
return l ? l->length : 0;
}
-#else
-
-extern ListCell *list_head(const List *l);
-extern ListCell *list_tail(List *l);
-extern int list_length(const List *l);
-#endif /* __GNUC__ */
+#endif /*-- PG_USE_INLINE || PG_LIST_INCLUDE_DEFINITIONS */
/*
* NB: There is an unfortunate legacy from a previous incarnation of
@@ -163,12 +157,6 @@ extern int list_length(const List *l);
#define list_make4_oid(x1,x2,x3,x4) lcons_oid(x1, list_make3_oid(x2, x3, x4))
/*
- * Limited support for lists of TransactionIds, mapped onto lists of Oids
- */
-#define lfirst_xid(lc) ((TransactionId) lfirst_oid(lc))
-#define lappend_xid(list, datum) lappend_oid(list, (Oid) (datum))
-
-/*
* foreach -
* a convenience macro which loops through the list
*/
@@ -205,24 +193,6 @@ extern int list_length(const List *l);
(cell1) != NULL && (cell2) != NULL && (cell3) != NULL; \
(cell1) = lnext(cell1), (cell2) = lnext(cell2), (cell3) = lnext(cell3))
-/*
- * forthree -
- * the same for three lists
- */
-#define forthree(cell1, list1, cell2, list2, cell3, list3) \
- for ((cell1) = list_head(list1), (cell2) = list_head(list2), (cell3) = list_head(list3); \
- (cell1) != NULL && (cell2) != NULL && (cell3) != NULL; \
- (cell1) = lnext(cell1), (cell2) = lnext(cell2), (cell3) = lnext(cell3))
-
-/*
- * forthree -
- * the same for three lists
- */
-#define forthree(cell1, list1, cell2, list2, cell3, list3) \
- for ((cell1) = list_head(list1), (cell2) = list_head(list2), (cell3) = list_head(list3); \
- (cell1) != NULL && (cell2) != NULL && (cell3) != NULL; \
- (cell1) = lnext(cell1), (cell2) = lnext(cell2), (cell3) = lnext(cell3))
-
extern List *lappend(List *list, void *datum);
extern List *lappend_int(List *list, int datum);
extern List *lappend_oid(List *list, Oid datum);
@@ -259,6 +229,10 @@ extern List *list_union_ptr(const List *list1, const List *list2);
extern List *list_union_int(const List *list1, const List *list2);
extern List *list_union_oid(const List *list1, const List *list2);
+extern List *list_intersection(const List *list1, const List *list2);
+
+/* currently, there's no need for list_intersection_int etc */
+
extern List *list_difference(const List *list1, const List *list2);
extern List *list_difference_ptr(const List *list1, const List *list2);
extern List *list_difference_int(const List *list1, const List *list2);
diff --git a/src/include/parser/pg_wchar.h b/src/include/parser/pg_wchar.h
index 8379313..3813760 100644
--- a/src/include/parser/pg_wchar.h
+++ b/src/include/parser/pg_wchar.h
@@ -3,15 +3,15 @@
* pg_wchar.h
* multibyte-character support
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/mb/pg_wchar.h
*
* NOTES
* This is used both by the backend and by libpq, but should not be
- * included by libpq client programs. In particular, a libpq client
+ * included by libpq client programs. In particular, a libpq client
* should not assume that the encoding IDs used by the version of libpq
* it's linked to match up with the IDs declared here.
*
@@ -26,6 +26,11 @@
typedef unsigned int pg_wchar;
/*
+ * Maximum byte length of multibyte characters in any backend encoding
+ */
+#define MAX_MULTIBYTE_CHAR_LEN 4
+
+/*
* various definitions for EUC
*/
#define SS2 0x8e /* single shift 2 (JIS0201) */
@@ -37,48 +42,63 @@ typedef unsigned int pg_wchar;
#define ISSJISHEAD(c) (((c) >= 0x81 && (c) <= 0x9f) || ((c) >= 0xe0 && (c) <= 0xfc))
#define ISSJISTAIL(c) (((c) >= 0x40 && (c) <= 0x7e) || ((c) >= 0x80 && (c) <= 0xfc))
-/*
- * Leading byte types or leading prefix byte for MULE internal code.
- * See http://www.xemacs.org for more details. (there is a doc titled
- * "XEmacs Internals Manual", "MULE Character Sets and Encodings"
- * section.)
- */
-/*
- * Is a leading byte for "official" single byte encodings?
- */
-#define IS_LC1(c) ((unsigned char)(c) >= 0x81 && (unsigned char)(c) <= 0x8d)
-/*
- * Is a prefix byte for "private" single byte encodings?
- */
-#define LCPRV1_A 0x9a
-#define LCPRV1_B 0x9b
-#define IS_LCPRV1(c) ((unsigned char)(c) == LCPRV1_A || (unsigned char)(c) == LCPRV1_B)
-#define IS_LCPRV1_A_RANGE(c) \
- ((unsigned char)(c) >= 0xa0 && (unsigned char)(c) <= 0xdf)
-#define IS_LCPRV1_B_RANGE(c) \
- ((unsigned char)(c) >= 0xe0 && (unsigned char)(c) <= 0xef)
-/*
- * Is a leading byte for "official" multibyte encodings?
- */
-#define IS_LC2(c) ((unsigned char)(c) >= 0x90 && (unsigned char)(c) <= 0x99)
-/*
- * Is a prefix byte for "private" multibyte encodings?
- */
-#define LCPRV2_A 0x9c
-#define LCPRV2_B 0x9d
-#define IS_LCPRV2(c) ((unsigned char)(c) == LCPRV2_A || (unsigned char)(c) == LCPRV2_B)
-#define IS_LCPRV2_A_RANGE(c) \
- ((unsigned char)(c) >= 0xf0 && (unsigned char)(c) <= 0xf4)
-#define IS_LCPRV2_B_RANGE(c) \
- ((unsigned char)(c) >= 0xf5 && (unsigned char)(c) <= 0xfe)
-
/*----------------------------------------------------
- * leading characters
+ * MULE Internal Encoding (MIC)
+ *
+ * This encoding follows the design used within XEmacs; it is meant to
+ * subsume many externally-defined character sets. Each character includes
+ * identification of the character set it belongs to, so the encoding is
+ * general but somewhat bulky.
+ *
+ * Currently PostgreSQL supports 5 types of MULE character sets:
+ *
+ * 1) 1-byte ASCII characters. Each byte is below 0x80.
+ *
+ * 2) "Official" single byte charsets such as ISO-8859-1 (Latin1).
+ * Each MULE character consists of 2 bytes: LC1 + C1, where LC1 is
+ * an identifier for the charset (in the range 0x81 to 0x8d) and C1
+ * is the character code (in the range 0xa0 to 0xff).
+ *
+ * 3) "Private" single byte charsets such as SISHENG. Each MULE
+ * character consists of 3 bytes: LCPRV1 + LC12 + C1, where LCPRV1
+ * is a private-charset flag, LC12 is an identifier for the charset,
+ * and C1 is the character code (in the range 0xa0 to 0xff).
+ * LCPRV1 is either 0x9a (if LC12 is in the range 0xa0 to 0xdf)
+ * or 0x9b (if LC12 is in the range 0xe0 to 0xef).
+ *
+ * 4) "Official" multibyte charsets such as JIS X0208. Each MULE
+ * character consists of 3 bytes: LC2 + C1 + C2, where LC2 is
+ * an identifier for the charset (in the range 0x90 to 0x99) and C1
+ * and C2 form the character code (each in the range 0xa0 to 0xff).
+ *
+ * 5) "Private" multibyte charsets such as CNS 11643-1992 Plane 3.
+ * Each MULE character consists of 4 bytes: LCPRV2 + LC22 + C1 + C2,
+ * where LCPRV2 is a private-charset flag, LC22 is an identifier for
+ * the charset, and C1 and C2 form the character code (each in the range
+ * 0xa0 to 0xff). LCPRV2 is either 0x9c (if LC22 is in the range 0xf0
+ * to 0xf4) or 0x9d (if LC22 is in the range 0xf5 to 0xfe).
+ *
+ * "Official" encodings are those that have been assigned code numbers by
+ * the XEmacs project; "private" encodings have Postgres-specific charset
+ * identifiers.
+ *
+ * See the "XEmacs Internals Manual", available at http://www.xemacs.org,
+ * for more details. Note that for historical reasons, Postgres'
+ * private-charset flag values do not match what XEmacs says they should be,
+ * so this isn't really exactly MULE (not that private charsets would be
+ * interoperable anyway).
+ *
+ * Note that XEmacs's implementation is different from what emacs does.
+ * We follow emacs's implementaion, rathter than XEmacs's.
*----------------------------------------------------
*/
/*
- * Official single byte encodings (0x81-0x8e)
+ * Charset identifiers (also called "leading bytes" in the MULE documentation)
+ */
+
+/*
+ * Charset IDs for official single byte encodings (0x81-0x8e)
*/
#define LC_ISO8859_1 0x81 /* ISO8859 Latin 1 */
#define LC_ISO8859_2 0x82 /* ISO8859 Latin 2 */
@@ -92,37 +112,62 @@ typedef unsigned int pg_wchar;
#define LC_JISX0201R 0x8a /* Japanese 1 byte Roman */
/* Note that 0x8b seems to be unused as of Emacs 20.7.
* However, there might be a chance that 0x8b could be used
- * in later version of Emacs.
+ * in later versions of Emacs.
*/
#define LC_KOI8_R 0x8b /* Cyrillic KOI8-R */
-#define LC_KOI8_U 0x8b /* Cyrillic KOI8-U */
#define LC_ISO8859_5 0x8c /* ISO8859 Cyrillic */
#define LC_ISO8859_9 0x8d /* ISO8859 Latin 5 (not supported yet) */
-/* #define FREE 0x8e free (unused) */
+#define LC_ISO8859_15 0x8e /* ISO8859 Latin 15 (not supported yet) */
+/* #define CONTROL_1 0x8f control characters (unused) */
-/*
- * Unused
- */
-#define CONTROL_1 0x8f /* control characters (unused) */
+/* Is a leading byte for "official" single byte encodings? */
+#define IS_LC1(c) ((unsigned char)(c) >= 0x81 && (unsigned char)(c) <= 0x8d)
/*
- * Official multibyte byte encodings (0x90-0x99)
+ * Charset IDs for official multibyte encodings (0x90-0x99)
* 0x9a-0x9d are free. 0x9e and 0x9f are reserved.
*/
#define LC_JISX0208_1978 0x90 /* Japanese Kanji, old JIS (not supported) */
-/* #define FREE 0x90 free (unused) */
#define LC_GB2312_80 0x91 /* Chinese */
#define LC_JISX0208 0x92 /* Japanese Kanji (JIS X 0208) */
#define LC_KS5601 0x93 /* Korean */
#define LC_JISX0212 0x94 /* Japanese Kanji (JIS X 0212) */
#define LC_CNS11643_1 0x95 /* CNS 11643-1992 Plane 1 */
#define LC_CNS11643_2 0x96 /* CNS 11643-1992 Plane 2 */
-/* #define FREE 0x97 free (unused) */
+#define LC_JISX0213_1 0x97/* Japanese Kanji (JIS X 0213 Plane 1) (not
+ * supported) */
#define LC_BIG5_1 0x98 /* Plane 1 Chinese traditional (not supported) */
#define LC_BIG5_2 0x99 /* Plane 1 Chinese traditional (not supported) */
+/* Is a leading byte for "official" multibyte encodings? */
+#define IS_LC2(c) ((unsigned char)(c) >= 0x90 && (unsigned char)(c) <= 0x99)
+
+/*
+ * Postgres-specific prefix bytes for "private" single byte encodings
+ * (According to the MULE docs, we should be using 0x9e for this)
+ */
+#define LCPRV1_A 0x9a
+#define LCPRV1_B 0x9b
+#define IS_LCPRV1(c) ((unsigned char)(c) == LCPRV1_A || (unsigned char)(c) == LCPRV1_B)
+#define IS_LCPRV1_A_RANGE(c) \
+ ((unsigned char)(c) >= 0xa0 && (unsigned char)(c) <= 0xdf)
+#define IS_LCPRV1_B_RANGE(c) \
+ ((unsigned char)(c) >= 0xe0 && (unsigned char)(c) <= 0xef)
+
+/*
+ * Postgres-specific prefix bytes for "private" multibyte encodings
+ * (According to the MULE docs, we should be using 0x9f for this)
+ */
+#define LCPRV2_A 0x9c
+#define LCPRV2_B 0x9d
+#define IS_LCPRV2(c) ((unsigned char)(c) == LCPRV2_A || (unsigned char)(c) == LCPRV2_B)
+#define IS_LCPRV2_A_RANGE(c) \
+ ((unsigned char)(c) >= 0xf0 && (unsigned char)(c) <= 0xf4)
+#define IS_LCPRV2_B_RANGE(c) \
+ ((unsigned char)(c) >= 0xf5 && (unsigned char)(c) <= 0xfe)
+
/*
- * Private single byte encodings (0xa0-0xef)
+ * Charset IDs for private single byte encodings (0xa0-0xef)
*/
#define LC_SISHENG 0xa0/* Chinese SiSheng characters for
* PinYin/ZhuYin (not supported) */
@@ -142,24 +187,36 @@ typedef unsigned int pg_wchar;
#define LC_ARABIC_2_COLUMN 0xa8 /* Arabic 1-column (not supported) */
/*
- * Private multibyte encodings (0xf0-0xff)
+ * Charset IDs for private multibyte encodings (0xf0-0xff)
*/
-#define LC_INDIAN_1_COLUMN 0xf0/* Indian charset for 1-column width glypps
+#define LC_INDIAN_1_COLUMN 0xf0/* Indian charset for 1-column width glyphs
* (not supported) */
-#define LC_TIBETAN_1_COLUMN 0xf1 /* Tibetan 1 column glyph (not supported) */
+#define LC_TIBETAN_1_COLUMN 0xf1/* Tibetan 1-column width glyphs (not
+ * supported) */
+#define LC_UNICODE_SUBSET_2 0xf2/* Unicode characters of the range
+ * U+2500..U+33FF. (not supported) */
+#define LC_UNICODE_SUBSET_3 0xf3/* Unicode characters of the range
+ * U+E000..U+FFFF. (not supported) */
+#define LC_UNICODE_SUBSET 0xf4/* Unicode characters of the range
+ * U+0100..U+24FF. (not supported) */
#define LC_ETHIOPIC 0xf5 /* Ethiopic characters (not supported) */
#define LC_CNS11643_3 0xf6 /* CNS 11643-1992 Plane 3 */
#define LC_CNS11643_4 0xf7 /* CNS 11643-1992 Plane 4 */
#define LC_CNS11643_5 0xf8 /* CNS 11643-1992 Plane 5 */
#define LC_CNS11643_6 0xf9 /* CNS 11643-1992 Plane 6 */
#define LC_CNS11643_7 0xfa /* CNS 11643-1992 Plane 7 */
-#define LC_INDIAN_2_COLUMN 0xfb/* Indian charset for 2-column width glypps
+#define LC_INDIAN_2_COLUMN 0xfb/* Indian charset for 2-column width glyphs
* (not supported) */
#define LC_TIBETAN 0xfc /* Tibetan (not supported) */
/* #define FREE 0xfd free (unused) */
/* #define FREE 0xfe free (unused) */
/* #define FREE 0xff free (unused) */
+/*----------------------------------------------------
+ * end of MULE stuff
+ *----------------------------------------------------
+ */
+
/*
* PostgreSQL encoding identifiers
*
@@ -217,7 +274,7 @@ typedef enum pg_enc
/* PG_ENCODING_BE_LAST points to the above entry */
/* followings are for client encoding only */
- PG_SJIS, /* Shift JIS (Winindows-932) */
+ PG_SJIS, /* Shift JIS (Windows-932) */
PG_BIG5, /* Big5 (Windows-950) */
PG_GBK, /* GBK (Windows-936) */
PG_UHC, /* UHC (Windows-949) */
@@ -247,33 +304,23 @@ typedef enum pg_enc
#define PG_VALID_FE_ENCODING(_enc) PG_VALID_ENCODING(_enc)
/*
- * Encoding names with all aliases
- */
-typedef struct pg_encname
-{
- char *name;
- pg_enc encoding;
-} pg_encname;
-
-extern pg_encname pg_encname_tbl[];
-extern unsigned int pg_encname_tbl_sz;
-
-/*
- * Careful:
+ * Table for mapping an encoding number to official encoding name and
+ * possibly other subsidiary data. Be careful to check encoding number
+ * before accessing a table entry!
*
* if (PG_VALID_ENCODING(encoding))
* pg_enc2name_tbl[ encoding ];
*/
typedef struct pg_enc2name
{
- char *name;
+ const char *name;
pg_enc encoding;
#ifdef WIN32
unsigned codepage; /* codepage for WIN32 */
#endif
} pg_enc2name;
-extern pg_enc2name pg_enc2name_tbl[];
+extern const pg_enc2name pg_enc2name_tbl[];
/*
* Encoding names for gettext
@@ -284,14 +331,14 @@ typedef struct pg_enc2gettext
const char *name;
} pg_enc2gettext;
-extern pg_enc2gettext pg_enc2gettext_tbl[];
+extern const pg_enc2gettext pg_enc2gettext_tbl[];
/*
* pg_wchar stuff
*/
typedef int (*mb2wchar_with_len_converter) (const unsigned char *from,
- pg_wchar *to,
- int len);
+ pg_wchar *to,
+ int len);
typedef int (*wchar2mb_with_len_converter) (const pg_wchar *from,
unsigned char *to,
@@ -307,17 +354,17 @@ typedef int (*mbverifier) (const unsigned char *mbstr, int len);
typedef struct
{
- mb2wchar_with_len_converter mb2wchar_with_len; /* convert a multibyte
- * string to a wchar */
- wchar2mb_with_len_converter wchar2mb_with_len; /* convert a wchar
- * string to a multibyte */
+ mb2wchar_with_len_converter mb2wchar_with_len; /* convert a multibyte
+ * string to a wchar */
+ wchar2mb_with_len_converter wchar2mb_with_len; /* convert a wchar
+ * string to a multibyte */
mblen_converter mblen; /* get byte length of a char */
mbdisplaylen_converter dsplen; /* get display width of a char */
mbverifier mbverify; /* verify multibyte sequence */
int maxmblen; /* max bytes for a char in this encoding */
} pg_wchar_tbl;
-extern pg_wchar_tbl pg_wchar_table[];
+extern const pg_wchar_tbl pg_wchar_table[];
/*
* UTF-8 to local code conversion map
@@ -385,8 +432,6 @@ extern int pg_valid_server_encoding_id(int encoding);
* Remaining functions are not considered part of libpq's API, though many
* of them do exist inside libpq.
*/
-extern pg_encname *pg_char_to_encname_struct(const char *name);
-
extern int pg_mb2wchar(const char *from, pg_wchar *to);
extern int pg_mb2wchar_with_len(const char *from, pg_wchar *to, int len);
extern int pg_encoding_mb2wchar_with_len(int encoding,
@@ -425,8 +470,12 @@ extern const char *pg_get_client_encoding_name(void);
extern void SetDatabaseEncoding(int encoding);
extern int GetDatabaseEncoding(void);
extern const char *GetDatabaseEncodingName(void);
-extern int GetPlatformEncoding(void);
-extern void pg_bind_textdomain_codeset(const char *domainname);
+extern void SetMessageEncoding(int encoding);
+extern int GetMessageEncoding(void);
+
+#ifdef ENABLE_NLS
+extern int pg_bind_textdomain_codeset(const char *domainname);
+#endif
extern int pg_valid_client_encoding(const char *name);
extern int pg_valid_server_encoding(const char *name);
@@ -466,9 +515,9 @@ extern void check_encoding_conversion_args(int src_encoding,
int expected_src_encoding,
int expected_dest_encoding);
-extern void report_invalid_encoding(int encoding, const char *mbstr, int len);
+extern void report_invalid_encoding(int encoding, const char *mbstr, int len) __attribute__((noreturn));
extern void report_untranslatable_char(int src_encoding, int dest_encoding,
- const char *mbstr, int len);
+ const char *mbstr, int len) __attribute__((noreturn));
extern void pg_ascii2mic(const unsigned char *l, unsigned char *p, int len);
extern void pg_mic2ascii(const unsigned char *mic, unsigned char *p, int len);
@@ -486,7 +535,7 @@ extern void mic2latin_with_table(const unsigned char *mic, unsigned char *p,
extern bool pg_utf8_islegal(const unsigned char *source, int length);
#ifdef WIN32
-extern WCHAR *pgwin32_toUTF16(const char *str, int len, int *utf16len);
+extern WCHAR *pgwin32_message_to_UTF16(const char *str, int len, int *utf16len);
#endif
#endif /* PG_WCHAR_H */
diff --git a/src/include/parser/pool_parser.h b/src/include/parser/pool_parser.h
index e2fe2d7..896eacb 100644
--- a/src/include/parser/pool_parser.h
+++ b/src/include/parser/pool_parser.h
@@ -2,7 +2,7 @@
/*
* $Header$
*
- * Copyright (c) 2006-2009, pgpool Global Development Group
+ * Copyright (c) 2006-2014, pgpool Global Development Group
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose and without fee is hereby
diff --git a/src/include/parser/primnodes.h b/src/include/parser/primnodes.h
index d1dc158..0f0be10 100644
--- a/src/include/parser/primnodes.h
+++ b/src/include/parser/primnodes.h
@@ -6,9 +6,8 @@
* Currently, these are mostly nodes for executable expressions
* and join trees.
*
- *
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group *
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/nodes/primnodes.h
@@ -33,7 +32,7 @@
*
* Note: colnames is a list of Value nodes (always strings). In Alias structs
* associated with RTEs, there may be entries corresponding to dropped
- * columns; these are normally empty strings (""). See parsenodes.h for info.
+ * columns; these are normally empty strings (""). See parsenodes.h for info.
*/
typedef struct Alias
{
@@ -80,7 +79,12 @@ typedef struct RangeVar
} RangeVar;
/*
- * IntoClause - target information for SELECT INTO and CREATE TABLE AS
+ * IntoClause - target information for SELECT INTO, CREATE TABLE AS, and
+ * CREATE MATERIALIZED VIEW
+ *
+ * For CREATE MATERIALIZED VIEW, viewQuery is the parsed-but-not-rewritten
+ * SELECT Query for the view; otherwise it's NULL. (Although it's actually
+ * Query*, we declare it as Node* to avoid a forward reference.)
*/
typedef struct IntoClause
{
@@ -91,6 +95,7 @@ typedef struct IntoClause
List *options; /* options from WITH clause */
OnCommitAction onCommit; /* what do we do at COMMIT? */
char *tableSpaceName; /* table space to use, or NULL */
+ Node *viewQuery; /* materialized view's SELECT query */
bool skipData; /* true for WITH NO DATA */
} IntoClause;
@@ -219,17 +224,24 @@ typedef struct Param
/*
* Aggref
*
- * The aggregate's args list is a targetlist, ie, a list of TargetEntry nodes
- * (before Postgres 9.0 it was just bare expressions). The non-resjunk TLEs
+ * The aggregate's args list is a targetlist, ie, a list of TargetEntry nodes.
+ *
+ * For a normal (non-ordered-set) aggregate, the non-resjunk TargetEntries
* represent the aggregate's regular arguments (if any) and resjunk TLEs can
* be added at the end to represent ORDER BY expressions that are not also
* arguments. As in a top-level Query, the TLEs can be marked with
* ressortgroupref indexes to let them be referenced by SortGroupClause
* entries in the aggorder and/or aggdistinct lists. This represents ORDER BY
* and DISTINCT operations to be applied to the aggregate input rows before
- * they are passed to the transition function. The grammar only allows a
+ * they are passed to the transition function. The grammar only allows a
* simple "DISTINCT" specifier for the arguments, but we use the full
* query-level representation to allow more code sharing.
+ *
+ * For an ordered-set aggregate, the args list represents the WITHIN GROUP
+ * (aggregated) arguments, all of which will be listed in the aggorder list.
+ * DISTINCT is not supported in this case, so aggdistinct will be NIL.
+ * The direct arguments appear in aggdirectargs (as a list of plain
+ * expressions, not TargetEntry nodes).
*/
typedef struct Aggref
{
@@ -238,10 +250,15 @@ typedef struct Aggref
Oid aggtype; /* type Oid of result of the aggregate */
Oid aggcollid; /* OID of collation of result */
Oid inputcollid; /* OID of collation that function should use */
- List *args; /* arguments and sort expressions */
+ List *aggdirectargs; /* direct arguments, if an ordered-set agg */
+ List *args; /* aggregated arguments and sort expressions */
List *aggorder; /* ORDER BY (list of SortGroupClause) */
List *aggdistinct; /* DISTINCT (list of SortGroupClause) */
+ Expr *aggfilter; /* FILTER expression, if any */
bool aggstar; /* TRUE if argument list was really '*' */
+ bool aggvariadic; /* true if variadic arguments have been
+ * combined into an array last argument */
+ char aggkind; /* aggregate kind (see pg_aggregate.h) */
Index agglevelsup; /* > 0 if agg belongs to outer query */
int location; /* token location, or -1 if unknown */
} Aggref;
@@ -257,6 +274,7 @@ typedef struct WindowFunc
Oid wincollid; /* OID of collation of result */
Oid inputcollid; /* OID of collation that function should use */
List *args; /* arguments to the window function */
+ Expr *aggfilter; /* FILTER expression, if any */
Index winref; /* index of associated WindowClause */
bool winstar; /* TRUE if argument list was really '*' */
bool winagg; /* is function a simple aggregate? */
@@ -274,7 +292,7 @@ typedef struct WindowFunc
* entire new modified array value.
*
* If reflowerindexpr = NIL, then we are fetching or storing a single array
- * element at the subscripts given by refupperindexpr. Otherwise we are
+ * element at the subscripts given by refupperindexpr. Otherwise we are
* fetching or storing an array slice, that is a rectangular subarray
* with lower and upper bounds given by the index expressions.
* reflowerindexpr must be the same length as refupperindexpr when it
@@ -316,7 +334,7 @@ typedef enum CoercionContext
} CoercionContext;
/*
- * CoercionForm - information showing how to display a function-call node
+ * CoercionForm - how to display a node that could have come from a cast
*
* NB: equal() ignores CoercionForm fields, therefore this *must* not carry
* any semantically significant information. We need that behavior so that
@@ -328,8 +346,7 @@ typedef enum CoercionForm
{
COERCE_EXPLICIT_CALL, /* display as a function call */
COERCE_EXPLICIT_CAST, /* display as an explicit cast */
- COERCE_IMPLICIT_CAST, /* implicit cast, so hide it */
- COERCE_DONTCARE /* special case for planner */
+ COERCE_IMPLICIT_CAST /* implicit cast, so hide it */
} CoercionForm;
/*
@@ -341,6 +358,8 @@ typedef struct FuncExpr
Oid funcid; /* PG_PROC OID of the function */
Oid funcresulttype; /* PG_TYPE OID of result value */
bool funcretset; /* true if function returns set */
+ bool funcvariadic; /* true if variadic arguments have been
+ * combined into an array last argument */
CoercionForm funcformat; /* how to display this function call */
Oid funccollid; /* OID of collation of result */
Oid inputcollid; /* OID of collation that function should use */
@@ -439,7 +458,7 @@ typedef struct ScalarArrayOpExpr
*
* Notice the arguments are given as a List. For NOT, of course the list
* must always have exactly one element. For AND and OR, the executor can
- * handle any number of arguments. The parser generally treats AND and OR
+ * handle any number of arguments. The parser generally treats AND and OR
* as binary and so it typically only produces two-element lists, but the
* optimizer will flatten trees of AND and OR nodes to produce longer lists
* when possible. There are also a few special cases where more arguments
@@ -462,7 +481,7 @@ typedef struct BoolExpr
* SubLink
*
* A SubLink represents a subselect appearing in an expression, and in some
- * cases also the combining operator(s) just above it. The subLinkType
+ * cases also the combining operator(s) just above it. The subLinkType
* indicates the form of the expression represented:
* EXISTS_SUBLINK EXISTS(SELECT ...)
* ALL_SUBLINK (lefthand) op ALL (SELECT ...)
@@ -489,7 +508,7 @@ typedef struct BoolExpr
*
* NOTE: in the raw output of gram.y, testexpr contains just the raw form
* of the lefthand expression (if any), and operName is the String name of
- * the combining operator. Also, subselect is a raw parsetree. During parse
+ * the combining operator. Also, subselect is a raw parsetree. During parse
* analysis, the parser transforms testexpr into a complete boolean expression
* that compares the lefthand value(s) to PARAM_SUBLINK nodes representing the
* output columns of the subselect. And subselect is transformed to a Query.
@@ -547,7 +566,7 @@ typedef struct SubLink
* list). In this case testexpr is NULL to avoid duplication.
*
* The planner also derives lists of the values that need to be passed into
- * and out of the subplan. Input values are represented as a list "args" of
+ * and out of the subplan. Input values are represented as a list "args" of
* expressions to be evaluated in the outer-query context (currently these
* args are always just Vars, but in principle they could be any expression).
* The values are assigned to the global PARAM_EXEC params indexed by parParam
@@ -638,7 +657,7 @@ typedef struct FieldSelect
* portion of a column.
*
* A single FieldStore can actually represent updates of several different
- * fields. The parser only generates FieldStores with single-element lists,
+ * fields. The parser only generates FieldStores with single-element lists,
* but the planner will collapse multiple updates of the same base column
* into one FieldStore.
* ----------------
@@ -770,7 +789,7 @@ typedef struct CollateExpr
* and the testexpr in the second case.
*
* In the raw grammar output for the second form, the condition expressions
- * of the WHEN clauses are just the comparison values. Parse analysis
+ * of the WHEN clauses are just the comparison values. Parse analysis
* converts these to valid boolean expressions of the form
* CaseTestExpr '=' compexpr
* where the CaseTestExpr node is a placeholder that emits the correct
@@ -844,22 +863,22 @@ typedef struct ArrayExpr
*
* Note: the list of fields must have a one-for-one correspondence with
* physical fields of the associated rowtype, although it is okay for it
- * to be shorter than the rowtype. That is, the N'th list element must
+ * to be shorter than the rowtype. That is, the N'th list element must
* match up with the N'th physical field. When the N'th physical field
* is a dropped column (attisdropped) then the N'th list element can just
- * be a NULL constant. (This case can only occur for named composite types,
+ * be a NULL constant. (This case can only occur for named composite types,
* not RECORD types, since those are built from the RowExpr itself rather
* than vice versa.) It is important not to assume that length(args) is
* the same as the number of columns logically present in the rowtype.
*
* colnames provides field names in cases where the names can't easily be
- * obtained otherwise. Names *must* be provided if row_typeid is RECORDOID.
+ * obtained otherwise. Names *must* be provided if row_typeid is RECORDOID.
* If row_typeid identifies a known composite type, colnames can be NIL to
* indicate the type's cataloged field names apply. Note that colnames can
* be non-NIL even for a composite type, and typically is when the RowExpr
* was created by expanding a whole-row Var. This is so that we can retain
* the column alias names of the RTE that the Var referenced (which would
- * otherwise be very difficult to extract from the parsetree). Like the
+ * otherwise be very difficult to extract from the parsetree). Like the
* args list, colnames is one-for-one with physical fields of the rowtype.
*/
typedef struct RowExpr
@@ -872,7 +891,7 @@ typedef struct RowExpr
* Note: we deliberately do NOT store a typmod. Although a typmod will be
* associated with specific RECORD types at runtime, it will differ for
* different backends, and so cannot safely be stored in stored
- * parsetrees. We must assume typmod -1 for a RowExpr node.
+ * parsetrees. We must assume typmod -1 for a RowExpr node.
*
* We don't need to store a collation either. The result type is
* necessarily composite, and composite types never have a collation.
@@ -958,7 +977,7 @@ typedef struct MinMaxExpr
* 'args' carries all other arguments.
*
* Note: result type/typmod/collation are not stored, but can be deduced
- * from the XmlExprOp. The type/typmod fields are just used for display
+ * from the XmlExprOp. The type/typmod fields are just used for display
* purposes, and are NOT necessarily the true result type of the node.
* (We also use type == InvalidOid to mark a not-yet-parse-analyzed XmlExpr.)
*/
@@ -1044,8 +1063,8 @@ typedef struct BooleanTest
*
* CoerceToDomain represents the operation of coercing a value to a domain
* type. At runtime (and not before) the precise set of constraints to be
- * checked will be determined. If the value passes, it is returned as the
- * result; if not, an error is raised. Note that this is equivalent to
+ * checked will be determined. If the value passes, it is returned as the
+ * result; if not, an error is raised. Note that this is equivalent to
* RelabelType in the scenario where no constraints are applied.
*/
typedef struct CoerceToDomain
@@ -1061,7 +1080,7 @@ typedef struct CoerceToDomain
/*
* Placeholder node for the value to be processed by a domain's check
- * constraint. This is effectively like a Param, but can be implemented more
+ * constraint. This is effectively like a Param, but can be implemented more
* simply since we need only one replacement value at a time.
*
* Note: the typeId/typeMod/collation will be set from the domain's base type,
@@ -1081,7 +1100,7 @@ typedef struct CoerceToDomainValue
* Placeholder node for a DEFAULT marker in an INSERT or UPDATE command.
*
* This is not an executable expression: it must be replaced by the actual
- * column default expression during rewriting. But it is convenient to
+ * column default expression during rewriting. But it is convenient to
* treat it as an expression node during parsing and rewriting.
*/
typedef struct SetToDefault
@@ -1123,14 +1142,14 @@ typedef struct CurrentOfExpr
* single expression tree.
*
* In a SELECT's targetlist, resno should always be equal to the item's
- * ordinal position (counting from 1). However, in an INSERT or UPDATE
+ * ordinal position (counting from 1). However, in an INSERT or UPDATE
* targetlist, resno represents the attribute number of the destination
* column for the item; so there may be missing or out-of-order resnos.
* It is even legal to have duplicated resnos; consider
* UPDATE table SET arraycol[1] = ..., arraycol[2] = ..., ...
* The two meanings come together in the executor, because the planner
* transforms INSERT/UPDATE tlists into a normalized form with exactly
- * one entry for each column of the destination table. Before that's
+ * one entry for each column of the destination table. Before that's
* happened, however, it is risky to assume that resno == position.
* Generally get_tle_by_resno() should be used rather than list_nth()
* to fetch tlist entries by resno, and only in SELECT should you assume
@@ -1139,25 +1158,25 @@ typedef struct CurrentOfExpr
* resname is required to represent the correct column name in non-resjunk
* entries of top-level SELECT targetlists, since it will be used as the
* column title sent to the frontend. In most other contexts it is only
- * a debugging aid, and may be wrong or even NULL. (In particular, it may
+ * a debugging aid, and may be wrong or even NULL. (In particular, it may
* be wrong in a tlist from a stored rule, if the referenced column has been
- * renamed by ALTER TABLE since the rule was made. Also, the planner tends
+ * renamed by ALTER TABLE since the rule was made. Also, the planner tends
* to store NULL rather than look up a valid name for tlist entries in
* non-toplevel plan nodes.) In resjunk entries, resname should be either
* a specific system-generated name (such as "ctid") or NULL; anything else
* risks confusing ExecGetJunkAttribute!
*
* ressortgroupref is used in the representation of ORDER BY, GROUP BY, and
- * DISTINCT items. Targetlist entries with ressortgroupref=0 are not
+ * DISTINCT items. Targetlist entries with ressortgroupref=0 are not
* sort/group items. If ressortgroupref>0, then this item is an ORDER BY,
- * GROUP BY, and/or DISTINCT target value. No two entries in a targetlist
+ * GROUP BY, and/or DISTINCT target value. No two entries in a targetlist
* may have the same nonzero ressortgroupref --- but there is no particular
* meaning to the nonzero values, except as tags. (For example, one must
* not assume that lower ressortgroupref means a more significant sort key.)
* The order of the associated SortGroupClause lists determine the semantics.
*
* resorigtbl/resorigcol identify the source of the column, if it is a
- * simple reference to a column of a base table (or view). If it is not
+ * simple reference to a column of a base table (or view). If it is not
* a simple reference, these fields are zeroes.
*
* If resjunk is true then the column is a working column (such as a sort key)
@@ -1197,7 +1216,7 @@ typedef struct TargetEntry
*
* NOTE: the qualification expressions present in JoinExpr nodes are
* *in addition to* the query's main WHERE clause, which appears as the
- * qual of the top-level FromExpr. The reason for associating quals with
+ * qual of the top-level FromExpr. The reason for associating quals with
* specific nodes in the jointree is that the position of a qual is critical
* when outer joins are present. (If we enforce a qual too soon or too late,
* that may cause the outer join to produce the wrong set of NULL-extended
@@ -1233,7 +1252,7 @@ typedef struct RangeTblRef
* If he writes NATURAL then parse analysis generates the equivalent USING()
* list, and from that fills in "quals" with the right equality comparisons.
* If he writes USING() then "quals" is filled with equality comparisons.
- * If he writes ON() then only "quals" is set. Note that NATURAL/USING
+ * If he writes ON() then only "quals" is set. Note that NATURAL/USING
* are not equivalent to ON() since they also affect the output column list.
*
* alias is an Alias node representing the AS alias-clause attached to the
@@ -1242,7 +1261,7 @@ typedef struct RangeTblRef
* restricts visibility of the tables/columns inside it.
*
* During parse analysis, an RTE is created for the Join, and its index
- * is filled into rtindex. This RTE is present mainly so that Vars can
+ * is filled into rtindex. This RTE is present mainly so that Vars can
* be created that refer to the outputs of the join. The planner sometimes
* generates JoinExprs internally; these can have rtindex = 0 if there are
* no join alias variables referencing such joins.
diff --git a/src/include/parser/scanner.h b/src/include/parser/scanner.h
index 9e97076..54d824a 100644
--- a/src/include/parser/scanner.h
+++ b/src/include/parser/scanner.h
@@ -8,8 +8,8 @@
* higher-level API provided by parser.h.
*
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/parser/scanner.h
diff --git a/src/include/pool_type.h b/src/include/pool_type.h
index e6ab805..1159d2b 100644
--- a/src/include/pool_type.h
+++ b/src/include/pool_type.h
@@ -178,6 +178,10 @@ UserAuth;
typedef unsigned int AuthRequest;
+#ifdef __GNUC__
+#define PG_USE_INLINE
+#endif
+
/* no special DLL markers on most ports */
#ifndef PGDLLIMPORT
#define PGDLLIMPORT
@@ -185,7 +189,13 @@ typedef unsigned int AuthRequest;
#ifndef PGDLLEXPORT
#define PGDLLEXPORT
#endif
+
+#ifdef PG_USE_INLINE
+#define STATIC_IF_INLINE static inline
+#else
#define STATIC_IF_INLINE
+#endif /* PG_USE_INLINE */
+
typedef uint8 bits8; /* >= 8 bits */
typedef uint16 bits16; /* >= 16 bits */
diff --git a/src/include/utils/memnodes.h b/src/include/utils/memnodes.h
index fe437e2..553ccf8 100644
--- a/src/include/utils/memnodes.h
+++ b/src/include/utils/memnodes.h
@@ -4,8 +4,8 @@
* POSTGRES memory context node definitions.
*
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/nodes/memnodes.h
diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h
index 8153001..a40af1e 100644
--- a/src/include/utils/memutils.h
+++ b/src/include/utils/memutils.h
@@ -73,13 +73,13 @@ typedef struct StandardChunkHeader
* Only TopMemoryContext and ErrorContext are initialized by
* MemoryContextInit() itself.
*/
-extern PGDLLIMPORT MemoryContext TopMemoryContext;
-extern PGDLLIMPORT MemoryContext ErrorContext;
-extern PGDLLIMPORT MemoryContext ProcessLoopContext;
-extern PGDLLIMPORT MemoryContext CacheMemoryContext;
-extern PGDLLIMPORT MemoryContext MessageContext;
-extern PGDLLIMPORT MemoryContext QueryContext;
-extern PGDLLIMPORT MemoryContext CurTransactionContext;
+extern MemoryContext TopMemoryContext;
+extern MemoryContext ErrorContext;
+extern MemoryContext ProcessLoopContext;
+extern MemoryContext CacheMemoryContext;
+extern MemoryContext MessageContext;
+extern MemoryContext QueryContext;
+extern MemoryContext CurTransactionContext;
/* This is a transient link to the active portal's memory context: */
extern PGDLLIMPORT MemoryContext PortalContext;
diff --git a/src/include/utils/palloc.h b/src/include/utils/palloc.h
index 01e7db5..8107437 100644
--- a/src/include/utils/palloc.h
+++ b/src/include/utils/palloc.h
@@ -28,6 +28,8 @@
#ifndef PALLOC_H
#define PALLOC_H
+#include "pg_config_manual.h"
+
/*
* Type MemoryContextData is declared in nodes/memnodes.h. Most users
* of memory allocation should just treat it as an abstract type, so we
@@ -101,5 +103,13 @@ extern void *palloc(Size size);
extern void *palloc0(Size size);
extern void pfree(void *pointer);
extern void *repalloc(void *pointer, Size size);
+/* sprintf into a palloc'd buffer --- these are in psprintf.c */
+extern char *
+psprintf(const char *fmt,...)
+__attribute__((format(PG_PRINTF_ATTRIBUTE, 1, 2)));
+extern size_t
+pvsnprintf(char *buf, size_t len, const char *fmt, va_list args)
+__attribute__((format(PG_PRINTF_ATTRIBUTE, 3, 0)));
+
#endif /* PALLOC_H */
diff --git a/src/parallel_query/pool_rewrite_outfuncs.c b/src/parallel_query/pool_rewrite_outfuncs.c
index 90e514e..231a10e 100644
--- a/src/parallel_query/pool_rewrite_outfuncs.c
+++ b/src/parallel_query/pool_rewrite_outfuncs.c
@@ -4271,11 +4271,21 @@ _rewriteLockingClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *
{
if (node == NULL)
return;
-
- if (node->forUpdate == TRUE)
- delay_string_append_char(message, str, " FOR UPDATE");
- else
- delay_string_append_char(message, str, " FOR SHARED");
+ switch(node->strength)
+ {
+ case LCS_FORKEYSHARE:
+ delay_string_append_char(message, str, " FOR KEY SHARE");
+ break;
+ case LCS_FORSHARE:
+ delay_string_append_char(message, str, " FOR SHARE");
+ break;
+ case LCS_FORNOKEYUPDATE:
+ delay_string_append_char(message, str, " FOR NO KEY UPDATE");
+ break;
+ case LCS_FORUPDATE:
+ delay_string_append_char(message, str, " FOR UPDATE");
+ break;
+ }
_rewriteNode(BaseSelect, message, dblink, str, node->lockedRels);
@@ -7821,7 +7831,7 @@ _rewriteAlterOwnerStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink
delay_string_append_char(message, str, "OPERATOR CLASS ");
_rewriteFuncName(BaseSelect, message, dblink, str, node->object);
delay_string_append_char(message, str, " USING ");
- delay_string_append_char(message, str, node->addname);
+ delay_string_append_char(message, str, linitial(node->objarg));
delay_string_append_char(message, str, " OWNER TO \"");
delay_string_append_char(message, str, node->newowner);
delay_string_append_char(message, str, "\"");
@@ -8481,7 +8491,7 @@ _rewriteRangeSubselect(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink
static void
_rewriteRangeFunction(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, RangeFunction *node)
{
- _rewriteNode(BaseSelect, message, dblink, str, node->funccallnode);
+ _rewriteNode(BaseSelect, message, dblink, str, node->functions); //TODO
if (node->alias)
{
_rewriteNode(BaseSelect, message, dblink, str, node->alias);
diff --git a/src/parser/copyfuncs.c b/src/parser/copyfuncs.c
index 8697865..0871aa4 100644
--- a/src/parser/copyfuncs.c
+++ b/src/parser/copyfuncs.c
@@ -4,15 +4,15 @@
* Copy functions for Postgres tree nodes.
*
* NOTE: we currently support copying all node types found in parse and
- * plan trees. We do not support copying executor state trees; there
+ * plan trees. We do not support copying executor state trees; there
* is no need for that, and no point in maintaining all the code that
* would be needed. We also do not support copying Path trees, mainly
* because the circular linkages between RelOptInfo and Path nodes can't
* be handled easily in a simple depth-first traversal.
*
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
@@ -26,12 +26,13 @@
#include <string.h>
#include <stddef.h>
#include "utils/palloc.h"
+#include "utils/elog.h"
#include "parsenodes.h"
/*
* Macros to simplify copying of different kinds of fields. Use these
- * wherever possible to reduce the chance for silly typos. Note that these
+ * wherever possible to reduce the chance for silly typos. Note that these
* hard-wire the convention that the local variables in a Copy routine are
* named 'newnode' and 'from'.
*/
@@ -65,6 +66,920 @@
(newnode->fldname = from->fldname)
+/* ****************************************************************
+ * plannodes.h copy functions
+ * ****************************************************************
+ */
+#ifdef NOT_USED_IN_PGPOOL
+/*
+ * _copyPlannedStmt
+ */
+static PlannedStmt *
+_copyPlannedStmt(const PlannedStmt *from)
+{
+ PlannedStmt *newnode = makeNode(PlannedStmt);
+
+ COPY_SCALAR_FIELD(commandType);
+ COPY_SCALAR_FIELD(queryId);
+ COPY_SCALAR_FIELD(hasReturning);
+ COPY_SCALAR_FIELD(hasModifyingCTE);
+ COPY_SCALAR_FIELD(canSetTag);
+ COPY_SCALAR_FIELD(transientPlan);
+ COPY_NODE_FIELD(planTree);
+ COPY_NODE_FIELD(rtable);
+ COPY_NODE_FIELD(resultRelations);
+ COPY_NODE_FIELD(utilityStmt);
+ COPY_NODE_FIELD(subplans);
+ COPY_BITMAPSET_FIELD(rewindPlanIDs);
+ COPY_NODE_FIELD(rowMarks);
+ COPY_NODE_FIELD(relationOids);
+ COPY_NODE_FIELD(invalItems);
+ COPY_SCALAR_FIELD(nParamExec);
+
+ return newnode;
+}
+
+/*
+ * CopyPlanFields
+ *
+ * This function copies the fields of the Plan node. It is used by
+ * all the copy functions for classes which inherit from Plan.
+ */
+static void
+CopyPlanFields(const Plan *from, Plan *newnode)
+{
+ COPY_SCALAR_FIELD(startup_cost);
+ COPY_SCALAR_FIELD(total_cost);
+ COPY_SCALAR_FIELD(plan_rows);
+ COPY_SCALAR_FIELD(plan_width);
+ COPY_NODE_FIELD(targetlist);
+ COPY_NODE_FIELD(qual);
+ COPY_NODE_FIELD(lefttree);
+ COPY_NODE_FIELD(righttree);
+ COPY_NODE_FIELD(initPlan);
+ COPY_BITMAPSET_FIELD(extParam);
+ COPY_BITMAPSET_FIELD(allParam);
+}
+
+/*
+ * _copyPlan
+ */
+static Plan *
+_copyPlan(const Plan *from)
+{
+ Plan *newnode = makeNode(Plan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields(from, newnode);
+
+ return newnode;
+}
+
+/*
+ * _copyResult
+ */
+static Result *
+_copyResult(const Result *from)
+{
+ Result *newnode = makeNode(Result);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(resconstantqual);
+
+ return newnode;
+}
+
+/*
+ * _copyModifyTable
+ */
+static ModifyTable *
+_copyModifyTable(const ModifyTable *from)
+{
+ ModifyTable *newnode = makeNode(ModifyTable);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(operation);
+ COPY_SCALAR_FIELD(canSetTag);
+ COPY_NODE_FIELD(resultRelations);
+ COPY_SCALAR_FIELD(resultRelIndex);
+ COPY_NODE_FIELD(plans);
+ COPY_NODE_FIELD(withCheckOptionLists);
+ COPY_NODE_FIELD(returningLists);
+ COPY_NODE_FIELD(fdwPrivLists);
+ COPY_NODE_FIELD(rowMarks);
+ COPY_SCALAR_FIELD(epqParam);
+
+ return newnode;
+}
+
+/*
+ * _copyAppend
+ */
+static Append *
+_copyAppend(const Append *from)
+{
+ Append *newnode = makeNode(Append);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(appendplans);
+
+ return newnode;
+}
+
+/*
+ * _copyMergeAppend
+ */
+static MergeAppend *
+_copyMergeAppend(const MergeAppend *from)
+{
+ MergeAppend *newnode = makeNode(MergeAppend);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(mergeplans);
+ COPY_SCALAR_FIELD(numCols);
+ COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid));
+ COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid));
+ COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool));
+
+ return newnode;
+}
+
+/*
+ * _copyRecursiveUnion
+ */
+static RecursiveUnion *
+_copyRecursiveUnion(const RecursiveUnion *from)
+{
+ RecursiveUnion *newnode = makeNode(RecursiveUnion);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(wtParam);
+ COPY_SCALAR_FIELD(numCols);
+ if (from->numCols > 0)
+ {
+ COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid));
+ }
+ COPY_SCALAR_FIELD(numGroups);
+
+ return newnode;
+}
+
+/*
+ * _copyBitmapAnd
+ */
+static BitmapAnd *
+_copyBitmapAnd(const BitmapAnd *from)
+{
+ BitmapAnd *newnode = makeNode(BitmapAnd);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(bitmapplans);
+
+ return newnode;
+}
+
+/*
+ * _copyBitmapOr
+ */
+static BitmapOr *
+_copyBitmapOr(const BitmapOr *from)
+{
+ BitmapOr *newnode = makeNode(BitmapOr);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(bitmapplans);
+
+ return newnode;
+}
+
+
+/*
+ * CopyScanFields
+ *
+ * This function copies the fields of the Scan node. It is used by
+ * all the copy functions for classes which inherit from Scan.
+ */
+static void
+CopyScanFields(const Scan *from, Scan *newnode)
+{
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ COPY_SCALAR_FIELD(scanrelid);
+}
+
+/*
+ * _copyScan
+ */
+static Scan *
+_copyScan(const Scan *from)
+{
+ Scan *newnode = makeNode(Scan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ return newnode;
+}
+
+/*
+ * _copySeqScan
+ */
+static SeqScan *
+_copySeqScan(const SeqScan *from)
+{
+ SeqScan *newnode = makeNode(SeqScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ return newnode;
+}
+
+/*
+ * _copyIndexScan
+ */
+static IndexScan *
+_copyIndexScan(const IndexScan *from)
+{
+ IndexScan *newnode = makeNode(IndexScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(indexid);
+ COPY_NODE_FIELD(indexqual);
+ COPY_NODE_FIELD(indexqualorig);
+ COPY_NODE_FIELD(indexorderby);
+ COPY_NODE_FIELD(indexorderbyorig);
+ COPY_SCALAR_FIELD(indexorderdir);
+
+ return newnode;
+}
+
+/*
+ * _copyIndexOnlyScan
+ */
+static IndexOnlyScan *
+_copyIndexOnlyScan(const IndexOnlyScan *from)
+{
+ IndexOnlyScan *newnode = makeNode(IndexOnlyScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(indexid);
+ COPY_NODE_FIELD(indexqual);
+ COPY_NODE_FIELD(indexorderby);
+ COPY_NODE_FIELD(indextlist);
+ COPY_SCALAR_FIELD(indexorderdir);
+
+ return newnode;
+}
+
+/*
+ * _copyBitmapIndexScan
+ */
+static BitmapIndexScan *
+_copyBitmapIndexScan(const BitmapIndexScan *from)
+{
+ BitmapIndexScan *newnode = makeNode(BitmapIndexScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(indexid);
+ COPY_NODE_FIELD(indexqual);
+ COPY_NODE_FIELD(indexqualorig);
+
+ return newnode;
+}
+
+/*
+ * _copyBitmapHeapScan
+ */
+static BitmapHeapScan *
+_copyBitmapHeapScan(const BitmapHeapScan *from)
+{
+ BitmapHeapScan *newnode = makeNode(BitmapHeapScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(bitmapqualorig);
+
+ return newnode;
+}
+
+/*
+ * _copyTidScan
+ */
+static TidScan *
+_copyTidScan(const TidScan *from)
+{
+ TidScan *newnode = makeNode(TidScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(tidquals);
+
+ return newnode;
+}
+
+/*
+ * _copySubqueryScan
+ */
+static SubqueryScan *
+_copySubqueryScan(const SubqueryScan *from)
+{
+ SubqueryScan *newnode = makeNode(SubqueryScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(subplan);
+
+ return newnode;
+}
+
+/*
+ * _copyFunctionScan
+ */
+static FunctionScan *
+_copyFunctionScan(const FunctionScan *from)
+{
+ FunctionScan *newnode = makeNode(FunctionScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(functions);
+ COPY_SCALAR_FIELD(funcordinality);
+
+ return newnode;
+}
+
+/*
+ * _copyValuesScan
+ */
+static ValuesScan *
+_copyValuesScan(const ValuesScan *from)
+{
+ ValuesScan *newnode = makeNode(ValuesScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(values_lists);
+
+ return newnode;
+}
+
+/*
+ * _copyCteScan
+ */
+static CteScan *
+_copyCteScan(const CteScan *from)
+{
+ CteScan *newnode = makeNode(CteScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(ctePlanId);
+ COPY_SCALAR_FIELD(cteParam);
+
+ return newnode;
+}
+
+/*
+ * _copyWorkTableScan
+ */
+static WorkTableScan *
+_copyWorkTableScan(const WorkTableScan *from)
+{
+ WorkTableScan *newnode = makeNode(WorkTableScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(wtParam);
+
+ return newnode;
+}
+
+/*
+ * _copyForeignScan
+ */
+static ForeignScan *
+_copyForeignScan(const ForeignScan *from)
+{
+ ForeignScan *newnode = makeNode(ForeignScan);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyScanFields((const Scan *) from, (Scan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(fdw_exprs);
+ COPY_NODE_FIELD(fdw_private);
+ COPY_SCALAR_FIELD(fsSystemCol);
+
+ return newnode;
+}
+
+/*
+ * CopyJoinFields
+ *
+ * This function copies the fields of the Join node. It is used by
+ * all the copy functions for classes which inherit from Join.
+ */
+static void
+CopyJoinFields(const Join *from, Join *newnode)
+{
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ COPY_SCALAR_FIELD(jointype);
+ COPY_NODE_FIELD(joinqual);
+}
+
+
+/*
+ * _copyJoin
+ */
+static Join *
+_copyJoin(const Join *from)
+{
+ Join *newnode = makeNode(Join);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyJoinFields(from, newnode);
+
+ return newnode;
+}
+
+
+/*
+ * _copyNestLoop
+ */
+static NestLoop *
+_copyNestLoop(const NestLoop *from)
+{
+ NestLoop *newnode = makeNode(NestLoop);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyJoinFields((const Join *) from, (Join *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(nestParams);
+
+ return newnode;
+}
+
+
+/*
+ * _copyMergeJoin
+ */
+static MergeJoin *
+_copyMergeJoin(const MergeJoin *from)
+{
+ MergeJoin *newnode = makeNode(MergeJoin);
+ int numCols;
+
+ /*
+ * copy node superclass fields
+ */
+ CopyJoinFields((const Join *) from, (Join *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(mergeclauses);
+ numCols = list_length(from->mergeclauses);
+ if (numCols > 0)
+ {
+ COPY_POINTER_FIELD(mergeFamilies, numCols * sizeof(Oid));
+ COPY_POINTER_FIELD(mergeCollations, numCols * sizeof(Oid));
+ COPY_POINTER_FIELD(mergeStrategies, numCols * sizeof(int));
+ COPY_POINTER_FIELD(mergeNullsFirst, numCols * sizeof(bool));
+ }
+
+ return newnode;
+}
+
+/*
+ * _copyHashJoin
+ */
+static HashJoin *
+_copyHashJoin(const HashJoin *from)
+{
+ HashJoin *newnode = makeNode(HashJoin);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyJoinFields((const Join *) from, (Join *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(hashclauses);
+
+ return newnode;
+}
+
+
+/*
+ * _copyMaterial
+ */
+static Material *
+_copyMaterial(const Material *from)
+{
+ Material *newnode = makeNode(Material);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ return newnode;
+}
+
+
+/*
+ * _copySort
+ */
+static Sort *
+_copySort(const Sort *from)
+{
+ Sort *newnode = makeNode(Sort);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ COPY_SCALAR_FIELD(numCols);
+ COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid));
+ COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid));
+ COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool));
+
+ return newnode;
+}
+
+
+/*
+ * _copyGroup
+ */
+static Group *
+_copyGroup(const Group *from)
+{
+ Group *newnode = makeNode(Group);
+
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ COPY_SCALAR_FIELD(numCols);
+ COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid));
+
+ return newnode;
+}
+
+/*
+ * _copyAgg
+ */
+static Agg *
+_copyAgg(const Agg *from)
+{
+ Agg *newnode = makeNode(Agg);
+
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ COPY_SCALAR_FIELD(aggstrategy);
+ COPY_SCALAR_FIELD(numCols);
+ if (from->numCols > 0)
+ {
+ COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid));
+ }
+ COPY_SCALAR_FIELD(numGroups);
+
+ return newnode;
+}
+
+/*
+ * _copyWindowAgg
+ */
+static WindowAgg *
+_copyWindowAgg(const WindowAgg *from)
+{
+ WindowAgg *newnode = makeNode(WindowAgg);
+
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ COPY_SCALAR_FIELD(winref);
+ COPY_SCALAR_FIELD(partNumCols);
+ if (from->partNumCols > 0)
+ {
+ COPY_POINTER_FIELD(partColIdx, from->partNumCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(partOperators, from->partNumCols * sizeof(Oid));
+ }
+ COPY_SCALAR_FIELD(ordNumCols);
+ if (from->ordNumCols > 0)
+ {
+ COPY_POINTER_FIELD(ordColIdx, from->ordNumCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(ordOperators, from->ordNumCols * sizeof(Oid));
+ }
+ COPY_SCALAR_FIELD(frameOptions);
+ COPY_NODE_FIELD(startOffset);
+ COPY_NODE_FIELD(endOffset);
+
+ return newnode;
+}
+
+/*
+ * _copyUnique
+ */
+static Unique *
+_copyUnique(const Unique *from)
+{
+ Unique *newnode = makeNode(Unique);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(numCols);
+ COPY_POINTER_FIELD(uniqColIdx, from->numCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(uniqOperators, from->numCols * sizeof(Oid));
+
+ return newnode;
+}
+
+/*
+ * _copyHash
+ */
+static Hash *
+_copyHash(const Hash *from)
+{
+ Hash *newnode = makeNode(Hash);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(skewTable);
+ COPY_SCALAR_FIELD(skewColumn);
+ COPY_SCALAR_FIELD(skewInherit);
+ COPY_SCALAR_FIELD(skewColType);
+ COPY_SCALAR_FIELD(skewColTypmod);
+
+ return newnode;
+}
+
+/*
+ * _copySetOp
+ */
+static SetOp *
+_copySetOp(const SetOp *from)
+{
+ SetOp *newnode = makeNode(SetOp);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_SCALAR_FIELD(cmd);
+ COPY_SCALAR_FIELD(strategy);
+ COPY_SCALAR_FIELD(numCols);
+ COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber));
+ COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid));
+ COPY_SCALAR_FIELD(flagColIdx);
+ COPY_SCALAR_FIELD(firstFlag);
+ COPY_SCALAR_FIELD(numGroups);
+
+ return newnode;
+}
+
+/*
+ * _copyLockRows
+ */
+static LockRows *
+_copyLockRows(const LockRows *from)
+{
+ LockRows *newnode = makeNode(LockRows);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(rowMarks);
+ COPY_SCALAR_FIELD(epqParam);
+
+ return newnode;
+}
+
+/*
+ * _copyLimit
+ */
+static Limit *
+_copyLimit(const Limit *from)
+{
+ Limit *newnode = makeNode(Limit);
+
+ /*
+ * copy node superclass fields
+ */
+ CopyPlanFields((const Plan *) from, (Plan *) newnode);
+
+ /*
+ * copy remainder of node
+ */
+ COPY_NODE_FIELD(limitOffset);
+ COPY_NODE_FIELD(limitCount);
+
+ return newnode;
+}
+
+/*
+ * _copyNestLoopParam
+ */
+static NestLoopParam *
+_copyNestLoopParam(const NestLoopParam *from)
+{
+ NestLoopParam *newnode = makeNode(NestLoopParam);
+
+ COPY_SCALAR_FIELD(paramno);
+ COPY_NODE_FIELD(paramval);
+
+ return newnode;
+}
+
+/*
+ * _copyPlanRowMark
+ */
+static PlanRowMark *
+_copyPlanRowMark(const PlanRowMark *from)
+{
+ PlanRowMark *newnode = makeNode(PlanRowMark);
+
+ COPY_SCALAR_FIELD(rti);
+ COPY_SCALAR_FIELD(prti);
+ COPY_SCALAR_FIELD(rowmarkId);
+ COPY_SCALAR_FIELD(markType);
+ COPY_SCALAR_FIELD(noWait);
+ COPY_SCALAR_FIELD(isParent);
+
+ return newnode;
+}
+
+/*
+ * _copyPlanInvalItem
+ */
+static PlanInvalItem *
+_copyPlanInvalItem(const PlanInvalItem *from)
+{
+ PlanInvalItem *newnode = makeNode(PlanInvalItem);
+
+ COPY_SCALAR_FIELD(cacheId);
+ COPY_SCALAR_FIELD(hashValue);
+
+ return newnode;
+}
+#endif
/* ****************************************************************
* primnodes.h copy functions
@@ -117,6 +1032,7 @@ _copyIntoClause(const IntoClause *from)
COPY_NODE_FIELD(options);
COPY_SCALAR_FIELD(onCommit);
COPY_STRING_FIELD(tableSpaceName);
+ COPY_NODE_FIELD(viewQuery);
COPY_SCALAR_FIELD(skipData);
return newnode;
@@ -124,7 +1040,7 @@ _copyIntoClause(const IntoClause *from)
/*
* We don't need a _copyExpr because Expr is an abstract supertype which
- * should never actually get instantiated. Also, since it has no common
+ * should never actually get instantiated. Also, since it has no common
* fields except NodeTag, there's no need for a helper routine to factor
* out copying the common fields...
*/
@@ -150,10 +1066,10 @@ _copyVar(const Var *from)
return newnode;
}
+#ifdef NOT_USED_IN_PGPOOL
/*
* _copyConst
*/
-#if 0
static Const *
_copyConst(const Const *from)
{
@@ -184,11 +1100,11 @@ _copyConst(const Const *from)
COPY_SCALAR_FIELD(constisnull);
COPY_SCALAR_FIELD(constbyval);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
#endif
-
/*
* _copyParam
*/
@@ -219,10 +1135,14 @@ _copyAggref(const Aggref *from)
COPY_SCALAR_FIELD(aggtype);
COPY_SCALAR_FIELD(aggcollid);
COPY_SCALAR_FIELD(inputcollid);
+ COPY_NODE_FIELD(aggdirectargs);
COPY_NODE_FIELD(args);
COPY_NODE_FIELD(aggorder);
COPY_NODE_FIELD(aggdistinct);
+ COPY_NODE_FIELD(aggfilter);
COPY_SCALAR_FIELD(aggstar);
+ COPY_SCALAR_FIELD(aggvariadic);
+ COPY_SCALAR_FIELD(aggkind);
COPY_SCALAR_FIELD(agglevelsup);
COPY_LOCATION_FIELD(location);
@@ -242,6 +1162,7 @@ _copyWindowFunc(const WindowFunc *from)
COPY_SCALAR_FIELD(wincollid);
COPY_SCALAR_FIELD(inputcollid);
COPY_NODE_FIELD(args);
+ COPY_NODE_FIELD(aggfilter);
COPY_SCALAR_FIELD(winref);
COPY_SCALAR_FIELD(winstar);
COPY_SCALAR_FIELD(winagg);
@@ -281,6 +1202,7 @@ _copyFuncExpr(const FuncExpr *from)
COPY_SCALAR_FIELD(funcid);
COPY_SCALAR_FIELD(funcresulttype);
COPY_SCALAR_FIELD(funcretset);
+ COPY_SCALAR_FIELD(funcvariadic);
COPY_SCALAR_FIELD(funcformat);
COPY_SCALAR_FIELD(funccollid);
COPY_SCALAR_FIELD(inputcollid);
@@ -891,6 +1813,159 @@ _copyFromExpr(const FromExpr *from)
return newnode;
}
+/* ****************************************************************
+ * relation.h copy functions
+ *
+ * We don't support copying RelOptInfo, IndexOptInfo, or Path nodes.
+ * There are some subsidiary structs that are useful to copy, though.
+ * ****************************************************************
+ */
+
+#ifdef NOT_USED_IN_PGPOOL
+/*
+ * _copyPathKey
+ */
+static PathKey *
+_copyPathKey(const PathKey *from)
+{
+ PathKey *newnode = makeNode(PathKey);
+
+ /* EquivalenceClasses are never moved, so just shallow-copy the pointer */
+ COPY_SCALAR_FIELD(pk_eclass);
+ COPY_SCALAR_FIELD(pk_opfamily);
+ COPY_SCALAR_FIELD(pk_strategy);
+ COPY_SCALAR_FIELD(pk_nulls_first);
+
+ return newnode;
+}
+
+/*
+ * _copyRestrictInfo
+ */
+static RestrictInfo *
+_copyRestrictInfo(const RestrictInfo *from)
+{
+ RestrictInfo *newnode = makeNode(RestrictInfo);
+
+ COPY_NODE_FIELD(clause);
+ COPY_SCALAR_FIELD(is_pushed_down);
+ COPY_SCALAR_FIELD(outerjoin_delayed);
+ COPY_SCALAR_FIELD(can_join);
+ COPY_SCALAR_FIELD(pseudoconstant);
+ COPY_BITMAPSET_FIELD(clause_relids);
+ COPY_BITMAPSET_FIELD(required_relids);
+ COPY_BITMAPSET_FIELD(outer_relids);
+ COPY_BITMAPSET_FIELD(nullable_relids);
+ COPY_BITMAPSET_FIELD(left_relids);
+ COPY_BITMAPSET_FIELD(right_relids);
+ COPY_NODE_FIELD(orclause);
+ /* EquivalenceClasses are never copied, so shallow-copy the pointers */
+ COPY_SCALAR_FIELD(parent_ec);
+ COPY_SCALAR_FIELD(eval_cost);
+ COPY_SCALAR_FIELD(norm_selec);
+ COPY_SCALAR_FIELD(outer_selec);
+ COPY_NODE_FIELD(mergeopfamilies);
+ /* EquivalenceClasses are never copied, so shallow-copy the pointers */
+ COPY_SCALAR_FIELD(left_ec);
+ COPY_SCALAR_FIELD(right_ec);
+ COPY_SCALAR_FIELD(left_em);
+ COPY_SCALAR_FIELD(right_em);
+ /* MergeScanSelCache isn't a Node, so hard to copy; just reset cache */
+ newnode->scansel_cache = NIL;
+ COPY_SCALAR_FIELD(outer_is_left);
+ COPY_SCALAR_FIELD(hashjoinoperator);
+ COPY_SCALAR_FIELD(left_bucketsize);
+ COPY_SCALAR_FIELD(right_bucketsize);
+
+ return newnode;
+}
+
+/*
+ * _copyPlaceHolderVar
+ */
+static PlaceHolderVar *
+_copyPlaceHolderVar(const PlaceHolderVar *from)
+{
+ PlaceHolderVar *newnode = makeNode(PlaceHolderVar);
+
+ COPY_NODE_FIELD(phexpr);
+ COPY_BITMAPSET_FIELD(phrels);
+ COPY_SCALAR_FIELD(phid);
+ COPY_SCALAR_FIELD(phlevelsup);
+
+ return newnode;
+}
+
+/*
+ * _copySpecialJoinInfo
+ */
+static SpecialJoinInfo *
+_copySpecialJoinInfo(const SpecialJoinInfo *from)
+{
+ SpecialJoinInfo *newnode = makeNode(SpecialJoinInfo);
+
+ COPY_BITMAPSET_FIELD(min_lefthand);
+ COPY_BITMAPSET_FIELD(min_righthand);
+ COPY_BITMAPSET_FIELD(syn_lefthand);
+ COPY_BITMAPSET_FIELD(syn_righthand);
+ COPY_SCALAR_FIELD(jointype);
+ COPY_SCALAR_FIELD(lhs_strict);
+ COPY_SCALAR_FIELD(delay_upper_joins);
+ COPY_NODE_FIELD(join_quals);
+
+ return newnode;
+}
+
+/*
+ * _copyLateralJoinInfo
+ */
+static LateralJoinInfo *
+_copyLateralJoinInfo(const LateralJoinInfo *from)
+{
+ LateralJoinInfo *newnode = makeNode(LateralJoinInfo);
+
+ COPY_BITMAPSET_FIELD(lateral_lhs);
+ COPY_BITMAPSET_FIELD(lateral_rhs);
+
+ return newnode;
+}
+
+/*
+ * _copyAppendRelInfo
+ */
+static AppendRelInfo *
+_copyAppendRelInfo(const AppendRelInfo *from)
+{
+ AppendRelInfo *newnode = makeNode(AppendRelInfo);
+
+ COPY_SCALAR_FIELD(parent_relid);
+ COPY_SCALAR_FIELD(child_relid);
+ COPY_SCALAR_FIELD(parent_reltype);
+ COPY_SCALAR_FIELD(child_reltype);
+ COPY_NODE_FIELD(translated_vars);
+ COPY_SCALAR_FIELD(parent_reloid);
+
+ return newnode;
+}
+
+/*
+ * _copyPlaceHolderInfo
+ */
+static PlaceHolderInfo *
+_copyPlaceHolderInfo(const PlaceHolderInfo *from)
+{
+ PlaceHolderInfo *newnode = makeNode(PlaceHolderInfo);
+
+ COPY_SCALAR_FIELD(phid);
+ COPY_NODE_FIELD(ph_var);
+ COPY_BITMAPSET_FIELD(ph_eval_at);
+ COPY_BITMAPSET_FIELD(ph_lateral);
+ COPY_BITMAPSET_FIELD(ph_needed);
+ COPY_SCALAR_FIELD(ph_width);
+
+ return newnode;
+}
+#endif
/* ****************************************************************
* parsenodes.h copy functions
@@ -909,10 +1984,8 @@ _copyRangeTblEntry(const RangeTblEntry *from)
COPY_SCALAR_FIELD(security_barrier);
COPY_SCALAR_FIELD(jointype);
COPY_NODE_FIELD(joinaliasvars);
- COPY_NODE_FIELD(funcexpr);
- COPY_NODE_FIELD(funccoltypes);
- COPY_NODE_FIELD(funccoltypmods);
- COPY_NODE_FIELD(funccolcollations);
+ COPY_NODE_FIELD(functions);
+ COPY_SCALAR_FIELD(funcordinality);
COPY_NODE_FIELD(values_lists);
COPY_NODE_FIELD(values_collations);
COPY_STRING_FIELD(ctename);
@@ -923,12 +1996,42 @@ _copyRangeTblEntry(const RangeTblEntry *from)
COPY_NODE_FIELD(ctecolcollations);
COPY_NODE_FIELD(alias);
COPY_NODE_FIELD(eref);
+ COPY_SCALAR_FIELD(lateral);
COPY_SCALAR_FIELD(inh);
COPY_SCALAR_FIELD(inFromCl);
COPY_SCALAR_FIELD(requiredPerms);
COPY_SCALAR_FIELD(checkAsUser);
COPY_BITMAPSET_FIELD(selectedCols);
COPY_BITMAPSET_FIELD(modifiedCols);
+ COPY_NODE_FIELD(securityQuals);
+
+ return newnode;
+}
+
+static RangeTblFunction *
+_copyRangeTblFunction(const RangeTblFunction *from)
+{
+ RangeTblFunction *newnode = makeNode(RangeTblFunction);
+
+ COPY_NODE_FIELD(funcexpr);
+ COPY_SCALAR_FIELD(funccolcount);
+ COPY_NODE_FIELD(funccolnames);
+ COPY_NODE_FIELD(funccoltypes);
+ COPY_NODE_FIELD(funccoltypmods);
+ COPY_NODE_FIELD(funccolcollations);
+ COPY_BITMAPSET_FIELD(funcparams);
+
+ return newnode;
+}
+
+static WithCheckOption *
+_copyWithCheckOption(const WithCheckOption *from)
+{
+ WithCheckOption *newnode = makeNode(WithCheckOption);
+
+ COPY_STRING_FIELD(viewname);
+ COPY_NODE_FIELD(qual);
+ COPY_SCALAR_FIELD(cascaded);
return newnode;
}
@@ -971,7 +2074,7 @@ _copyRowMarkClause(const RowMarkClause *from)
RowMarkClause *newnode = makeNode(RowMarkClause);
COPY_SCALAR_FIELD(rti);
- COPY_SCALAR_FIELD(forUpdate);
+ COPY_SCALAR_FIELD(strength);
COPY_SCALAR_FIELD(noWait);
COPY_SCALAR_FIELD(pushedDown);
@@ -1066,7 +2169,7 @@ _copyAConst(const A_Const *from)
/* nothing to do */
break;
default:
- pool_error("unrecognized node type: %d",
+ elog(ERROR, "unrecognized node type: %d",
(int) from->val.type);
break;
}
@@ -1084,6 +2187,8 @@ _copyFuncCall(const FuncCall *from)
COPY_NODE_FIELD(funcname);
COPY_NODE_FIELD(args);
COPY_NODE_FIELD(agg_order);
+ COPY_NODE_FIELD(agg_filter);
+ COPY_SCALAR_FIELD(agg_within_group);
COPY_SCALAR_FIELD(agg_star);
COPY_SCALAR_FIELD(agg_distinct);
COPY_SCALAR_FIELD(func_variadic);
@@ -1200,6 +2305,7 @@ _copyRangeSubselect(const RangeSubselect *from)
{
RangeSubselect *newnode = makeNode(RangeSubselect);
+ COPY_SCALAR_FIELD(lateral);
COPY_NODE_FIELD(subquery);
COPY_NODE_FIELD(alias);
@@ -1211,7 +2317,10 @@ _copyRangeFunction(const RangeFunction *from)
{
RangeFunction *newnode = makeNode(RangeFunction);
- COPY_NODE_FIELD(funccallnode);
+ COPY_SCALAR_FIELD(lateral);
+ COPY_SCALAR_FIELD(ordinality);
+ COPY_SCALAR_FIELD(is_rowsfrom);
+ COPY_NODE_FIELD(functions);
COPY_NODE_FIELD(alias);
COPY_NODE_FIELD(coldeflist);
@@ -1276,6 +2385,7 @@ _copyColumnDef(const ColumnDef *from)
COPY_SCALAR_FIELD(collOid);
COPY_NODE_FIELD(constraints);
COPY_NODE_FIELD(fdwoptions);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -1307,6 +2417,7 @@ _copyConstraint(const Constraint *from)
COPY_SCALAR_FIELD(fk_upd_action);
COPY_SCALAR_FIELD(fk_del_action);
COPY_NODE_FIELD(old_conpfeqop);
+ COPY_SCALAR_FIELD(old_pktable_oid);
COPY_SCALAR_FIELD(skip_validation);
COPY_SCALAR_FIELD(initially_valid);
@@ -1332,7 +2443,7 @@ _copyLockingClause(const LockingClause *from)
LockingClause *newnode = makeNode(LockingClause);
COPY_NODE_FIELD(lockedRels);
- COPY_SCALAR_FIELD(forUpdate);
+ COPY_SCALAR_FIELD(strength);
COPY_SCALAR_FIELD(noWait);
return newnode;
@@ -1373,6 +2484,7 @@ _copyQuery(const Query *from)
COPY_NODE_FIELD(rtable);
COPY_NODE_FIELD(jointree);
COPY_NODE_FIELD(targetList);
+ COPY_NODE_FIELD(withCheckOptions);
COPY_NODE_FIELD(returningList);
COPY_NODE_FIELD(groupClause);
COPY_NODE_FIELD(havingQual);
@@ -1444,12 +2556,12 @@ _copySelectStmt(const SelectStmt *from)
COPY_NODE_FIELD(groupClause);
COPY_NODE_FIELD(havingClause);
COPY_NODE_FIELD(windowClause);
- COPY_NODE_FIELD(withClause);
COPY_NODE_FIELD(valuesLists);
COPY_NODE_FIELD(sortClause);
COPY_NODE_FIELD(limitOffset);
COPY_NODE_FIELD(limitCount);
COPY_NODE_FIELD(lockingClause);
+ COPY_NODE_FIELD(withClause);
COPY_SCALAR_FIELD(op);
COPY_SCALAR_FIELD(all);
COPY_NODE_FIELD(larg);
@@ -1635,6 +2747,7 @@ _copyCopyStmt(const CopyStmt *from)
COPY_NODE_FIELD(query);
COPY_NODE_FIELD(attlist);
COPY_SCALAR_FIELD(is_from);
+ COPY_SCALAR_FIELD(is_program);
COPY_STRING_FIELD(filename);
COPY_NODE_FIELD(options);
@@ -1865,7 +2978,6 @@ _copyAlterObjectSchemaStmt(const AlterObjectSchemaStmt *from)
COPY_NODE_FIELD(relation);
COPY_NODE_FIELD(object);
COPY_NODE_FIELD(objarg);
- COPY_STRING_FIELD(addname);
COPY_STRING_FIELD(newschema);
COPY_SCALAR_FIELD(missing_ok);
@@ -1881,7 +2993,6 @@ _copyAlterOwnerStmt(const AlterOwnerStmt *from)
COPY_NODE_FIELD(relation);
COPY_NODE_FIELD(object);
COPY_NODE_FIELD(objarg);
- COPY_STRING_FIELD(addname);
COPY_STRING_FIELD(newowner);
return newnode;
@@ -1988,6 +3099,7 @@ _copyAlterEnumStmt(const AlterEnumStmt *from)
COPY_STRING_FIELD(newVal);
COPY_STRING_FIELD(newValNeighbor);
COPY_SCALAR_FIELD(newValIsAfter);
+ COPY_SCALAR_FIELD(skipIfExists);
return newnode;
}
@@ -2002,6 +3114,7 @@ _copyViewStmt(const ViewStmt *from)
COPY_NODE_FIELD(query);
COPY_SCALAR_FIELD(replace);
COPY_NODE_FIELD(options);
+ COPY_SCALAR_FIELD(withCheckOption);
return newnode;
}
@@ -2136,6 +3249,8 @@ _copyVacuumStmt(const VacuumStmt *from)
COPY_SCALAR_FIELD(options);
COPY_SCALAR_FIELD(freeze_min_age);
COPY_SCALAR_FIELD(freeze_table_age);
+ COPY_SCALAR_FIELD(multixact_freeze_min_age);
+ COPY_SCALAR_FIELD(multixact_freeze_table_age);
COPY_NODE_FIELD(relation);
COPY_NODE_FIELD(va_cols);
@@ -2160,11 +3275,45 @@ _copyCreateTableAsStmt(const CreateTableAsStmt *from)
COPY_NODE_FIELD(query);
COPY_NODE_FIELD(into);
+ COPY_SCALAR_FIELD(relkind);
COPY_SCALAR_FIELD(is_select_into);
return newnode;
}
+static RefreshMatViewStmt *
+_copyRefreshMatViewStmt(const RefreshMatViewStmt *from)
+{
+ RefreshMatViewStmt *newnode = makeNode(RefreshMatViewStmt);
+
+ COPY_SCALAR_FIELD(concurrent);
+ COPY_SCALAR_FIELD(skipData);
+ COPY_NODE_FIELD(relation);
+
+ return newnode;
+}
+
+static ReplicaIdentityStmt *
+_copyReplicaIdentityStmt(const ReplicaIdentityStmt *from)
+{
+ ReplicaIdentityStmt *newnode = makeNode(ReplicaIdentityStmt);
+
+ COPY_SCALAR_FIELD(identity_type);
+ COPY_STRING_FIELD(name);
+
+ return newnode;
+}
+
+static AlterSystemStmt *
+_copyAlterSystemStmt(const AlterSystemStmt *from)
+{
+ AlterSystemStmt *newnode = makeNode(AlterSystemStmt);
+
+ COPY_NODE_FIELD(setstmt);
+
+ return newnode;
+}
+
static CreateSeqStmt *
_copyCreateSeqStmt(const CreateSeqStmt *from)
{
@@ -2230,6 +3379,7 @@ _copyCreateTableSpaceStmt(const CreateTableSpaceStmt *from)
COPY_STRING_FIELD(tablespacename);
COPY_STRING_FIELD(owner);
COPY_STRING_FIELD(location);
+ COPY_NODE_FIELD(options);
return newnode;
}
@@ -2257,6 +3407,21 @@ _copyAlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt *from)
return newnode;
}
+static AlterTableSpaceMoveStmt *
+_copyAlterTableSpaceMoveStmt(const AlterTableSpaceMoveStmt *from)
+{
+ AlterTableSpaceMoveStmt *newnode = makeNode(AlterTableSpaceMoveStmt);
+
+ COPY_STRING_FIELD(orig_tablespacename);
+ COPY_SCALAR_FIELD(objtype);
+ COPY_SCALAR_FIELD(move_all);
+ COPY_NODE_FIELD(roles);
+ COPY_STRING_FIELD(new_tablespacename);
+ COPY_SCALAR_FIELD(nowait);
+
+ return newnode;
+}
+
static CreateExtensionStmt *
_copyCreateExtensionStmt(const CreateExtensionStmt *from)
{
@@ -2416,6 +3581,30 @@ _copyCreateTrigStmt(const CreateTrigStmt *from)
return newnode;
}
+static CreateEventTrigStmt *
+_copyCreateEventTrigStmt(const CreateEventTrigStmt *from)
+{
+ CreateEventTrigStmt *newnode = makeNode(CreateEventTrigStmt);
+
+ COPY_STRING_FIELD(trigname);
+ COPY_SCALAR_FIELD(eventname);
+ COPY_NODE_FIELD(whenclause);
+ COPY_NODE_FIELD(funcname);
+
+ return newnode;
+}
+
+static AlterEventTrigStmt *
+_copyAlterEventTrigStmt(const AlterEventTrigStmt *from)
+{
+ AlterEventTrigStmt *newnode = makeNode(AlterEventTrigStmt);
+
+ COPY_STRING_FIELD(trigname);
+ COPY_SCALAR_FIELD(tgenabled);
+
+ return newnode;
+}
+
static CreatePLangStmt *
_copyCreatePLangStmt(const CreatePLangStmt *from)
{
@@ -2523,6 +3712,7 @@ _copyCreateSchemaStmt(const CreateSchemaStmt *from)
COPY_STRING_FIELD(schemaname);
COPY_STRING_FIELD(authid);
COPY_NODE_FIELD(schemaElts);
+ COPY_SCALAR_FIELD(if_not_exists);
return newnode;
}
@@ -2704,7 +3894,7 @@ _copyValue(const Value *from)
/* nothing to do */
break;
default:
- pool_error("unrecognized node type: %d",
+ elog(ERROR, "unrecognized node type: %d",
(int) from->type);
break;
}
@@ -2725,13 +3915,134 @@ copyObject(const void *from)
if (from == NULL)
return NULL;
-#if 0
/* Guard against stack overflow due to overly complex expressions */
+#ifdef NOT_USED_IN_PGPOOL
check_stack_depth();
#endif
-
switch (nodeTag(from))
{
+#ifdef NOT_USED_IN_PGPOOL
+ /*
+ * PLAN NODES
+ */
+ case T_PlannedStmt:
+ retval = _copyPlannedStmt(from);
+ break;
+ case T_Plan:
+ retval = _copyPlan(from);
+ break;
+ case T_Result:
+ retval = _copyResult(from);
+ break;
+ case T_ModifyTable:
+ retval = _copyModifyTable(from);
+ break;
+ case T_Append:
+ retval = _copyAppend(from);
+ break;
+ case T_MergeAppend:
+ retval = _copyMergeAppend(from);
+ break;
+ case T_RecursiveUnion:
+ retval = _copyRecursiveUnion(from);
+ break;
+ case T_BitmapAnd:
+ retval = _copyBitmapAnd(from);
+ break;
+ case T_BitmapOr:
+ retval = _copyBitmapOr(from);
+ break;
+ case T_Scan:
+ retval = _copyScan(from);
+ break;
+ case T_SeqScan:
+ retval = _copySeqScan(from);
+ break;
+ case T_IndexScan:
+ retval = _copyIndexScan(from);
+ break;
+ case T_IndexOnlyScan:
+ retval = _copyIndexOnlyScan(from);
+ break;
+ case T_BitmapIndexScan:
+ retval = _copyBitmapIndexScan(from);
+ break;
+ case T_BitmapHeapScan:
+ retval = _copyBitmapHeapScan(from);
+ break;
+ case T_TidScan:
+ retval = _copyTidScan(from);
+ break;
+ case T_SubqueryScan:
+ retval = _copySubqueryScan(from);
+ break;
+ case T_FunctionScan:
+ retval = _copyFunctionScan(from);
+ break;
+ case T_ValuesScan:
+ retval = _copyValuesScan(from);
+ break;
+ case T_CteScan:
+ retval = _copyCteScan(from);
+ break;
+ case T_WorkTableScan:
+ retval = _copyWorkTableScan(from);
+ break;
+ case T_ForeignScan:
+ retval = _copyForeignScan(from);
+ break;
+ case T_Join:
+ retval = _copyJoin(from);
+ break;
+ case T_NestLoop:
+ retval = _copyNestLoop(from);
+ break;
+ case T_MergeJoin:
+ retval = _copyMergeJoin(from);
+ break;
+ case T_HashJoin:
+ retval = _copyHashJoin(from);
+ break;
+ case T_Material:
+ retval = _copyMaterial(from);
+ break;
+ case T_Sort:
+ retval = _copySort(from);
+ break;
+ case T_Group:
+ retval = _copyGroup(from);
+ break;
+ case T_Agg:
+ retval = _copyAgg(from);
+ break;
+ case T_WindowAgg:
+ retval = _copyWindowAgg(from);
+ break;
+ case T_Unique:
+ retval = _copyUnique(from);
+ break;
+ case T_Hash:
+ retval = _copyHash(from);
+ break;
+ case T_SetOp:
+ retval = _copySetOp(from);
+ break;
+ case T_LockRows:
+ retval = _copyLockRows(from);
+ break;
+ case T_Limit:
+ retval = _copyLimit(from);
+ break;
+ case T_NestLoopParam:
+ retval = _copyNestLoopParam(from);
+ break;
+ case T_PlanRowMark:
+ retval = _copyPlanRowMark(from);
+ break;
+ case T_PlanInvalItem:
+ retval = _copyPlanInvalItem(from);
+ break;
+#endif
/*
* PRIMITIVE NODES
*/
@@ -2747,6 +4058,11 @@ copyObject(const void *from)
case T_Var:
retval = _copyVar(from);
break;
+#ifdef NOT_USED_IN_PGPOOL
+ case T_Const:
+ retval = _copyConst(from);
+ break;
+#endif
case T_Param:
retval = _copyParam(from);
break;
@@ -2867,7 +4183,32 @@ copyObject(const void *from)
case T_FromExpr:
retval = _copyFromExpr(from);
break;
-
+#ifdef NOT_USED_IN_PGPOOL
+ /*
+ * RELATION NODES
+ */
+ case T_PathKey:
+ retval = _copyPathKey(from);
+ break;
+ case T_RestrictInfo:
+ retval = _copyRestrictInfo(from);
+ break;
+ case T_PlaceHolderVar:
+ retval = _copyPlaceHolderVar(from);
+ break;
+ case T_SpecialJoinInfo:
+ retval = _copySpecialJoinInfo(from);
+ break;
+ case T_LateralJoinInfo:
+ retval = _copyLateralJoinInfo(from);
+ break;
+ case T_AppendRelInfo:
+ retval = _copyAppendRelInfo(from);
+ break;
+ case T_PlaceHolderInfo:
+ retval = _copyPlaceHolderInfo(from);
+ break;
+#endif
/*
* VALUE NODES
*/
@@ -3063,6 +4404,15 @@ copyObject(const void *from)
case T_CreateTableAsStmt:
retval = _copyCreateTableAsStmt(from);
break;
+ case T_RefreshMatViewStmt:
+ retval = _copyRefreshMatViewStmt(from);
+ break;
+ case T_ReplicaIdentityStmt:
+ retval = _copyReplicaIdentityStmt(from);
+ break;
+ case T_AlterSystemStmt:
+ retval = _copyAlterSystemStmt(from);
+ break;
case T_CreateSeqStmt:
retval = _copyCreateSeqStmt(from);
break;
@@ -3087,6 +4437,9 @@ copyObject(const void *from)
case T_AlterTableSpaceOptionsStmt:
retval = _copyAlterTableSpaceOptionsStmt(from);
break;
+ case T_AlterTableSpaceMoveStmt:
+ retval = _copyAlterTableSpaceMoveStmt(from);
+ break;
case T_CreateExtensionStmt:
retval = _copyCreateExtensionStmt(from);
break;
@@ -3123,6 +4476,12 @@ copyObject(const void *from)
case T_CreateTrigStmt:
retval = _copyCreateTrigStmt(from);
break;
+ case T_CreateEventTrigStmt:
+ retval = _copyCreateEventTrigStmt(from);
+ break;
+ case T_AlterEventTrigStmt:
+ retval = _copyAlterEventTrigStmt(from);
+ break;
case T_CreatePLangStmt:
retval = _copyCreatePLangStmt(from);
break;
@@ -3250,6 +4609,12 @@ copyObject(const void *from)
case T_RangeTblEntry:
retval = _copyRangeTblEntry(from);
break;
+ case T_RangeTblFunction:
+ retval = _copyRangeTblFunction(from);
+ break;
+ case T_WithCheckOption:
+ retval = _copyWithCheckOption(from);
+ break;
case T_SortGroupClause:
retval = _copySortGroupClause(from);
break;
@@ -3279,32 +4644,33 @@ copyObject(const void *from)
break;
default:
- pool_error("unrecognized node type: %d", (int) nodeTag(from));
- retval = (char*)from; /* keep compiler quiet */
+ elog(ERROR, "unrecognized node type: %d", (int) nodeTag(from));
+ retval = 0; /* keep compiler quiet */
break;
}
return retval;
}
-/* from backend/nodes/bitmapset.c start */
-#define BITMAPSET_SIZE(nwords) \
- (offsetof(Bitmapset, words) + (nwords) * sizeof(bitmapword))
-
/*
+ * from src/backend/nodes/bitmapset.c
* bms_copy - make a palloc'd copy of a bitmapset
*/
+
+#define BITMAPSET_SIZE(nwords) \
+(offsetof(Bitmapset, words) + (nwords) * sizeof(bitmapword))
+
+
Bitmapset *
bms_copy(const Bitmapset *a)
{
- Bitmapset *result;
- size_t size;
-
- if (a == NULL)
- return NULL;
- size = BITMAPSET_SIZE(a->nwords);
- result = (Bitmapset *) palloc(size);
- memcpy(result, a, size);
- return result;
+ Bitmapset *result;
+ size_t size;
+
+ if (a == NULL)
+ return NULL;
+ size = BITMAPSET_SIZE(a->nwords);
+ result = (Bitmapset *) palloc(size);
+ memcpy(result, a, size);
+ return result;
}
-/* from backend/nodes/bitmapset.c end */
diff --git a/src/parser/gram.c b/src/parser/gram.c
index e35be42..d25d54f 100644
--- a/src/parser/gram.c
+++ b/src/parser/gram.c
@@ -80,8 +80,8 @@
* gram.y
* POSTGRESQL BISON rules/actions
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
@@ -96,8 +96,6 @@
* NOTES
* CAPITALS are used to represent terminal symbols.
* non-capitals are used to represent non-terminals.
- * SQL92-specific syntax is separated from plain SQL/Postgres syntax
- * to help isolate the non-extensible portions of the parser.
*
* In general, nothing in this file should initiate database accesses
* nor depend on changeable state (such as SET variables). If you do
@@ -121,6 +119,7 @@
*
*-------------------------------------------------------------------------
*/
+
#include "pool_parser.h"
#include "utils/elog.h"
#include "utils/palloc.h"
@@ -132,7 +131,6 @@
#include "nodes.h"
#include "keywords.h"
-//#include "pool_memory.h"
#include "gramparse.h"
#include "makefuncs.h"
#include "pool_string.h"
@@ -141,27 +139,66 @@
#include "pg_trigger.h"
-/* for XML data type */
+/*
+ * Definition taken from
+ * postgreSQL source code file: src/include/commands/trigger.h
+ */
+#define TRIGGER_FIRES_ON_ORIGIN 'O'
+#define TRIGGER_FIRES_ALWAYS 'A'
+#define TRIGGER_FIRES_ON_REPLICA 'R'
+#define TRIGGER_DISABLED 'D'
+
+/*
+ * Definition taken from
+ * postgreSQL source code file: src/include/catalog/pg_class.h
+ */
+
+#define REPLICA_IDENTITY_DEFAULT 'd'
+#define REPLICA_IDENTITY_NOTHING 'n'
+#define REPLICA_IDENTITY_FULL 'f'
+#define REPLICA_IDENTITY_INDEX 'i'
+
+/*
+ * Definition taken from
+ * postgreSQL source code file: src/include/utils/xml.h
+ */
typedef enum
{
- XML_STANDALONE_YES,
- XML_STANDALONE_NO,
- XML_STANDALONE_NO_VALUE,
- XML_STANDALONE_OMITTED
+ XML_STANDALONE_YES,
+ XML_STANDALONE_NO,
+ XML_STANDALONE_NO_VALUE,
+ XML_STANDALONE_OMITTED
} XmlStandaloneType;
static DefElem *defWithOids(bool value);
-
-/* Location tracking support --- simpler than bison's default */
+/*
+ * Location tracking support --- simpler than bison's default, since we only
+ * want to track the start position not the end position of each nonterminal.
+ */
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
- if (N) \
+ if ((N) > 0) \
(Current) = (Rhs)[1]; \
else \
- (Current) = (Rhs)[0]; \
+ (Current) = (-1); \
} while (0)
/*
+ * The above macro assigns -1 (unknown) as the parse location of any
+ * nonterminal that was reduced from an empty rule. This is problematic
+ * for nonterminals defined like
+ * OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
+ * because we'll set -1 as the location during the first reduction and then
+ * copy it during each subsequent reduction, leaving us with -1 for the
+ * location even when the list is not empty. To fix that, do this in the
+ * action for the nonempty rule(s):
+ * if (@$ < 0) @$ = @2;
+ * (Although we have many nonterminals that follow this pattern, we only
+ * bother with fixing @$ like this when the nonterminal's parse location
+ * is actually referenced in some rule.)
+ */
+
+/*
* Bison doesn't allocate anything that needs to live across parser calls,
* so we can easily have it use palloc instead of malloc. This prevents
* memory leaks if we error out during parsing. Note this only works with
@@ -205,12 +242,13 @@ static Node *makeBitStringConst(char *str, int location);
static Node *makeNullAConst(int location);
static Node *makeAConst(Value *v, int location);
static Node *makeBoolAConst(bool state, int location);
-static FuncCall *makeOverlaps(List *largs, List *rargs,
- int location, core_yyscan_t yyscanner);
static void check_qualified_name(List *names, core_yyscan_t yyscanner);
static List *check_func_name(List *names, core_yyscan_t yyscanner);
static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
static List *extractArgTypes(List *parameters);
+static List *extractAggrArgTypes(List *aggrargs);
+static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
+ core_yyscan_t yyscanner);
static void insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
Node *limitOffset, Node *limitCount,
@@ -231,10 +269,11 @@ static void SplitColQualList(List *qualList,
static void processCASbits(int cas_bits, int location, const char *constrType,
bool *deferrable, bool *initdeferred, bool *not_valid,
bool *no_inherit, core_yyscan_t yyscanner);
+static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
/* Line 371 of yacc.c */
-#line 238 "gram.c"
+#line 277 "gram.c"
# ifndef YY_NULL
# if defined __cplusplus && 201103L <= __cplusplus
@@ -396,292 +435,302 @@ extern int base_yydebug;
END_P = 381,
ENUM_P = 382,
ESCAPE = 383,
- EXCEPT = 384,
- EXCLUDE = 385,
- EXCLUDING = 386,
- EXCLUSIVE = 387,
- EXECUTE = 388,
- EXISTS = 389,
- EXPLAIN = 390,
- EXTENSION = 391,
- EXTERNAL = 392,
- EXTRACT = 393,
- FALSE_P = 394,
- FAMILY = 395,
- FETCH = 396,
- FIRST_P = 397,
- FLOAT_P = 398,
- FOLLOWING = 399,
- FOR = 400,
- FORCE = 401,
- FOREIGN = 402,
- FORWARD = 403,
- FREEZE = 404,
- FROM = 405,
- FULL = 406,
- FUNCTION = 407,
- FUNCTIONS = 408,
- GLOBAL = 409,
- GRANT = 410,
- GRANTED = 411,
- GREATEST = 412,
- GROUP_P = 413,
- HANDLER = 414,
- HAVING = 415,
- HEADER_P = 416,
- HOLD = 417,
- HOUR_P = 418,
- IDENTITY_P = 419,
- IF_P = 420,
- ILIKE = 421,
- IMMEDIATE = 422,
- IMMUTABLE = 423,
- IMPLICIT_P = 424,
- IN_P = 425,
- INCLUDING = 426,
- INCREMENT = 427,
- INDEX = 428,
- INDEXES = 429,
- INHERIT = 430,
- INHERITS = 431,
- INITIALLY = 432,
- INLINE_P = 433,
- INNER_P = 434,
- INOUT = 435,
- INPUT_P = 436,
- INSENSITIVE = 437,
- INSERT = 438,
- INSTEAD = 439,
- INT_P = 440,
- INTEGER = 441,
- INTERSECT = 442,
- INTERVAL = 443,
- INTO = 444,
- INVOKER = 445,
- IS = 446,
- ISNULL = 447,
- ISOLATION = 448,
- JOIN = 449,
- KEY = 450,
- LABEL = 451,
- LANGUAGE = 452,
- LARGE_P = 453,
- LAST_P = 454,
- LC_COLLATE_P = 455,
- LC_CTYPE_P = 456,
- LEADING = 457,
- LEAKPROOF = 458,
- LEAST = 459,
- LEFT = 460,
- LEVEL = 461,
- LIKE = 462,
- LIMIT = 463,
- LISTEN = 464,
- LOAD = 465,
- LOCAL = 466,
- LOCALTIME = 467,
- LOCALTIMESTAMP = 468,
- LOCATION = 469,
- LOCK_P = 470,
- MAPPING = 471,
- MATCH = 472,
- MAXVALUE = 473,
- MINUTE_P = 474,
- MINVALUE = 475,
- MODE = 476,
- MONTH_P = 477,
- MOVE = 478,
- NAME_P = 479,
- NAMES = 480,
- NATIONAL = 481,
- NATURAL = 482,
- NCHAR = 483,
- NEXT = 484,
- NO = 485,
- NONE = 486,
- NOT = 487,
- NOTHING = 488,
- NOTIFY = 489,
- NOTNULL = 490,
- NOWAIT = 491,
- NULL_P = 492,
- NULLIF = 493,
- NULLS_P = 494,
- NUMERIC = 495,
- OBJECT_P = 496,
- OF = 497,
- OFF = 498,
- OFFSET = 499,
- OIDS = 500,
- ON = 501,
- ONLY = 502,
- OPERATOR = 503,
- OPTION = 504,
- OPTIONS = 505,
- OR = 506,
- ORDER = 507,
- OUT_P = 508,
- OUTER_P = 509,
- OVER = 510,
- OVERLAPS = 511,
- OVERLAY = 512,
- OWNED = 513,
- OWNER = 514,
- PARSER = 515,
- PARTIAL = 516,
- PARTITION = 517,
- PASSING = 518,
- PASSWORD = 519,
- PLACING = 520,
- PLANS = 521,
- POSITION = 522,
- PRECEDING = 523,
- PRECISION = 524,
- PRESERVE = 525,
- PREPARE = 526,
- PREPARED = 527,
- PRIMARY = 528,
- PRIOR = 529,
- PRIVILEGES = 530,
- PROCEDURAL = 531,
- PROCEDURE = 532,
- QUOTE = 533,
- RANGE = 534,
- READ = 535,
- REAL = 536,
- REASSIGN = 537,
- RECHECK = 538,
- RECURSIVE = 539,
- REF = 540,
- REFERENCES = 541,
- REINDEX = 542,
- RELATIVE_P = 543,
- RELEASE = 544,
- RENAME = 545,
- REPEATABLE = 546,
- REPLACE = 547,
- REPLICA = 548,
- RESET = 549,
- RESTART = 550,
- RESTRICT = 551,
- RETURNING = 552,
- RETURNS = 553,
- REVOKE = 554,
- RIGHT = 555,
- ROLE = 556,
- ROLLBACK = 557,
- ROW = 558,
- ROWS = 559,
- RULE = 560,
- SAVEPOINT = 561,
- SCHEMA = 562,
- SCROLL = 563,
- SEARCH = 564,
- SECOND_P = 565,
- SECURITY = 566,
- SELECT = 567,
- SEQUENCE = 568,
- SEQUENCES = 569,
- SERIALIZABLE = 570,
- SERVER = 571,
- SESSION = 572,
- SESSION_USER = 573,
- SET = 574,
- SETOF = 575,
- SHARE = 576,
- SHOW = 577,
- SIMILAR = 578,
- SIMPLE = 579,
- SMALLINT = 580,
- SNAPSHOT = 581,
- SOME = 582,
- STABLE = 583,
- STANDALONE_P = 584,
- START = 585,
- STATEMENT = 586,
- STATISTICS = 587,
- STDIN = 588,
- STDOUT = 589,
- STORAGE = 590,
- STRICT_P = 591,
- STRIP_P = 592,
- SUBSTRING = 593,
- SYMMETRIC = 594,
- SYSID = 595,
- SYSTEM_P = 596,
- TABLE = 597,
- TABLES = 598,
- TABLESPACE = 599,
- TEMP = 600,
- TEMPLATE = 601,
- TEMPORARY = 602,
- TEXT_P = 603,
- THEN = 604,
- TIME = 605,
- TIMESTAMP = 606,
- TO = 607,
- TRAILING = 608,
- TRANSACTION = 609,
- TREAT = 610,
- TRIGGER = 611,
- TRIM = 612,
- TRUE_P = 613,
- TRUNCATE = 614,
- TRUSTED = 615,
- TYPE_P = 616,
- TYPES_P = 617,
- UNBOUNDED = 618,
- UNCOMMITTED = 619,
- UNENCRYPTED = 620,
- UNION = 621,
- UNIQUE = 622,
- UNKNOWN = 623,
- UNLISTEN = 624,
- UNLOGGED = 625,
- UNTIL = 626,
- UPDATE = 627,
- USER = 628,
- USING = 629,
- VACUUM = 630,
- VALID = 631,
- VALIDATE = 632,
- VALIDATOR = 633,
- VALUE_P = 634,
- VALUES = 635,
- VARCHAR = 636,
- VARIADIC = 637,
- VARYING = 638,
- VERBOSE = 639,
- VERSION_P = 640,
- VIEW = 641,
- VOLATILE = 642,
- WHEN = 643,
- WHERE = 644,
- WHITESPACE_P = 645,
- WINDOW = 646,
- WITH = 647,
- WITHOUT = 648,
- WORK = 649,
- WRAPPER = 650,
- WRITE = 651,
- XML_P = 652,
- XMLATTRIBUTES = 653,
- XMLCONCAT = 654,
- XMLELEMENT = 655,
- XMLEXISTS = 656,
- XMLFOREST = 657,
- XMLPARSE = 658,
- XMLPI = 659,
- XMLROOT = 660,
- XMLSERIALIZE = 661,
- YEAR_P = 662,
- YES_P = 663,
- ZONE = 664,
- NULLS_FIRST = 665,
- NULLS_LAST = 666,
- WITH_TIME = 667,
- POSTFIXOP = 668,
- UMINUS = 669
+ EVENT = 384,
+ EXCEPT = 385,
+ EXCLUDE = 386,
+ EXCLUDING = 387,
+ EXCLUSIVE = 388,
+ EXECUTE = 389,
+ EXISTS = 390,
+ EXPLAIN = 391,
+ EXTENSION = 392,
+ EXTERNAL = 393,
+ EXTRACT = 394,
+ FALSE_P = 395,
+ FAMILY = 396,
+ FETCH = 397,
+ FILTER = 398,
+ FIRST_P = 399,
+ FLOAT_P = 400,
+ FOLLOWING = 401,
+ FOR = 402,
+ FORCE = 403,
+ FOREIGN = 404,
+ FORWARD = 405,
+ FREEZE = 406,
+ FROM = 407,
+ FULL = 408,
+ FUNCTION = 409,
+ FUNCTIONS = 410,
+ GLOBAL = 411,
+ GRANT = 412,
+ GRANTED = 413,
+ GREATEST = 414,
+ GROUP_P = 415,
+ HANDLER = 416,
+ HAVING = 417,
+ HEADER_P = 418,
+ HOLD = 419,
+ HOUR_P = 420,
+ IDENTITY_P = 421,
+ IF_P = 422,
+ ILIKE = 423,
+ IMMEDIATE = 424,
+ IMMUTABLE = 425,
+ IMPLICIT_P = 426,
+ IN_P = 427,
+ INCLUDING = 428,
+ INCREMENT = 429,
+ INDEX = 430,
+ INDEXES = 431,
+ INHERIT = 432,
+ INHERITS = 433,
+ INITIALLY = 434,
+ INLINE_P = 435,
+ INNER_P = 436,
+ INOUT = 437,
+ INPUT_P = 438,
+ INSENSITIVE = 439,
+ INSERT = 440,
+ INSTEAD = 441,
+ INT_P = 442,
+ INTEGER = 443,
+ INTERSECT = 444,
+ INTERVAL = 445,
+ INTO = 446,
+ INVOKER = 447,
+ IS = 448,
+ ISNULL = 449,
+ ISOLATION = 450,
+ JOIN = 451,
+ KEY = 452,
+ LABEL = 453,
+ LANGUAGE = 454,
+ LARGE_P = 455,
+ LAST_P = 456,
+ LATERAL_P = 457,
+ LC_COLLATE_P = 458,
+ LC_CTYPE_P = 459,
+ LEADING = 460,
+ LEAKPROOF = 461,
+ LEAST = 462,
+ LEFT = 463,
+ LEVEL = 464,
+ LIKE = 465,
+ LIMIT = 466,
+ LISTEN = 467,
+ LOAD = 468,
+ LOCAL = 469,
+ LOCALTIME = 470,
+ LOCALTIMESTAMP = 471,
+ LOCATION = 472,
+ LOCK_P = 473,
+ MAPPING = 474,
+ MATCH = 475,
+ MATERIALIZED = 476,
+ MAXVALUE = 477,
+ MINUTE_P = 478,
+ MINVALUE = 479,
+ MODE = 480,
+ MONTH_P = 481,
+ MOVE = 482,
+ NAME_P = 483,
+ NAMES = 484,
+ NATIONAL = 485,
+ NATURAL = 486,
+ NCHAR = 487,
+ NEXT = 488,
+ NO = 489,
+ NONE = 490,
+ NOT = 491,
+ NOTHING = 492,
+ NOTIFY = 493,
+ NOTNULL = 494,
+ NOWAIT = 495,
+ NULL_P = 496,
+ NULLIF = 497,
+ NULLS_P = 498,
+ NUMERIC = 499,
+ OBJECT_P = 500,
+ OF = 501,
+ OFF = 502,
+ OFFSET = 503,
+ OIDS = 504,
+ ON = 505,
+ ONLY = 506,
+ OPERATOR = 507,
+ OPTION = 508,
+ OPTIONS = 509,
+ OR = 510,
+ ORDER = 511,
+ ORDINALITY = 512,
+ OUT_P = 513,
+ OUTER_P = 514,
+ OVER = 515,
+ OVERLAPS = 516,
+ OVERLAY = 517,
+ OWNED = 518,
+ OWNER = 519,
+ PARSER = 520,
+ PARTIAL = 521,
+ PARTITION = 522,
+ PASSING = 523,
+ PASSWORD = 524,
+ PLACING = 525,
+ PLANS = 526,
+ POSITION = 527,
+ PRECEDING = 528,
+ PRECISION = 529,
+ PRESERVE = 530,
+ PREPARE = 531,
+ PREPARED = 532,
+ PRIMARY = 533,
+ PRIOR = 534,
+ PRIVILEGES = 535,
+ PROCEDURAL = 536,
+ PROCEDURE = 537,
+ PROGRAM = 538,
+ QUOTE = 539,
+ RANGE = 540,
+ READ = 541,
+ REAL = 542,
+ REASSIGN = 543,
+ RECHECK = 544,
+ RECURSIVE = 545,
+ REF = 546,
+ REFERENCES = 547,
+ REFRESH = 548,
+ REINDEX = 549,
+ RELATIVE_P = 550,
+ RELEASE = 551,
+ RENAME = 552,
+ REPEATABLE = 553,
+ REPLACE = 554,
+ REPLICA = 555,
+ RESET = 556,
+ RESTART = 557,
+ RESTRICT = 558,
+ RETURNING = 559,
+ RETURNS = 560,
+ REVOKE = 561,
+ RIGHT = 562,
+ ROLE = 563,
+ ROLLBACK = 564,
+ ROW = 565,
+ ROWS = 566,
+ RULE = 567,
+ SAVEPOINT = 568,
+ SCHEMA = 569,
+ SCROLL = 570,
+ SEARCH = 571,
+ SECOND_P = 572,
+ SECURITY = 573,
+ SELECT = 574,
+ SEQUENCE = 575,
+ SEQUENCES = 576,
+ SERIALIZABLE = 577,
+ SERVER = 578,
+ SESSION = 579,
+ SESSION_USER = 580,
+ SET = 581,
+ SETOF = 582,
+ SHARE = 583,
+ SHOW = 584,
+ SIMILAR = 585,
+ SIMPLE = 586,
+ SMALLINT = 587,
+ SNAPSHOT = 588,
+ SOME = 589,
+ STABLE = 590,
+ STANDALONE_P = 591,
+ START = 592,
+ STATEMENT = 593,
+ STATISTICS = 594,
+ STDIN = 595,
+ STDOUT = 596,
+ STORAGE = 597,
+ STRICT_P = 598,
+ STRIP_P = 599,
+ SUBSTRING = 600,
+ SYMMETRIC = 601,
+ SYSID = 602,
+ SYSTEM_P = 603,
+ TABLE = 604,
+ TABLES = 605,
+ TABLESPACE = 606,
+ TEMP = 607,
+ TEMPLATE = 608,
+ TEMPORARY = 609,
+ TEXT_P = 610,
+ THEN = 611,
+ TIME = 612,
+ TIMESTAMP = 613,
+ TO = 614,
+ TRAILING = 615,
+ TRANSACTION = 616,
+ TREAT = 617,
+ TRIGGER = 618,
+ TRIM = 619,
+ TRUE_P = 620,
+ TRUNCATE = 621,
+ TRUSTED = 622,
+ TYPE_P = 623,
+ TYPES_P = 624,
+ UNBOUNDED = 625,
+ UNCOMMITTED = 626,
+ UNENCRYPTED = 627,
+ UNION = 628,
+ UNIQUE = 629,
+ UNKNOWN = 630,
+ UNLISTEN = 631,
+ UNLOGGED = 632,
+ UNTIL = 633,
+ UPDATE = 634,
+ USER = 635,
+ USING = 636,
+ VACUUM = 637,
+ VALID = 638,
+ VALIDATE = 639,
+ VALIDATOR = 640,
+ VALUE_P = 641,
+ VALUES = 642,
+ VARCHAR = 643,
+ VARIADIC = 644,
+ VARYING = 645,
+ VERBOSE = 646,
+ VERSION_P = 647,
+ VIEW = 648,
+ VIEWS = 649,
+ VOLATILE = 650,
+ WHEN = 651,
+ WHERE = 652,
+ WHITESPACE_P = 653,
+ WINDOW = 654,
+ WITH = 655,
+ WITHIN = 656,
+ WITHOUT = 657,
+ WORK = 658,
+ WRAPPER = 659,
+ WRITE = 660,
+ XML_P = 661,
+ XMLATTRIBUTES = 662,
+ XMLCONCAT = 663,
+ XMLELEMENT = 664,
+ XMLEXISTS = 665,
+ XMLFOREST = 666,
+ XMLPARSE = 667,
+ XMLPI = 668,
+ XMLROOT = 669,
+ XMLSERIALIZE = 670,
+ YEAR_P = 671,
+ YES_P = 672,
+ ZONE = 673,
+ NULLS_FIRST = 674,
+ NULLS_LAST = 675,
+ WITH_ORDINALITY = 676,
+ WITH_TIME = 677,
+ POSTFIXOP = 678,
+ UMINUS = 679
};
#endif
/* Tokens. */
@@ -811,292 +860,302 @@ extern int base_yydebug;
#define END_P 381
#define ENUM_P 382
#define ESCAPE 383
-#define EXCEPT 384
-#define EXCLUDE 385
-#define EXCLUDING 386
-#define EXCLUSIVE 387
-#define EXECUTE 388
-#define EXISTS 389
-#define EXPLAIN 390
-#define EXTENSION 391
-#define EXTERNAL 392
-#define EXTRACT 393
-#define FALSE_P 394
-#define FAMILY 395
-#define FETCH 396
-#define FIRST_P 397
-#define FLOAT_P 398
-#define FOLLOWING 399
-#define FOR 400
-#define FORCE 401
-#define FOREIGN 402
-#define FORWARD 403
-#define FREEZE 404
-#define FROM 405
-#define FULL 406
-#define FUNCTION 407
-#define FUNCTIONS 408
-#define GLOBAL 409
-#define GRANT 410
-#define GRANTED 411
-#define GREATEST 412
-#define GROUP_P 413
-#define HANDLER 414
-#define HAVING 415
-#define HEADER_P 416
-#define HOLD 417
-#define HOUR_P 418
-#define IDENTITY_P 419
-#define IF_P 420
-#define ILIKE 421
-#define IMMEDIATE 422
-#define IMMUTABLE 423
-#define IMPLICIT_P 424
-#define IN_P 425
-#define INCLUDING 426
-#define INCREMENT 427
-#define INDEX 428
-#define INDEXES 429
-#define INHERIT 430
-#define INHERITS 431
-#define INITIALLY 432
-#define INLINE_P 433
-#define INNER_P 434
-#define INOUT 435
-#define INPUT_P 436
-#define INSENSITIVE 437
-#define INSERT 438
-#define INSTEAD 439
-#define INT_P 440
-#define INTEGER 441
-#define INTERSECT 442
-#define INTERVAL 443
-#define INTO 444
-#define INVOKER 445
-#define IS 446
-#define ISNULL 447
-#define ISOLATION 448
-#define JOIN 449
-#define KEY 450
-#define LABEL 451
-#define LANGUAGE 452
-#define LARGE_P 453
-#define LAST_P 454
-#define LC_COLLATE_P 455
-#define LC_CTYPE_P 456
-#define LEADING 457
-#define LEAKPROOF 458
-#define LEAST 459
-#define LEFT 460
-#define LEVEL 461
-#define LIKE 462
-#define LIMIT 463
-#define LISTEN 464
-#define LOAD 465
-#define LOCAL 466
-#define LOCALTIME 467
-#define LOCALTIMESTAMP 468
-#define LOCATION 469
-#define LOCK_P 470
-#define MAPPING 471
-#define MATCH 472
-#define MAXVALUE 473
-#define MINUTE_P 474
-#define MINVALUE 475
-#define MODE 476
-#define MONTH_P 477
-#define MOVE 478
-#define NAME_P 479
-#define NAMES 480
-#define NATIONAL 481
-#define NATURAL 482
-#define NCHAR 483
-#define NEXT 484
-#define NO 485
-#define NONE 486
-#define NOT 487
-#define NOTHING 488
-#define NOTIFY 489
-#define NOTNULL 490
-#define NOWAIT 491
-#define NULL_P 492
-#define NULLIF 493
-#define NULLS_P 494
-#define NUMERIC 495
-#define OBJECT_P 496
-#define OF 497
-#define OFF 498
-#define OFFSET 499
-#define OIDS 500
-#define ON 501
-#define ONLY 502
-#define OPERATOR 503
-#define OPTION 504
-#define OPTIONS 505
-#define OR 506
-#define ORDER 507
-#define OUT_P 508
-#define OUTER_P 509
-#define OVER 510
-#define OVERLAPS 511
-#define OVERLAY 512
-#define OWNED 513
-#define OWNER 514
-#define PARSER 515
-#define PARTIAL 516
-#define PARTITION 517
-#define PASSING 518
-#define PASSWORD 519
-#define PLACING 520
-#define PLANS 521
-#define POSITION 522
-#define PRECEDING 523
-#define PRECISION 524
-#define PRESERVE 525
-#define PREPARE 526
-#define PREPARED 527
-#define PRIMARY 528
-#define PRIOR 529
-#define PRIVILEGES 530
-#define PROCEDURAL 531
-#define PROCEDURE 532
-#define QUOTE 533
-#define RANGE 534
-#define READ 535
-#define REAL 536
-#define REASSIGN 537
-#define RECHECK 538
-#define RECURSIVE 539
-#define REF 540
-#define REFERENCES 541
-#define REINDEX 542
-#define RELATIVE_P 543
-#define RELEASE 544
-#define RENAME 545
-#define REPEATABLE 546
-#define REPLACE 547
-#define REPLICA 548
-#define RESET 549
-#define RESTART 550
-#define RESTRICT 551
-#define RETURNING 552
-#define RETURNS 553
-#define REVOKE 554
-#define RIGHT 555
-#define ROLE 556
-#define ROLLBACK 557
-#define ROW 558
-#define ROWS 559
-#define RULE 560
-#define SAVEPOINT 561
-#define SCHEMA 562
-#define SCROLL 563
-#define SEARCH 564
-#define SECOND_P 565
-#define SECURITY 566
-#define SELECT 567
-#define SEQUENCE 568
-#define SEQUENCES 569
-#define SERIALIZABLE 570
-#define SERVER 571
-#define SESSION 572
-#define SESSION_USER 573
-#define SET 574
-#define SETOF 575
-#define SHARE 576
-#define SHOW 577
-#define SIMILAR 578
-#define SIMPLE 579
-#define SMALLINT 580
-#define SNAPSHOT 581
-#define SOME 582
-#define STABLE 583
-#define STANDALONE_P 584
-#define START 585
-#define STATEMENT 586
-#define STATISTICS 587
-#define STDIN 588
-#define STDOUT 589
-#define STORAGE 590
-#define STRICT_P 591
-#define STRIP_P 592
-#define SUBSTRING 593
-#define SYMMETRIC 594
-#define SYSID 595
-#define SYSTEM_P 596
-#define TABLE 597
-#define TABLES 598
-#define TABLESPACE 599
-#define TEMP 600
-#define TEMPLATE 601
-#define TEMPORARY 602
-#define TEXT_P 603
-#define THEN 604
-#define TIME 605
-#define TIMESTAMP 606
-#define TO 607
-#define TRAILING 608
-#define TRANSACTION 609
-#define TREAT 610
-#define TRIGGER 611
-#define TRIM 612
-#define TRUE_P 613
-#define TRUNCATE 614
-#define TRUSTED 615
-#define TYPE_P 616
-#define TYPES_P 617
-#define UNBOUNDED 618
-#define UNCOMMITTED 619
-#define UNENCRYPTED 620
-#define UNION 621
-#define UNIQUE 622
-#define UNKNOWN 623
-#define UNLISTEN 624
-#define UNLOGGED 625
-#define UNTIL 626
-#define UPDATE 627
-#define USER 628
-#define USING 629
-#define VACUUM 630
-#define VALID 631
-#define VALIDATE 632
-#define VALIDATOR 633
-#define VALUE_P 634
-#define VALUES 635
-#define VARCHAR 636
-#define VARIADIC 637
-#define VARYING 638
-#define VERBOSE 639
-#define VERSION_P 640
-#define VIEW 641
-#define VOLATILE 642
-#define WHEN 643
-#define WHERE 644
-#define WHITESPACE_P 645
-#define WINDOW 646
-#define WITH 647
-#define WITHOUT 648
-#define WORK 649
-#define WRAPPER 650
-#define WRITE 651
-#define XML_P 652
-#define XMLATTRIBUTES 653
-#define XMLCONCAT 654
-#define XMLELEMENT 655
-#define XMLEXISTS 656
-#define XMLFOREST 657
-#define XMLPARSE 658
-#define XMLPI 659
-#define XMLROOT 660
-#define XMLSERIALIZE 661
-#define YEAR_P 662
-#define YES_P 663
-#define ZONE 664
-#define NULLS_FIRST 665
-#define NULLS_LAST 666
-#define WITH_TIME 667
-#define POSTFIXOP 668
-#define UMINUS 669
+#define EVENT 384
+#define EXCEPT 385
+#define EXCLUDE 386
+#define EXCLUDING 387
+#define EXCLUSIVE 388
+#define EXECUTE 389
+#define EXISTS 390
+#define EXPLAIN 391
+#define EXTENSION 392
+#define EXTERNAL 393
+#define EXTRACT 394
+#define FALSE_P 395
+#define FAMILY 396
+#define FETCH 397
+#define FILTER 398
+#define FIRST_P 399
+#define FLOAT_P 400
+#define FOLLOWING 401
+#define FOR 402
+#define FORCE 403
+#define FOREIGN 404
+#define FORWARD 405
+#define FREEZE 406
+#define FROM 407
+#define FULL 408
+#define FUNCTION 409
+#define FUNCTIONS 410
+#define GLOBAL 411
+#define GRANT 412
+#define GRANTED 413
+#define GREATEST 414
+#define GROUP_P 415
+#define HANDLER 416
+#define HAVING 417
+#define HEADER_P 418
+#define HOLD 419
+#define HOUR_P 420
+#define IDENTITY_P 421
+#define IF_P 422
+#define ILIKE 423
+#define IMMEDIATE 424
+#define IMMUTABLE 425
+#define IMPLICIT_P 426
+#define IN_P 427
+#define INCLUDING 428
+#define INCREMENT 429
+#define INDEX 430
+#define INDEXES 431
+#define INHERIT 432
+#define INHERITS 433
+#define INITIALLY 434
+#define INLINE_P 435
+#define INNER_P 436
+#define INOUT 437
+#define INPUT_P 438
+#define INSENSITIVE 439
+#define INSERT 440
+#define INSTEAD 441
+#define INT_P 442
+#define INTEGER 443
+#define INTERSECT 444
+#define INTERVAL 445
+#define INTO 446
+#define INVOKER 447
+#define IS 448
+#define ISNULL 449
+#define ISOLATION 450
+#define JOIN 451
+#define KEY 452
+#define LABEL 453
+#define LANGUAGE 454
+#define LARGE_P 455
+#define LAST_P 456
+#define LATERAL_P 457
+#define LC_COLLATE_P 458
+#define LC_CTYPE_P 459
+#define LEADING 460
+#define LEAKPROOF 461
+#define LEAST 462
+#define LEFT 463
+#define LEVEL 464
+#define LIKE 465
+#define LIMIT 466
+#define LISTEN 467
+#define LOAD 468
+#define LOCAL 469
+#define LOCALTIME 470
+#define LOCALTIMESTAMP 471
+#define LOCATION 472
+#define LOCK_P 473
+#define MAPPING 474
+#define MATCH 475
+#define MATERIALIZED 476
+#define MAXVALUE 477
+#define MINUTE_P 478
+#define MINVALUE 479
+#define MODE 480
+#define MONTH_P 481
+#define MOVE 482
+#define NAME_P 483
+#define NAMES 484
+#define NATIONAL 485
+#define NATURAL 486
+#define NCHAR 487
+#define NEXT 488
+#define NO 489
+#define NONE 490
+#define NOT 491
+#define NOTHING 492
+#define NOTIFY 493
+#define NOTNULL 494
+#define NOWAIT 495
+#define NULL_P 496
+#define NULLIF 497
+#define NULLS_P 498
+#define NUMERIC 499
+#define OBJECT_P 500
+#define OF 501
+#define OFF 502
+#define OFFSET 503
+#define OIDS 504
+#define ON 505
+#define ONLY 506
+#define OPERATOR 507
+#define OPTION 508
+#define OPTIONS 509
+#define OR 510
+#define ORDER 511
+#define ORDINALITY 512
+#define OUT_P 513
+#define OUTER_P 514
+#define OVER 515
+#define OVERLAPS 516
+#define OVERLAY 517
+#define OWNED 518
+#define OWNER 519
+#define PARSER 520
+#define PARTIAL 521
+#define PARTITION 522
+#define PASSING 523
+#define PASSWORD 524
+#define PLACING 525
+#define PLANS 526
+#define POSITION 527
+#define PRECEDING 528
+#define PRECISION 529
+#define PRESERVE 530
+#define PREPARE 531
+#define PREPARED 532
+#define PRIMARY 533
+#define PRIOR 534
+#define PRIVILEGES 535
+#define PROCEDURAL 536
+#define PROCEDURE 537
+#define PROGRAM 538
+#define QUOTE 539
+#define RANGE 540
+#define READ 541
+#define REAL 542
+#define REASSIGN 543
+#define RECHECK 544
+#define RECURSIVE 545
+#define REF 546
+#define REFERENCES 547
+#define REFRESH 548
+#define REINDEX 549
+#define RELATIVE_P 550
+#define RELEASE 551
+#define RENAME 552
+#define REPEATABLE 553
+#define REPLACE 554
+#define REPLICA 555
+#define RESET 556
+#define RESTART 557
+#define RESTRICT 558
+#define RETURNING 559
+#define RETURNS 560
+#define REVOKE 561
+#define RIGHT 562
+#define ROLE 563
+#define ROLLBACK 564
+#define ROW 565
+#define ROWS 566
+#define RULE 567
+#define SAVEPOINT 568
+#define SCHEMA 569
+#define SCROLL 570
+#define SEARCH 571
+#define SECOND_P 572
+#define SECURITY 573
+#define SELECT 574
+#define SEQUENCE 575
+#define SEQUENCES 576
+#define SERIALIZABLE 577
+#define SERVER 578
+#define SESSION 579
+#define SESSION_USER 580
+#define SET 581
+#define SETOF 582
+#define SHARE 583
+#define SHOW 584
+#define SIMILAR 585
+#define SIMPLE 586
+#define SMALLINT 587
+#define SNAPSHOT 588
+#define SOME 589
+#define STABLE 590
+#define STANDALONE_P 591
+#define START 592
+#define STATEMENT 593
+#define STATISTICS 594
+#define STDIN 595
+#define STDOUT 596
+#define STORAGE 597
+#define STRICT_P 598
+#define STRIP_P 599
+#define SUBSTRING 600
+#define SYMMETRIC 601
+#define SYSID 602
+#define SYSTEM_P 603
+#define TABLE 604
+#define TABLES 605
+#define TABLESPACE 606
+#define TEMP 607
+#define TEMPLATE 608
+#define TEMPORARY 609
+#define TEXT_P 610
+#define THEN 611
+#define TIME 612
+#define TIMESTAMP 613
+#define TO 614
+#define TRAILING 615
+#define TRANSACTION 616
+#define TREAT 617
+#define TRIGGER 618
+#define TRIM 619
+#define TRUE_P 620
+#define TRUNCATE 621
+#define TRUSTED 622
+#define TYPE_P 623
+#define TYPES_P 624
+#define UNBOUNDED 625
+#define UNCOMMITTED 626
+#define UNENCRYPTED 627
+#define UNION 628
+#define UNIQUE 629
+#define UNKNOWN 630
+#define UNLISTEN 631
+#define UNLOGGED 632
+#define UNTIL 633
+#define UPDATE 634
+#define USER 635
+#define USING 636
+#define VACUUM 637
+#define VALID 638
+#define VALIDATE 639
+#define VALIDATOR 640
+#define VALUE_P 641
+#define VALUES 642
+#define VARCHAR 643
+#define VARIADIC 644
+#define VARYING 645
+#define VERBOSE 646
+#define VERSION_P 647
+#define VIEW 648
+#define VIEWS 649
+#define VOLATILE 650
+#define WHEN 651
+#define WHERE 652
+#define WHITESPACE_P 653
+#define WINDOW 654
+#define WITH 655
+#define WITHIN 656
+#define WITHOUT 657
+#define WORK 658
+#define WRAPPER 659
+#define WRITE 660
+#define XML_P 661
+#define XMLATTRIBUTES 662
+#define XMLCONCAT 663
+#define XMLELEMENT 664
+#define XMLEXISTS 665
+#define XMLFOREST 666
+#define XMLPARSE 667
+#define XMLPI 668
+#define XMLROOT 669
+#define XMLSERIALIZE 670
+#define YEAR_P 671
+#define YES_P 672
+#define ZONE 673
+#define NULLS_FIRST 674
+#define NULLS_LAST 675
+#define WITH_ORDINALITY 676
+#define WITH_TIME 677
+#define POSTFIXOP 678
+#define UMINUS 679
@@ -1104,7 +1163,7 @@ extern int base_yydebug;
typedef union YYSTYPE
{
/* Line 387 of yacc.c */
-#line 172 "gram.y"
+#line 211 "gram.y"
core_YYSTYPE core_yystype;
/* these fields must match core_YYSTYPE: */
@@ -1143,7 +1202,7 @@ typedef union YYSTYPE
/* Line 387 of yacc.c */
-#line 1147 "gram.c"
+#line 1206 "gram.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -1183,7 +1242,7 @@ int base_yyparse ();
/* Copy the second part of user declarations. */
/* Line 390 of yacc.c */
-#line 1187 "gram.c"
+#line 1246 "gram.c"
#ifdef short
# undef short
@@ -1412,22 +1471,22 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 696
+#define YYFINAL 725
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 72676
+#define YYLAST 79553
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 432
+#define YYNTOKENS 442
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 544
+#define YYNNTS 574
/* YYNRULES -- Number of rules. */
-#define YYNRULES 2255
+#define YYNRULES 2364
/* YYNRULES -- Number of states. */
-#define YYNSTATES 4292
+#define YYNSTATES 4567
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 669
+#define YYMAXUTOK 679
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1438,13 +1497,13 @@ static const yytype_uint16 yytranslate[] =
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 421, 2, 2,
- 426, 427, 419, 417, 430, 418, 428, 420, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 431, 429,
- 414, 413, 415, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 431, 2, 2,
+ 436, 437, 429, 427, 440, 428, 438, 430, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 441, 439,
+ 424, 423, 425, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 424, 2, 425, 422, 2, 2, 2, 2, 2,
+ 2, 434, 2, 435, 432, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -1501,7 +1560,8 @@ static const yytype_uint16 yytranslate[] =
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 412, 416, 423
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 426, 433
};
#if YYDEBUG
@@ -1520,1247 +1580,1319 @@ static const yytype_uint16 yyprhs[] =
161, 163, 165, 167, 169, 171, 173, 175, 177, 179,
181, 183, 185, 187, 189, 191, 193, 195, 197, 199,
201, 203, 205, 207, 209, 211, 213, 215, 217, 219,
- 221, 223, 225, 227, 229, 231, 232, 238, 240, 241,
- 244, 245, 248, 249, 252, 255, 259, 263, 265, 269,
- 273, 276, 278, 280, 283, 286, 289, 293, 297, 303,
- 309, 310, 314, 320, 326, 331, 335, 341, 345, 351,
- 357, 364, 366, 368, 372, 378, 385, 390, 392, 393,
- 396, 397, 399, 401, 403, 405, 407, 409, 412, 416,
- 420, 423, 429, 431, 435, 439, 443, 447, 451, 455,
- 458, 461, 464, 467, 471, 475, 479, 483, 485, 489,
- 491, 495, 497, 499, 502, 505, 508, 510, 512, 514,
- 516, 518, 520, 522, 526, 533, 535, 537, 539, 541,
- 543, 544, 546, 548, 551, 555, 560, 564, 567, 570,
- 572, 575, 577, 580, 584, 589, 593, 596, 601, 603,
- 605, 607, 609, 611, 614, 617, 620, 623, 628, 635,
- 640, 647, 652, 659, 664, 671, 673, 677, 680, 684,
- 689, 696, 703, 710, 716, 722, 729, 736, 741, 750,
- 755, 758, 762, 769, 774, 778, 782, 786, 790, 794,
- 799, 804, 808, 812, 816, 820, 824, 828, 833, 838,
- 842, 845, 849, 852, 855, 859, 863, 866, 869, 871,
- 875, 878, 880, 882, 883, 886, 887, 890, 891, 895,
- 898, 899, 901, 905, 909, 911, 917, 921, 926, 928,
- 932, 937, 944, 949, 958, 961, 964, 975, 982, 984,
- 986, 988, 990, 992, 994, 998, 1001, 1002, 1004, 1006,
- 1010, 1014, 1016, 1018, 1022, 1026, 1030, 1034, 1039, 1042,
- 1044, 1045, 1048, 1049, 1053, 1054, 1056, 1057, 1059, 1063,
- 1066, 1068, 1070, 1072, 1076, 1077, 1079, 1083, 1085, 1097,
- 1112, 1123, 1137, 1139, 1141, 1144, 1147, 1150, 1153, 1155,
- 1156, 1158, 1159, 1163, 1164, 1166, 1170, 1172, 1176, 1178,
- 1180, 1182, 1184, 1186, 1191, 1196, 1199, 1200, 1204, 1206,
- 1208, 1211, 1214, 1216, 1220, 1225, 1231, 1234, 1240, 1242,
- 1245, 1248, 1251, 1255, 1259, 1263, 1264, 1266, 1268, 1270,
- 1272, 1274, 1276, 1280, 1282, 1288, 1296, 1300, 1309, 1314,
- 1324, 1336, 1339, 1340, 1344, 1345, 1347, 1351, 1353, 1356,
- 1359, 1362, 1363, 1365, 1369, 1373, 1380, 1385, 1386, 1388,
- 1390, 1393, 1396, 1397, 1401, 1405, 1408, 1410, 1412, 1415,
- 1418, 1423, 1424, 1427, 1430, 1433, 1434, 1438, 1443, 1448,
- 1449, 1452, 1453, 1458, 1459, 1463, 1471, 1477, 1480, 1484,
- 1485, 1491, 1496, 1503, 1505, 1506, 1508, 1511, 1514, 1516,
- 1519, 1523, 1526, 1529, 1532, 1535, 1539, 1543, 1545, 1549,
- 1551, 1552, 1554, 1557, 1559, 1561, 1565, 1572, 1583, 1585,
- 1586, 1588, 1591, 1594, 1595, 1598, 1601, 1603, 1604, 1610,
- 1618, 1620, 1621, 1628, 1631, 1632, 1636, 1642, 1648, 1657,
- 1660, 1661, 1664, 1667, 1670, 1676, 1679, 1680, 1683, 1691,
- 1702, 1709, 1716, 1723, 1730, 1738, 1746, 1756, 1766, 1773,
- 1780, 1789, 1798, 1807, 1816, 1823, 1830, 1838, 1847, 1854,
- 1861, 1869, 1872, 1875, 1878, 1881, 1883, 1886, 1888, 1889,
- 1896, 1905, 1913, 1920, 1925, 1926, 1928, 1932, 1937, 1939,
- 1943, 1945, 1948, 1951, 1954, 1957, 1959, 1961, 1972, 1975,
- 1976, 1979, 1982, 1984, 1985, 1990, 1997, 2003, 2008, 2013,
- 2022, 2034, 2038, 2041, 2043, 2047, 2049, 2055, 2063, 2072,
- 2074, 2076, 2078, 2086, 2096, 2105, 2121, 2142, 2144, 2146,
- 2149, 2151, 2155, 2157, 2159, 2161, 2165, 2167, 2171, 2172,
- 2174, 2175, 2177, 2179, 2184, 2185, 2187, 2191, 2192, 2194,
- 2196, 2198, 2200, 2203, 2204, 2205, 2208, 2211, 2213, 2216,
- 2219, 2222, 2225, 2232, 2241, 2250, 2255, 2261, 2266, 2271,
- 2276, 2280, 2288, 2297, 2304, 2311, 2318, 2325, 2332, 2337,
- 2343, 2347, 2349, 2353, 2357, 2359, 2361, 2363, 2365, 2367,
- 2369, 2373, 2377, 2381, 2383, 2387, 2391, 2393, 2394, 2396,
- 2400, 2407, 2416, 2425, 2439, 2441, 2445, 2451, 2458, 2463,
- 2471, 2474, 2476, 2477, 2480, 2481, 2484, 2489, 2490, 2492,
- 2493, 2500, 2509, 2518, 2520, 2524, 2530, 2536, 2544, 2554,
- 2562, 2572, 2578, 2585, 2592, 2597, 2603, 2611, 2613, 2615,
- 2617, 2619, 2622, 2624, 2626, 2628, 2630, 2632, 2634, 2638,
- 2642, 2646, 2650, 2652, 2656, 2658, 2661, 2664, 2668, 2674,
- 2677, 2680, 2681, 2688, 2696, 2704, 2712, 2721, 2730, 2737,
- 2746, 2756, 2766, 2774, 2785, 2793, 2802, 2811, 2820, 2829,
- 2831, 2833, 2835, 2837, 2839, 2841, 2843, 2845, 2847, 2849,
- 2851, 2853, 2855, 2857, 2860, 2862, 2866, 2868, 2870, 2879,
- 2889, 2899, 2909, 2919, 2922, 2923, 2925, 2927, 2930, 2932,
- 2934, 2936, 2938, 2940, 2942, 2944, 2946, 2948, 2950, 2953,
- 2956, 2958, 2961, 2965, 2969, 2973, 2977, 2982, 2987, 2991,
- 2995, 2999, 3004, 3009, 3013, 3018, 3023, 3025, 3027, 3029,
- 3030, 3038, 3046, 3057, 3059, 3061, 3064, 3069, 3075, 3077,
- 3081, 3084, 3087, 3090, 3093, 3095, 3098, 3101, 3106, 3110,
- 3113, 3116, 3119, 3122, 3126, 3129, 3132, 3135, 3141, 3147,
- 3153, 3155, 3159, 3161, 3164, 3168, 3169, 3171, 3175, 3178,
- 3185, 3192, 3202, 3206, 3207, 3211, 3212, 3218, 3221, 3222,
- 3226, 3230, 3234, 3242, 3250, 3261, 3263, 3265, 3267, 3269,
- 3284, 3286, 3287, 3289, 3290, 3292, 3293, 3296, 3297, 3299,
- 3303, 3309, 3315, 3323, 3326, 3327, 3329, 3332, 3333, 3335,
- 3337, 3338, 3340, 3342, 3343, 3353, 3366, 3374, 3377, 3378,
- 3382, 3385, 3387, 3391, 3395, 3398, 3400, 3404, 3408, 3412,
- 3415, 3418, 3420, 3422, 3424, 3426, 3429, 3431, 3433, 3435,
- 3437, 3442, 3448, 3450, 3454, 3458, 3460, 3463, 3468, 3474,
- 3476, 3478, 3480, 3482, 3486, 3490, 3493, 3496, 3498, 3501,
- 3504, 3507, 3509, 3512, 3515, 3517, 3519, 3521, 3525, 3528,
- 3529, 3532, 3534, 3538, 3544, 3546, 3549, 3551, 3552, 3558,
- 3566, 3572, 3580, 3586, 3594, 3598, 3604, 3610, 3616, 3618,
- 3622, 3625, 3627, 3630, 3632, 3635, 3647, 3658, 3669, 3672,
- 3675, 3676, 3686, 3689, 3690, 3695, 3700, 3705, 3707, 3709,
- 3711, 3712, 3720, 3727, 3734, 3741, 3748, 3757, 3766, 3773,
- 3780, 3788, 3798, 3808, 3815, 3822, 3829, 3838, 3845, 3854,
- 3861, 3870, 3877, 3886, 3894, 3904, 3913, 3924, 3933, 3943,
- 3955, 3964, 3971, 3978, 3985, 3991, 3997, 4006, 4015, 4024,
- 4033, 4040, 4050, 4052, 4053, 4056, 4057, 4065, 4072, 4079,
- 4086, 4093, 4100, 4108, 4118, 4128, 4135, 4144, 4153, 4162,
- 4171, 4180, 4187, 4196, 4203, 4212, 4220, 4230, 4237, 4245,
- 4252, 4259, 4266, 4273, 4280, 4288, 4296, 4304, 4314, 4324,
- 4331, 4338, 4345, 4354, 4363, 4372, 4379, 4393, 4395, 4397,
- 4401, 4405, 4407, 4409, 4411, 4413, 4415, 4417, 4419, 4420,
- 4422, 4424, 4426, 4428, 4430, 4432, 4433, 4440, 4449, 4453,
- 4456, 4457, 4460, 4463, 4466, 4469, 4473, 4477, 4480, 4483,
- 4486, 4489, 4493, 4496, 4502, 4507, 4511, 4515, 4519, 4521,
- 4523, 4524, 4528, 4531, 4534, 4536, 4539, 4541, 4545, 4548,
- 4550, 4551, 4561, 4573, 4577, 4582, 4587, 4588, 4591, 4597,
- 4600, 4601, 4605, 4609, 4613, 4617, 4621, 4625, 4629, 4633,
- 4637, 4641, 4645, 4649, 4653, 4658, 4662, 4666, 4668, 4669,
- 4675, 4682, 4687, 4690, 4691, 4696, 4700, 4706, 4713, 4718,
- 4725, 4732, 4738, 4746, 4756, 4763, 4765, 4766, 4773, 4785,
- 4797, 4809, 4823, 4833, 4845, 4856, 4861, 4864, 4870, 4873,
- 4874, 4879, 4885, 4891, 4896, 4903, 4905, 4909, 4911, 4913,
- 4915, 4917, 4920, 4925, 4927, 4929, 4931, 4932, 4934, 4935,
- 4937, 4938, 4942, 4943, 4946, 4951, 4955, 4961, 4963, 4965,
- 4967, 4969, 4971, 4973, 4975, 4977, 4981, 4984, 4986, 4988,
- 4990, 4992, 4994, 4995, 5001, 5005, 5006, 5008, 5010, 5012,
- 5014, 5018, 5028, 5032, 5033, 5036, 5040, 5043, 5047, 5054,
- 5056, 5061, 5064, 5066, 5070, 5073, 5076, 5077, 5085, 5088,
- 5089, 5095, 5099, 5100, 5103, 5106, 5109, 5113, 5115, 5119,
- 5121, 5124, 5126, 5127, 5136, 5138, 5142, 5144, 5146, 5150,
- 5156, 5159, 5161, 5165, 5173, 5175, 5176, 5180, 5183, 5186,
- 5189, 5190, 5193, 5196, 5198, 5200, 5204, 5208, 5210, 5213,
- 5218, 5223, 5226, 5230, 5236, 5242, 5244, 5246, 5256, 5258,
- 5261, 5266, 5271, 5276, 5279, 5283, 5285, 5289, 5296, 5298,
- 5299, 5302, 5303, 5307, 5311, 5316, 5321, 5326, 5331, 5335,
- 5338, 5340, 5342, 5343, 5345, 5347, 5348, 5350, 5356, 5358,
- 5359, 5361, 5362, 5366, 5368, 5372, 5377, 5381, 5384, 5387,
- 5389, 5391, 5393, 5394, 5397, 5402, 5408, 5411, 5415, 5417,
- 5419, 5421, 5423, 5427, 5428, 5430, 5432, 5434, 5436, 5438,
- 5442, 5443, 5446, 5447, 5449, 5453, 5455, 5456, 5458, 5461,
- 5466, 5471, 5474, 5475, 5478, 5482, 5485, 5486, 5488, 5492,
- 5494, 5497, 5499, 5502, 5508, 5515, 5521, 5523, 5526, 5528,
- 5533, 5537, 5542, 5548, 5553, 5559, 5564, 5570, 5573, 5578,
- 5580, 5583, 5586, 5589, 5591, 5593, 5594, 5599, 5602, 5604,
- 5607, 5610, 5615, 5617, 5621, 5623, 5626, 5630, 5632, 5635,
- 5636, 5639, 5644, 5645, 5647, 5648, 5650, 5654, 5658, 5661,
- 5665, 5671, 5678, 5681, 5685, 5689, 5694, 5695, 5697, 5699,
- 5701, 5703, 5705, 5708, 5714, 5716, 5718, 5720, 5722, 5725,
- 5729, 5733, 5734, 5736, 5738, 5740, 5742, 5744, 5747, 5750,
- 5753, 5756, 5759, 5761, 5765, 5766, 5768, 5770, 5772, 5774,
- 5780, 5783, 5785, 5787, 5789, 5791, 5797, 5800, 5803, 5806,
- 5808, 5812, 5816, 5819, 5821, 5822, 5826, 5827, 5833, 5836,
- 5842, 5845, 5847, 5850, 5854, 5855, 5857, 5859, 5861, 5863,
- 5865, 5867, 5871, 5875, 5879, 5883, 5887, 5891, 5895, 5896,
- 5898, 5903, 5905, 5909, 5913, 5919, 5922, 5925, 5929, 5933,
- 5937, 5941, 5945, 5949, 5953, 5957, 5961, 5965, 5968, 5971,
- 5975, 5979, 5982, 5986, 5992, 5997, 6004, 6008, 6014, 6019,
- 6026, 6031, 6038, 6044, 6052, 6056, 6059, 6064, 6067, 6071,
- 6075, 6080, 6084, 6089, 6093, 6098, 6104, 6111, 6118, 6126,
- 6133, 6141, 6148, 6156, 6160, 6165, 6170, 6177, 6180, 6184,
- 6189, 6191, 6195, 6198, 6201, 6205, 6209, 6213, 6217, 6221,
- 6225, 6229, 6233, 6237, 6241, 6244, 6247, 6253, 6260, 6267,
- 6275, 6279, 6284, 6286, 6288, 6291, 6296, 6298, 6300, 6302,
- 6305, 6308, 6311, 6314, 6316, 6321, 6327, 6334, 6343, 6350,
- 6358, 6366, 6372, 6378, 6380, 6382, 6387, 6389, 6394, 6396,
- 6401, 6403, 6408, 6410, 6412, 6414, 6416, 6418, 6420, 6427,
- 6432, 6437, 6442, 6447, 6454, 6460, 6466, 6472, 6477, 6484,
- 6489, 6494, 6499, 6504, 6510, 6518, 6526, 6536, 6542, 6547,
- 6554, 6560, 6568, 6576, 6584, 6587, 6591, 6595, 6599, 6604,
- 6605, 6610, 6612, 6616, 6620, 6622, 6624, 6626, 6629, 6632,
- 6633, 6636, 6641, 6646, 6653, 6656, 6657, 6659, 6663, 6667,
- 6670, 6673, 6674, 6681, 6683, 6684, 6688, 6689, 6692, 6695,
- 6696, 6698, 6703, 6706, 6709, 6712, 6715, 6718, 6723, 6727,
- 6733, 6735, 6737, 6739, 6741, 6743, 6745, 6747, 6749, 6751,
- 6753, 6755, 6757, 6759, 6761, 6763, 6768, 6770, 6775, 6777,
- 6782, 6784, 6787, 6789, 6792, 6794, 6798, 6800, 6804, 6806,
- 6810, 6812, 6816, 6820, 6824, 6827, 6829, 6833, 6837, 6838,
- 6840, 6842, 6844, 6846, 6848, 6850, 6852, 6854, 6859, 6863,
- 6866, 6870, 6871, 6875, 6879, 6882, 6885, 6887, 6888, 6891,
- 6894, 6898, 6901, 6903, 6905, 6909, 6915, 6917, 6920, 6925,
- 6928, 6929, 6931, 6932, 6934, 6937, 6940, 6943, 6947, 6953,
- 6955, 6958, 6959, 6962, 6964, 6965, 6967, 6969, 6971, 6975,
- 6979, 6981, 6985, 6989, 6992, 6994, 6996, 6998, 7002, 7004,
- 7007, 7009, 7013, 7015, 7017, 7019, 7021, 7023, 7025, 7027,
- 7030, 7032, 7034, 7036, 7038, 7040, 7043, 7049, 7052, 7056,
- 7063, 7065, 7067, 7069, 7071, 7073, 7075, 7077, 7080, 7083,
- 7085, 7087, 7089, 7091, 7093, 7095, 7097, 7099, 7101, 7103,
- 7105, 7107, 7109, 7111, 7113, 7115, 7117, 7119, 7121, 7123,
- 7125, 7127, 7129, 7131, 7133, 7135, 7137, 7139, 7141, 7143,
- 7145, 7147, 7149, 7151, 7153, 7155, 7157, 7159, 7161, 7163,
- 7165, 7167, 7169, 7171, 7173, 7175, 7177, 7179, 7181, 7183,
- 7185, 7187, 7189, 7191, 7193, 7195, 7197, 7199, 7201, 7203,
- 7205, 7207, 7209, 7211, 7213, 7215, 7217, 7219, 7221, 7223,
- 7225, 7227, 7229, 7231, 7233, 7235, 7237, 7239, 7241, 7243,
- 7245, 7247, 7249, 7251, 7253, 7255, 7257, 7259, 7261, 7263,
- 7265, 7267, 7269, 7271, 7273, 7275, 7277, 7279, 7281, 7283,
- 7285, 7287, 7289, 7291, 7293, 7295, 7297, 7299, 7301, 7303,
- 7305, 7307, 7309, 7311, 7313, 7315, 7317, 7319, 7321, 7323,
- 7325, 7327, 7329, 7331, 7333, 7335, 7337, 7339, 7341, 7343,
- 7345, 7347, 7349, 7351, 7353, 7355, 7357, 7359, 7361, 7363,
- 7365, 7367, 7369, 7371, 7373, 7375, 7377, 7379, 7381, 7383,
- 7385, 7387, 7389, 7391, 7393, 7395, 7397, 7399, 7401, 7403,
- 7405, 7407, 7409, 7411, 7413, 7415, 7417, 7419, 7421, 7423,
- 7425, 7427, 7429, 7431, 7433, 7435, 7437, 7439, 7441, 7443,
- 7445, 7447, 7449, 7451, 7453, 7455, 7457, 7459, 7461, 7463,
- 7465, 7467, 7469, 7471, 7473, 7475, 7477, 7479, 7481, 7483,
- 7485, 7487, 7489, 7491, 7493, 7495, 7497, 7499, 7501, 7503,
- 7505, 7507, 7509, 7511, 7513, 7515, 7517, 7519, 7521, 7523,
- 7525, 7527, 7529, 7531, 7533, 7535, 7537, 7539, 7541, 7543,
- 7545, 7547, 7549, 7551, 7553, 7555, 7557, 7559, 7561, 7563,
- 7565, 7567, 7569, 7571, 7573, 7575, 7577, 7579, 7581, 7583,
- 7585, 7587, 7589, 7591, 7593, 7595, 7597, 7599, 7601, 7603,
- 7605, 7607, 7609, 7611, 7613, 7615, 7617, 7619, 7621, 7623,
- 7625, 7627, 7629, 7631, 7633, 7635, 7637, 7639, 7641, 7643,
- 7645, 7647, 7649, 7651, 7653, 7655, 7657, 7659, 7661, 7663,
- 7665, 7667, 7669, 7671, 7673, 7675, 7677, 7679, 7681, 7683,
- 7685, 7687, 7689, 7691, 7693, 7695, 7697, 7699, 7701, 7703,
- 7705, 7707, 7709, 7711, 7713, 7715, 7717, 7719, 7721, 7723,
- 7725, 7727, 7729, 7731, 7733, 7735, 7737, 7739, 7741, 7743,
- 7745, 7747, 7749, 7751, 7753, 7755, 7757, 7759, 7761, 7763,
- 7765, 7767, 7769, 7771, 7773, 7775, 7777, 7779, 7781, 7783,
- 7785, 7787, 7789, 7791, 7793, 7795, 7797, 7799, 7801, 7803,
- 7805, 7807, 7809, 7811, 7813, 7815, 7817, 7819, 7821, 7823,
- 7825, 7827, 7829, 7831, 7833, 7835, 7837, 7839, 7841, 7843,
- 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 7861, 7863,
- 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881, 7883,
- 7885, 7887, 7889, 7891, 7893, 7895
+ 221, 223, 225, 227, 229, 231, 233, 235, 237, 239,
+ 241, 243, 244, 250, 252, 253, 256, 257, 260, 261,
+ 264, 267, 271, 275, 277, 281, 285, 288, 290, 292,
+ 295, 298, 301, 305, 309, 315, 321, 322, 326, 332,
+ 338, 344, 349, 353, 359, 363, 369, 375, 382, 384,
+ 386, 390, 396, 403, 408, 418, 426, 428, 429, 432,
+ 433, 435, 437, 439, 441, 443, 445, 448, 452, 456,
+ 459, 465, 467, 471, 475, 479, 483, 485, 489, 493,
+ 496, 499, 502, 505, 509, 513, 517, 521, 523, 527,
+ 529, 533, 535, 537, 540, 543, 546, 548, 550, 552,
+ 554, 556, 558, 560, 564, 571, 573, 575, 577, 579,
+ 581, 582, 584, 586, 589, 593, 598, 602, 605, 608,
+ 610, 613, 615, 618, 622, 627, 631, 634, 639, 641,
+ 643, 645, 647, 649, 652, 655, 658, 661, 664, 669,
+ 676, 681, 688, 693, 700, 705, 712, 718, 726, 728,
+ 732, 735, 739, 744, 751, 758, 765, 771, 777, 784,
+ 791, 796, 805, 810, 813, 818, 822, 829, 834, 838,
+ 842, 846, 850, 854, 859, 864, 868, 872, 876, 880,
+ 884, 888, 893, 898, 902, 905, 909, 912, 915, 919,
+ 923, 926, 929, 933, 935, 939, 942, 944, 946, 947,
+ 950, 951, 954, 955, 957, 959, 961, 965, 969, 972,
+ 973, 975, 979, 983, 985, 991, 995, 1000, 1002, 1006,
+ 1011, 1018, 1023, 1032, 1035, 1038, 1050, 1058, 1060, 1062,
+ 1064, 1065, 1067, 1069, 1071, 1073, 1077, 1080, 1081, 1083,
+ 1085, 1087, 1091, 1095, 1097, 1099, 1103, 1107, 1111, 1115,
+ 1120, 1124, 1127, 1129, 1130, 1133, 1134, 1138, 1139, 1141,
+ 1142, 1144, 1148, 1151, 1153, 1155, 1157, 1161, 1162, 1164,
+ 1168, 1170, 1182, 1197, 1208, 1222, 1224, 1226, 1229, 1232,
+ 1235, 1238, 1240, 1241, 1243, 1244, 1248, 1249, 1251, 1255,
+ 1257, 1261, 1263, 1265, 1267, 1269, 1271, 1276, 1281, 1284,
+ 1285, 1289, 1291, 1293, 1296, 1299, 1301, 1305, 1310, 1316,
+ 1319, 1325, 1327, 1330, 1333, 1336, 1340, 1344, 1348, 1349,
+ 1351, 1353, 1355, 1357, 1359, 1361, 1365, 1367, 1373, 1381,
+ 1385, 1394, 1399, 1409, 1421, 1424, 1425, 1429, 1430, 1432,
+ 1436, 1438, 1441, 1444, 1447, 1448, 1450, 1454, 1458, 1465,
+ 1470, 1471, 1473, 1475, 1478, 1481, 1482, 1486, 1490, 1493,
+ 1495, 1497, 1500, 1503, 1508, 1509, 1512, 1515, 1518, 1519,
+ 1523, 1528, 1533, 1534, 1537, 1538, 1543, 1544, 1548, 1556,
+ 1562, 1565, 1569, 1570, 1579, 1584, 1586, 1587, 1594, 1600,
+ 1605, 1612, 1614, 1615, 1617, 1620, 1623, 1625, 1628, 1632,
+ 1635, 1638, 1641, 1644, 1648, 1652, 1654, 1658, 1660, 1661,
+ 1663, 1666, 1668, 1670, 1674, 1681, 1692, 1694, 1695, 1697,
+ 1700, 1703, 1704, 1707, 1710, 1712, 1713, 1719, 1727, 1729,
+ 1730, 1738, 1741, 1742, 1746, 1752, 1758, 1767, 1770, 1771,
+ 1774, 1777, 1780, 1786, 1789, 1790, 1793, 1801, 1812, 1819,
+ 1826, 1833, 1840, 1848, 1856, 1866, 1876, 1883, 1891, 1898,
+ 1907, 1916, 1925, 1934, 1941, 1948, 1956, 1964, 1973, 1980,
+ 1987, 1995, 1998, 2001, 2004, 2007, 2009, 2012, 2014, 2015,
+ 2022, 2031, 2039, 2046, 2051, 2052, 2054, 2058, 2063, 2065,
+ 2069, 2071, 2074, 2077, 2080, 2083, 2085, 2087, 2098, 2101,
+ 2102, 2105, 2108, 2110, 2111, 2116, 2123, 2129, 2134, 2139,
+ 2150, 2164, 2170, 2178, 2187, 2189, 2191, 2193, 2201, 2211,
+ 2220, 2236, 2257, 2259, 2261, 2264, 2266, 2270, 2272, 2274,
+ 2276, 2280, 2282, 2286, 2287, 2289, 2290, 2292, 2294, 2299,
+ 2300, 2302, 2306, 2307, 2309, 2311, 2313, 2315, 2318, 2319,
+ 2320, 2323, 2326, 2328, 2331, 2334, 2337, 2340, 2347, 2356,
+ 2368, 2382, 2384, 2388, 2394, 2396, 2400, 2406, 2408, 2411,
+ 2414, 2416, 2425, 2430, 2436, 2441, 2446, 2451, 2455, 2463,
+ 2472, 2479, 2486, 2493, 2500, 2507, 2512, 2518, 2522, 2524,
+ 2528, 2532, 2534, 2536, 2538, 2540, 2542, 2544, 2548, 2550,
+ 2554, 2558, 2560, 2561, 2563, 2567, 2575, 2585, 2595, 2599,
+ 2600, 2614, 2616, 2620, 2626, 2633, 2638, 2646, 2649, 2651,
+ 2652, 2655, 2656, 2659, 2664, 2665, 2667, 2668, 2675, 2684,
+ 2693, 2695, 2699, 2705, 2711, 2719, 2729, 2737, 2747, 2753,
+ 2760, 2767, 2772, 2778, 2786, 2788, 2790, 2792, 2795, 2797,
+ 2800, 2803, 2805, 2807, 2809, 2811, 2813, 2815, 2819, 2823,
+ 2827, 2831, 2833, 2837, 2839, 2842, 2845, 2849, 2855, 2858,
+ 2861, 2862, 2869, 2877, 2885, 2893, 2902, 2911, 2918, 2927,
+ 2937, 2947, 2955, 2966, 2974, 2976, 2978, 2980, 2982, 2984,
+ 2986, 2988, 2990, 2992, 2995, 2997, 2999, 3001, 3003, 3005,
+ 3008, 3010, 3014, 3017, 3021, 3025, 3029, 3033, 3035, 3037,
+ 3046, 3056, 3066, 3076, 3086, 3089, 3090, 3092, 3094, 3097,
+ 3100, 3102, 3104, 3106, 3108, 3110, 3112, 3114, 3116, 3119,
+ 3121, 3123, 3126, 3129, 3131, 3134, 3138, 3142, 3146, 3150,
+ 3155, 3160, 3164, 3168, 3172, 3177, 3182, 3186, 3191, 3196,
+ 3198, 3200, 3202, 3203, 3211, 3219, 3230, 3232, 3234, 3237,
+ 3242, 3248, 3250, 3254, 3257, 3260, 3263, 3266, 3268, 3271,
+ 3274, 3279, 3283, 3286, 3289, 3292, 3295, 3299, 3302, 3305,
+ 3308, 3314, 3320, 3326, 3328, 3332, 3334, 3337, 3341, 3342,
+ 3344, 3348, 3351, 3358, 3365, 3375, 3379, 3380, 3384, 3385,
+ 3391, 3394, 3395, 3399, 3403, 3407, 3415, 3423, 3434, 3436,
+ 3438, 3440, 3442, 3457, 3459, 3460, 3462, 3463, 3465, 3466,
+ 3469, 3470, 3472, 3476, 3482, 3488, 3496, 3499, 3500, 3502,
+ 3505, 3506, 3508, 3510, 3511, 3513, 3515, 3516, 3526, 3539,
+ 3547, 3550, 3551, 3555, 3558, 3560, 3564, 3568, 3571, 3573,
+ 3577, 3581, 3585, 3588, 3591, 3593, 3595, 3597, 3599, 3602,
+ 3604, 3606, 3608, 3610, 3615, 3621, 3623, 3627, 3631, 3633,
+ 3637, 3641, 3647, 3654, 3656, 3660, 3662, 3665, 3670, 3676,
+ 3678, 3680, 3682, 3684, 3688, 3692, 3695, 3698, 3700, 3703,
+ 3706, 3709, 3711, 3714, 3717, 3719, 3721, 3723, 3727, 3730,
+ 3731, 3734, 3736, 3740, 3746, 3748, 3751, 3753, 3754, 3760,
+ 3768, 3774, 3782, 3788, 3796, 3800, 3806, 3812, 3818, 3820,
+ 3824, 3827, 3829, 3832, 3834, 3837, 3849, 3860, 3871, 3874,
+ 3877, 3878, 3888, 3891, 3892, 3897, 3902, 3907, 3909, 3911,
+ 3913, 3914, 3923, 3932, 3941, 3951, 3963, 3975, 3987, 4000,
+ 4006, 4012, 4020, 4027, 4034, 4041, 4048, 4057, 4066, 4073,
+ 4080, 4088, 4098, 4108, 4115, 4122, 4129, 4138, 4145, 4154,
+ 4161, 4170, 4178, 4188, 4195, 4204, 4212, 4222, 4231, 4242,
+ 4252, 4264, 4273, 4283, 4295, 4304, 4313, 4321, 4328, 4335,
+ 4342, 4351, 4360, 4369, 4378, 4385, 4395, 4397, 4398, 4401,
+ 4402, 4410, 4417, 4424, 4431, 4438, 4445, 4453, 4463, 4473,
+ 4480, 4489, 4498, 4507, 4516, 4525, 4532, 4541, 4548, 4557,
+ 4565, 4575, 4583, 4593, 4600, 4608, 4615, 4622, 4629, 4636,
+ 4643, 4651, 4659, 4667, 4677, 4687, 4694, 4701, 4708, 4717,
+ 4726, 4735, 4742, 4750, 4764, 4766, 4768, 4772, 4776, 4778,
+ 4780, 4782, 4784, 4786, 4788, 4790, 4791, 4793, 4795, 4797,
+ 4799, 4801, 4803, 4804, 4811, 4820, 4824, 4827, 4828, 4831,
+ 4834, 4837, 4840, 4844, 4848, 4851, 4854, 4857, 4860, 4864,
+ 4867, 4873, 4878, 4882, 4886, 4890, 4892, 4894, 4895, 4899,
+ 4902, 4905, 4907, 4910, 4912, 4916, 4919, 4921, 4922, 4932,
+ 4944, 4957, 4972, 4976, 4981, 4986, 4987, 4990, 4996, 4999,
+ 5000, 5004, 5008, 5012, 5016, 5020, 5024, 5028, 5032, 5036,
+ 5040, 5044, 5048, 5052, 5057, 5061, 5065, 5067, 5068, 5074,
+ 5081, 5086, 5089, 5090, 5095, 5099, 5105, 5110, 5117, 5122,
+ 5129, 5136, 5142, 5150, 5160, 5167, 5169, 5170, 5177, 5189,
+ 5201, 5213, 5227, 5237, 5249, 5260, 5265, 5268, 5274, 5277,
+ 5278, 5283, 5289, 5295, 5300, 5307, 5309, 5313, 5315, 5317,
+ 5319, 5321, 5324, 5329, 5331, 5333, 5335, 5336, 5338, 5339,
+ 5341, 5342, 5346, 5347, 5350, 5355, 5359, 5365, 5367, 5369,
+ 5371, 5373, 5375, 5377, 5379, 5381, 5383, 5385, 5389, 5392,
+ 5394, 5396, 5398, 5400, 5401, 5407, 5411, 5412, 5414, 5416,
+ 5418, 5420, 5424, 5434, 5438, 5439, 5442, 5446, 5449, 5453,
+ 5460, 5462, 5467, 5470, 5472, 5476, 5479, 5482, 5483, 5491,
+ 5494, 5495, 5501, 5505, 5506, 5509, 5512, 5515, 5519, 5521,
+ 5525, 5527, 5530, 5532, 5533, 5542, 5544, 5548, 5550, 5552,
+ 5556, 5562, 5565, 5567, 5571, 5579, 5581, 5582, 5586, 5589,
+ 5592, 5595, 5596, 5599, 5602, 5604, 5606, 5610, 5614, 5616,
+ 5619, 5624, 5629, 5632, 5636, 5642, 5648, 5650, 5652, 5662,
+ 5664, 5667, 5672, 5677, 5682, 5685, 5689, 5691, 5695, 5702,
+ 5704, 5705, 5708, 5709, 5713, 5717, 5722, 5727, 5732, 5737,
+ 5741, 5744, 5746, 5748, 5749, 5751, 5753, 5754, 5756, 5762,
+ 5764, 5765, 5767, 5768, 5772, 5774, 5778, 5783, 5787, 5790,
+ 5793, 5795, 5797, 5799, 5800, 5803, 5808, 5814, 5817, 5821,
+ 5823, 5825, 5827, 5829, 5833, 5834, 5836, 5838, 5840, 5842,
+ 5844, 5848, 5849, 5852, 5853, 5855, 5859, 5861, 5862, 5864,
+ 5867, 5871, 5874, 5879, 5882, 5886, 5889, 5890, 5893, 5897,
+ 5900, 5901, 5903, 5907, 5910, 5913, 5917, 5920, 5924, 5926,
+ 5931, 5935, 5940, 5946, 5951, 5957, 5962, 5968, 5971, 5976,
+ 5978, 5980, 5981, 5983, 5988, 5994, 5999, 6000, 6003, 6006,
+ 6009, 6011, 6013, 6014, 6019, 6022, 6024, 6027, 6030, 6035,
+ 6037, 6041, 6043, 6046, 6050, 6053, 6060, 6063, 6065, 6069,
+ 6074, 6075, 6077, 6078, 6081, 6082, 6085, 6090, 6091, 6093,
+ 6094, 6096, 6100, 6104, 6107, 6111, 6117, 6124, 6127, 6131,
+ 6135, 6140, 6141, 6143, 6145, 6147, 6149, 6151, 6154, 6160,
+ 6162, 6164, 6166, 6168, 6171, 6175, 6179, 6180, 6182, 6184,
+ 6186, 6188, 6190, 6193, 6196, 6199, 6202, 6205, 6207, 6211,
+ 6212, 6214, 6216, 6218, 6220, 6226, 6229, 6231, 6233, 6235,
+ 6237, 6243, 6246, 6249, 6252, 6254, 6258, 6262, 6265, 6267,
+ 6268, 6272, 6273, 6279, 6282, 6288, 6291, 6293, 6296, 6300,
+ 6301, 6303, 6305, 6307, 6309, 6311, 6313, 6317, 6321, 6325,
+ 6329, 6333, 6337, 6341, 6342, 6344, 6349, 6351, 6355, 6359,
+ 6365, 6368, 6371, 6375, 6379, 6383, 6387, 6391, 6395, 6399,
+ 6403, 6407, 6411, 6414, 6417, 6421, 6425, 6428, 6432, 6438,
+ 6443, 6450, 6454, 6460, 6465, 6472, 6477, 6484, 6490, 6498,
+ 6502, 6505, 6510, 6513, 6517, 6521, 6526, 6530, 6535, 6539,
+ 6544, 6550, 6557, 6564, 6572, 6579, 6587, 6594, 6602, 6606,
+ 6611, 6616, 6623, 6626, 6630, 6635, 6637, 6641, 6644, 6647,
+ 6651, 6655, 6659, 6663, 6667, 6671, 6675, 6679, 6683, 6687,
+ 6690, 6693, 6699, 6706, 6713, 6721, 6725, 6730, 6732, 6734,
+ 6737, 6742, 6744, 6746, 6748, 6751, 6754, 6757, 6760, 6762,
+ 6766, 6772, 6779, 6788, 6795, 6802, 6807, 6812, 6814, 6816,
+ 6818, 6824, 6826, 6828, 6833, 6835, 6840, 6842, 6847, 6849,
+ 6854, 6856, 6858, 6860, 6862, 6864, 6866, 6873, 6878, 6883,
+ 6888, 6893, 6900, 6906, 6912, 6918, 6923, 6930, 6935, 6940,
+ 6945, 6950, 6956, 6964, 6972, 6982, 6988, 6993, 7000, 7006,
+ 7014, 7022, 7030, 7033, 7037, 7041, 7045, 7050, 7051, 7056,
+ 7058, 7062, 7066, 7068, 7070, 7072, 7075, 7078, 7079, 7082,
+ 7087, 7092, 7099, 7105, 7106, 7112, 7113, 7116, 7117, 7119,
+ 7123, 7127, 7130, 7133, 7134, 7141, 7143, 7144, 7148, 7149,
+ 7152, 7155, 7156, 7158, 7163, 7166, 7169, 7172, 7175, 7178,
+ 7183, 7187, 7193, 7195, 7197, 7199, 7201, 7203, 7205, 7207,
+ 7209, 7211, 7213, 7215, 7217, 7219, 7221, 7223, 7228, 7230,
+ 7235, 7237, 7242, 7244, 7247, 7249, 7252, 7254, 7258, 7260,
+ 7264, 7266, 7270, 7272, 7276, 7280, 7284, 7287, 7289, 7293,
+ 7297, 7298, 7300, 7302, 7304, 7306, 7308, 7310, 7312, 7314,
+ 7319, 7323, 7326, 7330, 7331, 7335, 7339, 7342, 7345, 7347,
+ 7348, 7351, 7354, 7358, 7361, 7363, 7365, 7369, 7375, 7377,
+ 7380, 7385, 7388, 7389, 7391, 7392, 7394, 7397, 7400, 7403,
+ 7407, 7413, 7415, 7418, 7419, 7422, 7424, 7425, 7427, 7429,
+ 7431, 7435, 7439, 7441, 7442, 7444, 7448, 7452, 7455, 7457,
+ 7459, 7461, 7465, 7467, 7470, 7472, 7476, 7478, 7480, 7482,
+ 7484, 7486, 7488, 7490, 7493, 7495, 7497, 7499, 7501, 7503,
+ 7506, 7513, 7516, 7520, 7527, 7529, 7531, 7533, 7535, 7537,
+ 7539, 7541, 7545, 7547, 7550, 7553, 7555, 7557, 7559, 7561,
+ 7563, 7565, 7567, 7569, 7571, 7573, 7575, 7577, 7579, 7581,
+ 7583, 7585, 7587, 7589, 7591, 7593, 7595, 7597, 7599, 7601,
+ 7603, 7605, 7607, 7609, 7611, 7613, 7615, 7617, 7619, 7621,
+ 7623, 7625, 7627, 7629, 7631, 7633, 7635, 7637, 7639, 7641,
+ 7643, 7645, 7647, 7649, 7651, 7653, 7655, 7657, 7659, 7661,
+ 7663, 7665, 7667, 7669, 7671, 7673, 7675, 7677, 7679, 7681,
+ 7683, 7685, 7687, 7689, 7691, 7693, 7695, 7697, 7699, 7701,
+ 7703, 7705, 7707, 7709, 7711, 7713, 7715, 7717, 7719, 7721,
+ 7723, 7725, 7727, 7729, 7731, 7733, 7735, 7737, 7739, 7741,
+ 7743, 7745, 7747, 7749, 7751, 7753, 7755, 7757, 7759, 7761,
+ 7763, 7765, 7767, 7769, 7771, 7773, 7775, 7777, 7779, 7781,
+ 7783, 7785, 7787, 7789, 7791, 7793, 7795, 7797, 7799, 7801,
+ 7803, 7805, 7807, 7809, 7811, 7813, 7815, 7817, 7819, 7821,
+ 7823, 7825, 7827, 7829, 7831, 7833, 7835, 7837, 7839, 7841,
+ 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 7861,
+ 7863, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881,
+ 7883, 7885, 7887, 7889, 7891, 7893, 7895, 7897, 7899, 7901,
+ 7903, 7905, 7907, 7909, 7911, 7913, 7915, 7917, 7919, 7921,
+ 7923, 7925, 7927, 7929, 7931, 7933, 7935, 7937, 7939, 7941,
+ 7943, 7945, 7947, 7949, 7951, 7953, 7955, 7957, 7959, 7961,
+ 7963, 7965, 7967, 7969, 7971, 7973, 7975, 7977, 7979, 7981,
+ 7983, 7985, 7987, 7989, 7991, 7993, 7995, 7997, 7999, 8001,
+ 8003, 8005, 8007, 8009, 8011, 8013, 8015, 8017, 8019, 8021,
+ 8023, 8025, 8027, 8029, 8031, 8033, 8035, 8037, 8039, 8041,
+ 8043, 8045, 8047, 8049, 8051, 8053, 8055, 8057, 8059, 8061,
+ 8063, 8065, 8067, 8069, 8071, 8073, 8075, 8077, 8079, 8081,
+ 8083, 8085, 8087, 8089, 8091, 8093, 8095, 8097, 8099, 8101,
+ 8103, 8105, 8107, 8109, 8111, 8113, 8115, 8117, 8119, 8121,
+ 8123, 8125, 8127, 8129, 8131, 8133, 8135, 8137, 8139, 8141,
+ 8143, 8145, 8147, 8149, 8151, 8153, 8155, 8157, 8159, 8161,
+ 8163, 8165, 8167, 8169, 8171, 8173, 8175, 8177, 8179, 8181,
+ 8183, 8185, 8187, 8189, 8191, 8193, 8195, 8197, 8199, 8201,
+ 8203, 8205, 8207, 8209, 8211, 8213, 8215, 8217, 8219, 8221,
+ 8223, 8225, 8227, 8229, 8231, 8233, 8235, 8237, 8239, 8241,
+ 8243, 8245, 8247, 8249, 8251, 8253, 8255, 8257, 8259, 8261,
+ 8263, 8265, 8267, 8269, 8271, 8273, 8275, 8277, 8279, 8281,
+ 8283, 8285, 8287, 8289, 8291, 8293, 8295, 8297, 8299, 8301,
+ 8303, 8305, 8307, 8309, 8311, 8313, 8315, 8317, 8319, 8321,
+ 8323, 8325, 8327, 8329, 8331, 8333, 8335, 8337, 8339, 8341,
+ 8343, 8345, 8347, 8349, 8351, 8353, 8355, 8357, 8359, 8361,
+ 8363, 8365, 8367, 8369, 8371, 8373, 8375, 8377, 8379, 8381,
+ 8383, 8385, 8387, 8389, 8391
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 433, 0, -1, 434, -1, 434, 429, 435, -1, 435,
- -1, 761, -1, 762, -1, 679, -1, 767, -1, 630,
- -1, 570, -1, 573, -1, 579, -1, 593, -1, 598,
- -1, 714, -1, 451, -1, 735, -1, 736, -1, 549,
- -1, 478, -1, 489, -1, 445, -1, 443, -1, 770,
- -1, 769, -1, 602, -1, 447, -1, 446, -1, 777,
- -1, 476, -1, 492, -1, 772, -1, 653, -1, 473,
- -1, 493, -1, 545, -1, 617, -1, 725, -1, 771,
- -1, 766, -1, 567, -1, 574, -1, 588, -1, 594,
- -1, 695, -1, 450, -1, 631, -1, 638, -1, 639,
- -1, 556, -1, 454, -1, 548, -1, 508, -1, 564,
- -1, 603, -1, 436, -1, 442, -1, 599, -1, 757,
- -1, 794, -1, 813, -1, 619, -1, 800, -1, 477,
- -1, 722, -1, 618, -1, 727, -1, 578, -1, 592,
- -1, 453, -1, 642, -1, 643, -1, 644, -1, 562,
- -1, 744, -1, 646, -1, 566, -1, 616, -1, 448,
- -1, 449, -1, 601, -1, 765, -1, 792, -1, 783,
- -1, 660, -1, 664, -1, 675, -1, 684, -1, 795,
- -1, 747, -1, 756, -1, 802, -1, 745, -1, 789,
- -1, 645, -1, 729, -1, 718, -1, 717, -1, 719,
- -1, 732, -1, 665, -1, 676, -1, 737, -1, 656,
- -1, 817, -1, 749, -1, 651, -1, 748, -1, 806,
- -1, 774, -1, 469, -1, 458, -1, 472, -1, 754,
- -1, -1, 83, 301, 967, 437, 438, -1, 392, -1,
- -1, 438, 441, -1, -1, 439, 440, -1, -1, 264,
- 966, -1, 264, 237, -1, 125, 264, 966, -1, 365,
- 264, 966, -1, 175, -1, 75, 208, 968, -1, 376,
- 371, 966, -1, 373, 956, -1, 3, -1, 440, -1,
- 340, 965, -1, 19, 956, -1, 301, 956, -1, 170,
- 301, 956, -1, 170, 158, 956, -1, 83, 373, 967,
- 437, 438, -1, 24, 301, 967, 437, 439, -1, -1,
- 170, 97, 958, -1, 24, 301, 967, 444, 470, -1,
- 24, 373, 967, 437, 439, -1, 24, 373, 967, 470,
- -1, 120, 301, 956, -1, 120, 301, 165, 134, 956,
- -1, 120, 373, 956, -1, 120, 373, 165, 134, 956,
- -1, 83, 158, 967, 437, 438, -1, 24, 158, 967,
- 452, 373, 956, -1, 18, -1, 120, -1, 120, 158,
- 956, -1, 120, 158, 165, 134, 956, -1, 83, 307,
- 455, 38, 967, 456, -1, 83, 307, 969, 456, -1,
- 969, -1, -1, 456, 457, -1, -1, 508, -1, 684,
- -1, 548, -1, 603, -1, 664, -1, 754, -1, 319,
- 459, -1, 319, 211, 459, -1, 319, 317, 459, -1,
- 354, 752, -1, 317, 59, 31, 354, 752, -1, 460,
- -1, 461, 352, 462, -1, 461, 413, 462, -1, 461,
- 352, 103, -1, 461, 413, 103, -1, 461, 150, 86,
- -1, 350, 409, 466, -1, 55, 966, -1, 307, 966,
- -1, 225, 467, -1, 301, 468, -1, 317, 38, 468,
- -1, 317, 38, 103, -1, 397, 249, 903, -1, 354,
- 326, 966, -1, 969, -1, 461, 428, 969, -1, 463,
- -1, 462, 430, 463, -1, 465, -1, 554, -1, 280,
- 364, -1, 280, 72, -1, 291, 280, -1, 315, -1,
- 358, -1, 139, -1, 246, -1, 468, -1, 966, -1,
- 3, -1, 890, 966, 892, -1, 890, 426, 965, 427,
- 966, 892, -1, 554, -1, 103, -1, 211, -1, 966,
- -1, 103, -1, -1, 969, -1, 966, -1, 294, 461,
- -1, 294, 350, 409, -1, 294, 354, 193, 206, -1,
- 294, 317, 38, -1, 294, 22, -1, 319, 459, -1,
- 469, -1, 319, 460, -1, 469, -1, 322, 461, -1,
- 322, 350, 409, -1, 322, 354, 193, 206, -1, 322,
- 317, 38, -1, 322, 22, -1, 319, 77, 474, 475,
- -1, 22, -1, 954, -1, 106, -1, 167, -1, 61,
- -1, 114, 22, -1, 114, 345, -1, 114, 347, -1,
- 114, 266, -1, 24, 342, 861, 479, -1, 24, 342,
- 165, 134, 861, 479, -1, 24, 173, 955, 479, -1,
- 24, 173, 165, 134, 955, 479, -1, 24, 313, 955,
- 479, -1, 24, 313, 165, 134, 955, 479, -1, 24,
- 386, 955, 479, -1, 24, 386, 165, 134, 955, 479,
- -1, 480, -1, 479, 430, 480, -1, 18, 516, -1,
- 18, 68, 516, -1, 24, 733, 969, 481, -1, 24,
- 733, 969, 120, 232, 237, -1, 24, 733, 969, 319,
- 232, 237, -1, 24, 733, 969, 319, 332, 968, -1,
- 24, 733, 969, 319, 485, -1, 24, 733, 969, 294,
- 485, -1, 24, 733, 969, 319, 335, 969, -1, 120,
- 733, 165, 134, 969, 482, -1, 120, 733, 969, 482,
- -1, 24, 733, 969, 734, 361, 870, 483, 484, -1,
- 24, 733, 969, 582, -1, 18, 525, -1, 377, 76,
- 957, -1, 120, 76, 165, 134, 957, 482, -1, 120,
- 76, 957, 482, -1, 319, 392, 245, -1, 319, 393,
- 245, -1, 64, 246, 957, -1, 319, 393, 64, -1,
- 123, 356, 957, -1, 123, 25, 356, 957, -1, 123,
- 293, 356, 957, -1, 123, 356, 22, -1, 123, 356,
- 373, -1, 113, 356, 957, -1, 113, 356, 22, -1,
- 113, 356, 373, -1, 123, 305, 957, -1, 123, 25,
- 305, 957, -1, 123, 293, 305, 957, -1, 113, 305,
- 957, -1, 175, 955, -1, 230, 175, 955, -1, 242,
- 649, -1, 232, 242, -1, 259, 352, 967, -1, 319,
- 344, 957, -1, 319, 485, -1, 294, 485, -1, 582,
- -1, 319, 103, 894, -1, 120, 103, -1, 51, -1,
- 296, -1, -1, 66, 649, -1, -1, 374, 894, -1,
- -1, 426, 487, 427, -1, 392, 485, -1, -1, 488,
- -1, 487, 430, 488, -1, 971, 413, 623, -1, 971,
- -1, 971, 428, 971, 413, 623, -1, 971, 428, 971,
- -1, 24, 361, 649, 490, -1, 491, -1, 490, 430,
- 491, -1, 18, 37, 869, 482, -1, 120, 37, 165,
- 134, 969, 482, -1, 120, 37, 969, 482, -1, 24,
- 37, 969, 734, 361, 870, 483, 482, -1, 63, 814,
- -1, 63, 22, -1, 81, 499, 955, 528, 500, 494,
- 495, 501, 437, 496, -1, 81, 818, 352, 495, 437,
- 496, -1, 150, -1, 352, -1, 966, -1, 333, -1,
- 334, -1, 497, -1, 426, 503, 427, -1, 497, 498,
- -1, -1, 44, -1, 245, -1, 109, 768, 966, -1,
- 237, 768, 966, -1, 85, -1, 161, -1, 278, 768,
- 966, -1, 128, 768, 966, -1, 146, 278, 529, -1,
- 146, 278, 419, -1, 146, 232, 237, 529, -1, 124,
- 966, -1, 44, -1, -1, 392, 245, -1, -1, 502,
- 110, 966, -1, -1, 374, -1, -1, 504, -1, 503,
- 430, 504, -1, 971, 505, -1, 465, -1, 554, -1,
- 419, -1, 426, 506, 427, -1, -1, 507, -1, 506,
- 430, 507, -1, 465, -1, 83, 509, 342, 955, 426,
- 510, 427, 539, 540, 541, 542, -1, 83, 509, 342,
- 165, 232, 134, 955, 426, 510, 427, 539, 540, 541,
- 542, -1, 83, 509, 342, 955, 242, 649, 511, 540,
- 541, 542, -1, 83, 509, 342, 165, 232, 134, 955,
- 242, 649, 511, 540, 541, 542, -1, 347, -1, 345,
- -1, 211, 347, -1, 211, 345, -1, 154, 347, -1,
- 154, 345, -1, 370, -1, -1, 512, -1, -1, 426,
- 513, 427, -1, -1, 514, -1, 512, 430, 514, -1,
- 515, -1, 513, 430, 515, -1, 516, -1, 522, -1,
- 525, -1, 517, -1, 525, -1, 969, 870, 580, 518,
- -1, 969, 392, 250, 518, -1, 518, 519, -1, -1,
- 76, 957, 520, -1, 520, -1, 521, -1, 66, 649,
- -1, 232, 237, -1, 237, -1, 367, 711, 543, -1,
- 273, 195, 711, 543, -1, 60, 426, 894, 427, 527,
- -1, 103, 895, -1, 286, 955, 528, 531, 535, -1,
- 105, -1, 232, 105, -1, 177, 106, -1, 177, 167,
- -1, 207, 955, 523, -1, 523, 171, 524, -1, 523,
- 131, 524, -1, -1, 104, -1, 77, -1, 174, -1,
- 335, -1, 70, -1, 22, -1, 76, 957, 526, -1,
- 526, -1, 60, 426, 894, 427, 614, -1, 367, 426,
- 529, 427, 711, 543, 614, -1, 367, 544, 614, -1,
- 273, 195, 426, 529, 427, 711, 543, 614, -1, 273,
- 195, 544, 614, -1, 130, 688, 426, 532, 427, 711,
- 543, 534, 614, -1, 147, 195, 426, 529, 427, 286,
- 955, 528, 531, 535, 614, -1, 230, 175, -1, -1,
- 426, 529, 427, -1, -1, 530, -1, 529, 430, 530,
- -1, 969, -1, 217, 151, -1, 217, 261, -1, 217,
- 324, -1, -1, 533, -1, 532, 430, 533, -1, 690,
- 392, 721, -1, 690, 392, 248, 426, 721, 427, -1,
- 389, 426, 894, 427, -1, -1, 536, -1, 537, -1,
- 536, 537, -1, 537, 536, -1, -1, 246, 372, 538,
- -1, 246, 108, 538, -1, 230, 17, -1, 296, -1,
- 51, -1, 319, 237, -1, 319, 103, -1, 176, 426,
- 954, 427, -1, -1, 392, 485, -1, 392, 245, -1,
- 393, 245, -1, -1, 246, 71, 120, -1, 246, 71,
- 108, 304, -1, 246, 71, 270, 304, -1, -1, 344,
- 957, -1, -1, 374, 173, 344, 957, -1, -1, 374,
- 173, 961, -1, 83, 509, 342, 546, 31, 817, 547,
- -1, 955, 528, 540, 541, 542, -1, 392, 96, -1,
- 392, 230, 96, -1, -1, 83, 509, 313, 955, 550,
- -1, 24, 313, 955, 551, -1, 24, 313, 165, 134,
- 955, 551, -1, 551, -1, -1, 552, -1, 551, 552,
- -1, 49, 554, -1, 95, -1, 230, 95, -1, 172,
- 553, 554, -1, 218, 554, -1, 220, 554, -1, 230,
- 218, -1, 230, 220, -1, 258, 48, 649, -1, 330,
- 437, 554, -1, 295, -1, 295, 437, 554, -1, 48,
- -1, -1, 4, -1, 418, 4, -1, 968, -1, 554,
- -1, 555, 430, 554, -1, 83, 696, 557, 563, 197,
- 468, -1, 83, 696, 557, 563, 197, 468, 159, 558,
- 559, 561, -1, 360, -1, -1, 957, -1, 957, 650,
- -1, 178, 558, -1, -1, 378, 558, -1, 230, 378,
- -1, 560, -1, -1, 120, 563, 197, 468, 482, -1,
- 120, 563, 197, 165, 134, 468, 482, -1, 276, -1,
- -1, 83, 344, 957, 565, 214, 966, -1, 259, 957,
- -1, -1, 120, 344, 957, -1, 120, 344, 165, 134,
- 957, -1, 83, 136, 957, 437, 568, -1, 83, 136,
- 165, 232, 134, 957, 437, 568, -1, 568, 569, -1,
- -1, 307, 957, -1, 385, 468, -1, 150, 468, -1,
- 24, 136, 957, 372, 571, -1, 571, 572, -1, -1,
- 352, 468, -1, 24, 136, 957, 452, 21, 963, 624,
- -1, 24, 136, 957, 452, 54, 426, 870, 31, 870,
- 427, -1, 24, 136, 957, 452, 67, 649, -1, 24,
- 136, 957, 452, 80, 649, -1, 24, 136, 957, 452,
- 118, 649, -1, 24, 136, 957, 452, 152, 674, -1,
- 24, 136, 957, 452, 563, 197, 957, -1, 24, 136,
- 957, 452, 248, 721, 720, -1, 24, 136, 957, 452,
- 248, 62, 649, 374, 959, -1, 24, 136, 957, 452,
- 248, 140, 649, 374, 959, -1, 24, 136, 957, 452,
- 307, 957, -1, 24, 136, 957, 452, 342, 649, -1,
- 24, 136, 957, 452, 348, 309, 260, 649, -1, 24,
- 136, 957, 452, 348, 309, 112, 649, -1, 24, 136,
- 957, 452, 348, 309, 346, 649, -1, 24, 136, 957,
- 452, 348, 309, 74, 649, -1, 24, 136, 957, 452,
- 313, 649, -1, 24, 136, 957, 452, 386, 649, -1,
- 24, 136, 957, 452, 147, 342, 649, -1, 24, 136,
- 957, 452, 147, 96, 395, 957, -1, 24, 136, 957,
- 452, 316, 957, -1, 24, 136, 957, 452, 361, 649,
- -1, 83, 147, 96, 395, 957, 577, 580, -1, 159,
- 558, -1, 230, 159, -1, 378, 558, -1, 230, 378,
- -1, 575, -1, 576, 575, -1, 576, -1, -1, 120,
- 147, 96, 395, 957, 482, -1, 120, 147, 96, 395,
- 165, 134, 957, 482, -1, 24, 147, 96, 395, 957,
- 577, 582, -1, 24, 147, 96, 395, 957, 576, -1,
- 250, 426, 581, 427, -1, -1, 585, -1, 581, 430,
- 585, -1, 250, 426, 583, 427, -1, 584, -1, 583,
- 430, 584, -1, 585, -1, 319, 585, -1, 18, 585,
- -1, 120, 586, -1, 586, 587, -1, 971, -1, 966,
- -1, 83, 316, 957, 589, 591, 147, 96, 395, 957,
- 580, -1, 361, 966, -1, -1, 385, 966, -1, 385,
- 237, -1, 590, -1, -1, 120, 316, 957, 482, -1,
- 120, 316, 165, 134, 957, 482, -1, 24, 316, 957,
- 590, 582, -1, 24, 316, 957, 590, -1, 24, 316,
- 957, 582, -1, 83, 147, 342, 955, 595, 316, 957,
- 580, -1, 83, 147, 342, 165, 232, 134, 955, 595,
- 316, 957, 580, -1, 426, 596, 427, -1, 426, 427,
- -1, 597, -1, 596, 430, 597, -1, 516, -1, 24,
- 147, 342, 861, 479, -1, 24, 147, 342, 165, 134,
- 861, 479, -1, 83, 373, 216, 145, 600, 316, 957,
- 580, -1, 93, -1, 373, -1, 967, -1, 120, 373,
- 216, 145, 600, 316, 957, -1, 120, 373, 216, 165,
- 134, 145, 600, 316, 957, -1, 24, 373, 216, 145,
- 600, 316, 957, 582, -1, 83, 356, 957, 604, 605,
- 246, 955, 607, 610, 133, 277, 963, 426, 611, 427,
- -1, 83, 76, 356, 957, 20, 605, 246, 955, 613,
- 614, 145, 121, 303, 610, 133, 277, 963, 426, 611,
- 427, -1, 40, -1, 20, -1, 184, 242, -1, 606,
- -1, 605, 251, 606, -1, 183, -1, 108, -1, 372,
- -1, 372, 242, 529, -1, 359, -1, 145, 608, 609,
- -1, -1, 121, -1, -1, 303, -1, 331, -1, 388,
- 426, 894, 427, -1, -1, 612, -1, 611, 430, 612,
- -1, -1, 965, -1, 4, -1, 966, -1, 971, -1,
- 150, 955, -1, -1, -1, 614, 615, -1, 232, 105,
- -1, 105, -1, 177, 167, -1, 177, 106, -1, 232,
- 376, -1, 230, 175, -1, 120, 356, 957, 246, 649,
- 482, -1, 120, 356, 165, 134, 957, 246, 649, 482,
- -1, 83, 33, 957, 60, 426, 894, 427, 614, -1,
- 120, 33, 957, 482, -1, 83, 21, 963, 624, 620,
- -1, 83, 21, 963, 625, -1, 83, 248, 721, 620,
- -1, 83, 361, 649, 620, -1, 83, 361, 649, -1,
- 83, 361, 649, 31, 426, 867, 427, -1, 83, 361,
- 649, 31, 127, 426, 628, 427, -1, 83, 361, 649,
- 31, 279, 620, -1, 83, 348, 309, 260, 649, 620,
- -1, 83, 348, 309, 112, 649, 620, -1, 83, 348,
- 309, 346, 649, 620, -1, 83, 348, 309, 74, 649,
- 620, -1, 83, 67, 649, 620, -1, 83, 67, 649,
- 150, 649, -1, 426, 621, 427, -1, 622, -1, 621,
- 430, 622, -1, 971, 413, 623, -1, 971, -1, 705,
- -1, 975, -1, 921, -1, 554, -1, 966, -1, 426,
- 926, 427, -1, 426, 419, 427, -1, 426, 626, 427,
- -1, 627, -1, 626, 430, 627, -1, 3, 413, 623,
- -1, 629, -1, -1, 966, -1, 629, 430, 966, -1,
- 24, 361, 649, 18, 379, 966, -1, 24, 361, 649,
- 18, 379, 966, 40, 966, -1, 24, 361, 649, 18,
- 379, 966, 20, 966, -1, 83, 248, 62, 649, 634,
- 145, 361, 870, 374, 959, 635, 31, 632, -1, 633,
- -1, 632, 430, 633, -1, 248, 965, 721, 636, 637,
- -1, 248, 965, 721, 720, 636, 637, -1, 152, 965,
- 963, 697, -1, 152, 965, 426, 926, 427, 963, 697,
- -1, 335, 870, -1, 103, -1, -1, 140, 649, -1,
- -1, 145, 309, -1, 145, 252, 48, 649, -1, -1,
- 283, -1, -1, 83, 248, 140, 649, 374, 959, -1,
- 24, 248, 140, 649, 374, 959, 18, 632, -1, 24,
- 248, 140, 649, 374, 959, 120, 640, -1, 641, -1,
- 640, 430, 641, -1, 248, 965, 426, 926, 427, -1,
- 152, 965, 426, 926, 427, -1, 120, 248, 62, 649,
- 374, 959, 482, -1, 120, 248, 62, 165, 134, 649,
- 374, 959, 482, -1, 120, 248, 140, 649, 374, 959,
- 482, -1, 120, 248, 140, 165, 134, 649, 374, 959,
- 482, -1, 120, 258, 48, 956, 482, -1, 282, 258,
- 48, 956, 352, 957, -1, 120, 647, 165, 134, 648,
- 482, -1, 120, 647, 648, 482, -1, 120, 173, 73,
- 648, 482, -1, 120, 173, 73, 165, 134, 648, 482,
- -1, 342, -1, 313, -1, 386, -1, 173, -1, 147,
- 342, -1, 361, -1, 118, -1, 67, -1, 80, -1,
- 307, -1, 136, -1, 348, 309, 260, -1, 348, 309,
- 112, -1, 348, 309, 346, -1, 348, 309, 74, -1,
- 649, -1, 648, 430, 649, -1, 969, -1, 969, 650,
- -1, 428, 960, -1, 650, 428, 960, -1, 359, 828,
- 862, 652, 482, -1, 79, 164, -1, 295, 164, -1,
- -1, 69, 246, 654, 649, 191, 655, -1, 69, 246,
- 21, 963, 624, 191, 655, -1, 69, 246, 152, 963,
- 697, 191, 655, -1, 69, 246, 248, 721, 720, 191,
- 655, -1, 69, 246, 76, 957, 246, 649, 191, 655,
- -1, 69, 246, 305, 957, 246, 649, 191, 655, -1,
- 69, 246, 305, 957, 191, 655, -1, 69, 246, 356,
- 957, 246, 649, 191, 655, -1, 69, 246, 248, 62,
- 649, 374, 959, 191, 655, -1, 69, 246, 248, 140,
- 649, 374, 959, 191, 655, -1, 69, 246, 198, 241,
- 554, 191, 655, -1, 69, 246, 54, 426, 870, 31,
- 870, 427, 191, 655, -1, 69, 246, 563, 197, 649,
- 191, 655, -1, 69, 246, 348, 309, 260, 649, 191,
- 655, -1, 69, 246, 348, 309, 112, 649, 191, 655,
- -1, 69, 246, 348, 309, 346, 649, 191, 655, -1,
- 69, 246, 348, 309, 74, 649, 191, 655, -1, 68,
- -1, 97, -1, 307, -1, 173, -1, 313, -1, 342,
- -1, 118, -1, 361, -1, 386, -1, 67, -1, 80,
- -1, 344, -1, 136, -1, 301, -1, 147, 342, -1,
- 316, -1, 147, 96, 395, -1, 966, -1, 237, -1,
- 311, 196, 657, 246, 658, 649, 191, 659, -1, 311,
- 196, 657, 246, 21, 963, 624, 191, 659, -1, 311,
- 196, 657, 246, 152, 963, 697, 191, 659, -1, 311,
- 196, 657, 246, 198, 241, 554, 191, 659, -1, 311,
- 196, 657, 246, 563, 197, 649, 191, 659, -1, 145,
- 468, -1, -1, 68, -1, 97, -1, 147, 342, -1,
- 307, -1, 313, -1, 342, -1, 118, -1, 301, -1,
- 344, -1, 361, -1, 386, -1, 966, -1, 237, -1,
- 141, 661, -1, 223, 661, -1, 814, -1, 662, 814,
- -1, 229, 663, 814, -1, 274, 663, 814, -1, 142,
- 663, 814, -1, 199, 663, 814, -1, 15, 968, 663,
- 814, -1, 288, 968, 663, 814, -1, 968, 663, 814,
- -1, 22, 663, 814, -1, 148, 663, 814, -1, 148,
- 968, 663, 814, -1, 148, 22, 663, 814, -1, 39,
- 663, 814, -1, 39, 968, 663, 814, -1, 39, 22,
- 663, 814, -1, 150, -1, 170, -1, 662, -1, -1,
- 155, 666, 246, 669, 352, 670, 672, -1, 299, 666,
- 246, 669, 150, 670, 482, -1, 299, 155, 249, 145,
- 666, 246, 669, 150, 670, 482, -1, 667, -1, 22,
- -1, 22, 275, -1, 22, 426, 529, 427, -1, 22,
- 275, 426, 529, 427, -1, 668, -1, 667, 430, 668,
- -1, 312, 528, -1, 286, 528, -1, 83, 528, -1,
- 969, 528, -1, 954, -1, 342, 954, -1, 313, 954,
- -1, 147, 96, 395, 956, -1, 147, 316, 956, -1,
- 152, 673, -1, 97, 956, -1, 118, 648, -1, 197,
- 956, -1, 198, 241, 555, -1, 307, 956, -1, 344,
- 956, -1, 361, 648, -1, 22, 343, 170, 307, 956,
- -1, 22, 314, 170, 307, 956, -1, 22, 153, 170,
- 307, 956, -1, 671, -1, 670, 430, 671, -1, 967,
- -1, 158, 967, -1, 392, 155, 249, -1, -1, 674,
- -1, 673, 430, 674, -1, 963, 697, -1, 155, 667,
- 352, 956, 677, 678, -1, 299, 667, 150, 956, 678,
- 482, -1, 299, 19, 249, 145, 667, 150, 956, 678,
- 482, -1, 392, 19, 249, -1, -1, 156, 48, 967,
- -1, -1, 24, 103, 275, 680, 682, -1, 680, 681,
- -1, -1, 170, 307, 956, -1, 145, 301, 956, -1,
- 145, 373, 956, -1, 155, 666, 246, 683, 352, 670,
- 672, -1, 299, 666, 246, 683, 150, 670, 482, -1,
- 299, 155, 249, 145, 666, 246, 683, 150, 670, 482,
- -1, 343, -1, 153, -1, 314, -1, 362, -1, 83,
- 685, 173, 686, 687, 246, 955, 688, 426, 689, 427,
- 486, 542, 865, -1, 367, -1, -1, 73, -1, -1,
- 961, -1, -1, 374, 959, -1, -1, 690, -1, 689,
- 430, 690, -1, 969, 691, 692, 693, 694, -1, 897,
- 691, 692, 693, 694, -1, 426, 894, 427, 691, 692,
- 693, 694, -1, 66, 649, -1, -1, 649, -1, 374,
- 649, -1, -1, 32, -1, 111, -1, -1, 410, -1,
- 411, -1, -1, 83, 696, 152, 963, 699, 298, 704,
- 707, 711, -1, 83, 696, 152, 963, 699, 298, 342,
- 426, 713, 427, 707, 711, -1, 83, 696, 152, 963,
- 699, 707, 711, -1, 251, 292, -1, -1, 426, 698,
- 427, -1, 426, 427, -1, 701, -1, 698, 430, 701,
- -1, 426, 700, 427, -1, 426, 427, -1, 706, -1,
- 700, 430, 706, -1, 702, 703, 705, -1, 703, 702,
- 705, -1, 703, 705, -1, 702, 705, -1, 705, -1,
- 170, -1, 253, -1, 180, -1, 170, 253, -1, 382,
- -1, 970, -1, 705, -1, 870, -1, 970, 650, 421,
- 361, -1, 320, 970, 650, 421, 361, -1, 701, -1,
- 701, 103, 894, -1, 701, 413, 894, -1, 709, -1,
- 707, 709, -1, 50, 246, 237, 181, -1, 298, 237,
- 246, 237, 181, -1, 336, -1, 168, -1, 328, -1,
- 387, -1, 137, 311, 107, -1, 137, 311, 190, -1,
- 311, 107, -1, 311, 190, -1, 203, -1, 232, 203,
- -1, 82, 554, -1, 304, 554, -1, 471, -1, 31,
- 710, -1, 197, 468, -1, 391, -1, 708, -1, 966,
- -1, 966, 430, 966, -1, 392, 620, -1, -1, 703,
- 705, -1, 712, -1, 713, 430, 712, -1, 24, 152,
- 674, 715, 716, -1, 708, -1, 715, 708, -1, 296,
- -1, -1, 120, 152, 963, 697, 482, -1, 120, 152,
- 165, 134, 963, 697, 482, -1, 120, 21, 963, 624,
- 482, -1, 120, 21, 165, 134, 963, 624, 482, -1,
- 120, 248, 721, 720, 482, -1, 120, 248, 165, 134,
- 721, 720, 482, -1, 426, 870, 427, -1, 426, 870,
- 430, 870, 427, -1, 426, 231, 430, 870, 427, -1,
- 426, 870, 430, 231, 427, -1, 918, -1, 969, 428,
- 721, -1, 116, 723, -1, 724, -1, 723, 724, -1,
- 966, -1, 197, 468, -1, 83, 54, 426, 870, 31,
- 870, 427, 392, 152, 674, 726, -1, 83, 54, 426,
- 870, 31, 870, 427, 393, 152, 726, -1, 83, 54,
- 426, 870, 31, 870, 427, 392, 180, 726, -1, 31,
- 169, -1, 31, 34, -1, -1, 120, 54, 728, 426,
- 870, 31, 870, 427, 482, -1, 165, 134, -1, -1,
- 287, 730, 955, 731, -1, 287, 341, 957, 731, -1,
- 287, 97, 957, 731, -1, 173, -1, 342, -1, 146,
- -1, -1, 24, 21, 963, 624, 290, 352, 957, -1,
- 24, 67, 649, 290, 352, 957, -1, 24, 80, 649,
- 290, 352, 957, -1, 24, 97, 958, 290, 352, 958,
- -1, 24, 118, 649, 290, 352, 957, -1, 24, 118,
- 649, 290, 76, 957, 352, 957, -1, 24, 147, 96,
- 395, 957, 290, 352, 957, -1, 24, 152, 674, 290,
- 352, 957, -1, 24, 158, 967, 290, 352, 967, -1,
- 24, 563, 197, 957, 290, 352, 957, -1, 24, 248,
- 62, 649, 374, 959, 290, 352, 957, -1, 24, 248,
- 140, 649, 374, 959, 290, 352, 957, -1, 24, 307,
- 957, 290, 352, 957, -1, 24, 316, 957, 290, 352,
- 957, -1, 24, 342, 861, 290, 352, 957, -1, 24,
- 342, 165, 134, 861, 290, 352, 957, -1, 24, 313,
- 955, 290, 352, 957, -1, 24, 313, 165, 134, 955,
- 290, 352, 957, -1, 24, 386, 955, 290, 352, 957,
- -1, 24, 386, 165, 134, 955, 290, 352, 957, -1,
- 24, 173, 955, 290, 352, 957, -1, 24, 173, 165,
- 134, 955, 290, 352, 957, -1, 24, 147, 342, 861,
- 290, 352, 957, -1, 24, 147, 342, 165, 134, 861,
- 290, 352, 957, -1, 24, 342, 861, 290, 733, 957,
- 352, 957, -1, 24, 342, 165, 134, 861, 290, 733,
- 957, 352, 957, -1, 24, 342, 861, 290, 76, 957,
- 352, 957, -1, 24, 147, 342, 861, 290, 733, 957,
- 352, 957, -1, 24, 147, 342, 165, 134, 861, 290,
- 733, 957, 352, 957, -1, 24, 356, 957, 246, 955,
- 290, 352, 957, -1, 24, 301, 967, 290, 352, 967,
- -1, 24, 373, 967, 290, 352, 967, -1, 24, 344,
- 957, 290, 352, 957, -1, 24, 344, 957, 319, 485,
- -1, 24, 344, 957, 294, 485, -1, 24, 348, 309,
- 260, 649, 290, 352, 957, -1, 24, 348, 309, 112,
- 649, 290, 352, 957, -1, 24, 348, 309, 346, 649,
- 290, 352, 957, -1, 24, 348, 309, 74, 649, 290,
- 352, 957, -1, 24, 361, 649, 290, 352, 957, -1,
- 24, 361, 649, 290, 37, 957, 352, 957, 482, -1,
- 68, -1, -1, 319, 96, -1, -1, 24, 21, 963,
- 624, 319, 307, 957, -1, 24, 67, 649, 319, 307,
- 957, -1, 24, 80, 649, 319, 307, 957, -1, 24,
- 118, 649, 319, 307, 957, -1, 24, 136, 649, 319,
- 307, 957, -1, 24, 152, 674, 319, 307, 957, -1,
- 24, 248, 721, 720, 319, 307, 957, -1, 24, 248,
- 62, 649, 374, 959, 319, 307, 957, -1, 24, 248,
- 140, 649, 374, 959, 319, 307, 957, -1, 24, 342,
- 861, 319, 307, 957, -1, 24, 342, 165, 134, 861,
- 319, 307, 957, -1, 24, 348, 309, 260, 649, 319,
- 307, 957, -1, 24, 348, 309, 112, 649, 319, 307,
- 957, -1, 24, 348, 309, 346, 649, 319, 307, 957,
- -1, 24, 348, 309, 74, 649, 319, 307, 957, -1,
- 24, 313, 955, 319, 307, 957, -1, 24, 313, 165,
- 134, 955, 319, 307, 957, -1, 24, 386, 955, 319,
- 307, 957, -1, 24, 386, 165, 134, 955, 319, 307,
- 957, -1, 24, 147, 342, 861, 319, 307, 957, -1,
- 24, 147, 342, 165, 134, 861, 319, 307, 957, -1,
- 24, 361, 649, 319, 307, 957, -1, 24, 21, 963,
- 624, 259, 352, 967, -1, 24, 67, 649, 259, 352,
- 967, -1, 24, 80, 649, 259, 352, 967, -1, 24,
- 97, 958, 259, 352, 967, -1, 24, 118, 649, 259,
- 352, 967, -1, 24, 152, 674, 259, 352, 967, -1,
- 24, 563, 197, 957, 259, 352, 967, -1, 24, 198,
- 241, 554, 259, 352, 967, -1, 24, 248, 721, 720,
- 259, 352, 967, -1, 24, 248, 62, 649, 374, 959,
- 259, 352, 967, -1, 24, 248, 140, 649, 374, 959,
- 259, 352, 967, -1, 24, 307, 957, 259, 352, 967,
- -1, 24, 361, 649, 259, 352, 967, -1, 24, 344,
- 957, 259, 352, 967, -1, 24, 348, 309, 112, 649,
- 259, 352, 967, -1, 24, 348, 309, 74, 649, 259,
- 352, 967, -1, 24, 147, 96, 395, 957, 259, 352,
- 967, -1, 24, 316, 957, 259, 352, 967, -1, 83,
- 696, 305, 957, 31, 246, 742, 352, 955, 865, 116,
- 743, 738, -1, 233, -1, 740, -1, 426, 739, 427,
- -1, 739, 429, 741, -1, 741, -1, 817, -1, 795,
- -1, 806, -1, 800, -1, 745, -1, 740, -1, -1,
- 312, -1, 372, -1, 108, -1, 183, -1, 184, -1,
- 23, -1, -1, 120, 305, 957, 246, 649, 482, -1,
- 120, 305, 165, 134, 957, 246, 649, 482, -1, 234,
- 969, 746, -1, 430, 966, -1, -1, 209, 969, -1,
- 369, 969, -1, 369, 419, -1, 14, 750, -1, 41,
- 750, 753, -1, 330, 354, 753, -1, 71, 750, -1,
- 126, 750, -1, 302, 750, -1, 306, 969, -1, 289,
- 306, 969, -1, 289, 969, -1, 302, 750, 352, 306,
- 969, -1, 302, 750, 352, 969, -1, 271, 354, 966,
- -1, 71, 272, 966, -1, 302, 272, 966, -1, 394,
- -1, 354, -1, -1, 193, 206, 464, -1, 280, 247,
- -1, 280, 396, -1, 105, -1, 232, 105, -1, 751,
- -1, 752, 430, 751, -1, 752, 751, -1, 752, -1,
- -1, 83, 509, 386, 955, 528, 486, 31, 817, 755,
- -1, 83, 251, 292, 509, 386, 955, 528, 486, 31,
- 817, 755, -1, 392, 60, 249, -1, 392, 52, 60,
- 249, -1, 392, 211, 60, 249, -1, -1, 210, 962,
- -1, 83, 97, 958, 437, 758, -1, 758, 759, -1,
- -1, 344, 760, 957, -1, 344, 760, 103, -1, 214,
- 760, 966, -1, 214, 760, 103, -1, 346, 760, 957,
- -1, 346, 760, 103, -1, 124, 760, 966, -1, 124,
- 760, 965, -1, 124, 760, 103, -1, 200, 760, 966,
- -1, 200, 760, 103, -1, 201, 760, 966, -1, 201,
- 760, 103, -1, 75, 208, 760, 968, -1, 259, 760,
- 957, -1, 259, 760, 103, -1, 413, -1, -1, 24,
- 97, 958, 437, 763, -1, 24, 97, 958, 319, 344,
- 957, -1, 24, 97, 958, 470, -1, 763, 764, -1,
- -1, 75, 208, 760, 968, -1, 120, 97, 958, -1,
- 120, 97, 165, 134, 958, -1, 83, 118, 649, 768,
- 870, 518, -1, 24, 118, 649, 481, -1, 24, 118,
- 649, 120, 232, 237, -1, 24, 118, 649, 319, 232,
- 237, -1, 24, 118, 649, 18, 525, -1, 24, 118,
- 649, 120, 76, 957, 482, -1, 24, 118, 649, 120,
- 76, 165, 134, 957, 482, -1, 24, 118, 649, 377,
- 76, 957, -1, 31, -1, -1, 24, 348, 309, 112,
- 649, 620, -1, 24, 348, 309, 74, 649, 18, 216,
- 145, 956, 392, 648, -1, 24, 348, 309, 74, 649,
- 24, 216, 145, 956, 392, 648, -1, 24, 348, 309,
- 74, 649, 24, 216, 292, 649, 392, 649, -1, 24,
- 348, 309, 74, 649, 24, 216, 145, 956, 292, 649,
- 392, 649, -1, 24, 348, 309, 74, 649, 120, 216,
- 145, 956, -1, 24, 348, 309, 74, 649, 120, 216,
- 165, 134, 145, 956, -1, 83, 634, 80, 649, 145,
- 966, 352, 966, 150, 649, -1, 64, 779, 955, 773,
- -1, 64, 779, -1, 64, 779, 961, 246, 955, -1,
- 374, 961, -1, -1, 375, 780, 781, 779, -1, 375,
- 780, 781, 779, 955, -1, 375, 780, 781, 779, 777,
- -1, 375, 426, 775, 427, -1, 375, 426, 775, 427,
- 955, 782, -1, 776, -1, 775, 430, 776, -1, 778,
- -1, 384, -1, 149, -1, 151, -1, 778, 779, -1,
- 778, 779, 955, 782, -1, 27, -1, 26, -1, 384,
- -1, -1, 151, -1, -1, 149, -1, -1, 426, 956,
- 427, -1, -1, 135, 784, -1, 135, 778, 779, 784,
- -1, 135, 384, 784, -1, 135, 426, 785, 427, 784,
- -1, 817, -1, 795, -1, 806, -1, 800, -1, 813,
- -1, 545, -1, 792, -1, 786, -1, 785, 430, 786,
- -1, 787, 788, -1, 969, -1, 778, -1, 384, -1,
- 465, -1, 554, -1, -1, 271, 957, 790, 31, 791,
- -1, 426, 926, 427, -1, -1, 817, -1, 795, -1,
- 806, -1, 800, -1, 133, 957, 793, -1, 83, 509,
- 342, 546, 31, 133, 957, 793, 547, -1, 426, 923,
- 427, -1, -1, 99, 957, -1, 99, 271, 957, -1,
- 99, 22, -1, 99, 271, 22, -1, 825, 183, 189,
- 955, 796, 799, -1, 817, -1, 426, 797, 427, 817,
- -1, 103, 380, -1, 798, -1, 797, 430, 798, -1,
- 969, 947, -1, 297, 952, -1, -1, 825, 108, 150,
- 863, 801, 866, 799, -1, 374, 854, -1, -1, 215,
- 828, 862, 803, 805, -1, 170, 804, 221, -1, -1,
- 16, 321, -1, 303, 321, -1, 303, 132, -1, 321,
- 372, 132, -1, 321, -1, 321, 303, 132, -1, 132,
- -1, 16, 132, -1, 236, -1, -1, 825, 372, 863,
- 319, 807, 853, 866, 799, -1, 808, -1, 807, 430,
- 808, -1, 809, -1, 810, -1, 811, 413, 949, -1,
- 426, 812, 427, 413, 951, -1, 969, 947, -1, 811,
- -1, 812, 430, 811, -1, 102, 814, 815, 94, 816,
- 145, 817, -1, 957, -1, -1, 815, 230, 308, -1,
- 815, 308, -1, 815, 44, -1, 815, 182, -1, -1,
- 392, 162, -1, 393, 162, -1, 819, -1, 818, -1,
- 426, 819, 427, -1, 426, 818, 427, -1, 821, -1,
- 820, 832, -1, 820, 831, 847, 836, -1, 820, 831,
- 835, 848, -1, 822, 820, -1, 822, 820, 832, -1,
- 822, 820, 831, 847, 836, -1, 822, 820, 831, 835,
- 848, -1, 821, -1, 818, -1, 312, 830, 952, 826,
- 853, 865, 845, 846, 906, -1, 852, -1, 342, 861,
- -1, 820, 366, 829, 820, -1, 820, 187, 829, 820,
- -1, 820, 129, 829, 820, -1, 392, 823, -1, 392,
- 284, 823, -1, 824, -1, 823, 430, 824, -1, 957,
- 782, 31, 426, 791, 427, -1, 822, -1, -1, 189,
- 827, -1, -1, 347, 828, 955, -1, 345, 828, 955,
- -1, 211, 347, 828, 955, -1, 211, 345, 828, 955,
- -1, 154, 347, 828, 955, -1, 154, 345, 828, 955,
- -1, 370, 828, 955, -1, 342, 955, -1, 955, -1,
- 342, -1, -1, 22, -1, 115, -1, -1, 115, -1,
- 115, 246, 426, 923, 427, -1, 22, -1, -1, 832,
- -1, -1, 252, 48, 833, -1, 834, -1, 833, 430,
- 834, -1, 894, 374, 921, 694, -1, 894, 693, 694,
- -1, 837, 838, -1, 838, 837, -1, 837, -1, 838,
- -1, 835, -1, -1, 208, 839, -1, 208, 839, 430,
- 840, -1, 141, 844, 841, 843, 247, -1, 244, 840,
- -1, 244, 842, 843, -1, 894, -1, 22, -1, 894,
- -1, 968, -1, 426, 894, 427, -1, -1, 896, -1,
- 303, -1, 304, -1, 142, -1, 229, -1, 158, 48,
- 923, -1, -1, 160, 894, -1, -1, 849, -1, 145,
- 280, 247, -1, 847, -1, -1, 850, -1, 849, 850,
- -1, 145, 372, 851, 805, -1, 145, 321, 851, 805,
- -1, 242, 954, -1, -1, 380, 951, -1, 852, 430,
- 951, -1, 150, 854, -1, -1, 855, -1, 854, 430,
- 855, -1, 861, -1, 861, 857, -1, 864, -1, 864,
- 857, -1, 864, 31, 426, 868, 427, -1, 864, 31,
- 969, 426, 868, 427, -1, 864, 969, 426, 868, 427,
- -1, 818, -1, 818, 857, -1, 856, -1, 426, 856,
- 427, 857, -1, 426, 856, 427, -1, 855, 84, 194,
- 855, -1, 855, 858, 194, 855, 860, -1, 855, 194,
- 855, 860, -1, 855, 227, 858, 194, 855, -1, 855,
- 227, 194, 855, -1, 31, 969, 426, 956, 427, -1,
- 31, 969, -1, 969, 426, 956, 427, -1, 969, -1,
- 151, 859, -1, 205, 859, -1, 300, 859, -1, 179,
- -1, 254, -1, -1, 374, 426, 956, 427, -1, 246,
- 894, -1, 955, -1, 955, 419, -1, 247, 955, -1,
- 247, 426, 955, 427, -1, 861, -1, 862, 430, 861,
- -1, 861, -1, 861, 969, -1, 861, 31, 969, -1,
- 897, -1, 389, 894, -1, -1, 389, 894, -1, 389,
- 86, 242, 814, -1, -1, 868, -1, -1, 869, -1,
- 868, 430, 869, -1, 969, 870, 483, -1, 872, 871,
- -1, 320, 872, 871, -1, 872, 30, 424, 965, 425,
- -1, 320, 872, 30, 424, 965, 425, -1, 872, 30,
- -1, 320, 872, 30, -1, 871, 424, 425, -1, 871,
- 424, 965, 425, -1, -1, 874, -1, 876, -1, 878,
- -1, 882, -1, 889, -1, 890, 892, -1, 890, 426,
- 965, 427, 892, -1, 876, -1, 879, -1, 883, -1,
- 889, -1, 970, 875, -1, 970, 650, 875, -1, 426,
- 923, 427, -1, -1, 185, -1, 186, -1, 325, -1,
- 43, -1, 281, -1, 143, 877, -1, 119, 269, -1,
- 101, 875, -1, 100, 875, -1, 240, 875, -1, 46,
- -1, 426, 965, 427, -1, -1, 880, -1, 881, -1,
- 880, -1, 881, -1, 45, 887, 426, 923, 427, -1,
- 45, 887, -1, 884, -1, 885, -1, 884, -1, 885,
- -1, 886, 426, 965, 427, 888, -1, 886, 888, -1,
- 58, 887, -1, 57, 887, -1, 381, -1, 226, 58,
- 887, -1, 226, 57, 887, -1, 228, 887, -1, 383,
- -1, -1, 58, 319, 969, -1, -1, 351, 426, 965,
- 427, 891, -1, 351, 891, -1, 350, 426, 965, 427,
- 891, -1, 350, 891, -1, 188, -1, 412, 409, -1,
- 393, 350, 409, -1, -1, 407, -1, 222, -1, 98,
- -1, 163, -1, 219, -1, 893, -1, 407, 352, 222,
- -1, 98, 352, 163, -1, 98, 352, 219, -1, 98,
- 352, 893, -1, 163, 352, 219, -1, 163, 352, 893,
- -1, 219, 352, 893, -1, -1, 310, -1, 310, 426,
- 965, 427, -1, 896, -1, 894, 11, 870, -1, 894,
- 66, 649, -1, 894, 36, 350, 409, 894, -1, 417,
- 894, -1, 418, 894, -1, 894, 417, 894, -1, 894,
- 418, 894, -1, 894, 419, 894, -1, 894, 420, 894,
- -1, 894, 421, 894, -1, 894, 422, 894, -1, 894,
- 414, 894, -1, 894, 415, 894, -1, 894, 413, 894,
- -1, 894, 920, 894, -1, 920, 894, -1, 894, 920,
- -1, 894, 28, 894, -1, 894, 251, 894, -1, 232,
- 894, -1, 894, 207, 894, -1, 894, 207, 894, 128,
- 894, -1, 894, 232, 207, 894, -1, 894, 232, 207,
- 894, 128, 894, -1, 894, 166, 894, -1, 894, 166,
- 894, 128, 894, -1, 894, 232, 166, 894, -1, 894,
- 232, 166, 894, 128, 894, -1, 894, 323, 352, 894,
- -1, 894, 323, 352, 894, 128, 894, -1, 894, 232,
- 323, 352, 894, -1, 894, 232, 323, 352, 894, 128,
- 894, -1, 894, 191, 237, -1, 894, 192, -1, 894,
- 191, 232, 237, -1, 894, 235, -1, 916, 256, 916,
- -1, 894, 191, 358, -1, 894, 191, 232, 358, -1,
- 894, 191, 139, -1, 894, 191, 232, 139, -1, 894,
- 191, 368, -1, 894, 191, 232, 368, -1, 894, 191,
- 115, 150, 894, -1, 894, 191, 232, 115, 150, 894,
- -1, 894, 191, 242, 426, 926, 427, -1, 894, 191,
- 232, 242, 426, 926, 427, -1, 894, 42, 948, 895,
- 28, 895, -1, 894, 232, 42, 948, 895, 28, 895,
- -1, 894, 42, 339, 895, 28, 895, -1, 894, 232,
- 42, 339, 895, 28, 895, -1, 894, 170, 938, -1,
- 894, 232, 170, 938, -1, 894, 922, 917, 818, -1,
- 894, 922, 917, 426, 894, 427, -1, 367, 818, -1,
- 894, 191, 117, -1, 894, 191, 232, 117, -1, 896,
- -1, 895, 11, 870, -1, 417, 895, -1, 418, 895,
- -1, 895, 417, 895, -1, 895, 418, 895, -1, 895,
- 419, 895, -1, 895, 420, 895, -1, 895, 421, 895,
- -1, 895, 422, 895, -1, 895, 414, 895, -1, 895,
- 415, 895, -1, 895, 413, 895, -1, 895, 920, 895,
- -1, 920, 895, -1, 895, 920, -1, 895, 191, 115,
- 150, 895, -1, 895, 191, 232, 115, 150, 895, -1,
- 895, 191, 242, 426, 926, 427, -1, 895, 191, 232,
- 242, 426, 926, 427, -1, 895, 191, 117, -1, 895,
- 191, 232, 117, -1, 944, -1, 964, -1, 10, 947,
- -1, 426, 894, 427, 947, -1, 939, -1, 897, -1,
- 818, -1, 818, 946, -1, 134, 818, -1, 30, 818,
- -1, 30, 927, -1, 916, -1, 963, 426, 427, 909,
- -1, 963, 426, 924, 427, 909, -1, 963, 426, 382,
- 925, 427, 909, -1, 963, 426, 924, 430, 382, 925,
- 427, 909, -1, 963, 426, 924, 832, 427, 909, -1,
- 963, 426, 22, 924, 831, 427, 909, -1, 963, 426,
- 115, 924, 831, 427, 909, -1, 963, 426, 419, 427,
- 909, -1, 67, 145, 426, 894, 427, -1, 88, -1,
- 91, -1, 91, 426, 965, 427, -1, 92, -1, 92,
- 426, 965, 427, -1, 212, -1, 212, 426, 965, 427,
- -1, 213, -1, 213, 426, 965, 427, -1, 89, -1,
- 93, -1, 318, -1, 373, -1, 87, -1, 90, -1,
- 54, 426, 894, 31, 870, 427, -1, 138, 426, 929,
- 427, -1, 257, 426, 931, 427, -1, 267, 426, 933,
- 427, -1, 338, 426, 934, 427, -1, 355, 426, 894,
- 31, 870, 427, -1, 357, 426, 47, 937, 427, -1,
- 357, 426, 202, 937, 427, -1, 357, 426, 353, 937,
- 427, -1, 357, 426, 937, 427, -1, 238, 426, 894,
- 430, 894, 427, -1, 65, 426, 923, 427, -1, 157,
- 426, 923, 427, -1, 204, 426, 923, 427, -1, 399,
- 426, 923, 427, -1, 400, 426, 224, 971, 427, -1,
- 400, 426, 224, 971, 430, 900, 427, -1, 400, 426,
- 224, 971, 430, 923, 427, -1, 400, 426, 224, 971,
- 430, 900, 430, 923, 427, -1, 401, 426, 896, 905,
- 427, -1, 402, 426, 901, 427, -1, 403, 426, 903,
- 894, 904, 427, -1, 404, 426, 224, 971, 427, -1,
- 404, 426, 224, 971, 430, 894, 427, -1, 405, 426,
- 894, 430, 898, 899, 427, -1, 406, 426, 903, 894,
- 31, 872, 427, -1, 385, 894, -1, 385, 230, 379,
- -1, 430, 329, 408, -1, 430, 329, 230, -1, 430,
- 329, 230, 379, -1, -1, 398, 426, 901, 427, -1,
- 902, -1, 901, 430, 902, -1, 894, 31, 971, -1,
- 894, -1, 117, -1, 78, -1, 270, 390, -1, 337,
- 390, -1, -1, 263, 896, -1, 263, 896, 48, 285,
- -1, 263, 48, 285, 896, -1, 263, 48, 285, 896,
- 48, 285, -1, 391, 907, -1, -1, 908, -1, 907,
- 430, 908, -1, 969, 31, 910, -1, 255, 910, -1,
- 255, 969, -1, -1, 426, 911, 912, 831, 913, 427,
- -1, 969, -1, -1, 262, 48, 923, -1, -1, 279,
- 914, -1, 304, 914, -1, -1, 915, -1, 42, 915,
- 28, 915, -1, 363, 268, -1, 363, 144, -1, 86,
- 303, -1, 894, 268, -1, 894, 144, -1, 303, 426,
- 923, 427, -1, 303, 426, 427, -1, 426, 923, 430,
- 894, 427, -1, 29, -1, 327, -1, 22, -1, 8,
- -1, 919, -1, 417, -1, 418, -1, 419, -1, 420,
- -1, 421, -1, 422, -1, 414, -1, 415, -1, 413,
- -1, 8, -1, 248, 426, 721, 427, -1, 918, -1,
- 248, 426, 721, 427, -1, 918, -1, 248, 426, 721,
- 427, -1, 207, -1, 232, 207, -1, 166, -1, 232,
- 166, -1, 894, -1, 923, 430, 894, -1, 925, -1,
- 924, 430, 925, -1, 894, -1, 703, 13, 894, -1,
- 870, -1, 926, 430, 870, -1, 424, 923, 425, -1,
- 424, 928, 425, -1, 424, 425, -1, 927, -1, 928,
- 430, 927, -1, 930, 150, 894, -1, -1, 3, -1,
- 407, -1, 222, -1, 98, -1, 163, -1, 219, -1,
- 310, -1, 966, -1, 894, 932, 935, 936, -1, 894,
- 932, 935, -1, 265, 894, -1, 895, 170, 895, -1,
- -1, 894, 935, 936, -1, 894, 936, 935, -1, 894,
- 935, -1, 894, 936, -1, 923, -1, -1, 150, 894,
- -1, 145, 894, -1, 894, 150, 923, -1, 150, 923,
- -1, 923, -1, 818, -1, 426, 923, 427, -1, 53,
- 943, 940, 942, 126, -1, 941, -1, 940, 941, -1,
- 388, 894, 349, 894, -1, 122, 894, -1, -1, 894,
- -1, -1, 969, -1, 969, 946, -1, 428, 960, -1,
- 428, 419, -1, 424, 894, 425, -1, 424, 894, 431,
- 894, 425, -1, 945, -1, 946, 945, -1, -1, 947,
- 945, -1, 35, -1, -1, 894, -1, 103, -1, 949,
- -1, 950, 430, 949, -1, 426, 950, 427, -1, 953,
- -1, 952, 430, 953, -1, 894, 31, 971, -1, 894,
- 3, -1, 894, -1, 419, -1, 955, -1, 954, 430,
- 955, -1, 969, -1, 969, 946, -1, 957, -1, 956,
- 430, 957, -1, 969, -1, 969, -1, 969, -1, 971,
- -1, 969, -1, 966, -1, 970, -1, 969, 946, -1,
- 965, -1, 4, -1, 966, -1, 6, -1, 7, -1,
- 963, 966, -1, 963, 426, 924, 427, 966, -1, 873,
- 966, -1, 890, 966, 892, -1, 890, 426, 965, 427,
- 966, 892, -1, 358, -1, 139, -1, 237, -1, 9,
- -1, 5, -1, 969, -1, 965, -1, 417, 965, -1,
- 418, 965, -1, 3, -1, 972, -1, 973, -1, 3,
- -1, 972, -1, 974, -1, 3, -1, 972, -1, 973,
- -1, 974, -1, 975, -1, 14, -1, 15, -1, 16,
- -1, 17, -1, 18, -1, 19, -1, 20, -1, 21,
- -1, 23, -1, 24, -1, 25, -1, 33, -1, 34,
- -1, 36, -1, 37, -1, 39, -1, 40, -1, 41,
- -1, 48, -1, 49, -1, 50, -1, 51, -1, 52,
- -1, 55, -1, 56, -1, 59, -1, 61, -1, 62,
- -1, 63, -1, 64, -1, 69, -1, 70, -1, 71,
- -1, 72, -1, 74, -1, 75, -1, 77, -1, 78,
- -1, 79, -1, 80, -1, 81, -1, 82, -1, 85,
- -1, 86, -1, 94, -1, 95, -1, 96, -1, 97,
- -1, 98, -1, 99, -1, 102, -1, 104, -1, 106,
- -1, 107, -1, 108, -1, 109, -1, 110, -1, 112,
- -1, 113, -1, 114, -1, 117, -1, 118, -1, 119,
- -1, 120, -1, 121, -1, 123, -1, 124, -1, 125,
- -1, 127, -1, 128, -1, 130, -1, 131, -1, 132,
- -1, 133, -1, 135, -1, 136, -1, 137, -1, 140,
- -1, 142, -1, 144, -1, 146, -1, 148, -1, 152,
- -1, 153, -1, 154, -1, 156, -1, 159, -1, 161,
- -1, 162, -1, 163, -1, 164, -1, 165, -1, 167,
- -1, 168, -1, 169, -1, 171, -1, 172, -1, 173,
- -1, 174, -1, 175, -1, 176, -1, 178, -1, 181,
- -1, 182, -1, 183, -1, 184, -1, 190, -1, 193,
- -1, 195, -1, 196, -1, 197, -1, 198, -1, 199,
- -1, 200, -1, 201, -1, 203, -1, 206, -1, 209,
- -1, 210, -1, 211, -1, 214, -1, 215, -1, 216,
- -1, 217, -1, 218, -1, 219, -1, 220, -1, 221,
- -1, 222, -1, 223, -1, 224, -1, 225, -1, 229,
- -1, 230, -1, 233, -1, 234, -1, 236, -1, 239,
- -1, 241, -1, 242, -1, 243, -1, 245, -1, 248,
- -1, 249, -1, 250, -1, 258, -1, 259, -1, 260,
- -1, 261, -1, 262, -1, 263, -1, 264, -1, 266,
- -1, 268, -1, 271, -1, 272, -1, 270, -1, 274,
- -1, 275, -1, 276, -1, 277, -1, 278, -1, 279,
- -1, 280, -1, 282, -1, 283, -1, 284, -1, 285,
- -1, 287, -1, 288, -1, 289, -1, 290, -1, 291,
- -1, 292, -1, 293, -1, 294, -1, 295, -1, 296,
- -1, 298, -1, 299, -1, 301, -1, 302, -1, 304,
- -1, 305, -1, 306, -1, 307, -1, 308, -1, 309,
- -1, 310, -1, 311, -1, 313, -1, 314, -1, 315,
- -1, 316, -1, 317, -1, 319, -1, 321, -1, 322,
- -1, 324, -1, 326, -1, 328, -1, 329, -1, 330,
- -1, 331, -1, 332, -1, 333, -1, 334, -1, 335,
- -1, 336, -1, 337, -1, 340, -1, 341, -1, 343,
- -1, 344, -1, 345, -1, 346, -1, 347, -1, 348,
- -1, 354, -1, 356, -1, 359, -1, 360, -1, 361,
- -1, 362, -1, 363, -1, 364, -1, 365, -1, 368,
- -1, 369, -1, 370, -1, 371, -1, 372, -1, 375,
- -1, 376, -1, 377, -1, 378, -1, 379, -1, 383,
- -1, 385, -1, 386, -1, 387, -1, 390, -1, 393,
- -1, 394, -1, 395, -1, 396, -1, 397, -1, 407,
- -1, 408, -1, 409, -1, 42, -1, 43, -1, 45,
- -1, 46, -1, 57, -1, 58, -1, 65, -1, 100,
- -1, 101, -1, 134, -1, 138, -1, 143, -1, 157,
- -1, 180, -1, 185, -1, 186, -1, 188, -1, 204,
- -1, 226, -1, 228, -1, 231, -1, 238, -1, 240,
- -1, 253, -1, 257, -1, 267, -1, 269, -1, 281,
- -1, 303, -1, 320, -1, 325, -1, 338, -1, 350,
- -1, 351, -1, 355, -1, 357, -1, 380, -1, 381,
- -1, 398, -1, 399, -1, 400, -1, 401, -1, 402,
- -1, 403, -1, 404, -1, 405, -1, 406, -1, 38,
- -1, 44, -1, 67, -1, 73, -1, 84, -1, 90,
- -1, 149, -1, 151, -1, 166, -1, 179, -1, 191,
- -1, 192, -1, 194, -1, 205, -1, 207, -1, 227,
- -1, 235, -1, 254, -1, 255, -1, 256, -1, 300,
- -1, 323, -1, 384, -1, 22, -1, 26, -1, 27,
- -1, 28, -1, 29, -1, 30, -1, 31, -1, 32,
- -1, 35, -1, 47, -1, 53, -1, 54, -1, 60,
- -1, 66, -1, 68, -1, 76, -1, 83, -1, 87,
- -1, 88, -1, 89, -1, 91, -1, 92, -1, 93,
- -1, 103, -1, 105, -1, 111, -1, 115, -1, 116,
- -1, 122, -1, 126, -1, 129, -1, 139, -1, 141,
- -1, 145, -1, 147, -1, 150, -1, 155, -1, 158,
- -1, 160, -1, 170, -1, 177, -1, 187, -1, 189,
- -1, 202, -1, 208, -1, 212, -1, 213, -1, 232,
- -1, 237, -1, 244, -1, 246, -1, 247, -1, 251,
- -1, 252, -1, 265, -1, 273, -1, 286, -1, 297,
- -1, 312, -1, 318, -1, 327, -1, 339, -1, 342,
- -1, 349, -1, 352, -1, 353, -1, 358, -1, 366,
- -1, 367, -1, 373, -1, 374, -1, 382, -1, 388,
- -1, 389, -1, 391, -1, 392, -1
+ 443, 0, -1, 444, -1, 444, 439, 445, -1, 445,
+ -1, 635, -1, 785, -1, 786, -1, 699, -1, 792,
+ -1, 649, -1, 587, -1, 590, -1, 596, -1, 610,
+ -1, 612, -1, 737, -1, 461, -1, 759, -1, 760,
+ -1, 566, -1, 790, -1, 489, -1, 755, -1, 501,
+ -1, 455, -1, 453, -1, 795, -1, 794, -1, 616,
+ -1, 457, -1, 456, -1, 802, -1, 487, -1, 504,
+ -1, 797, -1, 673, -1, 484, -1, 505, -1, 558,
+ -1, 637, -1, 748, -1, 796, -1, 791, -1, 584,
+ -1, 591, -1, 605, -1, 611, -1, 715, -1, 460,
+ -1, 561, -1, 651, -1, 658, -1, 659, -1, 573,
+ -1, 464, -1, 565, -1, 521, -1, 581, -1, 617,
+ -1, 631, -1, 446, -1, 452, -1, 613, -1, 781,
+ -1, 819, -1, 838, -1, 639, -1, 825, -1, 488,
+ -1, 745, -1, 638, -1, 750, -1, 595, -1, 609,
+ -1, 463, -1, 662, -1, 663, -1, 664, -1, 579,
+ -1, 768, -1, 666, -1, 583, -1, 630, -1, 458,
+ -1, 459, -1, 615, -1, 789, -1, 817, -1, 808,
+ -1, 680, -1, 684, -1, 695, -1, 704, -1, 820,
+ -1, 771, -1, 564, -1, 780, -1, 827, -1, 769,
+ -1, 814, -1, 665, -1, 752, -1, 741, -1, 740,
+ -1, 742, -1, 756, -1, 685, -1, 696, -1, 761,
+ -1, 676, -1, 842, -1, 773, -1, 671, -1, 772,
+ -1, 831, -1, 799, -1, 480, -1, 468, -1, 483,
+ -1, 778, -1, -1, 83, 308, 1005, 447, 448, -1,
+ 400, -1, -1, 448, 451, -1, -1, 449, 450, -1,
+ -1, 269, 1004, -1, 269, 241, -1, 125, 269, 1004,
+ -1, 372, 269, 1004, -1, 177, -1, 75, 211, 1007,
+ -1, 383, 378, 1004, -1, 380, 1006, -1, 3, -1,
+ 450, -1, 347, 1003, -1, 19, 1006, -1, 308, 1006,
+ -1, 172, 308, 1006, -1, 172, 160, 1006, -1, 83,
+ 380, 1005, 447, 448, -1, 24, 308, 1005, 447, 449,
+ -1, -1, 172, 97, 996, -1, 24, 308, 1005, 454,
+ 481, -1, 24, 308, 22, 454, 481, -1, 24, 380,
+ 1005, 447, 449, -1, 24, 380, 1005, 481, -1, 120,
+ 308, 1006, -1, 120, 308, 167, 135, 1006, -1, 120,
+ 380, 1006, -1, 120, 380, 167, 135, 1006, -1, 83,
+ 160, 1005, 447, 448, -1, 24, 160, 1005, 462, 380,
+ 1006, -1, 18, -1, 120, -1, 120, 160, 1006, -1,
+ 120, 160, 167, 135, 1006, -1, 83, 314, 465, 38,
+ 1005, 466, -1, 83, 314, 1008, 466, -1, 83, 314,
+ 167, 236, 135, 465, 38, 1005, 466, -1, 83, 314,
+ 167, 236, 135, 1008, 466, -1, 1008, -1, -1, 466,
+ 467, -1, -1, 521, -1, 704, -1, 565, -1, 617,
+ -1, 684, -1, 778, -1, 326, 469, -1, 326, 214,
+ 469, -1, 326, 324, 469, -1, 361, 776, -1, 324,
+ 59, 31, 361, 776, -1, 471, -1, 472, 359, 473,
+ -1, 472, 423, 473, -1, 472, 359, 103, -1, 472,
+ 423, 103, -1, 470, -1, 472, 152, 86, -1, 357,
+ 418, 477, -1, 55, 1004, -1, 314, 1004, -1, 229,
+ 478, -1, 308, 479, -1, 324, 38, 479, -1, 324,
+ 38, 103, -1, 406, 253, 938, -1, 361, 333, 1004,
+ -1, 1008, -1, 472, 438, 1008, -1, 474, -1, 473,
+ 440, 474, -1, 476, -1, 571, -1, 286, 371, -1,
+ 286, 72, -1, 298, 286, -1, 322, -1, 365, -1,
+ 140, -1, 250, -1, 479, -1, 1004, -1, 3, -1,
+ 922, 1004, 924, -1, 922, 436, 1003, 437, 1004, 924,
+ -1, 571, -1, 103, -1, 214, -1, 1004, -1, 103,
+ -1, -1, 1010, -1, 1004, -1, 301, 472, -1, 301,
+ 357, 418, -1, 301, 361, 195, 209, -1, 301, 324,
+ 38, -1, 301, 22, -1, 326, 469, -1, 480, -1,
+ 326, 471, -1, 480, -1, 329, 472, -1, 329, 357,
+ 418, -1, 329, 361, 195, 209, -1, 329, 324, 38,
+ -1, 329, 22, -1, 326, 77, 485, 486, -1, 22,
+ -1, 992, -1, 106, -1, 169, -1, 61, -1, 114,
+ 22, -1, 114, 352, -1, 114, 354, -1, 114, 271,
+ -1, 114, 321, -1, 24, 349, 889, 490, -1, 24,
+ 349, 167, 135, 889, 490, -1, 24, 175, 993, 490,
+ -1, 24, 175, 167, 135, 993, 490, -1, 24, 320,
+ 993, 490, -1, 24, 320, 167, 135, 993, 490, -1,
+ 24, 393, 993, 490, -1, 24, 393, 167, 135, 993,
+ 490, -1, 24, 221, 393, 993, 490, -1, 24, 221,
+ 393, 167, 135, 993, 490, -1, 491, -1, 490, 440,
+ 491, -1, 18, 529, -1, 18, 68, 529, -1, 24,
+ 757, 1008, 492, -1, 24, 757, 1008, 120, 236, 241,
+ -1, 24, 757, 1008, 326, 236, 241, -1, 24, 757,
+ 1008, 326, 339, 1007, -1, 24, 757, 1008, 326, 497,
+ -1, 24, 757, 1008, 301, 497, -1, 24, 757, 1008,
+ 326, 342, 1008, -1, 120, 757, 167, 135, 1008, 493,
+ -1, 120, 757, 1008, 493, -1, 24, 757, 1008, 758,
+ 368, 902, 494, 495, -1, 24, 757, 1008, 599, -1,
+ 18, 538, -1, 24, 76, 995, 628, -1, 384, 76,
+ 995, -1, 120, 76, 167, 135, 995, 493, -1, 120,
+ 76, 995, 493, -1, 326, 400, 249, -1, 326, 402,
+ 249, -1, 64, 250, 995, -1, 326, 402, 64, -1,
+ 123, 363, 995, -1, 123, 25, 363, 995, -1, 123,
+ 300, 363, 995, -1, 123, 363, 22, -1, 123, 363,
+ 380, -1, 113, 363, 995, -1, 113, 363, 22, -1,
+ 113, 363, 380, -1, 123, 312, 995, -1, 123, 25,
+ 312, 995, -1, 123, 300, 312, 995, -1, 113, 312,
+ 995, -1, 177, 993, -1, 234, 177, 993, -1, 246,
+ 669, -1, 236, 246, -1, 264, 359, 1005, -1, 326,
+ 351, 995, -1, 326, 497, -1, 301, 497, -1, 300,
+ 166, 496, -1, 599, -1, 326, 103, 926, -1, 120,
+ 103, -1, 51, -1, 303, -1, -1, 66, 669, -1,
+ -1, 381, 926, -1, -1, 237, -1, 153, -1, 103,
+ -1, 381, 175, 995, -1, 436, 499, 437, -1, 400,
+ 497, -1, -1, 500, -1, 499, 440, 500, -1, 1011,
+ 423, 643, -1, 1011, -1, 1011, 438, 1011, 423, 643,
+ -1, 1011, 438, 1011, -1, 24, 368, 669, 502, -1,
+ 503, -1, 502, 440, 503, -1, 18, 37, 901, 493,
+ -1, 120, 37, 167, 135, 1008, 493, -1, 120, 37,
+ 1008, 493, -1, 24, 37, 1008, 758, 368, 902, 494,
+ 493, -1, 63, 839, -1, 63, 22, -1, 81, 512,
+ 993, 541, 513, 506, 507, 508, 514, 447, 509, -1,
+ 81, 843, 359, 507, 508, 447, 509, -1, 152, -1,
+ 359, -1, 283, -1, -1, 1004, -1, 340, -1, 341,
+ -1, 510, -1, 436, 516, 437, -1, 510, 511, -1,
+ -1, 44, -1, 249, -1, 151, -1, 109, 793, 1004,
+ -1, 241, 793, 1004, -1, 85, -1, 163, -1, 284,
+ 793, 1004, -1, 128, 793, 1004, -1, 148, 284, 542,
+ -1, 148, 284, 429, -1, 148, 236, 241, 542, -1,
+ 148, 241, 542, -1, 124, 1004, -1, 44, -1, -1,
+ 400, 249, -1, -1, 515, 110, 1004, -1, -1, 381,
+ -1, -1, 517, -1, 516, 440, 517, -1, 1011, 518,
+ -1, 476, -1, 571, -1, 429, -1, 436, 519, 437,
+ -1, -1, 520, -1, 519, 440, 520, -1, 476, -1,
+ 83, 522, 349, 993, 436, 523, 437, 552, 553, 554,
+ 555, -1, 83, 522, 349, 167, 236, 135, 993, 436,
+ 523, 437, 552, 553, 554, 555, -1, 83, 522, 349,
+ 993, 246, 669, 524, 553, 554, 555, -1, 83, 522,
+ 349, 167, 236, 135, 993, 246, 669, 524, 553, 554,
+ 555, -1, 354, -1, 352, -1, 214, 354, -1, 214,
+ 352, -1, 156, 354, -1, 156, 352, -1, 377, -1,
+ -1, 525, -1, -1, 436, 526, 437, -1, -1, 527,
+ -1, 525, 440, 527, -1, 528, -1, 526, 440, 528,
+ -1, 529, -1, 535, -1, 538, -1, 530, -1, 538,
+ -1, 1008, 902, 597, 531, -1, 1008, 400, 254, 531,
+ -1, 531, 532, -1, -1, 76, 995, 533, -1, 533,
+ -1, 534, -1, 66, 669, -1, 236, 241, -1, 241,
+ -1, 374, 734, 556, -1, 278, 197, 734, 556, -1,
+ 60, 436, 926, 437, 540, -1, 103, 927, -1, 292,
+ 993, 541, 544, 548, -1, 105, -1, 236, 105, -1,
+ 179, 106, -1, 179, 169, -1, 210, 993, 536, -1,
+ 536, 173, 537, -1, 536, 132, 537, -1, -1, 104,
+ -1, 77, -1, 176, -1, 342, -1, 70, -1, 22,
+ -1, 76, 995, 539, -1, 539, -1, 60, 436, 926,
+ 437, 628, -1, 374, 436, 542, 437, 734, 556, 628,
+ -1, 374, 557, 628, -1, 278, 197, 436, 542, 437,
+ 734, 556, 628, -1, 278, 197, 557, 628, -1, 131,
+ 708, 436, 545, 437, 734, 556, 547, 628, -1, 149,
+ 197, 436, 542, 437, 292, 993, 541, 544, 548, 628,
+ -1, 234, 177, -1, -1, 436, 542, 437, -1, -1,
+ 543, -1, 542, 440, 543, -1, 1008, -1, 220, 153,
+ -1, 220, 266, -1, 220, 331, -1, -1, 546, -1,
+ 545, 440, 546, -1, 710, 400, 744, -1, 710, 400,
+ 252, 436, 744, 437, -1, 397, 436, 926, 437, -1,
+ -1, 549, -1, 550, -1, 549, 550, -1, 550, 549,
+ -1, -1, 250, 379, 551, -1, 250, 108, 551, -1,
+ 234, 17, -1, 303, -1, 51, -1, 326, 241, -1,
+ 326, 103, -1, 178, 436, 992, 437, -1, -1, 400,
+ 497, -1, 400, 249, -1, 402, 249, -1, -1, 250,
+ 71, 120, -1, 250, 71, 108, 311, -1, 250, 71,
+ 275, 311, -1, -1, 351, 995, -1, -1, 381, 175,
+ 351, 995, -1, -1, 381, 175, 999, -1, 83, 522,
+ 349, 559, 31, 842, 560, -1, 993, 541, 553, 554,
+ 555, -1, 400, 96, -1, 400, 234, 96, -1, -1,
+ 83, 563, 221, 393, 562, 31, 842, 560, -1, 993,
+ 541, 498, 555, -1, 377, -1, -1, 293, 221, 393,
+ 706, 993, 560, -1, 83, 522, 320, 993, 567, -1,
+ 24, 320, 993, 568, -1, 24, 320, 167, 135, 993,
+ 568, -1, 568, -1, -1, 569, -1, 568, 569, -1,
+ 49, 571, -1, 95, -1, 234, 95, -1, 174, 570,
+ 571, -1, 222, 571, -1, 224, 571, -1, 234, 222,
+ -1, 234, 224, -1, 263, 48, 669, -1, 337, 447,
+ 571, -1, 302, -1, 302, 447, 571, -1, 48, -1,
+ -1, 4, -1, 428, 4, -1, 1007, -1, 571, -1,
+ 572, 440, 571, -1, 83, 716, 574, 580, 199, 479,
+ -1, 83, 716, 574, 580, 199, 479, 161, 575, 576,
+ 578, -1, 367, -1, -1, 995, -1, 995, 670, -1,
+ 180, 575, -1, -1, 385, 575, -1, 234, 385, -1,
+ 577, -1, -1, 120, 580, 199, 479, 493, -1, 120,
+ 580, 199, 167, 135, 479, 493, -1, 281, -1, -1,
+ 83, 351, 995, 582, 217, 1004, 498, -1, 264, 995,
+ -1, -1, 120, 351, 995, -1, 120, 351, 167, 135,
+ 995, -1, 83, 137, 995, 447, 585, -1, 83, 137,
+ 167, 236, 135, 995, 447, 585, -1, 585, 586, -1,
+ -1, 314, 995, -1, 392, 479, -1, 152, 479, -1,
+ 24, 137, 995, 379, 588, -1, 588, 589, -1, -1,
+ 359, 479, -1, 24, 137, 995, 462, 21, 1001, 728,
+ -1, 24, 137, 995, 462, 54, 436, 902, 31, 902,
+ 437, -1, 24, 137, 995, 462, 67, 669, -1, 24,
+ 137, 995, 462, 80, 669, -1, 24, 137, 995, 462,
+ 118, 669, -1, 24, 137, 995, 462, 154, 694, -1,
+ 24, 137, 995, 462, 580, 199, 995, -1, 24, 137,
+ 995, 462, 252, 744, 743, -1, 24, 137, 995, 462,
+ 252, 62, 669, 381, 997, -1, 24, 137, 995, 462,
+ 252, 141, 669, 381, 997, -1, 24, 137, 995, 462,
+ 314, 995, -1, 24, 137, 995, 462, 129, 363, 995,
+ -1, 24, 137, 995, 462, 349, 669, -1, 24, 137,
+ 995, 462, 355, 316, 265, 669, -1, 24, 137, 995,
+ 462, 355, 316, 112, 669, -1, 24, 137, 995, 462,
+ 355, 316, 353, 669, -1, 24, 137, 995, 462, 355,
+ 316, 74, 669, -1, 24, 137, 995, 462, 320, 669,
+ -1, 24, 137, 995, 462, 393, 669, -1, 24, 137,
+ 995, 462, 221, 393, 669, -1, 24, 137, 995, 462,
+ 149, 349, 669, -1, 24, 137, 995, 462, 149, 96,
+ 404, 995, -1, 24, 137, 995, 462, 323, 995, -1,
+ 24, 137, 995, 462, 368, 669, -1, 83, 149, 96,
+ 404, 995, 594, 597, -1, 161, 575, -1, 234, 161,
+ -1, 385, 575, -1, 234, 385, -1, 592, -1, 593,
+ 592, -1, 593, -1, -1, 120, 149, 96, 404, 995,
+ 493, -1, 120, 149, 96, 404, 167, 135, 995, 493,
+ -1, 24, 149, 96, 404, 995, 594, 599, -1, 24,
+ 149, 96, 404, 995, 593, -1, 254, 436, 598, 437,
+ -1, -1, 602, -1, 598, 440, 602, -1, 254, 436,
+ 600, 437, -1, 601, -1, 600, 440, 601, -1, 602,
+ -1, 326, 602, -1, 18, 602, -1, 120, 603, -1,
+ 603, 604, -1, 1011, -1, 1004, -1, 83, 323, 995,
+ 606, 608, 149, 96, 404, 995, 597, -1, 368, 1004,
+ -1, -1, 392, 1004, -1, 392, 241, -1, 607, -1,
+ -1, 120, 323, 995, 493, -1, 120, 323, 167, 135,
+ 995, 493, -1, 24, 323, 995, 607, 599, -1, 24,
+ 323, 995, 607, -1, 24, 323, 995, 599, -1, 83,
+ 149, 349, 993, 436, 523, 437, 323, 995, 597, -1,
+ 83, 149, 349, 167, 236, 135, 993, 436, 523, 437,
+ 323, 995, 597, -1, 24, 149, 349, 889, 490, -1,
+ 24, 149, 349, 167, 135, 889, 490, -1, 83, 380,
+ 219, 147, 614, 323, 995, 597, -1, 93, -1, 380,
+ -1, 1005, -1, 120, 380, 219, 147, 614, 323, 995,
+ -1, 120, 380, 219, 167, 135, 147, 614, 323, 995,
+ -1, 24, 380, 219, 147, 614, 323, 995, 599, -1,
+ 83, 363, 995, 618, 619, 250, 993, 621, 624, 134,
+ 282, 1001, 436, 625, 437, -1, 83, 76, 363, 995,
+ 20, 619, 250, 993, 627, 628, 147, 121, 310, 624,
+ 134, 282, 1001, 436, 625, 437, -1, 40, -1, 20,
+ -1, 186, 246, -1, 620, -1, 619, 255, 620, -1,
+ 185, -1, 108, -1, 379, -1, 379, 246, 542, -1,
+ 366, -1, 147, 622, 623, -1, -1, 121, -1, -1,
+ 310, -1, 338, -1, 396, 436, 926, 437, -1, -1,
+ 626, -1, 625, 440, 626, -1, -1, 1003, -1, 4,
+ -1, 1004, -1, 1011, -1, 152, 993, -1, -1, -1,
+ 628, 629, -1, 236, 105, -1, 105, -1, 179, 169,
+ -1, 179, 106, -1, 236, 383, -1, 234, 177, -1,
+ 120, 363, 995, 250, 669, 493, -1, 120, 363, 167,
+ 135, 995, 250, 669, 493, -1, 83, 129, 363, 995,
+ 250, 1011, 134, 282, 1001, 436, 437, -1, 83, 129,
+ 363, 995, 250, 1011, 396, 632, 134, 282, 1001, 436,
+ 437, -1, 633, -1, 632, 28, 633, -1, 1008, 172,
+ 436, 634, 437, -1, 5, -1, 634, 440, 5, -1,
+ 24, 129, 363, 995, 636, -1, 123, -1, 123, 300,
+ -1, 123, 25, -1, 113, -1, 83, 33, 995, 60,
+ 436, 926, 437, 628, -1, 120, 33, 995, 493, -1,
+ 83, 21, 1001, 728, 640, -1, 83, 21, 1001, 644,
+ -1, 83, 252, 744, 640, -1, 83, 368, 669, 640,
+ -1, 83, 368, 669, -1, 83, 368, 669, 31, 436,
+ 899, 437, -1, 83, 368, 669, 31, 127, 436, 647,
+ 437, -1, 83, 368, 669, 31, 285, 640, -1, 83,
+ 355, 316, 265, 669, 640, -1, 83, 355, 316, 112,
+ 669, 640, -1, 83, 355, 316, 353, 669, 640, -1,
+ 83, 355, 316, 74, 669, 640, -1, 83, 67, 669,
+ 640, -1, 83, 67, 669, 152, 669, -1, 436, 641,
+ 437, -1, 642, -1, 641, 440, 642, -1, 1011, 423,
+ 643, -1, 1011, -1, 725, -1, 1015, -1, 958, -1,
+ 571, -1, 1004, -1, 436, 645, 437, -1, 646, -1,
+ 645, 440, 646, -1, 3, 423, 643, -1, 648, -1,
+ -1, 1004, -1, 648, 440, 1004, -1, 24, 368, 669,
+ 18, 386, 650, 1004, -1, 24, 368, 669, 18, 386,
+ 650, 1004, 40, 1004, -1, 24, 368, 669, 18, 386,
+ 650, 1004, 20, 1004, -1, 167, 236, 135, -1, -1,
+ 83, 252, 62, 669, 654, 147, 368, 902, 381, 997,
+ 655, 31, 652, -1, 653, -1, 652, 440, 653, -1,
+ 252, 1003, 744, 656, 657, -1, 252, 1003, 744, 743,
+ 656, 657, -1, 154, 1003, 1001, 717, -1, 154, 1003,
+ 436, 963, 437, 1001, 717, -1, 342, 902, -1, 103,
+ -1, -1, 141, 669, -1, -1, 147, 316, -1, 147,
+ 256, 48, 669, -1, -1, 289, -1, -1, 83, 252,
+ 141, 669, 381, 997, -1, 24, 252, 141, 669, 381,
+ 997, 18, 652, -1, 24, 252, 141, 669, 381, 997,
+ 120, 660, -1, 661, -1, 660, 440, 661, -1, 252,
+ 1003, 436, 963, 437, -1, 154, 1003, 436, 963, 437,
+ -1, 120, 252, 62, 669, 381, 997, 493, -1, 120,
+ 252, 62, 167, 135, 669, 381, 997, 493, -1, 120,
+ 252, 141, 669, 381, 997, 493, -1, 120, 252, 141,
+ 167, 135, 669, 381, 997, 493, -1, 120, 263, 48,
+ 1006, 493, -1, 288, 263, 48, 1006, 359, 995, -1,
+ 120, 667, 167, 135, 668, 493, -1, 120, 667, 668,
+ 493, -1, 120, 175, 73, 668, 493, -1, 120, 175,
+ 73, 167, 135, 668, 493, -1, 349, -1, 320, -1,
+ 393, -1, 221, 393, -1, 175, -1, 149, 349, -1,
+ 129, 363, -1, 368, -1, 118, -1, 67, -1, 80,
+ -1, 314, -1, 137, -1, 355, 316, 265, -1, 355,
+ 316, 112, -1, 355, 316, 353, -1, 355, 316, 74,
+ -1, 669, -1, 668, 440, 669, -1, 1008, -1, 1008,
+ 670, -1, 438, 998, -1, 670, 438, 998, -1, 366,
+ 853, 890, 672, 493, -1, 79, 166, -1, 302, 166,
+ -1, -1, 69, 250, 674, 669, 193, 675, -1, 69,
+ 250, 21, 1001, 728, 193, 675, -1, 69, 250, 154,
+ 1001, 717, 193, 675, -1, 69, 250, 252, 744, 743,
+ 193, 675, -1, 69, 250, 76, 995, 250, 669, 193,
+ 675, -1, 69, 250, 312, 995, 250, 669, 193, 675,
+ -1, 69, 250, 312, 995, 193, 675, -1, 69, 250,
+ 363, 995, 250, 669, 193, 675, -1, 69, 250, 252,
+ 62, 669, 381, 997, 193, 675, -1, 69, 250, 252,
+ 141, 669, 381, 997, 193, 675, -1, 69, 250, 200,
+ 245, 571, 193, 675, -1, 69, 250, 54, 436, 902,
+ 31, 902, 437, 193, 675, -1, 69, 250, 580, 199,
+ 669, 193, 675, -1, 68, -1, 97, -1, 314, -1,
+ 175, -1, 320, -1, 349, -1, 118, -1, 368, -1,
+ 393, -1, 221, 393, -1, 67, -1, 80, -1, 351,
+ -1, 137, -1, 308, -1, 149, 349, -1, 323, -1,
+ 149, 96, 404, -1, 129, 363, -1, 355, 316, 74,
+ -1, 355, 316, 112, -1, 355, 316, 265, -1, 355,
+ 316, 353, -1, 1004, -1, 241, -1, 318, 198, 677,
+ 250, 678, 669, 193, 679, -1, 318, 198, 677, 250,
+ 21, 1001, 728, 193, 679, -1, 318, 198, 677, 250,
+ 154, 1001, 717, 193, 679, -1, 318, 198, 677, 250,
+ 200, 245, 571, 193, 679, -1, 318, 198, 677, 250,
+ 580, 199, 669, 193, 679, -1, 147, 479, -1, -1,
+ 68, -1, 97, -1, 129, 363, -1, 149, 349, -1,
+ 314, -1, 320, -1, 349, -1, 118, -1, 308, -1,
+ 351, -1, 368, -1, 393, -1, 221, 393, -1, 1004,
+ -1, 241, -1, 142, 681, -1, 227, 681, -1, 839,
+ -1, 682, 839, -1, 233, 683, 839, -1, 279, 683,
+ 839, -1, 144, 683, 839, -1, 201, 683, 839, -1,
+ 15, 1007, 683, 839, -1, 295, 1007, 683, 839, -1,
+ 1007, 683, 839, -1, 22, 683, 839, -1, 150, 683,
+ 839, -1, 150, 1007, 683, 839, -1, 150, 22, 683,
+ 839, -1, 39, 683, 839, -1, 39, 1007, 683, 839,
+ -1, 39, 22, 683, 839, -1, 152, -1, 172, -1,
+ 682, -1, -1, 157, 686, 250, 689, 359, 690, 692,
+ -1, 306, 686, 250, 689, 152, 690, 493, -1, 306,
+ 157, 253, 147, 686, 250, 689, 152, 690, 493, -1,
+ 687, -1, 22, -1, 22, 280, -1, 22, 436, 542,
+ 437, -1, 22, 280, 436, 542, 437, -1, 688, -1,
+ 687, 440, 688, -1, 319, 541, -1, 292, 541, -1,
+ 83, 541, -1, 1008, 541, -1, 992, -1, 349, 992,
+ -1, 320, 992, -1, 149, 96, 404, 994, -1, 149,
+ 323, 994, -1, 154, 693, -1, 97, 994, -1, 118,
+ 668, -1, 199, 994, -1, 200, 245, 572, -1, 314,
+ 994, -1, 351, 994, -1, 368, 668, -1, 22, 350,
+ 172, 314, 994, -1, 22, 321, 172, 314, 994, -1,
+ 22, 155, 172, 314, 994, -1, 691, -1, 690, 440,
+ 691, -1, 1005, -1, 160, 1005, -1, 400, 157, 253,
+ -1, -1, 694, -1, 693, 440, 694, -1, 1001, 717,
+ -1, 157, 687, 359, 1006, 697, 698, -1, 306, 687,
+ 152, 1006, 698, 493, -1, 306, 19, 253, 147, 687,
+ 152, 1006, 698, 493, -1, 400, 19, 253, -1, -1,
+ 158, 48, 1005, -1, -1, 24, 103, 280, 700, 702,
+ -1, 700, 701, -1, -1, 172, 314, 994, -1, 147,
+ 308, 1006, -1, 147, 380, 1006, -1, 157, 686, 250,
+ 703, 359, 690, 692, -1, 306, 686, 250, 703, 152,
+ 690, 493, -1, 306, 157, 253, 147, 686, 250, 703,
+ 152, 690, 493, -1, 350, -1, 155, -1, 321, -1,
+ 369, -1, 83, 705, 175, 706, 707, 250, 993, 708,
+ 436, 709, 437, 498, 555, 897, -1, 374, -1, -1,
+ 73, -1, -1, 999, -1, -1, 381, 997, -1, -1,
+ 710, -1, 709, 440, 710, -1, 1008, 711, 712, 713,
+ 714, -1, 931, 711, 712, 713, 714, -1, 436, 926,
+ 437, 711, 712, 713, 714, -1, 66, 669, -1, -1,
+ 669, -1, 381, 669, -1, -1, 32, -1, 111, -1,
+ -1, 419, -1, 420, -1, -1, 83, 716, 154, 1001,
+ 719, 305, 724, 730, 734, -1, 83, 716, 154, 1001,
+ 719, 305, 349, 436, 736, 437, 730, 734, -1, 83,
+ 716, 154, 1001, 719, 730, 734, -1, 255, 299, -1,
+ -1, 436, 718, 437, -1, 436, 437, -1, 721, -1,
+ 718, 440, 721, -1, 436, 720, 437, -1, 436, 437,
+ -1, 726, -1, 720, 440, 726, -1, 722, 723, 725,
+ -1, 723, 722, 725, -1, 723, 725, -1, 722, 725,
+ -1, 725, -1, 172, -1, 258, -1, 182, -1, 172,
+ 258, -1, 389, -1, 1009, -1, 725, -1, 902, -1,
+ 1009, 670, 431, 368, -1, 327, 1009, 670, 431, 368,
+ -1, 721, -1, 721, 103, 926, -1, 721, 423, 926,
+ -1, 721, -1, 436, 429, 437, -1, 436, 729, 437,
+ -1, 436, 256, 48, 729, 437, -1, 436, 729, 256,
+ 48, 729, 437, -1, 727, -1, 729, 440, 727, -1,
+ 732, -1, 730, 732, -1, 50, 250, 241, 183, -1,
+ 305, 241, 250, 241, 183, -1, 343, -1, 170, -1,
+ 335, -1, 395, -1, 138, 318, 107, -1, 138, 318,
+ 192, -1, 318, 107, -1, 318, 192, -1, 206, -1,
+ 236, 206, -1, 82, 571, -1, 311, 571, -1, 482,
+ -1, 31, 733, -1, 199, 479, -1, 399, -1, 731,
+ -1, 1004, -1, 1004, 440, 1004, -1, 400, 640, -1,
+ -1, 723, 725, -1, 735, -1, 736, 440, 735, -1,
+ 24, 154, 694, 738, 739, -1, 731, -1, 738, 731,
+ -1, 303, -1, -1, 120, 154, 1001, 717, 493, -1,
+ 120, 154, 167, 135, 1001, 717, 493, -1, 120, 21,
+ 1001, 728, 493, -1, 120, 21, 167, 135, 1001, 728,
+ 493, -1, 120, 252, 744, 743, 493, -1, 120, 252,
+ 167, 135, 744, 743, 493, -1, 436, 902, 437, -1,
+ 436, 902, 440, 902, 437, -1, 436, 235, 440, 902,
+ 437, -1, 436, 902, 440, 235, 437, -1, 955, -1,
+ 1008, 438, 744, -1, 116, 746, -1, 747, -1, 746,
+ 747, -1, 1004, -1, 199, 479, -1, 83, 54, 436,
+ 902, 31, 902, 437, 400, 154, 694, 749, -1, 83,
+ 54, 436, 902, 31, 902, 437, 402, 154, 749, -1,
+ 83, 54, 436, 902, 31, 902, 437, 400, 182, 749,
+ -1, 31, 171, -1, 31, 34, -1, -1, 120, 54,
+ 751, 436, 902, 31, 902, 437, 493, -1, 167, 135,
+ -1, -1, 294, 753, 993, 754, -1, 294, 348, 995,
+ 754, -1, 294, 97, 995, 754, -1, 175, -1, 349,
+ -1, 148, -1, -1, 24, 351, 995, 227, 22, 359,
+ 995, 830, -1, 24, 351, 995, 227, 350, 359, 995,
+ 830, -1, 24, 351, 995, 227, 176, 359, 995, 830,
+ -1, 24, 351, 995, 227, 221, 394, 359, 995, 830,
+ -1, 24, 351, 995, 227, 22, 263, 48, 1006, 359,
+ 995, 830, -1, 24, 351, 995, 227, 350, 263, 48,
+ 1006, 359, 995, 830, -1, 24, 351, 995, 227, 176,
+ 263, 48, 1006, 359, 995, 830, -1, 24, 351, 995,
+ 227, 221, 394, 263, 48, 1006, 359, 995, 830, -1,
+ 24, 351, 995, 326, 497, -1, 24, 351, 995, 301,
+ 497, -1, 24, 21, 1001, 728, 297, 359, 995, -1,
+ 24, 67, 669, 297, 359, 995, -1, 24, 80, 669,
+ 297, 359, 995, -1, 24, 97, 996, 297, 359, 996,
+ -1, 24, 118, 669, 297, 359, 995, -1, 24, 118,
+ 669, 297, 76, 995, 359, 995, -1, 24, 149, 96,
+ 404, 995, 297, 359, 995, -1, 24, 154, 694, 297,
+ 359, 995, -1, 24, 160, 1005, 297, 359, 1005, -1,
+ 24, 580, 199, 995, 297, 359, 995, -1, 24, 252,
+ 62, 669, 381, 997, 297, 359, 995, -1, 24, 252,
+ 141, 669, 381, 997, 297, 359, 995, -1, 24, 314,
+ 995, 297, 359, 995, -1, 24, 323, 995, 297, 359,
+ 995, -1, 24, 349, 889, 297, 359, 995, -1, 24,
+ 349, 167, 135, 889, 297, 359, 995, -1, 24, 320,
+ 993, 297, 359, 995, -1, 24, 320, 167, 135, 993,
+ 297, 359, 995, -1, 24, 393, 993, 297, 359, 995,
+ -1, 24, 393, 167, 135, 993, 297, 359, 995, -1,
+ 24, 221, 393, 993, 297, 359, 995, -1, 24, 221,
+ 393, 167, 135, 993, 297, 359, 995, -1, 24, 175,
+ 993, 297, 359, 995, -1, 24, 175, 167, 135, 993,
+ 297, 359, 995, -1, 24, 149, 349, 889, 297, 359,
+ 995, -1, 24, 149, 349, 167, 135, 889, 297, 359,
+ 995, -1, 24, 349, 889, 297, 757, 995, 359, 995,
+ -1, 24, 349, 167, 135, 889, 297, 757, 995, 359,
+ 995, -1, 24, 221, 393, 993, 297, 757, 995, 359,
+ 995, -1, 24, 221, 393, 167, 135, 993, 297, 757,
+ 995, 359, 995, -1, 24, 349, 889, 297, 76, 995,
+ 359, 995, -1, 24, 149, 349, 889, 297, 757, 995,
+ 359, 995, -1, 24, 149, 349, 167, 135, 889, 297,
+ 757, 995, 359, 995, -1, 24, 312, 995, 250, 993,
+ 297, 359, 995, -1, 24, 363, 995, 250, 993, 297,
+ 359, 995, -1, 24, 129, 363, 995, 297, 359, 995,
+ -1, 24, 308, 1005, 297, 359, 1005, -1, 24, 380,
+ 1005, 297, 359, 1005, -1, 24, 351, 995, 297, 359,
+ 995, -1, 24, 355, 316, 265, 669, 297, 359, 995,
+ -1, 24, 355, 316, 112, 669, 297, 359, 995, -1,
+ 24, 355, 316, 353, 669, 297, 359, 995, -1, 24,
+ 355, 316, 74, 669, 297, 359, 995, -1, 24, 368,
+ 669, 297, 359, 995, -1, 24, 368, 669, 297, 37,
+ 995, 359, 995, 493, -1, 68, -1, -1, 326, 96,
+ -1, -1, 24, 21, 1001, 728, 326, 314, 995, -1,
+ 24, 67, 669, 326, 314, 995, -1, 24, 80, 669,
+ 326, 314, 995, -1, 24, 118, 669, 326, 314, 995,
+ -1, 24, 137, 669, 326, 314, 995, -1, 24, 154,
+ 694, 326, 314, 995, -1, 24, 252, 744, 743, 326,
+ 314, 995, -1, 24, 252, 62, 669, 381, 997, 326,
+ 314, 995, -1, 24, 252, 141, 669, 381, 997, 326,
+ 314, 995, -1, 24, 349, 889, 326, 314, 995, -1,
+ 24, 349, 167, 135, 889, 326, 314, 995, -1, 24,
+ 355, 316, 265, 669, 326, 314, 995, -1, 24, 355,
+ 316, 112, 669, 326, 314, 995, -1, 24, 355, 316,
+ 353, 669, 326, 314, 995, -1, 24, 355, 316, 74,
+ 669, 326, 314, 995, -1, 24, 320, 993, 326, 314,
+ 995, -1, 24, 320, 167, 135, 993, 326, 314, 995,
+ -1, 24, 393, 993, 326, 314, 995, -1, 24, 393,
+ 167, 135, 993, 326, 314, 995, -1, 24, 221, 393,
+ 993, 326, 314, 995, -1, 24, 221, 393, 167, 135,
+ 993, 326, 314, 995, -1, 24, 149, 349, 889, 326,
+ 314, 995, -1, 24, 149, 349, 167, 135, 889, 326,
+ 314, 995, -1, 24, 368, 669, 326, 314, 995, -1,
+ 24, 21, 1001, 728, 264, 359, 1005, -1, 24, 67,
+ 669, 264, 359, 1005, -1, 24, 80, 669, 264, 359,
+ 1005, -1, 24, 97, 996, 264, 359, 1005, -1, 24,
+ 118, 669, 264, 359, 1005, -1, 24, 154, 694, 264,
+ 359, 1005, -1, 24, 580, 199, 995, 264, 359, 1005,
+ -1, 24, 200, 245, 571, 264, 359, 1005, -1, 24,
+ 252, 744, 743, 264, 359, 1005, -1, 24, 252, 62,
+ 669, 381, 997, 264, 359, 1005, -1, 24, 252, 141,
+ 669, 381, 997, 264, 359, 1005, -1, 24, 314, 995,
+ 264, 359, 1005, -1, 24, 368, 669, 264, 359, 1005,
+ -1, 24, 351, 995, 264, 359, 1005, -1, 24, 355,
+ 316, 112, 669, 264, 359, 1005, -1, 24, 355, 316,
+ 74, 669, 264, 359, 1005, -1, 24, 149, 96, 404,
+ 995, 264, 359, 1005, -1, 24, 323, 995, 264, 359,
+ 1005, -1, 24, 129, 363, 995, 264, 359, 1005, -1,
+ 83, 716, 312, 995, 31, 250, 766, 359, 993, 897,
+ 116, 767, 762, -1, 237, -1, 764, -1, 436, 763,
+ 437, -1, 763, 439, 765, -1, 765, -1, 842, -1,
+ 820, -1, 831, -1, 825, -1, 769, -1, 764, -1,
+ -1, 319, -1, 379, -1, 108, -1, 185, -1, 186,
+ -1, 23, -1, -1, 120, 312, 995, 250, 669, 493,
+ -1, 120, 312, 167, 135, 995, 250, 669, 493, -1,
+ 238, 1008, 770, -1, 440, 1004, -1, -1, 212, 1008,
+ -1, 376, 1008, -1, 376, 429, -1, 14, 774, -1,
+ 41, 774, 777, -1, 337, 361, 777, -1, 71, 774,
+ -1, 126, 774, -1, 309, 774, -1, 313, 1008, -1,
+ 296, 313, 1008, -1, 296, 1008, -1, 309, 774, 359,
+ 313, 1008, -1, 309, 774, 359, 1008, -1, 276, 361,
+ 1004, -1, 71, 277, 1004, -1, 309, 277, 1004, -1,
+ 403, -1, 361, -1, -1, 195, 209, 475, -1, 286,
+ 251, -1, 286, 405, -1, 105, -1, 236, 105, -1,
+ 775, -1, 776, 440, 775, -1, 776, 775, -1, 776,
+ -1, -1, 83, 522, 393, 993, 541, 498, 31, 842,
+ 779, -1, 83, 255, 299, 522, 393, 993, 541, 498,
+ 31, 842, 779, -1, 83, 522, 290, 393, 993, 436,
+ 542, 437, 498, 31, 842, 779, -1, 83, 255, 299,
+ 522, 290, 393, 993, 436, 542, 437, 498, 31, 842,
+ 779, -1, 400, 60, 253, -1, 400, 52, 60, 253,
+ -1, 400, 214, 60, 253, -1, -1, 213, 1000, -1,
+ 83, 97, 996, 447, 782, -1, 782, 783, -1, -1,
+ 351, 784, 995, -1, 351, 784, 103, -1, 217, 784,
+ 1004, -1, 217, 784, 103, -1, 353, 784, 995, -1,
+ 353, 784, 103, -1, 124, 784, 1004, -1, 124, 784,
+ 1003, -1, 124, 784, 103, -1, 203, 784, 1004, -1,
+ 203, 784, 103, -1, 204, 784, 1004, -1, 204, 784,
+ 103, -1, 75, 211, 784, 1007, -1, 264, 784, 995,
+ -1, 264, 784, 103, -1, 423, -1, -1, 24, 97,
+ 996, 447, 787, -1, 24, 97, 996, 326, 351, 995,
+ -1, 24, 97, 996, 481, -1, 787, 788, -1, -1,
+ 75, 211, 784, 1007, -1, 120, 97, 996, -1, 120,
+ 97, 167, 135, 996, -1, 24, 348, 326, 470, -1,
+ 83, 118, 669, 793, 902, 531, -1, 24, 118, 669,
+ 492, -1, 24, 118, 669, 120, 236, 241, -1, 24,
+ 118, 669, 326, 236, 241, -1, 24, 118, 669, 18,
+ 538, -1, 24, 118, 669, 120, 76, 995, 493, -1,
+ 24, 118, 669, 120, 76, 167, 135, 995, 493, -1,
+ 24, 118, 669, 384, 76, 995, -1, 31, -1, -1,
+ 24, 355, 316, 112, 669, 640, -1, 24, 355, 316,
+ 74, 669, 18, 219, 147, 994, 400, 668, -1, 24,
+ 355, 316, 74, 669, 24, 219, 147, 994, 400, 668,
+ -1, 24, 355, 316, 74, 669, 24, 219, 299, 669,
+ 400, 669, -1, 24, 355, 316, 74, 669, 24, 219,
+ 147, 994, 299, 669, 400, 669, -1, 24, 355, 316,
+ 74, 669, 120, 219, 147, 994, -1, 24, 355, 316,
+ 74, 669, 120, 219, 167, 135, 147, 994, -1, 83,
+ 654, 80, 669, 147, 1004, 359, 1004, 152, 669, -1,
+ 64, 804, 993, 798, -1, 64, 804, -1, 64, 804,
+ 999, 250, 993, -1, 381, 999, -1, -1, 382, 805,
+ 806, 804, -1, 382, 805, 806, 804, 993, -1, 382,
+ 805, 806, 804, 802, -1, 382, 436, 800, 437, -1,
+ 382, 436, 800, 437, 993, 807, -1, 801, -1, 800,
+ 440, 801, -1, 803, -1, 391, -1, 151, -1, 153,
+ -1, 803, 804, -1, 803, 804, 993, 807, -1, 27,
+ -1, 26, -1, 391, -1, -1, 153, -1, -1, 151,
+ -1, -1, 436, 994, 437, -1, -1, 136, 809, -1,
+ 136, 803, 804, 809, -1, 136, 391, 809, -1, 136,
+ 436, 810, 437, 809, -1, 842, -1, 820, -1, 831,
+ -1, 825, -1, 838, -1, 558, -1, 561, -1, 564,
+ -1, 817, -1, 811, -1, 810, 440, 811, -1, 812,
+ 813, -1, 1010, -1, 803, -1, 476, -1, 571, -1,
+ -1, 276, 995, 815, 31, 816, -1, 436, 963, 437,
+ -1, -1, 842, -1, 820, -1, 831, -1, 825, -1,
+ 134, 995, 818, -1, 83, 522, 349, 559, 31, 134,
+ 995, 818, 560, -1, 436, 960, 437, -1, -1, 99,
+ 995, -1, 99, 276, 995, -1, 99, 22, -1, 99,
+ 276, 22, -1, 850, 185, 191, 993, 821, 824, -1,
+ 842, -1, 436, 822, 437, 842, -1, 103, 387, -1,
+ 823, -1, 822, 440, 823, -1, 1008, 984, -1, 304,
+ 990, -1, -1, 850, 108, 152, 891, 826, 898, 824,
+ -1, 381, 880, -1, -1, 218, 853, 890, 828, 830,
+ -1, 172, 829, 225, -1, -1, 16, 328, -1, 310,
+ 328, -1, 310, 133, -1, 328, 379, 133, -1, 328,
+ -1, 328, 310, 133, -1, 133, -1, 16, 133, -1,
+ 240, -1, -1, 850, 379, 891, 326, 832, 879, 898,
+ 824, -1, 833, -1, 832, 440, 833, -1, 834, -1,
+ 835, -1, 836, 423, 986, -1, 436, 837, 437, 423,
+ 988, -1, 1008, 984, -1, 836, -1, 837, 440, 836,
+ -1, 102, 839, 840, 94, 841, 147, 842, -1, 995,
+ -1, -1, 840, 234, 315, -1, 840, 315, -1, 840,
+ 44, -1, 840, 184, -1, -1, 400, 164, -1, 402,
+ 164, -1, 844, -1, 843, -1, 436, 844, 437, -1,
+ 436, 843, 437, -1, 846, -1, 845, 857, -1, 845,
+ 856, 872, 861, -1, 845, 856, 860, 873, -1, 847,
+ 845, -1, 847, 845, 857, -1, 847, 845, 856, 872,
+ 861, -1, 847, 845, 856, 860, 873, -1, 846, -1,
+ 843, -1, 319, 855, 989, 851, 879, 897, 870, 871,
+ 943, -1, 878, -1, 349, 889, -1, 845, 373, 854,
+ 845, -1, 845, 189, 854, 845, -1, 845, 130, 854,
+ 845, -1, 400, 848, -1, 400, 290, 848, -1, 849,
+ -1, 848, 440, 849, -1, 995, 807, 31, 436, 816,
+ 437, -1, 847, -1, -1, 191, 852, -1, -1, 354,
+ 853, 993, -1, 352, 853, 993, -1, 214, 354, 853,
+ 993, -1, 214, 352, 853, 993, -1, 156, 354, 853,
+ 993, -1, 156, 352, 853, 993, -1, 377, 853, 993,
+ -1, 349, 993, -1, 993, -1, 349, -1, -1, 22,
+ -1, 115, -1, -1, 115, -1, 115, 250, 436, 960,
+ 437, -1, 22, -1, -1, 857, -1, -1, 256, 48,
+ 858, -1, 859, -1, 858, 440, 859, -1, 926, 381,
+ 958, 714, -1, 926, 713, 714, -1, 862, 863, -1,
+ 863, 862, -1, 862, -1, 863, -1, 860, -1, -1,
+ 211, 864, -1, 211, 864, 440, 865, -1, 142, 869,
+ 866, 868, 251, -1, 248, 865, -1, 248, 867, 868,
+ -1, 926, -1, 22, -1, 926, -1, 1007, -1, 436,
+ 926, 437, -1, -1, 928, -1, 310, -1, 311, -1,
+ 144, -1, 233, -1, 160, 48, 960, -1, -1, 162,
+ 926, -1, -1, 874, -1, 147, 286, 251, -1, 872,
+ -1, -1, 875, -1, 874, 875, -1, 876, 877, 830,
+ -1, 147, 379, -1, 147, 234, 197, 379, -1, 147,
+ 328, -1, 147, 197, 328, -1, 246, 992, -1, -1,
+ 387, 988, -1, 878, 440, 988, -1, 152, 880, -1,
+ -1, 881, -1, 880, 440, 881, -1, 889, 884, -1,
+ 892, 885, -1, 202, 892, 885, -1, 843, 884, -1,
+ 202, 843, 884, -1, 882, -1, 436, 882, 437, 883,
+ -1, 436, 882, 437, -1, 881, 84, 196, 881, -1,
+ 881, 886, 196, 881, 888, -1, 881, 196, 881, 888,
+ -1, 881, 231, 886, 196, 881, -1, 881, 231, 196,
+ 881, -1, 31, 1008, 436, 994, 437, -1, 31, 1008,
+ -1, 1008, 436, 994, 437, -1, 1008, -1, 883, -1,
+ -1, 883, -1, 31, 436, 900, 437, -1, 31, 1008,
+ 436, 900, 437, -1, 1008, 436, 900, 437, -1, -1,
+ 153, 887, -1, 208, 887, -1, 307, 887, -1, 181,
+ -1, 259, -1, -1, 381, 436, 994, 437, -1, 250,
+ 926, -1, 993, -1, 993, 429, -1, 251, 993, -1,
+ 251, 436, 993, 437, -1, 889, -1, 890, 440, 889,
+ -1, 889, -1, 889, 1008, -1, 889, 31, 1008, -1,
+ 931, 896, -1, 311, 152, 436, 894, 437, 896, -1,
+ 931, 895, -1, 893, -1, 894, 440, 893, -1, 31,
+ 436, 900, 437, -1, -1, 421, -1, -1, 397, 926,
+ -1, -1, 397, 926, -1, 397, 86, 246, 839, -1,
+ -1, 900, -1, -1, 901, -1, 900, 440, 901, -1,
+ 1008, 902, 494, -1, 904, 903, -1, 327, 904, 903,
+ -1, 904, 30, 434, 1003, 435, -1, 327, 904, 30,
+ 434, 1003, 435, -1, 904, 30, -1, 327, 904, 30,
+ -1, 903, 434, 435, -1, 903, 434, 1003, 435, -1,
+ -1, 906, -1, 908, -1, 910, -1, 914, -1, 921,
+ -1, 922, 924, -1, 922, 436, 1003, 437, 924, -1,
+ 908, -1, 911, -1, 915, -1, 921, -1, 1009, 907,
+ -1, 1009, 670, 907, -1, 436, 960, 437, -1, -1,
+ 187, -1, 188, -1, 332, -1, 43, -1, 287, -1,
+ 145, 909, -1, 119, 274, -1, 101, 907, -1, 100,
+ 907, -1, 244, 907, -1, 46, -1, 436, 1003, 437,
+ -1, -1, 912, -1, 913, -1, 912, -1, 913, -1,
+ 45, 919, 436, 960, 437, -1, 45, 919, -1, 916,
+ -1, 917, -1, 916, -1, 917, -1, 918, 436, 1003,
+ 437, 920, -1, 918, 920, -1, 58, 919, -1, 57,
+ 919, -1, 388, -1, 230, 58, 919, -1, 230, 57,
+ 919, -1, 232, 919, -1, 390, -1, -1, 58, 326,
+ 1008, -1, -1, 358, 436, 1003, 437, 923, -1, 358,
+ 923, -1, 357, 436, 1003, 437, 923, -1, 357, 923,
+ -1, 190, -1, 422, 418, -1, 402, 357, 418, -1,
+ -1, 416, -1, 226, -1, 98, -1, 165, -1, 223,
+ -1, 925, -1, 416, 359, 226, -1, 98, 359, 165,
+ -1, 98, 359, 223, -1, 98, 359, 925, -1, 165,
+ 359, 223, -1, 165, 359, 925, -1, 223, 359, 925,
+ -1, -1, 317, -1, 317, 436, 1003, 437, -1, 928,
+ -1, 926, 11, 902, -1, 926, 66, 669, -1, 926,
+ 36, 357, 418, 926, -1, 427, 926, -1, 428, 926,
+ -1, 926, 427, 926, -1, 926, 428, 926, -1, 926,
+ 429, 926, -1, 926, 430, 926, -1, 926, 431, 926,
+ -1, 926, 432, 926, -1, 926, 424, 926, -1, 926,
+ 425, 926, -1, 926, 423, 926, -1, 926, 957, 926,
+ -1, 957, 926, -1, 926, 957, -1, 926, 28, 926,
+ -1, 926, 255, 926, -1, 236, 926, -1, 926, 210,
+ 926, -1, 926, 210, 926, 128, 926, -1, 926, 236,
+ 210, 926, -1, 926, 236, 210, 926, 128, 926, -1,
+ 926, 168, 926, -1, 926, 168, 926, 128, 926, -1,
+ 926, 236, 168, 926, -1, 926, 236, 168, 926, 128,
+ 926, -1, 926, 330, 359, 926, -1, 926, 330, 359,
+ 926, 128, 926, -1, 926, 236, 330, 359, 926, -1,
+ 926, 236, 330, 359, 926, 128, 926, -1, 926, 193,
+ 241, -1, 926, 194, -1, 926, 193, 236, 241, -1,
+ 926, 239, -1, 953, 261, 953, -1, 926, 193, 365,
+ -1, 926, 193, 236, 365, -1, 926, 193, 140, -1,
+ 926, 193, 236, 140, -1, 926, 193, 375, -1, 926,
+ 193, 236, 375, -1, 926, 193, 115, 152, 926, -1,
+ 926, 193, 236, 115, 152, 926, -1, 926, 193, 246,
+ 436, 963, 437, -1, 926, 193, 236, 246, 436, 963,
+ 437, -1, 926, 42, 985, 927, 28, 927, -1, 926,
+ 236, 42, 985, 927, 28, 927, -1, 926, 42, 346,
+ 927, 28, 927, -1, 926, 236, 42, 346, 927, 28,
+ 927, -1, 926, 172, 975, -1, 926, 236, 172, 975,
+ -1, 926, 959, 954, 843, -1, 926, 959, 954, 436,
+ 926, 437, -1, 374, 843, -1, 926, 193, 117, -1,
+ 926, 193, 236, 117, -1, 928, -1, 927, 11, 902,
+ -1, 427, 927, -1, 428, 927, -1, 927, 427, 927,
+ -1, 927, 428, 927, -1, 927, 429, 927, -1, 927,
+ 430, 927, -1, 927, 431, 927, -1, 927, 432, 927,
+ -1, 927, 424, 927, -1, 927, 425, 927, -1, 927,
+ 423, 927, -1, 927, 957, 927, -1, 957, 927, -1,
+ 927, 957, -1, 927, 193, 115, 152, 927, -1, 927,
+ 193, 236, 115, 152, 927, -1, 927, 193, 246, 436,
+ 963, 437, -1, 927, 193, 236, 246, 436, 963, 437,
+ -1, 927, 193, 117, -1, 927, 193, 236, 117, -1,
+ 981, -1, 1002, -1, 10, 984, -1, 436, 926, 437,
+ 984, -1, 976, -1, 930, -1, 843, -1, 843, 983,
+ -1, 135, 843, -1, 30, 843, -1, 30, 964, -1,
+ 953, -1, 1001, 436, 437, -1, 1001, 436, 961, 856,
+ 437, -1, 1001, 436, 389, 962, 856, 437, -1, 1001,
+ 436, 961, 440, 389, 962, 856, 437, -1, 1001, 436,
+ 22, 961, 856, 437, -1, 1001, 436, 115, 961, 856,
+ 437, -1, 1001, 436, 429, 437, -1, 929, 941, 942,
+ 946, -1, 932, -1, 929, -1, 932, -1, 67, 147,
+ 436, 926, 437, -1, 88, -1, 91, -1, 91, 436,
+ 1003, 437, -1, 92, -1, 92, 436, 1003, 437, -1,
+ 215, -1, 215, 436, 1003, 437, -1, 216, -1, 216,
+ 436, 1003, 437, -1, 89, -1, 93, -1, 325, -1,
+ 380, -1, 87, -1, 90, -1, 54, 436, 926, 31,
+ 902, 437, -1, 139, 436, 966, 437, -1, 262, 436,
+ 968, 437, -1, 272, 436, 970, 437, -1, 345, 436,
+ 971, 437, -1, 362, 436, 926, 31, 902, 437, -1,
+ 364, 436, 47, 974, 437, -1, 364, 436, 205, 974,
+ 437, -1, 364, 436, 360, 974, 437, -1, 364, 436,
+ 974, 437, -1, 242, 436, 926, 440, 926, 437, -1,
+ 65, 436, 960, 437, -1, 159, 436, 960, 437, -1,
+ 207, 436, 960, 437, -1, 408, 436, 960, 437, -1,
+ 409, 436, 228, 1011, 437, -1, 409, 436, 228, 1011,
+ 440, 935, 437, -1, 409, 436, 228, 1011, 440, 960,
+ 437, -1, 409, 436, 228, 1011, 440, 935, 440, 960,
+ 437, -1, 410, 436, 928, 940, 437, -1, 411, 436,
+ 936, 437, -1, 412, 436, 938, 926, 939, 437, -1,
+ 413, 436, 228, 1011, 437, -1, 413, 436, 228, 1011,
+ 440, 926, 437, -1, 414, 436, 926, 440, 933, 934,
+ 437, -1, 415, 436, 938, 926, 31, 904, 437, -1,
+ 392, 926, -1, 392, 234, 386, -1, 440, 336, 417,
+ -1, 440, 336, 234, -1, 440, 336, 234, 386, -1,
+ -1, 407, 436, 936, 437, -1, 937, -1, 936, 440,
+ 937, -1, 926, 31, 1011, -1, 926, -1, 117, -1,
+ 78, -1, 275, 398, -1, 344, 398, -1, -1, 268,
+ 928, -1, 268, 928, 48, 291, -1, 268, 48, 291,
+ 928, -1, 268, 48, 291, 928, 48, 291, -1, 401,
+ 160, 436, 857, 437, -1, -1, 143, 436, 397, 926,
+ 437, -1, -1, 399, 944, -1, -1, 945, -1, 944,
+ 440, 945, -1, 1008, 31, 947, -1, 260, 947, -1,
+ 260, 1008, -1, -1, 436, 948, 949, 856, 950, 437,
+ -1, 1008, -1, -1, 267, 48, 960, -1, -1, 285,
+ 951, -1, 311, 951, -1, -1, 952, -1, 42, 952,
+ 28, 952, -1, 370, 273, -1, 370, 146, -1, 86,
+ 310, -1, 926, 273, -1, 926, 146, -1, 310, 436,
+ 960, 437, -1, 310, 436, 437, -1, 436, 960, 440,
+ 926, 437, -1, 29, -1, 334, -1, 22, -1, 8,
+ -1, 956, -1, 427, -1, 428, -1, 429, -1, 430,
+ -1, 431, -1, 432, -1, 424, -1, 425, -1, 423,
+ -1, 8, -1, 252, 436, 744, 437, -1, 955, -1,
+ 252, 436, 744, 437, -1, 955, -1, 252, 436, 744,
+ 437, -1, 210, -1, 236, 210, -1, 168, -1, 236,
+ 168, -1, 926, -1, 960, 440, 926, -1, 962, -1,
+ 961, 440, 962, -1, 926, -1, 723, 13, 926, -1,
+ 902, -1, 963, 440, 902, -1, 434, 960, 435, -1,
+ 434, 965, 435, -1, 434, 435, -1, 964, -1, 965,
+ 440, 964, -1, 967, 152, 926, -1, -1, 3, -1,
+ 416, -1, 226, -1, 98, -1, 165, -1, 223, -1,
+ 317, -1, 1004, -1, 926, 969, 972, 973, -1, 926,
+ 969, 972, -1, 270, 926, -1, 927, 172, 927, -1,
+ -1, 926, 972, 973, -1, 926, 973, 972, -1, 926,
+ 972, -1, 926, 973, -1, 960, -1, -1, 152, 926,
+ -1, 147, 926, -1, 926, 152, 960, -1, 152, 960,
+ -1, 960, -1, 843, -1, 436, 960, 437, -1, 53,
+ 980, 977, 979, 126, -1, 978, -1, 977, 978, -1,
+ 396, 926, 356, 926, -1, 122, 926, -1, -1, 926,
+ -1, -1, 1008, -1, 1008, 983, -1, 438, 998, -1,
+ 438, 429, -1, 434, 926, 435, -1, 434, 926, 441,
+ 926, 435, -1, 982, -1, 983, 982, -1, -1, 984,
+ 982, -1, 35, -1, -1, 926, -1, 103, -1, 986,
+ -1, 987, 440, 986, -1, 436, 987, 437, -1, 990,
+ -1, -1, 991, -1, 990, 440, 991, -1, 926, 31,
+ 1011, -1, 926, 3, -1, 926, -1, 429, -1, 993,
+ -1, 992, 440, 993, -1, 1008, -1, 1008, 983, -1,
+ 995, -1, 994, 440, 995, -1, 1008, -1, 1008, -1,
+ 1008, -1, 1011, -1, 1008, -1, 1004, -1, 1009, -1,
+ 1008, 983, -1, 1003, -1, 4, -1, 1004, -1, 6,
+ -1, 7, -1, 1001, 1004, -1, 1001, 436, 961, 856,
+ 437, 1004, -1, 905, 1004, -1, 922, 1004, 924, -1,
+ 922, 436, 1003, 437, 1004, 924, -1, 365, -1, 140,
+ -1, 241, -1, 9, -1, 5, -1, 1010, -1, 1005,
+ -1, 1006, 440, 1005, -1, 1003, -1, 427, 1003, -1,
+ 428, 1003, -1, 3, -1, 1012, -1, 1013, -1, 3,
+ -1, 1012, -1, 1014, -1, 3, -1, 1012, -1, 1013,
+ -1, 1014, -1, 3, -1, 1012, -1, 1013, -1, 1014,
+ -1, 1015, -1, 14, -1, 15, -1, 16, -1, 17,
+ -1, 18, -1, 19, -1, 20, -1, 21, -1, 23,
+ -1, 24, -1, 25, -1, 33, -1, 34, -1, 36,
+ -1, 37, -1, 39, -1, 40, -1, 41, -1, 48,
+ -1, 49, -1, 50, -1, 51, -1, 52, -1, 55,
+ -1, 56, -1, 59, -1, 61, -1, 62, -1, 63,
+ -1, 64, -1, 69, -1, 70, -1, 71, -1, 72,
+ -1, 74, -1, 75, -1, 77, -1, 78, -1, 79,
+ -1, 80, -1, 81, -1, 82, -1, 85, -1, 86,
+ -1, 94, -1, 95, -1, 96, -1, 97, -1, 98,
+ -1, 99, -1, 102, -1, 104, -1, 106, -1, 107,
+ -1, 108, -1, 109, -1, 110, -1, 112, -1, 113,
+ -1, 114, -1, 117, -1, 118, -1, 119, -1, 120,
+ -1, 121, -1, 123, -1, 124, -1, 125, -1, 127,
+ -1, 128, -1, 129, -1, 131, -1, 132, -1, 133,
+ -1, 134, -1, 136, -1, 137, -1, 138, -1, 141,
+ -1, 143, -1, 144, -1, 146, -1, 148, -1, 150,
+ -1, 154, -1, 155, -1, 156, -1, 158, -1, 161,
+ -1, 163, -1, 164, -1, 165, -1, 166, -1, 167,
+ -1, 169, -1, 170, -1, 171, -1, 173, -1, 174,
+ -1, 175, -1, 176, -1, 177, -1, 178, -1, 180,
+ -1, 183, -1, 184, -1, 185, -1, 186, -1, 192,
+ -1, 195, -1, 197, -1, 198, -1, 199, -1, 200,
+ -1, 201, -1, 203, -1, 204, -1, 206, -1, 209,
+ -1, 212, -1, 213, -1, 214, -1, 217, -1, 218,
+ -1, 219, -1, 220, -1, 221, -1, 222, -1, 223,
+ -1, 224, -1, 225, -1, 226, -1, 227, -1, 228,
+ -1, 229, -1, 233, -1, 234, -1, 237, -1, 238,
+ -1, 240, -1, 243, -1, 245, -1, 246, -1, 247,
+ -1, 249, -1, 252, -1, 253, -1, 254, -1, 257,
+ -1, 260, -1, 263, -1, 264, -1, 265, -1, 266,
+ -1, 267, -1, 268, -1, 269, -1, 271, -1, 273,
+ -1, 276, -1, 277, -1, 275, -1, 279, -1, 280,
+ -1, 281, -1, 282, -1, 283, -1, 284, -1, 285,
+ -1, 286, -1, 288, -1, 289, -1, 290, -1, 291,
+ -1, 293, -1, 294, -1, 295, -1, 296, -1, 297,
+ -1, 298, -1, 299, -1, 300, -1, 301, -1, 302,
+ -1, 303, -1, 305, -1, 306, -1, 308, -1, 309,
+ -1, 311, -1, 312, -1, 313, -1, 314, -1, 315,
+ -1, 316, -1, 317, -1, 318, -1, 320, -1, 321,
+ -1, 322, -1, 323, -1, 324, -1, 326, -1, 328,
+ -1, 329, -1, 331, -1, 333, -1, 335, -1, 336,
+ -1, 337, -1, 338, -1, 339, -1, 340, -1, 341,
+ -1, 342, -1, 343, -1, 344, -1, 347, -1, 348,
+ -1, 350, -1, 351, -1, 352, -1, 353, -1, 354,
+ -1, 355, -1, 361, -1, 363, -1, 366, -1, 367,
+ -1, 368, -1, 369, -1, 370, -1, 371, -1, 372,
+ -1, 375, -1, 376, -1, 377, -1, 378, -1, 379,
+ -1, 382, -1, 383, -1, 384, -1, 385, -1, 386,
+ -1, 390, -1, 392, -1, 393, -1, 394, -1, 395,
+ -1, 398, -1, 401, -1, 402, -1, 403, -1, 404,
+ -1, 405, -1, 406, -1, 416, -1, 417, -1, 418,
+ -1, 42, -1, 43, -1, 45, -1, 46, -1, 57,
+ -1, 58, -1, 65, -1, 100, -1, 101, -1, 135,
+ -1, 139, -1, 145, -1, 159, -1, 182, -1, 187,
+ -1, 188, -1, 190, -1, 207, -1, 230, -1, 232,
+ -1, 235, -1, 242, -1, 244, -1, 258, -1, 262,
+ -1, 272, -1, 274, -1, 287, -1, 310, -1, 327,
+ -1, 332, -1, 345, -1, 357, -1, 358, -1, 362,
+ -1, 364, -1, 387, -1, 388, -1, 407, -1, 408,
+ -1, 409, -1, 410, -1, 411, -1, 412, -1, 413,
+ -1, 414, -1, 415, -1, 38, -1, 44, -1, 67,
+ -1, 73, -1, 84, -1, 90, -1, 151, -1, 153,
+ -1, 168, -1, 181, -1, 193, -1, 194, -1, 196,
+ -1, 208, -1, 210, -1, 231, -1, 239, -1, 259,
+ -1, 261, -1, 307, -1, 330, -1, 391, -1, 22,
+ -1, 26, -1, 27, -1, 28, -1, 29, -1, 30,
+ -1, 31, -1, 32, -1, 35, -1, 47, -1, 53,
+ -1, 54, -1, 60, -1, 66, -1, 68, -1, 76,
+ -1, 83, -1, 87, -1, 88, -1, 89, -1, 91,
+ -1, 92, -1, 93, -1, 103, -1, 105, -1, 111,
+ -1, 115, -1, 116, -1, 122, -1, 126, -1, 130,
+ -1, 140, -1, 142, -1, 147, -1, 149, -1, 152,
+ -1, 157, -1, 160, -1, 162, -1, 172, -1, 179,
+ -1, 189, -1, 191, -1, 202, -1, 205, -1, 211,
+ -1, 215, -1, 216, -1, 236, -1, 241, -1, 248,
+ -1, 250, -1, 251, -1, 255, -1, 256, -1, 270,
+ -1, 278, -1, 292, -1, 304, -1, 319, -1, 325,
+ -1, 334, -1, 346, -1, 349, -1, 356, -1, 359,
+ -1, 360, -1, 365, -1, 373, -1, 374, -1, 380,
+ -1, 381, -1, 389, -1, 396, -1, 397, -1, 399,
+ -1, 400, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 666, 666, 673, 680, 690, 691, 692, 693, 694,
- 695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
- 705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
- 715, 716, 717, 718, 719, 720, 721, 722, 723, 724,
- 725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
- 735, 736, 737, 738, 739, 740, 741, 742, 743, 744,
- 745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
- 755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
- 765, 766, 767, 768, 769, 770, 771, 772, 773, 774,
- 775, 776, 777, 778, 779, 780, 781, 782, 783, 784,
- 785, 786, 787, 788, 789, 790, 791, 792, 793, 794,
- 795, 796, 797, 798, 799, 801, 811, 822, 823, 832,
- 833, 837, 838, 842, 847, 851, 856, 861, 865, 869,
- 874, 878, 932, 934, 938, 942, 946, 950, 964, 982,
- 993, 994, 998, 1016, 1028, 1049, 1056, 1075, 1082, 1099,
- 1117, 1128, 1129, 1141, 1148, 1165, 1177, 1189, 1190, 1194,
- 1195, 1203, 1204, 1205, 1206, 1207, 1208, 1222, 1228, 1234,
- 1243, 1251, 1259, 1263, 1271, 1279, 1286, 1293, 1301, 1312,
- 1320, 1328, 1339, 1347, 1355, 1362, 1371, 1381, 1382, 1389,
- 1390, 1393, 1395, 1399, 1400, 1401, 1402, 1406, 1407, 1408,
- 1414, 1426, 1430, 1434, 1449, 1472, 1473, 1474, 1478, 1479,
- 1480, 1484, 1485, 1489, 1496, 1503, 1510, 1517, 1527, 1528,
- 1533, 1534, 1539, 1545, 1551, 1557, 1563, 1573, 1583, 1584,
- 1588, 1589, 1597, 1612, 1618, 1624, 1630, 1648, 1657, 1666,
- 1675, 1684, 1693, 1702, 1711, 1723, 1724, 1729, 1737, 1745,
- 1754, 1762, 1770, 1779, 1788, 1797, 1806, 1816, 1829, 1843,
- 1852, 1860, 1868, 1878, 1888, 1895, 1902, 1910, 1918, 1926,
- 1934, 1942, 1949, 1956, 1964, 1971, 1978, 1986, 1994, 2002,
- 2010, 2018, 2026, 2036, 2043, 2051, 2059, 2067, 2074, 2084,
- 2085, 2089, 2090, 2091, 2095, 2103, 2107, 2108, 2112, 2115,
- 2116, 2120, 2121, 2126, 2130, 2134, 2139, 2154, 2167, 2168,
- 2173, 2182, 2192, 2202, 2227, 2233, 2260, 2282, 2296, 2297,
- 2306, 2307, 2308, 2311, 2312, 2317, 2318, 2322, 2326, 2330,
- 2334, 2338, 2342, 2346, 2350, 2354, 2358, 2362, 2366, 2375,
- 2379, 2383, 2387, 2391, 2395, 2399, 2400, 2405, 2409, 2416,
- 2423, 2424, 2425, 2426, 2427, 2431, 2435, 2443, 2454, 2469,
- 2485, 2501, 2530, 2531, 2532, 2533, 2534, 2541, 2548, 2549,
- 2553, 2554, 2558, 2559, 2563, 2567, 2574, 2578, 2585, 2586,
- 2587, 2591, 2592, 2595, 2615, 2635, 2636, 2640, 2648, 2649,
- 2650, 2681, 2688, 2695, 2706, 2717, 2727, 2736, 2769, 2776,
- 2783, 2790, 2801, 2811, 2812, 2813, 2817, 2818, 2819, 2820,
- 2821, 2822, 2831, 2839, 2843, 2856, 2871, 2885, 2900, 2914,
- 2932, 2953, 2954, 2958, 2959, 2963, 2964, 2967, 2973, 2977,
- 2985, 2990, 2996, 2997, 3001, 3006, 3013, 3014, 3024, 3026,
- 3028, 3030, 3033, 3036, 3039, 3043, 3044, 3045, 3046, 3047,
- 3050, 3051, 3056, 3057, 3058, 3059, 3062, 3063, 3064, 3065,
- 3068, 3069, 3072, 3073, 3076, 3091, 3105, 3118, 3119, 3120,
- 3133, 3145, 3153, 3164, 3165, 3168, 3169, 3172, 3176, 3180,
- 3184, 3188, 3192, 3196, 3200, 3204, 3208, 3212, 3216, 3222,
- 3223, 3227, 3228, 3233, 3236, 3237, 3249, 3261, 3276, 3277,
- 3285, 3286, 3290, 3291, 3295, 3296, 3300, 3301, 3305, 3316,
- 3329, 3330, 3340, 3350, 3351, 3364, 3371, 3388, 3396, 3407,
- 3410, 3414, 3418, 3422, 3434, 3444, 3447, 3451, 3464, 3474,
- 3484, 3493, 3502, 3511, 3521, 3530, 3540, 3550, 3560, 3569,
- 3578, 3587, 3596, 3605, 3614, 3623, 3632, 3641, 3650, 3659,
- 3677, 3688, 3689, 3690, 3691, 3695, 3696, 3700, 3701, 3711,
- 3722, 3742, 3750, 3762, 3763, 3767, 3771, 3779, 3783, 3787,
- 3794, 3798, 3803, 3808, 3815, 3822, 3827, 3837, 3851, 3852,
- 3857, 3858, 3862, 3863, 3873, 3884, 3904, 3913, 3921, 3938,
- 3953, 3971, 3972, 3976, 3980, 3987, 3998, 4007, 4025, 4037,
- 4038, 4039, 4049, 4057, 4074, 4093, 4113, 4138, 4139, 4140,
- 4144, 4146, 4168, 4170, 4172, 4174, 4176, 4181, 4186, 4196,
- 4197, 4201, 4202, 4206, 4207, 4211, 4212, 4213, 4217, 4223,
- 4224, 4225, 4229, 4230, 4235, 4236, 4263, 4264, 4265, 4266,
- 4267, 4268, 4273, 4284, 4307, 4327, 4350, 4360, 4371, 4381,
- 4391, 4402, 4411, 4418, 4425, 4434, 4443, 4452, 4461, 4470,
- 4481, 4484, 4485, 4488, 4492, 4499, 4500, 4501, 4502, 4503,
- 4506, 4507, 4510, 4513, 4514, 4522, 4529, 4530, 4533, 4535,
- 4546, 4555, 4564, 4588, 4603, 4604, 4608, 4618, 4629, 4638,
- 4648, 4657, 4658, 4661, 4662, 4665, 4666, 4667, 4670, 4684,
- 4689, 4699, 4708, 4720, 4721, 4725, 4733, 4745, 4756, 4770,
- 4781, 4804, 4814, 4832, 4843, 4854, 4865, 4879, 4880, 4881,
- 4882, 4883, 4884, 4885, 4886, 4887, 4888, 4889, 4890, 4891,
- 4892, 4893, 4897, 4898, 4901, 4902, 4905, 4907, 4920, 4931,
- 4932, 4933, 4959, 4968, 4977, 4986, 4995, 5004, 5013, 5023,
- 5032, 5041, 5050, 5059, 5068, 5077, 5085, 5093, 5101, 5112,
- 5113, 5114, 5115, 5116, 5117, 5118, 5119, 5120, 5121, 5122,
- 5123, 5124, 5125, 5126, 5127, 5128, 5132, 5133, 5147, 5158,
- 5169, 5180, 5191, 5204, 5205, 5209, 5210, 5211, 5212, 5213,
- 5214, 5215, 5216, 5217, 5218, 5219, 5222, 5223, 5233, 5239,
- 5247, 5255, 5263, 5271, 5279, 5287, 5295, 5303, 5311, 5319,
- 5327, 5335, 5343, 5351, 5359, 5367, 5377, 5378, 5381, 5382,
- 5392, 5408, 5422, 5448, 5450, 5452, 5454, 5461, 5470, 5471,
- 5474, 5481, 5488, 5495, 5509, 5517, 5525, 5533, 5541, 5549,
- 5557, 5565, 5573, 5581, 5589, 5597, 5605, 5613, 5621, 5629,
- 5641, 5642, 5645, 5655, 5669, 5670, 5674, 5675, 5680, 5696,
- 5709, 5719, 5731, 5732, 5735, 5736, 5746, 5756, 5757, 5761,
- 5765, 5769, 5780, 5793, 5807, 5824, 5825, 5826, 5827, 5839,
- 5866, 5867, 5871, 5872, 5876, 5877, 5881, 5882, 5885, 5886,
- 5894, 5905, 5916, 5929, 5930, 5933, 5934, 5935, 5938, 5939,
- 5940, 5943, 5944, 5945, 5961, 5973, 5986, 6001, 6002, 6005,
- 6006, 6010, 6011, 6019, 6020, 6024, 6025, 6040, 6049, 6058,
- 6067, 6076, 6088, 6089, 6090, 6091, 6092, 6098, 6102, 6117,
- 6118, 6124, 6134, 6138, 6143, 6153, 6154, 6161, 6165, 6169,
- 6173, 6177, 6181, 6185, 6189, 6193, 6197, 6201, 6205, 6209,
- 6213, 6217, 6225, 6229, 6233, 6237, 6243, 6244, 6251, 6252,
- 6255, 6267, 6271, 6286, 6297, 6298, 6303, 6304, 6319, 6330,
- 6344, 6355, 6369, 6380, 6394, 6402, 6404, 6406, 6411, 6413,
- 6426, 6435, 6436, 6440, 6444, 6456, 6467, 6478, 6491, 6492,
- 6493, 6497, 6510, 6511, 6525, 6533, 6543, 6556, 6557, 6560,
- 6561, 6571, 6581, 6590, 6599, 6608, 6617, 6627, 6636, 6646,
- 6655, 6664, 6674, 6684, 6693, 6702, 6712, 6722, 6732, 6742,
- 6752, 6762, 6772, 6782, 6792, 6802, 6813, 6824, 6834, 6845,
- 6856, 6866, 6875, 6884, 6893, 6902, 6911, 6920, 6929, 6938,
- 6947, 6956, 6970, 6971, 6974, 6975, 6985, 6995, 7004, 7013,
- 7022, 7031, 7041, 7051, 7061, 7071, 7080, 7089, 7098, 7107,
- 7116, 7125, 7134, 7143, 7152, 7161, 7170, 7179, 7196, 7205,
- 7213, 7221, 7229, 7237, 7246, 7254, 7262, 7271, 7280, 7289,
- 7297, 7305, 7313, 7321, 7329, 7337, 7354, 7371, 7372, 7373,
- 7378, 7384, 7393, 7394, 7395, 7396, 7397, 7401, 7402, 7405,
- 7406, 7407, 7408, 7412, 7413, 7414, 7419, 7430, 7452, 7462,
- 7463, 7466, 7475, 7481, 7500, 7507, 7514, 7521, 7528, 7535,
- 7542, 7550, 7558, 7566, 7574, 7582, 7589, 7596, 7605, 7606,
- 7607, 7611, 7614, 7617, 7620, 7623, 7630, 7632, 7634, 7639,
- 7641, 7653, 7665, 7680, 7686, 7692, 7698, 7708, 7724, 7734,
- 7735, 7739, 7743, 7747, 7751, 7755, 7759, 7763, 7767, 7771,
- 7775, 7779, 7783, 7787, 7791, 7795, 7799, 7809, 7810, 7821,
- 7828, 7839, 7850, 7851, 7855, 7869, 7876, 7893, 7906, 7915,
- 7923, 7931, 7940, 7951, 7962, 7972, 7973, 7984, 7994, 8004,
- 8014, 8024, 8034, 8042, 8063, 8086, 8094, 8103, 8114, 8115,
- 8127, 8141, 8155, 8167, 8179, 8196, 8197, 8201, 8202, 8203,
- 8204, 8208, 8220, 8235, 8236, 8240, 8241, 8244, 8245, 8248,
- 8249, 8253, 8254, 8267, 8274, 8284, 8291, 8301, 8302, 8303,
- 8304, 8305, 8306, 8307, 8311, 8315, 8322, 8329, 8330, 8331,
- 8335, 8336, 8337, 8347, 8357, 8358, 8362, 8363, 8364, 8365,
- 8375, 8382, 8399, 8400, 8410, 8416, 8422, 8428, 8444, 8454,
- 8460, 8466, 8475, 8477, 8482, 8493, 8494, 8505, 8519, 8520,
- 8531, 8542, 8543, 8546, 8547, 8548, 8549, 8550, 8551, 8552,
- 8553, 8556, 8557, 8568, 8586, 8587, 8591, 8592, 8596, 8604,
- 8632, 8643, 8644, 8654, 8665, 8668, 8669, 8670, 8671, 8672,
- 8675, 8676, 8677, 8725, 8726, 8730, 8731, 8745, 8746, 8753,
- 8761, 8769, 8777, 8785, 8793, 8804, 8805, 8832, 8847, 8848,
- 8867, 8871, 8875, 8890, 8897, 8907, 8908, 8911, 8923, 8924,
- 8928, 8939, 8947, 8952, 8957, 8962, 8967, 8975, 8983, 8988,
- 8993, 9000, 9001, 9004, 9005, 9006, 9013, 9014, 9015, 9016,
- 9020, 9021, 9025, 9029, 9030, 9033, 9042, 9055, 9056, 9057,
- 9058, 9062, 9063, 9067, 9069, 9079, 9084, 9087, 9092, 9093,
- 9101, 9111, 9112, 9113, 9121, 9125, 9126, 9129, 9130, 9135,
- 9136, 9140, 9141, 9145, 9146, 9150, 9151, 9155, 9156, 9160,
- 9168, 9179, 9180, 9185, 9191, 9209, 9210, 9214, 9215, 9225,
- 9229, 9234, 9241, 9249, 9256, 9266, 9276, 9304, 9311, 9315,
- 9341, 9345, 9357, 9370, 9384, 9395, 9410, 9416, 9421, 9427,
- 9434, 9435, 9436, 9437, 9441, 9442, 9454, 9455, 9460, 9467,
- 9474, 9481, 9492, 9493, 9506, 9510, 9517, 9527, 9532, 9533,
- 9538, 9539, 9547, 9552, 9553, 9557, 9561, 9567, 9596, 9601,
- 9608, 9613, 9619, 9624, 9633, 9635, 9638, 9642, 9643, 9644,
- 9645, 9646, 9647, 9652, 9682, 9683, 9684, 9685, 9696, 9702,
- 9710, 9711, 9717, 9722, 9727, 9732, 9737, 9742, 9747, 9752,
- 9758, 9764, 9770, 9777, 9799, 9808, 9812, 9820, 9824, 9832,
- 9844, 9865, 9869, 9875, 9879, 9892, 9911, 9934, 9936, 9938,
- 9940, 9942, 9944, 9949, 9950, 9954, 9955, 9962, 9971, 9979,
- 9988, 9999, 10007, 10008, 10009, 10013, 10015, 10017, 10019, 10021,
- 10023, 10025, 10030, 10035, 10041, 10049, 10054, 10061, 10068, 10072,
- 10076, 10106, 10107, 10109, 10117, 10139, 10141, 10143, 10145, 10147,
- 10149, 10151, 10153, 10155, 10157, 10159, 10162, 10164, 10166, 10169,
- 10171, 10173, 10176, 10178, 10191, 10193, 10206, 10208, 10221, 10223,
- 10237, 10250, 10263, 10276, 10299, 10306, 10313, 10320, 10327, 10331,
- 10338, 10345, 10352, 10359, 10366, 10373, 10377, 10385, 10389, 10399,
- 10406, 10413, 10426, 10439, 10458, 10479, 10489, 10496, 10512, 10517,
- 10535, 10537, 10539, 10541, 10543, 10545, 10547, 10549, 10551, 10553,
- 10555, 10557, 10559, 10561, 10563, 10565, 10567, 10571, 10576, 10580,
- 10584, 10589, 10606, 10607, 10608, 10623, 10635, 10637, 10639, 10649,
- 10672, 10682, 10692, 10700, 10719, 10732, 10745, 10758, 10771, 10784,
- 10801, 10814, 10837, 10850, 10871, 10881, 10894, 10911, 10924, 10934,
- 10947, 10957, 10970, 10983, 10996, 11009, 11022, 11035, 11048, 11050,
- 11063, 11081, 11095, 11111, 11133, 11149, 11162, 11175, 11188, 11192,
- 11199, 11207, 11215, 11219, 11223, 11227, 11231, 11235, 11250, 11254,
- 11263, 11267, 11271, 11276, 11290, 11292, 11296, 11298, 11300, 11303,
- 11306, 11309, 11310, 11313, 11321, 11331, 11332, 11335, 11336, 11337,
- 11342, 11346, 11350, 11354, 11365, 11366, 11370, 11371, 11376, 11384,
- 11386, 11400, 11403, 11430, 11431, 11434, 11435, 11446, 11464, 11471,
- 11480, 11497, 11542, 11550, 11558, 11566, 11574, 11595, 11596, 11597,
- 11600, 11601, 11602, 11605, 11606, 11609, 11610, 11611, 11612, 11613,
- 11614, 11615, 11616, 11617, 11620, 11622, 11627, 11629, 11634, 11636,
- 11638, 11640, 11642, 11644, 11656, 11660, 11667, 11671, 11677, 11681,
- 11692, 11693, 11696, 11700, 11704, 11710, 11711, 11716, 11720, 11727,
- 11728, 11729, 11730, 11731, 11732, 11733, 11734, 11744, 11748, 11755,
- 11762, 11763, 11779, 11783, 11788, 11792, 11807, 11812, 11816, 11819,
- 11822, 11823, 11824, 11827, 11834, 11844, 11858, 11859, 11863, 11874,
- 11875, 11878, 11879, 11882, 11886, 11893, 11897, 11901, 11908, 11918,
- 11919, 11923, 11924, 11927, 11928, 11939, 11940, 11949, 11950, 11958,
- 11969, 11970, 11973, 11989, 11997, 12005, 12027, 12028, 12039, 12043,
- 12070, 12072, 12077, 12080, 12083, 12085, 12087, 12089, 12099, 12101,
- 12112, 12116, 12120, 12124, 12128, 12137, 12144, 12169, 12173, 12179,
- 12196, 12200, 12204, 12210, 12211, 12212, 12214, 12215, 12216, 12232,
- 12233, 12234, 12239, 12240, 12241, 12247, 12248, 12249, 12250, 12251,
- 12271, 12272, 12273, 12274, 12275, 12276, 12277, 12278, 12279, 12280,
- 12281, 12282, 12283, 12284, 12285, 12286, 12287, 12288, 12289, 12290,
- 12291, 12292, 12293, 12294, 12295, 12296, 12297, 12298, 12299, 12300,
- 12301, 12302, 12303, 12304, 12305, 12306, 12307, 12308, 12309, 12310,
- 12311, 12312, 12313, 12314, 12315, 12316, 12317, 12318, 12319, 12320,
- 12321, 12322, 12323, 12324, 12325, 12326, 12327, 12328, 12329, 12330,
- 12331, 12332, 12333, 12334, 12335, 12336, 12337, 12338, 12339, 12340,
- 12341, 12342, 12343, 12344, 12345, 12346, 12347, 12348, 12349, 12350,
- 12351, 12352, 12353, 12354, 12355, 12356, 12357, 12358, 12359, 12360,
- 12361, 12362, 12363, 12364, 12365, 12366, 12367, 12368, 12369, 12370,
- 12371, 12372, 12373, 12374, 12375, 12376, 12377, 12378, 12379, 12380,
- 12381, 12382, 12383, 12384, 12385, 12386, 12387, 12388, 12389, 12390,
- 12391, 12392, 12393, 12394, 12395, 12396, 12397, 12398, 12399, 12400,
- 12401, 12402, 12403, 12404, 12405, 12406, 12407, 12408, 12409, 12410,
- 12411, 12412, 12413, 12414, 12415, 12416, 12417, 12418, 12419, 12420,
- 12421, 12422, 12423, 12424, 12425, 12426, 12427, 12428, 12429, 12430,
- 12431, 12432, 12433, 12434, 12435, 12436, 12437, 12438, 12439, 12440,
- 12441, 12442, 12443, 12444, 12445, 12446, 12447, 12448, 12449, 12450,
- 12451, 12452, 12453, 12454, 12455, 12456, 12457, 12458, 12459, 12460,
- 12461, 12462, 12463, 12464, 12465, 12466, 12467, 12468, 12469, 12470,
- 12471, 12472, 12473, 12474, 12475, 12476, 12477, 12478, 12479, 12480,
- 12481, 12482, 12483, 12484, 12485, 12486, 12487, 12488, 12489, 12490,
- 12491, 12492, 12493, 12494, 12495, 12496, 12497, 12498, 12499, 12500,
- 12501, 12502, 12503, 12504, 12505, 12506, 12507, 12508, 12509, 12510,
- 12511, 12512, 12513, 12514, 12515, 12516, 12517, 12518, 12519, 12520,
- 12534, 12535, 12536, 12537, 12538, 12539, 12540, 12541, 12542, 12543,
- 12544, 12545, 12546, 12547, 12548, 12549, 12550, 12551, 12552, 12553,
- 12554, 12555, 12556, 12557, 12558, 12559, 12560, 12561, 12562, 12563,
- 12564, 12565, 12566, 12567, 12568, 12569, 12570, 12571, 12572, 12573,
- 12574, 12575, 12576, 12577, 12578, 12579, 12580, 12594, 12595, 12596,
- 12597, 12598, 12599, 12600, 12601, 12602, 12603, 12604, 12605, 12606,
- 12607, 12608, 12609, 12610, 12611, 12612, 12613, 12614, 12615, 12616,
- 12626, 12627, 12628, 12629, 12630, 12631, 12632, 12633, 12634, 12635,
- 12636, 12637, 12638, 12639, 12640, 12641, 12642, 12643, 12644, 12645,
- 12646, 12647, 12648, 12649, 12650, 12651, 12652, 12653, 12654, 12655,
- 12656, 12657, 12658, 12659, 12660, 12661, 12662, 12663, 12664, 12665,
- 12666, 12667, 12668, 12669, 12670, 12671, 12672, 12673, 12674, 12675,
- 12676, 12677, 12678, 12679, 12680, 12681, 12682, 12683, 12684, 12685,
- 12686, 12687, 12688, 12689, 12690, 12691, 12692, 12693, 12694, 12695,
- 12696, 12697, 12698, 12699, 12700, 12701
+ 0, 721, 721, 728, 735, 745, 746, 747, 748, 749,
+ 750, 751, 752, 753, 754, 755, 756, 757, 758, 759,
+ 760, 761, 762, 763, 764, 765, 766, 767, 768, 769,
+ 770, 771, 772, 773, 774, 775, 776, 777, 778, 779,
+ 780, 781, 782, 783, 784, 785, 786, 787, 788, 789,
+ 790, 791, 792, 793, 794, 795, 796, 797, 798, 799,
+ 800, 801, 802, 803, 804, 805, 806, 807, 808, 809,
+ 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
+ 820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
+ 830, 831, 832, 833, 834, 835, 836, 837, 838, 839,
+ 840, 841, 842, 843, 844, 845, 846, 847, 848, 849,
+ 850, 851, 852, 853, 854, 855, 856, 857, 858, 859,
+ 860, 862, 872, 883, 884, 893, 894, 898, 899, 903,
+ 908, 912, 917, 922, 926, 930, 935, 939, 993, 995,
+ 999, 1003, 1007, 1011, 1025, 1043, 1054, 1055, 1059, 1067,
+ 1085, 1097, 1118, 1125, 1144, 1151, 1168, 1186, 1197, 1198,
+ 1210, 1217, 1234, 1247, 1257, 1275, 1293, 1294, 1298, 1305,
+ 1313, 1314, 1315, 1316, 1317, 1318, 1332, 1338, 1344, 1353,
+ 1361, 1369, 1373, 1381, 1389, 1396, 1405, 1406, 1414, 1425,
+ 1433, 1441, 1452, 1460, 1468, 1475, 1484, 1494, 1495, 1499,
+ 1500, 1503, 1505, 1509, 1510, 1511, 1512, 1516, 1517, 1518,
+ 1524, 1536, 1540, 1544, 1559, 1582, 1583, 1584, 1588, 1589,
+ 1590, 1594, 1595, 1599, 1606, 1613, 1620, 1627, 1637, 1638,
+ 1643, 1644, 1649, 1655, 1661, 1667, 1673, 1683, 1693, 1694,
+ 1698, 1699, 1707, 1722, 1728, 1734, 1740, 1746, 1765, 1774,
+ 1783, 1792, 1801, 1810, 1819, 1828, 1837, 1846, 1858, 1859,
+ 1864, 1872, 1880, 1889, 1897, 1905, 1914, 1923, 1932, 1941,
+ 1951, 1964, 1979, 1988, 1996, 2011, 2019, 2029, 2039, 2046,
+ 2053, 2061, 2069, 2077, 2085, 2093, 2100, 2107, 2115, 2122,
+ 2129, 2137, 2145, 2153, 2161, 2169, 2177, 2187, 2194, 2202,
+ 2210, 2218, 2226, 2233, 2243, 2244, 2248, 2249, 2250, 2254,
+ 2262, 2266, 2267, 2271, 2278, 2285, 2292, 2302, 2305, 2306,
+ 2310, 2311, 2316, 2320, 2324, 2329, 2344, 2357, 2358, 2363,
+ 2372, 2382, 2392, 2418, 2424, 2454, 2483, 2505, 2506, 2510,
+ 2511, 2520, 2521, 2522, 2525, 2526, 2531, 2532, 2536, 2540,
+ 2544, 2548, 2552, 2556, 2560, 2564, 2568, 2572, 2576, 2580,
+ 2584, 2588, 2597, 2601, 2605, 2609, 2613, 2617, 2621, 2622,
+ 2627, 2631, 2638, 2645, 2646, 2647, 2648, 2649, 2653, 2657,
+ 2665, 2676, 2691, 2707, 2723, 2752, 2753, 2754, 2755, 2756,
+ 2763, 2770, 2771, 2775, 2776, 2780, 2781, 2785, 2789, 2796,
+ 2800, 2807, 2808, 2809, 2813, 2814, 2817, 2838, 2859, 2860,
+ 2864, 2872, 2873, 2874, 2905, 2912, 2919, 2930, 2941, 2951,
+ 2960, 2993, 3000, 3007, 3014, 3025, 3035, 3036, 3037, 3041,
+ 3042, 3043, 3044, 3045, 3046, 3055, 3063, 3067, 3080, 3095,
+ 3109, 3124, 3138, 3156, 3177, 3178, 3182, 3183, 3187, 3188,
+ 3191, 3197, 3201, 3209, 3214, 3220, 3221, 3225, 3230, 3237,
+ 3238, 3248, 3250, 3252, 3254, 3257, 3260, 3263, 3267, 3268,
+ 3269, 3270, 3271, 3274, 3275, 3280, 3281, 3282, 3283, 3286,
+ 3287, 3288, 3289, 3292, 3293, 3296, 3297, 3300, 3315, 3330,
+ 3344, 3345, 3346, 3358, 3373, 3386, 3387, 3399, 3419, 3431,
+ 3439, 3450, 3451, 3454, 3455, 3458, 3462, 3466, 3470, 3474,
+ 3478, 3482, 3486, 3490, 3494, 3498, 3502, 3508, 3509, 3513,
+ 3514, 3519, 3522, 3523, 3535, 3547, 3562, 3563, 3571, 3572,
+ 3576, 3577, 3581, 3582, 3586, 3587, 3591, 3602, 3615, 3616,
+ 3626, 3637, 3638, 3651, 3658, 3675, 3683, 3694, 3697, 3701,
+ 3705, 3709, 3721, 3731, 3734, 3738, 3751, 3761, 3771, 3780,
+ 3789, 3798, 3808, 3817, 3827, 3837, 3847, 3856, 3865, 3874,
+ 3883, 3892, 3901, 3910, 3919, 3928, 3937, 3946, 3955, 3964,
+ 3982, 3993, 3994, 3995, 3996, 4000, 4001, 4005, 4006, 4016,
+ 4027, 4047, 4055, 4067, 4068, 4072, 4076, 4084, 4088, 4092,
+ 4099, 4103, 4108, 4113, 4120, 4127, 4132, 4142, 4156, 4157,
+ 4162, 4163, 4167, 4168, 4178, 4189, 4209, 4218, 4226, 4243,
+ 4258, 4283, 4292, 4310, 4322, 4323, 4324, 4334, 4342, 4359,
+ 4378, 4398, 4423, 4424, 4425, 4429, 4431, 4453, 4455, 4457,
+ 4459, 4461, 4466, 4471, 4481, 4482, 4486, 4487, 4491, 4492,
+ 4496, 4497, 4498, 4502, 4508, 4509, 4510, 4514, 4515, 4520,
+ 4521, 4548, 4549, 4550, 4551, 4552, 4553, 4558, 4569, 4592,
+ 4602, 4616, 4618, 4623, 4628, 4630, 4635, 4645, 4646, 4647,
+ 4648, 4660, 4680, 4703, 4713, 4724, 4734, 4744, 4755, 4764,
+ 4771, 4778, 4787, 4796, 4805, 4814, 4823, 4834, 4837, 4838,
+ 4841, 4845, 4852, 4853, 4854, 4855, 4856, 4859, 4862, 4863,
+ 4871, 4878, 4879, 4882, 4884, 4895, 4905, 4915, 4927, 4928,
+ 4944, 4959, 4960, 4964, 4974, 4985, 4994, 5004, 5013, 5014,
+ 5017, 5018, 5021, 5022, 5023, 5026, 5040, 5045, 5055, 5064,
+ 5076, 5077, 5081, 5089, 5101, 5112, 5126, 5137, 5160, 5170,
+ 5188, 5199, 5210, 5221, 5235, 5236, 5237, 5238, 5239, 5240,
+ 5241, 5242, 5243, 5244, 5245, 5246, 5247, 5248, 5249, 5250,
+ 5251, 5255, 5256, 5259, 5260, 5263, 5265, 5278, 5289, 5290,
+ 5291, 5323, 5332, 5341, 5350, 5359, 5368, 5377, 5387, 5396,
+ 5405, 5414, 5423, 5432, 5444, 5445, 5446, 5447, 5448, 5449,
+ 5450, 5451, 5452, 5453, 5454, 5455, 5456, 5457, 5458, 5459,
+ 5460, 5461, 5462, 5463, 5464, 5465, 5466, 5470, 5471, 5485,
+ 5496, 5507, 5518, 5529, 5542, 5543, 5547, 5548, 5549, 5550,
+ 5551, 5552, 5553, 5554, 5555, 5556, 5557, 5558, 5559, 5562,
+ 5563, 5573, 5579, 5587, 5595, 5603, 5611, 5619, 5627, 5635,
+ 5643, 5651, 5659, 5667, 5675, 5683, 5691, 5699, 5707, 5717,
+ 5718, 5721, 5722, 5732, 5748, 5762, 5788, 5790, 5792, 5794,
+ 5801, 5810, 5811, 5814, 5821, 5828, 5835, 5849, 5857, 5865,
+ 5873, 5881, 5889, 5897, 5905, 5913, 5921, 5929, 5937, 5945,
+ 5953, 5961, 5969, 5981, 5982, 5985, 5995, 6009, 6010, 6014,
+ 6015, 6020, 6036, 6049, 6059, 6071, 6072, 6075, 6076, 6086,
+ 6096, 6097, 6101, 6105, 6109, 6120, 6133, 6147, 6164, 6165,
+ 6166, 6167, 6179, 6206, 6207, 6211, 6212, 6216, 6217, 6221,
+ 6222, 6225, 6226, 6234, 6245, 6256, 6269, 6270, 6273, 6274,
+ 6275, 6278, 6279, 6280, 6283, 6284, 6285, 6301, 6313, 6326,
+ 6341, 6342, 6345, 6346, 6350, 6351, 6359, 6360, 6364, 6365,
+ 6380, 6389, 6398, 6407, 6416, 6428, 6429, 6430, 6431, 6432,
+ 6438, 6442, 6457, 6458, 6464, 6474, 6478, 6483, 6491, 6532,
+ 6536, 6540, 6544, 6552, 6553, 6558, 6559, 6566, 6570, 6574,
+ 6578, 6582, 6586, 6590, 6594, 6598, 6602, 6606, 6610, 6614,
+ 6618, 6622, 6630, 6634, 6638, 6642, 6648, 6649, 6656, 6657,
+ 6660, 6672, 6676, 6691, 6702, 6703, 6708, 6709, 6724, 6735,
+ 6749, 6760, 6774, 6785, 6799, 6807, 6809, 6811, 6816, 6818,
+ 6831, 6840, 6841, 6845, 6849, 6861, 6872, 6883, 6896, 6897,
+ 6898, 6902, 6915, 6916, 6930, 6938, 6948, 6961, 6962, 6965,
+ 6966, 6976, 6988, 7000, 7012, 7024, 7036, 7048, 7060, 7072,
+ 7081, 7098, 7108, 7117, 7126, 7135, 7144, 7154, 7163, 7173,
+ 7182, 7191, 7201, 7211, 7220, 7229, 7239, 7249, 7259, 7269,
+ 7279, 7289, 7299, 7309, 7319, 7329, 7339, 7349, 7360, 7371,
+ 7382, 7393, 7403, 7414, 7425, 7435, 7445, 7453, 7462, 7471,
+ 7480, 7489, 7498, 7507, 7516, 7525, 7539, 7540, 7543, 7544,
+ 7554, 7564, 7573, 7582, 7591, 7600, 7610, 7620, 7630, 7640,
+ 7649, 7658, 7667, 7676, 7685, 7694, 7703, 7712, 7721, 7730,
+ 7739, 7748, 7757, 7766, 7783, 7792, 7800, 7808, 7816, 7824,
+ 7833, 7841, 7849, 7858, 7867, 7876, 7884, 7892, 7900, 7908,
+ 7916, 7924, 7932, 7949, 7966, 7967, 7968, 7973, 7979, 7988,
+ 7989, 7990, 7991, 7992, 7996, 7997, 8000, 8001, 8002, 8003,
+ 8007, 8008, 8009, 8014, 8025, 8047, 8057, 8058, 8061, 8070,
+ 8076, 8095, 8102, 8109, 8116, 8123, 8130, 8137, 8145, 8153,
+ 8161, 8169, 8177, 8184, 8191, 8200, 8201, 8202, 8206, 8209,
+ 8212, 8215, 8218, 8225, 8227, 8229, 8234, 8236, 8248, 8261,
+ 8274, 8292, 8313, 8314, 8315, 8316, 8326, 8342, 8352, 8353,
+ 8357, 8361, 8365, 8369, 8373, 8377, 8381, 8385, 8389, 8393,
+ 8397, 8401, 8405, 8409, 8413, 8417, 8427, 8428, 8439, 8446,
+ 8457, 8468, 8469, 8473, 8487, 8494, 8512, 8528, 8541, 8550,
+ 8558, 8566, 8575, 8586, 8597, 8607, 8608, 8619, 8629, 8639,
+ 8649, 8659, 8669, 8677, 8698, 8721, 8729, 8738, 8749, 8750,
+ 8762, 8778, 8794, 8808, 8828, 8853, 8854, 8858, 8859, 8860,
+ 8861, 8865, 8879, 8896, 8897, 8901, 8902, 8905, 8906, 8909,
+ 8910, 8914, 8915, 8928, 8935, 8945, 8952, 8962, 8963, 8964,
+ 8965, 8966, 8967, 8968, 8969, 8970, 8974, 8978, 8985, 8992,
+ 8993, 8997, 8998, 8999, 9009, 9019, 9020, 9024, 9025, 9026,
+ 9027, 9037, 9044, 9062, 9063, 9073, 9079, 9085, 9091, 9107,
+ 9117, 9123, 9129, 9138, 9140, 9145, 9156, 9157, 9168, 9182,
+ 9183, 9194, 9205, 9206, 9209, 9210, 9211, 9212, 9213, 9214,
+ 9215, 9216, 9219, 9220, 9231, 9249, 9250, 9254, 9255, 9259,
+ 9267, 9295, 9306, 9307, 9317, 9328, 9331, 9332, 9333, 9334,
+ 9335, 9338, 9339, 9340, 9388, 9389, 9393, 9394, 9409, 9410,
+ 9417, 9425, 9433, 9441, 9449, 9457, 9468, 9469, 9496, 9511,
+ 9512, 9531, 9535, 9539, 9554, 9561, 9571, 9572, 9575, 9587,
+ 9588, 9592, 9604, 9612, 9617, 9622, 9627, 9632, 9640, 9648,
+ 9653, 9658, 9665, 9666, 9669, 9670, 9671, 9678, 9679, 9680,
+ 9681, 9685, 9686, 9690, 9694, 9695, 9698, 9707, 9720, 9721,
+ 9722, 9723, 9727, 9728, 9732, 9734, 9744, 9749, 9752, 9757,
+ 9758, 9766, 9776, 9777, 9778, 9786, 9790, 9791, 9794, 9795,
+ 9800, 9801, 9805, 9806, 9810, 9811, 9815, 9816, 9820, 9821,
+ 9825, 9836, 9837, 9838, 9839, 9843, 9844, 9849, 9855, 9873,
+ 9874, 9878, 9879, 9885, 9890, 9897, 9905, 9940, 9965, 9969,
+ 9995, 9999, 10011, 10024, 10038, 10049, 10064, 10070, 10075, 10081,
+ 10088, 10089, 10097, 10101, 10105, 10111, 10118, 10123, 10124, 10125,
+ 10126, 10130, 10131, 10143, 10144, 10149, 10156, 10163, 10170, 10181,
+ 10182, 10195, 10199, 10206, 10227, 10237, 10249, 10254, 10255, 10258,
+ 10259, 10262, 10263, 10268, 10269, 10274, 10275, 10283, 10288, 10289,
+ 10293, 10297, 10303, 10333, 10338, 10345, 10350, 10356, 10361, 10370,
+ 10372, 10375, 10379, 10380, 10381, 10382, 10383, 10384, 10389, 10419,
+ 10420, 10421, 10422, 10433, 10439, 10447, 10448, 10454, 10459, 10464,
+ 10469, 10474, 10479, 10484, 10489, 10495, 10501, 10507, 10514, 10536,
+ 10545, 10549, 10557, 10561, 10569, 10581, 10602, 10606, 10612, 10616,
+ 10629, 10640, 10655, 10657, 10659, 10661, 10663, 10665, 10670, 10671,
+ 10675, 10676, 10683, 10692, 10700, 10709, 10720, 10728, 10729, 10730,
+ 10734, 10736, 10738, 10740, 10742, 10744, 10746, 10751, 10756, 10762,
+ 10770, 10775, 10782, 10789, 10793, 10797, 10827, 10828, 10830, 10838,
+ 10853, 10855, 10857, 10859, 10861, 10863, 10865, 10867, 10869, 10871,
+ 10873, 10876, 10878, 10880, 10883, 10885, 10887, 10890, 10892, 10899,
+ 10901, 10908, 10910, 10917, 10919, 10927, 10934, 10941, 10948, 10965,
+ 10972, 10979, 10986, 10993, 11009, 11016, 11023, 11030, 11037, 11044,
+ 11051, 11055, 11063, 11067, 11077, 11084, 11091, 11104, 11117, 11136,
+ 11157, 11167, 11174, 11190, 11195, 11213, 11215, 11217, 11219, 11221,
+ 11223, 11225, 11227, 11229, 11231, 11233, 11235, 11237, 11239, 11241,
+ 11243, 11245, 11249, 11254, 11258, 11262, 11267, 11284, 11285, 11286,
+ 11301, 11313, 11315, 11317, 11327, 11350, 11360, 11370, 11378, 11389,
+ 11393, 11399, 11406, 11413, 11423, 11430, 11458, 11493, 11504, 11505,
+ 11512, 11518, 11544, 11554, 11567, 11575, 11588, 11598, 11611, 11621,
+ 11634, 11638, 11642, 11646, 11650, 11654, 11658, 11660, 11664, 11673,
+ 11678, 11685, 11700, 11707, 11711, 11715, 11719, 11723, 11730, 11738,
+ 11746, 11750, 11754, 11758, 11762, 11766, 11772, 11776, 11785, 11789,
+ 11793, 11798, 11812, 11814, 11818, 11820, 11822, 11825, 11828, 11831,
+ 11832, 11835, 11843, 11853, 11854, 11857, 11858, 11859, 11864, 11868,
+ 11872, 11876, 11887, 11888, 11892, 11893, 11901, 11902, 11906, 11907,
+ 11912, 11920, 11922, 11936, 11939, 11966, 11967, 11970, 11971, 11982,
+ 12000, 12007, 12016, 12033, 12078, 12086, 12094, 12102, 12110, 12131,
+ 12132, 12133, 12136, 12137, 12138, 12141, 12142, 12145, 12146, 12147,
+ 12148, 12149, 12150, 12151, 12152, 12153, 12156, 12158, 12163, 12165,
+ 12170, 12172, 12174, 12176, 12178, 12180, 12192, 12196, 12203, 12207,
+ 12213, 12217, 12228, 12229, 12232, 12236, 12240, 12246, 12247, 12252,
+ 12256, 12263, 12264, 12265, 12266, 12267, 12268, 12269, 12270, 12280,
+ 12284, 12291, 12298, 12299, 12315, 12319, 12324, 12328, 12343, 12348,
+ 12352, 12355, 12358, 12359, 12360, 12363, 12370, 12380, 12394, 12395,
+ 12399, 12410, 12411, 12414, 12415, 12418, 12422, 12429, 12433, 12437,
+ 12444, 12454, 12455, 12459, 12460, 12463, 12464, 12475, 12476, 12485,
+ 12486, 12494, 12504, 12505, 12509, 12510, 12513, 12529, 12537, 12545,
+ 12567, 12568, 12579, 12583, 12610, 12612, 12617, 12620, 12623, 12625,
+ 12627, 12629, 12639, 12641, 12652, 12656, 12660, 12664, 12668, 12677,
+ 12684, 12716, 12720, 12726, 12743, 12747, 12751, 12757, 12758, 12759,
+ 12761, 12763, 12767, 12768, 12769, 12785, 12786, 12787, 12792, 12793,
+ 12794, 12799, 12800, 12801, 12802, 12808, 12809, 12810, 12811, 12812,
+ 12832, 12833, 12834, 12835, 12836, 12837, 12838, 12839, 12840, 12841,
+ 12842, 12843, 12844, 12845, 12846, 12847, 12848, 12849, 12850, 12851,
+ 12852, 12853, 12854, 12855, 12856, 12857, 12858, 12859, 12860, 12861,
+ 12862, 12863, 12864, 12865, 12866, 12867, 12868, 12869, 12870, 12871,
+ 12872, 12873, 12874, 12875, 12876, 12877, 12878, 12879, 12880, 12881,
+ 12882, 12883, 12884, 12885, 12886, 12887, 12888, 12889, 12890, 12891,
+ 12892, 12893, 12894, 12895, 12896, 12897, 12898, 12899, 12900, 12901,
+ 12902, 12903, 12904, 12905, 12906, 12907, 12908, 12909, 12910, 12911,
+ 12912, 12913, 12914, 12915, 12916, 12917, 12918, 12919, 12920, 12921,
+ 12922, 12923, 12924, 12925, 12926, 12927, 12928, 12929, 12930, 12931,
+ 12932, 12933, 12934, 12935, 12936, 12937, 12938, 12939, 12940, 12941,
+ 12942, 12943, 12944, 12945, 12946, 12947, 12948, 12949, 12950, 12951,
+ 12952, 12953, 12954, 12955, 12956, 12957, 12958, 12959, 12960, 12961,
+ 12962, 12963, 12964, 12965, 12966, 12967, 12968, 12969, 12970, 12971,
+ 12972, 12973, 12974, 12975, 12976, 12977, 12978, 12979, 12980, 12981,
+ 12982, 12983, 12984, 12985, 12986, 12987, 12988, 12989, 12990, 12991,
+ 12992, 12993, 12994, 12995, 12996, 12997, 12998, 12999, 13000, 13001,
+ 13002, 13003, 13004, 13005, 13006, 13007, 13008, 13009, 13010, 13011,
+ 13012, 13013, 13014, 13015, 13016, 13017, 13018, 13019, 13020, 13021,
+ 13022, 13023, 13024, 13025, 13026, 13027, 13028, 13029, 13030, 13031,
+ 13032, 13033, 13034, 13035, 13036, 13037, 13038, 13039, 13040, 13041,
+ 13042, 13043, 13044, 13045, 13046, 13047, 13048, 13049, 13050, 13051,
+ 13052, 13053, 13054, 13055, 13056, 13057, 13058, 13059, 13060, 13061,
+ 13062, 13063, 13064, 13065, 13066, 13067, 13068, 13069, 13070, 13071,
+ 13072, 13073, 13074, 13075, 13076, 13077, 13078, 13079, 13080, 13081,
+ 13082, 13083, 13084, 13085, 13086, 13087, 13088, 13089, 13090, 13104,
+ 13105, 13106, 13107, 13108, 13109, 13110, 13111, 13112, 13113, 13114,
+ 13115, 13116, 13117, 13118, 13119, 13120, 13121, 13122, 13123, 13124,
+ 13125, 13126, 13127, 13128, 13129, 13130, 13131, 13132, 13133, 13134,
+ 13135, 13136, 13137, 13138, 13139, 13140, 13141, 13142, 13143, 13144,
+ 13145, 13146, 13147, 13148, 13149, 13150, 13164, 13165, 13166, 13167,
+ 13168, 13169, 13170, 13171, 13172, 13173, 13174, 13175, 13176, 13177,
+ 13178, 13179, 13180, 13181, 13182, 13183, 13184, 13185, 13195, 13196,
+ 13197, 13198, 13199, 13200, 13201, 13202, 13203, 13204, 13205, 13206,
+ 13207, 13208, 13209, 13210, 13211, 13212, 13213, 13214, 13215, 13216,
+ 13217, 13218, 13219, 13220, 13221, 13222, 13223, 13224, 13225, 13226,
+ 13227, 13228, 13229, 13230, 13231, 13232, 13233, 13234, 13235, 13236,
+ 13237, 13238, 13239, 13240, 13241, 13242, 13243, 13244, 13245, 13246,
+ 13247, 13248, 13249, 13250, 13251, 13252, 13253, 13254, 13255, 13256,
+ 13257, 13258, 13259, 13260, 13261, 13262, 13263, 13264, 13265, 13266,
+ 13267, 13268, 13269, 13270, 13271
};
#endif
@@ -2790,50 +2922,52 @@ static const char *const yytname[] =
"DELIMITERS", "DESC", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT",
"DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE",
"ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE",
- "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS",
- "EXPLAIN", "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY",
- "FETCH", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN",
- "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GLOBAL",
- "GRANT", "GRANTED", "GREATEST", "GROUP_P", "HANDLER", "HAVING",
- "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE",
- "IMMUTABLE", "IMPLICIT_P", "IN_P", "INCLUDING", "INCREMENT", "INDEX",
- "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P",
- "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P",
- "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL",
- "ISOLATION", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P",
- "LC_COLLATE_P", "LC_CTYPE_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT",
- "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME",
- "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "MAPPING", "MATCH", "MAXVALUE",
+ "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE",
+ "EXISTS", "EXPLAIN", "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P",
+ "FAMILY", "FETCH", "FILTER", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR",
+ "FORCE", "FOREIGN", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION",
+ "FUNCTIONS", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
+ "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P",
+ "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IN_P", "INCLUDING",
+ "INCREMENT", "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY",
+ "INLINE_P", "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT",
+ "INSTEAD", "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO",
+ "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", "KEY", "LABEL",
+ "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LC_COLLATE_P",
+ "LC_CTYPE_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE",
+ "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP",
+ "LOCATION", "LOCK_P", "MAPPING", "MATCH", "MATERIALIZED", "MAXVALUE",
"MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES",
"NATIONAL", "NATURAL", "NCHAR", "NEXT", "NO", "NONE", "NOT", "NOTHING",
"NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC",
"OBJECT_P", "OF", "OFF", "OFFSET", "OIDS", "ON", "ONLY", "OPERATOR",
- "OPTION", "OPTIONS", "OR", "ORDER", "OUT_P", "OUTER_P", "OVER",
- "OVERLAPS", "OVERLAY", "OWNED", "OWNER", "PARSER", "PARTIAL",
+ "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OUT_P", "OUTER_P",
+ "OVER", "OVERLAPS", "OVERLAY", "OWNED", "OWNER", "PARSER", "PARTIAL",
"PARTITION", "PASSING", "PASSWORD", "PLACING", "PLANS", "POSITION",
"PRECEDING", "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY",
- "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "QUOTE", "RANGE",
- "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE", "REF", "REFERENCES",
- "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE",
- "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURNING", "RETURNS",
- "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROW", "ROWS", "RULE",
- "SAVEPOINT", "SCHEMA", "SCROLL", "SEARCH", "SECOND_P", "SECURITY",
- "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION",
- "SESSION_USER", "SET", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE",
- "SMALLINT", "SNAPSHOT", "SOME", "STABLE", "STANDALONE_P", "START",
- "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STRICT_P",
- "STRIP_P", "SUBSTRING", "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE",
- "TABLES", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P",
- "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TREAT",
- "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P",
- "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN",
- "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER", "USING", "VACUUM",
- "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR",
- "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW", "VOLATILE",
- "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH", "WITHOUT", "WORK",
- "WRAPPER", "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT",
- "XMLEXISTS", "XMLFOREST", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
- "YEAR_P", "YES_P", "ZONE", "NULLS_FIRST", "NULLS_LAST", "WITH_TIME",
+ "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROGRAM", "QUOTE",
+ "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE", "REF",
+ "REFERENCES", "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME",
+ "REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT",
+ "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROW",
+ "ROWS", "RULE", "SAVEPOINT", "SCHEMA", "SCROLL", "SEARCH", "SECOND_P",
+ "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER",
+ "SESSION", "SESSION_USER", "SET", "SETOF", "SHARE", "SHOW", "SIMILAR",
+ "SIMPLE", "SMALLINT", "SNAPSHOT", "SOME", "STABLE", "STANDALONE_P",
+ "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE",
+ "STRICT_P", "STRIP_P", "SUBSTRING", "SYMMETRIC", "SYSID", "SYSTEM_P",
+ "TABLE", "TABLES", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY",
+ "TEXT_P", "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION",
+ "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P",
+ "TYPES_P", "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE",
+ "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER", "USING",
+ "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES",
+ "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW",
+ "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH",
+ "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P",
+ "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST",
+ "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", "YEAR_P", "YES_P",
+ "ZONE", "NULLS_FIRST", "NULLS_LAST", "WITH_ORDINALITY", "WITH_TIME",
"'='", "'<'", "'>'", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'",
"'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'",
"$accept", "stmtblock", "stmtmulti", "stmt", "CreateRoleStmt",
@@ -2843,16 +2977,17 @@ static const char *const yytname[] =
"AlterUserSetStmt", "DropRoleStmt", "DropUserStmt", "CreateGroupStmt",
"AlterGroupStmt", "add_drop", "DropGroupStmt", "CreateSchemaStmt",
"OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
- "set_rest", "set_rest_more", "var_name", "var_list", "var_value",
- "iso_level", "opt_boolean_or_string", "zone_value", "opt_encoding",
- "ColId_or_Sconst", "VariableResetStmt", "SetResetClause",
- "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
- "constraints_set_list", "constraints_set_mode", "CheckPointStmt",
- "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "alter_table_cmd",
- "alter_column_default", "opt_drop_behavior", "opt_collate_clause",
- "alter_using", "reloptions", "opt_reloptions", "reloption_list",
- "reloption_elem", "AlterCompositeTypeStmt", "alter_type_cmds",
- "alter_type_cmd", "ClosePortalStmt", "CopyStmt", "copy_from",
+ "set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
+ "var_value", "iso_level", "opt_boolean_or_string", "zone_value",
+ "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
+ "SetResetClause", "FunctionSetResetClause", "VariableShowStmt",
+ "ConstraintsSetStmt", "constraints_set_list", "constraints_set_mode",
+ "CheckPointStmt", "DiscardStmt", "AlterTableStmt", "alter_table_cmds",
+ "alter_table_cmd", "alter_column_default", "opt_drop_behavior",
+ "opt_collate_clause", "alter_using", "replica_identity", "reloptions",
+ "opt_reloptions", "reloption_list", "reloption_elem",
+ "AlterCompositeTypeStmt", "alter_type_cmds", "alter_type_cmd",
+ "ClosePortalStmt", "CopyStmt", "copy_from", "opt_program",
"copy_file_name", "copy_options", "copy_opt_list", "copy_opt_item",
"opt_binary", "opt_oids", "copy_delimiter", "opt_using",
"copy_generic_opt_list", "copy_generic_opt_elem", "copy_generic_opt_arg",
@@ -2867,7 +3002,8 @@ static const char *const yytname[] =
"ExclusionConstraintElem", "ExclusionWhereClause", "key_actions",
"key_update", "key_delete", "key_action", "OptInherit", "OptWith",
"OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex",
- "CreateAsStmt", "create_as_target", "opt_with_data", "CreateSeqStmt",
+ "CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt",
+ "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
"AlterSeqStmt", "OptSeqOptList", "SeqOptList", "SeqOptElem", "opt_by",
"NumericOnly", "NumericOnly_list", "CreatePLangStmt", "opt_trusted",
"handler_name", "opt_inline_handler", "validator_clause",
@@ -2884,44 +3020,47 @@ static const char *const yytname[] =
"CreateForeignServerStmt", "opt_type", "foreign_server_version",
"opt_foreign_server_version", "DropForeignServerStmt",
"AlterForeignServerStmt", "CreateForeignTableStmt",
- "OptForeignTableElementList", "ForeignTableElementList",
- "ForeignTableElement", "AlterForeignTableStmt", "CreateUserMappingStmt",
- "auth_ident", "DropUserMappingStmt", "AlterUserMappingStmt",
- "CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
- "TriggerOneEvent", "TriggerForSpec", "TriggerForOptEach",
- "TriggerForType", "TriggerWhen", "TriggerFuncArgs", "TriggerFuncArg",
- "OptConstrFromTable", "ConstraintAttributeSpec",
- "ConstraintAttributeElem", "DropTrigStmt", "CreateAssertStmt",
+ "AlterForeignTableStmt", "CreateUserMappingStmt", "auth_ident",
+ "DropUserMappingStmt", "AlterUserMappingStmt", "CreateTrigStmt",
+ "TriggerActionTime", "TriggerEvents", "TriggerOneEvent",
+ "TriggerForSpec", "TriggerForOptEach", "TriggerForType", "TriggerWhen",
+ "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
+ "ConstraintAttributeSpec", "ConstraintAttributeElem", "DropTrigStmt",
+ "CreateEventTrigStmt", "event_trigger_when_list",
+ "event_trigger_when_item", "event_trigger_value_list",
+ "AlterEventTrigStmt", "enable_trigger", "CreateAssertStmt",
"DropAssertStmt", "DefineStmt", "definition", "def_list", "def_elem",
- "def_arg", "aggr_args", "old_aggr_definition", "old_aggr_list",
- "old_aggr_elem", "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
- "CreateOpClassStmt", "opclass_item_list", "opclass_item", "opt_default",
- "opt_opfamily", "opclass_purpose", "opt_recheck", "CreateOpFamilyStmt",
- "AlterOpFamilyStmt", "opclass_drop_list", "opclass_drop",
- "DropOpClassStmt", "DropOpFamilyStmt", "DropOwnedStmt",
- "ReassignOwnedStmt", "DropStmt", "drop_type", "any_name_list",
- "any_name", "attrs", "TruncateStmt", "opt_restart_seqs", "CommentStmt",
- "comment_type", "comment_text", "SecLabelStmt", "opt_provider",
- "security_label_type", "security_label", "FetchStmt", "fetch_args",
- "from_in", "opt_from_in", "GrantStmt", "RevokeStmt", "privileges",
- "privilege_list", "privilege", "privilege_target", "grantee_list",
- "grantee", "opt_grant_grant_option", "function_with_argtypes_list",
- "function_with_argtypes", "GrantRoleStmt", "RevokeRoleStmt",
- "opt_grant_admin_option", "opt_granted_by", "AlterDefaultPrivilegesStmt",
- "DefACLOptionList", "DefACLOption", "DefACLAction",
- "defacl_privilege_target", "IndexStmt", "opt_unique", "opt_concurrently",
- "opt_index_name", "access_method_clause", "index_params", "index_elem",
- "opt_collate", "opt_class", "opt_asc_desc", "opt_nulls_order",
- "CreateFunctionStmt", "opt_or_replace", "func_args", "func_args_list",
- "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
- "arg_class", "param_name", "func_return", "func_type",
- "func_arg_with_default", "createfunc_opt_list", "common_func_opt_item",
- "createfunc_opt_item", "func_as", "opt_definition", "table_func_column",
- "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
- "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
- "oper_argtypes", "any_operator", "DoStmt", "dostmt_opt_list",
- "dostmt_opt_item", "CreateCastStmt", "cast_context", "DropCastStmt",
- "opt_if_exists", "ReindexStmt", "reindex_type", "opt_force",
+ "def_arg", "old_aggr_definition", "old_aggr_list", "old_aggr_elem",
+ "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
+ "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
+ "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
+ "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
+ "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
+ "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
+ "drop_type", "any_name_list", "any_name", "attrs", "TruncateStmt",
+ "opt_restart_seqs", "CommentStmt", "comment_type", "comment_text",
+ "SecLabelStmt", "opt_provider", "security_label_type", "security_label",
+ "FetchStmt", "fetch_args", "from_in", "opt_from_in", "GrantStmt",
+ "RevokeStmt", "privileges", "privilege_list", "privilege",
+ "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
+ "function_with_argtypes_list", "function_with_argtypes", "GrantRoleStmt",
+ "RevokeRoleStmt", "opt_grant_admin_option", "opt_granted_by",
+ "AlterDefaultPrivilegesStmt", "DefACLOptionList", "DefACLOption",
+ "DefACLAction", "defacl_privilege_target", "IndexStmt", "opt_unique",
+ "opt_concurrently", "opt_index_name", "access_method_clause",
+ "index_params", "index_elem", "opt_collate", "opt_class", "opt_asc_desc",
+ "opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args",
+ "func_args_list", "func_args_with_defaults",
+ "func_args_with_defaults_list", "func_arg", "arg_class", "param_name",
+ "func_return", "func_type", "func_arg_with_default", "aggr_arg",
+ "aggr_args", "aggr_args_list", "createfunc_opt_list",
+ "common_func_opt_item", "createfunc_opt_item", "func_as",
+ "opt_definition", "table_func_column", "table_func_column_list",
+ "AlterFunctionStmt", "alterfunc_opt_list", "opt_restrict",
+ "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt", "oper_argtypes",
+ "any_operator", "DoStmt", "dostmt_opt_list", "dostmt_opt_item",
+ "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists",
+ "ReindexStmt", "reindex_type", "opt_force", "AlterTblSpcStmt",
"RenameStmt", "opt_column", "opt_set_data", "AlterObjectSchemaStmt",
"AlterOwnerStmt", "RuleStmt", "RuleActionList", "RuleActionMulti",
"RuleActionStmt", "RuleActionStmtOrEmpty", "event", "opt_instead",
@@ -2931,8 +3070,8 @@ static const char *const yytname[] =
"transaction_mode_list_or_empty", "ViewStmt", "opt_check_option",
"LoadStmt", "CreatedbStmt", "createdb_opt_list", "createdb_opt_item",
"opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt",
- "alterdb_opt_list", "alterdb_opt_item", "DropdbStmt", "CreateDomainStmt",
- "AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt",
+ "alterdb_opt_list", "alterdb_opt_item", "DropdbStmt", "AlterSystemStmt",
+ "CreateDomainStmt", "AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt",
"AlterTSConfigurationStmt", "CreateConversionStmt", "ClusterStmt",
"cluster_index_specification", "VacuumStmt", "vacuum_option_list",
"vacuum_option_elem", "AnalyzeStmt", "analyze_keyword", "opt_verbose",
@@ -2956,10 +3095,12 @@ static const char *const yytname[] =
"opt_select_fetch_first_value", "select_offset_value2", "row_or_rows",
"first_or_next", "group_clause", "having_clause", "for_locking_clause",
"opt_for_locking_clause", "for_locking_items", "for_locking_item",
- "locked_rels_list", "values_clause", "from_clause", "from_list",
- "table_ref", "joined_table", "alias_clause", "join_type", "join_outer",
+ "for_locking_strength", "locked_rels_list", "values_clause",
+ "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
+ "opt_alias_clause", "func_alias_clause", "join_type", "join_outer",
"join_qual", "relation_expr", "relation_expr_list",
- "relation_expr_opt_alias", "func_table", "where_clause",
+ "relation_expr_opt_alias", "func_table", "rowsfrom_item",
+ "rowsfrom_list", "opt_col_def_list", "opt_ordinality", "where_clause",
"where_or_current_clause", "OptTableFuncElementList",
"TableFuncElementList", "TableFuncElement", "Typename",
"opt_array_bounds", "SimpleTypename", "ConstTypename", "GenericType",
@@ -2968,9 +3109,11 @@ static const char *const yytname[] =
"CharacterWithLength", "CharacterWithoutLength", "character",
"opt_varying", "opt_charset", "ConstDatetime", "ConstInterval",
"opt_timezone", "opt_interval", "interval_second", "a_expr", "b_expr",
- "c_expr", "func_expr", "xml_root_version", "opt_xml_root_standalone",
- "xml_attributes", "xml_attribute_list", "xml_attribute_el",
- "document_or_content", "xml_whitespace_option", "xmlexists_argument",
+ "c_expr", "func_application", "func_expr", "func_expr_windowless",
+ "func_expr_common_subexpr", "xml_root_version",
+ "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
+ "xml_attribute_el", "document_or_content", "xml_whitespace_option",
+ "xmlexists_argument", "within_group_clause", "filter_clause",
"window_clause", "window_definition_list", "window_definition",
"over_clause", "window_specification", "opt_existing_window_name",
"opt_partition_clause", "opt_frame_clause", "frame_extent",
@@ -2982,12 +3125,13 @@ static const char *const yytname[] =
"in_expr", "case_expr", "when_clause_list", "when_clause",
"case_default", "case_arg", "columnref", "indirection_el", "indirection",
"opt_indirection", "opt_asymmetric", "ctext_expr", "ctext_expr_list",
- "ctext_row", "target_list", "target_el", "qualified_name_list",
- "qualified_name", "name_list", "name", "database_name", "access_method",
- "attr_name", "index_name", "file_name", "func_name", "AexprConst",
- "Iconst", "Sconst", "RoleId", "SignedIconst", "ColId",
- "type_function_name", "ColLabel", "unreserved_keyword",
- "col_name_keyword", "type_func_name_keyword", "reserved_keyword", YY_NULL
+ "ctext_row", "opt_target_list", "target_list", "target_el",
+ "qualified_name_list", "qualified_name", "name_list", "name",
+ "database_name", "access_method", "attr_name", "index_name", "file_name",
+ "func_name", "AexprConst", "Iconst", "Sconst", "RoleId", "role_list",
+ "SignedIconst", "ColId", "type_function_name", "NonReservedWord",
+ "ColLabel", "unreserved_keyword", "col_name_keyword",
+ "type_func_name_keyword", "reserved_keyword", YY_NULL
};
#endif
@@ -3037,8 +3181,9 @@ static const yytype_uint16 yytoknum[] =
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
- 665, 666, 667, 61, 60, 62, 668, 43, 45, 42,
- 47, 37, 94, 669, 91, 93, 40, 41, 46, 59,
+ 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
+ 675, 676, 677, 61, 60, 62, 678, 43, 45, 42,
+ 47, 37, 94, 679, 91, 93, 40, 41, 46, 59,
44, 58
};
# endif
@@ -3046,232 +3191,243 @@ static const yytype_uint16 yytoknum[] =
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 432, 433, 434, 434, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 436, 437, 437, 438,
- 438, 439, 439, 440, 440, 440, 440, 440, 440, 440,
- 440, 440, 441, 441, 441, 441, 441, 441, 442, 443,
- 444, 444, 445, 446, 447, 448, 448, 449, 449, 450,
- 451, 452, 452, 453, 453, 454, 454, 455, 455, 456,
- 456, 457, 457, 457, 457, 457, 457, 458, 458, 458,
- 459, 459, 459, 460, 460, 460, 460, 460, 460, 460,
- 460, 460, 460, 460, 460, 460, 460, 461, 461, 462,
- 462, 463, 463, 464, 464, 464, 464, 465, 465, 465,
- 465, 466, 466, 466, 466, 466, 466, 466, 467, 467,
- 467, 468, 468, 469, 469, 469, 469, 469, 470, 470,
- 471, 471, 472, 472, 472, 472, 472, 473, 474, 474,
- 475, 475, 476, 477, 477, 477, 477, 478, 478, 478,
- 478, 478, 478, 478, 478, 479, 479, 480, 480, 480,
- 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
- 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
- 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
- 480, 480, 480, 480, 480, 480, 480, 480, 480, 481,
- 481, 482, 482, 482, 483, 483, 484, 484, 485, 486,
- 486, 487, 487, 488, 488, 488, 488, 489, 490, 490,
- 491, 491, 491, 491, 492, 492, 493, 493, 494, 494,
- 495, 495, 495, 496, 496, 497, 497, 498, 498, 498,
- 498, 498, 498, 498, 498, 498, 498, 498, 498, 499,
- 499, 500, 500, 501, 501, 502, 502, 503, 503, 504,
- 505, 505, 505, 505, 505, 506, 506, 507, 508, 508,
- 508, 508, 509, 509, 509, 509, 509, 509, 509, 509,
- 510, 510, 511, 511, 512, 512, 513, 513, 514, 514,
- 514, 515, 515, 516, 517, 518, 518, 519, 519, 519,
- 519, 520, 520, 520, 520, 520, 520, 520, 521, 521,
- 521, 521, 522, 523, 523, 523, 524, 524, 524, 524,
- 524, 524, 525, 525, 526, 526, 526, 526, 526, 526,
- 526, 527, 527, 528, 528, 529, 529, 530, 531, 531,
- 531, 531, 532, 532, 533, 533, 534, 534, 535, 535,
- 535, 535, 535, 536, 537, 538, 538, 538, 538, 538,
- 539, 539, 540, 540, 540, 540, 541, 541, 541, 541,
- 542, 542, 543, 543, 544, 545, 546, 547, 547, 547,
- 548, 549, 549, 550, 550, 551, 551, 552, 552, 552,
- 552, 552, 552, 552, 552, 552, 552, 552, 552, 553,
- 553, 554, 554, 554, 555, 555, 556, 556, 557, 557,
- 558, 558, 559, 559, 560, 560, 561, 561, 562, 562,
- 563, 563, 564, 565, 565, 566, 566, 567, 567, 568,
- 568, 569, 569, 569, 570, 571, 571, 572, 573, 573,
- 573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
- 573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
- 574, 575, 575, 575, 575, 576, 576, 577, 577, 578,
- 578, 579, 579, 580, 580, 581, 581, 582, 583, 583,
- 584, 584, 584, 584, 585, 586, 587, 588, 589, 589,
- 590, 590, 591, 591, 592, 592, 593, 593, 593, 594,
- 594, 595, 595, 596, 596, 597, 598, 598, 599, 600,
- 600, 600, 601, 601, 602, 603, 603, 604, 604, 604,
- 605, 605, 606, 606, 606, 606, 606, 607, 607, 608,
- 608, 609, 609, 610, 610, 611, 611, 611, 612, 612,
- 612, 612, 613, 613, 614, 614, 615, 615, 615, 615,
- 615, 615, 616, 616, 617, 618, 619, 619, 619, 619,
- 619, 619, 619, 619, 619, 619, 619, 619, 619, 619,
- 620, 621, 621, 622, 622, 623, 623, 623, 623, 623,
- 624, 624, 625, 626, 626, 627, 628, 628, 629, 629,
- 630, 630, 630, 631, 632, 632, 633, 633, 633, 633,
- 633, 634, 634, 635, 635, 636, 636, 636, 637, 637,
- 638, 639, 639, 640, 640, 641, 641, 642, 642, 643,
- 643, 644, 645, 646, 646, 646, 646, 647, 647, 647,
- 647, 647, 647, 647, 647, 647, 647, 647, 647, 647,
- 647, 647, 648, 648, 649, 649, 650, 650, 651, 652,
- 652, 652, 653, 653, 653, 653, 653, 653, 653, 653,
- 653, 653, 653, 653, 653, 653, 653, 653, 653, 654,
- 654, 654, 654, 654, 654, 654, 654, 654, 654, 654,
- 654, 654, 654, 654, 654, 654, 655, 655, 656, 656,
- 656, 656, 656, 657, 657, 658, 658, 658, 658, 658,
- 658, 658, 658, 658, 658, 658, 659, 659, 660, 660,
- 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
- 661, 661, 661, 661, 661, 661, 662, 662, 663, 663,
- 664, 665, 665, 666, 666, 666, 666, 666, 667, 667,
- 668, 668, 668, 668, 669, 669, 669, 669, 669, 669,
- 669, 669, 669, 669, 669, 669, 669, 669, 669, 669,
- 670, 670, 671, 671, 672, 672, 673, 673, 674, 675,
- 676, 676, 677, 677, 678, 678, 679, 680, 680, 681,
- 681, 681, 682, 682, 682, 683, 683, 683, 683, 684,
- 685, 685, 686, 686, 687, 687, 688, 688, 689, 689,
- 690, 690, 690, 691, 691, 692, 692, 692, 693, 693,
- 693, 694, 694, 694, 695, 695, 695, 696, 696, 697,
- 697, 698, 698, 699, 699, 700, 700, 701, 701, 701,
- 701, 701, 702, 702, 702, 702, 702, 703, 704, 705,
- 705, 705, 706, 706, 706, 707, 707, 708, 708, 708,
- 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
- 708, 708, 709, 709, 709, 709, 710, 710, 711, 711,
- 712, 713, 713, 714, 715, 715, 716, 716, 717, 717,
- 718, 718, 719, 719, 720, 720, 720, 720, 721, 721,
- 722, 723, 723, 724, 724, 725, 725, 725, 726, 726,
- 726, 727, 728, 728, 729, 729, 729, 730, 730, 731,
- 731, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 733, 733, 734, 734, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735, 736, 736,
- 736, 736, 736, 736, 736, 736, 736, 736, 736, 736,
- 736, 736, 736, 736, 736, 736, 737, 738, 738, 738,
- 739, 739, 740, 740, 740, 740, 740, 741, 741, 742,
- 742, 742, 742, 743, 743, 743, 744, 744, 745, 746,
- 746, 747, 748, 748, 749, 749, 749, 749, 749, 749,
- 749, 749, 749, 749, 749, 749, 749, 749, 750, 750,
- 750, 751, 751, 751, 751, 751, 752, 752, 752, 753,
- 753, 754, 754, 755, 755, 755, 755, 756, 757, 758,
- 758, 759, 759, 759, 759, 759, 759, 759, 759, 759,
- 759, 759, 759, 759, 759, 759, 759, 760, 760, 761,
- 761, 762, 763, 763, 764, 765, 765, 766, 767, 767,
- 767, 767, 767, 767, 767, 768, 768, 769, 770, 770,
- 770, 770, 770, 770, 771, 772, 772, 772, 773, 773,
- 774, 774, 774, 774, 774, 775, 775, 776, 776, 776,
- 776, 777, 777, 778, 778, 779, 779, 780, 780, 781,
- 781, 782, 782, 783, 783, 783, 783, 784, 784, 784,
- 784, 784, 784, 784, 785, 785, 786, 787, 787, 787,
- 788, 788, 788, 789, 790, 790, 791, 791, 791, 791,
- 792, 792, 793, 793, 794, 794, 794, 794, 795, 796,
- 796, 796, 797, 797, 798, 799, 799, 800, 801, 801,
- 802, 803, 803, 804, 804, 804, 804, 804, 804, 804,
- 804, 805, 805, 806, 807, 807, 808, 808, 809, 810,
- 811, 812, 812, 813, 814, 815, 815, 815, 815, 815,
- 816, 816, 816, 817, 817, 818, 818, 819, 819, 819,
- 819, 819, 819, 819, 819, 820, 820, 821, 821, 821,
- 821, 821, 821, 822, 822, 823, 823, 824, 825, 825,
- 826, 826, 827, 827, 827, 827, 827, 827, 827, 827,
- 827, 828, 828, 829, 829, 829, 830, 830, 830, 830,
- 831, 831, 832, 833, 833, 834, 834, 835, 835, 835,
- 835, 836, 836, 837, 837, 837, 838, 838, 839, 839,
- 840, 841, 841, 841, 842, 843, 843, 844, 844, 845,
- 845, 846, 846, 847, 847, 848, 848, 849, 849, 850,
- 850, 851, 851, 852, 852, 853, 853, 854, 854, 855,
- 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
- 856, 856, 856, 856, 856, 856, 857, 857, 857, 857,
- 858, 858, 858, 858, 859, 859, 860, 860, 861, 861,
- 861, 861, 862, 862, 863, 863, 863, 864, 865, 865,
- 866, 866, 866, 867, 867, 868, 868, 869, 870, 870,
- 870, 870, 870, 870, 871, 871, 871, 872, 872, 872,
- 872, 872, 872, 872, 873, 873, 873, 873, 874, 874,
- 875, 875, 876, 876, 876, 876, 876, 876, 876, 876,
- 876, 876, 876, 877, 877, 878, 878, 879, 879, 880,
- 881, 882, 882, 883, 883, 884, 885, 886, 886, 886,
- 886, 886, 886, 887, 887, 888, 888, 889, 889, 889,
- 889, 890, 891, 891, 891, 892, 892, 892, 892, 892,
- 892, 892, 892, 892, 892, 892, 892, 892, 892, 893,
- 893, 894, 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 894, 894, 894, 894, 894,
- 895, 895, 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 895, 896, 896, 896, 896, 896, 896, 896, 896,
- 896, 896, 896, 896, 897, 897, 897, 897, 897, 897,
- 897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
- 897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
- 897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
- 897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
- 897, 897, 897, 897, 898, 898, 899, 899, 899, 899,
- 900, 901, 901, 902, 902, 903, 903, 904, 904, 904,
- 905, 905, 905, 905, 906, 906, 907, 907, 908, 909,
- 909, 909, 910, 911, 911, 912, 912, 913, 913, 913,
- 914, 914, 915, 915, 915, 915, 915, 916, 916, 916,
- 917, 917, 917, 918, 918, 919, 919, 919, 919, 919,
- 919, 919, 919, 919, 920, 920, 921, 921, 922, 922,
- 922, 922, 922, 922, 923, 923, 924, 924, 925, 925,
- 926, 926, 927, 927, 927, 928, 928, 929, 929, 930,
- 930, 930, 930, 930, 930, 930, 930, 931, 931, 932,
- 933, 933, 934, 934, 934, 934, 934, 934, 935, 936,
- 937, 937, 937, 938, 938, 939, 940, 940, 941, 942,
- 942, 943, 943, 944, 944, 945, 945, 945, 945, 946,
- 946, 947, 947, 948, 948, 949, 949, 950, 950, 951,
- 952, 952, 953, 953, 953, 953, 954, 954, 955, 955,
- 956, 956, 957, 958, 959, 960, 961, 962, 963, 963,
- 964, 964, 964, 964, 964, 964, 964, 964, 964, 964,
- 964, 964, 964, 965, 966, 967, 968, 968, 968, 969,
- 969, 969, 970, 970, 970, 971, 971, 971, 971, 971,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
- 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
- 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
- 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
- 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
- 973, 973, 973, 973, 973, 973, 973, 974, 974, 974,
- 974, 974, 974, 974, 974, 974, 974, 974, 974, 974,
- 974, 974, 974, 974, 974, 974, 974, 974, 974, 974,
- 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
- 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
- 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
- 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
- 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
- 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
- 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
- 975, 975, 975, 975, 975, 975
+ 0, 442, 443, 444, 444, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 446, 447, 447, 448, 448, 449, 449, 450,
+ 450, 450, 450, 450, 450, 450, 450, 450, 451, 451,
+ 451, 451, 451, 451, 452, 453, 454, 454, 455, 455,
+ 456, 457, 458, 458, 459, 459, 460, 461, 462, 462,
+ 463, 463, 464, 464, 464, 464, 465, 465, 466, 466,
+ 467, 467, 467, 467, 467, 467, 468, 468, 468, 469,
+ 469, 469, 470, 470, 470, 470, 471, 471, 471, 471,
+ 471, 471, 471, 471, 471, 471, 471, 472, 472, 473,
+ 473, 474, 474, 475, 475, 475, 475, 476, 476, 476,
+ 476, 477, 477, 477, 477, 477, 477, 477, 478, 478,
+ 478, 479, 479, 480, 480, 480, 480, 480, 481, 481,
+ 482, 482, 483, 483, 483, 483, 483, 484, 485, 485,
+ 486, 486, 487, 488, 488, 488, 488, 488, 489, 489,
+ 489, 489, 489, 489, 489, 489, 489, 489, 490, 490,
+ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
+ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
+ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
+ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
+ 491, 491, 491, 491, 492, 492, 493, 493, 493, 494,
+ 494, 495, 495, 496, 496, 496, 496, 497, 498, 498,
+ 499, 499, 500, 500, 500, 500, 501, 502, 502, 503,
+ 503, 503, 503, 504, 504, 505, 505, 506, 506, 507,
+ 507, 508, 508, 508, 509, 509, 510, 510, 511, 511,
+ 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
+ 511, 511, 512, 512, 513, 513, 514, 514, 515, 515,
+ 516, 516, 517, 518, 518, 518, 518, 518, 519, 519,
+ 520, 521, 521, 521, 521, 522, 522, 522, 522, 522,
+ 522, 522, 522, 523, 523, 524, 524, 525, 525, 526,
+ 526, 527, 527, 527, 528, 528, 529, 530, 531, 531,
+ 532, 532, 532, 532, 533, 533, 533, 533, 533, 533,
+ 533, 534, 534, 534, 534, 535, 536, 536, 536, 537,
+ 537, 537, 537, 537, 537, 538, 538, 539, 539, 539,
+ 539, 539, 539, 539, 540, 540, 541, 541, 542, 542,
+ 543, 544, 544, 544, 544, 545, 545, 546, 546, 547,
+ 547, 548, 548, 548, 548, 548, 549, 550, 551, 551,
+ 551, 551, 551, 552, 552, 553, 553, 553, 553, 554,
+ 554, 554, 554, 555, 555, 556, 556, 557, 558, 559,
+ 560, 560, 560, 561, 562, 563, 563, 564, 565, 566,
+ 566, 567, 567, 568, 568, 569, 569, 569, 569, 569,
+ 569, 569, 569, 569, 569, 569, 569, 570, 570, 571,
+ 571, 571, 572, 572, 573, 573, 574, 574, 575, 575,
+ 576, 576, 577, 577, 578, 578, 579, 579, 580, 580,
+ 581, 582, 582, 583, 583, 584, 584, 585, 585, 586,
+ 586, 586, 587, 588, 588, 589, 590, 590, 590, 590,
+ 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
+ 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
+ 591, 592, 592, 592, 592, 593, 593, 594, 594, 595,
+ 595, 596, 596, 597, 597, 598, 598, 599, 600, 600,
+ 601, 601, 601, 601, 602, 603, 604, 605, 606, 606,
+ 607, 607, 608, 608, 609, 609, 610, 610, 610, 611,
+ 611, 612, 612, 613, 614, 614, 614, 615, 615, 616,
+ 617, 617, 618, 618, 618, 619, 619, 620, 620, 620,
+ 620, 620, 621, 621, 622, 622, 623, 623, 624, 624,
+ 625, 625, 625, 626, 626, 626, 626, 627, 627, 628,
+ 628, 629, 629, 629, 629, 629, 629, 630, 630, 631,
+ 631, 632, 632, 633, 634, 634, 635, 636, 636, 636,
+ 636, 637, 638, 639, 639, 639, 639, 639, 639, 639,
+ 639, 639, 639, 639, 639, 639, 639, 640, 641, 641,
+ 642, 642, 643, 643, 643, 643, 643, 644, 645, 645,
+ 646, 647, 647, 648, 648, 649, 649, 649, 650, 650,
+ 651, 652, 652, 653, 653, 653, 653, 653, 654, 654,
+ 655, 655, 656, 656, 656, 657, 657, 658, 659, 659,
+ 660, 660, 661, 661, 662, 662, 663, 663, 664, 665,
+ 666, 666, 666, 666, 667, 667, 667, 667, 667, 667,
+ 667, 667, 667, 667, 667, 667, 667, 667, 667, 667,
+ 667, 668, 668, 669, 669, 670, 670, 671, 672, 672,
+ 672, 673, 673, 673, 673, 673, 673, 673, 673, 673,
+ 673, 673, 673, 673, 674, 674, 674, 674, 674, 674,
+ 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
+ 674, 674, 674, 674, 674, 674, 674, 675, 675, 676,
+ 676, 676, 676, 676, 677, 677, 678, 678, 678, 678,
+ 678, 678, 678, 678, 678, 678, 678, 678, 678, 679,
+ 679, 680, 680, 681, 681, 681, 681, 681, 681, 681,
+ 681, 681, 681, 681, 681, 681, 681, 681, 681, 682,
+ 682, 683, 683, 684, 685, 685, 686, 686, 686, 686,
+ 686, 687, 687, 688, 688, 688, 688, 689, 689, 689,
+ 689, 689, 689, 689, 689, 689, 689, 689, 689, 689,
+ 689, 689, 689, 690, 690, 691, 691, 692, 692, 693,
+ 693, 694, 695, 696, 696, 697, 697, 698, 698, 699,
+ 700, 700, 701, 701, 701, 702, 702, 702, 703, 703,
+ 703, 703, 704, 705, 705, 706, 706, 707, 707, 708,
+ 708, 709, 709, 710, 710, 710, 711, 711, 712, 712,
+ 712, 713, 713, 713, 714, 714, 714, 715, 715, 715,
+ 716, 716, 717, 717, 718, 718, 719, 719, 720, 720,
+ 721, 721, 721, 721, 721, 722, 722, 722, 722, 722,
+ 723, 724, 725, 725, 725, 726, 726, 726, 727, 728,
+ 728, 728, 728, 729, 729, 730, 730, 731, 731, 731,
+ 731, 731, 731, 731, 731, 731, 731, 731, 731, 731,
+ 731, 731, 732, 732, 732, 732, 733, 733, 734, 734,
+ 735, 736, 736, 737, 738, 738, 739, 739, 740, 740,
+ 741, 741, 742, 742, 743, 743, 743, 743, 744, 744,
+ 745, 746, 746, 747, 747, 748, 748, 748, 749, 749,
+ 749, 750, 751, 751, 752, 752, 752, 753, 753, 754,
+ 754, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ 755, 756, 756, 756, 756, 756, 756, 756, 756, 756,
+ 756, 756, 756, 756, 756, 756, 756, 756, 756, 756,
+ 756, 756, 756, 756, 756, 756, 756, 756, 756, 756,
+ 756, 756, 756, 756, 756, 756, 756, 756, 756, 756,
+ 756, 756, 756, 756, 756, 756, 757, 757, 758, 758,
+ 759, 759, 759, 759, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 761, 762, 762, 762, 763, 763, 764,
+ 764, 764, 764, 764, 765, 765, 766, 766, 766, 766,
+ 767, 767, 767, 768, 768, 769, 770, 770, 771, 772,
+ 772, 773, 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 774, 774, 774, 775, 775,
+ 775, 775, 775, 776, 776, 776, 777, 777, 778, 778,
+ 778, 778, 779, 779, 779, 779, 780, 781, 782, 782,
+ 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 783, 783, 783, 784, 784, 785, 785,
+ 786, 787, 787, 788, 789, 789, 790, 791, 792, 792,
+ 792, 792, 792, 792, 792, 793, 793, 794, 795, 795,
+ 795, 795, 795, 795, 796, 797, 797, 797, 798, 798,
+ 799, 799, 799, 799, 799, 800, 800, 801, 801, 801,
+ 801, 802, 802, 803, 803, 804, 804, 805, 805, 806,
+ 806, 807, 807, 808, 808, 808, 808, 809, 809, 809,
+ 809, 809, 809, 809, 809, 809, 810, 810, 811, 812,
+ 812, 813, 813, 813, 814, 815, 815, 816, 816, 816,
+ 816, 817, 817, 818, 818, 819, 819, 819, 819, 820,
+ 821, 821, 821, 822, 822, 823, 824, 824, 825, 826,
+ 826, 827, 828, 828, 829, 829, 829, 829, 829, 829,
+ 829, 829, 830, 830, 831, 832, 832, 833, 833, 834,
+ 835, 836, 837, 837, 838, 839, 840, 840, 840, 840,
+ 840, 841, 841, 841, 842, 842, 843, 843, 844, 844,
+ 844, 844, 844, 844, 844, 844, 845, 845, 846, 846,
+ 846, 846, 846, 846, 847, 847, 848, 848, 849, 850,
+ 850, 851, 851, 852, 852, 852, 852, 852, 852, 852,
+ 852, 852, 853, 853, 854, 854, 854, 855, 855, 855,
+ 855, 856, 856, 857, 858, 858, 859, 859, 860, 860,
+ 860, 860, 861, 861, 862, 862, 862, 863, 863, 864,
+ 864, 865, 866, 866, 866, 867, 868, 868, 869, 869,
+ 870, 870, 871, 871, 872, 872, 873, 873, 874, 874,
+ 875, 876, 876, 876, 876, 877, 877, 878, 878, 879,
+ 879, 880, 880, 881, 881, 881, 881, 881, 881, 881,
+ 882, 882, 882, 882, 882, 882, 883, 883, 883, 883,
+ 884, 884, 885, 885, 885, 885, 885, 886, 886, 886,
+ 886, 887, 887, 888, 888, 889, 889, 889, 889, 890,
+ 890, 891, 891, 891, 892, 892, 893, 894, 894, 895,
+ 895, 896, 896, 897, 897, 898, 898, 898, 899, 899,
+ 900, 900, 901, 902, 902, 902, 902, 902, 902, 903,
+ 903, 903, 904, 904, 904, 904, 904, 904, 904, 905,
+ 905, 905, 905, 906, 906, 907, 907, 908, 908, 908,
+ 908, 908, 908, 908, 908, 908, 908, 908, 909, 909,
+ 910, 910, 911, 911, 912, 913, 914, 914, 915, 915,
+ 916, 917, 918, 918, 918, 918, 918, 918, 919, 919,
+ 920, 920, 921, 921, 921, 921, 922, 923, 923, 923,
+ 924, 924, 924, 924, 924, 924, 924, 924, 924, 924,
+ 924, 924, 924, 924, 925, 925, 926, 926, 926, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 926, 926, 926, 926, 926, 927, 927, 927, 927, 927,
+ 927, 927, 927, 927, 927, 927, 927, 927, 927, 927,
+ 927, 927, 927, 927, 927, 927, 927, 928, 928, 928,
+ 928, 928, 928, 928, 928, 928, 928, 928, 928, 929,
+ 929, 929, 929, 929, 929, 929, 930, 930, 931, 931,
+ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932,
+ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932,
+ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932,
+ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932,
+ 932, 932, 933, 933, 934, 934, 934, 934, 935, 936,
+ 936, 937, 937, 938, 938, 939, 939, 939, 940, 940,
+ 940, 940, 941, 941, 942, 942, 943, 943, 944, 944,
+ 945, 946, 946, 946, 947, 948, 948, 949, 949, 950,
+ 950, 950, 951, 951, 952, 952, 952, 952, 952, 953,
+ 953, 953, 954, 954, 954, 955, 955, 956, 956, 956,
+ 956, 956, 956, 956, 956, 956, 957, 957, 958, 958,
+ 959, 959, 959, 959, 959, 959, 960, 960, 961, 961,
+ 962, 962, 963, 963, 964, 964, 964, 965, 965, 966,
+ 966, 967, 967, 967, 967, 967, 967, 967, 967, 968,
+ 968, 969, 970, 970, 971, 971, 971, 971, 971, 971,
+ 972, 973, 974, 974, 974, 975, 975, 976, 977, 977,
+ 978, 979, 979, 980, 980, 981, 981, 982, 982, 982,
+ 982, 983, 983, 984, 984, 985, 985, 986, 986, 987,
+ 987, 988, 989, 989, 990, 990, 991, 991, 991, 991,
+ 992, 992, 993, 993, 994, 994, 995, 996, 997, 998,
+ 999, 1000, 1001, 1001, 1002, 1002, 1002, 1002, 1002, 1002,
+ 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1003, 1004, 1005,
+ 1006, 1006, 1007, 1007, 1007, 1008, 1008, 1008, 1009, 1009,
+ 1009, 1010, 1010, 1010, 1010, 1011, 1011, 1011, 1011, 1011,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1013,
+ 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1013, 1013, 1013, 1014, 1014, 1014, 1014,
+ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
+ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1015
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -3288,180 +3444,191 @@ static const yytype_uint8 yyr2[] =
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, 0, 5, 1, 0, 2,
- 0, 2, 0, 2, 2, 3, 3, 1, 3, 3,
- 2, 1, 1, 2, 2, 2, 3, 3, 5, 5,
- 0, 3, 5, 5, 4, 3, 5, 3, 5, 5,
- 6, 1, 1, 3, 5, 6, 4, 1, 0, 2,
- 0, 1, 1, 1, 1, 1, 1, 2, 3, 3,
- 2, 5, 1, 3, 3, 3, 3, 3, 3, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 0, 5, 1, 0, 2, 0, 2, 0, 2,
+ 2, 3, 3, 1, 3, 3, 2, 1, 1, 2,
+ 2, 2, 3, 3, 5, 5, 0, 3, 5, 5,
+ 5, 4, 3, 5, 3, 5, 5, 6, 1, 1,
+ 3, 5, 6, 4, 9, 7, 1, 0, 2, 0,
+ 1, 1, 1, 1, 1, 1, 2, 3, 3, 2,
+ 5, 1, 3, 3, 3, 3, 1, 3, 3, 2,
2, 2, 2, 3, 3, 3, 3, 1, 3, 1,
3, 1, 1, 2, 2, 2, 1, 1, 1, 1,
1, 1, 1, 3, 6, 1, 1, 1, 1, 1,
0, 1, 1, 2, 3, 4, 3, 2, 2, 1,
2, 1, 2, 3, 4, 3, 2, 4, 1, 1,
- 1, 1, 1, 2, 2, 2, 2, 4, 6, 4,
- 6, 4, 6, 4, 6, 1, 3, 2, 3, 4,
- 6, 6, 6, 5, 5, 6, 6, 4, 8, 4,
- 2, 3, 6, 4, 3, 3, 3, 3, 3, 4,
- 4, 3, 3, 3, 3, 3, 3, 4, 4, 3,
- 2, 3, 2, 2, 3, 3, 2, 2, 1, 3,
- 2, 1, 1, 0, 2, 0, 2, 0, 3, 2,
- 0, 1, 3, 3, 1, 5, 3, 4, 1, 3,
- 4, 6, 4, 8, 2, 2, 10, 6, 1, 1,
- 1, 1, 1, 1, 3, 2, 0, 1, 1, 3,
- 3, 1, 1, 3, 3, 3, 3, 4, 2, 1,
- 0, 2, 0, 3, 0, 1, 0, 1, 3, 2,
- 1, 1, 1, 3, 0, 1, 3, 1, 11, 14,
- 10, 13, 1, 1, 2, 2, 2, 2, 1, 0,
- 1, 0, 3, 0, 1, 3, 1, 3, 1, 1,
- 1, 1, 1, 4, 4, 2, 0, 3, 1, 1,
- 2, 2, 1, 3, 4, 5, 2, 5, 1, 2,
- 2, 2, 3, 3, 3, 0, 1, 1, 1, 1,
- 1, 1, 3, 1, 5, 7, 3, 8, 4, 9,
- 11, 2, 0, 3, 0, 1, 3, 1, 2, 2,
- 2, 0, 1, 3, 3, 6, 4, 0, 1, 1,
- 2, 2, 0, 3, 3, 2, 1, 1, 2, 2,
- 4, 0, 2, 2, 2, 0, 3, 4, 4, 0,
- 2, 0, 4, 0, 3, 7, 5, 2, 3, 0,
- 5, 4, 6, 1, 0, 1, 2, 2, 1, 2,
- 3, 2, 2, 2, 2, 3, 3, 1, 3, 1,
- 0, 1, 2, 1, 1, 3, 6, 10, 1, 0,
- 1, 2, 2, 0, 2, 2, 1, 0, 5, 7,
- 1, 0, 6, 2, 0, 3, 5, 5, 8, 2,
- 0, 2, 2, 2, 5, 2, 0, 2, 7, 10,
- 6, 6, 6, 6, 7, 7, 9, 9, 6, 6,
- 8, 8, 8, 8, 6, 6, 7, 8, 6, 6,
+ 1, 1, 1, 2, 2, 2, 2, 2, 4, 6,
+ 4, 6, 4, 6, 4, 6, 5, 7, 1, 3,
+ 2, 3, 4, 6, 6, 6, 5, 5, 6, 6,
+ 4, 8, 4, 2, 4, 3, 6, 4, 3, 3,
+ 3, 3, 3, 4, 4, 3, 3, 3, 3, 3,
+ 3, 4, 4, 3, 2, 3, 2, 2, 3, 3,
+ 2, 2, 3, 1, 3, 2, 1, 1, 0, 2,
+ 0, 2, 0, 1, 1, 1, 3, 3, 2, 0,
+ 1, 3, 3, 1, 5, 3, 4, 1, 3, 4,
+ 6, 4, 8, 2, 2, 11, 7, 1, 1, 1,
+ 0, 1, 1, 1, 1, 3, 2, 0, 1, 1,
+ 1, 3, 3, 1, 1, 3, 3, 3, 3, 4,
+ 3, 2, 1, 0, 2, 0, 3, 0, 1, 0,
+ 1, 3, 2, 1, 1, 1, 3, 0, 1, 3,
+ 1, 11, 14, 10, 13, 1, 1, 2, 2, 2,
+ 2, 1, 0, 1, 0, 3, 0, 1, 3, 1,
+ 3, 1, 1, 1, 1, 1, 4, 4, 2, 0,
+ 3, 1, 1, 2, 2, 1, 3, 4, 5, 2,
+ 5, 1, 2, 2, 2, 3, 3, 3, 0, 1,
+ 1, 1, 1, 1, 1, 3, 1, 5, 7, 3,
+ 8, 4, 9, 11, 2, 0, 3, 0, 1, 3,
+ 1, 2, 2, 2, 0, 1, 3, 3, 6, 4,
+ 0, 1, 1, 2, 2, 0, 3, 3, 2, 1,
+ 1, 2, 2, 4, 0, 2, 2, 2, 0, 3,
+ 4, 4, 0, 2, 0, 4, 0, 3, 7, 5,
+ 2, 3, 0, 8, 4, 1, 0, 6, 5, 4,
+ 6, 1, 0, 1, 2, 2, 1, 2, 3, 2,
+ 2, 2, 2, 3, 3, 1, 3, 1, 0, 1,
+ 2, 1, 1, 3, 6, 10, 1, 0, 1, 2,
+ 2, 0, 2, 2, 1, 0, 5, 7, 1, 0,
+ 7, 2, 0, 3, 5, 5, 8, 2, 0, 2,
+ 2, 2, 5, 2, 0, 2, 7, 10, 6, 6,
+ 6, 6, 7, 7, 9, 9, 6, 7, 6, 8,
+ 8, 8, 8, 6, 6, 7, 7, 8, 6, 6,
7, 2, 2, 2, 2, 1, 2, 1, 0, 6,
8, 7, 6, 4, 0, 1, 3, 4, 1, 3,
1, 2, 2, 2, 2, 1, 1, 10, 2, 0,
- 2, 2, 1, 0, 4, 6, 5, 4, 4, 8,
- 11, 3, 2, 1, 3, 1, 5, 7, 8, 1,
- 1, 1, 7, 9, 8, 15, 20, 1, 1, 2,
- 1, 3, 1, 1, 1, 3, 1, 3, 0, 1,
- 0, 1, 1, 4, 0, 1, 3, 0, 1, 1,
- 1, 1, 2, 0, 0, 2, 2, 1, 2, 2,
- 2, 2, 6, 8, 8, 4, 5, 4, 4, 4,
- 3, 7, 8, 6, 6, 6, 6, 6, 4, 5,
- 3, 1, 3, 3, 1, 1, 1, 1, 1, 1,
- 3, 3, 3, 1, 3, 3, 1, 0, 1, 3,
- 6, 8, 8, 13, 1, 3, 5, 6, 4, 7,
- 2, 1, 0, 2, 0, 2, 4, 0, 1, 0,
- 6, 8, 8, 1, 3, 5, 5, 7, 9, 7,
- 9, 5, 6, 6, 4, 5, 7, 1, 1, 1,
- 1, 2, 1, 1, 1, 1, 1, 1, 3, 3,
- 3, 3, 1, 3, 1, 2, 2, 3, 5, 2,
- 2, 0, 6, 7, 7, 7, 8, 8, 6, 8,
- 9, 9, 7, 10, 7, 8, 8, 8, 8, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 2, 1, 3, 1, 1, 8, 9,
- 9, 9, 9, 2, 0, 1, 1, 2, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 1, 2, 3, 3, 3, 3, 4, 4, 3, 3,
- 3, 4, 4, 3, 4, 4, 1, 1, 1, 0,
- 7, 7, 10, 1, 1, 2, 4, 5, 1, 3,
- 2, 2, 2, 2, 1, 2, 2, 4, 3, 2,
- 2, 2, 2, 3, 2, 2, 2, 5, 5, 5,
- 1, 3, 1, 2, 3, 0, 1, 3, 2, 6,
- 6, 9, 3, 0, 3, 0, 5, 2, 0, 3,
- 3, 3, 7, 7, 10, 1, 1, 1, 1, 14,
- 1, 0, 1, 0, 1, 0, 2, 0, 1, 3,
- 5, 5, 7, 2, 0, 1, 2, 0, 1, 1,
- 0, 1, 1, 0, 9, 12, 7, 2, 0, 3,
- 2, 1, 3, 3, 2, 1, 3, 3, 3, 2,
- 2, 1, 1, 1, 1, 2, 1, 1, 1, 1,
- 4, 5, 1, 3, 3, 1, 2, 4, 5, 1,
+ 2, 2, 1, 0, 4, 6, 5, 4, 4, 10,
+ 13, 5, 7, 8, 1, 1, 1, 7, 9, 8,
+ 15, 20, 1, 1, 2, 1, 3, 1, 1, 1,
+ 3, 1, 3, 0, 1, 0, 1, 1, 4, 0,
+ 1, 3, 0, 1, 1, 1, 1, 2, 0, 0,
+ 2, 2, 1, 2, 2, 2, 2, 6, 8, 11,
+ 13, 1, 3, 5, 1, 3, 5, 1, 2, 2,
+ 1, 8, 4, 5, 4, 4, 4, 3, 7, 8,
+ 6, 6, 6, 6, 6, 4, 5, 3, 1, 3,
+ 3, 1, 1, 1, 1, 1, 1, 3, 1, 3,
+ 3, 1, 0, 1, 3, 7, 9, 9, 3, 0,
+ 13, 1, 3, 5, 6, 4, 7, 2, 1, 0,
+ 2, 0, 2, 4, 0, 1, 0, 6, 8, 8,
+ 1, 3, 5, 5, 7, 9, 7, 9, 5, 6,
+ 6, 4, 5, 7, 1, 1, 1, 2, 1, 2,
+ 2, 1, 1, 1, 1, 1, 1, 3, 3, 3,
+ 3, 1, 3, 1, 2, 2, 3, 5, 2, 2,
+ 0, 6, 7, 7, 7, 8, 8, 6, 8, 9,
+ 9, 7, 10, 7, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 1, 1, 1, 1, 1, 2,
+ 1, 3, 2, 3, 3, 3, 3, 1, 1, 8,
+ 9, 9, 9, 9, 2, 0, 1, 1, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
+ 1, 2, 2, 1, 2, 3, 3, 3, 3, 4,
+ 4, 3, 3, 3, 4, 4, 3, 4, 4, 1,
+ 1, 1, 0, 7, 7, 10, 1, 1, 2, 4,
+ 5, 1, 3, 2, 2, 2, 2, 1, 2, 2,
+ 4, 3, 2, 2, 2, 2, 3, 2, 2, 2,
+ 5, 5, 5, 1, 3, 1, 2, 3, 0, 1,
+ 3, 2, 6, 6, 9, 3, 0, 3, 0, 5,
+ 2, 0, 3, 3, 3, 7, 7, 10, 1, 1,
+ 1, 1, 14, 1, 0, 1, 0, 1, 0, 2,
+ 0, 1, 3, 5, 5, 7, 2, 0, 1, 2,
+ 0, 1, 1, 0, 1, 1, 0, 9, 12, 7,
+ 2, 0, 3, 2, 1, 3, 3, 2, 1, 3,
+ 3, 3, 2, 2, 1, 1, 1, 1, 2, 1,
+ 1, 1, 1, 4, 5, 1, 3, 3, 1, 3,
+ 3, 5, 6, 1, 3, 1, 2, 4, 5, 1,
1, 1, 1, 3, 3, 2, 2, 1, 2, 2,
2, 1, 2, 2, 1, 1, 1, 3, 2, 0,
2, 1, 3, 5, 1, 2, 1, 0, 5, 7,
5, 7, 5, 7, 3, 5, 5, 5, 1, 3,
2, 1, 2, 1, 2, 11, 10, 10, 2, 2,
0, 9, 2, 0, 4, 4, 4, 1, 1, 1,
- 0, 7, 6, 6, 6, 6, 8, 8, 6, 6,
+ 0, 8, 8, 8, 9, 11, 11, 11, 12, 5,
+ 5, 7, 6, 6, 6, 6, 8, 8, 6, 6,
7, 9, 9, 6, 6, 6, 8, 6, 8, 6,
- 8, 6, 8, 7, 9, 8, 10, 8, 9, 11,
- 8, 6, 6, 6, 5, 5, 8, 8, 8, 8,
- 6, 9, 1, 0, 2, 0, 7, 6, 6, 6,
- 6, 6, 7, 9, 9, 6, 8, 8, 8, 8,
- 8, 6, 8, 6, 8, 7, 9, 6, 7, 6,
- 6, 6, 6, 6, 7, 7, 7, 9, 9, 6,
- 6, 6, 8, 8, 8, 6, 13, 1, 1, 3,
- 3, 1, 1, 1, 1, 1, 1, 1, 0, 1,
- 1, 1, 1, 1, 1, 0, 6, 8, 3, 2,
- 0, 2, 2, 2, 2, 3, 3, 2, 2, 2,
- 2, 3, 2, 5, 4, 3, 3, 3, 1, 1,
- 0, 3, 2, 2, 1, 2, 1, 3, 2, 1,
- 0, 9, 11, 3, 4, 4, 0, 2, 5, 2,
- 0, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 4, 3, 3, 1, 0, 5,
- 6, 4, 2, 0, 4, 3, 5, 6, 4, 6,
+ 8, 7, 9, 6, 8, 7, 9, 8, 10, 9,
+ 11, 8, 9, 11, 8, 8, 7, 6, 6, 6,
+ 8, 8, 8, 8, 6, 9, 1, 0, 2, 0,
+ 7, 6, 6, 6, 6, 6, 7, 9, 9, 6,
+ 8, 8, 8, 8, 8, 6, 8, 6, 8, 7,
+ 9, 7, 9, 6, 7, 6, 6, 6, 6, 6,
+ 7, 7, 7, 9, 9, 6, 6, 6, 8, 8,
+ 8, 6, 7, 13, 1, 1, 3, 3, 1, 1,
+ 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
+ 1, 1, 0, 6, 8, 3, 2, 0, 2, 2,
+ 2, 2, 3, 3, 2, 2, 2, 2, 3, 2,
+ 5, 4, 3, 3, 3, 1, 1, 0, 3, 2,
+ 2, 1, 2, 1, 3, 2, 1, 0, 9, 11,
+ 12, 14, 3, 4, 4, 0, 2, 5, 2, 0,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 4, 3, 3, 1, 0, 5, 6,
+ 4, 2, 0, 4, 3, 5, 4, 6, 4, 6,
6, 5, 7, 9, 6, 1, 0, 6, 11, 11,
11, 13, 9, 11, 10, 4, 2, 5, 2, 0,
4, 5, 5, 4, 6, 1, 3, 1, 1, 1,
1, 2, 4, 1, 1, 1, 0, 1, 0, 1,
0, 3, 0, 2, 4, 3, 5, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 2, 1, 1, 1,
- 1, 1, 0, 5, 3, 0, 1, 1, 1, 1,
- 3, 9, 3, 0, 2, 3, 2, 3, 6, 1,
- 4, 2, 1, 3, 2, 2, 0, 7, 2, 0,
- 5, 3, 0, 2, 2, 2, 3, 1, 3, 1,
- 2, 1, 0, 8, 1, 3, 1, 1, 3, 5,
- 2, 1, 3, 7, 1, 0, 3, 2, 2, 2,
- 0, 2, 2, 1, 1, 3, 3, 1, 2, 4,
- 4, 2, 3, 5, 5, 1, 1, 9, 1, 2,
- 4, 4, 4, 2, 3, 1, 3, 6, 1, 0,
- 2, 0, 3, 3, 4, 4, 4, 4, 3, 2,
- 1, 1, 0, 1, 1, 0, 1, 5, 1, 0,
- 1, 0, 3, 1, 3, 4, 3, 2, 2, 1,
- 1, 1, 0, 2, 4, 5, 2, 3, 1, 1,
- 1, 1, 3, 0, 1, 1, 1, 1, 1, 3,
- 0, 2, 0, 1, 3, 1, 0, 1, 2, 4,
- 4, 2, 0, 2, 3, 2, 0, 1, 3, 1,
- 2, 1, 2, 5, 6, 5, 1, 2, 1, 4,
+ 1, 1, 1, 1, 1, 1, 1, 3, 2, 1,
+ 1, 1, 1, 0, 5, 3, 0, 1, 1, 1,
+ 1, 3, 9, 3, 0, 2, 3, 2, 3, 6,
+ 1, 4, 2, 1, 3, 2, 2, 0, 7, 2,
+ 0, 5, 3, 0, 2, 2, 2, 3, 1, 3,
+ 1, 2, 1, 0, 8, 1, 3, 1, 1, 3,
+ 5, 2, 1, 3, 7, 1, 0, 3, 2, 2,
+ 2, 0, 2, 2, 1, 1, 3, 3, 1, 2,
+ 4, 4, 2, 3, 5, 5, 1, 1, 9, 1,
+ 2, 4, 4, 4, 2, 3, 1, 3, 6, 1,
+ 0, 2, 0, 3, 3, 4, 4, 4, 4, 3,
+ 2, 1, 1, 0, 1, 1, 0, 1, 5, 1,
+ 0, 1, 0, 3, 1, 3, 4, 3, 2, 2,
+ 1, 1, 1, 0, 2, 4, 5, 2, 3, 1,
+ 1, 1, 1, 3, 0, 1, 1, 1, 1, 1,
+ 3, 0, 2, 0, 1, 3, 1, 0, 1, 2,
+ 3, 2, 4, 2, 3, 2, 0, 2, 3, 2,
+ 0, 1, 3, 2, 2, 3, 2, 3, 1, 4,
3, 4, 5, 4, 5, 4, 5, 2, 4, 1,
- 2, 2, 2, 1, 1, 0, 4, 2, 1, 2,
- 2, 4, 1, 3, 1, 2, 3, 1, 2, 0,
- 2, 4, 0, 1, 0, 1, 3, 3, 2, 3,
- 5, 6, 2, 3, 3, 4, 0, 1, 1, 1,
- 1, 1, 2, 5, 1, 1, 1, 1, 2, 3,
- 3, 0, 1, 1, 1, 1, 1, 2, 2, 2,
- 2, 2, 1, 3, 0, 1, 1, 1, 1, 5,
- 2, 1, 1, 1, 1, 5, 2, 2, 2, 1,
- 3, 3, 2, 1, 0, 3, 0, 5, 2, 5,
- 2, 1, 2, 3, 0, 1, 1, 1, 1, 1,
- 1, 3, 3, 3, 3, 3, 3, 3, 0, 1,
- 4, 1, 3, 3, 5, 2, 2, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 2, 2, 3,
- 3, 2, 3, 5, 4, 6, 3, 5, 4, 6,
- 4, 6, 5, 7, 3, 2, 4, 2, 3, 3,
- 4, 3, 4, 3, 4, 5, 6, 6, 7, 6,
- 7, 6, 7, 3, 4, 4, 6, 2, 3, 4,
- 1, 3, 2, 2, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 2, 2, 5, 6, 6, 7,
- 3, 4, 1, 1, 2, 4, 1, 1, 1, 2,
- 2, 2, 2, 1, 4, 5, 6, 8, 6, 7,
- 7, 5, 5, 1, 1, 4, 1, 4, 1, 4,
- 1, 4, 1, 1, 1, 1, 1, 1, 6, 4,
- 4, 4, 4, 6, 5, 5, 5, 4, 6, 4,
- 4, 4, 4, 5, 7, 7, 9, 5, 4, 6,
- 5, 7, 7, 7, 2, 3, 3, 3, 4, 0,
- 4, 1, 3, 3, 1, 1, 1, 2, 2, 0,
- 2, 4, 4, 6, 2, 0, 1, 3, 3, 2,
- 2, 0, 6, 1, 0, 3, 0, 2, 2, 0,
- 1, 4, 2, 2, 2, 2, 2, 4, 3, 5,
+ 1, 0, 1, 4, 5, 4, 0, 2, 2, 2,
+ 1, 1, 0, 4, 2, 1, 2, 2, 4, 1,
+ 3, 1, 2, 3, 2, 6, 2, 1, 3, 4,
+ 0, 1, 0, 2, 0, 2, 4, 0, 1, 0,
+ 1, 3, 3, 2, 3, 5, 6, 2, 3, 3,
+ 4, 0, 1, 1, 1, 1, 1, 2, 5, 1,
+ 1, 1, 1, 2, 3, 3, 0, 1, 1, 1,
+ 1, 1, 2, 2, 2, 2, 2, 1, 3, 0,
+ 1, 1, 1, 1, 5, 2, 1, 1, 1, 1,
+ 5, 2, 2, 2, 1, 3, 3, 2, 1, 0,
+ 3, 0, 5, 2, 5, 2, 1, 2, 3, 0,
+ 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
+ 3, 3, 3, 0, 1, 4, 1, 3, 3, 5,
+ 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 2, 2, 3, 3, 2, 3, 5, 4,
+ 6, 3, 5, 4, 6, 4, 6, 5, 7, 3,
+ 2, 4, 2, 3, 3, 4, 3, 4, 3, 4,
+ 5, 6, 6, 7, 6, 7, 6, 7, 3, 4,
+ 4, 6, 2, 3, 4, 1, 3, 2, 2, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
+ 2, 5, 6, 6, 7, 3, 4, 1, 1, 2,
+ 4, 1, 1, 1, 2, 2, 2, 2, 1, 3,
+ 5, 6, 8, 6, 6, 4, 4, 1, 1, 1,
+ 5, 1, 1, 4, 1, 4, 1, 4, 1, 4,
+ 1, 1, 1, 1, 1, 1, 6, 4, 4, 4,
+ 4, 6, 5, 5, 5, 4, 6, 4, 4, 4,
+ 4, 5, 7, 7, 9, 5, 4, 6, 5, 7,
+ 7, 7, 2, 3, 3, 3, 4, 0, 4, 1,
+ 3, 3, 1, 1, 1, 2, 2, 0, 2, 4,
+ 4, 6, 5, 0, 5, 0, 2, 0, 1, 3,
+ 3, 2, 2, 0, 6, 1, 0, 3, 0, 2,
+ 2, 0, 1, 4, 2, 2, 2, 2, 2, 4,
+ 3, 5, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 4, 1, 4,
+ 1, 4, 1, 2, 1, 2, 1, 3, 1, 3,
+ 1, 3, 1, 3, 3, 3, 2, 1, 3, 3,
+ 0, 1, 1, 1, 1, 1, 1, 1, 1, 4,
+ 3, 2, 3, 0, 3, 3, 2, 2, 1, 0,
+ 2, 2, 3, 2, 1, 1, 3, 5, 1, 2,
+ 4, 2, 0, 1, 0, 1, 2, 2, 2, 3,
+ 5, 1, 2, 0, 2, 1, 0, 1, 1, 1,
+ 3, 3, 1, 0, 1, 3, 3, 2, 1, 1,
+ 1, 3, 1, 2, 1, 3, 1, 1, 1, 1,
+ 1, 1, 1, 2, 1, 1, 1, 1, 1, 2,
+ 6, 2, 3, 6, 1, 1, 1, 1, 1, 1,
+ 1, 3, 1, 2, 2, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 4, 1, 4, 1, 4,
- 1, 2, 1, 2, 1, 3, 1, 3, 1, 3,
- 1, 3, 3, 3, 2, 1, 3, 3, 0, 1,
- 1, 1, 1, 1, 1, 1, 1, 4, 3, 2,
- 3, 0, 3, 3, 2, 2, 1, 0, 2, 2,
- 3, 2, 1, 1, 3, 5, 1, 2, 4, 2,
- 0, 1, 0, 1, 2, 2, 2, 3, 5, 1,
- 2, 0, 2, 1, 0, 1, 1, 1, 3, 3,
- 1, 3, 3, 2, 1, 1, 1, 3, 1, 2,
- 1, 3, 1, 1, 1, 1, 1, 1, 1, 2,
- 1, 1, 1, 1, 1, 2, 5, 2, 3, 6,
- 1, 1, 1, 1, 1, 1, 1, 2, 2, 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,
@@ -3502,7 +3669,7 @@ static const yytype_uint8 yyr2[] =
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
};
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@@ -3510,11854 +3677,10997 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 1329, 1130, 511, 1214, 1213, 1130, 232, 0, 1216, 0,
- 1130, 340, 908, 0, 0, 0, 0, 511, 1130, 0,
- 1329, 0, 0, 0, 0, 1342, 0, 0, 0, 0,
- 0, 0, 0, 0, 1130, 0, 0, 1349, 0, 0,
- 0, 0, 1342, 0, 1218, 0, 0, 0, 0, 2,
- 4, 56, 57, 23, 22, 28, 27, 79, 80, 46,
- 16, 70, 51, 112, 111, 113, 34, 30, 64, 20,
- 21, 31, 35, 53, 36, 52, 19, 50, 74, 54,
- 77, 41, 10, 11, 42, 68, 12, 43, 69, 13,
- 44, 14, 58, 81, 26, 55, 78, 37, 66, 62,
- 9, 47, 48, 49, 71, 72, 73, 95, 76, 107,
- 33, 104, 85, 86, 101, 87, 102, 7, 88, 45,
- 15, 98, 97, 99, 65, 38, 67, 96, 100, 17,
- 18, 103, 75, 93, 90, 108, 106, 114, 91, 59,
- 5, 6, 82, 40, 8, 25, 24, 39, 32, 110,
- 29, 1216, 84, 94, 83, 60, 89, 63, 92, 109,
- 61, 105, 1316, 1303, 1351, 1315, 1328, 0, 1318, 1129,
- 1128, 1114, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 510, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1140, 1849,
- 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 315, 1868,
- 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 2110,
- 2111, 2112, 2113, 1878, 1879, 1880, 1881, 1882, 1883, 1884,
- 2114, 2115, 1885, 1886, 1887, 1888, 1889, 2116, 1890, 1891,
- 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901,
- 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 2117, 2118,
- 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919,
- 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929,
- 1930, 1931, 1932, 1933, 2119, 1934, 1935, 1936, 2120, 1937,
- 1938, 2121, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 2122,
- 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955,
- 1956, 1957, 1958, 1959, 1960, 1961, 2123, 1962, 1963, 1964,
- 1965, 2124, 2125, 2126, 1966, 1967, 1968, 1969, 1970, 1971,
- 1972, 1973, 1974, 1975, 2127, 1976, 1977, 1978, 1979, 1980,
- 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990,
- 1991, 2128, 2129, 1992, 1993, 2130, 1994, 1995, 1996, 2131,
- 1997, 2132, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2133,
- 2134, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2135,
- 2013, 2136, 2016, 2014, 2015, 2017, 2018, 2019, 2020, 2021,
- 2022, 2023, 2137, 2024, 2025, 2026, 2027, 2028, 2029, 2030,
- 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040,
- 2041, 2138, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049,
- 2050, 2051, 2052, 2053, 2054, 2055, 2139, 2056, 2057, 2058,
- 2140, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067,
- 2068, 2069, 2141, 2070, 2071, 2072, 2073, 2074, 2075, 2076,
- 2077, 2142, 2143, 2078, 2144, 2079, 2145, 2080, 2081, 2082,
- 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092,
- 2093, 2094, 2095, 2096, 2146, 2147, 2097, 2098, 2099, 2100,
- 2101, 2102, 2103, 2104, 2105, 2106, 2148, 2149, 2150, 2151,
- 2152, 2153, 2154, 2155, 2156, 2107, 2108, 2109, 314, 1294,
- 1822, 1850, 1851, 1215, 1196, 511, 0, 1117, 339, 0,
- 0, 0, 0, 0, 0, 0, 0, 691, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
- 363, 362, 0, 0, 0, 880, 368, 0, 0, 0,
- 0, 499, 1256, 2014, 1254, 1295, 233, 236, 234, 235,
- 1844, 0, 980, 981, 983, 0, 0, 993, 724, 725,
- 0, 723, 727, 0, 0, 0, 720, 0, 0, 0,
- 0, 726, 718, 0, 717, 0, 0, 0, 722, 0,
- 719, 0, 0, 1118, 1253, 369, 1329, 0, 1232, 1216,
- 1223, 1233, 1228, 1230, 1229, 1231, 1227, 1843, 1861, 819,
- 819, 819, 819, 816, 817, 819, 819, 819, 2029, 0,
- 0, 798, 0, 800, 1846, 819, 824, 424, 424, 424,
- 0, 823, 828, 424, 1111, 1147, 1827, 1341, 0, 799,
- 1110, 2078, 1245, 0, 0, 997, 0, 998, 0, 2044,
- 1122, 217, 2054, 2142, 2078, 213, 187, 1865, 0, 0,
- 823, 0, 1119, 1120, 784, 1348, 1346, 0, 1883, 1896,
- 1979, 210, 2040, 2045, 2054, 2142, 2078, 2106, 167, 172,
- 0, 226, 2054, 2142, 2078, 222, 1140, 0, 1319, 1428,
- 1818, 0, 1113, 1112, 1217, 0, 1220, 0, 1393, 2026,
- 1323, 1325, 1222, 1316, 0, 0, 1, 1329, 1211, 1345,
- 1345, 0, 1345, 0, 1308, 1316, 1311, 1315, 0, 0,
- 0, 0, 1849, 2157, 2158, 2159, 2160, 2161, 2162, 2163,
- 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173,
- 2174, 2175, 2176, 2177, 2178, 2179, 0, 0, 1828, 1850,
- 1854, 0, 734, 0, 118, 1823, 868, 0, 0, 0,
- 1822, 0, 0, 0, 0, 0, 1845, 1951, 0, 0,
- 1723, 1887, 1937, 1733, 1731, 1732, 1725, 1726, 1727, 1728,
- 1729, 1730, 0, 978, 1724, 0, 118, 0, 1951, 0,
- 0, 1951, 0, 0, 0, 0, 0, 1982, 118, 1951,
- 0, 0, 1134, 0, 0, 0, 1136, 1139, 1115, 1199,
- 0, 1818, 0, 0, 768, 759, 0, 769, 760, 765,
- 771, 0, 0, 762, 0, 0, 772, 0, 761, 763,
- 774, 764, 770, 0, 0, 766, 767, 0, 0, 1126,
- 424, 0, 0, 0, 0, 0, 0, 118, 1186, 1951,
- 118, 0, 0, 367, 366, 118, 365, 364, 1887, 1937,
- 0, 907, 118, 0, 160, 579, 514, 0, 0, 650,
- 1982, 118, 0, 0, 0, 0, 883, 0, 0, 498,
- 511, 1257, 1255, 0, 984, 212, 211, 982, 1951, 0,
- 293, 0, 0, 1951, 1175, 0, 721, 1951, 0, 1951,
- 153, 1820, 0, 1887, 1937, 1951, 0, 0, 1951, 145,
- 1951, 0, 1951, 293, 1951, 515, 0, 1951, 0, 1951,
- 1982, 147, 0, 1951, 293, 732, 0, 1250, 0, 1225,
- 2146, 1239, 1238, 0, 1234, 1242, 1237, 1329, 819, 818,
- 0, 819, 0, 819, 0, 819, 0, 819, 0, 0,
- 0, 819, 1847, 1848, 801, 0, 825, 0, 0, 832,
- 831, 830, 0, 0, 0, 833, 1432, 1272, 0, 1108,
- 1125, 0, 0, 0, 1000, 1000, 1000, 1121, 216, 214,
- 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0,
- 0, 1831, 1833, 1834, 1734, 1801, 0, 2111, 2112, 2113,
- 1792, 0, 2114, 2115, 2116, 2159, 1646, 1633, 1642, 1647,
- 1634, 1636, 1643, 2117, 2118, 1922, 2119, 2120, 1841, 2121,
- 2122, 2124, 2125, 2126, 2127, 1638, 1640, 2128, 2129, 0,
- 1842, 2131, 2132, 2002, 2134, 2135, 2137, 2138, 1644, 2140,
- 2141, 2142, 2143, 2144, 2145, 1840, 0, 1645, 2147, 2149,
- 2150, 2151, 2152, 2153, 2154, 2155, 2156, 0, 0, 1815,
- 0, 1618, 0, 1464, 1465, 1487, 1488, 1466, 1493, 1494,
- 1506, 1467, 0, 1814, 1531, 1617, 1623, 0, 1616, 1612,
- 1331, 1810, 0, 1613, 1830, 1832, 1793, 179, 228, 0,
- 229, 1816, 2054, 168, 209, 181, 208, 182, 180, 0,
- 1885, 169, 0, 0, 170, 0, 0, 0, 0, 225,
- 223, 0, 1116, 0, 1430, 1429, 0, 0, 1799, 1819,
- 741, 1209, 1210, 1208, 0, 1205, 1207, 1219, 1216, 1806,
- 1805, 1807, 0, 1324, 0, 0, 0, 1306, 1305, 3,
- 1222, 1343, 1344, 0, 0, 0, 0, 0, 0, 0,
- 0, 1386, 1359, 1360, 1362, 1383, 1387, 0, 1312, 0,
- 0, 1434, 0, 1394, 0, 0, 1829, 0, 0, 0,
- 0, 735, 0, 0, 0, 0, 0, 0, 117, 1173,
- 219, 1171, 0, 0, 0, 0, 0, 0, 0, 1178,
- 0, 151, 152, 526, 511, 0, 1951, 0, 0, 0,
- 0, 940, 947, 0, 0, 0, 0, 0, 0, 0,
- 941, 939, 942, 221, 951, 964, 967, 0, 858, 0,
- 0, 0, 0, 1043, 0, 0, 1043, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 239, 245,
- 288, 491, 0, 0, 493, 0, 0, 0, 0, 0,
- 0, 0, 122, 0, 0, 0, 0, 0, 478, 490,
- 0, 0, 0, 0, 0, 487, 0, 118, 241, 471,
- 475, 0, 0, 0, 588, 587, 0, 1043, 0, 237,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 307, 308, 0, 0, 0,
- 122, 144, 0, 0, 0, 243, 0, 0, 1135, 1132,
- 1133, 0, 1138, 0, 1195, 0, 0, 0, 0, 0,
- 773, 0, 0, 1887, 1937, 0, 0, 0, 0, 0,
- 0, 342, 321, 322, 118, 320, 0, 0, 647, 0,
- 1852, 1475, 1504, 1482, 1504, 1504, 1471, 1471, 1484, 1472,
- 1473, 1511, 0, 1504, 1471, 1476, 0, 1474, 1514, 1514,
- 1499, 0, 1456, 1457, 1458, 1459, 1485, 1486, 1460, 1491,
- 1492, 1461, 1528, 1471, 1853, 0, 0, 658, 0, 1150,
- 1185, 0, 0, 520, 0, 1951, 0, 120, 692, 0,
- 648, 0, 120, 0, 156, 0, 583, 0, 0, 0,
- 0, 0, 0, 608, 607, 0, 0, 0, 649, 0,
- 120, 474, 1951, 0, 424, 424, 0, 882, 885, 0,
- 0, 0, 1298, 1300, 1299, 0, 1297, 0, 293, 291,
- 292, 645, 992, 0, 0, 0, 0, 293, 0, 0,
- 1951, 293, 1951, 0, 1951, 0, 0, 293, 293, 0,
- 0, 0, 0, 584, 0, 731, 729, 728, 730, 0,
- 0, 0, 0, 0, 1951, 293, 0, 0, 714, 1744,
- 0, 0, 1329, 0, 198, 199, 197, 1240, 200, 1241,
- 1236, 1224, 0, 809, 0, 813, 0, 804, 0, 810,
- 0, 805, 802, 803, 0, 808, 0, 0, 425, 427,
- 0, 0, 1907, 1921, 0, 1942, 1970, 1971, 2045, 2050,
- 0, 2073, 2082, 0, 834, 863, 829, 0, 0, 1282,
- 1109, 1750, 0, 1329, 0, 999, 996, 995, 994, 215,
- 188, 0, 0, 0, 865, 2044, 1124, 783, 511, 0,
- 1614, 0, 1621, 1622, 1503, 1490, 1791, 0, 0, 1498,
- 1497, 0, 0, 0, 0, 0, 1480, 1479, 1478, 1620,
- 1758, 0, 1477, 0, 0, 0, 0, 1504, 1504, 1502,
- 1551, 0, 1481, 0, 0, 1771, 0, 1777, 0, 0,
- 0, 1510, 0, 1508, 0, 0, 1587, 0, 0, 0,
- 0, 0, 0, 0, 0, 1535, 1536, 1618, 1744, 0,
- 1619, 1837, 0, 0, 1496, 0, 1528, 1813, 1734, 0,
- 0, 0, 0, 1804, 0, 1742, 0, 0, 1565, 1740,
- 0, 1567, 0, 0, 0, 1733, 1731, 1732, 1725, 1726,
- 1727, 1728, 1729, 1730, 1738, 1548, 0, 0, 1547, 0,
- 0, 1396, 0, 1835, 1794, 230, 231, 227, 0, 0,
- 184, 183, 0, 202, 206, 207, 178, 205, 0, 201,
- 186, 1686, 1685, 185, 177, 175, 173, 189, 191, 192,
- 176, 174, 224, 0, 0, 1855, 2180, 2181, 2182, 2183,
- 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193,
- 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203,
- 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213,
- 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223,
- 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233,
- 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243,
- 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253,
- 2254, 2255, 1796, 1795, 1825, 1856, 1857, 1858, 1859, 1800,
- 0, 0, 293, 1203, 0, 1200, 1809, 0, 1326, 0,
- 0, 1212, 1322, 1321, 1352, 1353, 900, 1320, 1377, 1378,
- 1373, 0, 1392, 1392, 1369, 1363, 1368, 1366, 0, 1370,
- 1531, 1385, 1310, 1357, 1358, 1361, 1309, 0, 1388, 1386,
- 1362, 1269, 0, 0, 1435, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 736, 0, 0, 0, 0, 0,
- 0, 2073, 218, 1169, 0, 0, 0, 0, 867, 866,
- 0, 0, 887, 0, 0, 0, 1181, 413, 0, 290,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 524,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 558, 0, 1043, 0,
- 596, 0, 949, 0, 948, 0, 0, 0, 950, 945,
- 946, 2045, 2054, 2078, 220, 966, 0, 965, 963, 922,
- 924, 923, 0, 926, 910, 0, 911, 0, 0, 921,
- 929, 927, 0, 0, 0, 0, 1930, 247, 260, 0,
- 1042, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 280, 0, 283, 282, 0, 0, 0, 0, 287,
- 0, 0, 0, 286, 0, 0, 492, 0, 0, 0,
- 0, 0, 0, 0, 979, 0, 0, 139, 142, 0,
- 0, 0, 477, 489, 0, 481, 482, 479, 483, 484,
- 0, 0, 0, 0, 0, 0, 476, 0, 0, 581,
- 580, 586, 0, 0, 0, 0, 0, 0, 0, 1035,
- 1034, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 599, 600, 0, 601, 0,
- 143, 0, 0, 0, 0, 0, 0, 0, 196, 1131,
- 1137, 1198, 1826, 1197, 0, 0, 0, 775, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 326, 1852, 0, 673, 646, 0,
- 1456, 0, 1452, 1448, 1517, 1518, 1519, 1516, 1529, 1515,
- 0, 1462, 1520, 1471, 1468, 659, 0, 661, 664, 0,
- 1148, 386, 0, 517, 558, 0, 0, 0, 149, 0,
- 0, 0, 116, 160, 369, 0, 159, 161, 163, 164,
- 165, 162, 166, 578, 582, 0, 513, 0, 0, 0,
- 0, 0, 609, 613, 612, 616, 614, 0, 610, 0,
- 0, 1444, 0, 138, 470, 473, 0, 0, 0, 371,
- 455, 300, 0, 0, 884, 0, 0, 0, 0, 0,
- 0, 0, 1296, 0, 970, 0, 1176, 1951, 293, 0,
- 968, 154, 1821, 0, 715, 0, 0, 0, 0, 0,
- 972, 711, 146, 0, 293, 293, 516, 0, 293, 148,
- 0, 0, 0, 508, 293, 733, 1252, 0, 424, 1226,
- 1235, 806, 815, 814, 812, 811, 807, 0, 826, 0,
- 423, 0, 0, 0, 840, 841, 0, 0, 839, 856,
- 842, 0, 844, 836, 835, 845, 846, 0, 0, 865,
- 0, 1279, 0, 1277, 0, 1433, 1281, 1270, 1244, 0,
- 1243, 1247, 1249, 1248, 1246, 0, 0, 0, 823, 0,
- 0, 293, 1123, 0, 785, 786, 791, 0, 0, 0,
- 792, 788, 789, 790, 793, 794, 795, 0, 0, 0,
- 1802, 1754, 0, 1755, 0, 0, 0, 1790, 1786, 0,
- 0, 0, 0, 0, 0, 1759, 1762, 1763, 1764, 1761,
- 1765, 1760, 0, 0, 1766, 0, 0, 0, 0, 0,
- 1501, 1500, 0, 0, 0, 0, 0, 0, 0, 1590,
- 1623, 0, 0, 1718, 0, 1744, 1776, 0, 0, 1512,
- 0, 0, 0, 0, 0, 0, 0, 1744, 1782, 0,
- 0, 0, 0, 1684, 0, 1681, 0, 0, 0, 0,
- 1801, 0, 0, 0, 0, 1838, 1532, 1549, 1812, 0,
- 1803, 0, 0, 1533, 1556, 0, 1783, 1583, 0, 1588,
- 1571, 0, 1564, 0, 1569, 1573, 1552, 1804, 1743, 0,
- 1741, 0, 0, 1550, 0, 1545, 1543, 1544, 1537, 1538,
- 1539, 1540, 1541, 1542, 1546, 1722, 1720, 1721, 0, 0,
- 0, 1568, 1944, 1979, 0, 1342, 1342, 1342, 1330, 1340,
- 1811, 0, 1439, 0, 0, 0, 0, 1701, 0, 1748,
- 0, 1746, 1828, 1817, 0, 0, 1528, 0, 1431, 1797,
- 0, 739, 740, 738, 1222, 1206, 1202, 1201, 1808, 1221,
- 1329, 0, 898, 899, 0, 903, 0, 0, 1371, 1384,
- 0, 1282, 1282, 0, 1375, 1376, 1367, 1314, 1313, 0,
- 1442, 0, 0, 1266, 1259, 1436, 0, 1396, 1284, 1286,
- 1287, 0, 1801, 671, 670, 0, 0, 0, 1069, 1002,
- 1047, 737, 1070, 1003, 1048, 1071, 1004, 1170, 0, 1172,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 634, 1951, 293, 1179, 1072, 0,
- 1005, 289, 1180, 1049, 1184, 1050, 0, 525, 0, 0,
- 530, 531, 532, 0, 0, 533, 1887, 1937, 0, 538,
- 544, 548, 539, 0, 549, 545, 0, 0, 0, 0,
- 0, 0, 555, 562, 0, 0, 0, 0, 0, 0,
- 943, 944, 1073, 1008, 0, 1051, 925, 1471, 909, 0,
- 0, 920, 0, 919, 1471, 1471, 1009, 150, 0, 240,
- 248, 564, 1045, 266, 279, 274, 275, 273, 1951, 293,
- 1951, 293, 0, 0, 0, 0, 276, 271, 272, 268,
- 281, 1864, 1923, 2055, 0, 568, 570, 0, 575, 284,
- 1021, 0, 301, 304, 285, 264, 267, 265, 261, 246,
- 0, 0, 1824, 0, 0, 974, 0, 0, 0, 141,
- 1031, 131, 0, 0, 127, 0, 0, 0, 0, 121,
- 1079, 1013, 0, 0, 242, 472, 480, 485, 1017, 488,
- 1061, 486, 1085, 1014, 1043, 0, 238, 0, 1015, 0,
- 1055, 1081, 1033, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1187, 0, 0, 0, 0, 0, 293, 0,
- 680, 1045, 1951, 293, 1080, 0, 1040, 1067, 0, 309,
- 0, 1032, 0, 0, 244, 1019, 1063, 0, 0, 194,
- 193, 195, 0, 0, 0, 0, 0, 0, 0, 0,
- 777, 748, 776, 0, 0, 0, 0, 0, 0, 0,
- 742, 341, 318, 319, 0, 0, 317, 323, 0, 672,
- 0, 0, 1453, 1449, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1469, 660, 0, 0, 0, 0, 1168,
- 1168, 1168, 1168, 1168, 1168, 1168, 1149, 1177, 118, 0,
- 0, 0, 519, 557, 564, 0, 592, 595, 0, 593,
- 0, 0, 0, 0, 0, 132, 119, 0, 700, 424,
- 155, 0, 0, 0, 512, 657, 655, 654, 656, 0,
- 0, 0, 677, 653, 0, 1443, 1445, 0, 0, 0,
- 469, 373, 0, 0, 370, 374, 378, 379, 380, 427,
- 0, 0, 459, 0, 0, 0, 0, 914, 0, 932,
- 915, 0, 0, 0, 954, 959, 955, 935, 0, 496,
- 1301, 1302, 0, 293, 0, 0, 559, 293, 293, 0,
- 293, 0, 293, 293, 0, 1106, 585, 0, 642, 0,
- 0, 293, 713, 1745, 827, 426, 0, 0, 0, 0,
- 838, 0, 494, 843, 0, 855, 850, 852, 0, 859,
- 1280, 1273, 1275, 1274, 0, 0, 1271, 1751, 712, 0,
- 0, 293, 0, 860, 0, 787, 0, 0, 0, 0,
- 1347, 1752, 1753, 0, 0, 0, 0, 1787, 0, 0,
- 1659, 0, 1635, 1637, 1470, 1649, 0, 1483, 1660, 1661,
- 1639, 1641, 0, 1735, 0, 0, 1650, 1592, 1593, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1605, 1604, 1651, 1717, 0, 0, 1774, 1775,
- 1652, 1513, 1514, 1514, 0, 0, 1781, 0, 0, 0,
- 1657, 1662, 0, 0, 0, 0, 1668, 0, 1689, 0,
- 0, 0, 1615, 1745, 1505, 1506, 0, 0, 0, 0,
- 0, 0, 0, 0, 1589, 1572, 1566, 0, 1570, 1574,
- 0, 0, 0, 0, 1558, 1584, 1554, 0, 0, 1560,
- 0, 1585, 1342, 1342, 1342, 1342, 1339, 0, 0, 0,
- 0, 1406, 1395, 1397, 1408, 1399, 1401, 1437, 0, 1818,
- 0, 1380, 1351, 1351, 0, 1701, 0, 1624, 0, 1701,
- 0, 0, 171, 0, 203, 190, 0, 1204, 0, 1354,
- 0, 1736, 903, 901, 902, 1356, 0, 0, 1391, 1390,
- 1389, 1364, 1268, 0, 1266, 1261, 0, 1262, 1801, 0,
- 1258, 1291, 0, 0, 1442, 0, 1290, 1068, 1001, 1046,
- 1168, 870, 871, 0, 869, 0, 0, 0, 412, 886,
- 0, 0, 0, 634, 0, 0, 416, 0, 1182, 0,
- 527, 528, 0, 0, 546, 0, 0, 535, 0, 0,
- 0, 0, 534, 551, 500, 552, 554, 0, 0, 553,
- 556, 561, 1043, 0, 597, 1023, 0, 1065, 937, 0,
- 1471, 912, 917, 918, 0, 0, 0, 386, 0, 0,
- 0, 249, 259, 0, 0, 263, 0, 257, 277, 269,
- 278, 270, 572, 573, 571, 567, 0, 574, 576, 298,
- 0, 0, 0, 1075, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1076, 1052, 0, 0, 124,
- 123, 0, 130, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 310, 295, 0, 0, 0,
- 0, 0, 312, 0, 0, 0, 0, 1074, 1010, 743,
- 0, 0, 744, 752, 0, 0, 745, 0, 0, 0,
- 0, 0, 0, 754, 344, 0, 347, 354, 327, 331,
- 1186, 0, 1186, 0, 332, 1186, 328, 1186, 325, 2002,
- 1725, 1726, 668, 675, 665, 667, 669, 666, 0, 674,
- 634, 0, 0, 0, 1454, 0, 1522, 1523, 1524, 1525,
- 1526, 1527, 0, 1521, 1528, 662, 663, 0, 1168, 1167,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 398, 0, 0, 392, 0, 0, 959, 385, 388,
- 389, 520, 523, 521, 522, 550, 0, 591, 0, 564,
- 134, 0, 0, 135, 133, 0, 300, 369, 0, 0,
- 615, 618, 611, 0, 676, 678, 651, 0, 564, 0,
- 1253, 0, 465, 0, 455, 405, 451, 0, 453, 452,
- 454, 0, 461, 299, 0, 0, 887, 913, 0, 0,
- 0, 952, 956, 953, 0, 0, 928, 0, 936, 906,
- 1101, 1102, 1099, 1100, 0, 0, 1293, 971, 0, 293,
- 969, 716, 0, 707, 0, 709, 973, 293, 293, 602,
- 0, 509, 0, 0, 0, 837, 857, 0, 853, 0,
- 0, 820, 862, 1278, 1276, 865, 0, 821, 864, 0,
- 0, 0, 0, 0, 1756, 1489, 0, 1789, 1785, 0,
- 1632, 1757, 0, 1769, 1768, 1591, 1770, 0, 1610, 0,
- 0, 1602, 1600, 1601, 1594, 1595, 1596, 1597, 1598, 1599,
- 1603, 1779, 1778, 1772, 1773, 1509, 1507, 0, 1654, 1655,
- 1656, 1780, 1663, 0, 1878, 1690, 1667, 1683, 1682, 0,
- 0, 0, 1670, 0, 0, 1679, 0, 1719, 1495, 1528,
- 1534, 0, 0, 1557, 1784, 1575, 0, 0, 0, 1553,
- 0, 0, 0, 0, 1562, 1735, 0, 0, 0, 0,
- 0, 0, 1333, 1332, 1338, 1316, 0, 1408, 0, 1407,
- 1419, 0, 0, 1425, 1423, 0, 1425, 0, 1425, 0,
- 1400, 0, 1402, 1419, 0, 1819, 1438, 0, 1382, 0,
- 0, 1350, 0, 1701, 1631, 1704, 1699, 1700, 1749, 1625,
- 1836, 0, 1747, 1701, 0, 1798, 1327, 0, 1355, 1372,
- 1365, 1903, 1440, 1267, 0, 0, 1264, 1265, 0, 0,
- 1285, 1266, 1288, 0, 876, 877, 875, 878, 0, 0,
- 0, 634, 0, 0, 432, 0, 894, 894, 0, 0,
- 418, 464, 959, 637, 0, 0, 0, 635, 293, 1006,
- 0, 547, 0, 0, 543, 541, 540, 542, 501, 1084,
- 1007, 0, 0, 0, 0, 938, 0, 930, 1022, 0,
- 383, 0, 254, 1044, 0, 0, 0, 253, 0, 293,
- 293, 569, 302, 303, 306, 0, 0, 0, 0, 0,
- 0, 701, 684, 0, 0, 702, 703, 0, 0, 0,
- 976, 977, 975, 128, 125, 126, 129, 1018, 1062, 1016,
- 0, 1056, 1027, 1025, 0, 0, 0, 0, 0, 1083,
- 1039, 1060, 1082, 1037, 1058, 1036, 1057, 1038, 1059, 1030,
- 0, 1447, 682, 681, 0, 293, 293, 604, 1020, 1064,
- 0, 746, 0, 0, 747, 758, 756, 755, 757, 749,
- 345, 118, 0, 324, 0, 352, 0, 350, 349, 351,
- 0, 338, 0, 0, 0, 0, 0, 644, 0, 0,
- 0, 1450, 1455, 1530, 1463, 633, 0, 1159, 1158, 1157,
- 1161, 1160, 1163, 1162, 1154, 1153, 1166, 1165, 1152, 1151,
- 1156, 1155, 0, 390, 0, 396, 400, 401, 399, 391,
- 959, 424, 463, 518, 0, 594, 589, 137, 136, 0,
- 0, 0, 0, 620, 624, 652, 0, 1446, 598, 0,
- 371, 469, 467, 0, 0, 376, 381, 382, 0, 459,
- 402, 0, 455, 375, 0, 0, 466, 1146, 0, 0,
- 916, 933, 934, 0, 0, 959, 958, 0, 503, 293,
- 560, 293, 293, 1107, 643, 0, 849, 848, 847, 495,
- 0, 851, 293, 0, 0, 0, 0, 0, 797, 778,
- 796, 1788, 1648, 1658, 1767, 0, 0, 1611, 0, 0,
- 1653, 2148, 0, 0, 0, 0, 1687, 1688, 1669, 0,
- 1993, 1674, 0, 0, 0, 1839, 1581, 1579, 1576, 0,
- 1577, 0, 0, 1559, 1555, 0, 1561, 1586, 1337, 1336,
- 1335, 1334, 1410, 1417, 0, 1398, 0, 1424, 1420, 0,
- 1421, 0, 0, 1422, 0, 0, 1417, 0, 0, 0,
- 0, 1695, 1701, 1701, 1626, 1706, 1703, 0, 1628, 1528,
- 0, 0, 1260, 1263, 0, 1292, 1283, 1174, 0, 0,
- 0, 414, 0, 959, 0, 0, 0, 897, 897, 0,
- 959, 463, 639, 638, 641, 636, 640, 1183, 0, 536,
- 537, 1024, 0, 1066, 1028, 931, 0, 565, 250, 251,
- 252, 255, 295, 262, 256, 0, 1077, 1011, 1053, 0,
- 0, 690, 0, 0, 0, 0, 1078, 1012, 1054, 0,
- 0, 0, 0, 1192, 0, 294, 295, 311, 1041, 0,
- 750, 751, 326, 0, 348, 357, 0, 355, 329, 334,
- 0, 336, 335, 330, 333, 1451, 0, 990, 990, 0,
- 634, 1164, 0, 0, 387, 463, 431, 0, 393, 0,
- 0, 0, 371, 564, 619, 0, 0, 0, 679, 373,
- 0, 1251, 468, 372, 0, 0, 461, 0, 0, 0,
- 459, 0, 456, 0, 460, 0, 1141, 0, 0, 957,
- 0, 961, 0, 927, 904, 1439, 0, 507, 991, 708,
- 710, 603, 854, 861, 293, 779, 780, 781, 782, 1606,
- 0, 0, 0, 0, 1664, 0, 1665, 1692, 1691, 1671,
- 1675, 0, 1672, 1673, 1578, 1582, 1580, 1563, 1409, 0,
- 0, 1411, 0, 0, 1413, 1415, 0, 0, 0, 0,
- 0, 1822, 1701, 1379, 1381, 0, 1317, 1629, 1630, 0,
- 1351, 1701, 204, 1737, 1441, 1289, 855, 0, 293, 894,
- 463, 433, 2002, 434, 893, 0, 895, 900, 900, 0,
- 463, 634, 529, 0, 563, 0, 297, 305, 0, 0,
- 697, 685, 0, 0, 704, 1026, 0, 0, 0, 0,
- 0, 293, 753, 316, 343, 353, 0, 337, 990, 0,
- 987, 986, 632, 0, 422, 394, 0, 442, 0, 564,
- 694, 1146, 577, 621, 622, 617, 0, 0, 455, 451,
- 377, 386, 360, 411, 410, 407, 406, 408, 409, 404,
- 403, 0, 461, 457, 458, 0, 0, 0, 1194, 0,
- 888, 960, 0, 0, 0, 502, 0, 0, 506, 497,
- 822, 1607, 0, 1608, 0, 0, 0, 1677, 1676, 0,
- 1418, 1427, 0, 1414, 1412, 1403, 0, 1405, 1694, 1696,
- 0, 0, 1709, 1627, 872, 0, 873, 897, 437, 0,
- 896, 903, 903, 424, 634, 415, 1029, 566, 0, 258,
- 0, 688, 0, 699, 697, 0, 0, 1188, 0, 1189,
- 1190, 1193, 313, 356, 985, 989, 988, 0, 0, 395,
- 428, 429, 430, 0, 397, 438, 439, 0, 590, 0,
- 0, 1142, 0, 0, 459, 455, 384, 450, 358, 0,
- 1143, 0, 300, 0, 959, 962, 1105, 505, 504, 1609,
- 1680, 1666, 1693, 1678, 1416, 0, 1404, 0, 0, 1705,
- 0, 0, 0, 0, 900, 0, 634, 0, 891, 890,
- 431, 417, 296, 0, 0, 695, 698, 686, 699, 706,
- 705, 0, 0, 421, 0, 0, 0, 440, 0, 441,
- 462, 693, 0, 623, 0, 461, 459, 1144, 1145, 461,
- 889, 905, 1104, 1103, 1329, 1426, 1697, 1698, 2110, 1903,
- 2084, 0, 1707, 1710, 1708, 1702, 293, 903, 0, 419,
- 435, 442, 0, 0, 687, 1191, 624, 447, 0, 446,
- 0, 444, 443, 683, 627, 361, 461, 1439, 1087, 1329,
- 1086, 1088, 1096, 1093, 1095, 1094, 1092, 0, 1714, 1713,
- 1712, 1716, 1715, 874, 892, 0, 634, 689, 696, 0,
- 445, 449, 448, 629, 0, 625, 628, 630, 631, 359,
- 879, 0, 1097, 1091, 1316, 1303, 0, 436, 420, 0,
- 605, 0, 1089, 1329, 1711, 0, 626, 1090, 0, 627,
- 0, 606
+ 1400, 1197, 539, 1284, 1283, 1197, 242, 0, 1286, 0,
+ 1197, 363, 951, 0, 0, 0, 0, 539, 1197, 0,
+ 1400, 0, 0, 0, 0, 1413, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1197, 0, 0, 1420, 0,
+ 0, 0, 0, 1413, 0, 1288, 0, 0, 0, 0,
+ 2, 4, 61, 62, 26, 25, 31, 30, 84, 85,
+ 49, 17, 75, 55, 118, 117, 119, 37, 33, 69,
+ 22, 24, 34, 38, 57, 39, 50, 96, 56, 20,
+ 54, 79, 58, 82, 44, 11, 12, 45, 73, 13,
+ 46, 74, 14, 47, 15, 63, 86, 29, 59, 83,
+ 60, 5, 40, 71, 67, 10, 51, 52, 53, 76,
+ 77, 78, 101, 81, 113, 36, 110, 90, 91, 107,
+ 92, 108, 8, 93, 48, 16, 104, 103, 105, 70,
+ 41, 72, 102, 23, 106, 18, 19, 109, 80, 99,
+ 95, 114, 112, 120, 97, 64, 6, 7, 87, 21,
+ 43, 9, 28, 27, 42, 35, 116, 32, 1286, 89,
+ 100, 88, 65, 94, 68, 98, 115, 66, 111, 1387,
+ 1374, 1422, 1386, 1399, 0, 1389, 1196, 1195, 1181, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 538, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207,
+ 1945, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 334,
+ 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977,
+ 2219, 2220, 2221, 2222, 1978, 1979, 1980, 1981, 1982, 1983,
+ 1984, 2223, 2224, 1985, 1986, 1987, 1988, 1989, 2225, 1990,
+ 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2226,
+ 2227, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018,
+ 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028,
+ 2029, 2030, 2031, 2032, 2033, 2034, 2228, 2035, 2036, 2037,
+ 2229, 2038, 2039, 2040, 2230, 2041, 2042, 2043, 2044, 2045,
+ 2046, 2047, 2231, 2048, 2049, 2050, 2051, 2052, 2053, 2054,
+ 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2232,
+ 2064, 2065, 2066, 2067, 2233, 2234, 2235, 2068, 2069, 2070,
+ 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2236, 2078, 2079,
+ 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089,
+ 2090, 2091, 2092, 2093, 2094, 2237, 2238, 2095, 2096, 2239,
+ 2097, 2098, 2099, 2240, 2100, 2241, 2101, 2102, 2103, 2104,
+ 2105, 2106, 2107, 2108, 2242, 2109, 2243, 2110, 2111, 2112,
+ 2113, 2114, 2115, 2116, 2117, 2244, 2118, 2245, 2121, 2119,
+ 2120, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2246,
+ 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139,
+ 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2247,
+ 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158,
+ 2159, 2160, 2161, 2162, 2248, 2163, 2164, 2165, 2249, 2166,
+ 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176,
+ 2250, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2251,
+ 2252, 2185, 2253, 2186, 2254, 2187, 2188, 2189, 2190, 2191,
+ 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201,
+ 2202, 2203, 2255, 2256, 2204, 2205, 2206, 2207, 2208, 2209,
+ 2210, 2211, 2212, 2213, 2214, 2215, 2257, 2258, 2259, 2260,
+ 2261, 2262, 2263, 2264, 2265, 2216, 2217, 2218, 333, 1365,
+ 1916, 1946, 1947, 1285, 1266, 539, 0, 1184, 362, 0,
+ 0, 0, 0, 0, 0, 0, 0, 728, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 167, 0,
+ 0, 386, 385, 0, 0, 0, 923, 391, 0, 0,
+ 0, 0, 0, 527, 1327, 2119, 1325, 1366, 243, 246,
+ 247, 244, 245, 1938, 0, 1030, 1031, 1033, 0, 0,
+ 1043, 763, 764, 0, 762, 0, 766, 0, 0, 0,
+ 758, 0, 0, 0, 0, 0, 765, 755, 0, 754,
+ 0, 0, 0, 761, 0, 756, 0, 0, 1185, 1324,
+ 392, 1400, 0, 1302, 1303, 1304, 1286, 1293, 1305, 1298,
+ 1300, 1299, 1301, 1297, 1937, 1961, 862, 862, 862, 862,
+ 859, 860, 862, 862, 862, 2136, 0, 0, 841, 0,
+ 843, 1942, 862, 867, 447, 447, 447, 0, 866, 871,
+ 447, 1178, 1216, 1921, 1412, 0, 842, 1177, 2185, 1316,
+ 0, 0, 0, 1047, 0, 1048, 0, 2151, 1189, 227,
+ 2161, 2251, 2185, 223, 197, 1965, 0, 0, 866, 0,
+ 1186, 1187, 825, 1419, 1417, 1903, 1983, 1996, 2081, 220,
+ 2147, 2152, 2161, 2251, 2185, 2215, 176, 186, 181, 0,
+ 236, 2161, 2251, 2185, 232, 1207, 0, 1390, 1505, 1912,
+ 0, 1180, 1179, 1287, 0, 1290, 0, 1467, 2132, 1394,
+ 1396, 1292, 1387, 0, 0, 1, 1400, 1281, 1416, 1416,
+ 0, 1416, 0, 1379, 1387, 1382, 1386, 0, 0, 0,
+ 0, 1945, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273,
+ 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283,
+ 2284, 2285, 2286, 2287, 0, 0, 1922, 1946, 1950, 0,
+ 773, 0, 124, 1917, 911, 0, 0, 0, 0, 1916,
+ 0, 0, 0, 0, 1951, 0, 1939, 1952, 1953, 1954,
+ 2053, 0, 0, 0, 1815, 1987, 2038, 1825, 1823, 1824,
+ 1817, 1818, 1819, 1820, 1821, 1822, 0, 1028, 1816, 0,
+ 146, 124, 0, 0, 2053, 0, 0, 0, 2053, 0,
+ 0, 0, 0, 0, 2084, 124, 2053, 0, 0, 1201,
+ 0, 0, 0, 1203, 1206, 1182, 1269, 0, 1912, 0,
+ 0, 804, 794, 0, 805, 795, 800, 0, 807, 0,
+ 0, 797, 0, 0, 0, 808, 0, 796, 798, 810,
+ 799, 806, 0, 0, 801, 802, 0, 0, 1193, 447,
+ 340, 0, 0, 0, 0, 0, 124, 1256, 0, 2053,
+ 124, 0, 0, 390, 389, 124, 388, 387, 1987, 2038,
+ 0, 950, 124, 2053, 0, 169, 609, 542, 0, 0,
+ 687, 2084, 124, 0, 0, 0, 0, 0, 0, 926,
+ 0, 0, 526, 539, 1328, 1326, 0, 1034, 222, 221,
+ 1032, 2053, 0, 308, 0, 0, 2053, 1244, 760, 0,
+ 759, 2053, 0, 2053, 1940, 160, 0, 757, 1987, 2038,
+ 2053, 0, 0, 2053, 152, 2053, 0, 2053, 308, 2053,
+ 543, 0, 2053, 0, 2053, 2084, 154, 0, 2053, 308,
+ 771, 0, 1321, 0, 1295, 2255, 1310, 0, 1306, 1313,
+ 1309, 1400, 862, 861, 0, 862, 0, 862, 0, 862,
+ 0, 862, 0, 0, 0, 862, 1943, 1944, 844, 0,
+ 868, 0, 0, 875, 874, 873, 0, 0, 0, 876,
+ 1509, 1343, 0, 1175, 1192, 0, 0, 0, 926, 1050,
+ 1050, 1050, 1188, 226, 224, 0, 0, 0, 0, 0,
+ 0, 1194, 0, 0, 0, 0, 1925, 1927, 1928, 1826,
+ 1893, 0, 2220, 2221, 2222, 1884, 0, 2223, 2224, 2225,
+ 2268, 1734, 1721, 1730, 1735, 1722, 1724, 1731, 2226, 2227,
+ 2022, 2228, 2229, 1935, 2230, 2231, 2233, 2234, 2235, 2236,
+ 1726, 1728, 2237, 2238, 0, 1936, 2240, 2241, 2105, 2243,
+ 2244, 2246, 2247, 1732, 2249, 2250, 2251, 2252, 2253, 2254,
+ 1934, 0, 1733, 2256, 2258, 2259, 2260, 2261, 2262, 2263,
+ 2264, 2265, 0, 0, 1909, 0, 1703, 0, 1549, 1550,
+ 1572, 1573, 1551, 1578, 1579, 1591, 1552, 0, 1908, 1616,
+ 1783, 1702, 1717, 1708, 0, 1701, 1697, 1402, 1902, 1904,
+ 0, 1698, 1924, 1926, 1885, 189, 238, 0, 239, 1910,
+ 2161, 177, 219, 191, 218, 192, 190, 0, 1985, 178,
+ 0, 0, 179, 0, 0, 0, 0, 235, 233, 0,
+ 1183, 0, 1507, 1506, 0, 0, 1891, 1913, 780, 1279,
+ 1280, 1278, 0, 1275, 1277, 1289, 1286, 1898, 1897, 1899,
+ 0, 1395, 0, 0, 0, 1377, 1376, 3, 1292, 1414,
+ 1415, 0, 0, 0, 0, 0, 0, 0, 0, 1457,
+ 1430, 1431, 1433, 1454, 1458, 1466, 0, 1383, 0, 0,
+ 1511, 0, 1468, 0, 0, 1923, 0, 0, 0, 0,
+ 774, 0, 0, 0, 0, 0, 0, 123, 1242, 229,
+ 1240, 0, 0, 0, 0, 0, 0, 0, 1248, 0,
+ 0, 158, 159, 554, 539, 0, 2053, 0, 0, 0,
+ 0, 990, 997, 0, 0, 0, 0, 0, 0, 0,
+ 991, 989, 992, 231, 1001, 1014, 1017, 0, 901, 0,
+ 0, 0, 0, 1107, 0, 0, 1107, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 250,
+ 258, 303, 519, 0, 0, 521, 2053, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 128, 0, 0, 0,
+ 0, 0, 0, 506, 518, 0, 0, 0, 0, 0,
+ 515, 0, 124, 252, 499, 503, 0, 0, 0, 618,
+ 617, 1246, 0, 0, 1107, 0, 248, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 326, 327, 0, 0, 0, 128, 151,
+ 0, 0, 0, 254, 0, 0, 1202, 1199, 1200, 0,
+ 1205, 0, 1265, 0, 0, 0, 0, 812, 0, 809,
+ 0, 0, 803, 1987, 2038, 0, 0, 0, 0, 0,
+ 0, 365, 339, 0, 0, 684, 0, 0, 1948, 1560,
+ 1589, 1567, 1589, 1589, 1556, 1556, 1569, 1557, 1558, 1596,
+ 0, 1589, 1556, 1561, 0, 1559, 1599, 1599, 1584, 0,
+ 1541, 1542, 1543, 1544, 1570, 1571, 1545, 1576, 1577, 1546,
+ 1613, 1556, 1949, 0, 0, 695, 0, 1219, 1255, 0,
+ 0, 0, 548, 0, 2053, 0, 126, 729, 0, 685,
+ 391, 0, 126, 0, 0, 163, 0, 613, 0, 0,
+ 0, 0, 0, 0, 633, 632, 0, 0, 0, 686,
+ 0, 126, 0, 502, 2053, 0, 447, 447, 0, 0,
+ 925, 928, 0, 0, 0, 1369, 1371, 1370, 0, 1368,
+ 0, 308, 306, 307, 682, 1042, 0, 0, 0, 0,
+ 308, 0, 0, 2053, 308, 2053, 0, 2053, 0, 0,
+ 308, 308, 0, 0, 0, 0, 614, 0, 770, 768,
+ 767, 769, 0, 0, 0, 0, 0, 2053, 308, 0,
+ 0, 751, 1836, 0, 0, 1400, 0, 208, 209, 207,
+ 1311, 210, 1312, 1308, 1294, 0, 852, 0, 856, 0,
+ 847, 0, 853, 0, 848, 845, 846, 0, 851, 0,
+ 0, 448, 450, 0, 0, 2007, 2021, 0, 2044, 2072,
+ 2073, 2152, 2157, 0, 2180, 2189, 0, 877, 906, 872,
+ 0, 0, 1353, 1176, 1842, 0, 1400, 0, 0, 1049,
+ 1046, 1045, 1044, 225, 198, 0, 0, 0, 908, 2151,
+ 1191, 824, 539, 0, 1699, 0, 1706, 1707, 1588, 1575,
+ 1883, 0, 0, 1583, 1582, 0, 0, 0, 0, 0,
+ 1565, 1564, 1563, 1705, 1850, 0, 1562, 0, 0, 0,
+ 0, 1589, 1589, 1587, 1636, 0, 1566, 0, 0, 1863,
+ 0, 1869, 0, 0, 0, 1595, 0, 1593, 0, 0,
+ 1672, 0, 0, 0, 0, 0, 0, 0, 0, 1620,
+ 1621, 1703, 1836, 0, 1704, 1931, 0, 0, 1581, 0,
+ 1613, 1907, 1826, 0, 0, 0, 0, 1896, 0, 1834,
+ 0, 0, 1650, 1832, 0, 1652, 0, 0, 0, 1825,
+ 1823, 1824, 1817, 1818, 1819, 1820, 1821, 1822, 1830, 1633,
+ 0, 0, 1785, 0, 1632, 0, 1470, 0, 0, 1929,
+ 1886, 240, 241, 237, 0, 0, 194, 193, 0, 212,
+ 216, 217, 188, 215, 0, 211, 196, 1774, 1773, 195,
+ 187, 184, 182, 199, 201, 202, 185, 183, 234, 0,
+ 0, 1955, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295,
+ 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305,
+ 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315,
+ 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325,
+ 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335,
+ 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345,
+ 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355,
+ 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 1888,
+ 1887, 1919, 1956, 1957, 1958, 1959, 1892, 0, 0, 308,
+ 1273, 0, 1270, 1901, 0, 1397, 0, 1914, 0, 1282,
+ 1393, 1392, 1423, 1424, 943, 1391, 1448, 1449, 1444, 0,
+ 0, 0, 1463, 1461, 1440, 1434, 1439, 1437, 0, 1441,
+ 1616, 1456, 1381, 1428, 1429, 1432, 1380, 0, 1459, 0,
+ 1353, 1457, 1433, 1340, 0, 0, 1512, 0, 965, 967,
+ 0, 966, 0, 969, 0, 978, 0, 0, 964, 983,
+ 0, 972, 970, 0, 0, 0, 0, 0, 0, 775,
+ 0, 0, 0, 0, 0, 0, 2180, 228, 1238, 0,
+ 0, 0, 0, 910, 909, 0, 0, 930, 0, 0,
+ 0, 1251, 436, 0, 305, 0, 0, 0, 0, 0,
+ 0, 0, 0, 680, 677, 0, 0, 676, 0, 552,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 588, 0,
+ 1107, 0, 621, 0, 999, 0, 998, 0, 0, 0,
+ 1000, 995, 996, 2152, 2161, 2185, 230, 1016, 0, 1015,
+ 1013, 953, 0, 954, 0, 0, 0, 0, 2031, 260,
+ 273, 0, 1106, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 294, 0, 297, 296, 0, 0,
+ 0, 0, 0, 301, 0, 0, 0, 300, 0, 0,
+ 520, 0, 0, 1107, 0, 256, 0, 0, 0, 0,
+ 0, 0, 1029, 0, 149, 0, 145, 148, 0, 0,
+ 0, 0, 505, 517, 0, 509, 510, 507, 511, 512,
+ 0, 0, 0, 0, 0, 0, 504, 0, 0, 611,
+ 610, 616, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1060, 1059, 0, 0, 0, 0, 0,
+ 0, 719, 0, 0, 0, 0, 0, 0, 0, 624,
+ 625, 0, 626, 0, 150, 0, 0, 0, 0, 0,
+ 0, 0, 206, 1198, 1204, 1268, 1920, 1267, 0, 0,
+ 0, 811, 0, 0, 0, 0, 0, 0, 0, 813,
+ 814, 815, 816, 0, 0, 0, 0, 0, 342, 343,
+ 124, 341, 1948, 0, 708, 683, 0, 1541, 0, 1537,
+ 1533, 1602, 1603, 1604, 1601, 1614, 1600, 0, 1547, 1605,
+ 1556, 1553, 696, 0, 698, 701, 0, 1217, 409, 0,
+ 0, 545, 588, 0, 394, 156, 0, 0, 0, 0,
+ 122, 167, 169, 392, 0, 168, 170, 172, 173, 174,
+ 171, 175, 608, 612, 0, 541, 0, 0, 0, 0,
+ 0, 634, 638, 637, 641, 639, 0, 635, 0, 0,
+ 1529, 0, 144, 0, 498, 501, 0, 0, 0, 394,
+ 478, 319, 0, 447, 0, 0, 927, 0, 0, 0,
+ 0, 0, 0, 0, 1367, 0, 1020, 0, 1245, 2053,
+ 308, 0, 1018, 161, 1941, 0, 752, 0, 0, 0,
+ 0, 0, 1022, 748, 153, 0, 308, 308, 544, 0,
+ 308, 155, 0, 0, 0, 536, 308, 772, 1323, 0,
+ 447, 1296, 1307, 849, 858, 857, 855, 854, 850, 0,
+ 869, 0, 446, 0, 0, 0, 883, 884, 0, 0,
+ 882, 899, 885, 0, 887, 879, 878, 888, 889, 0,
+ 0, 908, 0, 1350, 0, 1348, 0, 1510, 1352, 1341,
+ 1315, 0, 1314, 1318, 1320, 1319, 1317, 0, 492, 0,
+ 0, 866, 0, 0, 308, 1190, 0, 826, 827, 833,
+ 0, 0, 0, 0, 0, 834, 830, 831, 832, 835,
+ 836, 837, 0, 0, 0, 1894, 1846, 0, 1847, 0,
+ 0, 0, 1882, 1878, 0, 0, 0, 0, 0, 0,
+ 1851, 1854, 1855, 1856, 1853, 1857, 1852, 0, 0, 1858,
+ 0, 0, 0, 0, 0, 1586, 1585, 0, 0, 0,
+ 0, 0, 0, 0, 1675, 1708, 0, 0, 1810, 0,
+ 1836, 1868, 0, 0, 1597, 0, 0, 0, 0, 0,
+ 0, 0, 1836, 1874, 0, 0, 0, 0, 1772, 0,
+ 1769, 0, 0, 0, 0, 1893, 0, 0, 0, 0,
+ 1932, 1617, 1634, 1906, 0, 1895, 0, 0, 1618, 1641,
+ 0, 1875, 1668, 0, 1673, 1656, 0, 1649, 0, 1654,
+ 1658, 1637, 1896, 1835, 0, 1833, 0, 0, 1635, 0,
+ 1630, 1628, 1629, 1622, 1623, 1624, 1625, 1626, 1627, 1631,
+ 1814, 1812, 1813, 0, 0, 0, 1793, 0, 0, 1653,
+ 2046, 2081, 0, 1413, 1413, 1413, 1401, 1411, 0, 1524,
+ 1905, 0, 0, 0, 0, 1709, 0, 1840, 1422, 1838,
+ 1922, 1911, 0, 0, 1613, 0, 1508, 1889, 0, 778,
+ 779, 777, 1292, 1276, 1272, 1271, 1900, 1291, 0, 1400,
+ 0, 941, 942, 0, 946, 0, 0, 1442, 1464, 0,
+ 1455, 0, 1446, 1447, 1438, 1465, 1460, 1385, 1384, 0,
+ 1527, 0, 0, 1337, 1330, 1513, 0, 1470, 1355, 1357,
+ 1358, 0, 1893, 968, 0, 1556, 979, 0, 963, 0,
+ 962, 1556, 0, 980, 0, 1556, 0, 0, 0, 1135,
+ 1062, 1111, 776, 1136, 1063, 1112, 1137, 1064, 1239, 0,
+ 1241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 659, 2053, 308, 1249, 1138,
+ 0, 1065, 304, 1250, 1113, 1254, 679, 678, 0, 0,
+ 1114, 0, 553, 0, 0, 558, 559, 560, 0, 0,
+ 0, 561, 0, 1987, 2038, 0, 566, 573, 578, 568,
+ 0, 579, 574, 0, 0, 0, 0, 0, 0, 585,
+ 592, 0, 0, 0, 0, 0, 0, 993, 994, 1139,
+ 1068, 0, 1115, 952, 0, 1069, 157, 0, 251, 261,
+ 594, 659, 1109, 280, 293, 288, 289, 287, 2053, 308,
+ 2053, 308, 0, 0, 0, 0, 290, 285, 286, 282,
+ 295, 1964, 2023, 2162, 0, 598, 600, 0, 605, 298,
+ 1083, 315, 314, 313, 0, 302, 0, 320, 323, 299,
+ 278, 281, 279, 275, 259, 0, 0, 0, 0, 0,
+ 0, 1918, 0, 0, 1024, 0, 0, 0, 147, 1097,
+ 137, 0, 0, 133, 0, 0, 0, 0, 127, 0,
+ 1145, 1073, 0, 0, 253, 500, 508, 513, 1077, 516,
+ 1125, 514, 1151, 1074, 1107, 0, 249, 0, 1075, 0,
+ 1119, 0, 0, 0, 0, 0, 0, 0, 1147, 1099,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257,
+ 0, 0, 0, 0, 0, 308, 0, 0, 0, 1109,
+ 2053, 308, 1146, 0, 1104, 1133, 0, 328, 0, 1098,
+ 0, 0, 255, 1079, 1127, 0, 0, 204, 203, 205,
+ 0, 0, 0, 0, 0, 0, 0, 0, 818, 787,
+ 817, 0, 0, 0, 781, 364, 337, 338, 340, 347,
+ 0, 707, 0, 0, 1538, 1534, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1554, 697, 0, 0, 0,
+ 0, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1218, 1247,
+ 0, 124, 0, 0, 0, 547, 587, 594, 0, 0,
+ 0, 393, 397, 401, 402, 403, 0, 0, 0, 0,
+ 138, 125, 0, 737, 0, 447, 0, 169, 162, 0,
+ 0, 0, 319, 694, 692, 691, 693, 0, 0, 0,
+ 712, 690, 0, 1528, 1530, 0, 0, 0, 0, 492,
+ 396, 0, 450, 0, 0, 482, 0, 0, 0, 319,
+ 0, 0, 957, 0, 975, 958, 0, 0, 0, 1004,
+ 1009, 1005, 985, 0, 524, 1372, 1373, 0, 308, 0,
+ 0, 589, 308, 308, 0, 308, 0, 308, 308, 0,
+ 1173, 615, 0, 667, 0, 0, 308, 750, 1837, 870,
+ 449, 0, 0, 0, 0, 881, 0, 522, 886, 0,
+ 898, 893, 895, 0, 902, 1351, 1344, 1346, 1345, 0,
+ 0, 1342, 1843, 749, 0, 497, 0, 0, 308, 0,
+ 903, 0, 828, 829, 0, 0, 838, 0, 0, 1418,
+ 1844, 1845, 0, 0, 0, 0, 1879, 0, 0, 1747,
+ 0, 1723, 1725, 1555, 1737, 0, 1568, 1748, 1749, 1727,
+ 1729, 0, 1827, 0, 0, 1738, 1677, 1678, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1690, 1689, 1739, 1809, 0, 0, 1866, 1867, 1740,
+ 1598, 1599, 1599, 0, 0, 1873, 0, 0, 0, 1745,
+ 1750, 0, 0, 0, 0, 1756, 0, 1777, 0, 0,
+ 0, 1700, 1837, 1590, 1591, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1674, 1657, 1651, 0, 1655, 1659, 0,
+ 0, 0, 0, 1643, 1669, 1639, 0, 0, 1645, 0,
+ 1670, 0, 0, 0, 1716, 1413, 1413, 1413, 1413, 1410,
+ 0, 0, 0, 0, 2149, 0, 1491, 1469, 1471, 1478,
+ 1491, 1496, 1718, 1522, 1719, 0, 1912, 0, 1451, 1422,
+ 1422, 1422, 1715, 0, 0, 0, 1421, 180, 0, 213,
+ 200, 0, 1274, 1915, 0, 1425, 0, 1828, 946, 944,
+ 945, 1427, 0, 0, 1462, 1435, 1339, 0, 1337, 1332,
+ 0, 1333, 1893, 0, 1329, 1362, 0, 0, 1527, 0,
+ 1361, 0, 1556, 960, 961, 0, 984, 0, 1134, 1061,
+ 1110, 1237, 913, 914, 0, 912, 0, 0, 0, 435,
+ 929, 0, 0, 0, 659, 0, 0, 439, 0, 1252,
+ 0, 1152, 1096, 555, 556, 0, 567, 0, 576, 575,
+ 0, 0, 563, 0, 0, 0, 0, 562, 581, 528,
+ 582, 584, 0, 0, 583, 586, 591, 1107, 0, 622,
+ 1085, 0, 1131, 987, 0, 955, 0, 0, 409, 274,
+ 0, 0, 0, 262, 272, 0, 0, 277, 0, 270,
+ 291, 283, 292, 284, 602, 603, 601, 597, 0, 604,
+ 606, 0, 317, 0, 0, 0, 1141, 1107, 0, 257,
+ 1081, 0, 1129, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1142, 1116, 0, 0, 130, 129,
+ 0, 136, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1353, 0, 1353, 0, 0, 0, 1353, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 329, 310, 0, 715, 0, 0, 0,
+ 331, 0, 0, 0, 0, 1140, 1070, 782, 0, 0,
+ 783, 791, 0, 0, 784, 0, 0, 793, 0, 0,
+ 336, 344, 2105, 1817, 1818, 705, 710, 702, 704, 706,
+ 703, 0, 709, 659, 0, 0, 0, 1539, 0, 1607,
+ 1608, 1609, 1610, 1611, 1612, 0, 1606, 1613, 699, 700,
+ 0, 1237, 1236, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 421, 0, 0, 415, 0, 0,
+ 1009, 408, 411, 412, 0, 0, 548, 551, 549, 550,
+ 580, 0, 428, 0, 0, 140, 0, 0, 141, 139,
+ 0, 0, 319, 0, 165, 392, 0, 0, 540, 640,
+ 643, 636, 0, 711, 713, 688, 0, 594, 0, 0,
+ 1324, 488, 0, 478, 474, 476, 475, 477, 0, 484,
+ 318, 0, 492, 484, 0, 930, 956, 0, 0, 0,
+ 1002, 1006, 1003, 0, 0, 971, 0, 986, 949, 1168,
+ 1169, 1166, 1167, 0, 0, 1364, 1021, 0, 308, 1019,
+ 753, 0, 744, 0, 746, 1023, 308, 308, 627, 0,
+ 537, 0, 0, 0, 880, 900, 0, 896, 0, 0,
+ 863, 905, 1349, 1347, 490, 0, 908, 0, 864, 907,
+ 0, 0, 0, 0, 0, 1848, 1574, 0, 1881, 1877,
+ 0, 1720, 1849, 0, 1861, 1860, 1676, 1862, 0, 1695,
+ 0, 0, 1687, 1685, 1686, 1679, 1680, 1681, 1682, 1683,
+ 1684, 1688, 1871, 1870, 1864, 1865, 1594, 1592, 0, 1742,
+ 1743, 1744, 1872, 1751, 0, 1978, 1778, 1755, 1771, 1770,
+ 0, 0, 0, 1758, 0, 0, 1767, 0, 1811, 1580,
+ 1613, 1619, 0, 0, 1642, 1876, 1660, 0, 0, 0,
+ 1638, 0, 0, 0, 0, 1647, 1827, 0, 0, 0,
+ 0, 1796, 1791, 1792, 0, 0, 0, 0, 1404, 1403,
+ 1409, 1491, 1496, 0, 1387, 0, 1478, 0, 1490, 1476,
+ 1489, 0, 0, 1502, 1500, 0, 1502, 0, 1502, 0,
+ 1473, 0, 1492, 1474, 1489, 1521, 1514, 0, 1913, 1523,
+ 0, 1453, 0, 0, 0, 0, 1841, 0, 1839, 1710,
+ 0, 1890, 1398, 0, 1426, 1443, 1436, 2003, 1525, 1338,
+ 0, 0, 1335, 1336, 0, 0, 1356, 1337, 1359, 981,
+ 0, 0, 973, 0, 919, 920, 918, 921, 0, 0,
+ 0, 659, 0, 0, 455, 0, 937, 937, 0, 0,
+ 441, 487, 1009, 662, 0, 0, 0, 660, 308, 1066,
+ 0, 577, 0, 0, 572, 570, 569, 571, 529, 1150,
+ 1067, 0, 0, 0, 0, 988, 1084, 0, 406, 0,
+ 267, 1108, 0, 0, 0, 266, 0, 308, 308, 599,
+ 316, 321, 322, 325, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 738, 721, 0, 0, 739, 740,
+ 0, 0, 0, 1026, 1027, 1025, 134, 131, 132, 135,
+ 1094, 1078, 1126, 1076, 0, 1120, 1091, 1087, 0, 1051,
+ 0, 1053, 0, 1353, 0, 1052, 0, 0, 0, 0,
+ 0, 1149, 1103, 1124, 1148, 1101, 1122, 1100, 1121, 1102,
+ 1123, 1095, 0, 1532, 718, 0, 0, 0, 308, 308,
+ 629, 1080, 1128, 0, 785, 0, 0, 786, 788, 367,
+ 0, 370, 377, 348, 353, 1256, 0, 1256, 0, 350,
+ 354, 1256, 349, 1256, 346, 681, 0, 0, 0, 1535,
+ 1540, 1615, 1548, 658, 0, 1228, 1227, 1226, 1230, 1229,
+ 1232, 1231, 1223, 1222, 1235, 1234, 1221, 1220, 1225, 1224,
+ 0, 413, 0, 419, 423, 424, 422, 414, 1009, 447,
+ 486, 0, 0, 671, 0, 546, 394, 425, 0, 398,
+ 143, 142, 0, 0, 0, 169, 0, 0, 645, 649,
+ 689, 0, 1531, 623, 319, 0, 394, 492, 0, 399,
+ 404, 405, 0, 482, 0, 478, 0, 0, 489, 1215,
+ 493, 494, 0, 0, 959, 976, 977, 0, 0, 1009,
+ 1008, 0, 531, 308, 590, 308, 308, 1174, 668, 0,
+ 892, 891, 890, 523, 0, 894, 491, 308, 0, 0,
+ 0, 0, 0, 840, 819, 839, 1880, 1736, 1746, 1859,
+ 0, 0, 1696, 0, 0, 1741, 2257, 0, 0, 0,
+ 0, 1775, 1776, 1757, 0, 2096, 1762, 0, 0, 0,
+ 1933, 1666, 1664, 1661, 0, 1662, 0, 0, 1644, 1640,
+ 0, 1646, 1671, 1782, 0, 1798, 1795, 1408, 1407, 1406,
+ 1405, 1477, 1475, 0, 1480, 1487, 0, 1472, 0, 1501,
+ 1497, 0, 1498, 0, 0, 1499, 0, 0, 1487, 0,
+ 1422, 0, 0, 1787, 1713, 1714, 1711, 1422, 1930, 1613,
+ 0, 0, 1331, 1334, 0, 1363, 1354, 974, 982, 1243,
+ 0, 0, 0, 437, 0, 1009, 0, 0, 0, 940,
+ 940, 0, 1009, 486, 664, 663, 666, 661, 665, 1253,
+ 0, 564, 565, 1086, 0, 1132, 1092, 0, 595, 263,
+ 264, 265, 268, 310, 276, 269, 0, 1082, 0, 1130,
+ 1089, 1143, 1071, 1117, 0, 0, 727, 0, 0, 0,
+ 0, 1144, 1072, 1118, 0, 0, 0, 0, 1054, 0,
+ 0, 0, 0, 1262, 0, 309, 717, 716, 310, 330,
+ 1105, 0, 789, 790, 368, 124, 0, 345, 0, 375,
+ 0, 373, 372, 374, 0, 361, 0, 0, 0, 0,
+ 0, 0, 1536, 0, 1040, 1040, 0, 659, 1233, 0,
+ 0, 410, 486, 454, 0, 416, 0, 0, 0, 0,
+ 0, 0, 0, 594, 0, 0, 0, 164, 394, 594,
+ 644, 0, 0, 0, 714, 0, 396, 0, 1322, 395,
+ 0, 0, 484, 0, 482, 0, 479, 0, 483, 0,
+ 1208, 0, 0, 1007, 0, 1011, 0, 970, 947, 1524,
+ 0, 535, 1041, 745, 747, 628, 897, 904, 308, 820,
+ 821, 822, 823, 1691, 0, 0, 0, 0, 1752, 0,
+ 1753, 1780, 1779, 1759, 1763, 0, 1760, 1761, 1663, 1667,
+ 1665, 1648, 1784, 0, 1422, 1517, 0, 1520, 1479, 0,
+ 0, 1481, 0, 0, 1483, 1485, 0, 0, 0, 0,
+ 0, 1916, 0, 1450, 1452, 0, 1388, 0, 214, 1829,
+ 1526, 1360, 898, 0, 308, 937, 486, 456, 2105, 457,
+ 936, 0, 938, 943, 943, 0, 486, 659, 557, 0,
+ 593, 0, 312, 324, 0, 0, 0, 734, 722, 0,
+ 0, 741, 1088, 1353, 1353, 0, 1353, 0, 0, 0,
+ 0, 0, 308, 792, 347, 0, 371, 380, 0, 378,
+ 351, 356, 0, 360, 358, 357, 352, 355, 1040, 0,
+ 1037, 1036, 657, 0, 445, 417, 0, 465, 0, 0,
+ 672, 0, 0, 0, 434, 433, 430, 429, 431, 432,
+ 427, 426, 619, 731, 319, 1215, 607, 646, 647, 642,
+ 0, 0, 0, 478, 474, 400, 409, 383, 0, 484,
+ 480, 481, 0, 0, 0, 1264, 0, 931, 1010, 0,
+ 0, 0, 530, 0, 0, 534, 525, 865, 1692, 0,
+ 1693, 0, 0, 0, 1765, 1764, 0, 1801, 1522, 0,
+ 0, 1516, 0, 1488, 1504, 0, 1484, 1482, 1493, 0,
+ 1495, 1710, 1786, 1788, 0, 1712, 915, 0, 916, 940,
+ 460, 0, 939, 946, 946, 447, 659, 438, 1093, 596,
+ 0, 271, 1090, 0, 725, 0, 736, 734, 0, 0,
+ 1055, 1057, 1353, 1056, 1258, 0, 1259, 1260, 1263, 332,
+ 335, 366, 376, 0, 359, 1035, 1039, 1038, 0, 0,
+ 418, 451, 452, 453, 0, 420, 461, 462, 0, 669,
+ 0, 674, 0, 0, 0, 0, 0, 1209, 0, 0,
+ 1215, 482, 478, 407, 473, 381, 0, 1212, 0, 319,
+ 0, 1009, 1012, 1172, 533, 532, 1694, 1768, 1754, 1781,
+ 1766, 1797, 0, 0, 0, 1515, 1518, 0, 1486, 0,
+ 1494, 0, 0, 0, 943, 0, 659, 0, 934, 933,
+ 454, 440, 311, 0, 0, 732, 735, 723, 736, 743,
+ 742, 1058, 0, 379, 0, 444, 0, 0, 0, 463,
+ 0, 464, 485, 0, 673, 0, 594, 730, 0, 0,
+ 648, 0, 1210, 484, 482, 1213, 1214, 484, 932, 948,
+ 1171, 1170, 1400, 2219, 2003, 2191, 0, 1799, 1802, 1800,
+ 1794, 0, 1503, 1789, 1790, 308, 946, 0, 442, 458,
+ 465, 0, 0, 724, 1261, 649, 470, 0, 469, 0,
+ 467, 466, 670, 675, 620, 720, 1215, 652, 384, 484,
+ 1524, 1154, 1400, 1153, 1155, 1163, 1160, 1162, 1161, 1159,
+ 0, 1806, 1805, 1804, 1808, 1807, 1519, 917, 935, 0,
+ 659, 726, 733, 0, 468, 472, 471, 1211, 654, 0,
+ 650, 653, 655, 656, 382, 922, 0, 1164, 1158, 1387,
+ 1374, 0, 459, 443, 0, 630, 0, 1156, 1400, 1803,
+ 0, 651, 1157, 0, 652, 0, 631
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 48, 49, 50, 51, 1169, 2058, 1937, 2705, 2706,
- 52, 53, 1243, 54, 55, 56, 57, 58, 59, 60,
- 1184, 61, 62, 853, 1384, 2066, 63, 1812, 669, 670,
- 1656, 1657, 1999, 1658, 1646, 1085, 1468, 1203, 1171, 1204,
- 65, 66, 1079, 1637, 67, 68, 69, 1228, 1229, 1179,
- 1421, 3561, 4099, 1923, 2744, 2541, 2542, 70, 1285, 1286,
- 71, 72, 2654, 1324, 2656, 2657, 3158, 509, 2023, 3581,
- 3582, 3145, 3146, 3588, 3846, 3847, 73, 1381, 2733, 3244,
- 2734, 3654, 2735, 3655, 2736, 3656, 2687, 3208, 3209, 3210,
- 2737, 3660, 4039, 2738, 1827, 4119, 2100, 1490, 1488, 4017,
- 3463, 3464, 4166, 4124, 4125, 4126, 4231, 3662, 2742, 3252,
- 3666, 3868, 2444, 588, 1403, 3242, 75, 76, 2094, 1259,
- 1260, 1944, 3162, 2793, 77, 870, 3023, 3907, 4058, 4059,
- 78, 197, 79, 1388, 80, 81, 2053, 2692, 82, 1839,
- 2457, 83, 84, 2482, 2483, 2484, 85, 86, 3047, 3806,
- 1230, 2534, 2535, 2536, 2537, 3067, 87, 1386, 1265, 2075,
- 88, 89, 90, 2057, 2698, 2699, 91, 92, 1987, 93,
- 94, 95, 1396, 2087, 2088, 3644, 3875, 4025, 3877, 4264,
- 4265, 3860, 3006, 3477, 96, 97, 98, 99, 1367, 2046,
- 2047, 3163, 1155, 1328, 2026, 2027, 3233, 3234, 100, 101,
- 3521, 3522, 539, 4130, 4103, 4177, 102, 103, 3525, 3526,
- 104, 105, 106, 107, 108, 582, 914, 915, 1161, 109,
- 1752, 110, 828, 2641, 111, 979, 2218, 3699, 112, 611,
- 929, 930, 113, 114, 620, 2198, 622, 1503, 2795, 2796,
- 3301, 2168, 753, 115, 116, 2179, 2201, 117, 1172, 1818,
- 1819, 3458, 118, 540, 1408, 2103, 2439, 4049, 3465, 3787,
- 3977, 2385, 2965, 119, 541, 1208, 1885, 2106, 2748, 2749,
- 1887, 2358, 3265, 1889, 2750, 2755, 2756, 2757, 3261, 3269,
- 3901, 3902, 120, 1206, 1878, 121, 122, 123, 1238, 772,
- 124, 552, 553, 125, 4010, 126, 882, 127, 638, 1516,
- 128, 1901, 3053, 129, 130, 131, 4240, 4271, 4272, 4273,
- 3274, 4204, 132, 4242, 959, 134, 135, 136, 171, 796,
- 797, 798, 137, 3896, 138, 139, 2050, 2686, 3190, 140,
- 141, 1813, 2429, 142, 143, 144, 1371, 145, 146, 147,
- 148, 1304, 149, 1114, 1115, 150, 151, 504, 686, 1118,
- 1126, 152, 590, 923, 924, 925, 1470, 153, 962, 2190,
- 591, 917, 155, 592, 2403, 2976, 2977, 2980, 593, 2400,
- 158, 1509, 2184, 2187, 594, 2407, 2408, 2409, 2410, 2411,
- 2982, 595, 613, 873, 2111, 596, 1051, 163, 164, 165,
- 695, 690, 691, 167, 1631, 2348, 628, 1133, 657, 703,
- 3421, 1764, 1765, 1785, 1786, 1142, 1143, 1775, 1777, 2387,
- 1778, 2396, 1770, 3418, 3761, 1781, 1782, 1145, 1146, 2391,
- 168, 2352, 2932, 2933, 2934, 3399, 3409, 3748, 3944, 2935,
- 957, 1152, 2936, 2941, 2974, 2724, 2725, 2726, 1890, 2033,
- 1352, 1052, 1353, 2044, 1053, 1552, 1355, 1054, 1055, 1056,
- 1358, 1057, 1058, 1059, 1060, 1535, 1594, 1061, 1062, 1571,
- 2041, 2042, 1459, 2258, 1064, 1065, 3365, 3723, 3712, 2284,
- 2285, 1653, 3361, 2884, 3956, 4078, 4079, 3429, 3426, 3765,
- 3960, 4162, 4212, 4213, 1066, 2338, 1624, 774, 1067, 3165,
- 1626, 2278, 2360, 2361, 1797, 1533, 2224, 2242, 2243, 2255,
- 2845, 2262, 2267, 2868, 2869, 2279, 2307, 1068, 2227, 2228,
- 2828, 1537, 1069, 1108, 1109, 1530, 2302, 1121, 1122, 688,
- 1070, 1071, 1504, 679, 3940, 891, 744, 2551, 1743, 800,
- 625, 1072, 1073, 1074, 1075, 2797, 1234, 500, 738, 2538,
- 501, 502, 740, 1748
+ -1, 49, 50, 51, 52, 1218, 2155, 2026, 2840, 2841,
+ 53, 54, 1294, 55, 56, 57, 58, 59, 60, 61,
+ 1234, 62, 63, 894, 1445, 2165, 64, 1897, 697, 698,
+ 699, 1722, 1723, 2093, 1724, 1712, 1133, 1531, 1253, 1220,
+ 1254, 66, 67, 1127, 1703, 68, 69, 70, 1279, 1280,
+ 1228, 1484, 3743, 4341, 2665, 2007, 2877, 2666, 2667, 71,
+ 1343, 1344, 72, 73, 2788, 1383, 2120, 3310, 3311, 3774,
+ 529, 2117, 4045, 4046, 3760, 3761, 4052, 4228, 4229, 2166,
+ 1441, 2871, 3403, 2831, 3838, 2832, 3839, 2833, 3840, 2819,
+ 3361, 3362, 3363, 2834, 3817, 4260, 2835, 1912, 4370, 2200,
+ 1553, 1551, 4247, 3633, 3634, 4426, 4375, 4376, 4377, 4500,
+ 3845, 2875, 3409, 3848, 4075, 2565, 613, 1465, 2945, 614,
+ 2202, 560, 615, 2167, 79, 2194, 1314, 1315, 2034, 3315,
+ 2928, 80, 913, 3178, 4121, 4295, 4296, 81, 208, 82,
+ 1449, 83, 84, 2151, 2825, 85, 1929, 2582, 86, 87,
+ 2609, 2610, 2611, 88, 89, 3198, 3997, 1281, 2654, 2655,
+ 2656, 2657, 3219, 90, 1447, 1320, 2174, 91, 92, 93,
+ 94, 95, 2081, 96, 97, 2168, 1457, 2186, 2187, 3829,
+ 4091, 4269, 4093, 4539, 4540, 4067, 3157, 3647, 99, 100,
+ 3812, 3813, 4382, 101, 1927, 102, 103, 104, 1425, 2143,
+ 2144, 3316, 1385, 2123, 2124, 3392, 3393, 105, 2748, 106,
+ 3694, 3695, 561, 4385, 4346, 4437, 107, 108, 3698, 3699,
+ 109, 110, 111, 112, 113, 607, 959, 960, 1210, 114,
+ 1819, 115, 867, 2779, 116, 1024, 2323, 3884, 117, 638,
+ 973, 974, 2169, 119, 647, 2301, 649, 1566, 2930, 2931,
+ 3460, 2270, 782, 120, 121, 2281, 2304, 122, 1221, 1903,
+ 1904, 3628, 2170, 562, 1471, 2205, 2560, 4286, 3635, 3979,
+ 4193, 2494, 3111, 124, 563, 1258, 1972, 2208, 2883, 1875,
+ 1876, 1877, 3424, 1878, 2885, 1879, 1204, 1880, 2890, 2891,
+ 2892, 3420, 3428, 4115, 4116, 125, 1256, 1970, 126, 127,
+ 128, 1291, 806, 129, 575, 576, 130, 4240, 131, 925,
+ 132, 666, 1580, 133, 134, 1984, 3205, 135, 136, 137,
+ 4513, 4546, 4547, 4548, 3433, 4472, 138, 4515, 1003, 140,
+ 141, 142, 178, 833, 834, 835, 2171, 4110, 144, 145,
+ 2147, 2818, 3343, 146, 147, 1898, 2550, 148, 149, 150,
+ 151, 1429, 152, 153, 154, 155, 1362, 156, 1162, 1163,
+ 157, 158, 524, 715, 1166, 1174, 159, 617, 967, 968,
+ 969, 1533, 160, 1006, 2292, 618, 962, 162, 619, 2513,
+ 3120, 3121, 3124, 620, 2510, 165, 1572, 2286, 2289, 621,
+ 2517, 2518, 2519, 2520, 2521, 3126, 622, 640, 916, 2213,
+ 623, 1096, 170, 171, 172, 724, 719, 720, 174, 1696,
+ 2456, 655, 1181, 685, 732, 3096, 1832, 1833, 1855, 1856,
+ 1190, 1191, 1845, 1847, 2496, 1848, 2504, 1838, 3591, 3953,
+ 1851, 1852, 1193, 1194, 1195, 1860, 175, 2459, 3077, 3078,
+ 3079, 3568, 3569, 3583, 3579, 3940, 4164, 3080, 1001, 1201,
+ 3081, 4155, 4156, 4311, 3586, 3088, 3118, 2862, 2863, 2864,
+ 1881, 2130, 1410, 1097, 1411, 2141, 1098, 1616, 1413, 1099,
+ 1100, 1101, 1416, 1102, 1103, 1104, 1105, 1599, 1658, 1106,
+ 1107, 1635, 2138, 2139, 1522, 2363, 1109, 1110, 1111, 3083,
+ 1112, 3526, 3908, 3897, 2389, 2390, 1719, 3522, 3023, 1692,
+ 2446, 4176, 4322, 4323, 3064, 3552, 3925, 4154, 4414, 4477,
+ 4478, 1113, 2443, 1688, 808, 1114, 3318, 1690, 2383, 2468,
+ 2469, 1575, 1597, 2329, 2347, 2348, 2360, 2984, 2367, 2372,
+ 3007, 3008, 2384, 2412, 1115, 2332, 2333, 2967, 1601, 1116,
+ 1156, 1157, 1594, 2407, 1169, 1170, 717, 1117, 1118, 1119,
+ 1567, 708, 4160, 519, 772, 2680, 1810, 837, 652, 1120,
+ 1121, 1122, 1123, 934, 935, 1285, 520, 766, 786, 2658,
+ 521, 522, 768, 1815
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -3866
+#define YYPACT_NINF -4013
static const int yypact[] =
{
- 6714, 1130, 10084, -3866, -3866, 1130, -3866, 46296, -12, 619,
- 56, 128, 12079, 46703, 54436, 219, 264, 7882, 1130, 54436,
- 921, 37342, 42226, 54436, 401, 534, 37342, 54436, 54843, 719,
- 1068, 55250, 47110, 41005, 792, 54436, 713, 325, 55657, 47517,
- 686, 47924, 534, 34513, 107, 705, 56064, 1634, 1212, 822,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -12, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, 197, -3866, 668, 340, 1296, 140, 838, -3866,
- -3866, -3866, 38970, 54436, 54436, 54436, 1063, 54436, 54436, 137,
- 38970, 54436, 56471, 1107, 31177, -3866, 54436, 54436, 56878, 54436,
- 48331, 54436, 1103, 54436, 54436, 57285, 57692, 1248, 1150, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, 54436, 10117, 401, -3866, -3866, 54436,
- 1099, 38970, 54436, 1031, 54436, 1127, 54436, -3866, 54436, 58099,
- 659, 1610, 54436, 1635, 31597, 1253, 54436, 54436, 54436, 54436,
- -3866, -3866, 1362, 54436, 54436, -3866, -3866, 58506, 906, 1604,
- 1550, 160, -3866, 48738, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, 49145, 264, -3866, -3866, 39377, 54436, 1568, -3866, -3866,
- 58913, -3866, -3866, 660, 39784, 59320, 1668, 32017, 1704, 59727,
- 60134, -3866, -3866, 60541, -3866, 60948, 1451, 61355, -3866, 61762,
- -3866, 1590, 62169, -3866, 1341, 1034, 905, 28279, -3866, -12,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, 294, 1528,
- 228, 171, 259, -3866, -3866, 175, 186, 189, 294, 1782,
- 1782, -3866, 54436, -3866, -3866, 1528, 15, 1393, 1393, 1393,
- 1577, 522, -3866, 1393, -3866, -3866, -3866, -3866, 47924, -3866,
- 1402, 401, 1419, 1809, 54436, -3866, 54436, -3866, 54436, 54436,
- -3866, -3866, 1858, 1491, 1719, 1499, -3866, 1667, 1696, 1703,
- 80, 401, 1663, -3866, 1877, -3866, 1789, 19045, 401, 49552,
- 62576, 179, 49145, 401, 49959, 1637, 1621, 1805, -3866, -3866,
- 631, -3866, 2026, 1686, 1908, 1499, 1150, 29105, -3866, 1695,
- -40, 47924, -3866, -3866, -3866, 300, 1975, 19469, -3866, 54436,
- 1700, -3866, 1709, 1712, 1716, 1296, -3866, 6714, 54436, 815,
- 815, 2099, 815, 1742, 1764, -3866, 1455, -3866, 2000, 1983,
- 47924, 705, 191, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, 1757, -40, -3866, 194,
- -3866, 109, 1762, 1059, 1570, -3866, -3866, 771, 1857, 184,
- 11, 1799, 50366, 5120, 1781, 399, -3866, 2078, 1967, 261,
- -3866, 54436, 54436, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, 1794, -3866, -3866, 1796, 1288, 1407, 2096, 3927,
- 1371, 2108, 2293, 1694, 796, 2025, 1326, 2104, 1575, 2121,
- 6371, 54436, -3866, 2097, 2203, 68, -3866, 86, -3866, 1940,
- 2076, 39, 38970, 1911, -3866, -3866, 54436, -3866, -3866, -3866,
- -3866, 674, 38970, -3866, 2137, 32437, -3866, 54436, -3866, -3866,
- -3866, -3866, -3866, 2077, 54436, -3866, -3866, 2206, 54436, -3866,
- 1393, 396, 1981, 2351, 71079, 67, 54436, 2032, 2387, 2196,
- 2032, 2034, 62983, -3866, -3866, 2032, -3866, -3866, 54436, 54436,
- 2015, 1504, 2032, 2397, 2415, 2093, 2213, 807, 911, 154,
- 2335, 2032, 54436, 63390, 54436, 54436, 2419, 38970, 54436, -3866,
- 2223, -3866, -3866, 1100, -3866, -3866, -3866, -3866, 2348, 1757,
- 181, 2366, 2075, 2369, -3866, 2111, -3866, 2373, 1781, 2375,
- 2080, -3866, 63797, 64204, 64611, 2377, 1794, 54436, 2379, 2080,
- 2382, 2271, 2384, 181, 2385, -3866, 920, 2388, 2275, 2390,
- 1395, 2080, 50773, 2392, 119, -3866, 21165, -3866, 2187, -3866,
- 705, -3866, -3866, 1175, -3866, 36935, -3866, 905, 1528, -3866,
- 54436, 1528, 54436, 1528, 54436, 1528, 54436, 1528, 54436, 54436,
- 54436, 1528, -3866, -3866, -3866, 54436, 2106, 54436, 54436, -3866,
- -3866, -3866, 43040, 54436, 43447, -3866, -3866, 85, 401, -3866,
- -3866, 71079, 2499, 54436, 2391, 2391, 2391, -3866, -3866, -3866,
- 2327, 54436, 2389, 2393, 43040, 54436, -3866, 65018, 49145, 2290,
- 2113, -3866, -3866, -3866, -3866, -3866, 1758, 2535, 195, 2536,
- 21165, 2116, 182, 182, 2120, 2404, -3866, -3866, -3866, 203,
- 2124, 2125, -3866, 229, 229, 2284, 2132, 2133, -3866, 242,
- 2134, 2557, 2558, 244, 2139, 2140, 2141, 1345, 182, 21165,
- -3866, 2143, 229, 2144, 2145, 2146, 2569, 2149, -3866, 2573,
- 2154, 255, 293, 2155, 2158, -3866, 2132, -3866, 206, 2160,
- 2162, 2164, 2165, 2166, 2167, 2170, 2171, 21165, 21165, -3866,
- 18197, -40, 401, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- 135, -3866, 246, 4431, -3866, -3866, 2342, 21165, -3866, -3866,
- 72, -3866, 247, -3866, -3866, -3866, -40, -3866, -3866, 257,
- 2173, -3866, 1683, -3866, -3866, -3866, -3866, -3866, -3866, 44261,
- 2574, -3866, 292, 401, 86, 283, 2520, 36121, 36528, -3866,
- -3866, 2401, -3866, 54436, -3866, -3866, 21165, 34106, -3866, -40,
- 130, -3866, -3866, -3866, 1385, -3866, -3866, -3866, -12, -3866,
- 9740, -3866, 1416, 1700, 54436, 54436, 2577, -3866, -3866, -3866,
- 1709, -3866, -3866, 1296, 1296, 21165, 1296, 209, 956, 19893,
- 21165, 2464, 2367, 224, 698, 2465, -3866, 1742, 1764, 47924,
- 54436, 65425, 2294, -3866, 35327, 1075, -40, 2262, 2263, 2309,
- 38156, 2189, 2266, 2267, 2314, 2268, 2270, 65832, -3866, -3866,
- -3866, -3866, 1280, 1164, 1018, 2273, 309, 648, 2552, -3866,
- 2325, -3866, -3866, -3866, 2477, 54436, 2500, 6745, 2395, 261,
- 2322, -3866, -3866, 2432, 2285, 2286, 2405, 261, 720, 66239,
- -3866, -3866, -3866, -3866, -3866, -3866, 5809, 16567, -3866, 2291,
- 2274, 54436, 40191, 2578, 2402, 1061, 303, 220, 54436, 2475,
- 2411, 54436, 2225, 2302, 2303, 2230, 1313, 2582, 2229, -3866,
- -3866, -3866, 1543, 2403, -3866, 2289, 2292, 69880, 1087, 32857,
- 2563, 2312, -3866, 1370, 2316, 2319, 54436, 261, -3866, 2617,
- 261, 261, 1094, 2624, 2321, 304, 1372, 2032, 2229, 1514,
- -3866, 2324, 2326, 368, -3866, 2424, 47924, 199, 1396, 2229,
- 2332, 2333, 2230, 2230, 54436, 54436, 54436, 54436, 54436, 168,
- 2642, 2649, 2337, 187, 2380, 2264, -3866, 44668, 2345, 62576,
- -3866, -3866, 54436, 2346, 1652, 2229, 1424, 1520, -3866, -3866,
- -3866, 1150, -3866, 54436, -3866, 54436, 1757, 71079, 2453, 2305,
- -3866, 1781, 261, 54436, 54436, 1794, 986, 950, 2456, 54436,
- 2512, 2315, -3866, -3866, 2032, -3866, 35724, 2015, -3866, 2278,
- -3866, -3866, 2328, -3866, 2328, 2328, 2282, 2282, 2283, -3866,
- -3866, -3866, 1345, 2328, 2282, -3866, 71871, -3866, 1224, 1255,
- -3866, 2679, 2682, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, 989, 1692, -3866, 54436, 38156, -3866, 2694, -3866,
- -3866, 71079, 2581, -3866, 54436, 2484, 2295, -3866, 2614, 2344,
- -3866, 2334, -3866, 54436, 790, 401, 2338, 54436, 2505, 54436,
- 54436, 54436, 54436, -3866, -3866, 2480, 820, 151, -3866, 44668,
- -3866, 1514, 2492, 2705, 30, 1393, 2592, -3866, 54436, 2320,
- 2709, 2548, -3866, 1165, -3866, 2440, -3866, 38970, 181, -3866,
- -3866, -3866, -3866, 71079, 54436, 66646, 38970, 181, 54436, 54436,
- 2615, 119, 2616, 2378, 2620, 2381, 32857, 181, 139, 54436,
- 54436, 54436, 54436, -3866, 54436, -3866, -3866, -3866, -3866, 54436,
- 54436, 54436, 44668, 2622, 2623, 181, 54436, 54436, -3866, 9740,
- 1441, 54436, 905, 43854, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, 54436, -3866, 54436, -3866, 54436, -3866, 54436, -3866,
- 54436, -3866, -3866, -3866, 54436, -3866, 54436, 1483, -3866, -3866,
- 1602, 708, 54436, 54436, 696, 38970, 54436, 2517, 54436, 54436,
- 54436, 54436, 54436, 2407, 2173, -28, -3866, 725, 47924, 2524,
- -3866, -3866, 1620, 1634, 763, -3866, -3866, -3866, -3866, -3866,
- -3866, 43447, 42226, 2611, 301, 54436, -3866, -3866, 2671, 21165,
- -40, 18621, -3866, -3866, -3866, 2347, 9740, 2376, 21165, -3866,
- -3866, 21165, 2349, 1782, 1782, 21165, -3866, -3866, -3866, -3866,
- 910, 1782, -3866, 21165, 21165, 1782, 1782, 2328, 2328, -3866,
- 4920, 21165, -3866, 32857, 21165, 23709, 15737, 21165, 2421, 2363,
- 1782, -3866, 1782, -3866, 21165, 17773, -3866, 21165, 2550, 24551,
- 21165, 283, 2555, 21165, 283, 2770, 2770, 1861, 4466, 2352,
- -40, -3866, 2466, 1782, -3866, 1782, 685, -3866, 190, 71079,
- 21165, 38156, 2433, 166, 54436, 21165, 2361, 1412, -3866, 21165,
- 984, -3866, 2362, 21165, 2439, 21165, 21165, 21165, 21165, 21165,
- 21165, 21165, 21165, 21165, -3866, 25377, 213, 804, 1501, 51180,
- 19045, 2646, 15312, -3866, 234, -3866, -3866, -3866, 54436, 2574,
- -3866, -3866, 2438, -3866, -3866, -3866, -3866, -3866, 248, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, 2371, -3866, -3866, -3866,
- -3866, 2371, -3866, 2370, 2313, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- 2640, 2641, 181, 54436, 300, 45075, -3866, 19469, -3866, 1636,
- 2383, -3866, 2619, -3866, 2386, -3866, 8091, 2619, -3866, -3866,
- 265, 2564, 2570, 2570, -3866, 2410, 9740, -3866, 1582, 9740,
- 1632, -3866, -3866, -3866, -3866, -3866, -3866, 1232, -3866, 2464,
- 698, 2441, 1003, 54436, -3866, 29518, 2412, 1645, 2461, 2462,
- 2510, 54436, 54436, 54436, -3866, 38156, 54436, 54436, 54436, 54436,
- 54436, 54436, -3866, 2745, 894, 42226, 2515, 41412, -3866, -3866,
- 2406, 54436, 2460, 2648, 2650, 882, -3866, -3866, 67053, -3866,
- 2600, 54436, 54436, 54436, 21165, 2604, 54436, 54436, 54436, 2494,
- 38970, 2418, 54436, 54436, 54436, 676, 38970, 33277, 54436, 54436,
- 54436, 54436, 2539, 54436, 54436, 2652, 1111, 47924, 352, 1690,
- 2229, 2613, -3866, 1028, -3866, 54436, 54436, 2605, -3866, -3866,
- -3866, 49145, 2814, 2527, -3866, -3866, 67460, -3866, -3866, 2603,
- -3866, -3866, 71871, -3866, -3866, 1699, -3866, 71475, 67867, -3866,
- -3866, 386, 54436, 54436, 7094, 54436, 945, -3866, -3866, 71079,
- -3866, 54436, 54436, 54436, 45482, 68263, 68670, 1254, 1355, 54436,
- 45889, -3866, 54436, -3866, -3866, 38563, 54436, 54436, 38156, -3866,
- 54436, 2612, 225, -3866, 54436, 2841, -3866, 2506, 54436, 54436,
- 2430, 1707, 2509, 2559, -3866, 54436, 54436, 765, -3866, 54436,
- 54436, 6124, -3866, -3866, 261, -3866, -3866, -3866, -3866, -3866,
- 54436, 54436, 261, 54436, 261, 741, -3866, 54436, 54436, -3866,
- -3866, -3866, 7539, 54436, 54436, 54436, 54436, 54436, 54436, -3866,
- -3866, 1429, 34, 1243, 1275, 2572, 54436, 401, 54436, 69077,
- 54436, 54436, 54436, 54436, 314, -3866, -3866, 2551, -3866, 54436,
- 765, 8520, 54436, 54436, 2518, 2523, 150, 2584, -3866, -3866,
- -3866, -3866, -3866, -3866, 2685, 2846, 54436, -3866, 2689, 2690,
- 2508, 2514, 2692, 738, 54436, 54436, 54436, 54436, 54436, 54436,
- 2693, 738, 2645, 123, 2467, 2478, 1724, -3866, -3866, 21165,
- 2862, 71079, 2470, 2471, 2544, 2546, 2547, -3866, 2474, 2549,
- 1782, -3866, -3866, 1763, -3866, -3866, 1728, -3866, 2489, 820,
- 1495, -3866, 54436, 706, 642, 2769, 16963, 2588, 1502, 2761,
- 54436, 54436, 1502, -3866, 1480, 42226, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, 2760, -3866, 401, 2015, 2015,
- 2015, 2015, -3866, -3866, -3866, -3866, 2667, 1580, -3866, 2485,
- 2015, 54436, 2594, 1502, -3866, 1514, 2778, 1140, 54436, 40598,
- 1600, 2522, 401, 2669, -3866, 17377, 3806, 2670, 49145, 2756,
- 2757, 2776, -3866, 1757, -3866, 2892, -3866, 2791, 181, 1781,
- -3866, 2080, -3866, 54436, -3866, 54436, 54436, 54436, 54436, 1794,
- -3866, -3866, 2080, 2680, 181, 181, -3866, 2681, 181, 2080,
- 2618, 2784, 49145, -3866, 119, -3866, -3866, 21165, 1393, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, 1732, -3866, 54436,
- -3866, 2762, 2763, 2765, 2080, 2501, 2541, 54436, 2516, -3866,
- 2080, 261, 2080, 2173, 2173, 2080, 2501, 51587, 2919, 2783,
- 677, -3866, 747, 581, 2724, -3866, -3866, -3866, -3866, 71079,
- -3866, -3866, -3866, -3866, -3866, 54436, 104, 2702, 2521, 51587,
- 2904, 181, -3866, 38970, -3866, -3866, -3866, 2621, 38970, 2714,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, 2759, 54436, 1734,
- -3866, -3866, 1245, -3866, 1526, 21165, 21165, 170, -3866, 8430,
- 1738, 21165, 2530, 2531, 1739, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, 2532, 2810, -3866, 2540, 1740, 1750, 2542, 2553,
- -3866, -3866, 3401, 2556, 8718, 2560, 23709, 23709, 480, -3866,
- -3866, 23709, 2562, -3866, 1751, 7940, 2545, 2567, 2568, -3866,
- 2571, 2580, 8730, 20317, 21165, 20317, 20317, 9147, 2545, 2583,
- 1784, 38156, 2699, 9210, 1786, -3866, 21165, 38156, 4125, 21165,
- -3866, 21165, 54436, 2585, 2587, -3866, -3866, 4920, -3866, 2586,
- -3866, 23709, 23709, -3866, 2758, 18197, -3866, -3866, 2816, -3866,
- -3866, 1508, -3866, 2565, -3866, -3866, 4938, 188, 21165, 2361,
- 21165, 2627, 32857, 3663, 21165, 5400, 1953, 1953, 432, 432,
- 177, 177, 177, 1841, 1501, -3866, -3866, -3866, 2575, 2149,
- 21165, -3866, 1855, 1915, 54436, 2444, 3351, 3561, -3866, -3866,
- -3866, 26627, 2593, 21165, 21165, 21165, 2590, 2721, 2973, 9740,
- 808, -3866, 2977, -3866, 1150, 1782, 685, 36935, -3866, -3866,
- 21165, -3866, -3866, -3866, 1709, -3866, -3866, -3866, -3866, -3866,
- 1634, 21165, -3866, -3866, 657, 1666, 21165, 1582, -3866, -3866,
- 54436, 2524, 2524, 21165, -3866, -3866, -3866, -3866, -3866, 26627,
- 2607, 2625, 28692, 2700, -3866, -3866, 54436, 138, -3866, -3866,
- -3866, 2595, -3866, -3866, -3866, 54436, 54436, 54436, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, 2792, -3866,
- 54436, 54436, 2753, 54436, 2772, 2773, 21165, 245, 54436, 2596,
- 2597, 1037, 2836, 54436, -3866, 2877, 181, -3866, -3866, 2666,
- -3866, 9740, -3866, -3866, -3866, -3866, 49145, -3866, 1757, 71079,
- -3866, -3866, -3866, 2629, 54436, -3866, 54436, 54436, 1794, -3866,
- -3866, -3866, -3866, 1109, -3866, -3866, 54436, 54436, 615, 2673,
- 2674, 54436, -3866, 704, 2424, 9001, 54436, 54436, 54436, 2849,
- -3866, -3866, -3866, -3866, 2790, -3866, -3866, 1692, -3866, 67867,
- 71475, -3866, 71475, -3866, 1692, 1597, -3866, 2080, 2683, 2229,
- -3866, 2786, 1349, -3866, -3866, -3866, -3866, -3866, 2899, 181,
- 2900, 181, 54436, 54436, 54436, 54436, -3866, -3866, -3866, -3866,
- -3866, 38156, 38156, 38156, 1792, -3866, -3866, 401, -3866, -3866,
- -3866, 1801, -3866, 1133, -3866, -3866, -3866, -3866, -3866, -3866,
- 54436, 1207, -3866, 762, 71079, -3866, 70276, 54436, 54436, -3866,
- -3866, -3866, 2830, 2775, -3866, 744, 2777, 54436, 2672, -3866,
- -3866, -3866, 2695, 1748, 2229, 1514, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, 363, 1760, 2229, 2697, -3866, 2698,
- -3866, -3866, -3866, 2826, 2828, 2829, 2701, 2703, 2739, 2704,
- 2706, 2744, -3866, 2713, 2747, 2715, 2754, 2716, 181, 71079,
- 1697, 2733, 2932, 181, -3866, 2717, -3866, -3866, 3033, -3866,
- 54436, -3866, 2720, 1914, 2229, -3866, -3866, 54436, 54436, -3866,
- -3866, -3866, 738, 71079, 2883, 738, 738, 54436, 54436, 738,
- -3866, -3866, -3866, 2884, 2885, 2886, 2887, 2894, 2895, 738,
- -3866, -3866, -3866, -3866, 396, 38156, -3866, 2047, 30757, -3866,
- 3084, 4956, 2664, 2471, 2662, 1782, 156, 136, 103, 2785,
- 1782, 2871, 2675, -3866, -3866, 38156, 30757, 1720, 2890, 2686,
- 2686, 2686, 2686, 2686, 2686, 2686, -3866, 1488, 2032, 49145,
- 54436, 49145, -3866, 642, 2786, 54436, -3866, -3866, 1807, -3866,
- 54436, 54436, 153, 54436, 1782, -3866, -3866, 2740, -3866, 1393,
- 790, 2802, 1123, 3007, -3866, -3866, -3866, -3866, -3866, 54436,
- 54436, 820, 401, -3866, 2678, 2676, -3866, 54436, 54436, 54436,
- 2718, 2687, 54436, 2688, 2677, -3866, -3866, -3866, -3866, 71079,
- 64, 2872, 2870, 2230, 3087, 2771, 54436, -3866, 1829, 111,
- -3866, 401, 49145, 69484, -3866, 3061, -3866, -3866, 667, 2962,
- -3866, -3866, 1634, 181, 71079, 54436, -3866, 181, 119, 2750,
- 181, 2751, 181, 181, 54436, -3866, -3866, 54436, -3866, 54436,
- 44668, 181, -3866, 9740, -3866, -3866, 2819, 2820, 2832, 54436,
- 2080, 38970, -3866, 2707, 54436, -22, -3866, -3866, 2891, -3866,
- -3866, -3866, -3866, -3866, 3009, 3012, -3866, -3866, -3866, 54436,
- 43040, 263, 54436, -3866, 1757, -3866, 1781, 261, 54436, 2954,
- -3866, -3866, -3866, 2722, 1853, 9412, 21165, -3866, 3021, 71079,
- -3866, 5279, -3866, -3866, -3866, -3866, 21165, -3866, -3866, -3866,
- -3866, -3866, 21165, -3866, 21165, 2998, -3866, 3138, 3138, 71079,
- 23709, 1496, 2144, 23709, 23709, 23709, 23709, 23709, 23709, 23709,
- 23709, 23709, 25801, 411, -3866, -3866, 21165, 21165, 3005, 2998,
- -3866, -3866, 1315, 1315, 71079, 2725, 2545, 2726, 2727, 21165,
- -3866, -3866, 1860, 24964, 2728, 38156, -3866, 21165, 8140, 1886,
- 2766, 9299, -40, 5381, -3866, 3098, 401, 21165, 1058, 1364,
- 21165, 1888, 21165, 3008, -3866, -3866, -3866, 2731, -3866, -3866,
- 71079, 21165, 23709, 23709, 5158, -3866, 5417, 21165, 2732, 5677,
- 18197, -3866, 534, 534, 534, 534, -3866, 54436, 54436, 54436,
- 26214, 51994, 2734, 1822, -3866, 51994, 52401, -3866, 2735, -40,
- 21165, 3010, 548, 548, 2736, 2721, 29931, -3866, 21165, 226,
- 20741, 2738, 86, 2742, -3866, -3866, 4160, -3866, 2743, -3866,
- 2741, -3866, 1666, -3866, -3866, -3866, 5837, 2924, 2173, -3866,
- -3866, -3866, 2734, 21589, 2700, -3866, 1893, -3866, -3866, 19045,
- -3866, -3866, 1900, 29518, 2607, 19469, -40, -3866, -3866, -3866,
- 2686, 2080, 2080, 1054, 2080, 3028, 1054, 6481, -3866, -3866,
- 27040, 54436, 54436, -3866, 54436, 1904, 1523, 54436, -3866, 54436,
- -3866, -3866, 3135, 54436, -3866, 2800, 2813, -3866, 54436, 54436,
- 54436, 54436, -3866, -3866, 1762, -3866, -3866, 54436, 54436, -3866,
- -3866, -3866, 384, 1984, 2229, -3866, 2837, -3866, -3866, 3011,
- 1612, -3866, -3866, -3866, 2827, 54436, 2764, -3866, 690, 2230,
- 1055, -3866, -3866, 2833, 54436, -3866, 54436, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, 38563, -3866, -3866, -3866,
- 38156, 30757, 38156, -3866, 2839, 2843, 2893, 789, 638, 2845,
- 2847, 2897, 2774, 2779, 2780, -3866, -3866, 294, 401, -3866,
- -3866, 401, 2080, 401, 54436, 54436, 54436, 54436, 54436, 54436,
- 54436, 3048, 722, 1606, 54436, 54436, 54436, 54436, 54436, 54436,
- 54436, 54436, 54436, 54436, 54436, -3866, 3136, 401, 401, 3112,
- 2850, 54436, -3866, 54436, 2424, 54436, 54436, -3866, -3866, -3866,
- 2787, 738, -3866, -3866, 3019, 3022, -3866, 738, 738, 738,
- 738, 738, 738, -3866, 196, 1905, -3866, 27866, -3866, -3866,
- 2387, 401, 2387, 586, -3866, 2387, -3866, 2387, -3866, 2741,
- 1782, 1543, -3866, -3866, -3866, -3866, -3866, -3866, 2478, -3866,
- -3866, 1782, 1843, 2794, -3866, 2795, -3866, -3866, -3866, -3866,
- -3866, -3866, 2789, -3866, 685, -3866, -3866, 54436, 2686, -3866,
- 1498, 341, 1040, 1042, 52808, 53215, 53622, 2796, 54436, 54436,
- 23709, -3866, 779, 778, -3866, 3017, 54436, 2831, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, 2295, -3866, 54436, 2786,
- 2080, 54436, 54436, 2080, -3866, 71079, 2522, 1034, 63390, 2835,
- 2798, 3076, -3866, 2797, 2803, -3866, -3866, 54436, 2786, 45,
- 1341, 223, -3866, 41819, 1600, -3866, 3049, 40598, -3866, -3866,
- -3866, 3161, 2896, -3866, 1634, 401, 2460, -3866, 67867, 21165,
- 21165, -3866, 2804, -3866, 2812, 5660, -3866, 2015, -3866, -3866,
- -3866, -3866, -3866, -3866, 2889, 54436, -3866, -3866, 2817, 181,
- -3866, -3866, 54436, -3866, 54436, -3866, -3866, 181, 181, -3866,
- 2934, -3866, 54436, 54436, 54436, 2080, -3866, 261, -3866, 3096,
- 51587, -3866, -3866, -3866, -3866, 301, 3103, -3866, -3866, 3065,
- 3068, 3070, 3074, 774, -3866, -3866, 21165, 9740, -3866, 2840,
- -3866, 9740, 7079, 9740, 3005, -3866, 783, 3116, -3866, 216,
- 2842, 783, 1880, 1880, 385, 385, 163, 163, 163, 3138,
- 411, 9740, 9740, -3866, -3866, -3866, -3866, 2851, -3866, -3866,
- -3866, 2545, -3866, 22013, 2984, 3224, -3866, -3866, -3866, 2898,
- 2901, 2853, -3866, 21165, 22437, 2844, 71871, -3866, -3866, 685,
- 1273, 23709, 23709, 2409, -3866, 1074, 21165, 71079, 1906, 2409,
- 1511, 1826, 21165, 21165, 6237, 320, 21165, 7106, 54436, 54436,
- 54436, 54436, -3866, -3866, -3866, 16153, 1822, 2855, 54436, -3866,
- 2858, 26627, 3079, 3023, -3866, 26627, 3023, 1611, 3023, 3082,
- -3866, 30344, -3866, 2859, 15312, 1579, 9740, 3238, 3127, 21165,
- 2865, -3866, 2867, 2721, -3866, 70672, -3866, -3866, 9740, -3866,
- -3866, 21165, -3866, 2721, 401, -3866, -3866, 32857, -3866, -3866,
- -3866, 3053, 9740, -3866, 1634, 54436, -40, 2866, 2888, 54436,
- -3866, 2700, -3866, 294, -3866, -3866, -3866, -3866, 2945, 42226,
- 3148, -3866, 21165, 1912, -3866, 2907, 3234, 129, 1916, 1918,
- 1523, -3866, 2831, -3866, 1282, 3131, 120, -3866, 181, -3866,
- 71079, -3866, 54436, 54436, -3866, -3866, -3866, -3866, 2189, -3866,
- -3866, 54436, 54436, 54436, 54436, -3866, 2941, -3866, -3866, 38156,
- 1488, 3071, -3866, -3866, 3072, 294, 54436, -3866, 71079, 181,
- 181, -3866, -3866, -3866, 2902, 54436, 54436, 54436, 1782, 1782,
- 71079, 2880, -3866, 1782, 1782, 2881, -3866, 54436, 54436, 54436,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- 2960, -3866, -3866, -3866, 54436, 54436, 54436, 54436, 3179, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- 54436, -3866, -3866, -3866, 71079, 181, 181, -3866, -3866, -3866,
- 3123, -3866, 738, 738, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, 2032, 3207, -3866, 38156, -3866, 42633, -3866, -3866, -3866,
- 401, -3866, 401, 3081, 34920, 401, 401, 1523, 2903, 217,
- 3167, -3866, -3866, -3866, -3866, 3170, 294, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, 21165, -3866, 1168, 783, -3866, -3866, -3866, -3866,
- 2831, 1393, 2947, 706, 3013, -3866, -3866, 2080, 2080, 2949,
- 3293, 60, 54436, 3205, 2937, -3866, 401, -3866, -3866, 54436,
- 40598, 2718, -3866, 3231, 1920, -3866, -3866, -3866, 2938, 2870,
- 1357, 2905, 1600, -3866, 879, 54436, -3866, 2940, 3185, 2911,
- -3866, 9740, 9740, 401, 72267, 3061, -3866, 54436, 3160, 181,
- -3866, 181, 181, -3866, -3866, 54436, 2080, 2080, 2080, -3866,
- 3090, -3866, 181, 51587, 774, 774, 774, 774, -3866, -3866,
- -3866, 9740, -3866, -3866, -3866, 23709, 3190, -3866, 2915, 71079,
- -3866, 2916, 1926, 1961, 24551, 3058, -3866, -3866, -3866, 7124,
- 2966, 9740, 3020, 2921, 2923, -3866, 742, 742, 1074, 1966,
- -3866, 23709, 23709, 2409, 2409, 21165, 2409, -3866, -3866, -3866,
- -3866, -3866, 51994, 2920, 54436, 1822, 26627, -3866, -3866, 1952,
- -3866, 26627, 3158, -3866, 26627, 54436, 2927, 54436, 991, 21165,
- 21165, 2963, 2721, 2721, -3866, 3094, -3866, 2930, -3866, 685,
- 2931, 54436, -3866, -3866, 705, -3866, -3866, -3866, 51587, 3114,
- 51587, 1523, 7388, 2831, 27040, 33697, 54436, 54029, 54029, 3075,
- 2831, 2947, -3866, -3866, -3866, -3866, -3866, -3866, 2935, -3866,
- -3866, -3866, 3014, -3866, -3866, -3866, 1968, -3866, -3866, -3866,
- -3866, -3866, 3136, -3866, -3866, 30757, -3866, -3866, -3866, 27453,
- 32857, -3866, 789, 2942, 2943, 638, -3866, -3866, -3866, 54436,
- 745, 495, 2971, 2080, 3219, -3866, 3136, -3866, -3866, 738,
- -3866, -3866, 2467, 401, -3866, -3866, 1974, -3866, -3866, -3866,
- 54436, -3866, 2798, -3866, -3866, -3866, 38970, 3336, 3336, 54436,
- -3866, -3866, 7629, 3133, -3866, 2947, 3154, 3200, -3866, 54436,
- 54436, 1634, 40598, 2786, -3866, 903, 2948, 3242, -3866, 2687,
- 2956, -3866, -3866, -3866, 41819, 3137, 2896, 240, 240, 54436,
- 2870, 3089, -3866, 3091, -3866, 1067, -3866, 54436, 27040, -3866,
- 71475, -3866, 1978, -3866, -3866, 2593, 54436, 589, -3866, -3866,
- -3866, -3866, -3866, -3866, 263, -3866, -3866, -3866, -3866, 752,
- 23709, 71079, 1985, 21165, -3866, 21165, -3866, 3343, -3866, -3866,
- -3866, 61, -3866, -3866, -3866, 742, 742, 2409, -3866, 54436,
- 1995, -3866, 21165, 2976, -3866, -3866, 26627, 1952, 1996, 54436,
- 2003, 71079, 2721, 2545, 9740, 54436, -3866, -3866, -3866, 3355,
- 3152, 2721, -3866, -3866, -3866, -3866, -22, 1054, 263, 3234,
- 2947, -3866, 2980, -3866, -3866, 54436, -3866, 316, 316, 54436,
- 2947, -3866, -3866, 54436, -3866, 38156, 3036, -3866, 71079, 1781,
- 82, -3866, 71079, 71079, -3866, -3866, 54436, 54436, 54436, 54436,
- 54436, 181, -3866, -3866, -3866, -3866, 42633, 2798, 3336, 286,
- -3866, -3866, -3866, 1293, 3177, -3866, 711, 3165, 3069, 2786,
- 3274, 2940, -3866, -3866, -3866, -3866, 21165, 3139, 1600, 3049,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- -3866, 2007, 2896, -3866, -3866, 3357, 3166, 3358, -3866, 2009,
- -3866, -3866, 5660, 72267, 3303, -3866, 3042, 54436, -3866, -3866,
- -3866, 752, 2019, -3866, 2039, 2040, 3141, 3043, -3866, 2044,
- -3866, 9740, 54436, -3866, -3866, -3866, 2046, -3866, 2991, -3866,
- 3393, 21165, 1390, -3866, -3866, 3277, -3866, 54029, 3039, 32857,
- -3866, 1666, 1666, 1393, -3866, 1523, -3866, -3866, 21165, -3866,
- 2051, -3866, 110, 3147, 3286, 2059, 2060, 2501, 3040, 2501,
- -3866, 2080, -3866, -3866, -3866, -3866, -3866, 3314, 3261, -3866,
- -3866, -3866, -3866, 365, -3866, 3193, 3194, 54436, -3866, 54436,
- 3410, -3866, 7647, 38970, 2870, 1600, 1488, -3866, -3866, 3198,
- -3866, 3201, 2522, 27040, 3061, -3866, 812, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, 2061, -3866, 54436, 3016, 2545,
- 22861, 22861, 3024, 51587, 316, 3029, -3866, 3027, -3866, -3866,
- 3154, 1523, 9740, 38970, 3408, -3866, -3866, -3866, 3147, -3866,
- -3866, 54436, 3146, -3866, 714, 714, 3349, -3866, 3086, -3866,
- -3866, -3866, 789, -3866, 3034, 2896, 2870, -3866, -3866, 2896,
- -3866, -3866, -3866, -3866, 2017, -3866, -3866, -3866, 24133, 3156,
- 898, 8407, -3866, -3866, -3866, -3866, 263, 1666, 21165, 1523,
- -3866, 3165, 1781, 54436, -3866, -3866, 2937, -3866, 3445, -3866,
- 651, -3866, -3866, 2880, 37749, -3866, 2896, 2593, -3866, 1883,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, 3440, -3866, -3866,
- -3866, -3866, -3866, -3866, -3866, 7674, -3866, -3866, -3866, 3337,
- -3866, -3866, -3866, -3866, 2066, -3866, -3866, -3866, -3866, -3866,
- -3866, 1840, -3866, -3866, 1925, 1716, 23285, -3866, 1523, 3192,
- -3866, 37749, -3866, 1883, -3866, 38970, -3866, -3866, 3045, 37749,
- 2067, -3866
+ 5832, 1302, 10230, -4013, -4013, 1302, -4013, 54668, -15, 624,
+ 1139, 174, 10863, 55084, 62156, 672, 280, 10957, 1302, 62156,
+ 1880, 40940, 52172, 62156, 423, 589, 40940, 62156, 62572, 722,
+ 863, 1073, 62988, 55500, 50924, 1277, 62156, 977, 301, 63404,
+ 55916, 830, 56332, 589, 38046, 84, 769, 63820, 2153, 1235,
+ 818, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -15, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, 191,
+ -4013, 1146, 197, 641, 744, 862, -4013, -4013, -4013, 46348,
+ 62156, 62156, 62156, 1087, 62156, 1022, 62156, 266, 46348, 46764,
+ 64236, 1174, 1060, 34631, -4013, 44684, 62156, 62156, 64652, 62156,
+ 1154, 56748, 62156, 1220, 62156, 62156, 47180, 65068, 1375, 983,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, 62156, 11263, 423, -4013, -4013, 62156,
+ 1250, 46348, 62156, 1239, 62156, 1348, 62156, -4013, 62156, 1420,
+ 65484, 411, 1504, 46764, 1602, 35061, 1493, 46764, 65900, 62156,
+ 62156, -4013, -4013, 1529, 62156, 62156, -4013, 1649, 47596, 1308,
+ 1658, 1930, 1714, 770, -4013, 57164, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, 45100, 280, -4013, -4013, 48012, 62156,
+ 1748, -4013, -4013, 66316, -4013, 1641, -4013, 437, 48428, 48844,
+ 1887, 1585, 35491, 1969, 49260, 66732, -4013, -4013, 67148, -4013,
+ 67564, 1697, 67980, -4013, 49676, -4013, 1832, 68396, -4013, 1601,
+ 1470, 1707, 31240, -4013, -4013, -4013, -15, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, 348, 1786, 295, 201, 325,
+ -4013, -4013, 213, 238, 263, 348, 2079, 2079, -4013, 62156,
+ -4013, -4013, 1786, 21, 1660, 1660, 1660, 1878, -31, -4013,
+ 1660, -4013, -4013, -4013, -4013, 56332, -4013, 1684, 423, 1725,
+ 2097, 1848, 62156, -4013, 62156, -4013, 62156, 62156, -4013, -4013,
+ 2130, 1863, 2069, 1838, -4013, 2034, 2038, 2046, 296, 423,
+ 1944, -4013, 2172, -4013, 2057, 21786, 423, 57580, 68812, 193,
+ 45100, 423, 57996, 1914, 867, 2065, -4013, -4013, -4013, 662,
+ -4013, 2289, 1932, 2147, 1838, 983, 32509, -4013, 1929, 1287,
+ 56332, -4013, -4013, -4013, 205, 2221, 22220, -4013, 62156, 1943,
+ -4013, 1957, 1960, 1961, 641, -4013, 5832, 62156, 328, 328,
+ 2356, 328, 1495, 1624, -4013, 1402, -4013, 2260, 2234, 56332,
+ 769, 206, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, 2020, 1287, -4013, 210, -4013, 1554,
+ 2037, 1653, 1377, -4013, -4013, 748, 62156, 2162, 204, -21,
+ 2064, 58412, 2461, 2044, -4013, 221, -4013, -4013, -4013, -4013,
+ 2346, 4958, 279, 69228, -4013, 62156, 62156, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, 2087, -4013, -4013, 2076,
+ 2362, 1151, 2297, 1242, 2423, 4658, 62, 62156, 2429, 5371,
+ 1611, 787, 2322, 807, 2431, 1412, 2453, 5926, 62156, -4013,
+ 2381, 2488, 51, -4013, 780, -4013, 2226, 2359, 716, 46348,
+ 2180, -4013, -4013, 62156, -4013, -4013, -4013, 2259, -4013, 712,
+ 46348, -4013, 2403, 2268, 35921, -4013, 62156, -4013, -4013, -4013,
+ -4013, -4013, 2348, 62156, -4013, -4013, 2470, 62156, -4013, 1660,
+ 2387, 2235, 2612, 77920, 83, 62156, 2273, 2643, 62156, 2440,
+ 2273, 2274, 69644, -4013, -4013, 2273, -4013, -4013, 62156, 62156,
+ 2243, 1381, 2273, 2444, 2644, 2648, 2323, 2426, 802, 274,
+ 150, 2545, 2273, 2300, 62156, 70060, 62156, 2303, 62156, 2625,
+ 46348, 62156, -4013, 2418, -4013, -4013, 1382, -4013, -4013, -4013,
+ -4013, 2565, 2020, 814, 2566, 2269, 2569, -4013, -4013, 2302,
+ -4013, 2572, 2044, 2573, -4013, 2270, 70476, -4013, 70892, 71308,
+ 2574, 2087, 46764, 2576, 2270, 2577, 2463, 2579, 814, 2580,
+ -4013, 1128, 2583, 2471, 2585, 1799, 2270, 45516, 2587, 182,
+ -4013, 23956, -4013, 2374, -4013, 769, -4013, 1527, -4013, 40524,
+ -4013, 1707, 1786, -4013, 62156, 1786, 62156, 1786, 62156, 1786,
+ 62156, 1786, 62156, 62156, 62156, 1786, -4013, -4013, -4013, 62156,
+ 2288, 62156, 62156, -4013, -4013, -4013, 52588, 46764, 53004, -4013,
+ -4013, 69, 423, -4013, -4013, 77920, 2697, 46764, 2625, 2581,
+ 2581, 2581, -4013, -4013, -4013, 2521, 62156, 2584, 2586, 52588,
+ 46764, -4013, 71724, 45100, 2482, 2298, -4013, -4013, -4013, -4013,
+ -4013, 1589, 2732, 306, 2734, 23956, 2305, 199, 199, 2306,
+ 2596, -4013, -4013, -4013, 211, 2308, 2310, -4013, 246, 246,
+ 2473, 2313, 2315, -4013, 247, 2316, 2749, 2750, 256, 2320,
+ 2321, 2329, 1913, 199, 23956, -4013, 2332, 246, 2333, 2335,
+ 2338, 2754, 2339, -4013, 2773, 2345, 202, 303, 2347, 2349,
+ -4013, 2313, -4013, 235, 2350, 2353, 2357, 2361, 2363, 2364,
+ 2365, 2369, 23956, 23956, -4013, 20918, 1287, 423, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, 144, -4013, 264, 4734, -4013,
+ 2383, -4013, -4013, 2531, 23956, -4013, -4013, 2591, 2355, -4013,
+ 272, -4013, -4013, -4013, 1287, -4013, -4013, 1065, 2367, -4013,
+ 1514, -4013, -4013, -4013, -4013, -4013, -4013, 43436, 2777, -4013,
+ 388, 423, 780, 283, 2724, 39692, 40108, -4013, -4013, 2602,
+ -4013, 62156, -4013, -4013, 23956, 37630, -4013, 1287, 147, -4013,
+ -4013, -4013, 1615, -4013, -4013, -4013, -15, -4013, 10184, -4013,
+ 1652, 1943, 62156, 62156, 2782, -4013, -4013, -4013, 1957, -4013,
+ -4013, 641, 641, 23956, 641, 186, 1656, 22654, 23956, 2672,
+ 2575, 1195, 1273, 2674, -4013, 2578, 1495, 1624, 56332, 62156,
+ 72140, 2494, -4013, 38462, 1683, 1287, 2469, 2472, 2515, 41772,
+ 2394, 2474, 2475, 2523, 2476, 2481, 72556, -4013, -4013, -4013,
+ -4013, 1386, 1049, 1062, 2483, 178, 168, 2765, -4013, 746,
+ 2529, -4013, -4013, -4013, 2673, 62156, 2710, 5994, 2597, 279,
+ 2530, -4013, -4013, 2645, 2490, 2493, 2613, 279, 1380, 72972,
+ -4013, -4013, -4013, -4013, -4013, -4013, 2340, 19674, -4013, 2496,
+ 2477, 62156, 50092, 313, 2608, 1208, 1824, 730, 62156, 2682,
+ 2614, 62156, 2425, 2503, 2506, 2700, 2432, 1403, 2793, 2430,
+ -4013, -4013, -4013, 1948, 2607, -4013, 2737, 6961, 2492, 2499,
+ 77110, 1175, 36351, 2778, 546, 2526, -4013, 546, 62156, 2527,
+ 2528, 62156, 279, -4013, 2841, 279, 279, 1378, 2842, 2532,
+ 362, 1408, 2273, 2430, 1492, -4013, 2533, 2536, 848, -4013,
+ 2642, -4013, 1216, 56332, 374, 1497, 2430, 277, 2541, 2542,
+ 2432, 2432, 62156, 62156, 62156, 62156, 62156, 175, 2865, 2868,
+ 2547, 180, 2593, 2479, -4013, 43852, 2550, 68812, -4013, -4013,
+ 62156, 2553, 1503, 2430, 1405, 1646, -4013, -4013, -4013, 983,
+ -4013, 62156, -4013, 62156, 2020, 77920, 2663, -4013, 2510, -4013,
+ 2044, 279, -4013, 62156, 62156, 2087, 177, 1129, 2665, 62156,
+ 2727, 2517, -4013, 481, 38869, -4013, 2243, 2485, -4013, -4013,
+ 2538, -4013, 2538, 2538, 2486, 2486, 2487, -4013, -4013, -4013,
+ 1913, 2538, 2486, -4013, 78730, -4013, 1507, 1622, -4013, 2898,
+ 2900, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ 622, 1635, -4013, 62156, 41772, -4013, 2911, -4013, -4013, 77920,
+ 2692, 2808, -4013, 62156, 2708, 2511, -4013, 2845, 2564, -4013,
+ -4013, 59, -4013, 2814, 46764, 823, 423, 2558, 62156, 2735,
+ 62156, 62156, 62156, 62156, -4013, -4013, 2705, 810, 139, -4013,
+ 43852, -4013, 62156, 1492, 2717, 2924, 66, 1660, 62156, 2809,
+ -4013, 62156, 2524, 2926, 2760, -4013, 1704, -4013, 2647, -4013,
+ 46348, 814, -4013, -4013, -4013, -4013, 77920, 62156, 73388, 46348,
+ 814, 46764, 46764, 2829, 182, 2830, 2588, 2831, 2589, 36351,
+ 814, 255, 46764, 62156, 62156, 62156, -4013, 62156, -4013, -4013,
+ -4013, -4013, 62156, 62156, 46764, 43852, 2832, 2836, 814, 62156,
+ 62156, -4013, 10184, 1751, 62156, 1707, 44268, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, 62156, -4013, 62156, -4013, 62156,
+ -4013, 62156, -4013, 62156, -4013, -4013, -4013, 62156, -4013, 62156,
+ 1756, -4013, -4013, 1814, 142, 62156, 62156, 164, 46348, 62156,
+ 2729, 62156, 62156, 62156, 62156, 62156, 2616, 2367, 1246, -4013,
+ 218, 56332, 2739, -4013, -4013, 1825, 2153, 853, 62156, -4013,
+ -4013, -4013, -4013, -4013, -4013, 53004, 52172, 2820, 364, 62156,
+ -4013, -4013, 2495, 23956, 1287, 21352, -4013, -4013, -4013, 2546,
+ 10184, 2592, 23956, -4013, -4013, 23956, 2548, 2079, 2079, 23956,
+ -4013, -4013, -4013, -4013, 937, 2079, -4013, 23956, 23956, 2079,
+ 2079, 2538, 2538, -4013, 5134, 23956, -4013, 36351, 23956, 26560,
+ 18824, 23956, 2620, 2563, 2079, -4013, 2079, -4013, 23956, 20484,
+ -4013, 23956, 2761, 27422, 23956, 283, 2762, 23956, 283, 2980,
+ 2980, 1674, 4428, 2552, 1287, -4013, 2668, 2079, -4013, 2079,
+ 751, -4013, 220, 77920, 23956, 41772, 2638, 252, 62156, 23956,
+ 2561, 1647, -4013, 23956, 1027, -4013, 2562, 23956, 2640, 23956,
+ 23956, 23956, 23956, 23956, 23956, 23956, 23956, 23956, -4013, 28268,
+ 226, 2840, 2858, 30, 2055, 58828, 2854, 21786, 18389, -4013,
+ 281, -4013, -4013, -4013, 62156, 2777, -4013, -4013, 2649, -4013,
+ -4013, -4013, -4013, -4013, 273, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, 2568, -4013, -4013, -4013, -4013, 2568, -4013, 2582,
+ 3797, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, 2843, 2847, 814,
+ 62156, 205, 53420, -4013, 22220, -4013, 1835, -4013, 2590, -4013,
+ 2822, -4013, 2595, -4013, 8208, 2822, -4013, -4013, 318, 2686,
+ 2818, 2766, -4013, -4013, -4013, 2598, 10184, -4013, 1771, 10184,
+ 1920, -4013, -4013, -4013, -4013, -4013, -4013, 895, -4013, 62156,
+ 2739, 2672, 1273, 2635, 721, 62156, -4013, 32932, 2763, -4013,
+ 2972, -4013, 78730, -4013, 2600, -4013, 78325, 75884, -4013, -4013,
+ 34, -4013, 1187, 2670, 2671, 2718, 46764, 62156, 62156, -4013,
+ 41772, 46764, 62156, 62156, 46764, 62156, 62156, -4013, 2949, 25,
+ 52172, 2719, 51340, -4013, -4013, 2603, 62156, 2659, 2846, 2848,
+ -42, -4013, -4013, 73804, -4013, 2801, 46764, 62156, 62156, 23956,
+ 2803, 62156, 62156, -4013, 243, 2688, 2694, -4013, 62156, 2696,
+ 46348, 2621, 62156, 62156, 62156, 2693, 715, 46348, 2667, 36781,
+ 62156, 62156, 62156, 62156, 2742, 62156, 62156, 2862, 1057, 56332,
+ 223, 1597, 2430, 2821, -4013, 1396, -4013, 46764, 62156, 2813,
+ -4013, -4013, -4013, 59244, 3027, 2736, -4013, -4013, 74220, -4013,
+ -4013, -4013, 1845, -4013, 46764, 46764, 7267, 62156, 1241, -4013,
+ -4013, 77920, -4013, 62156, 62156, 62156, 62156, 53836, 74636, 75052,
+ 1416, 1515, 62156, 54252, -4013, 62156, -4013, -4013, 42188, 46764,
+ 62156, 861, 41772, -4013, 62156, 2825, 811, -4013, 62156, 5747,
+ -4013, 2711, 62156, 390, 1833, 2430, 62156, 62156, 2631, 1846,
+ 2720, 2764, -4013, 62156, -4013, 46764, 430, -4013, 2779, 46764,
+ 62156, 9017, -4013, -4013, 279, -4013, -4013, -4013, -4013, -4013,
+ 62156, 62156, 279, 62156, 279, 1029, -4013, 46764, 62156, -4013,
+ -4013, -4013, 7801, 62156, 62156, 62156, 62156, 668, 953, 2683,
+ 1181, 46764, 62156, -4013, -4013, 808, 1149, 1078, 1516, 2783,
+ 62156, 2914, 62156, 75468, 46764, 62156, 62156, 62156, 897, -4013,
+ -4013, 2767, -4013, 46764, 430, 9381, 62156, 62156, 2726, 2728,
+ 155, 2797, -4013, -4013, -4013, -4013, -4013, -4013, 2893, 3060,
+ 62156, -4013, 2899, 2901, 2714, 2716, 2906, 915, 62156, -4013,
+ -4013, -4013, -4013, 62156, 2908, 915, 2853, 714, -4013, -4013,
+ 2273, -4013, 2680, 1852, -4013, -4013, 23956, 3074, 77920, 2675,
+ 2676, 2747, 2748, 2752, -4013, 2679, 2753, 2079, -4013, -4013,
+ 1713, -4013, -4013, 1858, -4013, 2685, 810, 2056, -4013, 41772,
+ 62156, 880, 821, 2981, 50508, 1593, 2970, 62156, 2725, 62156,
+ 1593, 62156, -4013, 1680, 52172, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, 2973, -4013, 423, 2243, 2243, 2243,
+ 2243, -4013, -4013, -4013, -4013, 2873, 117, -4013, 2687, 2243,
+ 62156, 2798, 1593, 2689, -4013, 1492, 2989, 112, 62156, 50508,
+ 1805, 2730, 3095, 1660, 423, 2877, -4013, 20079, 2224, 2881,
+ 45100, 2968, 2969, 2987, -4013, 2020, -4013, 3104, -4013, 3002,
+ 814, 2044, -4013, 2270, -4013, 62156, -4013, 62156, 62156, 62156,
+ 62156, 2087, -4013, -4013, 2270, 2888, 814, 814, -4013, 2889,
+ 814, 2270, 2817, 2994, 45100, -4013, 182, -4013, -4013, 23956,
+ 1660, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, 1860,
+ -4013, 62156, -4013, 2971, 2974, 2975, 2702, 2704, 2741, 62156,
+ 2709, -4013, 2702, 279, 2702, 2367, 2367, 2702, 2704, 45932,
+ 3129, 2992, 156, -4013, 165, 1213, 2927, -4013, -4013, -4013,
+ -4013, 77920, -4013, -4013, -4013, -4013, -4013, 62156, 2751, 351,
+ 2903, 2715, 45932, 3106, 814, -4013, 46348, -4013, -4013, -4013,
+ 2794, 2807, 46348, 2913, 2768, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, 2960, 62156, 1868, -4013, -4013, 1655, -4013, 1690,
+ 23956, 23956, 367, -4013, 8669, 1874, 23956, 2723, 2731, 1900,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, 2733, 3010, -4013,
+ 2738, 1909, 1911, 2740, 2743, -4013, -4013, 3638, 2744, 9219,
+ 2745, 26560, 26560, 369, -4013, -4013, 26560, 2746, -4013, 1924,
+ 8289, 2755, 2756, 2758, -4013, 2757, 2769, 8773, 23088, 23956,
+ 23088, 23088, 9358, 2755, 2770, 1933, 41772, 2895, 9662, 1934,
+ -4013, 23956, 41772, 4151, 23956, -4013, 23956, 62156, 2771, 2772,
+ -4013, -4013, 5134, -4013, 2780, -4013, 26560, 26560, -4013, 4356,
+ 20918, -4013, -4013, 3012, -4013, -4013, 2173, -4013, 2774, -4013,
+ -4013, 6128, 391, 23956, 2561, 23956, 2810, 36351, 2509, 23956,
+ 3340, 3685, 3685, 352, 352, 271, 271, 271, 1762, 2055,
+ -4013, -4013, -4013, 2775, 2776, 2781, 2907, 2339, 23956, -4013,
+ 1898, 1904, 62156, 2816, 3380, 3896, -4013, -4013, 29548, 2789,
+ -4013, 23956, 23956, 23956, 2784, -4013, 3158, 10184, 732, -4013,
+ 3159, -4013, 983, 2079, 751, 40524, -4013, -4013, 23956, -4013,
+ -4013, -4013, 1957, -4013, -4013, -4013, -4013, -4013, 62156, 2153,
+ 23956, -4013, -4013, 480, 1759, 23956, 1771, -4013, -4013, 2795,
+ -4013, 23956, -4013, -4013, -4013, 2367, -4013, -4013, -4013, 29548,
+ 2790, 2786, 32086, 2874, -4013, -4013, 62156, 363, -4013, -4013,
+ -4013, 2799, -4013, -4013, 75884, 1635, -4013, 78325, -4013, 78325,
+ -4013, 1635, 3131, -4013, 75884, 1722, 46764, 62156, 62156, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, 2977,
+ -4013, 46764, 46764, 2940, 62156, 2938, 2947, 23956, 908, 62156,
+ 2787, 2788, 1450, 3024, 62156, -4013, 3065, 814, -4013, -4013,
+ 2844, -4013, 10184, -4013, -4013, -4013, -4013, -4013, 46764, 62156,
+ -4013, 45100, -4013, 2020, 77920, -4013, -4013, -4013, 62156, 2824,
+ 62156, -4013, 62156, 62156, 62156, 2087, -4013, -4013, -4013, -4013,
+ 1133, -4013, -4013, 62156, 62156, 674, 2859, 2861, 62156, -4013,
+ 1171, 2642, 9739, 62156, 62156, 62156, 3019, -4013, -4013, -4013,
+ -4013, 2964, -4013, -4013, 75884, -4013, 2270, 2866, 2430, -4013,
+ 2976, -4013, 724, -4013, -4013, -4013, -4013, -4013, 3091, 814,
+ 3094, 814, 62156, 62156, 62156, 62156, -4013, -4013, -4013, -4013,
+ -4013, 41772, 41772, 41772, 1940, -4013, -4013, 423, -4013, -4013,
+ -4013, -4013, -4013, -4013, 3057, -4013, 1941, -4013, 1362, -4013,
+ -4013, -4013, -4013, -4013, -4013, 46764, 10178, 62156, 62156, 62156,
+ 1787, -4013, 815, 77920, -4013, 77515, 46764, 62156, -4013, -4013,
+ -4013, 3022, 2967, -4013, 951, 2978, 46764, 2860, -4013, 2880,
+ -4013, -4013, 2885, 1985, 2430, 1492, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, 412, 2077, 2430, 2886, -4013, 2887,
+ -4013, 3203, 62156, 3209, 62156, 1230, 3210, 62156, -4013, -4013,
+ 3040, 3042, 3044, 2905, 2916, 2952, 2917, 2919, 2953, -4013,
+ 2920, 2958, 2922, 2979, 2923, 814, 77920, 3047, 423, 2959,
+ 3149, 814, -4013, 2928, -4013, -4013, 3249, -4013, 62156, -4013,
+ 2929, 2155, 2430, -4013, -4013, 46764, 62156, -4013, -4013, -4013,
+ 915, 77920, 3097, 915, 915, 62156, 62156, 915, -4013, -4013,
+ -4013, 3099, 3101, 915, -4013, -4013, -4013, -4013, 2387, 2867,
+ 34201, -4013, 3294, 5224, 2870, 2676, 2872, 2079, 253, 871,
+ 1155, 2988, 2079, 3081, 2875, -4013, -4013, 41772, 34201, 1809,
+ 3100, 2891, 2891, 2891, 2891, 2891, 2891, 2891, -4013, 2043,
+ 110, 2273, 45100, 62156, 45100, -4013, 821, 2976, 62156, 62156,
+ 2878, 2876, -4013, -4013, -4013, -4013, 46764, 143, 46764, 2079,
+ -4013, -4013, 2942, -4013, 62156, 1660, 3279, 2648, 823, 3020,
+ 1437, 3222, 2730, -4013, -4013, -4013, -4013, 62156, 62156, 810,
+ 423, -4013, 2883, 2882, -4013, 62156, 62156, 62156, 62156, 2751,
+ 2890, 2884, 77920, 601, 3075, 3077, 2432, 3297, 2153, 2730,
+ 2985, 62156, -4013, 1942, 122, -4013, 423, 45100, 76289, -4013,
+ 1775, -4013, -4013, 151, 3169, -4013, -4013, 2153, 814, 77920,
+ 62156, -4013, 814, 182, 2950, 814, 2951, 814, 814, 62156,
+ -4013, -4013, 62156, -4013, 62156, 43852, 814, -4013, 10184, -4013,
+ -4013, 3023, 3025, 3026, 62156, 2702, 46348, -4013, 2909, 46764,
+ 1310, -4013, -4013, 3085, -4013, -4013, -4013, -4013, -4013, 3212,
+ 3213, -4013, -4013, -4013, 225, -4013, 46764, 52588, 278, 46764,
+ -4013, 2020, -4013, -4013, 2044, 279, -4013, 62156, 3154, -4013,
+ -4013, -4013, 2921, 1955, 9714, 23956, -4013, 3224, 77920, -4013,
+ 5257, -4013, -4013, -4013, -4013, 23956, -4013, -4013, -4013, -4013,
+ -4013, 23956, -4013, 23956, 3201, -4013, 3343, 3343, 77920, 26560,
+ 1488, 2333, 26560, 26560, 26560, 26560, 26560, 26560, 26560, 26560,
+ 26560, 28702, 856, -4013, -4013, 23956, 23956, 3211, 3201, -4013,
+ -4013, 1547, 1547, 77920, 2925, 2755, 2931, 2935, 23956, -4013,
+ -4013, 1965, 27845, 2936, 41772, -4013, 23956, 8316, 1971, 2965,
+ 9979, 1287, 6053, -4013, 3298, 423, 23956, 801, 959, 23956,
+ 1976, 23956, 3208, -4013, -4013, -4013, 2941, -4013, -4013, 77920,
+ 23956, 26560, 26560, 7966, -4013, 8420, 23956, 2937, 8717, 20918,
+ -4013, 3105, 2966, 33355, -4013, 589, 589, 589, 589, -4013,
+ 62156, 62156, 62156, 29971, 3214, 29125, 59660, 2939, 1946, -4013,
+ 59660, 60076, -4013, 2943, -4013, 2945, 1287, 23956, 3205, 743,
+ 743, 3105, -4013, 23956, 23522, 2946, -4013, 780, 2948, -4013,
+ -4013, 5592, -4013, -4013, 2954, -4013, 2956, -4013, 1759, -4013,
+ -4013, -4013, 6093, 3127, -4013, -4013, 2939, 24390, 2874, -4013,
+ 1989, -4013, -4013, 21786, -4013, -4013, 1994, 32932, 2790, 22220,
+ 1287, 2004, 1754, -4013, -4013, 75884, -4013, 3016, -4013, -4013,
+ -4013, 2891, 2270, 2270, 1214, 2702, 3240, 1214, 6612, -4013,
+ -4013, 30394, 62156, 62156, -4013, 62156, 2024, 1184, 62156, -4013,
+ 62156, -4013, -4013, -4013, -4013, 3357, -4013, 62156, -4013, -4013,
+ 3008, 3009, -4013, 62156, 62156, 62156, 62156, -4013, -4013, 2037,
+ -4013, -4013, 46764, 62156, -4013, -4013, -4013, 413, 2185, 2430,
+ -4013, 3035, -4013, -4013, 3216, -4013, 62156, 2983, -4013, 1184,
+ 228, 2432, 133, -4013, -4013, 3028, 62156, -4013, 62156, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, 42188, -4013,
+ -4013, 62156, -4013, 41772, 34201, 41772, -4013, 436, 2210, 2430,
+ -4013, 3036, -4013, 3041, 3043, 3087, 680, 717, 3046, 3048,
+ 3089, 2984, 2986, 2990, -4013, -4013, 348, 423, -4013, -4013,
+ 423, 2270, 423, 62156, 62156, 62156, 62156, 62156, 62156, 62156,
+ 62156, 46764, 2739, 46764, 2739, 3360, 62156, 46764, 2739, 3262,
+ 1080, 1808, 46764, 62156, 62156, 46764, 62156, 62156, 62156, 62156,
+ 62156, 62156, 62156, -4013, 3344, 3278, 1981, 3318, 3049, 62156,
+ -4013, 62156, 2642, 62156, 62156, -4013, -4013, -4013, 2991, 915,
+ -4013, -4013, 3227, 3232, -4013, 915, 915, -4013, 481, 41772,
+ -4013, 2311, 2956, 2079, 1948, -4013, -4013, -4013, -4013, -4013,
+ -4013, 2680, -4013, -4013, 2079, 1931, 2995, -4013, 2997, -4013,
+ -4013, -4013, -4013, -4013, -4013, 2998, -4013, 751, -4013, -4013,
+ 62156, 2891, -4013, 337, 1258, 1334, 1357, 60492, 60908, 61324,
+ 2993, 62156, 62156, 26560, -4013, 1491, 1199, -4013, 3218, 62156,
+ 3037, -4013, -4013, -4013, 3160, 62156, -4013, -4013, -4013, -4013,
+ -4013, 3000, -4013, 3117, 50508, 2270, 46764, 46764, 2270, -4013,
+ 77920, 3011, 2730, 46764, 823, 1093, 70060, 3050, -4013, 3004,
+ 3304, -4013, 3029, 3005, -4013, -4013, 62156, 2976, 2026, 74,
+ 1601, -4013, 51756, 1805, 3275, -4013, -4013, -4013, 3386, 3108,
+ -4013, 2153, 2751, 3108, 423, 2659, -4013, 75884, 23956, 23956,
+ -4013, 3021, -4013, 3031, 2930, -4013, 2243, -4013, -4013, -4013,
+ -4013, -4013, -4013, 3103, 62156, -4013, -4013, 3032, 814, -4013,
+ -4013, 62156, -4013, 62156, -4013, -4013, 814, 814, -4013, 3142,
+ -4013, 62156, 62156, 62156, 2702, -4013, 279, -4013, 3311, 45932,
+ -4013, -4013, -4013, -4013, -4013, 3374, 364, 3319, -4013, -4013,
+ 3280, 3281, 3282, 3283, 956, -4013, -4013, 23956, 10184, -4013,
+ 3045, -4013, 10184, 6627, 10184, 3211, -4013, 1709, 3320, -4013,
+ 1347, 3051, 1709, 1067, 1067, 426, 426, 194, 194, 194,
+ 3343, 856, 10184, 10184, -4013, -4013, -4013, -4013, 3053, -4013,
+ -4013, -4013, 2755, -4013, 24824, 3186, 3430, -4013, -4013, -4013,
+ 3082, 3083, 3054, -4013, 23956, 25258, 3052, 78730, -4013, -4013,
+ 751, 333, 26560, 26560, 1202, -4013, 410, 23956, 77920, 2030,
+ 1202, 1496, 1815, 23956, 23956, 8787, 236, 23956, 6668, 3056,
+ 23956, 76694, -4013, -4013, 62156, 62156, 62156, 62156, -4013, -4013,
+ -4013, 59660, 60076, 3058, 19250, 1946, 3059, 62156, -4013, -4013,
+ 3061, 29548, 3287, 3226, -4013, 29548, 3226, 1500, 3226, 3290,
+ -4013, 33778, -4013, -4013, 3062, -4013, -4013, 18389, 1627, 10184,
+ 3440, 3333, 23956, 3063, 3064, 3066, 10184, 23956, -4013, 423,
+ 423, -4013, -4013, 36351, -4013, -4013, -4013, 3253, 10184, -4013,
+ 2153, 62156, 1287, 2355, 3079, 62156, -4013, 2874, -4013, -4013,
+ 3136, 2058, -4013, 348, -4013, -4013, -4013, -4013, 3146, 52172,
+ 3354, -4013, 23956, 2060, -4013, 3111, 3447, 134, 2078, 2082,
+ 1184, -4013, 3037, -4013, 1573, 3337, 138, -4013, 814, -4013,
+ 77920, -4013, 62156, 62156, -4013, -4013, -4013, -4013, 2394, -4013,
+ -4013, 62156, 62156, 62156, 62156, -4013, -4013, 41772, 2043, 3274,
+ -4013, -4013, 3276, 348, 62156, -4013, 77920, 814, 814, -4013,
+ -4013, -4013, -4013, 3093, 62156, 62156, 62156, 62156, 46764, 62156,
+ 62156, 2079, 2079, 77920, 3078, -4013, 2079, 2079, 3080, -4013,
+ 46764, 62156, 62156, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, 3164, -4013, -4013, -4013, 1091, -4013,
+ 1211, -4013, 46764, 2739, 1259, -4013, 62156, 62156, 62156, 62156,
+ 3384, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, 62156, -4013, -4013, 423, 423, 77920, 814, 814,
+ -4013, -4013, -4013, 3331, -4013, 915, 915, -4013, -4013, 209,
+ 2091, -4013, 30817, -4013, -4013, 2643, 423, 2643, 1548, -4013,
+ -4013, 2643, -4013, 2643, -4013, 1184, 3090, 1614, 3372, -4013,
+ -4013, -4013, -4013, 3376, 348, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ 23956, -4013, 1023, 1709, -4013, -4013, -4013, -4013, 3037, 1660,
+ 3148, 46348, 310, -4013, 3358, 880, 50508, 1219, 62156, -4013,
+ 2270, 2270, 3150, 62156, 3504, -4013, 522, 62156, 3415, 3143,
+ -4013, 423, -4013, -4013, 2730, 62156, 50508, 2751, 2093, -4013,
+ -4013, -4013, 3138, 3077, 3107, 1805, 826, 62156, -4013, 3141,
+ -4013, -4013, 3392, 3109, -4013, 10184, 10184, 423, 79135, 1775,
+ -4013, 62156, 3366, 814, -4013, 814, 814, -4013, -4013, 62156,
+ 2702, 2702, 2702, -4013, 3295, -4013, -4013, 814, 45932, 956,
+ 956, 956, 956, -4013, -4013, -4013, 10184, -4013, -4013, -4013,
+ 26560, 3395, -4013, 3113, 77920, -4013, 3115, 2104, 2125, 27422,
+ 3261, -4013, -4013, -4013, 6954, 3167, 10184, 3219, 3119, 3120,
+ -4013, 521, 521, 410, 2129, -4013, 26560, 26560, 1202, 1202,
+ 23956, 1202, -4013, -4013, 6981, 3291, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, 42604, 59660, 3118, 62156, 1946, 29548, -4013,
+ -4013, 1921, -4013, 29548, 3363, -4013, 29548, 62156, 3124, 62156,
+ 732, 23956, 23956, 3162, -4013, -4013, -4013, 3105, -4013, 751,
+ 3125, 62156, -4013, -4013, 769, -4013, -4013, -4013, -4013, -4013,
+ 45932, 3313, 45932, 1184, 7229, 3037, 30394, 37211, 62156, 61740,
+ 61740, 3273, 3037, 3148, -4013, -4013, -4013, -4013, -4013, -4013,
+ 3130, -4013, -4013, -4013, 3207, -4013, -4013, 2133, -4013, -4013,
+ -4013, -4013, -4013, 3344, -4013, -4013, 34201, -4013, 3215, -4013,
+ -4013, -4013, -4013, -4013, 31663, 36351, -4013, 680, 3132, 3134,
+ 717, -4013, -4013, -4013, 62156, 62156, 62156, 1306, -4013, 62156,
+ 1397, 878, 3172, 2702, 3426, -4013, -4013, -4013, 3344, -4013,
+ -4013, 915, -4013, -4013, -4013, 2273, 3467, -4013, 41772, -4013,
+ 43020, -4013, -4013, -4013, 423, -4013, 423, 3339, 62156, 39276,
+ 423, 423, -4013, 46348, 3547, 3547, 62156, -4013, -4013, 7469,
+ 3341, -4013, 3148, 3361, 3408, -4013, 3152, 62156, 3302, 3157,
+ 3168, 986, 986, 2976, 62156, 2137, 2153, 823, 50508, 2976,
+ -4013, 45, 3163, 3451, -4013, 3555, 2890, 3170, -4013, -4013,
+ 51756, 3347, 3108, 62156, 3077, 3301, -4013, 3305, -4013, 1162,
+ -4013, 62156, 30394, -4013, 78325, -4013, 2142, -4013, -4013, 2789,
+ 62156, 88, -4013, -4013, -4013, -4013, -4013, -4013, 278, -4013,
+ -4013, -4013, -4013, 914, 26560, 77920, 2143, 23956, -4013, 23956,
+ -4013, 3546, -4013, -4013, -4013, 79, -4013, -4013, -4013, 521,
+ 521, 1202, -4013, 3560, 3105, -4013, 2144, 3582, -4013, 62156,
+ 2160, -4013, 23956, 3179, -4013, -4013, 29548, 1921, 2161, 62156,
+ 2165, 77920, 3181, 2755, 10184, 62156, -4013, 3182, -4013, -4013,
+ -4013, -4013, 1310, 1214, 278, 3447, 3148, -4013, 3188, -4013,
+ -4013, 62156, -4013, 300, 300, 62156, 3148, -4013, -4013, 62156,
+ -4013, 41772, 3241, -4013, 62156, 77920, 2044, 81, -4013, 77920,
+ 77920, -4013, -4013, 2739, 2739, 62156, 2739, 62156, 62156, 62156,
+ 62156, 62156, 814, -4013, 2867, 423, -4013, -4013, 2171, -4013,
+ -4013, -4013, 62156, 3004, -4013, 3004, -4013, -4013, 3547, 1125,
+ -4013, -4013, -4013, 1383, 3391, -4013, 1034, 3377, 3284, 3189,
+ -4013, 46348, 3624, 3307, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -4013, -4013, 3490, 2730, 3141, -4013, -4013, -4013, -4013,
+ 23956, 3350, 2153, 1805, 3275, -4013, -4013, -4013, 2177, 3108,
+ -4013, -4013, 3573, 3381, 3578, -4013, 2178, -4013, -4013, 2930,
+ 79135, 3523, -4013, 3255, 62156, -4013, -4013, -4013, 914, 2188,
+ -4013, 2189, 2190, 3352, 3258, -4013, 23956, 1482, 2943, 42604,
+ 3217, -4013, 2195, -4013, 10184, 62156, -4013, -4013, -4013, 2196,
+ -4013, -4013, 3220, -4013, 3610, -4013, -4013, 3493, -4013, 61740,
+ 3250, 36351, -4013, 1759, 1759, 1660, -4013, 1184, -4013, -4013,
+ 23956, -4013, -4013, 2200, -4013, 87, 3359, 3503, 2202, 2215,
+ -4013, -4013, 2739, -4013, 2704, 3252, 2704, -4013, 2702, -4013,
+ -4013, -4013, -4013, 43020, 3004, -4013, -4013, -4013, 3533, 3478,
+ -4013, -4013, -4013, -4013, 227, -4013, 3406, 3407, 62156, -4013,
+ 3223, -4013, 2216, 62156, 62156, 3630, 3632, -4013, 7718, 46348,
+ 3141, 3077, 1805, 2043, -4013, -4013, 3411, -4013, 3412, 2730,
+ 30394, 1775, -4013, 890, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, 2755, 25692, 25692, 3230, -4013, -4013, 62156, -4013, 2217,
+ -4013, 62156, 3233, 45932, 300, 3235, -4013, 3231, -4013, -4013,
+ 3361, 1184, 10184, 46348, 3625, -4013, -4013, -4013, 3359, -4013,
+ -4013, -4013, 62156, -4013, 3362, -4013, 813, 813, 3567, -4013,
+ 3299, -4013, -4013, 3239, -4013, 3672, 2976, -4013, 680, 2153,
+ -4013, 3243, -4013, 3108, 3077, -4013, -4013, 3108, -4013, -4013,
+ -4013, -4013, 2040, 26994, 3371, 773, 8343, -4013, -4013, -4013,
+ -4013, 2222, -4013, -4013, -4013, 278, 1759, 23956, 1184, -4013,
+ 3377, 2044, 62156, -4013, -4013, 3143, -4013, 3665, -4013, 1058,
+ -4013, -4013, -4013, -4013, -4013, 3078, 3141, 41356, -4013, 3108,
+ 2789, -4013, 1917, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ 3655, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, 7765,
+ -4013, -4013, -4013, 3551, -4013, -4013, -4013, -4013, -4013, 2223,
+ -4013, -4013, -4013, -4013, -4013, -4013, 1831, -4013, -4013, 1949,
+ 1961, 26126, -4013, 1184, 3404, -4013, 41356, -4013, 1917, -4013,
+ 46348, -4013, -4013, 3254, 41356, 2228, -4013
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -3866, -3866, -3866, 2782, -3866, -734, -1006, 2182, -452, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -3866,
- 2719, -3866, -3866, -3866, 1410, -3866, -3866, 118, -1050, 348,
- 2396, 1108, -3866, -909, -3866, -3866, -486, 148, -624, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -3866, -681, 1551, 965,
- -711, -3445, -3866, -1151, -3084, -3866, 412, -3866, -3866, 1497,
- -3866, -3866, -3866, 829, -357, -3866, -3866, -3866, -3866, -3866,
- -3866, -3866, -98, -3866, -3866, -519, -1290, 43, -162, -390,
- -3866, -3866, 243, -391, -1181, -3866, -2923, -3866, -129, -3866,
- -3866, -3866, -388, -1137, 1060, -3866, -594, -913, 1343, -667,
- -3866, -280, -3866, -714, -618, -615, -673, -514, -3110, -3504,
- -3688, -3508, 1072, 141, -3866, -137, -1288, -3866, -3866, -1238,
- -1127, -3866, -715, -3866, -3866, -3866, -2398, -3866, -3866, -3866,
- -3866, 62, -3866, -3866, -3866, -3866, 305, -3866, -3866, -3866,
- -3866, -3866, -3866, -2217, 1463, 1464, -3866, -3866, -2575, -3866,
- -737, -3866, 453, -2442, 988, -3866, -3866, -3866, 2135, -3866,
- -3866, -3866, -3866, 307, -3866, 306, -3866, -3866, -1313, -3866,
- -3866, -1284, -3866, 1476, 805, -3866, -3866, -3866, -699, -758,
- -752, -3866, -2863, -3866, -3866, -3866, -3866, -3866, -790, -3866,
- 859, -2562, -784, -3866, -3866, 875, -3866, -3866, -3866, -3866,
- -656, -285, 2161, -3866, -564, -637, -3866, -3866, -3866, -283,
- -3866, -3866, -3866, -3866, -3866, -3866, -862, 7090, -1281, -3866,
- -3866, -3866, -3866, -1815, -3866, -3866, -3866, -1585, -3866, 3519,
- 1957, 1337, -1282, -3866, -21, 51, 2598, -915, -2143, 250,
- -420, -3866, -1456, -3866, -3866, -3866, -2063, -3866, -3866, -3866,
- -3866, -2858, -1279, -3866, -3866, -3866, 291, -3866, -3660, -3310,
- -3532, -3109, -2865, -3866, -3866, -875, -3866, -3866, -3866, -1114,
- 1665, -1179, -3866, -1762, 296, -3128, -592, -2670, -3866, -3024,
- -502, -3866, -3866, -3866, -3866, -3866, -3866, -3866, -870, -515,
- -3866, -3866, 3003, -3866, -3542, -3866, -3866, -3866, -3866, 1119,
- -3866, -1152, 946, -3866, -3866, -3866, -3866, -3866, -646, -723,
- -3866, -3866, -3866, 144, -3866, -3866, -3866, -3866, 1874, -760,
- -596, 2906, -1276, -459, -3866, -3866, -3866, -3866, -2503, -3866,
- -3866, -3866, -3866, -3866, -3866, -3866, -1192, -3866, -3866, -3866,
- -3866, -3866, -3866, -3866, 1811, 1813, 79, -6, -3866, -3866,
- -1010, -3866, -443, -3866, 2103, -3866, -3866, -3866, -3866, 1189,
- 147, 330, -3866, 3, -3866, -3866, 127, -2815, 4, -3866,
- -3866, -3866, -3866, -110, 5, -3866, 590, -3866, -3866, -2273,
- -3866, 152, 26, -3866, -3866, 1, 0, -41, -20, -8,
- 2, 2908, 2451, -3866, -3866, -3866, 19, 1660, -3866, -689,
- -156, -3866, 1195, -536, 1788, 2436, 2442, -3866, 1187, -3866,
- -3866, 1198, -3866, -3866, -3866, -534, 1800, -3866, 2443, 1817,
- -3866, 1184, 1197, -2762, 664, -2785, 193, -966, -349, 36,
- 2925, 2452, -3866, -3711, 620, -3866, -2932, -1863, -460, 1583,
- -1308, -3866, -3866, -932, 10205, -3866, -3866, -3866, 10356, 10719,
- -3866, -3866, 10894, 11316, -3866, -772, 710, 11351, 8308, -991,
- -1551, -658, 8991, -1757, -398, -2122, -3866, -3866, -3866, -316,
- 723, 458, -3866, -3866, -3866, -3866, -548, -2276, -546, -3866,
- -3866, -3866, -547, -3865, -1499, -3866, -174, -3866, 9671, 1231,
- -3866, -806, -2224, -2232, -929, -1424, -3866, -3866, -3866, -3866,
- -3866, -3866, -3866, -1214, -2708, -474, 1297, -3866, -3866, 1391,
- -3866, -3866, -3866, -1052, -716, -2136, 1300, -1645, -3866, -684,
- 640, 1990, -641, 75, -516, 5764, -424, -1842, -1007, -1235,
- -3866, -122, -3866, 25, -9, -119, -7, 3204, 8168, -1029,
- 7469, -1072, -945, -2541
+ -4013, -4013, -4013, 2962, -4013, -768, 258, 2341, -704, -4013,
+ -4013, -4013, 2892, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ 2910, -4013, -4013, 1530, -2078, -4013, -4013, 135, 2894, -1098,
+ 116, 2551, 1217, -4013, -945, -4013, -4013, -512, 120, -635,
+ -4013, -4013, -4013, -4013, -4013, -4013, -4013, -4013, -714, 1685,
+ 1066, -564, -3651, -4013, -4013, -1183, -2738, -4013, 477, -4013,
+ -4013, 1628, -4013, -4013, -4013, 919, 394, -516, -4013, -4013,
+ -4013, -4013, -4013, -4013, -4013, -339, -4013, -4013, -653, 137,
+ 46, -2075, -384, -4013, -4013, 339, -386, -1097, -4013, -3075,
+ -4013, -87, -4013, -4013, -4013, -366, -1184, 1159, -4013, -613,
+ -970, 1457, -707, -4013, -250, -4013, -762, -647, -645, -715,
+ -541, -3250, -3679, -3259, -2762, 1172, 157, -4013, -2726, 158,
+ -4013, -4013, 160, 161, -4013, -4013, -1296, -1216, -4013, -739,
+ -4013, -4013, -4013, -2534, -4013, -4013, -4013, -4013, 63, -4013,
+ -4013, -4013, -4013, 371, -4013, -4013, -4013, -4013, -4013, -4013,
+ -2343, 1586, 1587, -4013, -4013, -2725, -4013, -771, -4013, 523,
+ -2561, 1088, -4013, -4013, -4013, 2295, -4013, -4013, -4013, -4013,
+ -4013, -4013, -1365, -4013, -4013, 162, -4013, 1598, 884, -4013,
+ -4013, -4013, -748, -816, -806, -4013, -2545, -4013, -4013, -4013,
+ -4013, -328, -4013, -4013, -4013, -4013, -4013, -4013, -830, -4013,
+ 947, -2697, -4013, -4013, 963, -4013, -4013, -4013, -4013, -4013,
+ -701, -259, 2324, -4013, -587, -676, -4013, -4013, -4013, -254,
+ -4013, -4013, -4013, -4013, -4013, -4013, -911, 95, -1346, -4013,
+ -4013, -4013, -4013, -2026, -4013, -4013, -4013, -1669, -4013, 3747,
+ 2141, 486, 163, -4013, -26, 60, 2785, -951, -2219, 315,
+ -407, -4013, -1514, -4013, -4013, -4013, -2172, -4013, -4013, -4013,
+ -4013, -3019, 169, -4013, 2791, -4013, 361, -4013, -3865, -3469,
+ -3735, -3884, -3008, -4013, -4013, -915, -4013, -4013, -4013, -1192,
+ 1901, -1656, -4013, -1789, 365, 1247, -807, -2358, -3282, -590,
+ -2794, -4013, -3208, -505, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -907, -536, -4013, -4013, 3221, -4013, -3773, -4013, -4013,
+ -4013, -4013, 1204, -4013, -4013, -1185, 1037, -4013, -4013, -4013,
+ -4013, -4013, -685, -770, -4013, -4013, -4013, 170, -4013, -4013,
+ -4013, -4013, 2154, -782, -623, 3096, 171, -4012, -4013, -4013,
+ -4013, -4013, -2628, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -4013, -1651, -4013, -4013, -4013, -4013, -4013, -4013, -4013, 1979,
+ 1982, 56, -23, -4013, -4013, -1075, -4013, -481, -4013, 2277,
+ -4013, -4013, -4013, -4013, 1320, 172, 415, -4013, 3, -4013,
+ -4013, 200, -2924, 4, -4013, -4013, -4013, -4013, -1813, 5,
+ -4013, 686, -4013, -4013, -2400, -4013, 176, 22, -4013, -4013,
+ 1, 0, -41, -37, -33, 2, 3098, 2650, -4013, -4013,
+ -4013, -17, 1726, -4013, -723, -143, -4013, 1330, -529, 1962,
+ 2637, 2636, -4013, 1328, -4013, -4013, 1338, -4013, -4013, -4013,
+ -526, 1974, -4013, 2651, -4013, -4013, -4013, 1313, 1329, -2957,
+ 765, -2943, -2901, 284, 265, -1022, -326, 49, 3133, 2652,
+ 776, -458, -4013, -4013, -456, -3905, 726, -4013, -3739, -1963,
+ -812, 1728, -1341, -4013, -4013, -982, 11054, -4013, -4013, -4013,
+ 12840, 13664, -4013, -4013, 13837, 13971, -4013, -842, 822, 14211,
+ 2502, -1005, -1614, -580, 11181, -547, -1006, -2332, -4013, -3032,
+ -2194, -4013, -4013, -4013, -279, 833, 154, -4013, -4013, -4013,
+ -4013, -4013, -4013, -560, -4013, -562, -4013, -4013, -4013, -551,
+ -3181, -1484, -4013, -170, -4013, 12253, 1371, -4013, -920, -2329,
+ -2336, -2939, -1496, -4013, -4013, -4013, -4013, -4013, -4013, -4013,
+ -2610, -2827, -154, 1442, -4013, -4013, 1536, -4013, -4013, -4013,
+ -1080, -710, -2249, 1451, -1718, -4013, -721, -4013, 752, 2179,
+ -669, 7976, -1123, 11169, -439, -1958, -1054, -1288, -4013, -149,
+ -4013, 28, -10, -179, -473, 14, 3416, 12012, -561, -1140,
+ 6582, 8872, 9731, -2686
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -2163
+#define YYTABLE_NINF -2272
static const yytype_int16 yytable[] =
{
- 162, 161, 166, 156, 157, 159, 694, 554, 704, 850,
- 773, 510, 649, 1427, 615, 626, 1467, 1147, 1080, 615,
- 162, 1156, 166, 949, 950, 951, 1437, 1153, 1888, 955,
- 1431, 1897, 1512, 498, 1487, 1746, 1826, 1302, 2030, 2169,
- 545, 1573, 1242, 1264, 1233, 2295, 614, 693, 1327, 890,
- 736, 614, 896, 899, 1290, 538, 2811, 1749, 754, 1523,
- 1380, 681, 755, 911, 1906, 874, 2260, 776, 2001, 1398,
- 1094, 1546, 1547, 621, 1919, 1898, 788, 678, 1744, 581,
- 2260, 2947, 2043, 3029, 650, 3268, 2092, 2553, 1746, 3062,
- 1562, 3064, 837, 1886, 2067, 1418, 2068, 3438, 1258, 589,
- 2069, 1269, 2070, 1369, 1749, 2071, 1373, 2223, 2072, 1295,
- 1460, 1377, 2378, 2608, 3186, 1965, 2799, 3167, 1382, 3215,
- 1761, 1969, 1970, 2944, 3500, 2501, 2503, 1400, 2341, 2942,
- 2943, 1744, 1956, 2981, 3659, 3167, 884, 3675, 3460, 2140,
- 3470, 74, 3640, 919, 133, 698, 706, 154, 64, 1874,
- 3410, 3412, 160, 1804, 2892, 3886, 668, 3788, 707, 3443,
- 3343, 1205, 1747, 2095, 1291, 597, 705, 1141, 3396, 1144,
- 1419, -1938, 508, 2104, 2849, -1972, 1087, 3191, 3192, 3193,
- 3194, 3195, 3196, 3632, 550, 1397, -1992, -1504, 1599, -2017,
- 1419, 792, 1443, 1592, 4054, 3786, -1852, -1304, 4032, -1853,
- -1504, 2300, 1181, 1458, -1852, 1976, 2650, -1853, -2162, 1750,
- 1469, -1499, -1723, 1602, 3259, 1747, -2162, 1365, 2708, -1723,
- 1539, 1540, 2629, 2300, 1981, 3795, 782, 4102, -1875, 2937,
- 975, 550, 1419, 751, -1471, 2335, 1321, 597, 4050, -1829,
- -1504, 546, 2336, 1604, 1589, 1907, 1559, -1484, 708, -1511,
- 931, 550, 550, 550, 2809, 1507, 3978, 758, 684, -1941,
- -1514, 1629, 4033, 779, -1499, 1231, 3030, 1900, 597, 550,
- 597, 790, 2098, 2652, 597, 1963, 2986, 2937, 2089, 793,
- -1304, 935, 1084, 3981, 2770, -1826, 2772, 3649, 2351, 2546,
- 946, 4067, 2826, 2599, 1746, 1643, 1231, 550, -1514, 3176,
- 1315, 597, 2098, 597, 1182, 1820, -346, 3597, -118, 3248,
- 4034, 3221, 867, -118, 1419, 1299, 4011, 4035, 794, 3652,
- 4115, 603, 3179, 709, 2600, 603, 3, 4, 506, -1991,
- -734, 3706, 2618, 3707, 1302, 1590, 603, 2048, 1280, 603,
- -1307, 604, -1739, 4247, 4036, 604, 550, 655, 2382, -1739,
- 773, 1768, -1304, 2601, 4138, 3177, 604, 4015, 1573, 604,
- 1634, 1651, 4174, 1635, 2178, 1137, 795, 3986, 1157, 3856,
- 3299, 1900, 503, 550, 1351, 1822, 2062, 1647, 603, 1905,
- 645, 1438, 1659, 1659, 1106, 1832, 4042, 675, 1107, 832,
- 2465, 4001, 1823, 773, 2093, 1644, 2849, 3857, 604, 1158,
- 1652, 550, 1429, 845, 1546, 1547, 550, 852, 3300, 603,
- 169, 4284, 1562, 2038, 4037, 1420, -1471, 1181, 861, 4175,
- 1900, 1747, 2849, -1307, 1636, 1751, 1455, 2383, 1159, 604,
- 2090, 1900, 1139, 879, 1281, 1420, 2008, 1505, 1769, 1160,
- 656, 947, 888, 1599, 3610, 2012, 2038, 1514, 3791, 1111,
- 170, 1112, 1900, 3653, 3222, 4116, 2099, 2200, 3708, 1524,
- 1366, 551, 4088, 1106, 1300, 868, 4114, 1107, 1602, 4068,
- 2547, 3650, 4094, 4184, 1862, 2653, 3030, 1420, 2220, 752,
- 1341, 2946, 1868, 4200, 1471, 547, 3872, 3453, 984, -1471,
- 1918, 2849, 1527, 1366, -1304, -1307, 3796, 829, 1604, 2847,
- 2848, 1511, 1630, 1645, 2863, 2301, 1860, 4235, 1237, 3513,
- 954, 4237, 710, 1908, 2630, 1508, 1301, -1723, 1824, 1182,
- 869, 1952, 2004, 1954, 3260, 1909, 4270, 2912, 1961, 1746,
- 3167, -1991, 1942, 685, 954, 1945, 1946, 2028, 1749, 1982,
- 2337, 2000, 875, 554, 2898, 2899, 694, 1977, 4269, 1457,
- 1148, 1964, 3890, 1106, 47, 4164, 1183, 1107, 2226, 1420,
- 1508, 1593, 1539, 1540, 548, 1534, 549, 827, 2983, 1429,
- 3580, 1559, 2298, 2157, 2030, 4038, 1910, 2091, 1534, 799,
- 1366, 3174, 1749, 927, 830, 2861, 162, 693, 166, -1304,
- 2024, 928, -1991, 933, 2144, 937, 2999, 2009, 3781, 1623,
- -1938, 941, 2851, 1641, -1972, 1959, 3865, -1991, -1504, 1759,
- 2505, 1789, 1825, 1790, 1877, -1992, 3704, -1852, -2017, 1938,
- -1853, -1504, 960, 614, -1304, 614, -1304, 614, 918, -2162,
- 4195, 2165, -1499, 614, 942, 943, 3776, -1307, 944, 3745,
- 2176, 773, 976, 3749, 3636, 609, 610, -1739, 1568, 1077,
- 2850, 3904, 1086, 875, 1088, 1545, 1747, -1875, 1106, 4087,
- -1829, 1833, 1107, 3648, 956, 760, 922, 1569, 1551, 3424,
- -1511, 2851, 1595, 1632, 2365, 706, 609, 610, 609, 1232,
- 1306, 1570, 609, 610, 1113, 3606, 1568, 707, -1941, 1209,
- 1311, 2386, 4236, 3300, 1511, 705, 1168, 162, 161, 166,
- 156, 157, 159, 2575, 2486, 1569, 2487, 2114, 2500, 609,
- 1232, 609, 610, 966, 2510, 3096, 2120, 956, 3432, 1572,
- 2124, -118, -118, 2219, 1934, 2222, 2130, 2131, 2852, 1322,
- 1323, 1429, -1307, 1746, 1081, 2230, 3491, 4185, 3042, 2234,
- 3043, 2180, 1780, 550, 2143, 1409, 1151, 2246, 2247, 550,
- 984, 1834, 1104, 2849, 4261, 841, 885, 2260, 2260, 3970,
- 2264, 2266, 2260, 2849, 1116, 4227, 3980, -1307, 2561, -1307,
- 1309, 2280, 2463, 1130, 3025, 3270, 1744, 1931, 1083, 550,
- 3077, 1096, 1091, 2034, 614, 2250, 2251, 3997, 1187, 1173,
- 3523, 984, 2166, 1829, 2849, 3134, 3135, 699, 2421, -1471,
- 701, 2477, 2260, 2260, 2858, 2859, 2860, 2861, 2937, 2800,
- -1471, 2101, 1545, -1471, 1160, 2954, -1471, 3129, 3593, 4056,
- 3132, 3133, 1325, 3948, 3136, 3950, 1874, 1869, 2856, 2857,
- 2858, 2859, 2860, 2861, 3143, 4202, 1947, 1131, 74, 1137,
- 2562, 133, 3446, 1746, 154, 64, 1746, 2005, 2035, 160,
- 3271, 1620, 1621, 1622, 1623, 700, 2689, 2181, 2173, 2174,
- 1747, 2161, 4120, 2477, 3594, 505, 1511, 3545, 4091, 4092,
- 1274, 1590, 2478, 2064, 953, 2697, 627, 3678, 3466, 2802,
- 1835, 1389, 3078, 3628, 2804, 3626, 3524, 3998, 4262, 2543,
- 2563, 1174, 1170, 2853, 2854, 2855, 3164, 2856, 2857, 2858,
- 2859, 2860, 2861, 875, 2036, 2960, 1139, 2037, 1275, 654,
- 1870, 2051, 2121, 2235, 3164, 550, 875, 1376, 4134, 1390,
- 701, 2129, 3501, 2132, 4144, 1429, 1888, 162, 2083, 166,
- 1132, 1393, 1411, 2851, 2478, 2139, 1170, 1401, 1404, 1405,
- 2564, 3518, 1140, -2163, 4228, 2065, 3627, 3, 4, 1510,
- 614, 1394, 954, 2805, -557, 1836, 1473, 3938, 1475, 1948,
- 1477, 1949, 1479, 2115, 1481, 1482, 1483, 4057, 1956, 875,
- 1747, 1485, 4121, 1747, 2851, 2640, 2164, 633, 3419, 3272,
- 2170, 3089, 2172, 1097, 3941, 2175, 1532, 3891, 585, 3945,
- 2852, 3266, 3947, 3026, 1445, 2038, 4203, 4013, 2801, 3892,
- 2116, 842, 886, 2084, 585, 3268, 1549, 14, 2236, 694,
- 4229, 3698, 2167, 2690, 3546, 3629, 1310, 4076, 2464, 2149,
- 2481, 3079, 2162, 14, 2015, 4196, 2317, 1081, 2182, 2565,
- 1175, 2852, 1446, 4230, 702, 4122, 1576, 3519, 19, 3273,
- 676, 2373, 4249, 1591, 1098, 550, 2183, 550, 2253, 1081,
- 1587, 2163, 3080, 1596, 19, 4217, 1276, 3807, 4199, 971,
- 701, 1176, 2016, 1633, 651, 773, 984, 1391, 2803, 2849,
- 763, 764, 765, 2237, 766, 767, 768, 769, 770, 771,
- 875, 3081, 2481, 1649, 1650, 1599, 3371, 2034, 875, 875,
- 1177, 2691, 2039, 3326, 1828, 1395, 3331, 3332, 3333, 3334,
- 3335, 3336, 3337, 3338, 3339, 3340, 2401, 2339, 4136, 4085,
- 1602, 2673, 1755, 1762, 1763, 2195, 1767, 614, 4095, 4045,
- 4201, 1829, 614, 614, 3520, 707, 707, 4046, 707, 2238,
- 2566, 687, 2239, 705, 705, 2490, 705, 3996, 2567, 2296,
- 1604, 2568, 1277, 3612, 1412, 3614, 169, 3764, 1178, 3893,
- 2318, 3503, 2035, 1392, 2319, 3380, 3381, 3768, 1834, 2856,
- 2857, 2858, 2859, 2860, 2861, 634, 4250, 2259, 1988, 2856,
- 2857, 2858, 2859, 2860, 2861, 1429, 3775, 2013, 1663, 2085,
- 1447, 2282, 2602, 3018, 4073, 1151, 170, 3432, 521, 1947,
- 3758, 2320, 2086, 1429, 1413, 2430, 2853, 2854, 2855, 3767,
- 2856, 2857, 2858, 2859, 2860, 2861, 4023, 3454, 2036, 1746,
- 2017, 2037, 696, 2509, 614, 1746, 3040, 37, 2491, 862,
- 2240, 3019, 614, 2505, 1820, 1792, 4168, 4169, 3197, 2576,
- 2340, 4171, 2014, 37, 4024, 2949, 1771, 2579, 2950, 2581,
- 1821, 635, 3692, 701, 2767, 523, 1855, 41, 863, 2851,
- 1830, 697, 2882, 3987, 1960, 792, 2442, 943, 2889, 2773,
- 2574, 2768, 773, 41, 2063, -2163, 1448, 2431, 711, 1912,
- 2477, 3200, 614, 2729, 3167, 614, 614, 1772, 4047, 2937,
- 1988, 2586, 1414, 2937, 1599, 45, 1894, 3504, 2715, 2716,
- 2717, 2718, 864, 1911, 1822, 2113, 2018, 46, 4022, 2038,
- 2723, 45, 1962, 4219, 2119, 586, 2852, 2321, 2443, 3164,
- 2624, 1823, 1948, 46, 1949, 37, 3571, 2241, 1162, 2438,
- 1888, 1941, 3574, 3575, 3576, 3577, 3578, 3579, 1773, 2763,
- 1415, 47, 2468, 1988, 1798, 3296, 1747, 614, 746, 1604,
- 3452, 2478, 1747, 793, 1279, 41, 1932, 587, 759, 1163,
- 1280, 2260, 4254, 1975, 2260, 2260, 2260, 2260, 2260, 2260,
- 2260, 2260, 2260, 2260, 2957, 1799, 1903, 1991, 3455, 3020,
- 2479, -887, 984, 754, 3647, 2849, 2073, 2507, 1164, 530,
- 2003, 531, 794, 45, 2260, 3041, 2426, 3505, 3792, 773,
- 3506, 1170, 3372, 4278, 1800, 46, 2039, 3456, 3473, 3314,
- 3863, 2480, 1557, 1558, 536, 3204, 1933, 2766, 1416, 636,
- 637, 2442, 784, 2260, 2260, 2040, 3457, 1904, 3952, 2824,
- 2067, 2950, 2068, 2775, 2776, 1814, 2069, 2778, 2070, 2402,
- 795, 2071, 3097, 2782, 2072, 1815, 862, 1824, 4117, 2511,
- 3681, 3205, 3682, 3625, 4128, 791, 1281, 2593, 1956, 3793,
- 1816, 831, 37, 2594, 3206, 3021, 2792, 834, 1240, 1746,
- 1746, 1746, 162, 3002, 166, 3228, 3074, 3290, 2876, 3048,
- 3474, 2853, 2854, 2855, 3268, 2856, 2857, 2858, 2859, 2860,
- 2861, 1918, 41, 836, 169, 2569, 3957, 3958, 3887, 2481,
- 2813, 1618, 1619, 1620, 1621, 1622, 1623, 3075, 2151, 2901,
- 2152, 2197, 2153, 550, 2154, 2561, 2155, 597, 4055, 864,
- 2156, 2559, 1599, 162, 2194, 166, 2191, 2192, 2193, 984,
- 45, 2701, 2849, 3475, 170, 3476, 3076, 2308, 3888, 2309,
- 3005, 1825, 46, 2603, 1589, 3207, 2148, 1602, 2569, 3731,
- 1452, 2244, 922, 4097, 2185, 851, 3071, 1926, 3197, 2595,
- 3914, 2310, 597, 1772, 3198, 2851, 515, 2109, 2110, 2522,
- 1453, 3072, 2604, 1247, 3199, 2605, 47, 1604, 2232, 2233,
- 2678, 2664, 2196, 2673, 1081, 1081, 2245, 2562, 1241, 1817,
- 2248, 2249, -140, 1746, 699, 1282, 1747, 1747, 1747, 3249,
- 2217, 3200, 3253, 3201, 2606, 2270, -1351, 2271, 3017, 1222,
- -1351, 3607, 1462, 1746, 1773, 1463, 2306, -140, 37, 1248,
- 2523, 3327, 2852, 3328, 3726, 3727, 1283, 1568, 2293, 2679,
- 2294, 1222, 2759, 2903, 2937, 2904, 3147, 2563, 3473, 2937,
- 1261, 3324, 2937, 3604, 521, 3966, 1569, 3968, 41, 2366,
- 3799, 3800, 700, 3049, 2311, 1284, 2048, 2905, 1568, 2312,
- 1570, 2790, 1659, -881, 2313, 3344, 2781, 1920, 521, 4148,
- 2524, 1262, 3466, -1351, 32, 3202, 1244, 1569, 3050, 4160,
- 2821, 857, 2702, 773, 3011, 2147, 45, 2564, 603, 1953,
- 1168, 1572, 2418, 1994, 865, 4083, 1249, 2422, 2596, 1289,
- 2425, 523, 1607, 1608, 4161, 2680, 2681, 1245, 604, -1351,
- 3474, 2260, 2851, 1966, 2349, 1921, 1922, 701, 1568, 2682,
- 1747, 2525, 2448, 2363, 1995, 523, 1920, 3117, 2458, 2597,
- 3203, 1089, 47, 866, 754, 3204, 792, 1569, 3329, 2807,
- 1747, 2711, 1250, 881, 1251, 3008, 1611, 3118, 3330, 1918,
- 1920, 892, 1639, 3488, 1955, 2906, 2492, 3031, 2598, 2968,
- 2907, 3547, 897, 3475, 2683, 3476, 1263, 3840, 3841, 2852,
- 906, 3205, 3403, 2388, 1921, 1922, 2565, 916, 2952, 3471,
- 2314, 3548, 1253, 2506, 3206, 3052, 3466, 2853, 2854, 2855,
- 2315, 2856, 2857, 2858, 2859, 2860, 2861, 912, 1921, 1922,
- 3404, 597, 162, 2404, 2432, 614, 2435, 2539, 1918, 2875,
- 1996, 2877, 2878, 2703, 3034, 3751, 3230, 2918, 3055, 1255,
- 3057, 1997, 1753, 1746, 793, 1754, 3406, 2560, 3725, 948,
- 2570, 702, 1918, 952, 2937, 530, 2720, 531, 2374, 1165,
- 2377, 2721, 958, 1116, 984, 1998, 533, 2849, 2582, 2684,
- 2220, 2685, 2704, 1756, 1257, 961, 1757, 535, 2591, 530,
- 536, 531, 1599, 794, 3732, 3207, 3357, 963, 2259, 2259,
- 1166, 2614, 1088, 2259, 32, 1288, 2908, 2566, 2146, 32,
- 2621, 2147, 2260, 2260, 536, 2567, 2909, 1602, 2568, 198,
- 3492, 3345, 3346, 1137, 507, 2394, 2395, 1138, 984, 1167,
- -369, 2849, 583, 2485, 1289, 3306, 968, 3115, 3502, 3507,
- 969, 795, 3122, 2259, 2259, -1350, 3402, 1604, 652, -1350,
- 2158, 3408, 970, 2159, 2991, 2992, 972, 2994, 1618, 1619,
- 1620, 1621, 1622, 1623, 2853, 2854, 2855, 971, 2856, 2857,
- 2858, 2859, 2860, 2861, 2220, -1374, -1374, 932, 934, 936,
- 1747, 3310, 938, 939, 940, 973, 37, 1093, 3919, 974,
- 1139, 2822, 945, 1270, 3211, 843, 2823, 844, 3590, 1993,
- 3592, 1598, 1168, 3595, 1599, 3596, 3187, 1168, 2610, 614,
- 3010, 2721, -1350, 3403, 3935, 3936, 41, 614, 612, 614,
- 846, 3378, 847, 612, 1271, 1212, 1140, 2530, 1272, 1602,
- -1316, 1213, 2740, 2741, 1746, 1603, 1920, 2488, 1746, 3012,
- 1746, 3404, -1316, 1106, 2642, -1829, -1316, 1107, -1350, 3178,
- 3180, 3181, 2642, 1273, 45, 977, 3405, 2851, 3044, 1604,
- 4216, 3466, 978, 1545, 4002, 1805, 46, 3406, 4020, 2160,
- 3309, 1214, 2159, 3496, 1920, 980, 3402, 2697, 1545, 2286,
- 1805, 2543, 2289, 3514, 1921, 1922, 1092, 2188, -1316, 3407,
- 2189, 3092, 3277, 3164, 1095, 3095, 3280, 3281, 3724, 3283,
- 47, 3285, 3286, 2379, 1099, 2672, 1429, 3098, 2714, -1316,
- 3291, 2851, 2414, 3351, 2852, 2189, 2963, 2964, 1918, 1888,
- 1215, 2814, 1921, 1922, 1517, 1518, 2816, 1216, 3468, 3469,
- 1217, 3148, 1920, 2745, 3082, 1100, 3084, 162, 2730, 875,
- 3307, 1101, 3311, 3403, 1920, -1316, 3657, 2712, 2673, 3915,
- 3916, 3917, 3918, -1316, 1105, 3226, 1918, 27, 1545, 1605,
- 1160, 1747, 3408, 1606, 1117, 1747, 2498, 1747, 2852, 2499,
- 1124, 3404, 3149, 875, 2555, 1125, 2709, 2556, 4051, 1127,
- 1921, 1922, 1218, 1128, 1607, 1608, 3405, 1135, 773, 3116,
- 1149, 2659, 1921, 1922, 2660, 2674, 3150, 3406, 2675, 2784,
- 1609, 2820, 2159, 4061, 2147, 2830, 2834, 2838, 2147, 2147,
- 2147, 3151, 1150, 3130, 1918, 3152, 1180, 2839, 2865, 3407,
- 2147, 2147, 1531, 1154, 47, 3220, 1918, 3223, 1611, 1545,
- 1160, 1805, 1302, 3153, 1185, 37, 614, 1219, 3942, 1220,
- 2922, 1612, 2923, 3212, 2951, 3214, 2260, 1207, 3154, 1221,
- 2961, 2881, 1211, 2886, 2147, 2260, 2887, 1222, 3962, 3065,
- 1237, 3126, 3066, 3415, 1239, 41, 1223, -1316, 3069, 2938,
- 1246, 3070, 2260, 2260, 3217, 3599, 3600, 3218, 3587, 2853,
- 2854, 2855, 1266, 2856, 2857, 2858, 2859, 2860, 2861, 1287,
- 4238, 27, 3408, 3420, 3422, 1292, 3257, 1224, 1920, 3258,
- 2924, 1225, 2925, 45, 694, 1472, 3263, 4282, 1474, 4283,
- 1476, 1278, 1478, 3295, 1480, 46, 1614, 2938, 1484, 2511,
- 3315, 2969, 2970, 2147, 3155, 1106, 1226, 3352, 1127, 1107,
- 3353, 3493, 3156, 3305, -2163, -2163, 2987, 2856, 2857, 2858,
- 2859, 2860, 2861, 1297, 3278, 1587, 1921, 1922, 1298, 47,
- -1098, 1212, -1098, 3362, 1303, 3374, 3363, 1213, 2147, 2306,
- 3444, 1598, 1305, 3445, 1599, 3157, 3943, 3448, 1920, 37,
- 3449, 3472, 3583, 3730, 2159, 3584, 2189, 1307, 2921, 3783,
- 1918, 1600, 3784, 3789, 1227, 3790, 2159, 3883, 2159, 1602,
- 3884, 2931, 1127, 3924, -1304, 1603, 3925, 1214, 875, 41,
- 1134, 694, 1136, 1749, 2927, 2928, 2929, -2163, -2163, 3319,
- 1618, 1619, 1620, 1621, 1622, 1623, 1921, 1922, 1312, 1604,
- 162, 2194, 166, 2191, 2192, 2193, 1317, 3567, 3926, 3325,
- 2953, 2147, 614, 3934, 2220, 3984, 2189, 45, 3985, 2931,
- 4008, 4005, 693, 1319, 4006, 4052, 1215, 1326, 4053, 46,
- 1918, 1329, 4063, 1216, 3347, 2189, 1217, 1598, 1370, 2926,
- 1599, 2260, 4070, 4075, 1168, 1429, 3237, 1746, 1372, 1374,
- 4077, 3073, 3589, 3237, 4137, 1383, 4142, 1638, 3085, 4143,
- 3750, 1366, 3753, 4239, -2074, 1602, 4149, 875, 3729, 2189,
- 1511, 1603, 2259, -157, 1385, 2259, 2259, 2259, 2259, 2259,
- 2259, 2259, 2259, 2259, 2259, 1081, 4150, 4151, 1218, 2887,
- 2147, 4154, 1387, 4156, 1429, 1604, 3237, 3676, 4173, 1605,
- 1399, 2189, 1417, 1606, 2961, 3355, 4179, 4180, 4205, 2189,
- 2189, 1429, 1407, 4280, 4291, 3900, 4281, 4281, 1840, 185,
- 1422, 1423, 2961, 1424, 1607, 1608, 1425, 1426, 3127, 1428,
- 1429, 1436, 1746, 1439, 2259, 2259, 1440, 1441, 1442, 1444,
- 1609, 1450, 1449, 1219, 1451, 1220, 1456, -2074, 3068, 1461,
- 1513, 1841, 1486, 1519, 1521, 1221, 1528, 1515, 1522, 1529,
- -1475, -1482, 1538, 1222, 1842, 1610, 1541, 3713, 1611, 1542,
- 1543, 1544, 1223, 1548, 1747, 3147, 3090, 1843, 47, 1550,
- 1553, 1612, -1472, -1473, 1613, 1554, 1555, 1556, 3680, 1561,
- 1563, 1564, 1565, -2074, -1476, 1566, 3683, 3684, -1474, 1606,
- 1567, 1574, 3689, 1267, 1575, -2074, 1577, 1225, 1578, -2074,
- 1579, 1580, 1581, 1582, -2074, 1844, 1583, 1584, 1627, -2074,
- 1607, 1608, -2074, 1638, -2074, 1642, 1654, 1662, 1760, 1138,
- 1787, 1140, 1268, 1795, 1801, 1802, 1803, 1805, 1806, 1807,
- 1809, 1808, 1810, 2642, 1845, 1831, 2642, 2642, 1837, 1846,
- 2642, -2074, 1838, 1863, 1857, 1864, 1614, 1865, 1866, 1747,
- 2642, 1861, 1867, 1892, 1611, 1325, 1900, 1893, 1902, 3166,
- 1912, 1915, -2074, 1913, 1916, 1917, 1918, 1612, 1924, 1925,
- 1935, 1988, 1927, 1928, 1936, 1943, 1929, 3166, 1939, 754,
- 1227, 1940, 1950, 1951, 1222, 3298, 1957, 3845, 1958, 1978,
- 875, 3852, 875, 614, 1967, 1968, 1979, 1983, -2074, 1980,
- 3173, 3175, 2203, 3308, 1984, 3182, -2074, 1989, 1992, 2006,
- 2007, 614, 2019, 2021, 2029, 3637, 3638, 2022, 1545, 1551,
- 2031, 1534, 2032, 3235, 2049, 2052, 2055, 517, 2060, 2077,
- 2061, 2056, 2082, 1263, 2096, 1847, 1615, 1616, 1617, 3224,
- 1618, 1619, 1620, 1621, 1622, 1623, 2097, 2102, 2369, 2204,
- 2107, -2074, 3262, 875, 2370, 2108, 2105, 3657, 2112, 2123,
- 2125, 1156, 2126, 185, 2127, 2128, 2141, 2142, 2171, 2177,
- 2186, 2199, 162, 3276, 2226, 3639, 1598, 3797, 2205, 1599,
- 3216, 2268, 2269, 2225, 2281, 2231, 3686, 3687, 3688, 2287,
- 3922, 1599, 2291, 2299, 1848, 2292, 627, 2305, 2322, 2206,
- 1849, 2324, 2364, 1850, 1602, 3231, 2351, 2368, 3813, 3814,
- 1603, 2367, 2259, 3239, 2371, 2372, 700, 3245, 2938, 2380,
- -2074, 2389, 2390, 2415, 2416, 2399, 2381, 2417, 2207, 1851,
- 2428, 3256, 2433, 2208, 1604, 1852, 1618, 1619, 1620, 1621,
- 1622, 1623, 2436, -2074, 2438, -2074, -2074, 2447, 1853, 2413,
- 2393, 2452, 614, 2440, 2459, 2441, 2456, 3842, 2473, 2476,
- 2489, 2494, 1089, 1093, 3837, 3838, 2496, 2545, 2550, 1212,
- 2554, 2557, 2607, 1854, 2631, 1213, 2558, 2620, -2074, 2209,
- 2627, -2074, -2074, -2074, 3900, 2628, 2632, 2633, 2938, 694,
- 2635, 2636, 2637, 2639, 2649, 1081, 2900, 3369, 2638, 694,
- 2651, 2658, 2662, 2655, 2665, 2666, 2667, 2961, 2668, 2669,
- 2670, 2671, 2676, 2695, 2700, 1214, 2707, 2713, 3489, 2719,
- 2727, 2722, 2728, 1746, 2743, 2746, 2758, 1511, 2760, 2761,
- 1587, 2762, 3770, 2764, -2163, 2765, 2774, 2777, 1606, 2780,
- 3395, 1457, 2786, 2787, 2779, 2788, 2789, 4007, 2798, 2200,
- 3430, 3388, 3389, 3390, 3391, 2806, 2791, 185, 2810, 1607,
- 1608, 954, 2812, 3953, 1215, 2817, 2818, 2832, 2833, 2835,
- 2836, 1216, 2883, 2815, 1217, -2163, 2902, 2837, 3908, 2840,
- 3909, 3910, 2210, 2259, 2259, 2147, 2946, 2871, 2211, 2917,
- 2841, 3913, 2940, 2843, 2212, 3549, 2948, 2846, 3552, 2864,
- -927, 2910, 4062, 1611, 2870, 2897, 2973, 2979, 2872, 2993,
- 2990, 2920, 3392, 3393, 3394, 2975, 1612, 2873, 2985, 3004,
- 2880, 3007, 2895, 2213, 2896, 2214, 1218, 2945, 3009, 2996,
- 3798, 2995, 3000, 3001, 3013, 3027, 3028, 3039, 3830, 3831,
- 3038, 3833, 2215, 3054, 3056, 3045, 3046, 3866, 3087, 3088,
- 1747, 3091, 3101, 3093, 3102, 3103, 3106, 3094, 3812, 3099,
- 3100, 3109, 3119, 3104, 3111, 3105, 3107, 2216, 3108, 4100,
- 3821, 3113, 3166, 4105, 4106, 3110, 3121, 3112, 3114, 3123,
- 1976, 1219, 3125, 1220, 3131, 3137, 3138, 3139, 3140, 3534,
- 3533, -2163, 3535, 1221, 3536, 3141, 3142, 3168, 3171, 3172,
- 3965, 1222, 2751, 3183, 3227, 2038, 614, 3845, 3188, 3189,
- 1223, 3225, 3184, 3229, 3836, 3236, 3237, 3247, 3562, 3563,
- 3241, 1188, 614, 3243, 4101, 3246, 3251, 3250, 3254, 4065,
- 4104, 3275, 2642, 3255, 3282, 3284, 3292, 3293, 2642, 2642,
- 2642, 2642, 2642, 2642, 4107, 1225, 4109, 3297, 875, 3294,
- 3302, 3303, 3591, 1189, 3304, 3313, 1531, 3318, 2867, 2849,
- 2866, 3364, 3348, 3349, 3350, 3356, 1592, 3377, 3376, 3385,
- 1226, 3414, 1746, 3423, 3401, 3433, 3480, 3437, 3417, 3434,
- 3436, 3440, 614, 3459, 3482, 1618, 1619, 1620, 1621, 1622,
- 1623, 3609, 3611, 3613, 3615, 942, 943, 3483, 3497, 3494,
- 3499, 3515, 3495, 3544, 3508, 3516, 3598, 3527, 1190, 3528,
- 3517, 3530, 3560, 4060, 3529, 4268, 3531, 3532, 3503, 1746,
- 3572, 3564, 3630, 3573, 3570, 3608, 3603, 1746, 1227, 3601,
- 3602, 3643, 3622, 3267, 3645, 3661, 623, 624, 2159, 1191,
- 3642, 630, 3664, 3646, 3673, 640, 646, 623, 3674, 653,
- 3665, 3677, 646, 646, 3679, 680, 3668, 683, 4041, 1511,
- 3685, 3690, 4268, 3693, 162, 3667, 3694, 4086, 2752, 3695,
- 4268, 3696, 3605, 773, 1192, 3697, 3705, 3702, 3709, 3714,
- 3973, 4082, 3715, 3746, 3722, 4159, 3754, 3747, 3710, 2938,
- 3718, 3631, 3742, 2938, 3744, 3757, 3759, 3760, 3716, 1747,
- 4112, 3717, 3762, 1193, 3763, 3771, 1630, 3778, 3780, 3785,
- 3786, 3774, 3805, 3641, 3700, 3990, 3794, 2259, 3808, 3809,
- 3822, 3825, 3829, 3834, 3839, 3815, 3927, 3843, 3850, 3858,
- 3859, 3867, 614, 3870, 3871, 3876, 3874, 3882, 3855, 3869,
- 3885, 3889, 3895, 2259, 2259, 3897, 1747, 3898, 3906, 3912,
- 3920, 3921, 3923, 3928, 1747, 3930, 3939, 4257, 3932, 3931,
- 3933, -2076, 3946, 3949, 3955, 32, 3959, 3961, 3963, 1196,
- 3967, 3979, 3982, 3999, 4000, 1197, 3983, 4009, 3992, 3993,
- 3629, 4016, 1198, 4018, 4026, 4027, 737, 742, 742, 745,
- 1876, 742, 750, 4029, 737, 756, 680, 4031, 775, 1200,
- 756, 4066, 680, 4043, 680, 4044, 3816, 1201, 742, 756,
- 680, 2931, 4072, 4081, 701, 2931, 4089, 4118, 3826, 1598,
- 4098, 4123, 1599, 4127, 4129, 4140, 4133, 4139, 4141, 4146,
- 4147, 4157, 4153, 4069, 4158, 3769, 4152, 4163, 4165, 1600,
- 4176, 4102, 4181, 4069, -2076, 4182, 4183, 1602, 3779, 4186,
- 4188, 4192, 3425, 1603, 162, 3772, 3777, 4197, 1202, 4226,
- 4198, 4215, 2754, 3267, 4220, 4218, 4223, 4184, 4185, 4248,
- 4234, 1511, 4260, 3738, 3739, 3740, 3741, 1604, 4276, 4285,
- 4279, 4289, 1990, 2710, 1210, 2955, 2549, 3051, 614, 1129,
- -2076, 2619, 3512, 3144, 4111, 4003, 3844, 4113, 3880, 4028,
- 3663, 3116, -2076, 4030, 1661, 3864, -2076, 2998, 3810, 4170,
- 4040, -2076, 2785, 4221, 3971, 4253, -2076, 4256, 4189, -2076,
- 4187, -2076, 4232, 3003, 3881, 4135, 3633, 2693, 2694, 3511,
- 3063, 2074, 2259, 3634, 3635, 2677, 3232, 4259, 1511, 4286,
- 614, 4290, 1511, 1511, 3185, 3169, 4233, 3991, -2076, 2059,
- 4178, 4224, 3994, 3819, 3820, 629, 4084, 3669, 3823, 3824,
- 3691, 4145, 1506, 2502, 3670, 877, 4155, 3120, 4241, -2076,
- 4287, -2089, 4131, 2642, 2642, 2375, 2150, 1605, 2376, 2958,
- 3651, 1606, 3773, 3450, 4167, 1758, 2959, 875, 2398, 1784,
- 2971, 3848, 1102, 3849, 1783, 2967, 3853, 3854, 1788, 2397,
- 2392, 2984, 1607, 1608, 3397, -2076, 2972, 1123, 4074, 3861,
- 3752, 1791, 2951, -2076, 3451, 3368, 1110, 4064, 1609, 4206,
- 3358, 773, 4207, 2663, 4214, 2962, 2915, 2913, 2827, 3447,
- 2350, 0, 0, 0, 2938, 0, 0, 0, 0, 2938,
- 0, 614, 2938, 1610, 0, 0, 1611, 3878, 0, 0,
- 0, 2961, 0, 0, -2089, 0, 773, 0, -2076, 1612,
- 0, 0, 1613, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2938, 0, 3899, 0, 0, 0, 0, 0,
- 0, 1598, 0, 0, 1599, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3700, 3700, 3700, 3700, 0,
- -2089, 1600, 0, 627, 0, 0, 0, 3989, 0, 1602,
- 0, 0, -2089, 0, 0, 1603, -2089, 0, 801, 0,
- 0, -2089, 0, 680, 0, 737, -2089, -2076, 742, -2089,
- 745, -2089, 742, 0, 1614, 0, 756, 0, 775, 1604,
- 756, 854, 0, 0, 754, 0, 0, 0, 742, 0,
- -2076, 756, -2076, -2076, 0, 0, 2931, 0, -2089, 0,
- 0, 2931, 3905, 0, 2931, 876, 0, 0, 0, 737,
- 0, 0, 0, 0, 745, 0, 0, 0, 737, -2089,
- 0, 775, 0, 0, 0, -2076, 2938, 0, -2076, -2076,
- -2076, 0, 0, 0, 0, 0, 742, 0, 0, 0,
- 0, 926, 0, 0, 0, 0, 0, 3964, 0, 0,
- 0, 0, 0, 0, 0, -2089, 3166, 0, 0, 0,
- 0, 0, 0, -2089, 1615, 1616, 1617, 0, 1618, 1619,
- 1620, 1621, 1622, 1623, 2938, 0, 0, 0, 0, 1605,
- 2642, 2842, 680, 1606, 4004, 0, 0, 2751, 0, 0,
- 614, 0, 680, 967, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1607, 1608, 1188, 0, -2089, 0,
- 0, 1076, 0, 680, 646, 0, 876, 0, 646, 0,
- 1609, 162, 4021, 0, 0, 0, 0, 0, 0, 0,
- 0, 680, 0, 0, 0, 680, 0, 0, 1189, 0,
- 0, 1076, 0, 0, 0, 1610, 0, 0, 1611, 0,
- 0, 0, 680, 627, 0, 0, 0, 0, 0, 0,
- 0, 1612, 0, 0, 680, 773, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -2089, 0, 0,
- 0, 0, 0, 0, 4012, 0, 0, 0, 0, 0,
- 0, 0, 0, 1190, 0, 1212, 2931, 0, 0, 0,
- -2089, 1213, -2089, -2089, 0, 0, 680, 0, 0, 0,
- 0, 0, 0, 0, 1081, 742, 742, 0, 0, 0,
- 0, 0, 0, 0, 1191, 0, 1247, 0, 0, 0,
- 0, 0, 0, 0, 0, -2089, 1614, 0, -2089, -2089,
- -2089, 1214, 0, 0, 0, 0, 0, 875, 0, 0,
- 0, 0, 0, 2752, 0, 0, 737, 0, 0, 1192,
- 0, 4194, 0, 0, 0, 0, 737, 0, 0, 775,
- 0, 2938, 1248, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 742, 0, 0, 0, 0, 0, 1193, 0,
- 1215, 0, 0, 0, 0, 0, 680, 1216, 0, 0,
- 1217, 4222, 742, 742, 4093, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 680, 680, 680, 742,
- 0, 737, 0, 0, 0, 0, 1615, 1616, 1617, 0,
- 1618, 1619, 1620, 1621, 1622, 1623, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 742, 742, 742, 1249,
- 32, 0, 1218, 0, 2753, 0, 0, 0, 0, 0,
- 1197, 0, 0, 0, 0, 0, 876, 1198, 0, 0,
- 1076, 0, 0, 0, 0, 1876, 0, 0, 0, 876,
- 0, 0, 0, 1598, 1200, 0, 1599, 0, 0, 0,
- 0, 0, 1201, 0, 0, 1250, 0, 1251, 0, 0,
- 0, 1489, 1489, 1600, 0, 0, 680, 1252, 623, 1220,
- 0, 1602, 0, 4288, 0, 0, 0, 1603, 1598, 1221,
- 0, 1599, 0, 0, 0, 1520, 0, 1222, 680, 0,
- 0, 1526, 876, 0, 0, 1253, 1223, 0, 1600, 0,
- 0, 1604, 0, 1202, 1076, 0, 1602, 2754, 4275, 0,
- 0, 0, 1603, 0, 162, 4246, 166, 4243, 4244, 4245,
- 0, 0, 0, 0, 0, 0, 0, 1254, 0, 0,
- 0, 1225, 1255, 1076, 0, 4267, 1604, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4274,
- 4246, 166, 4243, 4244, 4245, 0, 1256, 0, 0, 0,
- 0, 1076, 1076, 0, 1076, 0, 0, 1257, 0, 4266,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1076, 4267, 0, 0, 0, 0, 0, 0, 0,
- 4267, 0, 0, 162, 4246, 166, 4243, 4244, 4245, 0,
- 0, 1605, 0, 876, 0, 1606, 0, 0, 0, 0,
- 0, 876, 876, 0, 1227, 0, 4266, 680, 0, 0,
- 1076, 0, 0, 0, 4266, 0, 1607, 1608, 0, 0,
- 0, 0, 0, 0, 0, 0, 1605, 0, 0, 0,
- 1606, 0, 1609, 0, 0, 0, 0, 0, 0, 1076,
- 0, 0, 0, 1076, 1076, 0, 0, 0, 0, 0,
- 0, 1607, 1608, 680, 680, 1794, 0, 1610, 0, 0,
- 1611, 0, 0, 0, 0, 0, 0, 1609, 0, 0,
- 0, 646, 0, 1612, 0, 0, 1613, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1610, 0, 0, 1611, 0, 0, 0, 0,
- 0, 0, 0, 646, 0, 0, 0, 0, 1612, 0,
- 0, 1613, 0, 0, 0, 680, 1899, 0, 0, 0,
- 0, 0, 680, 0, 0, 742, 0, 0, 0, 0,
- 0, 0, 0, 0, 1597, 0, 0, 0, 0, 1598,
- 0, 0, 1599, 775, 0, 0, 0, 0, 1614, 0,
- 680, 0, 0, 0, 0, 0, 0, 0, 0, 1600,
- 0, 0, 1601, 0, 0, 0, 0, 1602, 0, 0,
- 680, 0, 0, 1603, 1598, 0, 0, 1599, 742, 742,
- 742, 742, 680, 1614, 0, 0, 0, 0, 0, 0,
- 0, 756, 0, 646, 1600, 0, 680, 1604, 0, 0,
- 0, 0, 1602, 0, 0, 0, 0, 2002, 1603, 680,
- 0, 0, 0, 0, 0, 0, 0, 742, 742, 0,
- 0, 0, 0, 742, 0, 0, 0, 0, 0, 0,
- 0, 0, 1604, 0, 0, 0, 0, 0, 1615, 1616,
- 1617, 0, 1618, 1619, 1620, 1621, 1622, 1623, 0, 0,
- 0, 0, 0, 0, 0, 2890, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 742,
- 0, 0, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 0, 0, 3435, 0, 756, 0, 0,
- 0, 0, 0, 742, 742, 742, 742, 1605, 0, 0,
- 0, 1606, 0, 756, 0, 0, 0, 0, 0, 0,
- 0, 0, 2002, 0, 0, 0, 0, 0, 0, 0,
- 0, 737, 1607, 1608, 0, 0, 0, 0, 745, 0,
- 737, 0, 1605, 0, 0, 0, 1606, 0, 1609, 0,
- 775, 0, 0, 0, 0, 742, 0, 0, 0, 0,
- 0, 0, 0, 0, 742, 0, 756, 1607, 1608, 0,
- 742, 742, 0, 1610, 0, 680, 1611, 926, 0, 0,
- 0, 0, 0, 1609, 0, 0, 0, 0, 0, 1612,
- 0, 0, 1613, 0, 0, 0, 0, 0, 0, 0,
- 1489, 0, 0, 0, 0, 0, 0, 742, 1610, 737,
- 0, 1611, 0, 680, 680, 0, 742, 0, 0, 0,
- 0, 0, 680, 0, 1612, 0, 0, 1613, 0, 0,
- 0, 0, 0, 0, 0, 623, 623, 0, 0, 2202,
- 0, 0, 0, 1076, 0, 1076, 0, 0, 0, 0,
- 0, 0, 1076, 0, 0, 1076, 0, 0, 0, 1076,
- 0, 0, 0, 0, 1614, 0, 0, 1076, 1076, 0,
- 0, 0, 0, 0, 0, 1076, 0, 775, 1076, 1076,
- 1076, 1076, 0, 0, 0, 0, 0, 0, 1076, 1076,
- 0, 1076, 0, 1076, 1076, 0, 0, 1076, 0, 1614,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1076, 0, 0, 0, 742, 1076,
- 0, 0, 0, 1076, 0, 0, 0, 1076, 0, 1076,
- 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 0, 1076,
- 0, 0, 0, 680, 1076, 0, 1076, 0, 0, 0,
- 0, 0, 680, 0, 1615, 1616, 1617, 0, 1618, 1619,
- 1620, 1621, 1622, 1623, 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, 1615,
- 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622, 1623, 0,
- 0, 0, 0, 2290, 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, 1598, 0,
- 0, 1599, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1598, 0, 0, 1599,
- 0, 0, 0, 0, 0, 0, 1602, 680, 0, 680,
- 0, 1076, 1603, 0, 1598, 0, 0, 1599, 0, 0,
- 0, 0, 0, 0, 1602, 0, 0, 0, 0, 0,
- 1603, 0, 0, 0, 1600, 0, 1604, 0, 0, 0,
- 0, 0, 1602, 0, 0, 0, 0, 2405, 1603, 2412,
- 0, 0, 0, 0, 1604, 756, 0, 0, 0, 0,
- 756, 0, 0, 756, 745, 0, 0, 0, 0, 623,
- 0, 623, 1604, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 756, 0, 0, 1076, 0,
- 0, 0, 0, 0, 737, 0, 742, 742, 742, 0,
- 737, 775, 0, 742, 0, 742, 0, 742, 742, 0,
- 0, 680, 0, 0, 0, 0, 2911, 0, 0, 756,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 646, 0, 0, 0, 0, 0, 1605, 0, 0, 0,
- 1606, 0, 0, 0, 0, 0, 756, 0, 0, 1899,
- 0, 0, 0, 0, -2163, 2512, 0, 0, 1606, 0,
- 2521, 1607, 1608, 0, 0, 0, 680, 0, 0, 0,
- 756, 0, 1605, 0, 0, 0, 1606, 1609, 0, 1607,
- 1608, 0, 2552, 2552, 0, 0, 0, 0, 0, 745,
- 756, 0, 0, 756, 0, -2163, 0, 1607, 1608, 0,
- 0, 0, 1610, 0, 742, 1611, 0, 0, 0, 0,
- 0, 756, 0, 1609, 0, 0, 1598, 0, 1612, 1599,
- 1188, 756, 0, 1611, 0, 0, 0, 0, 0, 0,
- 2609, 0, 2611, 2613, 756, 0, 1612, 0, 1610, 0,
- 0, 1611, 0, 756, 1602, 0, 0, 0, 0, 0,
- 1603, 0, 1189, 0, 1612, 0, 0, 1613, 0, 0,
- 742, 0, 0, 0, 0, 0, 0, 0, 742, 742,
- 742, 742, 742, 742, 1604, 0, 0, 0, 0, 0,
- 0, 0, 0, 1076, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1614, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0,
- 1899, -2163, 0, 0, 2552, 680, 0, 0, 0, 623,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614,
- 0, 0, 0, 0, 0, 0, 3382, 1598, 1191, 0,
- 1599, 0, 0, 0, 0, 2609, 0, 0, 0, 0,
- 0, 0, 742, 2739, 0, 0, 0, 1600, 0, 0,
- 0, 0, 876, 0, 0, 1602, 0, 0, 0, 0,
- 0, 1603, 0, 1192, -2163, 0, 0, 742, 1606, 742,
- 2552, 742, 2552, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 0, 0, 1604, 876, 0, 0, 1607,
- 1608, 1076, 1193, 0, 0, 1618, 1619, 1620, 1621, 1622,
- 1623, 0, 0, 1489, 0, -2163, 0, 0, 0, 1615,
- 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622, 1623, 1194,
- 0, 756, 0, 3170, 0, 0, 0, 0, 0, 1598,
- 0, 0, 1599, 1611, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 756, 0, 0, 1612, 737, 1598, 1600,
- 1195, 1599, 737, 0, 32, 0, 0, 1602, 1196, 0,
- 0, 0, 742, 1603, 1197, 1598, 0, 0, 1599, 1076,
- 1076, 1198, 0, 0, 0, 1076, 1602, 0, 0, 1199,
- 0, 0, 1603, 0, 0, 1605, 0, 1604, 1200, 1606,
- 0, 0, 0, 1602, 0, 0, 1201, 0, 0, 1603,
- 1076, 1076, 0, 0, 0, 1076, 1604, 0, 0, 0,
- 1607, 1608, 0, 0, 0, 0, 0, 1076, 1076, 1076,
- 1076, -2163, 0, 1604, 0, 0, 1609, 0, 0, 0,
- 1076, 0, 0, 1076, 0, 1076, 2894, 0, 0, 0,
- 0, 0, 0, 0, 0, 1076, 1076, 1202, 0, 1076,
- 0, 1610, 0, 0, 1611, 0, 0, 0, 0, 0,
- 0, 0, 1076, 0, 1076, 0, 775, 1612, 1076, 0,
- 1613, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1076, 3383, 0, 1605, 680, 0,
- 0, 1606, 0, 0, 0, 2939, 0, 1076, 1076, 1076,
- 0, 0, 0, 0, 0, 0, 1605, 0, 0, 0,
- 1606, 876, 1607, 1608, 1076, 1618, 1619, 1620, 1621, 1622,
- 1623, 0, 0, -2163, 0, 1076, 0, 1606, 1609, 0,
- 1076, 1607, 1608, 0, 680, 0, 0, 1076, 0, 0,
- 0, 0, 1614, 2939, 0, 0, 2978, 1609, 1607, 1608,
- 2412, 0, 0, 1610, 0, 0, 1611, 0, 0, 756,
- 0, 0, 0, 0, -2163, 0, 0, 0, 0, 1612,
- 0, 0, 1613, 0, 0, 1611, 0, 0, 0, 0,
- 1076, 0, 2552, 0, 0, 0, 0, 1489, 1612, 0,
- 0, 0, 1611, 0, 0, 0, 0, 0, 0, 0,
- 876, 0, 0, 0, 0, 1612, 0, 0, 742, 0,
- 742, 742, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1598, 0, 0, 1599, 0,
- 0, 2751, 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621,
- 1622, 1623, 0, 0, 1614, 0, 3320, 0, 0, 0,
- 1188, 0, 0, 1602, 0, 0, 0, 0, 0, 1603,
- 0, 0, 0, 1614, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- -2163, 0, 1189, 1604, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 756, 0, 0, 0, 0, 0,
- 0, 756, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 499, 0, 0, 0, 0, 0, 544, 499, 0,
- 0, 0, 0, 584, 0, 499, 0, 0, 0, 0,
- 499, 0, 632, 0, 1615, 1616, 1617, 1190, 1618, 1619,
- 1620, 1621, 1622, 1623, 0, 3386, 0, 0, 3367, 0,
- 692, 0, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 0, 0, 0, 0, 0, 1191, 0,
- 0, 756, 0, 0, 1618, 1619, 1620, 1621, 1622, 1623,
- 0, 2552, 2552, -2163, 0, 1598, 0, 1606, 1599, 0,
- 0, 0, 0, 0, 0, 0, 0, 2752, 0, 1188,
- 0, 0, 0, 1192, 0, 1600, 0, 0, 1607, 1608,
- 0, 0, 0, 1602, 0, 0, 0, 0, 0, 1603,
- 0, 0, 0, 0, -2163, 0, 0, 0, 0, 0,
- 0, 1189, 1193, 876, 0, 876, 0, 0, 0, 680,
- 0, 0, 0, 1604, 0, 0, 0, 0, 0, 0,
- 0, 0, 1611, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1489, 680, 1612, 0, 0, 0, 0,
- 0, 0, 680, 0, 0, 0, 680, 0, 0, 0,
- 0, 0, 749, 0, 0, 0, 1190, 0, 0, 0,
- 680, 777, 0, 780, 32, 783, 876, 785, 1196, 0,
- 0, 0, 0, 0, 1197, 0, 0, 0, 0, 0,
- 0, 1198, 0, 0, 0, 0, 0, 1191, 742, 1876,
- 0, 742, 0, 0, 756, 0, 0, 0, 1200, 0,
- 0, 0, 0, 0, 0, 737, 1201, 0, 756, 0,
- -2163, 0, 0, 1605, 0, 0, 0, 1606, 0, 0,
- 0, 0, 1192, 0, 680, 0, 756, 0, 0, 0,
- 0, 0, 742, 0, 0, 0, 0, 0, 1607, 1608,
- 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1076, 1193, 0, 0, 1609, 0, 1076, 1202, 1076, 0,
- 0, 2754, 0, 0, 1076, 0, 0, 1076, 1076, 1076,
- 1076, 1076, 1076, 1076, 1076, 1076, 1076, 0, 0, 1610,
- 1076, 1076, 1611, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1076, 0, 1612, 0, 1076, 1613, 0,
- 0, 1076, 0, 0, 1618, 1619, 1620, 1621, 1622, 1623,
- 0, 1076, 0, 32, 1076, 1875, 1076, 1196, 0, 0,
- 0, 0, 0, 1197, 0, 1076, 1076, 1076, 0, 0,
- 1198, 1076, 0, 0, 1076, 0, 0, 0, 1876, 0,
- 0, 680, 680, 680, 2939, 3400, 0, 1200, 0, 3400,
- 3413, 0, 1212, 0, 1076, 1201, 0, 0, 1213, 0,
- 3427, 0, 1076, 0, 1076, 0, 0, 0, 0, 0,
- 1614, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1247, 0, 0, 0, 1076, 0, 0,
- 0, 0, 0, 1076, 0, 0, 0, 2412, 1214, 1076,
- 0, 0, 0, 0, 0, 0, 1202, 0, 0, 0,
- 0, 0, 0, 0, 3467, 1489, 1489, 0, 2002, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248,
- 0, 0, 742, 742, 742, 742, 0, 0, 0, 0,
- 0, 756, 0, 0, 0, 0, 0, 1215, 0, 0,
- 0, 0, 0, 0, 1216, 1598, 0, 1217, 1599, 0,
- 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622, 1623,
- 3510, 0, 0, 0, 3439, 0, 0, 0, 0, 0,
- 0, 0, 0, 1602, 0, 0, 833, 0, 0, 1603,
- 0, 0, 0, 840, 0, 0, 0, 0, 0, 0,
- 0, 0, 855, 856, 0, 0, 1249, 858, 0, 1218,
- 0, 0, 0, 1604, 0, 0, 0, 872, 756, 0,
- 0, 756, 0, 0, 0, 0, 0, 0, 0, 0,
- 880, 0, 0, 0, 0, 3565, 0, 0, 0, 0,
- 0, 0, 0, 0, 901, 0, 0, 903, 0, 905,
- 0, 908, 1250, 0, 1251, 0, 0, 0, 0, 0,
- 0, 876, 0, 0, 1252, 0, 1220, 0, 0, 0,
- 0, 0, 0, 0, 0, 3735, 1221, 0, 0, 0,
- 0, 0, 0, 0, 1222, 0, 499, 0, 0, 0,
- 0, 0, 1253, 1223, 0, 0, 0, 0, 0, 1212,
- 0, 680, 0, 0, 0, 1213, 0, 0, 964, 0,
- 965, 0, 742, -2163, 1076, 0, 0, 1606, 0, 0,
- 680, 0, 0, 0, 2572, 0, 0, 0, 1225, 1255,
- 0, 0, 1899, 0, 0, 0, 0, 0, 1607, 1608,
- 0, 0, 680, 0, 0, 1214, 0, 0, 0, 0,
- 0, 2609, 0, 2573, -2163, 0, 0, 3658, 0, 0,
- 0, 1899, 0, 692, 1257, 0, 0, 0, 0, 0,
- 0, 0, 0, 1076, 1076, 0, 0, 0, 0, 0,
- 0, 0, 1611, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1215, 1612, 2552, 0, 2552, 1598,
- 0, 1216, 1599, 0, 1217, 0, 0, 0, 0, 0,
- 0, 1227, 0, 0, 756, 0, 0, 0, 0, 1600,
- 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0,
- 1076, 0, 0, 1603, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1218, 1604, 0, 0,
- 0, 0, 0, 0, 0, 1296, 0, 1076, 0, 0,
- -2163, 0, 0, 0, 0, 0, 0, 1076, 1076, 0,
- 1308, 0, 0, 0, 0, 1076, 1076, 0, 0, 0,
- 1076, 1316, 0, 0, 0, 0, 1076, 1076, 1318, 0,
- 1076, 0, 680, 680, 680, 680, 0, 0, 0, 3400,
- 1368, 1219, 3743, 1220, 0, 2939, 0, 0, 0, 2939,
- 0, 0, 0, 1221, 0, 3756, 0, 0, 1076, 0,
- 0, 1222, 0, 1076, 0, 0, 0, 0, 0, 3766,
- 1223, 0, 1410, 0, 0, 1076, 0, 0, 0, 0,
- 0, 775, 0, 0, 0, 0, 0, 1605, 0, 2978,
- 0, 1606, 0, 2412, 1618, 1619, 1620, 1621, 1622, 1623,
- 0, 1293, 0, 623, 0, 1225, 1076, 0, 0, 0,
- 0, 0, 1607, 1608, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2552, 2552, 1609, 0,
- 1294, 0, 0, 0, 499, 0, 499, 0, 499, 0,
- 499, 0, 499, 499, 499, 0, 0, 0, 0, 499,
- 3811, 0, 0, 1610, -115, 0, 1611, 0, 0, 756,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1612,
- 0, 756, 1613, 0, 0, 0, 0, 0, 2, 0,
- 3, 4, 0, 0, 0, 0, 0, 0, 1227, 0,
- 742, 0, 0, 0, 0, 5, 0, 0, 0, 0,
- 0, 0, 0, 1212, 742, 0, 0, 0, 0, 1213,
- 0, 0, 0, 0, 0, 6, 0, 7, 8, 0,
- 0, 0, 0, 9, 0, 10, 0, 0, 0, 0,
- 876, 0, 0, 0, 0, 11, 0, 12, 1489, 0,
- 0, 0, 0, 0, 1614, 0, 0, 0, 0, 1214,
- 0, 0, 0, 13, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1076, 0, 15, 0,
- 16, 0, 0, 0, 17, 0, 0, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 19, 0, 20,
- 0, 0, 0, 742, 1899, 21, 0, 0, 1215, 0,
- 0, 0, 0, 0, 0, 1216, 0, 0, 1217, 22,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 680, 0, 0, 0, 0, 0, 0, 692, 0,
- 0, 0, 0, 0, 1615, 1616, 1617, 756, 1618, 1619,
- 1620, 1621, 1622, 1623, 0, 0, 0, 0, 3461, 1076,
- 0, 0, 0, 0, 0, 0, 0, 0, 1076, 0,
- 1218, 0, 0, 23, 24, 0, 0, 0, 0, 25,
- 0, 0, 0, 0, 0, 1076, 1076, 26, 0, 1076,
- 0, 0, 0, 0, 0, 0, 3400, 0, 27, 1856,
- 2939, 0, 0, 0, 0, 2939, 0, 0, 2939, 2609,
- 0, 3951, 0, 1076, 1076, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1219, 0, 1220, 0, 0,
- 0, 0, 756, 0, 756, 28, 0, 1221, 3467, 775,
- 742, 742, 742, 0, 0, 1222, 29, 0, 0, 0,
- 0, 30, 0, 31, 1223, 0, 0, 0, 32, 0,
- 0, 0, 0, 33, 0, 0, 34, 0, 0, 0,
- 35, 0, 0, 737, 775, 36, 37, 0, 0, 0,
- 0, 0, 0, 38, 0, 1858, 39, 0, 0, 1225,
- 0, 0, 0, 0, 40, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1489, 0, 41, 0, 0, 0,
- 737, 0, 0, 680, 1859, 0, 0, 0, 0, 0,
- 0, 0, 0, 42, 2552, 0, 1899, 0, 0, 0,
- 0, 0, 0, 43, 0, 0, 0, 1598, 3658, 44,
- 1599, 0, 0, 680, 45, 0, 0, 0, 0, 0,
- 0, 742, 3467, 0, 0, 0, 46, 1600, 0, 0,
- 0, 0, 1212, 0, 1598, 1602, 0, 1599, 1213, 0,
- 0, 1603, 1227, 0, 1076, 0, 0, 1076, 0, 1076,
- 0, 0, 1598, 0, 1600, 1599, 0, 0, 2054, 0,
- 47, 0, 1602, -115, 0, 1604, 1076, 0, 1603, 0,
- 2939, 2076, 1600, 3951, 0, 0, 0, 0, 1214, 4080,
- 1602, 0, 0, 0, 0, 0, 1603, 0, 0, 0,
- 0, 0, 1604, 0, 0, 0, 0, 0, 0, 742,
- 0, 0, 0, 680, 0, 0, 0, 0, 0, 2118,
- 1604, 0, 0, 2122, 0, 0, 0, 0, 0, 0,
- 742, 742, 742, 742, 2133, 0, 2135, 1215, 2136, 0,
- 876, 0, 0, 2137, 1216, 0, 0, 1217, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1076, 0, 0, 0, 0, 0, 499, 0, 499, 0,
- 499, 0, 499, 0, 499, 1605, 0, 0, 499, 1606,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 741, 743, 0, 0, 747, 748, 1218,
- 1607, 1608, 1605, 0, 0, 0, 1606, 0, 0, 0,
- 0, 0, 0, 0, 786, 1076, 1609, 0, 0, 0,
- 1605, 742, 0, 775, 1606, 0, 0, 1607, 1608, 0,
- 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0,
- 0, 1610, 0, 1609, 1611, 1607, 1608, 0, 0, 0,
- 0, 0, 0, 0, 1219, 0, 1220, 1612, 0, 0,
- 1613, 1609, 0, 742, 0, 0, 1221, 737, 1610, 0,
- 0, 1611, 0, 0, 1222, 0, 0, 3467, 0, 0,
- 0, 0, 0, 1223, 1612, 0, 1610, 1613, 0, 1611,
- 0, 4080, 0, 0, 1076, 1076, 0, 756, 0, 0,
- 0, 0, 1612, 0, 0, 1613, 0, 737, 0, 0,
- 0, 0, 0, 0, 2508, 742, 0, 0, 1225, 0,
- 0, 0, 0, 0, 0, 0, 1598, 0, 0, 1599,
- 0, 0, 1614, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1076, 1226, 0, 0, 1600, 0, 0, 0,
- 0, 0, 1076, 0, 1602, 0, 0, 742, 0, 1614,
- 1603, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0,
- 0, 0, 0, 0, 1604, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0,
- 1076, 0, 0, 0, 0, 0, 0, 0, 0, 737,
- 0, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621,
- 1622, 1623, 0, 0, 0, 0, 3703, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1615,
- 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622, 1623, 0,
- 0, 0, 0, 3737, 0, 0, 0, 1615, 1616, 1617,
- 0, 1618, 1619, 1620, 1621, 1622, 1623, 0, 0, 0,
- 0, 3929, 0, 0, 1605, 0, 0, 1212, 1606, 0,
- 0, 0, 0, 1213, 0, 0, 2419, 2420, 0, 0,
- 0, 2423, 2424, 0, 0, 2427, 0, 0, 0, 1607,
- 1608, 0, 0, 0, 0, 2437, 0, 0, 0, 0,
- 0, 0, 2446, 0, 0, 1609, 2449, 2450, 0, 0,
- 2453, 2454, 2455, 1214, 835, 0, 0, 0, 838, 0,
- 0, 0, 2469, 0, 2471, 0, 0, 0, 0, 0,
- 1610, 0, 0, 1611, 859, 0, 0, 0, 0, 0,
- 2493, 0, 0, 0, 0, 2495, 1612, 1598, 0, 1613,
- 1599, 739, 0, 0, 0, 0, 0, 0, 0, 739,
- 0, 0, 1215, 0, 0, 1598, 0, 1600, 1599, 1216,
- 0, 0, 1217, 0, 0, 1602, 2513, 2514, 2517, 2519,
- 0, 1603, 0, 2526, 2529, 1600, 0, 0, 0, 0,
- 0, 2540, 1598, 1602, 2544, 1599, 0, 0, 2548, 1603,
- 0, 0, 0, 0, 0, 1604, 0, 0, 0, 0,
- 0, 0, 1600, 0, 2571, 0, 0, 0, 0, 0,
- 1602, 1614, 0, 1604, 1218, 2578, 1603, 2580, 0, 0,
- 0, 0, 2583, 0, 0, 0, 0, 2587, 2588, 2589,
- 2590, 0, 2592, 0, 0, 0, 0, 0, 0, 0,
- 1604, 0, 0, 0, 0, 2615, 2616, 2617, 0, 0,
- 0, 0, 0, 0, 0, 0, 2625, 2626, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1219,
- 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1221, 0, 0, 0, 0, 0, 0, 0, 1222,
- 0, 0, 0, 0, 0, 1605, 0, 0, 1223, 1606,
- 0, 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622,
- 1623, 0, 0, 1605, 0, 3969, 2688, 1606, 0, 0,
- 1607, 1608, 0, 0, 0, 0, 0, 0, 0, 2584,
- 0, 0, 0, 1225, 0, 0, 1609, 0, 1607, 1608,
- 1605, 0, 0, 0, 1606, 0, 0, 0, 0, 0,
- 0, 1235, 1236, 0, 1609, 0, 0, 0, 2585, 0,
- 0, 1610, 0, 0, 1611, 1607, 1608, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1612, 0, 1610,
- 1613, 1609, 1611, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1612, 0, 0, 1613, 0,
- 0, 0, 0, 555, 0, 0, 1610, 0, 0, 1611,
- 0, 0, 0, 0, 0, 556, 1227, 0, 1320, 0,
- 0, 0, 1612, 0, 0, 1613, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 557, 0, 1378, 1379,
- 0, 0, 0, 0, 0, 0, 0, 0, 1598, 558,
- 0, 1599, 1614, 0, 0, 1406, 0, 0, 0, 2808,
- 0, 0, 559, 0, 0, 0, 0, 0, 1600, 0,
- 1614, 0, 0, 0, 0, 0, 1602, 0, 0, 560,
- 739, 0, 1603, 1433, 1435, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0,
- 561, 0, 0, 0, 0, 0, 1604, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 562, 0,
- 0, 0, 0, 0, 739, 0, 0, 0, 0, 563,
- 0, 0, 0, 739, 564, 0, 0, 0, 0, 0,
- 565, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621,
- 1622, 1623, 0, 0, 0, 566, 4014, 0, 0, 0,
- 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622, 1623,
- 0, 0, 0, 0, 4193, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2866, 0, 1615, 1616, 1617,
- 2867, 1618, 1619, 1620, 1621, 1622, 1623, 0, 0, 1598,
- 0, 4277, 1599, 0, 0, 0, 1605, 0, 0, 0,
- 1606, 0, 0, 0, 0, 0, 0, 0, 0, 1600,
- 0, 0, 0, 2382, 0, 0, 739, 1602, 0, 0,
- 567, 1607, 1608, 1603, 0, 0, 0, 0, 0, 0,
- 568, 0, 0, 0, 0, 0, 0, 1609, 1598, 0,
- 0, 1599, 0, 0, 0, 0, 739, 1604, 185, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1600, 0,
- 0, 0, 1610, 0, 0, 1611, 1602, 0, 0, 0,
- 2988, 2989, 1603, 569, 0, 0, 0, 570, 1612, 571,
- 0, 1613, 0, 0, 0, 572, 0, 0, 573, 0,
- 0, 0, 2383, 0, 0, 0, 1604, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 574, 0, 575, 0, 0, 0,
- 576, 0, 0, 0, 0, 0, 0, 0, 577, 0,
- 3022, 3024, 0, 578, 0, 3024, 0, 0, 0, 0,
- 3035, 3036, 3037, 0, 0, 579, 0, 1605, 0, 0,
- 0, 1606, 0, 1614, 0, 0, 0, 0, 580, 0,
- 0, 739, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 739, 1607, 1608, 0, 0, 3058, 3059, 3060, 3061,
- 0, 0, 0, 0, 0, 0, 0, 0, 1609, 0,
- 0, 0, 0, 1364, 0, 0, 1605, 0, 0, 0,
- 1606, 1914, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3086, 1610, 0, 0, 1611, 0, 0, 0,
- 0, 1607, 1608, 0, 0, 0, 739, 0, 0, 1612,
- 0, 0, 1613, 0, 0, 0, 0, 1609, 0, 0,
- 0, 0, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 0, 1971, 1972, 1973, 1974, 0, 0,
- 0, 0, 1610, 0, 0, 1611, 0, 0, 0, 0,
- 0, 0, 0, 0, 3124, 739, 0, 0, 1612, 0,
- 0, 1613, 3128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2010, 2011, 0, 0, 0, 0, 2020,
- 3359, 0, 0, 0, 1614, 1598, 0, 0, 1599, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1364, 0, 0, 0, 0, 1600, 0, 0, 1598, 0,
- 0, 1599, 0, 1602, 0, 0, 0, 0, 0, 1603,
- 0, 0, 0, 0, 3213, 2045, 0, 0, 1600, 739,
- 0, 2829, 0, 1614, 3219, 2384, 1602, 0, 0, 0,
- 0, 0, 1603, 1604, 0, 0, 0, 3360, 0, 2078,
- 2079, 2080, 2081, 0, 0, 0, 0, 0, 739, 0,
- 0, 3238, 0, 3240, 0, 0, 1604, 0, 0, 0,
- 0, 0, 0, 0, 1615, 1616, 1617, 0, 1618, 1619,
- 1620, 1621, 1622, 1623, 0, 0, 739, 739, 0, 739,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3279,
- 0, 2134, 0, 0, 0, 0, 739, 0, 1212, 0,
- 2138, 0, 0, 3289, 1213, 0, 0, 2145, 0, 0,
- 0, 4251, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1605, 0, 739, 1745, 1606, 0, 0,
- 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1605, 0, 1607, 1608,
- 1606, 0, 0, 0, 739, 0, 0, 0, 739, 739,
- 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0,
- 0, 1607, 1608, 1364, 0, 0, 0, 0, 0, 1745,
- 0, 0, 0, 1215, 0, 0, 0, 1609, 0, 1610,
- 1216, 0, 1611, 1217, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1612, 0, 0, 1613, 0,
- 0, 0, 1610, 0, 0, 1611, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 4252, 1364, 0, 1612, 0,
- 0, 1613, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2303, 1218, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1364, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1598, 0, 0, 1599,
- 1614, 0, 0, 0, 0, 0, 0, 0, 1598, 0,
- 0, 1599, 0, 0, 0, 0, 1600, 0, 0, 0,
- 1219, 0, 1220, 1614, 1602, 0, 0, 0, 1600, 0,
- 1603, 2874, 1221, 0, 0, 0, 1602, 0, 0, 0,
- 1222, 3478, 1603, 3479, 0, 0, 1364, 3481, 0, 1223,
- 0, 0, 0, 0, 1604, 0, 0, 0, 0, 0,
- 0, 0, 3490, 0, 0, 1364, 1604, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3498,
- 2622, 0, 0, 0, 1225, 1364, 0, 0, 3509, 0,
- 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622, 1623,
- 0, 0, 0, 0, 0, 1745, 0, 0, 0, 2623,
- 1364, 0, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 0, 0, 0, 0, 0, 3537, 3538,
- 3539, 3540, 3541, 3542, 3543, 0, 0, 0, 0, 3550,
- 3551, 0, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 0,
- 0, 0, 0, 0, 1605, 0, 739, 3566, 1606, 3568,
- 3569, 0, 1364, 0, 0, 739, 1605, 1227, 0, 0,
- 1606, 0, 0, 0, 0, 0, 0, 0, 0, 1607,
- 1608, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1607, 1608, 0, 0, 1609, 0, 0, 0, 0,
- 0, 0, 2460, 2461, 2462, 0, 0, 1609, 0, 2470,
- 0, 2472, 0, 2474, 2475, 0, 0, 0, 0, 0,
- 1610, 0, 0, 1611, 0, 0, 0, 0, 3617, 3619,
- 3621, 0, 1610, 3624, 739, 1611, 1612, 0, 0, 1613,
- 0, 0, 0, 0, 0, 0, 0, 0, 1612, 0,
- 0, 1613, 0, 2844, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 739, 0,
- 739, 0, 1363, 0, 0, 0, 0, 739, 0, 0,
- 739, 0, 0, 0, 739, 0, 0, 0, 0, 1212,
- 0, 0, 739, 739, 0, 1213, 0, 0, 0, 0,
- 739, 0, 0, 739, 739, 739, 739, 0, 0, 3024,
- 2577, 1614, 0, 739, 739, 0, 739, 0, 739, 739,
- 0, 0, 739, 1614, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1214, 0, 0, 1364, 739,
- 1745, 0, 0, 0, 739, 0, 0, 0, 739, 0,
- 0, 0, 739, 0, 739, 739, 739, 739, 739, 739,
- 739, 739, 739, 0, 739, 0, 2634, 0, 0, 739,
- 0, 739, 0, 0, 2643, 2644, 2645, 2646, 2647, 2648,
- 0, 0, 0, 0, 1215, 0, 0, 0, 0, 0,
- 0, 1216, 0, 0, 1217, 0, 0, 0, 0, 1363,
- 0, 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622,
- 1623, 0, 1362, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 0, 0, 1598, 0, 0, 1599, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1600, 1218, 0, 0, 0,
- 0, 0, 0, 1602, 0, 0, 0, 0, 2731, 1603,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1604, 0, 2769, 0, 2771, 1598, 0,
- 0, 1599, 0, 0, 0, 0, 739, 0, 0, 0,
- 0, 1219, 0, 1220, 0, 0, 0, 0, 1600, 0,
- 0, 2885, 0, 1221, 0, 0, 1602, 0, 0, 0,
- 0, 1222, 1603, 0, 0, 3801, 3802, 3803, 3804, 0,
- 1223, 0, 0, 0, 0, 0, 0, 0, 0, 1362,
- 0, 0, 0, 0, 1745, 0, 1604, 0, 0, 0,
- 3817, 3818, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3032, 3827, 3828, 0, 1225, 0, 2879, 0, 0,
- 0, 0, 0, 739, 0, 0, 0, 1598, 2819, 739,
- 1599, 0, 0, 1605, 0, 739, 0, 1606, 0, 0,
- 3033, 0, 1363, 0, 0, 0, 0, 1600, 0, 0,
- 3366, 0, 0, 0, 0, 1602, 0, 0, 1607, 1608,
- 0, 1603, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1364, 0, 0, 1609, 0, 1364, 1364, 0, 0,
- 0, 0, 0, 0, 0, 1604, 0, 0, 1364, 0,
- 0, 0, 0, 0, 0, 1891, 1605, 0, 1227, 1610,
- 1606, 0, 1611, 0, 1745, 0, 0, 1745, 0, 0,
- 0, 0, 0, 0, 0, 1612, 0, 0, 1613, 0,
- 1648, 1607, 1608, 0, 0, 1363, 3873, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1609, 0, 0,
- 1598, 0, 0, 1599, 0, 0, 0, 0, 0, 3894,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1600, 0, 1610, 0, 0, 1611, 0, 0, 1602, 3911,
- 0, 0, 0, 0, 1603, 0, 0, 0, 1612, 0,
- 0, 1613, 1362, 0, 0, 1605, 0, 0, 0, 1606,
- 1614, 0, 0, 0, 0, 1363, 0, 0, 1604, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1607, 1608, 0, 0, 1363, 0, 0, 0, 739, 0,
- 1364, 0, 0, 0, 0, 0, 1609, 0, 0, 0,
- 0, 0, 0, 0, 1363, 1362, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1610, 0, 1614, 1611, 499, 0, 0, 0, 1363,
- 0, 0, 0, 0, 0, 1362, 0, 1612, 0, 0,
- 1613, 0, 0, 0, 3014, 0, 3015, 3016, 0, 0,
- 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621, 1622, 1623,
- 0, 0, 0, 0, 1364, 0, 0, 0, 1605, 0,
- 0, 0, 1606, 0, 0, 0, 0, 0, 0, 0,
- 0, 1363, 0, 3995, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1607, 1608, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1362, 739, 0, 0, 1609,
- 0, 0, 1614, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 4019, 1362, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1610, 0, 0, 1611, 1063, 0,
- 0, 0, 0, 0, 1362, 0, 0, 0, 1364, 0,
- 1612, 0, 0, 1613, 0, 0, 0, 0, 0, 0,
- 3024, 0, 739, 0, 0, 0, 0, 739, 1120, 1362,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 739, 739, 0, 0, 0, 0,
- 739, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620, 1621,
- 1622, 1623, 0, 0, 0, 739, 739, 0, 0, 0,
- 739, 1362, 0, 0, 0, 1614, 0, 0, 0, 0,
- 0, 0, 739, 739, 739, 739, 0, 4096, 1598, 0,
- 1745, 1599, 0, 0, 0, 739, 1745, 0, 739, 0,
- 739, 3316, 0, 0, 0, 0, 0, 1363, 1600, 0,
- 739, 739, 0, 0, 739, 0, 1602, 0, 0, 0,
- 0, 0, 1603, 0, 0, 0, 0, 739, 0, 739,
- 0, 0, 0, 739, 0, 0, 0, 0, 0, 0,
- 2362, 0, 0, 0, 0, 0, 1604, 0, 0, 739,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 739, 3024, 739, 739, 739, 1615, 1616, 1617, 0, 1618,
- 1619, 1620, 1621, 1622, 1623, 0, 0, 0, 0, 739,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 739, 0, 0, 0, 0, 739, 0, 0, 0, 0,
- 0, 0, 739, 0, 3287, 0, 0, 3288, 739, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 4190, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 739, 1605, 1362, 3312, 0,
- 1606, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1364, 0,
- 0, 1607, 1608, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1609, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1364, 1364,
- 0, 1364, 1610, 0, 0, 1611, 0, 0, 0, 0,
- 0, 1536, 0, 0, 0, 0, 0, 0, 1612, 0,
- 0, 1613, 0, 0, 0, 0, 0, 0, 0, 0,
- 1745, 1745, 1745, 0, 0, 0, 0, 0, 0, 0,
- 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1364, 0, 1364, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1585, 1586,
- 0, 1588, 0, 0, 0, 0, 0, 0, 0, 0,
- 2497, 0, 0, 0, 0, 1891, 2504, 0, 1628, 0,
- 0, 0, 0, 1614, 0, 0, 0, 1363, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1364, 0,
+ 169, 168, 173, 163, 164, 166, 577, 723, 677, 890,
+ 785, 530, 1196, 919, 653, 1811, 811, 1490, 1128, 1202,
+ 169, 1550, 173, 807, 1530, 1494, 710, 825, 733, 518,
+ 764, 993, 994, 995, 1500, 642, 567, 999, 1911, 783,
+ 642, 1523, 2466, 1296, 2271, 1319, 2400, 2506, 722, 641,
+ 1826, 970, 1360, 1284, 641, 1205, 941, 1348, 559, 2682,
+ 1439, 1409, 917, 2127, 1386, 1973, 1610, 1611, 1587, 1811,
+ 1459, 1142, 1637, 2095, 3184, 2140, 616, 1816, 1980, 2830,
+ 606, 1989, 648, 2948, 2848, 1626, 3199, 2528, 2530, 2784,
+ 3214, 707, 3216, 2003, 678, 2191, 3427, 876, 2046, 2328,
+ 3604, 1313, 3370, 1829, 3320, 1326, 2486, 2745, 1427, 2934,
+ 3539, 3339, 1432, 1353, 3388, 1481, 3125, 1436, 3565, 3636,
+ 65, 944, 3320, 3668, 1442, 1816, 3082, 3091, 3630, 919,
+ 964, 956, 3089, 3090, 1461, 727, 735, 74, 3582, 2055,
+ 736, 3413, 3859, 3401, 927, 2365, 3031, 2063, 2064, 673,
+ 2242, 1966, 3810, 3843, 3851, 1889, 704, 75, 76, 2365,
+ 77, 78, 98, 118, 4102, 1979, 3131, 2195, 3980, 123,
+ 139, 143, 161, 734, 696, 1653, 167, 3082, 1135, 3580,
+ 3504, 1458, 1850, 2206, 3344, 3345, 3346, 3347, 3348, 3349,
+ 1349, -1375, 1255, 1574, 3609, 1603, 1604, -1378, 573, 2843,
+ 3978, -2040, 1656, 1189, -1589, 2988, 1192, -1599, 4168, 2449,
+ 4170, -1948, 2070, -2074, 4291, -1949, -2271, 2075, 528, -1948,
+ 2527, 1623, 1231, -1949, -2271, 3418, 1817, 2767, 4345, 3671,
+ 1532, 3, 4, 1482, 2282, 1423, 1919, 713, -2095, 1231,
+ -1584, 1570, -1815, 3987, 3364, 4194, 2868, 4287, 2440, -1815,
+ 819, -1556, -1569, 4387, 1917, 2441, 1381, -1589, -1831, 3429,
+ 2268, -1596, 624, -2122, 3084, -1831, 2188, 3185, 2576, 573,
+ 2905, 1919, 2907, 3130, -1375, 769, 771, 573, 573, 775,
+ -1378, 777, 1663, 1282, 2145, 573, -1923, 2405, 624, 2935,
+ 2532, 1982, 4241, -1584, 1454, -1975, 1132, 2263, 2937, 2057,
+ 823, 990, 1357, 3376, 624, -773, 1482, 1666, -1599, 4333,
+ 4334, -1589, 2198, 4304, 1455, 3084, 1272, 975, 1375, -369,
+ 3835, 3464, 4293, 683, 1232, -2043, 1316, 624, 997, 1482,
+ 1836, 1914, 2491, 2551, 624, 4446, 3430, 1668, 4077, 2563,
+ 2447, 1232, 573, 4434, 1663, -2094, 624, 979, -1375, 2158,
+ 1179, 2283, 4202, 630, -1378, 4267, 1159, 624, 1160, 1317,
+ 1360, 1717, 780, 1663, 885, 630, -124, 2858, 892, 3672,
+ 2107, -124, 2859, 631, 3485, 807, 523, 1029, 4462, 902,
+ 2988, 1982, 871, 4268, 1506, 631, 1654, 4222, 1666, 1983,
+ 630, 1709, 1282, 573, 2564, 1521, 919, 624, 3505, 1668,
+ 1718, 1713, 1637, 4435, 1920, 2552, 1725, 1725, 919, 998,
+ 631, 2492, 1610, 1611, 1700, 630, 684, 1209, 1668, 1837,
+ 1626, 1663, 807, 2591, 2189, 4279, 2405, 2108, 573, 922,
+ 4319, 38, 2266, 2690, 3983, 631, 2272, 2988, 2274, 932,
+ 3785, 2277, 1982, 1180, 4078, 1518, 1666, 630, 1020, 1818,
+ 2053, 3377, 2159, 2058, 1318, 2102, 1358, 991, 1982, 3465,
+ 1456, 42, 919, 2264, 3669, 4365, 2448, 631, 2106, 1501,
+ 3431, 2533, 3673, 4294, 2534, 3674, 1668, 630, 2019, 574,
+ 1982, 1982, 1921, 3185, 2936, 1483, 573, 2269, 794, 2965,
+ 1534, 1710, 2265, 2938, 4537, -1375, 4305, 631, 2059, 46,
+ 1954, -1378, 2199, 2946, 1982, 2691, 3365, 881, 1960, 1571,
+ 3836, 1591, 47, 3623, 2325, 2458, 868, 1290, 1259, 1424,
+ 714, 3988, 2303, 1952, 1568, 2403, 2768, 3682, 2284, 1029,
+ 3432, 2127, 2988, 929, 1577, 4468, 2535, 1918, 3320, 2076,
+ 4486, 2989, 2042, 2577, 2044, 3419, 2285, 1588, 48, 2051,
+ 1603, 1604, -2094, 2099, -1815, 2692, 2125, 2098, 1483, 1623,
+ 2442, 2071, 2990, 2032, 918, 577, 2035, 2036, 1154, 2002,
+ -1831, 723, 1155, 2015, 1816, 2190, 919, 2094, 1399, 2259,
+ 1657, 1483, 2613, 1233, 919, 919, 1424, 1571, 866, 1598,
+ 4044, -1375, 1197, 971, 4424, 4104, 1161, -1378, 2406, 3914,
+ 4072, 3150, 1711, -2272, 1632, 4545, 4447, 2693, 2246, 3640,
+ 48, 169, 722, 173, 3937, 781, -2094, 2148, 3941, 3582,
+ 1816, 2991, 1520, 2364, 1633, 1707, 3000, 2060, -1375, 874,
+ -1375, -2094, 2103, 877, -1378, -1589, -1378, 2387, 1634, 972,
+ -2040, 977, -1948, 981, 3824, 2267, -1949, -2271, 1004, 985,
+ 900, 4118, -2074, 641, 2278, 641, 963, 641, 3889, 2024,
+ 3931, 988, 2027, 641, 986, 987, 1969, 1861, 966, 1021,
+ 1862, -1584, 3833, 2324, 2217, 2327, 1125, -2095, 4481, 1134,
+ 918, 1136, 1609, 1615, 807, 2335, 3850, 735, 3327, 2339,
+ 1364, 736, -1596, 3966, 568, 1492, 1598, 2351, 2352, 2694,
+ 1659, 1370, -2122, 1687, 1000, 1632, 636, 1283, 1698, 2473,
+ 2369, 2371, 4463, 3784, 2990, 1154, 4329, -1923, 3459, 1155,
+ 2131, 2385, 636, 637, 734, 1633, 169, 168, 173, 163,
+ 164, 166, 3106, 2054, -1975, 2705, 998, 3051, 3133, 1636,
+ 3134, 3082, -1589, 3082, 3297, 636, 637, 3300, 3301, 2677,
+ 1811, 3304, 636, 637, 2495, 1990, 2022, 3307, 3598, 1000,
+ 882, 1472, 1217, 2331, -2043, 2614, 1222, 4186, 2198, 3384,
+ 1164, 3256, 3661, 2991, 4196, 636, 637, 3621, 3775, 2355,
+ 2356, 1684, 1685, 1686, 1687, 4509, 930, 2132, 1200, -124,
+ -124, 998, 2992, 2993, 2994, 3684, 2995, 2996, 2997, 2998,
+ 2999, 3000, 2695, 3127, 1492, 2466, 2466, 2466, 1368, 1029,
+ 2696, 2589, 2988, 2697, 1144, 636, 1283, 3302, 3303, 3082,
+ 641, 2118, 2119, 1131, 2511, 1337, 2730, 1139, 2678, 3532,
+ 1237, 1338, 2731, 3236, 3691, 3180, 2542, 1682, 1683, 1684,
+ 1685, 1686, 1687, 4277, 3200, 2133, 65, 33, 2134, 2131,
+ 3405, 2401, 737, 573, 2201, 2997, 2998, 2999, 3000, 1923,
+ 3099, 1332, 2668, 74, 4496, 1482, 2786, 2988, 1223, 1924,
+ 1966, 3696, 1347, 3612, 525, 2671, 1450, 2365, 2365, 3084,
+ 2629, 3084, 2365, 75, 76, 829, 77, 78, 98, 118,
+ 1288, 1289, 1219, 2275, 2276, 123, 139, 143, 161, 1333,
+ 3862, 4157, 167, 797, 798, 799, 2163, 800, 801, 802,
+ 803, 804, 805, 4470, 1451, 2756, 2132, 2216, 2182, 4522,
+ 573, 1338, 2365, 2365, 910, 2988, 2222, 1339, 2732, 738,
+ 2226, 2721, 3692, 1322, 4105, 3237, 2232, 2233, 654, 2135,
+ 2340, 1654, 573, 569, 3636, 1219, 4106, 918, 2995, 2996,
+ 2997, 2998, 2999, 3000, 2245, 4136, 573, 3084, 4088, 918,
+ 38, 573, 1380, 2231, 2661, 970, -1920, 1029, 1905, 3697,
+ 2988, 169, 829, 173, 2133, 830, 1474, 2134, 1272, 2046,
+ 2164, 4161, 2604, 1437, 1438, 660, 4165, 3533, 730, 4167,
+ 42, 4158, 1573, 570, 2990, 2183, 1536, 641, 1538, 730,
+ 1540, 3317, 1542, 1469, 1544, 1545, 1546, 4401, 4254, 2820,
+ 1925, 1548, 1224, 918, 2662, 2884, 831, 1339, 2223, 3317,
+ 4395, 1145, 3693, 4391, 571, 3201, 572, 2722, 46, 2234,
+ 1991, 1596, 2822, 1496, 1498, 2341, 3329, 2002, 2136, 1907,
+ 38, 2241, 1992, 1926, 2251, 1225, 4523, 4497, 2218, 2990,
+ 3202, 1613, 1334, 2991, 723, 2605, 4255, 1908, 2137, 3181,
+ 2672, 1369, 830, 4256, 2590, 3427, 832, 1452, 2135, 2422,
+ 42, 1340, 2733, 2787, 1226, 1029, 4471, 48, 2988, 3238,
+ 3636, 1640, 911, 3350, 661, 1146, 3973, 1655, 829, 2049,
+ 4257, 2358, 1839, 1993, 3330, 1651, 4095, 1660, 2663, 3425,
+ 1016, 4107, 2342, 831, 1341, 2734, 3998, -2272, 46, 1905,
+ 1699, 4098, 3239, 976, 978, 980, 4498, 1483, 982, 983,
+ 984, 47, 807, 739, 2037, 1906, 3353, 918, 989, 1840,
+ 1715, 1716, 1227, 1342, 2735, 918, 918, 912, 1913, 4499,
+ 1335, 3240, 4464, 1822, 1830, 1831, 2925, 1835, 736, 736,
+ 1154, 736, 2990, 832, 1155, 1453, 2778, 2512, 2805, 4366,
+ 2343, 4535, 4258, 2344, 4327, 1914, 2082, 2136, 641, 2630,
+ 662, 1701, 3094, 641, 641, 682, 2184, 4218, 830, 3132,
+ 1907, 734, 734, 3592, 734, 2535, 1909, 4371, 2135, 2185,
+ 2505, 705, 3248, 4469, 2823, 2423, 4299, 3883, 1908, 2424,
+ 1141, 4393, 1508, 2109, 4508, 716, 2608, 3173, 4510, 4316,
+ 1662, 2991, 2297, 1663, 4282, 3965, 2723, -1556, 2604, 831,
+ 1359, 4197, 4283, 1842, 2992, 2993, 2994, 3727, 2995, 2996,
+ 2997, 2998, 2999, 3000, 1702, 725, 2739, 2425, 1666, 3082,
+ 1509, 2110, 2664, 3082, 1667, 3174, 3021, 1200, 663, 542,
+ 4544, 2038, 3028, 2039, 2345, 2481, 3598, 726, 3950, 4070,
+ 2990, 3957, 2628, 573, 3357, 2162, 4343, 641, 1668, 832,
+ 4348, 4349, 2824, 3754, 1843, 641, 728, 4157, 4219, 3757,
+ 3758, 2082, 1910, 2995, 2996, 2997, 2998, 2999, 3000, 3643,
+ -1556, 2605, 4520, 1492, 3877, 2706, 4367, 1947, 1915, 4536,
+ 4372, 3358, 740, 2709, 3806, 2711, 2902, 544, 2050, 4203,
+ 4245, 987, 2724, 2224, 2903, 3359, 2796, 2704, 2488, 2991,
+ 3320, 2606, 2698, 1293, 2908, 4428, 4429, 1909, 4259, 807,
+ 641, 2215, 2604, 641, 641, 729, 2082, 1185, 2716, 573,
+ 2221, 2995, 2996, 2997, 2998, 2999, 3000, 2853, 2854, 2855,
+ 2856, 4081, 2789, 2346, 2607, 2364, 2364, 2426, 4262, 2861,
+ 2364, 3788, 573, 3644, 4266, 4373, 1997, 774, 3636, 3624,
+ 4559, 2762, 2052, 2121, 1670, 2740, 4284, 3084, 3332, 3728,
+ 2698, 3084, 2992, 2993, 2994, 776, 2995, 2996, 2997, 2998,
+ 2999, 3000, 4082, 1510, 2111, 1671, 1672, 3360, 3175, 641,
+ 2364, 2364, 730, 2595, 2741, 2605, 1187, 3102, 2898, 783,
+ 2963, 3618, 3455, 2736, 1219, 1185, 526, 1219, 3645, 792,
+ 3646, 664, 665, 1910, 4330, -587, 1475, 2065, 2066, 2067,
+ 2068, 3145, 3195, 3832, 4336, 3317, 2172, 3790, 2466, 2020,
+ 3807, 1675, 2608, -1556, 2726, 551, 2737, 552, 1295, 3719,
+ 4025, 3721, -146, 793, 1676, 3725, 2547, 807, 1535, 3015,
+ 3792, 1537, 3891, 1539, 3892, 1541, 3475, 1543, 2104, 2105,
+ 1440, 1547, 2135, 2037, 2114, 2738, 1476, -146, 4528, 2942,
+ 817, 1511, 2112, 3865, 1187, 3866, 3176, 1961, 3643, 2046,
+ 3040, -2272, -2272, 3265, 2995, 2996, 2997, 2998, 2999, 3000,
+ 176, 2021, 2626, 2617, 1029, 2365, 1299, 2988, 2365, 2365,
+ 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2142, 731,
+ 1986, 1188, 4243, 2939, 3916, 169, 4386, 173, 1653, 3257,
+ 4368, 1492, 728, 1899, 2927, 3625, 821, 542, 2365, 1300,
+ 2727, 1302, 177, 1900, -1422, 2177, 2178, 2179, 2180, -1422,
+ 3449, 1217, 1137, 2805, 679, 1995, 2608, 2253, 1901, 2254,
+ 2300, 2255, 3644, 2256, 3626, 2257, 1477, 2365, 2365, 2258,
+ 4026, 1987, 1962, 1705, 828, 1145, 169, 2296, 173, 2293,
+ 2294, 2295, 966, 3627, 2688, 1424, 4292, 1303, 2618, 3266,
+ 2879, 729, 2940, 3893, 3156, 544, 2690, 3804, 903, 2236,
+ 2038, 3082, 2039, 3488, 2349, 3489, 3082, 3427, 2240, 870,
+ -1556, 3082, 2836, -1422, 3082, 2247, 1478, 3645, 4029, 3646,
+ 2287, -1556, 2559, 1609, -1556, 1209, 542, -1556, 904, 1682,
+ 1683, 1684, 1685, 1686, 1687, 2337, 2338, 1185, 176, 1146,
+ 4339, 1214, 1186, 2350, 3082, 2299, 2280, 2353, 2354, 919,
+ -1422, 1492, 4337, 3573, 1016, 2322, 2901, 905, 730, 4128,
+ 3805, 4467, 2375, 176, 2376, 4215, 1304, 2145, 2691, 2088,
+ 2411, -392, 2910, 2911, 1215, 873, 2913, -930, 33, 3984,
+ 177, 3574, 2917, 919, 544, 2398, 1492, 2399, 3172, 2990,
+ 3406, -496, 1902, 3410, 3991, 3992, 3943, 1479, 2894, 1492,
+ 2160, 906, 2089, 1216, 2474, 177, 1187, 2539, 3576, 1346,
+ 3458, 875, 2543, 33, 1305, 2546, 1306, 1029, 2692, 2192,
+ 2988, 1154, 2043, 3782, 3490, 1155, 2045, 903, 2642, 4042,
+ 4043, 4504, 2916, 551, 3491, 552, 1725, 2569, 1347, 3084,
+ 2950, 4080, 3985, 1188, 3084, 3095, 1492, 4087, 2991, 3084,
+ 3459, 4182, 3084, 4184, 2004, 1308, 535, 904, 1440, 2004,
+ 4405, 4097, 2413, 2408, 2414, 2837, -1421, 4412, 4063, 807,
+ 2693, -1421, 3165, 1663, -392, 731, 3164, 1217, 2619, 2643,
+ 3082, 2583, 3084, 878, 4057, 3224, 3386, 2415, 783, 4058,
+ 610, 4431, 891, 4413, 1310, 2625, 4064, 4217, 1666, 2391,
+ 3225, 3454, 2394, 2005, -1387, 2006, 2886, 3578, 2005, 14,
+ 2006, 2056, 1217, 2742, 2986, 2987, -1387, 2087, 1206, 3002,
+ 2659, -1387, 551, 1029, 552, 1238, 2988, 2644, 1668, 1312,
+ 906, 2563, 4059, 3658, 3082, -1421, 542, 2488, 1327, 2002,
+ 3186, 19, 2743, 3917, 2002, 898, 2689, 557, 2004, 3097,
+ 2700, 1207, 2497, 1839, 2004, -924, 883, 1239, 884, 3037,
+ 3038, 3204, 2694, -1387, 169, 2514, 641, 3641, 2712, 2365,
+ -495, 3241, -1421, 3243, 2553, 1328, 2556, 1164, 2645, 907,
+ 1208, 4488, 2728, 2416, 3518, -1387, 3153, 3389, 2417, 909,
+ 1840, 3057, 1982, 2418, 544, 2752, 3398, 2005, 3189, 2006,
+ 1988, 2838, 2990, 2005, 2759, 2006, 3, 4, 1329, 1632,
+ 4028, 2615, 1330, 1240, 919, 924, 3910, 1211, 3084, 2992,
+ 2993, 2994, -1387, 2995, 2996, 2997, 2998, 2999, 3000, 1633,
+ -1387, 2466, 2090, 2002, 3284, 2849, 2466, 1331, 630, 2002,
+ 2839, 2466, 1841, 1634, 2091, 1241, 1515, 1883, 2004, 1632,
+ 1212, 2325, 2010, 1136, 886, 3729, 887, 624, 631, 3298,
+ 936, 2991, 3229, 610, 1525, 2695, 1516, 1526, 2092, 1633,
+ 1621, 1622, 3084, 2696, 2887, 3730, 2697, 3082, 937, 1213,
+ 1884, 1242, 14, 2364, 1842, 4553, 2364, 2364, 2364, 2364,
+ 2364, 2364, 2364, 2364, 2364, 2364, 3467, 2005, 2612, 2006,
+ 30, 3745, 3662, 3159, 928, 3572, 3506, 3507, 2990, 1885,
+ 908, 1243, 2419, 951, 19, 4223, 3516, 942, 3670, 3675,
+ 919, 3746, 2420, 1595, 1632, 48, 38, 2585, 2586, 2587,
+ 3572, 957, 551, 2002, 552, 1843, 2597, 961, 2599, 3471,
+ 2601, 2602, 3685, 554, 1633, 2364, 2364, -1387, 2365, 2365,
+ 2325, 3233, 1820, 3366, 556, 1821, 42, 1440, 1636, 3340,
+ 2630, 1154, 641, -1923, 2859, 1155, 1663, 2991, 3082, 3163,
+ 641, 1609, 641, 1209, 3573, 3207, 33, 3209, 3142, 3143,
+ 1246, 2502, 2503, 2668, 3234, 3683, 1247, 3437, 624, 1823,
+ 2960, 1666, 1824, 1248, 46, 2249, 992, 2780, 3512, 3573,
+ 2932, 1968, 3574, 3350, 2211, 2780, 2212, 47, 1154, 3351,
+ 1250, 1175, 1155, 3235, 4054, 3084, 4056, 3575, 1251, 3352,
+ 4060, 1668, 4061, 2932, 1002, 2961, 4263, 3574, 996, 3576,
+ 2962, 2810, 2992, 2993, 2994, 2707, 2995, 2996, 2997, 2998,
+ 2999, 3000, 3575, 48, 3470, 1007, 3353, 2679, 3354, 1609,
+ 2805, 1890, 3577, 3137, 3576, 27, 3480, 2951, 1609, 209,
+ 1890, 1005, 639, 2954, 527, 2804, 2852, 639, 1013, 3762,
+ 1252, 4162, 608, 30, 2889, 3426, 3486, 3577, 3109, 3110,
+ 2811, 3283, 3638, 3639, 2004, 3620, 3909, 3290, 2248, 680,
+ 1609, 2249, 1890, 2260, 2880, 2772, 2261, 169, 2869, 38,
+ 918, 3508, 4114, 2781, 4485, 2873, 3084, 2874, 2782, 2850,
+ 4129, 4130, 4131, 4132, 1581, 1582, 3472, 3317, 3841, 3331,
+ 3333, 3334, 3355, 3251, 3014, 2884, 3016, 3017, 3578, 42,
+ -1445, -1445, 3382, 2005, 918, 2006, 38, 1574, 2992, 2993,
+ 2994, 1008, 2995, 2996, 2997, 2998, 2999, 3000, 1671, 1672,
+ 3065, 2262, 3066, 3578, 2261, 2886, 3067, 807, 3068, 2812,
+ 2813, 919, 2290, 919, 1015, 2291, 42, 46, 4557, 2002,
+ 4558, 611, 2487, 2814, 1238, 2488, 1016, 4511, 27, 3356,
+ 47, 1014, 2623, 2684, 3357, 2624, 2685, 1017, 3042, 2791,
+ 3043, 1018, 2792, 2870, 1675, 2806, 1019, 2919, 2807, 3255,
+ 2261, 641, 4163, 1022, 46, 2959, 1239, 1025, 2249, 3085,
+ 3367, 2969, 3369, 3044, 2249, 1360, 612, 47, 1143, 1023,
+ 2815, 3358, 2904, 3107, 2906, 4288, 919, 1147, 3870, 3871,
+ 3872, 3777, 1140, 3778, 3436, 3359, 2004, 2973, 3439, 3440,
+ 2249, 3442, 1149, 3444, 3445, 4178, 2977, 2364, 2978, 2249,
+ 1148, 2249, 3450, 48, -1165, 3763, -1165, 3138, 1153, 38,
+ 3085, 3004, 1240, 3375, 2249, 3378, 3593, 3594, 3595, 723,
+ 3020, 3025, 1165, 2249, 3026, 3422, 3588, 3217, 3222, 3416,
+ 3218, 3223, 3417, 1172, 3468, 2005, 1175, 2006, -1375, 42,
+ 1238, 3258, 3476, 1173, 1241, 2249, 3764, 1175, 1176, 3161,
+ 4350, 4351, 3513, 4353, 1183, 3514, 2365, 2816, 3523, 2817,
+ 1651, 3524, 1198, 3535, 3045, 2365, 2249, 3360, 2958, 3046,
+ 3765, 2002, 1239, 2887, 2411, 1199, 3610, 46, 2004, 3611,
+ 1242, 3614, 2365, 2365, 3615, 3766, 3070, 3071, 3072, 3767,
+ 47, 3619, 3487, 3060, 2534, 3492, 3493, 3494, 3495, 3496,
+ 3497, 3498, 3499, 3500, 3501, 1182, 1203, 1184, 3076, 3768,
+ 1243, 3642, 3769, 3834, 2261, 918, 2261, 3915, 1235, 3294,
+ 2291, 723, 38, 3466, 3770, 1209, 4512, 2005, 1240, 2006,
+ 1257, 1261, 1682, 1683, 1684, 1685, 1686, 1687, 1230, 169,
+ 2296, 173, 2293, 2294, 2295, 3968, 3226, 3975, 2534, 3663,
+ 3976, 3098, 42, 641, 3541, 3542, 2004, 3244, 1816, 3076,
+ 1241, 1238, 722, 2002, 1292, 3981, 2306, 1662, 2261, 3982,
+ 1663, 3750, 2261, 1290, 3686, 33, 2364, 2364, 4047, 2888,
+ 4099, 4048, 2325, 4100, 1293, 1247, 2004, 1664, 3047, 4441,
+ 46, 4138, 1248, 1239, 4139, 1666, 1242, 1298, 3048, 4238,
+ 1968, 1667, 3771, 47, 3942, 2005, 3945, 2006, 1301, 1250,
+ 3772, 2004, 4140, 2307, 1323, 2249, 4148, 1251, 3822, 2291,
+ 4200, 918, 1336, 4201, 4264, 1668, 1243, 2261, 1345, 4289,
+ 4300, 4308, 4290, 2291, 4309, 2005, 3295, 2006, 1350, 48,
+ 1355, 2002, 2308, 1356, 3898, 3773, 3860, 4313, 4318, 1240,
+ 2488, 3396, 4320, 4030, 4031, 3396, 4033, 1361, 4362, 1363,
+ 2005, 4363, 2006, 2309, 4394, 4399, 1365, 1704, 4400, 1252,
+ 3107, 2002, 1367, 2889, 2310, 4406, 4407, 4408, 2291, 3026,
+ 2249, 1241, 4418, 4420, 4114, 2488, 3396, 4433, 3107, 4439,
+ 2291, 33, 2291, 1967, 2311, 1246, 2002, 3220, 1371, 2312,
+ 2365, 1247, 4440, 4454, 4482, 2291, 4455, 2488, 1248, 4526,
+ 4555, 1372, 3396, 4556, 1377, 4566, 1968, 1242, 4556, 1379,
+ 1382, 1384, 1387, 1217, 1428, 1250, 1431, 1669, 1433, 1424,
+ 1443, 1670, 1444, 1251, 3249, 3168, -166, 3169, 3170, 3171,
+ 1448, 1446, 1460, 1462, 1930, 2313, 1468, 1243, 1470, 194,
+ 1480, 1485, 1671, 1672, 1487, 1486, 1488, 1489, 1491, 1499,
+ 1492, 1502, 1503, 1504, 1505, 1507, 2314, 3873, 1512, 1673,
+ 1514, 1513, 1519, 1524, 1549, 1244, 1574, 1931, 1576, 1579,
+ 1583, 1585, 1592, 1586, 1593, 1252, 2082, -1560, 3286, -1567,
+ 1932, 1602, 1605, 1606, 1607, 1674, 1608, 1612, 1675, 48,
+ 3457, 1614, 1617, 1933, -1557, -1558, 1618, 1619, 1245, -1561,
+ 2780, 1676, 33, 2780, 2780, 1620, 1246, 2780, 1625, 1627,
+ 3469, 1628, 1247, 2780, 1629, 1630, 194, 783, -1559, 1248,
+ 3319, 1631, 1695, 1638, 1691, 1639, 1641, 1249, 3718, 1642,
+ 3720, 1934, 1693, 1643, 3724, 1697, 1250, 1644, 3319, 1645,
+ 1646, 1647, 1935, 2315, 1251, 1648, 3803, 1704, 1708, 2316,
+ 1720, 1728, 918, 1828, 918, 2317, -2181, 4051, 641, 1186,
+ 1867, 1857, 1936, 1188, 1859, 3326, 3328, 1937, 1886, 1888,
+ 3335, 1887, 1890, 1891, 1892, 1894, 641, 1893, 3990, 1678,
+ 1895, 1922, 1916, 1928, 2318, 1949, 2319, 1953, 1955, 1957,
+ 3394, 1956, 1958, 4085, 1959, 1974, 1252, 1975, 1985, 1995,
+ 1996, 1998, 1999, 2320, 4003, 2000, 2001, 3379, 2002, 2008,
+ 2009, 2011, 2012, 2016, 3864, 2023, 3421, 918, 169, 3412,
+ 2017, 4016, 3867, 3868, 2364, 2025, 2029, 2030, 2321, 2033,
+ 2040, 2041, 2047, 4141, 1938, 2048, 1272, 169, 3435, -2181,
+ 2061, 2062, 2072, 3820, 3821, 2073, 2074, 2077, 3762, 2083,
+ 2364, 2364, 2086, 2100, 2101, 2113, 3841, 2116, 3549, 2078,
+ 2115, 2126, 1609, 1615, 3085, 1939, 3085, 1205, 1598, 2128,
+ 2129, 2146, 1679, 1680, 1681, 4038, 1682, 1683, 1684, 1685,
+ 1686, 1687, 2149, 2150, 2153, 2157, -2181, 2154, 537, 2161,
+ 1318, 2181, 2176, 2196, 194, 2197, 2204, 2209, -2181, 2210,
+ 2207, 2886, 2214, -2181, 2225, 2227, 2229, 2243, -2181, 2228,
+ 2230, 2244, 2302, -2181, 2273, 2279, -2181, 2373, -2181, 2288,
+ 1238, 2374, 2330, 641, 2336, 3911, 3912, 1940, 2331, 2386,
+ 2392, 1663, 2396, 1941, 2397, 2404, 1942, 2410, 2427, 2429,
+ 2444, 2445, 3085, 3659, 3446, -2181, 2458, 3447, 2475, 2479,
+ 2472, 729, 1239, 2480, 2498, 2499, 2509, 2500, 723, 2476,
+ 2524, 2523, 1943, 4053, 2549, 3530, 2489, -2181, 1944, 2536,
+ 2537, 4173, 2538, 2554, 723, 2490, 4312, 2526, 2501, 2557,
+ 2559, 1945, 2568, 2561, 2573, 2562, 4312, 2578, 3554, 3555,
+ 3556, 3557, 3473, 2579, 3107, 2581, 2588, 2584, 2600, 1651,
+ 2592, 2603, 2616, 2621, -2181, 1137, 1946, 3960, 1240, 1141,
+ 2675, 2683, -2181, 3561, 2670, 3564, 2699, 2725, 2687, 2686,
+ 2744, 2747, 1574, 2769, 3989, 2765, 2770, 2766, 4233, 4235,
+ 2758, 2771, 2773, 3731, 2774, 2775, 3734, 2776, 4358, 2777,
+ 1241, 2783, 2785, 2790, 2794, 4227, 2799, 2800, 2808, 2797,
+ 2798, 2801, 2803, 4004, 4005, 2802, 2828, 2842, 2844, 2857,
+ -2181, 2865, 2851, 2860, 2867, 2866, 2878, 2881, 2364, 2887,
+ 2876, 2893, 2895, 2896, 2897, 2899, 1242, 2900, 2909, 2912,
+ 2914, 2915, 2488, 2921, 1520, 2924, 2922, 2923, 2933, 2926,
+ 2303, 2944, 2941, 2947, 2949, 998, 2953, 2952, 2955, 2957,
+ 2971, 2956, 2975, 3022, 3041, 654, 1243, 3063, 2972, 3056,
+ 2974, 3093, -970, 3119, 3114, 2976, 3010, 2979, 3123, 3135,
+ 2980, 2982, 2985, 3003, 4039, 4040, 3087, 3117, 3141, -2181,
+ 3144, 3146, 4419, 3009, 3011, 2249, 4073, 3147, 3036, 3155,
+ 3158, 919, 3193, 3160, 3825, 3194, 3012, 3019, 3034, 3035,
+ 3049, 3059, 3061, -2181, 3319, -2181, -2181, 3062, 3182, 4302,
+ 3183, 3092, 3129, 3151, 3152, 3196, 3206, 4172, 3167, 3208,
+ 3197, 33, 3221, 3246, 4177, 1246, 3247, 3707, 3252, 3253,
+ 3708, 1247, 3709, 4181, 3254, 3259, 3260, 3250, 1248, 4027,
+ -2181, 3261, 641, -2181, -2181, -2181, 1968, 3263, 3267, 3269,
+ 3706, 3270, 4364, 3271, 3272, 1250, 3274, 3277, 3654, 3655,
+ 3656, 3657, 3279, 1251, 641, 3273, 3275, 4224, 3276, 3278,
+ 2932, 3280, 3282, 3285, 3289, 3287, 2070, 3291, 3293, 2780,
+ 3299, 4344, 3305, 3281, 3306, 2780, 2780, 3321, 2121, 4122,
+ 4347, 4123, 4124, 3309, 3324, 2135, 4354, 3336, 4356, 3325,
+ 3380, 3341, 3337, 4127, 3342, 3373, 3374, 3383, 3387, 3385,
+ 3395, 3404, 3396, 1574, 3407, 1252, 3402, 3408, 3411, 2889,
+ 3434, 3441, 3443, 3787, 3789, 3791, 3793, 3451, 3461, 3452,
+ 3453, 986, 987, 4133, 3414, 3462, 3463, 3474, 1662, 3456,
+ 3479, 1663, 3776, 3006, 2988, 1595, 1656, 3525, 3005, 3284,
+ 3537, 730, 3509, 3550, 3585, 3590, 3563, 4543, 3510, 4149,
+ 4150, 3786, 3511, 3517, 3546, 1420, 1666, 3538, 3606, 3571,
+ -2183, 3587, 1667, 3599, 3622, 3600, 4411, 3629, 3650, 3652,
+ 3653, 3602, 3603, 1574, 3664, 3687, 3676, 1574, 1574, 3665,
+ 3688, 3690, 3689, 3702, 3852, 3700, 1668, 3701, 3722, 3726,
+ 3742, 169, 3849, 3744, 3671, 3808, 4543, 3747, 4227, 3667,
+ 3755, 3703, 3085, 3704, 4543, 3756, 3085, 3705, 3753, 3800,
+ 3779, 4307, 3780, 807, 4278, 3781, 3816, 3426, 650, 651,
+ 3818, 4189, 3811, 657, 2261, 3831, 3801, 3823, 668, 674,
+ 650, 3828, 681, 3844, 3827, 674, 674, 3846, 709, 3847,
+ 712, 3857, 3861, -2183, 3885, 3869, 3830, 3858, 3874, 3863,
+ 3876, 3878, 3890, 3879, 3880, 3881, 3882, 3899, 3900, 4207,
+ 3901, 3902, 3887, 3938, 641, 3939, 3946, 3894, 3951, 919,
+ 3895, 3903, 3907, 3923, 3933, 3952, 3934, 3936, 3949, 3961,
+ 3954, 3955, 3964, 3956, 3967, 3970, 3972, 1420, 1669, 4011,
+ -2183, 3977, 1670, 3978, 3986, 3999, 4006, 4000, 4017, 4034,
+ 4020, 4021, -2183, 4024, 4041, 4062, 4065, -2183, 4066, 4074,
+ 4079, 4084, -2183, 1671, 1672, 4086, 4090, -2183, 4101, 4092,
+ -2183, 4109, -2183, 4103, 4111, 4112, 4120, 4134, 4126, 4135,
+ 1673, 4137, 4142, 4144, 4159, 4145, 4146, 4147, 4153, 4166,
+ 4169, 4175, 4179, 4183, 4297, 4195, 4199, 4198, 4209, -2183,
+ 4210, 3076, 4220, 4221, 4204, 3076, 4531, 4225, 4239, 1675,
+ 4232, 4246, 3807, 4248, 4251, 4271, 4272, 4298, 4249, 3958,
+ 3959, -2183, 1676, 4252, 4303, 765, 770, 770, 773, 4270,
+ 770, 4276, 779, 3971, 765, 4253, 709, 4274, 4306, 809,
+ 169, 3962, 4280, 4310, 709, 4315, 4281, 709, 4321, 4325,
+ 4328, 770, 4340, 709, 4331, 4369, 4379, 4374, -2183, 4381,
+ 4383, 4384, 4389, 4396, 4397, 4378, -2183, 3969, 4398, 4403,
+ 4404, 4422, 1714, 4409, 4410, 4423, 1662, 4425, 4436, 1663,
+ 4345, 641, 4442, 4417, 4444, 4445, 4448, 4450, 4359, 4453,
+ 4421, 4458, 4076, 4459, 4465, 4466, 1664, 4480, 4489, 3551,
+ 1678, 4487, 4495, 4492, 1666, 4446, 4502, 4503, 4447, 4507,
+ 1667, 4521, 4534, 4551, -2183, 4554, 4560, 4001, 1177, 2084,
+ 4564, 2846, 3100, 1662, 2674, 1260, 1663, 1727, 3203, 2932,
+ 3681, 641, 3759, 1297, 1668, 1420, 2757, 3308, 4360, 4226,
+ 4443, 1321, 4273, 3819, 4275, 4071, 4261, 3149, 2920, 4014,
+ 4015, 1666, 4430, 4490, 4018, 4019, 4187, 1667, 4530, 654,
+ 4451, 4449, 4501, 4392, 3154, 4036, 4037, 3815, 2826, 2827,
+ 3215, 3679, 2173, 3391, 2809, 2780, 2780, 4533, 4565, 4250,
+ 4561, 1668, 918, -2183, 3338, 3322, 4055, 4505, 4208, 1420,
+ 4438, 2156, 4493, 1679, 1680, 1681, 4211, 1682, 1683, 1684,
+ 1685, 1686, 1687, 656, 3875, 4326, 3853, -2183, 2529, -2183,
+ -2183, 3136, 3854, 1569, 3085, 4402, 3288, 4514, 4562, 3085,
+ 641, 2932, 1420, 2932, 3085, 4427, 920, 3085, 4068, 1578,
+ 2483, 1150, 919, 2252, 2484, 1662, 1669, 807, 1663, 3104,
+ 1670, 3963, 641, 3616, -2183, 3837, 1171, -2183, -2183, -2183,
+ 3105, 4094, 1825, 4032, 2508, 1664, 1853, 3085, 1854, 3115,
+ 3128, 1671, 1672, 1666, 3113, 2507, 3107, 4035, 3116, 1667,
+ 3566, 4317, 3944, 1158, 1858, 807, 3932, 4113, 1673, 3562,
+ 1863, 4416, 4415, 1669, 3617, 2795, 3529, 1670, 4301, 3519,
+ 4484, 4483, 4479, 1668, 3108, 4206, 3054, 1420, 2966, 3885,
+ 3885, 3885, 3885, 3052, 1674, 3613, 2460, 1675, 1671, 1672,
+ 0, 0, 0, 0, 0, 0, 1420, 0, 0, 0,
+ 1676, 0, 0, 1677, 0, 1673, -2196, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1420, 0, 0, 0,
+ 0, 0, 0, 0, 783, 0, 0, 0, 0, 0,
+ 0, 4527, 0, 0, 1675, 0, 0, 0, 0, 0,
+ 4096, 1420, 0, 0, 0, 0, 0, 1676, 3076, 0,
+ 838, 0, 0, 3076, 0, 709, 3076, 765, 0, 0,
+ 770, 0, 773, 0, 770, 0, 0, 0, 0, 0,
+ 0, 809, 0, 3085, 895, 1669, 0, 0, 1678, 1670,
+ 0, 770, 0, 0, 0, 0, 0, 0, 0, -2196,
+ 0, 0, 0, 4180, 0, 0, 0, 0, 1420, 0,
+ 1671, 1672, 0, 0, 765, 0, 3319, 0, 0, 773,
+ 0, 0, 0, 0, 765, 0, 0, 1673, 809, 0,
+ 0, 0, 0, 0, 0, 1678, 0, 3085, 0, 0,
+ 0, 0, 0, 770, 0, 0, -2196, 0, 0, 0,
+ 0, 2780, 0, 1674, 641, 0, 1675, 0, -2196, 0,
+ 918, 0, 0, -2196, 4230, 0, 4231, 0, -2196, 1676,
+ 4236, 4237, 1677, -2196, 0, 0, -2196, 0, -2196, 0,
+ 0, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686,
+ 1687, 709, 0, 4190, 4192, 4192, 0, 0, 2981, 0,
+ 0, 0, 709, 1012, 0, -2196, 169, 4265, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1124, 4380, 709, 674, 0, 0, -2196, 674, -2272,
+ -2272, 0, 1682, 1683, 1684, 1685, 1686, 1687, 0, 0,
+ 0, 0, 709, 0, 0, 0, 709, 1678, 0, 0,
+ 0, 0, 1124, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 709, -2196, 0, 0, 0, 0, 0,
+ 0, 0, -2196, 0, 0, 709, 0, 0, 0, 1662,
+ 3085, 807, 1663, 0, 0, 1420, 3076, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1664,
+ 0, 0, 0, 0, 0, 0, 0, 1666, 0, 0,
+ 0, 0, 0, 1667, 0, 0, 0, 709, 0, 0,
+ -2196, 0, 0, 0, 0, 0, 4285, 0, 0, 709,
+ 0, 770, 770, 0, 0, 4361, 0, 1668, 0, 0,
+ 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686, 1687,
+ 0, 0, 2477, 674, 0, 0, 0, 0, 2478, 0,
+ 4461, 0, 0, 0, 2932, 654, 0, 0, 0, 0,
+ 0, 3085, 0, 0, 0, 765, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 765, 0, 0, -2196,
+ 809, 0, 169, 4390, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 770, 4491, 0, 4332, 0, 0, 0,
+ 0, 0, 0, -2196, 0, -2196, -2196, 0, 709, 0,
+ 0, 0, 0, 0, 770, 770, 0, 0, 0, 0,
+ 0, 0, 0, 4355, 0, 4357, 0, 0, 0, 1669,
+ 709, 709, 709, 1670, 770, 0, 765, 0, 0, 0,
+ -2196, 0, 0, -2196, -2196, -2196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1671, 1672, 0, 0, 0, 0,
+ 0, 0, 770, 918, 770, 770, 0, 0, 0, 0,
+ 0, 1673, 0, 0, 1662, 0, 0, 1663, 0, 0,
+ 0, 0, 0, 0, 1420, 0, 0, 1124, 1420, 1420,
+ 0, 0, 0, 0, 0, 0, 0, 1674, 0, 0,
+ 1675, 0, 1666, 0, 0, 0, 0, 0, 1667, 0,
+ 0, 0, 0, 1676, 0, 0, 1677, 1552, 1552, 0,
+ 0, 4563, 709, 0, 650, 0, 0, 0, 0, 0,
+ 0, 0, 1668, 0, 4192, 0, 0, 0, 0, 0,
+ 0, 0, 1584, 0, 0, 709, 1662, 0, 1590, 1663,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1124, 0, 0, 0, 0, 1664, 0, 0, 169,
+ 4506, 0, 0, 0, 1666, 0, 0, 0, 0, 0,
+ 1667, 4550, 169, 4519, 173, 4516, 4517, 4518, 0, 4457,
+ 1124, 1678, 0, 1420, 3039, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1668, 0, 0, 4542, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1124, 1124,
+ 0, 1124, 4549, 4519, 173, 4516, 4517, 4518, 0, 0,
+ 0, 0, 0, 0, -2272, 0, 0, 0, 1670, 0,
+ 1124, 0, 0, 0, 0, 4541, 0, 4494, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4542, 0, 0, 1671,
+ 1672, 0, 0, 0, 4542, 0, 0, 0, 169, 4519,
+ 173, 4516, 4517, 4518, 0, 0, -2272, 709, 0, 0,
+ 1124, 0, 0, 0, 1679, 1680, 1681, 0, 1682, 1683,
+ 1684, 1685, 1686, 1687, 4541, 0, 0, 4532, 0, 0,
+ 0, 3029, 4541, 0, 0, 1675, 1669, 0, 0, 1124,
+ 1670, 0, 0, 1124, 1124, 0, 0, 0, 1676, 0,
+ 0, 0, 0, 0, 709, 709, 1866, 0, 0, 0,
+ 0, 1671, 1672, 0, 0, 0, 0, 0, 0, 0,
+ 1420, 0, 674, 0, 0, 0, 0, 0, 1673, 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, 1674, 674, 0, 1675, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1262, 709, 1981, 0,
+ 1676, 0, 1263, 1677, 709, 0, -2272, 770, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1302, 809, 1420,
+ 0, 0, 0, 0, 709, 0, 0, 709, 0, 0,
+ 0, 0, 1264, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1661, 0, 709,
+ 0, 0, 1662, 0, 0, 1663, 0, 0, 770, 770,
+ 770, 770, 709, 1303, 0, 0, 0, 0, 1678, 0,
+ 0, 0, 1664, 674, 0, 1665, 709, 0, 0, 0,
+ 1666, 1265, 0, 0, 0, 0, 1667, 2096, 1266, 709,
+ 0, 1267, 0, 1682, 1683, 1684, 1685, 1686, 1687, 770,
+ 770, 0, 0, 1420, 0, 770, 0, 0, 0, 0,
+ 1668, 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, 1304, 0, 0, 1268, 0, 0, 0, 770,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686,
+ 1687, 0, 0, 0, 0, 2395, 770, 770, 770, 770,
+ 0, 0, 0, 0, 0, 0, 0, 0, 709, 0,
+ 1305, 0, 1306, 0, 709, 0, 0, 2096, 0, 0,
+ 0, 0, 1307, 0, 1270, 0, 765, 0, 0, 0,
+ 0, 0, 1669, 773, 1271, 765, 1670, 0, 0, 0,
+ 0, 0, 1272, 0, 0, 809, 0, 0, 0, 0,
+ 770, 1308, 1273, 0, 0, 0, 0, 1671, 1672, 770,
+ 0, 0, 0, 0, 0, 770, 770, 0, 0, 0,
+ 709, 0, 0, 0, 1673, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1309, 0, 0, 1275, 1276,
+ 1310, 0, 0, 0, 0, 1552, 0, 0, 0, 0,
+ 1674, 0, 770, 1675, 765, 0, 1262, 0, 709, 709,
+ 0, 770, 1263, 0, 1311, 0, 1676, 709, 0, 1677,
+ 0, 0, 0, 0, 709, 1312, 0, 0, 0, 0,
+ 0, 650, 650, 0, 0, 2305, 0, 0, 0, 1124,
+ 0, 1124, 0, 0, 0, 0, 0, 0, 1124, 0,
+ 0, 1124, 1264, 0, 0, 1124, 1420, 0, 0, 1420,
+ 0, 1420, 0, 1124, 1124, 0, 1420, 0, 0, 0,
+ 0, 1124, 1278, 809, 1124, 1124, 1124, 1124, 0, 0,
+ 0, 0, 0, 0, 1124, 1124, 0, 1124, 0, 1124,
+ 1124, 0, 0, 1124, 1678, 0, 0, 0, 0, 0,
+ 0, 1265, 0, 0, 0, 0, 0, 0, 1266, 0,
+ 1124, 1267, 0, 0, 770, 1124, 1420, 0, 0, 1124,
+ 0, 0, 0, 1124, 0, 1124, 1124, 1124, 1124, 1124,
+ 1124, 1124, 1124, 1124, 0, 1124, 0, 0, 0, 0,
+ 0, 709, 0, 1124, 1124, 0, 0, 0, 0, 0,
+ 709, 0, 0, 0, 0, 0, 1420, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1268, 0, 0, 0, 0,
+ 0, 0, 1662, 0, 0, 1663, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1679, 1680, 1681,
+ 0, 1682, 1683, 1684, 1685, 1686, 1687, 0, 0, 0,
+ 1666, 0, 0, 0, 0, 0, 1667, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1420, 0, 1420, 0, 0,
+ 0, 0, 1269, 0, 1270, 0, 0, 0, 0, 0,
+ 1668, 0, 0, 0, 1271, 0, 0, 0, 0, 0,
+ 0, 0, 1272, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1273, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1662, 0, 0, 1663, 709, 0, 709, 0,
+ 1124, 0, 0, 0, 0, 0, 0, 0, 1420, 0,
+ 0, 0, 1664, 0, 0, 1274, 0, 0, 1275, 1276,
+ 1666, 0, 0, 0, 0, 1662, 1667, 0, 1663, 0,
+ 0, 0, 0, 1420, 0, 709, 0, 0, 0, 0,
+ 0, 2515, 0, 2522, 1277, 1664, 0, 0, 0, 0,
+ 1668, 0, 1420, 1666, 0, 0, 0, 0, 0, 1667,
+ 0, 0, 1669, 0, 0, 0, 1670, 0, 0, 0,
+ 1420, 773, 0, 0, 0, 0, 650, 0, 650, 0,
+ 0, 0, 0, 1668, 0, 0, 0, 1671, 1672, 0,
+ 0, 0, 0, 0, 0, 1124, 0, 0, 0, 0,
+ 0, 0, 1278, 0, 1673, 0, 765, 0, 770, 770,
+ 770, 0, 0, 765, 0, 809, 0, 770, 0, 770,
+ 0, 770, 770, 0, 0, 709, 0, 0, 0, 0,
+ 1674, 0, 0, 1675, 1420, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 674, 0, 1676, 0, 0, 1262,
+ 1420, 0, 1669, 1981, 0, 1263, 1670, 0, 0, 0,
+ 2632, 1420, 0, 0, 0, 2641, 0, 0, 0, 0,
+ 0, 709, 0, 0, 0, 0, 0, 1671, 1672, 0,
+ 0, 0, 0, 0, 0, 1669, 0, 0, 709, 1670,
+ 0, 0, 2681, 2681, 1673, 1264, 0, 0, 0, 773,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1671, 1672, 0, 0, 0, 0, 770, 0, 0, 0,
+ 1674, 0, 0, 1675, 1678, 0, 0, 1673, 0, 0,
+ 1420, 0, 0, 0, 0, 0, 1676, 0, 0, 1677,
+ 0, 0, 0, 0, 1265, 0, 2746, 0, 2749, 2751,
+ 1420, 1266, 0, 1674, 1267, 0, 1675, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1676,
+ 0, 0, 1677, 0, 0, 1420, 770, 0, 0, 0,
+ 0, 0, 0, 0, 770, 0, 0, 0, 0, 770,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1124, 0, 0, 0, 0, 0, 1268, 0,
+ 0, 1420, 0, 0, 1678, 0, 0, 1679, 1680, 1681,
+ 0, 1682, 1683, 1684, 1685, 1686, 1687, 0, 0, 0,
+ 1981, 0, 0, 2681, 0, 709, 0, 2847, 0, 0,
+ 650, 0, 0, 0, 0, 0, 0, 1678, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1662, 0, 0, 1663, 0, 1269, 2746, 1270, 0, 0,
+ 0, 0, 0, 0, 770, 2872, 0, 1271, 0, 0,
+ 1664, 0, 0, 0, 0, 1272, 0, 0, 1666, 0,
+ 0, 0, 0, 0, 1667, 1273, 0, 1420, 0, 0,
+ 0, 770, 0, 770, 2681, 770, 2681, 1679, 1680, 1681,
+ 0, 1682, 1683, 1684, 1685, 1686, 1687, 0, 1668, 0,
+ 0, 3323, 0, 0, 0, 1124, 0, 0, 1324, 0,
+ 0, 1275, 1276, 0, 0, 0, 0, 1552, 0, 0,
+ 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686, 1687,
+ 0, 0, 0, 0, 3481, 0, 0, 1325, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 765, 0, 0, 0, 1420, 0, 765, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 770,
+ 0, 0, 0, 0, 0, 0, 1124, 1124, 0, 0,
+ 0, 0, 1124, 0, 0, 1278, 0, 0, 0, 0,
+ 1669, 0, 0, 0, 1670, 1262, 0, 0, 0, 0,
+ 0, 1263, 0, 0, 0, 0, 0, 1124, 1124, 0,
+ 0, 0, 1124, 0, 0, 1671, 1672, 0, 0, 0,
+ 0, 0, 0, 0, 1124, 1124, 1124, 1124, 0, 0,
+ 0, 0, 1673, 0, 0, 0, 0, 1124, 0, 0,
+ 1124, 1264, 1124, 3033, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1124, 1124, 0, 0, 1124, 0, 1674, 0,
+ 0, 1675, -121, 0, 0, 0, 0, 0, 0, 1124,
+ 0, 1124, 0, 809, 1676, 1124, 1, 1677, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 3, 4,
+ 1265, 0, 0, 0, 1124, 0, 0, 1266, 709, 0,
+ 1267, 0, 0, 5, 3086, 0, 0, 1124, 1124, 1124,
+ 0, 0, 1420, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 6, 1124, 7, 8, 0, 0, 0,
+ 0, 9, 0, 10, 0, 0, 1124, 0, 0, 0,
+ 0, 1124, 0, 11, 0, 12, 0, 1124, 0, 1420,
+ 0, 0, 1678, 0, 1268, 3086, 0, 0, 3122, 0,
+ 0, 13, 2522, 0, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1262, 0, 15, 0, 16, 0,
+ 1263, 0, 17, 0, 0, 0, 0, 0, 18, 0,
+ 0, 0, 0, 0, 0, 0, 19, 0, 20, 0,
+ 0, 0, 0, 1124, 21, 2681, 0, 0, 0, 0,
+ 1552, 1269, 0, 1270, 0, 0, 0, 0, 0, 22,
+ 1264, 0, 0, 1271, 0, 0, 0, 0, 0, 0,
+ 0, 1272, 0, 0, 0, 0, 770, 0, 770, 770,
+ 770, 1273, 1262, 0, 0, 1679, 1680, 1681, 1263, 1682,
+ 1683, 1684, 1685, 1686, 1687, 0, 0, 3601, 0, 1420,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265,
+ 1420, 0, 0, 0, 23, 24, 1266, 1275, 1276, 1267,
+ 25, 0, 0, 0, 0, 0, 0, 0, 1264, 26,
+ 0, 1662, 0, 0, 1663, 0, 0, 0, 0, 0,
+ 27, 0, 0, 1277, 0, 0, 0, 0, 0, 0,
+ 0, 1664, 0, 0, 0, 0, 0, 0, 0, 1666,
+ 0, 0, 0, 0, 0, 1667, 0, 0, 0, 0,
+ 0, 1662, 0, 1268, 1663, 0, 0, 1265, 28, 0,
+ 0, 0, 0, 0, 1266, 0, 0, 1267, 0, 1668,
+ 29, 1664, 0, 0, 0, 30, 31, 0, 32, 1666,
+ 0, 1278, 0, 33, 0, 1667, 1662, 0, 34, 1663,
+ 0, 35, 0, 0, 0, 36, 0, 0, 0, 0,
+ 37, 38, 1420, 0, 0, 0, 0, 0, 39, 1668,
+ 1269, 40, 1270, 0, 1666, 0, 0, 0, 0, 41,
+ 1667, 1268, 1271, 0, 0, 0, 0, 0, 1420, 0,
+ 1272, 42, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1273, 2681, 2681, 0, 1668, 1420, 0, 0, 43, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
+ 0, 0, 0, 0, 45, 0, 0, 0, 0, 46,
+ 0, 1669, 0, 1351, 0, 1670, 1275, 1276, 1269, 0,
+ 1270, 0, 47, 0, 0, 0, 0, 0, 0, 0,
+ 1271, 0, 0, 0, 709, 709, 1671, 1672, 1272, 1420,
+ 0, 0, 1352, 0, 0, 0, 3050, 0, 1273, 0,
+ 709, 1669, 0, 1673, 0, 1670, 0, 0, 48, 0,
+ 0, -121, 0, 1552, 709, 0, 0, 0, 0, 0,
+ 0, 0, 1552, 709, 0, 0, 1671, 1672, 0, 1674,
+ 0, 1950, 1675, 0, 1275, 1276, -2272, 709, 0, 0,
+ 1670, 0, 0, 1673, 0, 1676, 0, 0, 1677, 0,
+ 1278, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1951, 1671, 1672, 0, 0, 770, 0, 0, 770, 1674,
+ 0, 0, 1675, 0, 0, 0, 0, 0, -2272, 0,
+ 0, 0, 765, 0, 0, 1676, 0, 0, 1677, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 709, 0, 0, 0, 1675, 0, 0,
+ 0, 0, 0, 770, 0, 0, 0, 0, 1278, 0,
+ 1676, 1124, 0, 1678, 0, 0, 0, 0, 0, 0,
+ 0, 1124, 0, 0, 0, 0, 1420, 1124, 0, 1124,
+ 0, 0, 0, 0, 0, 1124, 0, 0, 1124, 1124,
+ 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 0, 0,
+ 0, 1124, 1124, 1678, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1124, 0, 0, 0, 1124, 0,
+ 0, 0, 1124, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1124, 0, 0, 1124, 0, 1124, -2272, 0,
+ 0, 0, 0, 0, 0, 0, 1124, 1124, 1124, 0,
+ 0, 0, 1124, 0, 0, 1124, 1679, 1680, 1681, 3553,
+ 1682, 1683, 1684, 1685, 1686, 1687, 709, 709, 709, 765,
+ 3528, 3086, 3570, 0, 0, 0, 3570, 3584, 0, 0,
+ 0, 0, 0, 1124, 0, 0, 0, 0, 1420, 1124,
+ 1124, 0, 0, 0, 0, 0, 1679, 1680, 1681, 0,
+ 1682, 1683, 1684, 1685, 1686, 1687, 0, 0, 0, 0,
+ 3605, 0, 0, 1124, 0, 0, 0, 0, 0, 1124,
+ 0, 0, 0, 2522, 0, 1124, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1682, 1683, 1684, 1685, 1686,
+ 1687, 0, 0, 0, 0, 0, 0, 3637, 1552, 1552,
+ 0, 2096, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 770,
+ 770, 770, 770, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1420, 0, 0, 0,
+ 1662, 0, 0, 1663, 3678, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1662, 0, 1420, 1663, 0,
+ 1664, 0, 0, 0, 0, 0, 0, 0, 1666, 0,
+ 0, 0, 0, 0, 1667, 1664, 0, 0, 0, 0,
+ 0, 0, 0, 1666, 0, 0, 0, 0, 0, 1667,
+ 0, 0, 0, 1420, 0, 0, 1662, 0, 1668, 1663,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1668, 0, 0, 1664, 0, 0, 0,
+ 0, 0, 0, 0, 1666, 3748, 0, 1420, 0, 0,
+ 1667, 1420, 1420, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1668, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 709, 0, 0, 0,
+ 0, 767, 0, 0, 0, 0, 0, 770, 0, 1124,
+ 767, 787, 0, 0, 0, 709, 0, 787, 0, 0,
+ 1669, 3814, 0, 0, 1670, 0, 0, 0, 787, 0,
+ 1981, 0, 0, 0, 0, 1669, 0, 0, 0, 1670,
+ 0, 0, 709, 0, 0, 1671, 1672, 0, 0, 0,
+ 0, 0, 2746, 0, 0, 0, 0, 0, 3842, 0,
+ 1671, 1672, 1673, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1124, 1124, 1669, 1673, 0, 0,
+ 1670, 0, 0, 0, 0, 0, 0, 0, 1674, 0,
+ 0, 1675, 0, 0, 0, 0, 0, 2681, 0, 2681,
+ 0, 1671, 1672, 1674, 1676, 0, 1675, 1677, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1673, 1676,
+ 0, 0, 1677, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1124, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1674, 0, 0, 1675, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1676, 0, 0, 1677, 0, 0, 0, 0, 0, 0,
+ 1124, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1124, 1124, 1678, 0, 0, 0, 0, 0, 1124, 1124,
+ 0, 0, 0, 1124, 0, 0, 0, 1678, 0, 1124,
+ 1124, 0, 1662, 1124, 0, 1663, 1124, 3926, 0, 0,
+ 709, 709, 709, 709, 0, 0, 0, 3570, 3584, 1262,
+ 3570, 0, 1664, 3935, 0, 1263, 0, 3086, 0, 1662,
+ 1666, 3086, 1663, 0, 0, 0, 1667, 3948, 1678, 0,
+ 0, 0, 0, 1124, 0, 0, 0, 0, 1124, 1664,
+ 0, 0, 0, 1124, 0, 0, 0, 1666, 0, 809,
+ 1668, 0, 0, 1667, 0, 1264, 0, 3122, 0, 0,
+ 0, 2522, 0, 0, 0, 1679, 1680, 1681, 0, 1682,
+ 1683, 1684, 1685, 1686, 1687, 650, 0, 1668, 1124, 3631,
+ 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686, 1687,
+ 0, 0, 0, 0, 3888, 0, 0, 0, 2681, 2681,
+ 0, 0, 0, 0, 1265, 0, 0, 0, 0, 0,
+ 0, 1266, 0, 0, 1267, 0, 0, 0, 0, 0,
+ 4002, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686,
+ 1687, 0, 0, 0, 0, 3922, 0, 0, 0, 0,
+ 0, 0, 0, 767, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1669, 0, 0, 787, 1670, 0, 0, 787,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1268, 0,
+ 787, 0, 0, 0, 770, 0, 0, 1671, 1672, 1669,
+ 0, 0, 0, 1670, 0, 0, 787, 0, 770, 0,
+ 767, 0, 0, 0, 1673, 0, 0, 0, 0, 0,
+ 767, 787, 0, 0, 1671, 1672, 787, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 787, 0, 0, 0,
+ 1674, 1673, 0, 1675, 787, 1269, 0, 1270, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1676, 1271, 0, 1677,
+ 0, 0, 0, 0, 0, 1272, 1124, 1674, 0, 0,
+ 1675, 0, 0, 0, 0, 1273, 0, 765, 0, 0,
+ 0, 0, 1981, 1676, 0, 0, 1677, 1662, 0, 1552,
+ 1663, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 770, 1981, 0, 0, 0, 0, 1664, 2013, 0,
+ 0, 1275, 1276, 0, 0, 1666, 0, 767, 0, 0,
+ 0, 1667, 787, 0, 0, 0, 0, 709, 0, 0,
+ 0, 0, 0, 0, 1678, 1262, 0, 2014, 0, 0,
+ 0, 1263, 0, 0, 0, 1668, 0, 0, 767, 0,
+ 0, 0, 0, 0, 0, 0, 1124, 0, 0, 0,
+ 0, 1678, 0, 0, 0, 1124, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1264, 1124, 1124, 0, 0, 1124, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1278, 0, 0, 0, 765,
+ 3570, 0, 0, 0, 3086, 0, 0, 0, 0, 3086,
+ 0, 0, 3086, 2746, 0, 4171, 0, 1124, 1124, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1679, 1680, 1681,
+ 1265, 1682, 1683, 1684, 1685, 1686, 1687, 1266, 0, 0,
+ 1267, 4143, 3637, 809, 770, 770, 770, 1669, 0, 0,
+ 0, 1670, 0, 0, 1679, 1680, 1681, 0, 1682, 1683,
+ 1684, 1685, 1686, 1687, 0, 0, 0, 0, 4152, 0,
+ 0, 767, 1671, 1672, 0, 0, 0, 0, 0, 0,
+ 765, 809, 767, 0, 0, 0, 0, 0, 0, 1673,
+ 0, 0, 0, 0, 1268, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1422, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1674, 0, 0, 1675, 0,
+ 0, 0, 0, 0, 1552, 1552, 0, 1662, 0, 765,
+ 1663, 1676, 709, 0, 1677, 0, 0, 0, 0, 0,
+ 0, 0, 767, 3814, 0, 0, 0, 1664, 0, 0,
+ 2681, 1269, 0, 1270, 1981, 1666, 0, 0, 0, 0,
+ 0, 1667, 0, 1271, 0, 0, 3842, 0, 0, 709,
+ 0, 1272, 0, 0, 787, 0, 0, 770, 3637, 0,
+ 0, 1273, 0, 0, 0, 1668, 0, 0, 0, 787,
+ 0, 0, 0, 767, 0, 0, 0, 0, 0, 0,
+ 1124, 787, 0, 1124, 0, 1124, 0, 0, 0, 1678,
+ 0, 0, 0, 0, 2627, 0, 0, 1275, 1276, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1124, 787,
+ 0, 0, 3086, 0, 0, 4171, 0, 1422, 0, 787,
+ 0, 4324, 0, 1277, 0, 0, 0, 0, 0, 0,
+ 0, 0, 787, 0, 0, 787, 0, 770, 0, 0,
+ 0, 709, 0, 0, 0, 0, 0, 767, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 770, 770, 770, 770, 1669, 0, 0,
+ 0, 1670, 0, 0, 0, 0, 767, 0, 1552, 0,
+ 0, 1278, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685,
+ 1686, 1687, 1671, 1672, 0, 0, 4185, 765, 0, 0,
+ 0, 0, 0, 0, 767, 767, 0, 767, 0, 1673,
+ 0, 0, 0, 0, 0, 0, 1124, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 767, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1674, 0, 0, 1675, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 787,
+ 0, 1676, 1124, 0, 1677, 765, 1662, 787, 787, 1663,
+ 0, 0, 0, 0, 0, 0, 767, 1812, 0, 0,
+ 0, 0, 0, 0, 0, 770, 1664, 809, 0, 0,
+ 0, 0, 0, 0, 1666, 0, 1124, 0, 0, 0,
+ 1667, 0, 0, 0, 0, 767, 0, 0, 0, 767,
+ 767, 0, 0, 1662, 0, 0, 1663, 0, 0, 0,
+ 0, 0, 0, 0, 1668, 1422, 0, 0, 0, 0,
+ 0, 1812, 0, 1664, 0, 0, 0, 0, 0, 1678,
+ 770, 1666, 0, 0, 0, 765, 0, 1667, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3637, 0, 0, 1262,
+ 0, 0, 0, 0, 0, 1263, 0, 0, 1124, 1124,
+ 0, 1668, 0, 2746, 0, 0, 0, 4324, 0, 1422,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 765,
+ 0, 0, 0, 0, 0, 0, 0, 0, 770, 0,
+ 0, 0, 0, 0, 0, 1264, 0, 0, 0, 0,
+ 0, 0, 1422, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1669, 0, 0, 1124,
+ 1670, 0, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685,
+ 1686, 1687, 0, 1124, 0, 0, 4244, 0, 770, 0,
+ 0, 1671, 1672, 0, 1265, 0, 0, 0, 0, 0,
+ 0, 1266, 0, 0, 1267, 0, 0, 787, 1673, 0,
+ 0, 0, 0, 1669, 0, 0, 0, 1670, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1422, 0, 0,
+ 0, 0, 0, 0, 1674, 0, 0, 1675, 1671, 1672,
+ 0, 0, 0, 0, 0, 0, 1422, 1124, 0, 0,
+ 1676, 0, 0, 1677, 1662, 1673, 765, 1663, 1268, 0,
+ 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1674, 1666, 0, 1675, 0, 1812, 0, 1667, 0,
+ 0, 1422, 0, 0, 0, 0, 0, 1676, 0, 0,
+ 1677, 0, 0, 0, 0, 0, 787, 0, 0, 0,
+ 0, 0, 1668, 0, 0, 1269, 0, 1270, 0, 0,
+ 0, 0, 787, 0, 0, 0, 0, 1271, 1678, 0,
+ 0, 0, 0, 0, 0, 1272, 0, 0, 0, 0,
+ 0, 0, 767, 0, 0, 1273, 0, 0, 1422, 0,
+ 0, 767, 0, 787, 787, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 787, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3543, 1678, 787, 787, 2714, 0,
+ 0, 1275, 1276, 0, 0, 0, 0, 0, 787, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2715, 0, 0,
+ 0, 0, 0, 0, -2272, 0, 0, 0, 1670, 0,
+ 767, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686,
+ 1687, 0, 0, 0, 0, 4460, 0, 0, 0, 1671,
+ 1672, 0, 0, 0, 0, 0, 791, 0, 0, 0,
+ 0, 0, 0, 0, 815, 767, -2272, 767, 0, 0,
+ 0, 0, 0, 827, 767, 1278, 0, 767, 1679, 1680,
+ 1681, 767, 1682, 1683, 1684, 1685, 1686, 1687, 0, 767,
+ 767, 0, 4552, 0, 0, 1675, 0, 767, 0, 0,
+ 767, 767, 767, 767, 0, 0, 1662, 0, 1676, 1663,
+ 767, 767, 0, 767, 0, 767, 767, 0, 0, 767,
+ 0, 0, 0, 0, 0, 0, 1664, 0, 0, 0,
+ 2491, 0, 0, 0, 1666, 1422, 767, 1812, 0, 0,
+ 1667, 767, 0, 0, 0, 767, 0, 0, 0, 767,
+ 0, 767, 767, 767, 767, 767, 767, 767, 767, 767,
+ 0, 767, 0, 0, 1668, 0, 0, 0, 0, 767,
+ 767, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -2272, 1662, 0, 0,
+ 1663, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1664, 0, 2492,
+ 0, 0, 0, 0, 1662, 1666, 0, 1663, 0, 0,
+ 0, 1667, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1664, 0, 0, 0, 0, 0,
+ 0, 1662, 1666, 0, 1663, 1668, 0, 0, 1667, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1664, 0, 0, 0, 0, 1669, 0, 0, 1666,
+ 1670, 0, 1668, 0, 0, 1667, 0, 0, 0, 0,
+ 0, 0, 0, 1682, 1683, 1684, 1685, 1686, 1687, 0,
+ 0, 1671, 1672, 0, 0, 0, 767, 0, 0, 1668,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1673, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1662, 0,
+ 0, 1663, 0, 0, 0, 0, 3005, 0, 0, 0,
+ 0, 3006, 0, 0, 1674, 0, 0, 1675, 0, 0,
+ 0, 0, 0, 0, 1422, 0, 1666, 1669, 1422, 1422,
+ 1676, 1670, 1667, 1677, 0, 0, 0, 0, 787, 0,
+ 0, 0, 1812, 787, 0, 0, 787, 0, 0, 0,
+ 0, 0, 1671, 1672, 1669, 0, 1668, 0, 1670, 4524,
+ 0, 0, 0, 0, 0, 0, 0, 0, 787, 1673,
+ 836, 767, 0, 0, 0, 869, 0, 0, 0, 1671,
+ 1672, 1669, 767, 0, 0, 1670, 0, 0, 0, 767,
+ 0, 0, 0, 0, 0, 1674, 1673, 0, 1675, 0,
+ 0, 0, 0, 0, 0, 0, 1671, 1672, 1678, 787,
+ 0, 1676, 0, 0, 1677, 0, 0, 0, 3544, 0,
+ 0, 0, 1674, 1673, 0, 1675, 787, 787, 0, 0,
+ 0, 0, 0, 1422, 0, 0, 0, 0, 1676, 0,
+ 0, 1677, 0, 0, 0, 0, 0, 0, 0, 1674,
+ 1812, 787, 1675, 0, 1812, 0, 0, 0, -2272, 2493,
+ 0, 3520, 1670, 0, 0, 1676, 0, 0, 1677, 0,
+ 0, 0, 0, 0, 0, 0, 0, 787, 0, 0,
+ 0, 787, 0, 1671, 1672, 0, 4525, 0, 0, 1678,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 787,
+ -2272, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686,
+ 1687, 0, 1011, 787, 0, 0, 1678, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 787, 0, 0, 1675,
+ 3521, 0, 0, 1129, 0, 787, 0, 0, 0, 0,
+ 0, 0, 1676, 1678, 0, 0, 0, 1662, 0, 0,
+ 1663, 0, 1152, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1664, 0, 0,
- 0, 0, 1364, 0, 0, 172, 0, 0, 3484, 3485,
- 3486, 3487, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1745, 0, 1766, 1364, 0, 0,
- 1776, 1779, 0, 0, 0, 0, 0, 0, 802, 0,
- 0, 0, 0, 0, 1745, 1364, 0, 0, 0, 0,
- 0, 173, 0, 1615, 1616, 1617, 0, 1618, 1619, 1620,
- 1621, 1622, 1623, 0, 174, 0, 0, 0, 0, 0,
- 0, 803, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 175, 0, 0, 804, 805, 0, 176, 0, 0,
- 1362, 0, 0, 806, 0, 1362, 1362, 807, 0, 1363,
- 0, 0, 177, 0, 0, 0, 0, 1362, 1364, 0,
- 0, 0, 0, 0, 808, 0, 0, 0, 0, 0,
- 178, 0, 1364, 0, 0, 0, 0, 0, 0, 0,
- 0, 179, 0, 1364, 0, 809, 180, 0, 0, 0,
- 0, 0, 181, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 810, 0, 0, 0, 182, 0, 0,
- 739, 0, 0, 0, 811, 0, 0, 0, 0, 812,
- 0, 0, 0, 1891, 0, 0, 0, 0, 0, 0,
- 0, 0, 183, 0, 0, 0, 0, 0, 3623, 0,
- 813, 0, 0, 0, 0, 739, 0, 0, 1364, 0,
- 0, 0, 0, 0, 0, 739, 0, 0, 0, 0,
- 0, 739, 0, 739, 0, 814, 0, 0, 1364, 739,
- 0, 0, 739, 739, 739, 739, 739, 739, 739, 739,
- 739, 739, 184, 0, 0, 739, 739, 0, 0, 1362,
- 0, 0, 0, 1364, 0, 0, 0, 0, 739, 0,
- 0, 0, 739, 0, 1745, 0, 739, 1363, 0, 0,
- 185, 0, 0, 0, 0, 815, 739, 0, 0, 739,
- 0, 739, 0, 0, 0, 0, 0, 0, 0, 1364,
- 739, 739, 739, 0, 0, 186, 739, 0, 0, 739,
- 0, 187, 0, 185, 0, 0, 0, 188, 0, 739,
- 189, 0, 0, 0, 0, 0, 0, 0, 0, 739,
- 0, 0, 0, 1362, 0, 0, 0, 739, 816, 739,
- 0, 0, 817, 0, 818, 0, 190, 0, 191, 0,
- 819, 0, 192, 820, 0, 0, 0, 0, 0, 0,
- 193, 0, 739, 0, 0, 194, 0, 0, 739, 0,
- 0, 0, 0, 0, 739, 0, 0, 195, 0, 821,
- 0, 822, 0, 0, 0, 823, 0, 0, 0, 739,
- 196, 0, 0, 824, 0, 0, 0, 0, 825, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0,
- 0, 0, 0, 826, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2362, 2362, 2362, 0, 0, 0, 0, 0, 2229,
- 0, 0, 0, 0, 0, 1745, 0, 0, 0, 1745,
- 1364, 1745, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2252, 0, 0, 2254, 0, 0, 2265, 0,
- 0, 0, 0, 0, 0, 2272, 2277, 0, 0, 0,
- 0, 2283, 0, 0, 2288, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2297, 0, 0, 0, 0, 2304, 0, 0, 0,
- 2316, 0, 0, 0, 2323, 0, 2325, 2326, 2327, 2328,
- 2329, 2330, 2331, 2332, 2333, 0, 2334, 0, 0, 0,
- 0, 1063, 0, 2359, 0, 0, 0, 1363, 0, 0,
- 0, 0, 0, 0, 0, 0, 3832, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3835, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1891, 2504, 739,
- 2504, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1364, 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, 1363, 0, 1363, 0, 0, 1364, 739, 739,
- 0, 0, 0, 0, 1625, 0, 0, 0, 0, 3879,
- 0, 0, 0, 0, 0, 0, 0, 0, 1120, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0,
- 0, 0, 0, 0, 0, 739, 0, 0, 0, 0,
- 0, 1625, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1363, 0, 0, 0, 0, 0, 1362, 1362, 0,
- 1362, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 739, 0, 0, 2451, 2504, 0, 0, 0,
- 0, 0, 739, 739, 0, 1364, 0, 0, 0, 0,
- 739, 739, 0, 0, 2504, 739, 1364, 0, 0, 0,
- 0, 739, 739, 0, 0, 739, 0, 0, 0, 0,
- 0, 0, 1362, 0, 1362, 0, 0, 0, 0, 0,
- 739, 0, 0, 0, 739, 0, 3974, 3976, 3976, 0,
- 0, 0, 0, 739, 0, 0, 0, 0, 739, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 739, 0, 0, 0, 0, 0, 0, 1363, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0,
- 0, 2504, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 739, 1363, 0, 0, 0, 0, 0, 0, 0,
- 0, 1362, 0, 0, 0, 0, 0, 0, 0, 1364,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1362, 0, 1745, 0,
- 0, 0, 0, 0, 0, 0, 0, 1364, 0, 0,
- 0, 0, 0, 0, 1362, 0, 0, 4048, 0, 1364,
- 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0,
- 2661, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1364, 0, 0, 0, 0, 0, 1354,
- 0, 0, 1363, 0, 0, 0, 0, 1362, 0, 0,
- 0, 0, 0, 1745, 0, 0, 0, 0, 0, 0,
- 0, 1362, 0, 0, 0, 4090, 0, 0, 0, 0,
- 0, 0, 1362, 0, 0, 0, 0, 0, 1363, 0,
- 0, 0, 0, 0, 0, 0, 0, 4108, 0, 4110,
- 0, 739, 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, 2362, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1625, 0, 0, 0, 0, 0, 0, 1362, 2783, 0,
- 0, 0, 0, 1364, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0,
- 0, 0, 0, 0, 0, 0, 1354, 0, 0, 0,
- 0, 0, 0, 0, 739, 0, 0, 3976, 1364, 0,
- 0, 0, 1362, 739, 0, 0, 0, 0, 0, 0,
- 1356, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 739, 739, 0, 0, 739, 0, 0, 1625, 0, 0,
- 0, 0, 0, 0, 0, 739, 0, 2825, 1362, 4191,
- 739, 0, 2831, 739, 0, 0, 0, 0, 739, 739,
- 0, 1625, 0, 0, 0, 0, 2261, 0, 0, 2504,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 739, 0, 0, 1625, 1625, 0, 1625,
- 0, 0, 0, 0, 2277, 0, 2277, 2277, 0, 0,
- 0, 4225, 0, 0, 0, 0, 0, 2888, 0, 0,
- 2891, 0, 2893, 0, 1364, 0, 0, 0, 739, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1625,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2914,
- 0, 2916, 0, 4258, 0, 2919, 0, 1356, 0, 0,
- 0, 0, 0, 0, 0, 739, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1625, 0, 0, 0, 0,
- 0, 0, 0, 0, 2359, 2359, 2359, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1354,
- 0, 2956, 0, 0, 0, 0, 0, 739, 0, 1364,
- 0, 0, 1766, 0, 0, 0, 0, 2966, 0, 1362,
- 0, 0, 0, 0, 1779, 0, 0, 0, 0, 739,
- 1364, 0, 739, 1363, 739, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 739, 1354, 0, 0, 739, 0, 0, 0, 0,
- 1364, 0, 0, 0, 0, 0, 1891, 2997, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1625, 0, 0,
- 0, 0, 1354, 0, 0, 0, 0, 1625, 0, 0,
- 1625, 0, 0, 0, 1745, 0, 0, 1364, 0, 0,
- 0, 1364, 1364, 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, 739, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1356, 0, 1354, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1364, 0, 0, 0, 0, 0, 0, 0,
- 0, 1354, 0, 1362, 1363, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1363, 0, 0, 0, 0,
- 739, 1354, 0, 1357, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1356, 0, 0, 1362, 739, 0, 0,
- 0, 0, 0, 0, 0, 0, 1354, 0, 0, 0,
- 0, 0, 2362, 0, 0, 0, 0, 2362, 0, 0,
- 0, 0, 0, 1356, 0, 0, 0, 0, 0, 2362,
- 0, 0, 739, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 739, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1354, 739,
- 739, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 739, 0, 0, 0, 0, 0, 1363, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1356, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1362, 0, 1363, 739, 0, 0,
- 1357, 0, 1356, 0, 0, 1362, 0, 739, 1363, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1356, 1745, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1356, 1359, 0,
- 0, 0, 1363, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 739, 0, 0, 0, 0,
- 1745, 0, 0, 0, 739, 0, 0, 0, 1745, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1356,
- 0, 0, 0, 0, 0, 0, 0, 0, 1362, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1354, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1362, 3317, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3321, 1362, 0,
- 0, 0, 0, 3322, 0, 3323, 0, 0, 0, 0,
- 0, 0, 3903, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1359, 0, 3341, 3342, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1362, 1357, 0, 0, 0, 1363, 2283, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3370, 0,
- 0, 3373, 0, 3375, 0, 0, 0, 0, 0, 0,
- 1625, 0, 3379, 0, 0, 0, 0, 0, 3384, 0,
- 0, 3387, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1625, 0, 1625, 1357, 2261, 2261, 2862,
- 0, 3416, 2261, 0, 0, 0, 1625, 0, 0, 3428,
- 0, 2359, 0, 1625, 0, 0, 0, 0, 1625, 0,
- 0, 0, 0, 0, 1625, 1356, 1357, 0, 0, 1625,
- 0, 0, 0, 0, 3442, 0, 0, 0, 1625, 0,
- 1063, 0, 2261, 2261, 0, 1625, 1120, 0, 0, 0,
- 0, 0, 0, 2504, 0, 0, 0, 1625, 0, 0,
- 0, 0, 0, 0, 1625, 0, 1625, 1625, 1625, 1625,
- 1625, 1625, 1625, 1625, 1625, 1625, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0,
- 0, 0, 0, 0, 0, 0, 1357, 0, 0, 0,
- 1625, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1357, 0, 0, 1359, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1357, 0, 0, 2504, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1354, 0, 1363,
- 1357, 0, 1354, 1354, 0, 0, 0, 0, 0, 0,
- 511, 1359, 0, 0, 1354, 0, 0, 0, 0, 0,
- 0, 0, 512, 0, 0, 0, 0, 0, 0, 1363,
- 0, 0, 1625, 1362, 0, 0, 0, 0, 0, 0,
- 0, 1359, 0, 513, 0, 0, 0, 0, 0, 0,
- 0, 0, 1357, 0, 0, 0, 514, 0, 0, 0,
- 1360, 0, 0, 0, 0, 515, 1363, 0, 0, -692,
- 1363, 1363, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 516, 0, 0, 0,
- 0, 0, 517, 0, 0, 1361, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 518, 0, 0,
- 0, 1359, 0, 0, 0, 0, 0, 0, 1362, 0,
- 0, 0, 0, 0, 0, 519, 0, 0, 0, 0,
- 1359, 3903, 0, 0, 0, 0, 520, 0, 0, 1362,
- 0, 0, 0, 521, 0, 0, 1354, 522, 1356, 0,
- 1359, 0, 0, 1356, 1356, 0, 0, 0, 0, 0,
- 3671, 3672, -881, 0, 0, 1356, 0, 0, 0, 1362,
- 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1360, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 523, 0, 0, 0, 0, 0, 1362, 0, 0, 0,
- 1362, 1362, 0, 0, 0, 0, 0, 3701, 0, 0,
- 1354, 0, 1361, 0, 0, 0, 0, 1359, 1357, 0,
- 0, 0, 0, 0, 0, 0, 0, 524, 0, 0,
- 525, 0, 1625, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3719, 3721, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3728, 0, 0,
- 0, 0, 0, 3733, 3734, 0, 0, 3736, 0, 0,
- 526, 0, 0, 0, 0, 0, 527, 1356, 0, 0,
- 0, 0, -369, 0, 1354, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2359, 0, 0, 0, 0,
- 2359, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -369, 2359, 529, 530, 0, 531, 532, 0, 0,
- 0, 0, 0, 0, 0, 533, 0, 0, 0, 0,
- 534, 0, 0, 0, 0, 0, 535, 0, 0, 536,
- 0, 0, 537, 3782, 1625, 0, 0, 0, 0, 0,
- 0, 1356, 0, 0, 0, -369, 0, 0, 0, 0,
- 1360, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1359, 0, 0, 1625, 0, 0, 0,
- 0, 0, 1625, 0, 0, 1361, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2862, 2862,
- 0, 2261, 0, 1360, 2261, 2261, 2261, 2261, 2261, 2261,
- 2261, 2261, 2261, 2261, 2862, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1356, 0, 0, 0, 0,
- 0, 0, 0, 1360, 0, 0, 0, 0, 1361, 1625,
- 0, 0, 1625, 0, 1625, 0, 0, 0, 0, 2862,
- 2862, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2261, 2261, 1625, 0, 1625, 1361, 0,
- 1625, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1357, 0, 0, 0, 0, 1357, 1357, 0, 0,
- 0, 0, 0, 3862, 0, 0, 0, 0, 1357, 0,
- 0, 0, 0, 1360, 0, 0, 0, 1625, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1625, 0, 0,
- 0, 0, 1360, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1361, 0,
- 0, 0, 1360, 0, 1354, 0, 0, 0, 1625, 0,
- 0, 0, 0, 0, 0, 0, 0, 1361, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1360, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1361, 0, 0,
- 0, 0, 0, 0, 1354, 1354, 0, 1354, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1361, 0, 0, 0, 3937, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1360,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1357, 3954, 0, 0, 0, 0, 0, 0, 0, 1354,
- 0, 1354, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1361, 0, 1359, 0, 0, 0,
- 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1354, 1356, 0, 0, 0, 0,
- 0, 0, 0, 0, 1357, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1354, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1356, 1356, 0, 1356, 0,
- 0, 0, 0, 1354, 0, 0, 0, 0, 0, 0,
- 0, 2261, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1354, 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, 1357, 0,
- 1356, 0, 1356, 0, 2283, 1360, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0,
- 0, 0, 0, 4071, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1354, 0, 0, 0, 0, 0,
- 1361, 0, 0, 0, 0, 0, 0, 0, 1354, 0,
- 0, 0, 0, 0, 0, 1356, 0, 0, 0, 1354,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1625, 1356,
- 0, 0, 1625, 1625, 1625, 0, 0, 2862, 0, 1359,
- 0, 0, 2862, 2862, 2862, 2862, 2862, 2862, 2862, 2862,
- 2862, 2862, 1625, 1625, 1356, 0, 0, 4132, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1356, 0, 1354, 0, 0, 0, 0, 0,
- 0, 1625, 2261, 2261, 1625, 0, 1625, 0, 0, 0,
- 1625, 2862, 2862, 0, 1354, 1625, 0, 0, 1625, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1354,
- 0, 0, 0, 1359, 0, 0, 0, 1625, 0, 4172,
- 0, 0, 0, 0, 0, 1356, 0, 0, 0, 1625,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1356,
- 0, 0, 0, 1625, 0, 1354, 0, 0, 0, 0,
- 1356, 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, 4211, 4211, 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, 1357, 0,
- 0, 0, 0, 0, 0, 1356, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1360, 4211,
- 0, 0, 0, 1360, 1360, 1356, 0, 0, 0, 4255,
- 0, 0, 0, 0, 0, 1360, 0, 0, 1357, 1357,
- 0, 1357, 0, 0, 0, 0, 0, 0, 0, 0,
- 1356, 0, 0, 1361, 0, 0, 0, 0, 1361, 1361,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1356, 4211, 0, 0,
- 0, 0, 0, 1357, 0, 1357, 1354, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2862, 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, 1357, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1625, 1625, 0, 0, 0, 1360, 0, 0,
- 0, 0, 1357, 1359, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1625, 0, 0, 0, 2261, 1357, 0, 0,
- 0, 0, 1361, 0, 0, 0, 0, 0, 0, 0,
- 1625, 0, 1625, 1359, 1359, 1357, 1359, 2862, 2862, 1625,
- 0, 0, 2261, 2261, 1625, 1625, 0, 1625, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1360, 0, 0, 0, 0, 0, 1356, 0, 0,
- 1354, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0,
- 1359, 0, 0, 1625, 0, 0, 1361, 0, 1357, 0,
- 0, 0, 0, 1354, 0, 0, 0, 0, 0, 0,
- 0, 0, 1357, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1357, 0, 0, 0, 0, 0, 0,
+ 2968, 0, 0, 1178, 0, 1666, 0, 0, 767, 0,
+ 1422, 1667, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685,
+ 1686, 1687, 0, 0, 0, 1662, 0, 0, 1663, 0,
+ 0, 1812, 0, 0, 0, 1668, 0, 0, 0, 1679,
+ 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686, 1687, 0,
+ -2272, 0, 0, 1666, 0, 0, 0, 0, 0, 1667,
+ 0, 0, 0, 0, 0, 0, 1679, 1680, 1681, 1287,
+ 1682, 1683, 1684, 1685, 1686, 1687, 0, 0, 0, 0,
+ 0, 1662, 0, 1668, 1663, 0, 0, 0, 0, 1422,
+ 0, 0, 787, 0, 0, 1662, 0, 0, 1663, 0,
+ 0, 1664, 0, 0, 3013, 0, 0, 0, 0, 1666,
+ 0, 0, 0, 0, 0, 1667, 0, 0, 0, 0,
+ 0, 0, 0, 1666, 0, 0, 787, 0, 0, 1667,
+ 0, 767, 0, 0, 0, 0, 0, 1669, 0, 1668,
+ 0, 1670, 0, 0, 0, 3547, 0, 1682, 1683, 1684,
+ 1685, 1686, 1687, 1668, 0, 0, 0, 0, 1435, 0,
+ 0, 787, 1671, 1672, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1422, 0, 0, 0, 0, 0, 1673,
+ 1463, 1466, 1467, 0, 787, -2272, 0, 0, 767, 1670,
+ 0, 0, 0, 0, 767, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1674, 0, 0, 1675, 0,
+ 1671, 1672, 767, 767, 0, 3920, 0, 0, 767, 0,
+ 0, 1676, 0, 0, 1677, 0, 0, -2272, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1359, 0, 1360, 0, 0, 0, 0,
+ 0, 1669, 0, 767, 767, 1670, 0, 0, 767, 0,
+ 0, 0, 0, 0, 0, -2272, 1675, 0, 0, 1670,
+ 767, 767, 767, 767, 0, 0, 1671, 1672, 1812, 1676,
+ 0, 0, 1129, 767, 1812, 0, 767, 0, 767, 0,
+ 1671, 1672, 0, 1673, 0, 0, 0, 0, 767, 767,
+ 0, 0, 767, 0, 0, 1129, 0, -2272, 0, 1678,
+ 0, 0, 0, 0, 0, 767, 0, 767, 0, 1674,
+ 0, 767, 1675, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1676, 1675, 0, 1677, 0,
+ 767, 0, 0, 0, 0, 1262, 0, 0, 0, 1676,
+ 767, 1263, 0, 767, 767, 767, 0, -2272, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 787, 0, 0,
+ 767, 788, 0, 0, 0, 0, 1302, 788, 0, 0,
+ 0, 0, 767, 0, 0, 0, 0, 767, 788, 0,
+ 0, 1264, 0, 767, 0, 0, 0, 0, 0, 0,
+ 0, 767, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685,
+ 1686, 1687, 0, 1678, 0, 0, 1422, 0, 0, 1422,
+ 0, 1422, 1303, 0, 0, 0, 1422, -2272, 787, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1729, 0, 0,
+ 1265, 0, 0, 787, 787, 0, 0, 1266, 0, 767,
+ 1267, 0, 0, 0, 1682, 1683, 1684, 1685, 1686, 1687,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0,
- 0, 0, 0, 1625, 0, 0, 0, 0, 0, 0,
- 1361, 0, 0, 0, 0, 0, 0, 0, 1357, 0,
- 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1357, 0,
- 1359, 1354, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1356, 1354, 0, 0, 0, 0, 0, 0, 0,
- 2862, 2261, 0, 1357, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2862, 2862, 1625, 0,
- 0, 0, 0, 0, 1356, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1625, 0, 0, 0, 1357,
- 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0,
+ 787, 0, 0, 787, 0, 0, 1422, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1864, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1304, 0, 0, 1268, 0, 1679, 1680, 1681, 0,
+ 1682, 1683, 1684, 1685, 1686, 1687, 1422, 0, 0, 0,
+ 0, 0, 0, 0, 1682, 1683, 1684, 1685, 1686, 1687,
+ 0, 0, 0, 0, 0, 0, 0, 1662, 0, 0,
+ 1663, 0, 0, 1812, 1812, 1812, 0, 1976, 0, 1305,
+ 0, 1306, 0, 0, 1994, 0, 0, 1664, 0, 0,
+ 0, 1307, 0, 1270, 0, 1666, 0, 787, 0, 0,
+ 0, 1667, 0, 1271, 0, 1422, 0, 1422, 787, 0,
+ 0, 1272, 0, 0, 2028, 0, 0, 2031, 787, 0,
+ 1308, 1273, 0, 0, 0, 1668, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1354, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2069, 0, 2702, 0, 0, 1275, 1276, 1310,
+ 0, 0, 0, 0, 0, 0, 2085, 0, 1422, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2097,
+ 0, 0, 0, 2703, 0, 0, 0, 787, 0, 0,
+ 0, 0, 0, 1422, 1312, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1662, 0, 0, 1663,
+ 0, 0, 1422, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1664, 1669, 0, 1812,
+ 1422, 1670, 0, 0, 1666, 0, 0, 0, 0, 1262,
+ 1667, 1278, 0, 0, 787, 1263, 787, 0, 0, 0,
+ 0, 0, 1671, 1672, 0, 788, 0, 0, 787, 788,
+ 787, 0, 0, 0, 1668, 0, 0, 0, 0, 1673,
+ 788, 0, 0, 0, 0, 0, 0, 0, 2193, 0,
+ 0, 0, 0, 0, 2203, 1264, 788, 0, 0, 0,
+ 0, 0, 0, 0, 1422, 1674, 0, 0, 1675, 0,
+ 0, 788, 0, 0, 0, 0, 788, 0, 0, 787,
+ 1422, 1676, 0, 0, 1677, 0, 788, 0, 0, 0,
+ 0, 1422, 0, 0, 788, 0, 0, 0, 0, 2983,
+ 0, 0, 0, 0, 1265, 0, 0, 787, 0, 0,
+ 2250, 1266, 0, 0, 1267, 0, 0, 0, 767, 0,
+ 3018, 787, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1669, 0, 787, 0,
+ 1670, 787, 0, 0, 0, 0, 0, 0, 1129, 1129,
+ 0, 0, 0, 0, 0, 0, 0, 767, 0, 1678,
+ 1422, 1671, 1672, 0, 2298, 0, 0, 767, 1268, 0,
+ 0, 0, 788, 767, 0, 767, 0, 0, 1673, 0,
+ 1422, 767, 0, 0, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 767, 0, 0, 0, 767, 767, 0,
+ 0, 0, 0, 0, 1674, 1422, 0, 1675, 0, 0,
+ 767, 0, 0, 0, 767, 0, 1812, 0, 767, 0,
+ 1676, 0, 0, 1677, 0, 1269, 0, 1270, 767, 0,
+ 0, 767, 0, 767, 0, 0, 0, 1271, 0, 0,
+ 0, 1422, 767, 767, 767, 1272, 0, 0, 767, 0,
+ 0, 767, 1679, 1680, 1681, 1273, 1682, 1683, 1684, 1685,
+ 1686, 1687, 0, 0, 0, 767, 0, 767, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 767,
+ 1662, 2457, 0, 1663, 0, 767, 767, 0, 2760, 0,
+ 2471, 1275, 1276, 0, 0, 0, 0, 0, 1678, 0,
+ 1664, 0, 0, 3024, 0, 0, 0, 0, 1666, 767,
+ 0, 0, 0, 0, 1667, 767, 0, 2761, 0, 0,
+ 0, 767, 0, 0, 0, 0, 0, 1422, 0, 0,
+ 0, 0, 1662, 0, 0, 1663, 0, 0, 1668, 0,
+ 0, 0, 0, 767, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1664, 0, 0, 0, 0, 0, 0, 0,
+ 1666, 0, 0, 0, 0, 0, 1667, 1262, 0, 0,
+ 0, 0, 0, 1263, 787, 1278, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1354, 0, 0, 0, 0, 0, 0,
- 0, 0, 1356, 1359, 0, 1354, 0, 0, 0, 0,
- 0, 0, 2862, 1356, 0, 0, 0, 0, 0, 0,
- 0, 0, 1625, 1359, 0, 0, 0, 0, 0, 0,
+ 1668, 1679, 1680, 1681, 0, 1682, 1683, 1684, 1685, 1686,
+ 1687, 0, 0, 0, 0, 0, 2482, 0, 2485, 0,
+ 1812, 0, 0, 1264, 0, 1812, 1422, 1812, 0, 0,
+ 0, 0, 0, 0, 788, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 788,
+ 1669, 0, 0, 0, 1670, 1129, 0, 0, 0, 0,
+ 0, 788, 0, 787, 0, 787, 0, 0, 0, 787,
+ 0, 0, 1265, 0, 787, 1671, 1672, 787, 0, 1266,
+ 0, 0, 1267, 0, 0, 0, 0, 0, 0, 788,
+ 0, 0, 1673, 0, 0, 0, 0, 0, 0, 788,
+ 0, 0, 1669, 0, 0, 0, 1670, 0, 0, 0,
+ 0, 1812, 788, 0, 0, 788, 0, 0, 1674, 0,
+ 0, 1675, 0, 0, 0, 0, 0, 1671, 1672, 0,
+ 0, 0, 0, 0, 1676, 0, 1268, 1677, 0, 0,
+ 789, 0, 0, 0, 1673, 0, 789, 0, 0, 0,
+ 0, 0, 0, 0, 0, 767, 0, 789, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1354,
- 0, 0, 0, 0, 0, 1360, 0, 0, 0, 0,
+ 1674, 0, 0, 1675, 0, 0, 0, 0, 787, 787,
+ 0, 0, 1422, 0, 0, 787, 1676, 0, 0, 1677,
+ 0, 2650, 0, 1269, 0, 1270, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1271, 0, 1662, 2676, 0,
+ 1663, 0, 1678, 1272, 0, 0, 0, 0, 0, 1422,
+ 767, 767, 0, 1273, 0, 0, 0, 1664, 0, 788,
+ 3527, 0, 0, 0, 0, 1666, 0, 788, 788, 0,
+ 0, 1667, 0, 0, 0, 0, 0, 1813, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3187, 0, 0, 1275,
+ 1276, 787, 0, 0, 1678, 1668, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 767,
+ 0, 0, 0, 0, 0, 3188, 0, 0, 0, 0,
+ 3477, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1813, 0, 0, 0, 1679, 1680, 1681, 0, 1682,
+ 1683, 1684, 1685, 1686, 1687, 0, 767, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 767, 767, 0, 1422,
+ 0, 0, 0, 0, 767, 767, 0, 0, 0, 767,
+ 1422, 0, 0, 1278, 0, 767, 767, 0, 0, 767,
+ 0, 0, 767, 0, 0, 2845, 0, 1679, 1680, 1681,
+ 0, 1682, 1683, 1684, 1685, 1686, 1687, 1669, 0, 0,
+ 0, 1670, 0, 767, 0, 0, 0, 767, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 767,
+ 0, 0, 1671, 1672, 767, 0, 0, 0, 0, 767,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1673,
+ 0, 0, 1662, 0, 0, 1663, 1262, 0, 0, 0,
+ 0, 0, 1263, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1664, 0, 767, 1674, 0, 788, 1675, 0,
+ 1666, 0, 0, 0, 0, 0, 1667, 0, 0, 0,
+ 0, 1676, 1422, 0, 1677, 0, 0, 0, 0, 0,
+ 0, 0, 1264, 0, 0, 0, 0, 0, 0, 1812,
+ 1668, 179, 0, 0, 0, 0, 0, 0, 1422, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1357, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1625, 1359, 0, 0, 0, 0, 0,
- 1361, 0, 0, 0, 0, 1360, 1360, 0, 1360, 0,
+ 787, 0, 0, 0, 789, 1422, 0, 0, 789, 0,
+ 0, 0, 787, 0, 0, 0, 0, 0, 0, 789,
+ 0, 1265, 0, 0, 0, 0, 1813, 180, 1266, 0,
+ 0, 1267, 0, 0, 787, 789, 0, 0, 0, 1678,
+ 181, 0, 0, 0, 0, 0, 788, 0, 0, 0,
+ 789, 0, 0, 0, 0, 789, 0, 182, 0, 1422,
+ 0, 0, 788, 183, 0, 789, 0, 0, 0, 0,
+ 0, 0, 0, 789, 787, 0, 0, 0, 184, 0,
+ 0, 0, 1669, 0, 0, 1268, 1670, 0, 0, 185,
+ 0, 0, 0, 788, 788, 0, 0, 186, 0, 0,
+ 0, 0, 0, 0, 788, 0, 0, 1671, 1672, 187,
+ 0, 0, 767, 0, 188, 0, 788, 788, 0, 0,
+ 189, 0, 0, 767, 1673, 0, 0, 0, 788, 0,
+ 0, 0, 1679, 1680, 1681, 190, 1682, 1683, 1684, 1685,
+ 1686, 1687, 1269, 0, 1270, 0, 0, 0, 0, 0,
+ 1674, 789, 0, 1675, 1271, 0, 0, 0, 3069, 0,
+ 191, 0, 1272, 0, 0, 0, 1676, 0, 0, 1677,
+ 1422, 0, 1273, 0, 0, 0, 0, 0, 0, 0,
+ 0, 192, 0, 0, 0, 0, 0, 0, 0, 0,
+ 787, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 767, 0, 0, 3227, 1422, 0, 1275, 1276,
+ 0, 767, 193, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 767, 767,
+ 0, 0, 767, 0, 3228, 0, 0, 0, 0, 0,
+ 0, 194, 0, 0, 1678, 767, 0, 0, 0, 0,
+ 767, 0, 0, 0, 0, 767, 0, 0, 767, 0,
+ 0, 0, 0, 767, 767, 0, 0, 1813, 195, 0,
+ 0, 0, 196, 0, 197, 0, 0, 0, 0, 0,
+ 198, 0, 787, 199, 787, 0, 0, 0, 767, 0,
+ 0, 0, 1278, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
+ 0, 202, 0, 0, 0, 203, 0, 0, 1422, 0,
+ 0, 0, 0, 204, 0, 0, 767, 0, 205, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1679, 1680, 1681,
+ 206, 1682, 1683, 1684, 1685, 1686, 1687, 0, 0, 0,
+ 0, 0, 0, 207, 0, 0, 0, 0, 0, 0,
+ 1812, 0, 787, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 767, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0,
- 0, 0, 0, 1625, 0, 0, 0, 0, 0, 0,
- 1361, 1361, 0, 1361, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1356, 0, 0, 0, 0, 0,
- 1360, 0, 1360, 0, 0, 0, 1356, 0, 0, 0,
- 0, 0, 1625, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1361, 0, 1361, 0, 0,
- 0, 0, 0, 0, 1354, 0, 0, 0, 0, 0,
- 1356, 0, 0, 0, 0, 1360, 1625, 0, 0, 0,
+ 0, 0, 0, 789, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 789, 0,
+ 0, 0, 0, 0, 767, 0, 1422, 0, 0, 0,
+ 789, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 767, 1422, 0, 767,
+ 0, 767, 0, 0, 0, 0, 0, 0, 789, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 789, 0,
+ 0, 0, 0, 0, 767, 0, 0, 0, 767, 0,
+ 0, 789, 0, 1422, 789, 0, 0, 0, 788, 0,
+ 0, 0, 1813, 788, 0, 0, 788, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1357, 0, 0, 0, 0, 1360,
+ 0, 0, 0, 1812, 0, 0, 0, 1422, 788, 0,
+ 0, 1422, 1422, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3371, 3372, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1361, 0, 0, 0, 0, 1359, 0, 0, 0, 0,
- 0, 0, 0, 0, 1360, 0, 0, 1357, 0, 0,
- 0, 0, 0, 0, 1361, 0, 0, 0, 0, 0,
- 0, 0, 1360, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1361,
+ 3381, 0, 0, 0, 0, 0, 0, 0, 0, 788,
+ 0, 0, 0, 767, 3390, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3399, 0, 0, 788, 788, 0, 0,
+ 0, 0, 767, 0, 0, 0, 0, 3415, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 789, 0,
+ 1813, 788, 1422, 0, 1813, 0, 789, 789, 0, 0,
+ 0, 0, 0, 0, 531, 0, 1814, 0, 767, 0,
+ 0, 767, 0, 0, 0, 0, 532, 788, 0, 0,
+ 0, 788, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 533, 0, 788,
+ 0, 0, 767, 1129, 0, 0, 0, 0, 0, 0,
+ 534, 0, 0, 788, 0, 0, 0, 0, 0, 535,
+ 1814, 0, 0, -729, 0, 787, 788, 0, 0, 0,
+ 0, 0, 0, 0, 0, 788, 0, 0, 0, 0,
+ 536, 0, 0, 0, 0, 0, 537, 0, 0, 0,
+ 0, 767, 0, 0, 0, 0, 0, 0, 578, 0,
+ 0, 538, 767, 0, 0, 0, 0, 0, 0, 0,
+ 579, 0, 539, 0, 767, 767, 0, 0, 0, 0,
+ 540, 0, 0, 0, 0, 787, 0, 0, 0, 0,
+ 0, 580, 541, 0, 0, 767, 0, 0, 0, 542,
+ 0, 1813, 0, 543, 581, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 582, -924, 0,
+ 0, 0, 0, 0, 0, 0, 3558, 3559, 3560, 0,
+ 0, 0, 0, 0, 583, 767, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 767,
+ 0, 0, 0, 0, 0, 584, 789, 544, 0, 0,
+ 0, 0, 788, 0, -496, 0, 585, 0, 0, 1812,
+ 0, 0, 0, 0, 586, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 587, 0, 0, 0,
+ 0, 588, 0, 0, 0, 545, 788, 589, 546, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1354, 0, 0, 0, 0, 0, 0, 1361, 0, 0,
+ 0, 0, 590, 767, 0, 0, 0, 0, 1812, 0,
+ 0, 0, 767, 0, 0, 0, 1812, 0, 0, 0,
+ 0, 788, 0, -392, 0, 1814, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 547, 0, 0, 788, 789, 0, 548, 591, 0,
+ 0, 0, 566, -392, 0, 0, 549, 0, 609, 0,
+ 0, 789, 0, 0, 0, 0, 0, 659, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 592,
+ 0, 0, -392, 0, 550, 551, 721, 552, 553, 0,
+ 593, 0, 789, 789, 0, 0, 554, 0, 0, 0,
+ 0, 555, 0, 789, 0, 0, 0, 556, 194, 0,
+ 557, 0, 0, 558, 0, 789, 789, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -392, 789, 1813, 0,
+ 0, 0, 0, 0, 1813, 594, 0, 0, 0, 595,
+ 0, 596, 0, 0, 0, 0, 0, 597, 0, 0,
+ 598, 0, 0, 0, 839, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1360, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1356, 0, 0, 0, 1360,
+ 0, 0, 0, 0, 0, 0, 599, 0, 600, 0,
+ 0, 0, 601, 0, 0, 0, 3783, 840, 0, 0,
+ 602, 0, 0, 0, 0, 603, 0, 0, 0, 0,
+ 841, 842, 0, 0, 0, 3809, 0, 604, 0, 843,
+ 0, 0, 0, 844, 0, 0, 0, 788, 0, 0,
+ 605, 0, 0, 0, 0, 778, 0, 0, 0, 0,
+ 845, 0, 3826, 0, 0, 812, 813, 0, 816, 0,
+ 0, 820, 0, 822, 0, 0, 0, 0, 0, 0,
+ 0, 846, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 847, 0, 0, 0, 1814, 0, 0, 0,
+ 848, 0, 0, 0, 0, 0, 0, 0, 788, 0,
+ 0, 0, 849, 0, 0, 0, 0, 850, 0, 0,
+ 0, 0, 0, 788, 788, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 851, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1360, 0, 0, 0, 0, 1357, 0, 0, 0, 0,
- 1361, 0, 0, 0, 0, 0, 1357, 0, 0, 0,
- 0, 0, 0, 0, 1361, 1354, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1361, 0, 0, 0, 1359,
- 0, 0, 0, 0, 0, 0, 1354, 0, 0, 0,
+ 788, 0, 0, 788, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 852, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1360, 0, 0, 0, 0,
- 0, 0, 1359, 0, 0, 0, 1354, 0, 0, 0,
- 0, 0, 0, 0, 0, 1360, 0, 0, 0, 0,
- 0, 1356, 0, 0, 0, 0, 0, 0, 0, 0,
- 1361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1360, 0, 0, 1354, 0, 0, 0, 1354, 1354, 1357,
- 1361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 853, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1361, 1360, 1357, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1357,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0,
- 1359, 1361, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1359, 0, 0, 0, 0, 0, 1356, 0, 0,
- 0, 0, 0, 1357, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 854, 0, 0, 0, 0,
+ 0, 0, 0, 1813, 1813, 1813, 0, 0, 0, 0,
+ 3927, 3928, 3929, 3930, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 194, 0, 0, 788, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 788, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 788, 0,
+ 0, 855, 0, 0, 0, 856, 0, 857, 0, 0,
+ 0, 0, 0, 858, 0, 0, 859, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1356, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 860, 0, 861, 0, 0, 789, 862, 0,
+ 0, 1814, 789, 0, 0, 789, 863, 0, 0, 0,
+ 0, 864, 0, 0, 0, 0, 0, 788, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 789, 0, 0,
+ 0, 0, 0, 0, 0, 0, 865, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1813,
+ 0, 0, 0, 0, 0, 0, 0, 0, 789, 0,
+ 0, 0, 0, 0, 788, 0, 788, 0, 0, 0,
+ 0, 872, 0, 0, 0, 789, 789, 0, 788, 880,
+ 788, 0, 0, 0, 0, 0, 0, 0, 896, 897,
+ 0, 0, 0, 899, 0, 0, 0, 0, 0, 1814,
+ 789, 0, 0, 1814, 915, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 923, 0,
+ 0, 0, 0, 0, 0, 0, 789, 0, 0, 788,
+ 789, 0, 0, 0, 946, 0, 0, 948, 0, 950,
+ 0, 953, 0, 0, 0, 0, 0, 0, 789, 0,
+ 0, 0, 0, 0, 0, 0, 0, 788, 0, 0,
+ 0, 0, 789, 0, 0, 0, 0, 0, 0, 0,
+ 0, 788, 0, 0, 0, 789, 0, 0, 0, 0,
+ 0, 0, 0, 0, 789, 0, 0, 0, 788, 0,
+ 0, 788, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1009, 0, 1010, 0, 0, 0, 4119, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1356, 0, 0, 0, 1356, 1356,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1108, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1360, 0, 0,
+ 1814, 0, 0, 0, 0, 0, 0, 721, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1813, 1168, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0,
- 0, 0, 1361, 0, 0, 0, 0, 0, 1357, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1412, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0,
+ 0, 789, 0, 0, 0, 1229, 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, 789, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1354, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 789, 0, 1366, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1376, 0, 0, 0, 0,
+ 0, 0, 1378, 789, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4242, 0, 1426, 0, 0, 1430, 0, 0,
+ 0, 0, 0, 0, 788, 0, 0, 0, 0, 1412,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1129,
+ 1473, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1813, 0, 0, 0, 0, 1813, 0, 1813, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1814, 0, 0,
+ 0, 0, 0, 1814, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 788, 0, 788, 0, 0, 0, 788,
+ 0, 0, 0, 0, 788, 0, 0, 788, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1357, 0, 0, 0, 0, 0,
- 0, 1360, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4335, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1813, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1360, 0, 1361, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 789, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1600, 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, 1359, 0, 0, 0, 0, 0, 1361,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1357,
+ 0, 0, 0, 0, 0, 1624, 0, 0, 788, 788,
+ 0, 0, 0, 0, 0, 788, 0, 1412, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 789, 0, 0,
+ 0, 0, 0, 1649, 1650, 0, 1652, 0, 0, 0,
+ 0, 0, 789, 789, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1694, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 789,
+ 0, 1412, 789, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 788, 0, 0, 0, 1730, 0, 0, 0, 0,
+ 0, 721, 1827, 0, 1412, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1357, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1834, 0, 0, 0, 1846, 1849,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1814, 1814, 1814, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1357, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1360, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1360, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1357, 0, 1359,
- 0, 1357, 1357, 0, 0, 0, 0, 1361, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1361, 0,
+ 0, 0, 0, 0, 1948, 0, 789, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 789, 0, 1412,
+ 0, 0, 0, 0, 0, 0, 0, 789, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1412, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1412, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1412, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 789, 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, 1359, 0, 1360, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1814, 1813,
+ 1412, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 789, 0, 789, 0, 0, 0, 0,
+ 788, 0, 0, 0, 0, 0, 0, 789, 0, 789,
+ 0, 0, 788, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0,
- 0, 0, 0, 0, 1360, 0, 0, 0, 0, 0,
- 0, 1361, 0, 0, 0, 0, 1360, 0, 0, 0,
- 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1361,
+ 0, 0, 0, 0, 788, 0, 0, 0, 0, 0,
+ 0, 0, 2152, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2175, 789, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1361, 0, 0, 0, 0, 0, 0, 0, 0,
- 1360, 0, 1359, 0, 0, 0, 1359, 1359, 0, 0,
+ 0, 0, 0, 0, 788, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 789, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2220, 0, 0,
+ 789, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2235, 0, 2237, 0, 2238, 789, 0, 0,
+ 789, 2239, 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, 1361, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1412, 0, 0,
+ 0, 0, 0, 0, 1827, 0, 0, 0, 1827, 0,
+ 1827, 0, 0, 1827, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 788, 0, 0, 0, 0, 1814, 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, 2334, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2357, 0, 0, 2359,
+ 0, 0, 2370, 0, 0, 0, 0, 0, 0, 2377,
+ 2382, 0, 0, 0, 0, 2388, 0, 0, 2393, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 788, 0, 788, 2402, 0, 0, 0, 0,
+ 2409, 0, 0, 0, 2421, 0, 0, 0, 2428, 0,
+ 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 0,
+ 2439, 0, 0, 0, 0, 0, 0, 0, 1108, 2467,
+ 0, 0, 0, 0, 0, 1421, 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, 789, 0, 0, 0, 0, 0, 0,
+ 1813, 0, 788, 0, 0, 0, 1412, 0, 0, 0,
+ 1412, 1412, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1814,
+ 0, 0, 0, 0, 1814, 0, 1814, 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, 1360, 0, 0, 0, 0,
+ 0, 0, 789, 0, 789, 0, 0, 0, 789, 0,
+ 0, 0, 0, 789, 0, 1168, 789, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1412, 0, 0, 0, 0,
+ 1814, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2540, 2541, 0, 0,
+ 0, 2544, 2545, 0, 0, 2548, 0, 0, 0, 0,
+ 0, 0, 0, 1813, 0, 2558, 0, 0, 0, 0,
+ 0, 0, 2567, 0, 0, 0, 2570, 2571, 0, 0,
+ 2574, 2575, 0, 0, 0, 0, 0, 2580, 0, 0,
+ 2572, 0, 0, 0, 0, 0, 0, 789, 789, 2596,
+ 0, 2598, 0, 0, 789, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2620, 0, 0,
+ 0, 0, 2622, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2631, 0, 2633, 2634, 2637, 2639, 0, 0,
+ 0, 2646, 2649, 0, 0, 0, 0, 0, 0, 2660,
+ 0, 0, 0, 2669, 0, 0, 0, 2673, 0, 0,
+ 0, 0, 1412, 0, 0, 0, 0, 0, 0, 0,
+ 789, 0, 0, 0, 0, 0, 0, 0, 0, 2701,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2708, 0, 2710, 0, 0, 1882, 0, 2713, 0, 0,
+ 0, 0, 2717, 2718, 2719, 2720, 0, 0, 0, 0,
+ 0, 2729, 0, 0, 0, 788, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2753, 2754, 2755, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2763, 2764, 0, 0, 0,
+ 0, 1412, 0, 0, 0, 0, 0, 0, 0, 1882,
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, 788, 0, 0, 0, 0,
+ 0, 0, 1421, 0, 0, 0, 0, 2793, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2821,
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, 1412, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1689, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1421, 0, 1813,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1360, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1882, 0, 1814, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1421, 0, 0, 789,
+ 0, 1689, 0, 0, 0, 0, 0, 0, 1813, 0,
+ 2918, 789, 0, 0, 0, 0, 1813, 0, 1827, 0,
+ 0, 1421, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 789, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2943, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1361, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 789, 0, 0, 0, 0, 1421, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2964, 0, 0, 0, 0, 2970, 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, 1360, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1360, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2382,
+ 0, 2382, 2382, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3027, 0, 0, 3030, 0, 3032, 1412, 0,
+ 0, 1412, 0, 1412, 0, 0, 0, 0, 1412, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1361, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1360, 0, 0,
- 0, 0, 1361, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3053, 0, 3055, 0, 0, 789,
+ 3058, 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, 1412, 0,
+ 0, 0, 2467, 2467, 2467, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3103, 0, 3101,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1361, 0, 1360, 0, 0, 0, 1360, 1360,
- 0, 0, 0, 0, 0, 712, 981, 550, 982, 983,
- 984, 597, 985, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 2353, 209, 210, 211, 0, 1361,
- 0, 0, 986, 1361, 1361, 212, 213, 0, 214, 215,
- 713, 216, 217, 218, 219, 987, 714, 988, 989, 0,
- 223, 224, 225, 226, 227, 990, 991, 228, 229, 992,
- 993, 232, 0, 233, 234, 235, 236, 994, 0, 995,
- 0, 238, 239, 240, 241, 716, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 717, 250, 251, 996,
- 997, 998, 999, 1000, 1001, 1002, 252, 253, 254, 255,
- 256, 257, 1003, 1004, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 2354, 0, 270,
- 271, 1005, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 1006, 285, 286, 287,
- 1007, 1008, 289, 0, 290, 1009, 292, 0, 293, 0,
- 294, 719, 0, 720, 295, 296, 297, 0, 298, 1010,
- 0, 300, 0, 301, 302, 303, 304, 305, 721, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 722, 316, 317, 318, 319, 320, 1011, 1012, 0,
- 1013, 0, 324, 723, 724, 325, 725, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 1014, 726, 335, 727,
- 0, 336, 337, 338, 1015, 1016, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 1017, 728,
- 1018, 353, 354, 355, 1019, 356, 357, 729, 358, 1020,
- 1021, 360, 1022, 362, 363, 364, 0, 365, 0, 0,
- 1023, 367, 368, 0, 0, 369, 730, 731, 732, 1024,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 1025,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 1026, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 733, 409, 410, 1027, 412, 413, 414, 415,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
- 1028, 425, 426, 427, 428, 734, 429, 1029, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 1030, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 1031, 1032, 0, 0, 453, 1033, 455, 1034,
- 1035, 457, 458, 459, 460, 461, 462, 463, 0, 1036,
- 464, 465, 466, 467, 468, 1037, 0, 469, 470, 471,
- 472, 473, 474, 1038, 2355, 476, 735, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 495,
- 496, 497, 0, 0, 0, 0, 0, 0, 0, 1047,
- 1048, 2356, 0, 0, 0, 0, 0, 0, 1050, 2357,
- 712, 981, 550, 982, 983, 984, 597, 985, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 986, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 219,
- 987, 714, 988, 989, 0, 223, 224, 225, 226, 227,
- 990, 991, 228, 229, 992, 993, 232, 0, 233, 234,
- 235, 236, 994, 0, 995, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 996, 997, 998, 999, 1000, 1001,
- 1002, 252, 253, 254, 255, 256, 257, 1003, 1004, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 1006, 285, 286, 287, 1007, 1008, 289, 0, 290,
- 1009, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 1010, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 316, 317, 318,
- 319, 320, 1011, 1012, 0, 1013, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 1014, 726, 335, 727, 0, 336, 337, 338, 1015,
- 1016, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1017, 728, 1018, 353, 354, 355, 1019,
- 356, 357, 729, 358, 1020, 1021, 360, 1022, 362, 363,
- 364, 0, 365, 0, 0, 1023, 367, 368, 0, 0,
- 369, 730, 731, 732, 1024, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 1025, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1026, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 1027, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 1028, 425, 426, 427, 428,
- 734, 429, 1029, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 1030, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 1031, 1032, 0,
- 0, 453, 1033, 455, 1034, 1035, 457, 458, 459, 460,
- 461, 462, 463, 0, 1036, 464, 465, 466, 467, 468,
- 1037, 0, 469, 470, 471, 472, 473, 474, 1038, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 1039, 1040, 1041, 1042,
- 1043, 1044, 1045, 1046, 495, 496, 497, 0, 0, 0,
- 0, 0, 0, 0, 1047, 1048, 199, 0, 0, 0,
- 0, 0, 0, 1050, 2263, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 3398, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, -1406, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, -1406, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 305, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, -1406, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, -1406, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, -1406, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- -1406, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, -1406, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 0, 0, 0, 0, 0, 0, 0,
- 1330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1127, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 0,
- 1331, 714, 1332, 1333, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 1334, 1335, 232, 0, 233, 234,
- 235, 236, 0, 0, 715, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 0, 0, 0, 718, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 1336, 1337, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 0, 285, 286, 287, 0, 0, 289, 0, 290,
- 1338, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 0, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 1879, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 1880, 317, 318,
- 319, 320, 1339, 1340, 0, 1341, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 0, 726, 335, 727, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1342, 728, 1343, 353, 354, 0, 0,
- 356, 357, 729, 358, 0, 0, 360, 1344, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 1881, 730, 731, 732, 0, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 0, 380, 0, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1345, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 0, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 1882, 427, 428,
- 734, 429, 1347, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 0, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 1348, 1349, 0,
- 0, 453, 0, 455, 0, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 0, 1350, 1883,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 0, 199, 0, 0, 0,
- 0, 0, 0, 0, 495, 496, 497, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 1884, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 305, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 0, 0, 0, 0, 0, 0, 0,
- 1330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2696, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 0,
- 1331, 714, 1332, 1333, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 1334, 1335, 232, 0, 233, 234,
- 235, 236, 0, 0, 715, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 0, 0, 0, 718, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 1336, 1337, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 0, 285, 286, 287, 0, 0, 289, 0, 290,
- 1338, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 0, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 1879, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 1880, 317, 318,
- 319, 320, 1339, 1340, 0, 1341, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 0, 726, 335, 727, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1342, 728, 1343, 353, 354, 0, 0,
- 356, 357, 729, 358, 0, 0, 360, 1344, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 1881, 730, 731, 732, 0, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 0, 380, 0, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1345, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 0, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 1882, 427, 428,
- 734, 429, 1347, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 0, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 1348, 1349, 0,
- 0, 453, 0, 455, 0, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 0, 1350, 1883,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 0, 712, 981, 550, 982,
- 983, 984, 597, 985, 495, 496, 497, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 986, 2747, 0, 212, 213, 0, 214,
- 215, 713, 216, 217, 218, 219, 987, 714, 988, 989,
- 2273, 223, 224, 225, 226, 227, 990, 991, 228, 229,
- 992, 993, 232, 0, 233, 234, 235, 236, 994, 0,
- 995, 0, 238, 239, 240, 241, 716, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 717, 250, 251,
- 996, 997, 998, 999, 1000, 1001, 1002, 252, 253, 254,
- 255, 256, 257, 1003, 1004, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 1005, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 1006, 285, 286,
- 287, 1007, 1008, 289, 0, 290, 1009, 292, 0, 293,
- 0, 294, 719, 2274, 720, 295, 296, 297, 0, 298,
- 1010, 0, 300, 0, 301, 302, 303, 304, 305, 721,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 722, 316, 317, 318, 319, 320, 1011, 1012,
- 0, 1013, 0, 324, 723, 724, 325, 725, 326, 327,
- 328, 329, 330, 331, 332, 2275, 333, 1014, 726, 335,
- 727, 0, 336, 337, 338, 1015, 1016, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 1017,
- 728, 1018, 353, 354, 355, 1019, 356, 357, 729, 358,
- 1020, 1021, 360, 1022, 362, 363, 364, 0, 365, 0,
- 0, 1023, 367, 368, 0, 0, 369, 730, 731, 732,
- 1024, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 1025, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 1026, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 733, 409, 410, 1027, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 1028, 425, 426, 427, 428, 734, 429, 1029, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 1030, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 1031, 1032, 0, 2276, 453, 1033, 455,
- 1034, 1035, 457, 458, 459, 460, 461, 462, 463, 0,
- 1036, 464, 465, 466, 467, 468, 1037, 0, 469, 470,
- 471, 472, 473, 474, 1038, 0, 476, 735, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046,
- 495, 496, 497, 0, 0, 0, 0, 0, 0, 0,
- 1047, 1048, 0, 0, 0, 0, 0, 0, 0, 1050,
- 712, 981, 550, 982, 983, 984, 597, 985, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 986, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 219,
- 987, 714, 988, 989, 0, 223, 224, 225, 226, 227,
- 990, 991, 228, 229, 992, 993, 232, 0, 233, 234,
- 235, 236, 994, 0, 995, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 996, 997, 998, 999, 1000, 1001,
- 1002, 252, 253, 254, 255, 256, 257, 1003, 1004, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 1006, 285, 286, 287, 1007, 1008, 289, 0, 290,
- 1009, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 1010, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 316, 317, 318,
- 319, 320, 1011, 1012, 0, 1013, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 1014, 726, 335, 727, 0, 336, 337, 338, 1015,
- 1016, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1017, 728, 1018, 353, 354, 355, 1019,
- 356, 357, 729, 358, 1020, 1021, 360, 1022, 362, 363,
- 364, 0, 365, 0, 0, 1023, 367, 368, 0, 0,
- 369, 730, 731, 732, 1024, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 1025, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1026, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 1027, 412, 413, 414, 415, 416, 417, 418, 419, 37,
- 420, 421, 422, 423, 424, 1028, 425, 426, 427, 428,
- 734, 429, 1029, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 1030, 0, 443, 444, 41,
- 445, 446, 447, 448, 449, 450, 0, 1031, 1032, 0,
- 0, 453, 1033, 455, 1034, 1035, 457, 458, 459, 460,
- 461, 462, 463, 0, 1036, 464, 465, 466, 467, 468,
- 1037, 0, 469, 470, 471, 472, 473, 920, 1038, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 46,
- 481, 482, 483, 484, 485, 486, 1039, 1040, 1041, 1042,
- 1043, 1044, 1045, 1046, 495, 496, 497, 0, 0, 0,
- 0, 0, 0, 0, 1047, 1048, 0, 0, 0, 0,
- 0, 0, 0, 1050, 712, 981, 550, 982, 983, 984,
- 597, 985, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 986, 0, 0, 212, 213, 0, 214, 215, 713,
- 216, 217, 218, 219, 987, 714, 988, 989, 0, 223,
- 224, 225, 226, 227, 990, 991, 228, 229, 992, 993,
- 232, 0, 233, 234, 235, 236, 994, 0, 995, 0,
- 238, 239, 240, 241, 716, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 717, 250, 251, 996, 997,
- 998, 999, 1000, 1001, 1002, 252, 253, 254, 255, 256,
- 257, 1003, 1004, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 1005, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 1006, 285, 286, 287, 1007,
- 1008, 289, 0, 290, 1009, 292, 0, 293, 0, 294,
- 719, 0, 720, 295, 296, 297, 0, 298, 1010, 0,
- 300, 0, 301, 302, 303, 304, 305, 721, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 722, 316, 317, 318, 319, 320, 1011, 1012, 0, 1013,
- 0, 324, 723, 724, 325, 725, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 1014, 726, 335, 727, 0,
- 336, 337, 338, 1015, 1016, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 1017, 728, 1018,
- 353, 354, 355, 1019, 356, 357, 729, 358, 1020, 1021,
- 360, 1022, 362, 363, 364, 0, 365, 0, 0, 1023,
- 367, 368, 0, 0, 369, 730, 731, 732, 1024, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 1025, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 1026, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 733, 409, 410, 1027, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 1028,
- 425, 426, 427, 428, 734, 429, 1029, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 1030,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 1031, 1032, 0, 0, 453, 1033, 455, 1034, 1035,
- 457, 458, 459, 460, 461, 462, 463, 0, 1036, 464,
- 465, 466, 467, 468, 1037, 0, 469, 470, 471, 472,
- 473, 474, 1038, 0, 476, 735, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 495, 496,
- 497, 0, 0, 0, 0, 0, 0, 0, 1047, 1048,
- 0, 0, 0, 0, 0, 1531, 2221, 1050, 712, 981,
- 550, 982, 983, 984, 597, 985, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 986, 0, 0, 212, 213,
- 0, 214, 215, 713, 216, 217, 218, 219, 987, 714,
- 988, 989, 0, 223, 224, 225, 226, 227, 990, 991,
- 228, 229, 992, 993, 232, 0, 233, 234, 235, 236,
- 994, 0, 995, 0, 238, 239, 240, 241, 716, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 717,
- 250, 251, 996, 997, 998, 999, 1000, 1001, 1002, 252,
- 253, 254, 255, 256, 257, 1003, 1004, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 1005, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 1006,
- 285, 286, 287, 1007, 1008, 289, 0, 290, 1009, 292,
- 0, 293, 0, 294, 719, 0, 720, 295, 296, 297,
- 0, 298, 1010, 0, 300, 0, 301, 302, 303, 304,
- 305, 721, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 722, 316, 317, 318, 319, 320,
- 1011, 1012, 0, 1013, 0, 324, 723, 724, 325, 725,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 1014,
- 726, 335, 727, 0, 336, 337, 338, 1015, 1016, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 1017, 728, 1018, 353, 354, 355, 1019, 356, 357,
- 729, 358, 1020, 1021, 360, 1022, 362, 363, 364, 0,
- 365, 0, 0, 1023, 367, 368, 0, 0, 369, 730,
- 731, 732, 1024, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 1025, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 1026, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 733, 409, 410, 1027, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 1028, 425, 426, 427, 428, 734, 429,
- 1029, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 1030, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 1031, 1032, 0, 0, 453,
- 1033, 455, 1034, 1035, 457, 458, 459, 460, 461, 462,
- 463, 0, 1036, 464, 465, 466, 467, 468, 1037, 0,
- 469, 470, 471, 472, 473, 474, 1038, 0, 476, 735,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 1039, 1040, 1041, 1042, 1043, 1044,
- 1045, 1046, 495, 496, 497, 0, 0, 0, 0, 0,
- 0, 0, 1047, 1048, 1049, 0, 0, 0, 0, 0,
- 0, 1050, 712, 981, 550, 982, 983, 984, 597, 985,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 986,
- 0, 0, 212, 213, 0, 214, 215, 713, 216, 217,
- 218, 219, 987, 714, 988, 989, 0, 223, 224, 225,
- 226, 227, 990, 991, 228, 229, 992, 993, 232, 0,
- 233, 234, 235, 236, 994, 0, 995, 0, 238, 239,
- 240, 241, 716, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 717, 250, 251, 996, 997, 998, 999,
- 1000, 1001, 1002, 252, 253, 254, 255, 256, 257, 1003,
- 1004, 260, 1119, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 1005, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 1006, 285, 286, 287, 1007, 1008, 289,
- 0, 290, 1009, 292, 0, 293, 0, 294, 719, 0,
- 720, 295, 296, 297, 0, 298, 1010, 0, 300, 0,
- 301, 302, 303, 304, 305, 721, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 722, 316,
- 317, 318, 319, 320, 1011, 1012, 0, 1013, 0, 324,
- 723, 724, 325, 725, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 1014, 726, 335, 727, 0, 336, 337,
- 338, 1015, 1016, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 1017, 728, 1018, 353, 354,
- 355, 1019, 356, 357, 729, 358, 1020, 1021, 360, 1022,
- 362, 363, 364, 0, 365, 0, 0, 1023, 367, 368,
- 0, 0, 369, 730, 731, 732, 1024, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 1025, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 1026, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 733,
- 409, 410, 1027, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 1028, 425, 426,
- 427, 428, 734, 429, 1029, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 1030, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 1031,
- 1032, 0, 0, 453, 1033, 455, 1034, 1035, 457, 458,
- 459, 460, 461, 462, 463, 0, 1036, 464, 465, 466,
- 467, 468, 1037, 0, 469, 470, 471, 472, 473, 474,
- 1038, 0, 476, 735, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 486, 1039, 1040,
- 1041, 1042, 1043, 1044, 1045, 1046, 495, 496, 497, 0,
- 0, 0, 0, 0, 0, 0, 1047, 1048, 0, 0,
- 0, 0, 0, 0, 0, 1050, 712, 981, 550, 982,
- 983, 984, 597, 985, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 1774, 209, 210, 211, 0,
- 0, 0, 0, 986, 0, 0, 212, 213, 0, 214,
- 215, 713, 216, 217, 218, 219, 987, 714, 988, 989,
- 0, 223, 224, 225, 226, 227, 990, 991, 228, 229,
- 992, 993, 232, 0, 233, 234, 235, 236, 994, 0,
- 995, 0, 238, 239, 240, 241, 716, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 717, 250, 251,
- 996, 997, 998, 999, 1000, 1001, 1002, 252, 253, 254,
- 255, 256, 257, 1003, 1004, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 1005, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 1006, 285, 286,
- 287, 1007, 1008, 289, 0, 290, 1009, 292, 0, 293,
- 0, 294, 719, 0, 720, 295, 296, 297, 0, 298,
- 1010, 0, 300, 0, 301, 302, 303, 304, 305, 721,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 722, 316, 317, 318, 319, 320, 1011, 1012,
- 0, 1013, 0, 324, 723, 724, 325, 725, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 1014, 726, 335,
- 727, 0, 336, 337, 338, 1015, 1016, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 1017,
- 728, 1018, 353, 354, 355, 1019, 356, 357, 729, 358,
- 1020, 1021, 360, 1022, 362, 363, 364, 0, 365, 0,
- 0, 1023, 367, 368, 0, 0, 369, 730, 731, 732,
- 1024, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 1025, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 1026, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 733, 409, 410, 1027, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 1028, 425, 426, 427, 428, 734, 429, 1029, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 1030, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 1031, 1032, 0, 0, 453, 1033, 455,
- 1034, 1035, 457, 458, 459, 460, 461, 462, 463, 0,
- 1036, 464, 465, 466, 467, 468, 1037, 0, 469, 470,
- 471, 472, 473, 474, 1038, 0, 476, 735, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046,
- 495, 496, 497, 0, 0, 0, 0, 0, 0, 0,
- 1047, 1048, 0, 0, 0, 0, 0, 0, 0, 1050,
- 712, 981, 550, 982, 983, 984, 597, 985, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 986, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 219,
- 987, 714, 988, 989, 0, 223, 224, 225, 226, 227,
- 990, 991, 228, 229, 992, 993, 232, 0, 233, 234,
- 235, 236, 994, 0, 995, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 996, 997, 998, 999, 1000, 1001,
- 1002, 252, 253, 254, 255, 256, 257, 1003, 1004, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 1006, 285, 286, 287, 1007, 1008, 289, 0, 290,
- 1009, 292, 0, 293, 0, 294, 719, 2274, 720, 295,
- 296, 297, 0, 298, 1010, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 316, 317, 318,
- 319, 320, 1011, 1012, 0, 1013, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 1014, 726, 335, 727, 0, 336, 337, 338, 1015,
- 1016, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1017, 728, 1018, 353, 354, 355, 1019,
- 356, 357, 729, 358, 1020, 1021, 360, 1022, 362, 363,
- 364, 0, 365, 0, 0, 1023, 367, 368, 0, 0,
- 369, 730, 731, 732, 1024, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 1025, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1026, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 1027, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 1028, 425, 426, 427, 428,
- 734, 429, 1029, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 1030, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 1031, 1032, 0,
- 0, 453, 1033, 455, 1034, 1035, 457, 458, 459, 460,
- 461, 462, 463, 0, 1036, 464, 465, 466, 467, 468,
- 1037, 0, 469, 470, 471, 472, 473, 474, 1038, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 1039, 1040, 1041, 1042,
- 1043, 1044, 1045, 1046, 495, 496, 497, 0, 0, 0,
- 0, 0, 0, 0, 1047, 1048, 0, 0, 0, 0,
- 0, 0, 0, 1050, 712, 981, 550, 982, 983, 984,
- 597, 985, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 986, 0, 0, 212, 213, 0, 214, 215, 713,
- 216, 217, 218, 219, 987, 714, 988, 989, 0, 223,
- 224, 225, 226, 227, 990, 991, 228, 229, 992, 993,
- 232, 0, 233, 234, 235, 236, 994, 0, 995, 0,
- 238, 239, 240, 241, 716, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 717, 250, 251, 996, 997,
- 998, 999, 1000, 1001, 1002, 252, 253, 254, 255, 256,
- 257, 1003, 1004, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 1005, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 1006, 285, 286, 287, 1007,
- 1008, 289, 0, 290, 1009, 292, 0, 293, 0, 294,
- 719, 0, 720, 295, 296, 297, 0, 298, 1010, 0,
- 300, 0, 301, 302, 303, 304, 305, 721, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 722, 316, 317, 318, 319, 320, 1011, 1012, 0, 1013,
- 0, 324, 723, 724, 325, 725, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 1014, 726, 335, 727, 0,
- 336, 337, 338, 1015, 1016, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 1017, 728, 1018,
- 353, 354, 355, 1019, 356, 357, 729, 358, 1020, 1021,
- 360, 1022, 362, 363, 364, 0, 365, 0, 0, 1023,
- 367, 368, 0, 0, 369, 730, 731, 732, 1024, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 1025, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 1026, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 733, 409, 410, 1027, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 1028,
- 425, 426, 427, 428, 734, 429, 1029, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 1030,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 1031, 1032, 0, 0, 453, 1033, 455, 1034, 1035,
- 457, 458, 459, 460, 461, 462, 463, 0, 1036, 464,
- 465, 466, 467, 468, 1037, 0, 469, 470, 471, 472,
- 473, 474, 1038, 3431, 476, 735, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 495, 496,
- 497, 0, 0, 0, 0, 0, 0, 0, 1047, 1048,
- 0, 0, 0, 0, 0, 0, 0, 1050, 712, 981,
- 550, 982, 983, 984, 597, 985, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 986, 0, 0, 212, 213,
- 0, 214, 215, 713, 216, 217, 218, 219, 987, 714,
- 988, 989, 0, 223, 224, 225, 226, 227, 990, 991,
- 228, 229, 992, 993, 232, 0, 233, 234, 235, 236,
- 994, 0, 995, 0, 238, 239, 240, 241, 716, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 717,
- 250, 251, 996, 997, 998, 999, 1000, 1001, 1002, 252,
- 253, 254, 255, 256, 257, 1003, 1004, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 1005, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 1006,
- 285, 286, 287, 1007, 1008, 289, 0, 290, 1009, 292,
- 0, 293, 0, 294, 719, 0, 720, 295, 296, 297,
- 0, 298, 1010, 0, 300, 0, 301, 302, 303, 304,
- 305, 721, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 722, 316, 317, 318, 319, 320,
- 1011, 1012, 0, 1013, 0, 324, 723, 724, 325, 725,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 1014,
- 726, 335, 727, 0, 336, 337, 338, 1015, 1016, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 1017, 728, 1018, 353, 354, 355, 1019, 356, 357,
- 729, 358, 1020, 1021, 360, 1022, 362, 363, 364, 0,
- 365, 0, 0, 1023, 367, 368, 0, 0, 369, 730,
- 731, 732, 1024, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 1025, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 1026, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 733, 409, 410, 1027, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 1028, 425, 426, 427, 428, 734, 429,
- 1029, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 1030, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 1031, 1032, 0, 0, 453,
- 1033, 455, 1034, 1035, 457, 458, 459, 460, 461, 462,
- 463, 0, 1036, 464, 465, 466, 467, 468, 1037, 0,
- 469, 470, 471, 472, 473, 474, 1038, 0, 476, 735,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 1039, 1040, 1041, 1042, 1043, 1044,
- 1045, 1046, 495, 496, 497, 0, 0, 0, 0, 0,
- 0, 0, 1047, 1048, 0, 0, 0, 0, 0, 0,
- 0, 1050, 712, 981, 550, 982, 983, 984, 597, 985,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 986,
- 0, 0, 212, 213, 0, 214, 215, 713, 216, 217,
- 218, 219, 987, 714, 988, 989, 0, 223, 224, 225,
- 226, 227, 990, 991, 228, 229, 992, 993, 232, 0,
- 233, 234, 235, 236, 994, 0, 995, 0, 238, 239,
- 240, 241, 716, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 717, 250, 3441, 996, 997, 998, 999,
- 1000, 1001, 1002, 252, 253, 254, 255, 256, 257, 1003,
- 1004, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 1005, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 1006, 285, 286, 287, 1007, 1008, 289,
- 0, 290, 1009, 292, 0, 293, 0, 294, 719, 0,
- 720, 295, 296, 297, 0, 298, 1010, 0, 300, 0,
- 301, 302, 303, 304, 305, 721, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 722, 316,
- 317, 318, 319, 320, 1011, 1012, 0, 1013, 0, 324,
- 723, 724, 325, 725, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 1014, 726, 335, 727, 0, 336, 337,
- 338, 1015, 1016, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 1017, 728, 1018, 353, 354,
- 355, 1019, 356, 357, 729, 358, 1020, 1021, 360, 1022,
- 362, 363, 364, 0, 365, 0, 0, 1023, 367, 368,
- 0, 0, 369, 730, 731, 732, 1024, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 1025, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 1026, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 733,
- 409, 410, 1027, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 1028, 425, 426,
- 427, 428, 734, 429, 1029, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 1030, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 1031,
- 1032, 0, 0, 453, 1033, 455, 1034, 1035, 457, 458,
- 459, 460, 461, 462, 463, 0, 1036, 464, 465, 466,
- 467, 468, 1037, 0, 469, 470, 471, 472, 473, 474,
- 1038, 0, 476, 735, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 486, 1039, 1040,
- 1041, 1042, 1043, 1044, 1045, 1046, 495, 496, 497, 0,
- 0, 0, 0, 0, 0, 0, 1047, 1048, 0, 0,
- 0, 0, 0, 0, 0, 1050, 712, 981, 550, 982,
- 983, 984, 597, 985, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 986, 0, 0, 212, 213, 0, 214,
- 215, 713, 216, 217, 218, 219, 987, 714, 988, 989,
- 0, 223, 224, 225, 226, 227, 990, 991, 228, 229,
- 992, 993, 232, 0, 233, 234, 235, 236, 994, 0,
- 995, 0, 238, 239, 240, 241, 716, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 717, 250, 251,
- 996, 997, 998, 999, 1000, 1001, 1002, 252, 253, 254,
- 255, 256, 257, 1003, 1004, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 1005, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 1006, 285, 286,
- 287, 1007, 1008, 289, 0, 290, 1009, 292, 0, 293,
- 0, 294, 719, 0, 720, 295, 296, 297, 0, 298,
- 1010, 0, 300, 0, 301, 302, 303, 304, 305, 721,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 722, 316, 317, 318, 319, 320, 1011, 1012,
- 0, 1013, 0, 324, 723, 724, 325, 725, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 1014, 726, 335,
- 727, 0, 336, 337, 338, 1015, 1016, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 1017,
- 728, 1018, 353, 354, 355, 1019, 356, 357, 729, 358,
- 1020, 1021, 360, 1022, 362, 363, 364, 0, 365, 0,
- 0, 1023, 367, 368, 0, 0, 369, 730, 731, 732,
- 1024, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 1025, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 1026, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 733, 409, 410, 1027, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 1028, 425, 426, 427, 428, 734, 429, 1029, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 1030, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 1031, 1032, 0, 0, 453, 1033, 455,
- 1034, 1035, 457, 458, 459, 460, 461, 462, 463, 0,
- 1036, 464, 465, 466, 467, 468, 1037, 0, 469, 470,
- 471, 472, 473, 474, 1038, 0, 476, 735, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 3711, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046,
- 495, 496, 497, 0, 0, 0, 0, 0, 0, 0,
- 1047, 1048, 0, 0, 0, 0, 0, 0, 0, 1050,
- 712, 981, 550, 982, 983, 984, 597, 985, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 986, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 219,
- 987, 714, 988, 989, 0, 223, 224, 225, 226, 227,
- 990, 991, 228, 229, 992, 993, 232, 0, 233, 234,
- 235, 236, 994, 0, 995, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 996, 997, 998, 999, 1000, 1001,
- 1002, 252, 253, 254, 255, 256, 257, 1003, 1004, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 1006, 285, 286, 287, 1007, 1008, 289, 0, 290,
- 1009, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 1010, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 316, 317, 318,
- 319, 320, 1011, 1012, 0, 1013, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 1014, 726, 335, 727, 0, 336, 337, 338, 1015,
- 1016, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1017, 728, 1018, 353, 3720, 355, 1019,
- 356, 357, 729, 358, 1020, 1021, 360, 1022, 362, 363,
- 364, 0, 365, 0, 0, 1023, 367, 368, 0, 0,
- 369, 730, 731, 732, 1024, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 1025, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1026, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 1027, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 1028, 425, 426, 427, 428,
- 734, 429, 1029, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 1030, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 1031, 1032, 0,
- 0, 453, 1033, 455, 1034, 1035, 457, 458, 459, 460,
- 461, 462, 463, 0, 1036, 464, 465, 466, 467, 468,
- 1037, 0, 469, 470, 471, 472, 473, 474, 1038, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 1039, 1040, 1041, 1042,
- 1043, 1044, 1045, 1046, 495, 496, 497, 0, 0, 0,
- 0, 0, 0, 0, 1047, 1048, 0, 0, 0, 0,
- 0, 0, 0, 1050, 712, 981, 550, 982, 983, 984,
- 597, 985, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 986, 0, 0, 212, 213, 0, 214, 215, 713,
- 216, 217, 218, 4208, 987, 714, 988, 989, 0, 223,
- 224, 225, 226, 227, 990, 991, 228, 229, 992, 993,
- 232, 0, 233, 234, 235, 236, 994, 0, 995, 0,
- 238, 239, 240, 241, 716, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 717, 250, 4209, 996, 997,
- 998, 999, 1000, 1001, 1002, 252, 253, 254, 255, 256,
- 257, 1003, 1004, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 1005, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 1006, 285, 286, 287, 1007,
- 1008, 289, 0, 290, 1009, 292, 0, 293, 0, 294,
- 719, 0, 720, 295, 296, 297, 0, 298, 1010, 0,
- 300, 0, 301, 302, 303, 304, 305, 721, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 722, 316, 317, 318, 319, 320, 1011, 1012, 0, 1013,
- 0, 324, 723, 724, 325, 725, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 1014, 726, 335, 727, 0,
- 336, 337, 338, 1015, 1016, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 1017, 728, 1018,
- 353, 354, 355, 1019, 356, 357, 729, 358, 1020, 1021,
- 360, 1022, 362, 363, 364, 0, 365, 0, 0, 1023,
- 367, 368, 0, 0, 369, 730, 731, 732, 1024, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 1025, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 1026, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 733, 409, 410, 1027, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 1028,
- 425, 426, 427, 428, 734, 429, 1029, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 1030,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 1031, 1032, 0, 0, 453, 1033, 455, 1034, 1035,
- 457, 458, 459, 460, 4210, 462, 463, 0, 1036, 464,
- 465, 466, 467, 468, 1037, 0, 469, 470, 471, 472,
- 473, 474, 1038, 0, 476, 735, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 495, 496,
- 497, 0, 0, 0, 0, 0, 0, 0, 1047, 1048,
- 0, 0, 0, 0, 0, 0, 0, 1050, 712, 981,
- 550, 982, 983, 984, 597, 985, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 986, 0, 0, 212, 213,
- 0, 214, 215, 713, 216, 217, 218, 219, 987, 714,
- 988, 989, 0, 223, 224, 225, 226, 227, 990, 991,
- 228, 229, 992, 993, 232, 0, 233, 234, 235, 236,
- 994, 0, 995, 0, 238, 239, 240, 241, 716, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 717,
- 250, 4209, 996, 997, 998, 999, 1000, 1001, 1002, 252,
- 253, 254, 255, 256, 257, 1003, 1004, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 1005, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 1006,
- 285, 286, 287, 1007, 1008, 289, 0, 290, 1009, 292,
- 0, 293, 0, 294, 719, 0, 720, 295, 296, 297,
- 0, 298, 1010, 0, 300, 0, 301, 302, 303, 304,
- 305, 721, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 722, 316, 317, 318, 319, 320,
- 1011, 1012, 0, 1013, 0, 324, 723, 724, 325, 725,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 1014,
- 726, 335, 727, 0, 336, 337, 338, 1015, 1016, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 1017, 728, 1018, 353, 354, 355, 1019, 356, 357,
- 729, 358, 1020, 1021, 360, 1022, 362, 363, 364, 0,
- 365, 0, 0, 1023, 367, 368, 0, 0, 369, 730,
- 731, 732, 1024, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 1025, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 1026, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 733, 409, 410, 1027, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 1028, 425, 426, 427, 428, 734, 429,
- 1029, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 1030, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 1031, 1032, 0, 0, 453,
- 1033, 455, 1034, 1035, 457, 458, 459, 460, 4210, 462,
- 463, 0, 1036, 464, 465, 466, 467, 468, 1037, 0,
- 469, 470, 471, 472, 473, 474, 1038, 0, 476, 735,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 1039, 1040, 1041, 1042, 1043, 1044,
- 1045, 1046, 495, 496, 497, 0, 0, 0, 0, 0,
- 0, 0, 1047, 1048, 0, 0, 0, 0, 0, 0,
- 0, 1050, 712, 981, 550, 982, 983, 984, 597, 985,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 986,
- 0, 0, 212, 213, 0, 214, 215, 713, 216, 217,
- 218, 219, 987, 714, 988, 989, 0, 223, 224, 225,
- 226, 227, 990, 991, 228, 229, 992, 993, 232, 0,
- 233, 234, 235, 236, 994, 0, 995, 0, 238, 239,
- 240, 241, 716, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 717, 250, 251, 996, 997, 998, 999,
- 1000, 1001, 1002, 252, 253, 254, 255, 256, 257, 1003,
- 1004, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 1005, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 1006, 285, 286, 287, 1007, 1008, 289,
- 0, 290, 1009, 292, 0, 293, 0, 294, 719, 0,
- 720, 295, 296, 297, 0, 298, 1010, 0, 300, 0,
- 301, 302, 303, 304, 305, 721, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 722, 316,
- 317, 318, 319, 320, 1011, 1012, 0, 1013, 0, 324,
- 723, 724, 325, 725, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 1014, 726, 335, 727, 0, 336, 337,
- 338, 1015, 1016, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 1017, 728, 1018, 353, 354,
- 355, 0, 356, 357, 729, 358, 1020, 1021, 360, 1022,
- 362, 363, 364, 0, 365, 0, 0, 1023, 367, 368,
- 0, 0, 369, 730, 731, 732, 1024, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 1025, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 1026, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 733,
- 409, 410, 1027, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 1028, 425, 426,
- 427, 428, 734, 429, 1029, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 1030, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 1031,
- 1032, 0, 0, 453, 1033, 455, 1034, 1035, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 1037, 0, 469, 470, 471, 472, 473, 474,
- 1038, 0, 476, 735, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 486, 1039, 1040,
- 1041, 1042, 1043, 1044, 1045, 1046, 495, 496, 497, 0,
- 0, 0, 0, 0, 0, 0, 2256, 2257, 0, 0,
- 0, 0, 0, 0, 0, 1050, 712, 981, 550, 982,
- 983, 984, 597, 985, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 986, 0, 0, 212, 213, 0, 214,
- 215, 713, 216, 217, 218, -2163, 987, 714, 988, 989,
- 0, 223, 224, 225, 226, 227, 990, 991, 228, 229,
- 992, 993, 232, 0, 233, 234, 235, 236, 994, 0,
- 995, 0, 238, 239, 240, 241, 716, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 717, 250, 4209,
- 996, 997, 998, 999, 1000, 1001, 1002, 252, 253, 254,
- 255, 256, 257, 1003, 1004, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 1005, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 1006, 285, 286,
- 287, 1007, 1008, 289, 0, 290, 1009, 292, 0, 293,
- 0, 294, 719, 0, 720, 295, 296, 297, 0, 298,
- 1010, 0, 300, 0, 301, 302, 303, 304, 305, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 722, 316, 317, 318, 319, 320, 1011, 1012,
- 0, 1013, 0, 324, 723, 724, 325, 725, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 1014, 726, 335,
- 0, 0, 336, 337, 338, 1015, 1016, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 1017,
- 728, 1018, 353, 354, 355, 0, 356, 357, 729, 358,
- 1020, 1021, 360, 1022, 362, 363, 364, 0, 365, 0,
- 0, 1023, 367, 368, 0, 0, 369, 730, 731, 732,
- 1024, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 1025, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 1026, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 733, 409, 410, 1027, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 1028, 425, 426, 427, 428, 0, 429, 1029, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 1030, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 1031, 1032, 0, 0, 453, 1033, 455,
- 1034, 1035, 457, 458, 459, 460, 4210, 462, 463, 0,
- 1036, 464, 465, 466, 467, 468, 1037, 0, 469, 470,
- 471, 472, 473, 474, 1038, 0, 476, 735, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046,
- 495, 496, 497, 0, 0, 0, 0, 0, 0, 0,
- 1047, 1048, 0, 0, 712, 981, 550, 982, 983, 1050,
- 597, 985, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 986, 0, 0, 212, 213, 0, 214, 215, 713,
- 216, 217, 218, 219, 987, 714, 988, 989, 0, 223,
- 224, 225, 226, 227, 990, 991, 228, 229, 992, 993,
- 232, 0, 233, 234, 235, 236, 994, 0, 995, 0,
- 238, 239, 240, 241, 716, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 717, 250, 251, 996, 997,
- 998, 999, 1000, 1001, 1002, 252, 253, 254, 255, 256,
- 257, 1003, 1004, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 1005, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 1006, 285, 286, 287, 1007,
- 1008, 289, 0, 290, 1009, 292, 0, 293, 0, 294,
- 719, 0, 720, 295, 296, 297, 0, 298, 1010, 0,
- 300, 0, 301, 302, 303, 304, 305, 721, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 722, 316, 317, 318, 319, 320, 1011, 1012, 0, 1013,
- 0, 324, 723, 724, 325, 725, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 1014, 726, 335, 727, 0,
- 336, 337, 338, 1015, 1016, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 1017, 728, 1018,
- 353, 354, 355, 0, 356, 357, 729, 358, 1020, 1021,
- 360, 1022, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 369, 730, 731, 732, 1024, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 1025, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 1026, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 733, 409, 410, 1027, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 1028,
- 425, 426, 427, 428, 734, 429, 1029, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 1030,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 1031, 1032, 0, 0, 453, 1033, 455, 1034, 1035,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 1037, 0, 469, 470, 471, 472,
- 473, 474, 1038, 0, 476, 735, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 495, 496,
- 497, 0, 0, 0, 0, 0, 0, 712, 981, 550,
- 982, 983, 0, 597, 985, 0, 0, 1050, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 986, 0, 0, 212, 213, 0,
- 214, 215, 713, 216, 217, 218, 219, 987, 714, 988,
- 989, 0, 3354, 224, 225, 226, 227, 990, 991, 228,
- 229, 992, 993, 232, 0, 233, 234, 235, 236, 994,
- 0, 995, 0, 238, 239, 240, 241, 716, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 717, 250,
- 251, 996, 997, 998, 999, 1000, 1001, 1002, 252, 253,
- 254, 255, 256, 257, 1003, 1004, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 1005, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 1006, 285,
- 286, 287, 1007, 1008, 289, 0, 290, 1009, 292, 0,
- 293, 0, 294, 719, 0, 720, 295, 296, 297, 0,
- 298, 1010, 0, 300, 0, 301, 302, 303, 304, 305,
- 721, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 722, 316, 317, 318, 319, 320, 1011,
- 1012, 0, 1013, 0, 324, 723, 724, 325, 725, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 1014, 726,
- 335, 727, 0, 336, 337, 338, 1015, 1016, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 1017, 728, 1018, 353, 354, 355, 0, 356, 357, 729,
- 358, 1020, 1021, 360, 1022, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 369, 730, 731,
- 732, 1024, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 1025, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 1026, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 733, 409, 410, 1027, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 1028, 425, 426, 427, 428, 734, 429, 1029,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 1030, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 1031, 1032, 0, 0, 453, 1033,
- 455, 1034, 1035, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 1037, 0, 469,
- 470, 471, 472, 473, 474, 1038, 0, 476, 735, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 1039, 1040, 1041, 1042, 1043, 1044, 1045,
- 1046, 495, 496, 497, 0, 0, 0, 0, 0, 0,
- 712, 981, 550, 982, 983, 984, 597, 985, 0, 0,
- 1050, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 986, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 0,
- 987, 714, 988, 989, 0, 223, 224, 225, 226, 227,
- 990, 991, 228, 229, 992, 993, 232, 0, 233, 234,
- 235, 236, 994, 0, 995, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 996, 997, 998, 999, 1000, 1001,
- 1002, 252, 253, 254, 255, 256, 257, 1003, 1004, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 0, 0, 280, 281, 282,
- 283, 1006, 285, 286, 287, 1007, 1008, 289, 0, 290,
- 1009, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 1010, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 316, 317, 318,
- 319, 320, 1011, 1012, 0, 1013, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 1014, 726, 335, 0, 0, 336, 337, 338, 1015,
- 1016, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1017, 728, 1018, 353, 354, 355, 0,
- 356, 357, 729, 358, 1020, 1021, 360, 1022, 362, 363,
- 364, 0, 365, 0, 0, 1023, 367, 368, 0, 0,
- 369, 730, 731, 732, 1024, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 1025, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1026, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 1027, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 1028, 425, 426, 427, 428,
- 0, 429, 1029, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 1030, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 1031, 1032, 0,
- 0, 453, 1033, 455, 1034, 1035, 457, 458, 459, 460,
- 461, 462, 463, 0, 1036, 464, 465, 466, 467, 468,
- 1037, 0, 469, 470, 471, 472, 473, 474, 1038, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 1039, 1040, 1041, 1042,
- 1043, 1044, 1045, 1046, 495, 496, 497, 0, 0, 0,
- 0, 0, 0, 0, 1047, 1048, 0, 0, 0, 0,
- 0, 0, 0, 1050, 712, 981, 550, 982, 983, 984,
- 597, 985, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 986, 0, 0, 212, 213, 0, 214, 215, 713,
- 216, 217, 218, 0, 987, 714, 988, 989, 0, 223,
- 224, 225, 226, 227, 990, 991, 228, 229, 992, 993,
- 232, 0, 233, 234, 235, 236, 994, 0, 995, 0,
- 238, 239, 240, 241, 716, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 717, 250, 251, 996, 997,
- 998, 999, 1000, 1001, 1002, 252, 253, 254, 255, 256,
- 257, 1003, 1004, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 1005, 273, 274, 0, 275, 276, 277, 0, 278, 0,
- 0, 280, 281, 282, 283, 1006, 285, 286, 287, 1007,
- 1008, 289, 0, 290, 1009, 292, 0, 293, 0, 294,
- 719, 0, 720, 295, 296, 297, 0, 298, 1010, 0,
- 300, 0, 301, 302, 303, 304, 305, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 722, 316, 317, 318, 319, 320, 1011, 1012, 0, 1013,
- 0, 324, 723, 724, 325, 725, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 1014, 726, 335, 0, 0,
- 336, 337, 338, 1015, 1016, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 1017, 728, 1018,
- 353, 354, 355, 0, 356, 357, 729, 358, 1020, 1021,
- 360, 1022, 362, 363, 364, 0, 365, 0, 0, 1023,
- 367, 368, 0, 0, 369, 730, 731, 732, 1024, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 1025, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 1026, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 733, 409, 410, 1027, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 1028,
- 425, 426, 427, 428, 0, 429, 1029, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 1030,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 1031, 1032, 0, 0, 453, 1033, 455, 1034, 1035,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 1037, 0, 469, 470, 471, 472,
- 473, 474, 1038, 0, 476, 735, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 495, 496,
- 497, 0, 0, 0, 0, 0, 0, 712, 2256, 2257,
- 0, 0, 0, 0, 0, 0, 0, 1050, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 713, 216, 217, 218, 219, 220, 714, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 991, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 994,
- 0, 995, 0, 238, 239, 240, 241, 716, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 717, 250,
- 251, 996, 997, 998, 999, 1000, 1001, 1002, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 1007, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 719, 0, 720, 295, 296, 297, 0,
- 298, 1010, 0, 300, 0, 301, 302, 303, 304, 305,
- 721, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 722, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 723, 724, 325, 725, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 1014, 726,
- 335, 727, 0, 336, 337, 338, 1015, 1016, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 728, 352, 353, 354, 355, 0, 356, 357, 729,
- 358, 0, 1021, 360, 361, 362, 363, 364, 0, 365,
- 0, 677, 366, 367, 368, 0, 0, 369, 730, 731,
- 732, 1024, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 1025, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 733, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 37, 420, 421, 422,
- 423, 424, 1028, 425, 426, 427, 428, 734, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 1030, 0, 443, 444, 41, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 1033,
- 455, 1034, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 1037, 0, 469,
- 470, 471, 472, 473, 920, 475, 0, 476, 735, 477,
- 478, 479, 0, 0, 480, 0, 46, 481, 482, 483,
- 484, 485, 486, 1039, 1040, 1041, 1042, 1043, 1044, 1045,
- 1046, 495, 496, 497, 0, 0, 0, 0, 0, 0,
- 712, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2930, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 219,
- 220, 714, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 991, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 994, 0, 995, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 996, 997, 998, 999, 1000, 1001,
- 1002, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 1007, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 1010, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 1014, 726, 335, 727, 0, 336, 337, 338, 1015,
- 1016, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 728, 352, 353, 354, 355, 0,
- 356, 357, 729, 358, 0, 1021, 360, 361, 362, 363,
- 364, 0, 365, 0, 677, 366, 367, 368, 0, 0,
- 369, 730, 731, 732, 1024, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 1025, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 1028, 425, 426, 427, 428,
- 734, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 1030, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 1033, 455, 1034, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 1037, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 1039, 1040, 1041, 1042,
- 1043, 1044, 1045, 1046, 495, 496, 497, 0, 0, 0,
- 0, 0, 0, 712, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2930, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 713, 216,
- 217, 218, 219, 220, 714, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 991, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 994, 0, 995, 0, 238,
- 239, 240, 241, 716, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 717, 250, 251, 996, 997, 998,
- 999, 1000, 1001, 1002, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 1007, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 719,
- 0, 720, 295, 296, 297, 0, 298, 1010, 0, 300,
- 0, 301, 302, 303, 304, 305, 721, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 722,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 723, 724, 325, 725, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 1014, 726, 335, 727, 0, 336,
- 337, 338, 1015, 1016, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 728, 352, 353,
- 354, 355, 0, 356, 357, 729, 358, 0, 1021, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 730, 731, 732, 1024, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 1025, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 733, 409, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 1028, 425,
- 426, 427, 428, 734, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 1030, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 451, 452, 0, 0, 453, 1033, 455, 1034, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 1037, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 735, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 1039,
- 1040, 1041, 1042, 1043, 1044, 1045, 1046, 495, 496, 497,
- 0, 0, 0, 0, 0, 0, 712, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 3462, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 713, 216, 217, 218, 219, 220, 714, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 715, 0, 238, 239, 240, 241, 716, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 717, 250, 251,
- 0, 0, 0, 718, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 719, 0, 720, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 305, 721,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 722, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 723, 724, 325, 725, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 726, 335,
- 727, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 728, 352, 353, 354, 355, 0, 356, 357, 729, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 730, 731, 732,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 733, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 734, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 735, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 0, 0, 0, 0, 0, 0, 199,
- 1231, 550, 0, 0, 0, 597, 0, 0, 0, 3988,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 0, 216, 217, 218, 219, 220,
- 0, 221, 222, 0, 223, 224, 225, 226, 227, 0,
- 0, 228, 229, 230, 231, 232, 0, 233, 234, 235,
- 236, 237, 0, 0, 0, 238, 239, 240, 241, 0,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 0,
- 0, 250, 251, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 1464, 289, 0, 290, 291,
- 292, 0, 293, 0, 294, 0, 0, 0, 295, 296,
- 297, 0, 298, 299, 0, 300, 0, 301, 302, 303,
- 304, 305, 0, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 0, 316, 317, 318, 319,
- 320, 321, 322, 0, 323, 0, 324, 0, 0, 325,
- 0, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 334, 0, 335, 0, 0, 336, 337, 338, 0, 0,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 0, 352, 353, 354, 355, 0, 356,
- 357, 0, 358, 0, 359, 360, 361, 362, 363, 364,
- 0, 365, 1465, 0, 366, 367, 368, 0, 0, 369,
- 0, 0, 0, 370, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 379, 380, 381, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 0, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 0, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 0, 420,
- 421, 422, 423, 424, 0, 425, 426, 427, 428, 0,
- 429, 430, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 451, 452, 0, 0,
- 453, 454, 455, 456, 1466, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 474, 475, 0, 476,
- 0, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 0, 0, 0, 0,
- 0, 0, 199, 609, 1232, 3585, 0, 0, 0, 0,
- 0, 0, 3586, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 3, 4, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 0, 216, 217,
- 218, 219, 220, 0, 221, 222, 0, 223, 224, 225,
- 226, 227, 0, 0, 228, 229, 230, 231, 232, 0,
- 233, 234, 235, 236, 237, 0, 0, 0, 238, 239,
- 240, 241, 0, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 0, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 272, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
- 0, 290, 291, 292, 0, 293, 0, 294, 0, 0,
- 0, 295, 296, 297, 0, 298, 299, 0, 300, 0,
- 301, 302, 303, 304, 305, 0, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
- 317, 318, 319, 320, 321, 322, 0, 323, 0, 324,
- 0, 0, 325, 0, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 334, 0, 335, 0, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 0, 352, 353, 354,
- 355, 0, 356, 357, 0, 358, 0, 359, 360, 361,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 369, 0, 0, 0, 370, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 37, 420, 421, 422, 423, 424, 0, 425, 426,
- 427, 428, 0, 429, 430, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
- 444, 41, 445, 446, 447, 448, 449, 450, 0, 451,
- 452, 0, 0, 453, 454, 455, 456, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 0, 0, 469, 470, 471, 472, 473, 920,
- 475, 0, 476, 921, 477, 478, 479, 0, 0, 480,
- 0, 46, 481, 482, 483, 484, 485, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 0,
- 0, 0, 0, 0, 0, 199, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 47, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 305, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 37, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 41, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 920, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 46, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 0, 0, 0, 0, 0, 0, 199, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 47, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 0, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 305, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 425, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 0, 0, 0, 0, 0,
- 0, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1103, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 0, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 0, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 0, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 0, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
- 290, 291, 292, 0, 293, 0, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 305, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 0, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 0, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 0, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 0, 457, 458, 459,
- 460, 461, 462, 463, 0, 0, 464, 465, 466, 467,
- 468, 0, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 0, 0,
- 0, 0, 0, 0, 199, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2406, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 0, 233, 234, 235, 236, 237, 0, 0, 0,
- 238, 239, 240, 241, 0, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 0, 289, 0, 290, 291, 292, 0, 293, 0, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 305, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 0, 0, 0, 0, 0, 0, 199, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3425, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 0, 216, 217, 218, 219, 220, 0, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 237,
- 0, 0, 0, 238, 239, 240, 241, 0, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 0, 250,
- 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 0, 0, 0, 295, 296, 297, 0,
- 298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
- 0, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 0, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 0, 0, 325, 0, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 334, 0,
- 335, 0, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 0, 352, 353, 354, 355, 0, 356, 357, 0,
- 358, 0, 359, 360, 361, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 369, 0, 0,
- 0, 370, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 0, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 426, 427, 428, 0, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 454,
- 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 474, 475, 0, 476, 0, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 0, 0, 0, 0, 0, 0,
- 1330, 1231, 550, 0, 0, 760, 597, 0, 0, 0,
- 3755, 200, 201, 202, 203, 204, 205, 206, 207, 1666,
- 209, 210, 211, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
- 212, 213, 1674, 214, 215, 713, 216, 217, 218, 0,
- 1331, 714, 1332, 1333, 1675, 223, 224, 225, 226, 227,
- 1676, 1677, 228, 229, 1334, 1335, 232, 1678, 233, 234,
- 235, 236, 0, 1679, 715, 1680, 238, 239, 240, 241,
- 716, 242, 243, 1681, 244, 245, 246, 247, 248, 249,
- 1682, 717, 250, 251, 1683, 1684, 1685, 718, 1686, 1687,
- 1688, 252, 253, 254, 255, 256, 257, 1336, 1337, 260,
- 1689, 261, 1690, 262, 263, 264, 265, 266, 1691, 267,
- 268, 269, 1692, 1693, 270, 271, 1005, 273, 274, 1694,
- 275, 276, 277, 1695, 278, 279, 1696, 280, 281, 282,
- 283, 0, 285, 286, 287, 0, 1697, 289, 1698, 290,
- 1338, 292, 1699, 293, 1700, 294, 719, 1701, 720, 295,
- 296, 297, 1702, 298, 0, 1703, 300, 1704, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 1705, 309, 310,
- 311, 312, 313, 314, 1706, 315, 722, 0, 317, 318,
- 319, 320, 1339, 1340, 1707, 1341, 1708, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 1709,
- 333, 0, 726, 335, 727, 1710, 336, 337, 338, 1711,
- 1712, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1342, 728, 1343, 353, 354, 0, 1713,
- 356, 357, 729, 358, 1714, 0, 360, 1344, 362, 363,
- 364, 1715, 365, 1716, 1717, 3159, 367, 368, 1718, 1719,
- 0, 730, 731, 732, 0, 371, 372, 373, 374, 375,
- 376, 377, 1720, 378, 0, 380, 0, 382, 383, 384,
- 1721, 385, 386, 387, 388, 389, 390, 391, 1345, 393,
- 394, 395, 396, 1722, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 1723, 407, 408, 733, 409, 410,
- 0, 412, 413, 414, 415, 416, 417, 418, 419, 1724,
- 420, 421, 422, 423, 424, 1725, 425, 1882, 427, 428,
- 734, 429, 1347, 431, 1726, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 0, 1727, 443, 444, 1728,
- 445, 446, 447, 448, 449, 450, 1729, 1348, 1349, 1730,
- 1731, 453, 0, 455, 0, 1732, 457, 458, 459, 460,
- 461, 462, 463, 1733, 1734, 464, 465, 466, 467, 468,
- 1735, 1736, 469, 470, 471, 472, 473, 0, 1350, 1737,
- 476, 735, 477, 478, 479, 1738, 1739, 480, 1740, 1741,
- 481, 482, 483, 484, 485, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 495, 496, 497, 0, 0, 0,
- 763, 764, 765, 0, 3160, 3161, 768, 769, 770, 771,
- 199, 0, 0, 0, 0, 760, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 761,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 762, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 0, 0, 0,
- 763, 764, 765, 0, 766, 767, 768, 769, 770, 771,
- 199, 0, 0, 0, 0, 760, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 848,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 849, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 0, 0, 0,
- 763, 764, 765, 0, 766, 767, 768, 769, 770, 771,
- 199, 0, 0, 0, 0, 760, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 893,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 894, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 895, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 0, 0, 0,
- 763, 764, 765, 0, 766, 767, 768, 769, 770, 771,
- 199, 0, 0, 0, 0, 760, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 1313,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 1314, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 0, 0, 0,
- 763, 764, 765, 0, 766, 767, 768, 769, 770, 771,
- 199, 0, 0, 0, 0, 760, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 0, 0, 0,
- 763, 764, 765, 0, 766, 767, 768, 769, 770, 771,
- 199, 0, 0, 0, 0, 760, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 2466,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 2467, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 0, 0, 0,
- 763, 764, 765, 0, 766, 767, 768, 769, 770, 771,
- 199, 0, 0, 0, 0, 760, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 3972, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 0, 0, 1665,
- 763, 764, 765, 0, 766, 767, 768, 769, 770, 771,
- 200, 201, 202, 203, 204, 205, 206, 207, 1666, 209,
- 210, 211, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 212,
- 213, 1674, 214, 215, 713, 216, 217, 218, 219, 220,
- 714, 221, 222, 1675, 223, 224, 225, 226, 227, 1676,
- 1677, 228, 229, 230, 231, 232, 1678, 233, 234, 235,
- 236, 237, 1679, 715, 1680, 238, 239, 240, 241, 716,
- 242, 243, 1681, 244, 245, 246, 247, 248, 249, 1682,
- 717, 250, 251, 1683, 1684, 1685, 718, 1686, 1687, 1688,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 1689,
- 261, 1690, 262, 263, 264, 265, 266, 1691, 267, 268,
- 269, 1692, 1693, 270, 271, 272, 273, 274, 1694, 275,
- 276, 277, 1695, 278, 279, 1696, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 1697, 289, 1698, 290, 291,
- 292, 1699, 293, 1700, 294, 719, 1701, 720, 295, 296,
- 297, 1702, 298, 299, 1703, 300, 1704, 301, 302, 303,
- 304, 305, 721, 306, 307, 308, 1705, 309, 310, 311,
- 312, 313, 314, 1706, 315, 722, 316, 317, 318, 319,
- 320, 321, 322, 1707, 323, 1708, 324, 723, 724, 325,
- 725, 326, 327, 328, 329, 330, 331, 332, 1709, 333,
- 334, 726, 335, 727, 1710, 336, 337, 338, 1711, 1712,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 728, 352, 353, 354, 355, 1713, 356,
- 357, 729, 358, 1714, 359, 360, 361, 362, 363, 364,
- 1715, 365, 1716, 1717, 366, 367, 368, 1718, 1719, 369,
- 730, 731, 732, 370, 371, 372, 373, 374, 375, 376,
- 377, 1720, 378, 379, 380, 381, 382, 383, 384, 1721,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 1722, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 1723, 407, 408, 733, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 1724, 420,
- 421, 422, 423, 424, 1725, 425, 426, 427, 428, 734,
- 429, 430, 431, 1726, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 1727, 443, 444, 1728, 445,
- 446, 447, 448, 449, 450, 1729, 451, 452, 1730, 1731,
- 453, 454, 455, 456, 1732, 457, 458, 459, 460, 461,
- 462, 463, 1733, 1734, 464, 465, 466, 467, 468, 1735,
- 1736, 469, 470, 471, 472, 473, 474, 475, 1737, 476,
- 735, 477, 478, 479, 1738, 1739, 480, 1740, 1741, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 199, 0, 0, 0,
- 0, 0, 0, 0, 0, 1742, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 305, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 682, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 0,
- 0, 0, 295, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 305, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 409, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 451, 452, 0, 0, 453, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 1330, 0, 0, 0, 0, 0, 0, 0, 0, 3851,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 0,
- 1331, 714, 1332, 1333, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 1334, 1335, 232, 0, 233, 234,
- 235, 236, 0, 0, 715, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 0, 0, 0, 718, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 1336, 1337, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 0, 285, 286, 287, 0, 0, 289, 0, 290,
- 1338, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 0, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 0, 317, 318,
- 319, 320, 1339, 1340, 0, 1341, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 0, 726, 335, 727, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1342, 728, 1343, 353, 354, 0, 0,
- 356, 357, 729, 358, 0, 0, 360, 1344, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 0, 730, 731, 732, 0, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 0, 380, 0, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1345, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 0, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 1346, 427, 428,
- 734, 429, 1347, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 0, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 1348, 1349, 0,
- 0, 453, 0, 455, 0, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 0, 1350, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 0, 0, 2025, 0, 0,
- 0, 0, 0, 0, 495, 496, 497, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 1796, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 713, 216, 217, 218, 0, 1331, 714, 1332,
- 1333, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 1334, 1335, 232, 0, 233, 234, 235, 236, 0,
- 0, 715, 0, 238, 239, 240, 241, 716, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 717, 250,
- 251, 0, 0, 0, 718, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 1336, 1337, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 1005, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 0, 285,
- 286, 287, 0, 0, 289, 0, 290, 1338, 292, 0,
- 293, 0, 294, 719, 0, 720, 295, 296, 297, 0,
- 298, 0, 0, 300, 0, 301, 302, 303, 304, 305,
- 721, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 722, 0, 317, 318, 319, 320, 1339,
- 1340, 0, 1341, 0, 324, 723, 724, 325, 725, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 0, 726,
- 335, 727, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 1342, 728, 1343, 353, 354, 0, 0, 356, 357, 729,
- 358, 0, 0, 360, 1344, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 0, 730, 731,
- 732, 0, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 0, 380, 0, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 1345, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 733, 409, 410, 0, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 1346, 427, 428, 734, 429, 1347,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 0, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 1348, 1349, 0, 0, 453, 0,
- 455, 0, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 0, 1350, 0, 476, 735, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 0, 0, 199, 1231, 550, 0, 0, 0,
- 597, 495, 496, 497, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 1796, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 0, 233, 234, 235, 236, 237, 0, 0, 0,
- 238, 239, 240, 241, 0, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 1655, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 1464, 289, 0, 290, 291, 292, 0, 293, 0, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 305, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 1465, 0, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 1466,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 199, 1231, 550, 0, 0, 0, 597, 609, 1232,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 0, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 0, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 0, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 1660, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 1464, 289, 0,
- 290, 291, 292, 0, 293, 0, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 305, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 0, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 1465, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 0, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 1466, 457, 458, 459,
- 460, 461, 462, 463, 0, 0, 464, 465, 466, 467,
- 468, 0, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 199, 1231,
- 550, 0, 0, 0, 597, 609, 1232, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 1464, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 0, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 305, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 1465, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 425, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 1466, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 199, 0, 0, 0, 0,
- 0, 597, 609, 1232, 0, 0, 200, 598, 202, 203,
- 204, 205, 206, 207, 599, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 600, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 601, 291, 292, 0, 293, 0,
- 602, 0, 603, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 305, 0, 306,
- 307, 308, 604, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 605, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 606, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 607, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 0, 397,
- 608, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 1665, 4263, 550, 0, 0, 0, 597, 609,
- 610, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 1666, 209, 210, 211, 1667, 1668, 1669, 1670, 1671,
- 1672, 1673, 212, 213, 1674, 214, 215, 713, 216, 217,
- 218, 219, 220, 714, 221, 222, 1675, 223, 224, 225,
- 226, 227, 1676, 1677, 228, 229, 230, 231, 232, 1678,
- 233, 234, 235, 236, 237, 1679, 715, 1680, 238, 239,
- 240, 241, 716, 242, 243, 1681, 244, 245, 246, 247,
- 248, 249, 1682, 717, 250, 251, 1683, 1684, 1685, 718,
- 1686, 1687, 1688, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 1689, 261, 1690, 262, 263, 264, 265, 266,
- 1691, 267, 268, 269, 1692, 1693, 270, 271, 272, 273,
- 274, 1694, 275, 276, 277, 1695, 278, 279, 1696, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 1697, 289,
- 1698, 290, 291, 292, 1699, 293, 1700, 294, 719, 1701,
- 720, 295, 296, 297, 1702, 298, 299, 1703, 300, 1704,
- 301, 302, 303, 304, 305, 721, 306, 307, 308, 1705,
- 309, 310, 311, 312, 313, 314, 1706, 315, 722, 316,
- 317, 318, 319, 320, 321, 322, 1707, 323, 1708, 324,
- 723, 724, 325, 725, 326, 327, 328, 329, 330, 331,
- 332, 1709, 333, 334, 726, 335, 727, 1710, 336, 337,
- 338, 1711, 1712, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 728, 352, 353, 354,
- 355, 1713, 356, 357, 729, 358, 1714, 359, 360, 361,
- 362, 363, 364, 1715, 365, 1716, 1717, 366, 367, 368,
- 1718, 1719, 369, 730, 731, 732, 370, 371, 372, 373,
- 374, 375, 376, 377, 1720, 378, 379, 380, 381, 382,
- 383, 384, 1721, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 1722, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 1723, 407, 408, 733,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 1724, 420, 421, 422, 423, 424, 1725, 425, 426,
- 427, 428, 734, 429, 430, 431, 1726, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 1727, 443,
- 444, 1728, 445, 446, 447, 448, 449, 450, 1729, 451,
- 452, 1730, 1731, 453, 454, 455, 456, 1732, 457, 458,
- 459, 460, 461, 462, 463, 1733, 1734, 464, 465, 466,
- 467, 468, 1735, 1736, 469, 470, 471, 472, 473, 474,
- 475, 1737, 476, 735, 477, 478, 479, 1738, 1739, 480,
- 1740, 1741, 481, 482, 483, 484, 485, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 1665,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 1666, 209,
- 210, 211, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 212,
- 213, 1674, 214, 215, 713, 216, 217, 218, 219, 220,
- 714, 221, 222, 1675, 223, 224, 225, 226, 227, 1676,
- 1677, 228, 229, 230, 231, 232, 1678, 233, 234, 235,
- 236, 237, 1679, 715, 1680, 238, 239, 240, 241, 716,
- 242, 243, 1681, 244, 245, 246, 247, 248, 249, 1682,
- 717, 250, 251, 1683, 1684, 1685, 718, 1686, 1687, 1688,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 1689,
- 261, 1690, 262, 263, 264, 265, 266, 1691, 267, 268,
- 269, 1692, 1693, 270, 271, 272, 273, 274, 1694, 275,
- 276, 277, 1695, 278, 279, 1696, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 1697, 289, 1698, 290, 291,
- 292, 1699, 293, 1700, 294, 719, 1701, 720, 295, 296,
- 297, 1702, 298, 299, 1703, 300, 1704, 301, 302, 303,
- 304, 305, 721, 306, 307, 308, 1705, 309, 310, 311,
- 312, 313, 314, 1706, 315, 722, 316, 317, 318, 319,
- 320, 321, 322, 1707, 323, 1708, 324, 723, 724, 325,
- 725, 326, 327, 328, 329, 330, 331, 332, 1709, 333,
- 334, 726, 335, 727, 1710, 336, 337, 338, 1711, 1712,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 728, 352, 353, 354, 355, 1713, 356,
- 357, 729, 358, 1714, 359, 360, 361, 362, 363, 364,
- 1715, 365, 1716, 1717, 366, 367, 368, 1718, 1719, 369,
- 730, 731, 732, 370, 371, 372, 373, 374, 375, 376,
- 377, 1720, 378, 379, 380, 381, 382, 383, 384, 1721,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 1722, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 1723, 407, 408, 733, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 1724, 420,
- 421, 422, 423, 424, 1725, 425, 426, 427, 428, 734,
- 429, 430, 431, 1726, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 1727, 443, 444, 1728, 445,
- 446, 447, 448, 449, 450, 1729, 451, 452, 1730, 1731,
- 453, 454, 455, 456, 1732, 457, 458, 459, 460, 461,
- 462, 463, 1733, 1734, 464, 465, 466, 467, 468, 1735,
- 1736, 469, 470, 471, 472, 473, 474, 475, 1737, 476,
- 735, 477, 478, 479, 1738, 1739, 480, 1740, 1741, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 1665, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 2531, 205, 206, 207, 1666, 209, 210, 211, 1667,
- 1668, 1669, 1670, 1671, 1672, 1673, 212, 213, 1674, 214,
- 215, 713, 216, 217, 218, 219, 220, 714, 221, 222,
- 1675, 223, 224, 225, 226, 227, 1676, 1677, 228, 229,
- 230, 231, 232, 1678, 233, 234, 235, 236, 237, 1679,
- 715, 1680, 238, 239, 240, 241, 716, 242, 243, 1681,
- 244, 245, 246, 247, 248, 249, 1682, 717, 250, 251,
- 1683, 1684, 1685, 718, 1686, 1687, 1688, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 1689, 261, 1690, 262,
- 263, 264, 265, 266, 1691, 267, 268, 269, 1692, 1693,
- 270, 271, 272, 2532, 274, 1694, 275, 276, 277, 1695,
- 278, 279, 1696, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 1697, 289, 1698, 290, 291, 292, 1699, 293,
- 1700, 294, 719, 1701, 720, 295, 296, 297, 1702, 298,
- 299, 1703, 300, 1704, 301, 302, 303, 304, 305, 721,
- 306, 307, 308, 1705, 309, 310, 311, 312, 313, 314,
- 1706, 315, 722, 316, 317, 318, 319, 320, 321, 322,
- 1707, 323, 1708, 324, 723, 724, 325, 725, 326, 327,
- 328, 329, 330, 331, 332, 1709, 333, 334, 726, 335,
- 727, 1710, 336, 337, 338, 1711, 1712, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 728, 352, 353, 354, 355, 1713, 356, 357, 729, 358,
- 1714, 359, 360, 361, 362, 363, 364, 1715, 365, 1716,
- 1717, 366, 367, 368, 1718, 1719, 369, 730, 731, 732,
- 370, 371, 372, 373, 374, 375, 376, 377, 1720, 378,
- 379, 380, 381, 382, 383, 384, 1721, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 1722,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 1723, 407, 408, 733, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 1724, 420, 421, 422, 423,
- 424, 1725, 2533, 426, 427, 428, 734, 429, 430, 431,
- 1726, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 1727, 443, 444, 1728, 445, 446, 447, 448,
- 449, 450, 1729, 451, 452, 1730, 1731, 453, 454, 455,
- 456, 1732, 457, 458, 459, 460, 461, 462, 463, 1733,
- 1734, 464, 465, 466, 467, 468, 1735, 1736, 469, 470,
- 471, 472, 473, 474, 475, 1737, 476, 735, 477, 478,
- 479, 1738, 1739, 480, 1740, 1741, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 712, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 713, 216,
- 217, 218, 219, 220, 714, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 715, 0, 238,
- 239, 240, 241, 716, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 717, 250, 251, 0, 0, 0,
- 718, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 719,
- 0, 720, 295, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 305, 721, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 722,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 723, 724, 325, 725, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 726, 335, 727, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 728, 352, 353,
- 354, 355, 0, 356, 357, 729, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 730, 731, 732, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 733, 409, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 0, 425,
- 426, 427, 428, 734, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 451, 452, 0, 0, 453, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 735, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 712, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 219,
- 220, 714, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 715, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 0, 0, 0, 718, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 878, 721, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 726, 335, 727, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 728, 352, 353, 354, 355, 0,
- 356, 357, 729, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 730, 731, 732, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 734, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 712, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 713, 216, 217, 218, 219, 220, 714, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 237,
- 0, 715, 0, 238, 239, 240, 241, 716, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 717, 250,
- 251, 0, 0, 0, 718, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 719, 0, 720, 295, 296, 297, 0,
- 298, 299, 0, 300, 0, 301, 302, 303, 304, 887,
- 721, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 722, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 723, 724, 325, 725, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 334, 726,
- 335, 727, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 728, 352, 353, 354, 355, 0, 356, 357, 729,
- 358, 0, 359, 360, 361, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 369, 730, 731,
- 732, 370, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 733, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 426, 427, 428, 734, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 454,
- 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 474, 475, 0, 476, 735, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 199, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 1820, 233, 234, 235, 236, 237, 0, 0, 1895,
- 238, 239, 240, 241, 0, 242, 243, 1821, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 1896, 281, 282, 283, 284, 285, 286, 287, 288,
- 0, 289, 0, 290, 291, 292, 0, 293, 1823, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 305, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 1824, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 1825, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 1820, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 1821, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 0, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 0, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 1896, 281,
- 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
- 290, 291, 292, 0, 293, 1823, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 305, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 2732, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 0, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 1824, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 0, 457, 458, 459,
- 460, 461, 462, 463, 0, 1825, 464, 465, 466, 467,
- 468, 0, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 199, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 647, 206, 207, 616, 209, 210,
- 211, 0, 0, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 617, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 648, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 305, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 618, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 619, 420, 421,
- 422, 423, 424, 0, 425, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 199, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 616, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 617, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 2434, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 305, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 618, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 619, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 199, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 0, 216, 217,
- 218, 219, 220, 0, 221, 222, 0, 223, 224, 225,
- 226, 227, 0, 0, 228, 229, 230, 231, 232, 1820,
- 233, 234, 235, 236, 237, 0, 0, 0, 238, 239,
- 240, 241, 0, 242, 243, 1821, 244, 245, 246, 247,
- 248, 249, 0, 0, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 272, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 1896,
- 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
- 0, 290, 291, 292, 0, 293, 1823, 294, 0, 0,
- 0, 295, 296, 297, 0, 298, 299, 0, 300, 0,
- 301, 302, 303, 304, 305, 0, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
- 317, 318, 319, 320, 321, 322, 0, 323, 0, 324,
- 0, 0, 325, 0, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 334, 0, 335, 0, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 0, 352, 353, 354,
- 355, 0, 356, 357, 0, 358, 0, 359, 360, 361,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 369, 0, 0, 0, 370, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
- 383, 384, 1824, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 0, 425, 426,
- 427, 428, 0, 429, 430, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 451,
- 452, 0, 0, 453, 454, 455, 456, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 1825, 464, 465, 466,
- 467, 468, 0, 0, 469, 470, 471, 472, 473, 474,
- 475, 0, 476, 0, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 199,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 616, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 0, 216, 217, 218, 219, 220,
- 0, 221, 222, 0, 223, 224, 225, 226, 227, 0,
- 0, 228, 229, 230, 231, 232, 0, 233, 234, 235,
- 236, 237, 0, 0, 0, 238, 239, 240, 241, 0,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 617,
- 0, 250, 251, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
- 292, 0, 293, 0, 294, 0, 0, 0, 295, 296,
- 297, 0, 298, 299, 0, 300, 0, 301, 302, 303,
- 304, 305, 0, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 0, 316, 317, 318, 319,
- 320, 321, 322, 0, 323, 0, 324, 0, 0, 325,
- 0, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 334, 0, 335, 0, 0, 336, 337, 338, 0, 0,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 0, 352, 353, 354, 355, 0, 356,
- 357, 0, 358, 0, 359, 360, 361, 362, 363, 364,
- 0, 365, 0, 0, 366, 367, 368, 0, 0, 369,
- 0, 0, 0, 370, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 379, 380, 381, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 618, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 0, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 619, 420,
- 421, 422, 423, 424, 0, 425, 426, 427, 428, 0,
- 429, 430, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 451, 452, 0, 0,
- 453, 454, 455, 456, 0, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 474, 475, 0, 476,
- 0, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 199, 0, 550, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 1464, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 305, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 1465,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 1466, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 1491, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 1492, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 1493, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 1494, 294, 0,
- 0, 0, 1495, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 305, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 1496, 1497, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 409, 410, 411, 412, 413, 414, 1498, 416, 417,
- 418, 419, 0, 1499, 421, 422, 423, 424, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 1500, 445, 1501, 447, 448, 449, 450, 0,
- 451, 452, 0, 0, 453, 454, 455, 456, 0, 457,
- 458, 1502, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 617, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 618, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 619,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 199, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 3, 4, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 0, 216, 217, 218, 219, 220, 0, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 237,
- 0, 0, 0, 238, 239, 240, 241, 0, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 0, 250,
- 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 0, 0, 0, 295, 296, 297, 0,
- 298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
- 0, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 0, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 0, 0, 325, 0, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 334, 0,
- 335, 0, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 0, 352, 353, 354, 355, 0, 356, 357, 0,
- 358, 0, 359, 360, 361, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 369, 0, 0,
- 0, 370, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 0, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 426, 427, 428, 0, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 454,
- 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 474, 475, 0, 476, 921, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 199, 0, 550, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 0, 233, 234, 235, 236, 237, 0, 0, 0,
- 238, 239, 240, 241, 0, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 1640, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 0, 289, 0, 290, 291, 292, 0, 293, 0, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 305, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 0, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 0, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 1985, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 0, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
- 290, 291, 292, 0, 293, 0, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 305, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 0, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 0, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 0, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 0, 457, 458, 459,
- 460, 461, 462, 463, 0, 0, 464, 465, 466, 467,
- 468, 1986, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 199, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 3, 4, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 0, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 305, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 425, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 199, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 2515, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 305, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 2516, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 199, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 2527, 209, 210, 211, 0, 0, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 0, 216, 217,
- 218, 219, 220, 0, 221, 222, 0, 223, 224, 225,
- 226, 227, 0, 0, 228, 229, 230, 231, 232, 0,
- 233, 234, 235, 236, 237, 0, 0, 0, 238, 239,
- 240, 241, 0, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 0, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 272, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
- 0, 290, 291, 292, 0, 293, 0, 294, 0, 0,
- 0, 295, 296, 297, 0, 298, 299, 0, 300, 0,
- 301, 302, 303, 304, 305, 0, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
- 317, 318, 319, 320, 321, 322, 0, 323, 0, 324,
- 0, 0, 325, 0, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 334, 0, 335, 0, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 0, 352, 353, 354,
- 355, 0, 356, 357, 0, 358, 0, 359, 360, 361,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 369, 0, 0, 0, 370, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 0, 425, 426,
- 427, 428, 0, 429, 430, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 451,
- 452, 0, 0, 453, 454, 455, 456, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 2528, 0, 469, 470, 471, 472, 473, 474,
- 475, 0, 476, 0, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 199,
+ 0, 1834, 0, 0, 0, 1421, 3112, 0, 1412, 0,
+ 0, 0, 1849, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 0, 216, 217, 218, 219, 220,
- 0, 221, 222, 0, 223, 224, 225, 226, 227, 0,
- 0, 228, 229, 230, 231, 232, 0, 233, 234, 235,
- 236, 237, 0, 0, 0, 238, 239, 240, 241, 0,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 0,
- 0, 250, 251, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
- 292, 0, 293, 0, 294, 0, 0, 0, 295, 296,
- 297, 0, 298, 299, 0, 300, 0, 301, 302, 303,
- 304, 305, 0, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 0, 316, 317, 318, 319,
- 320, 321, 322, 0, 323, 0, 324, 0, 0, 325,
- 0, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 334, 0, 335, 0, 0, 336, 337, 338, 0, 0,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 0, 352, 353, 354, 355, 0, 356,
- 357, 0, 358, 0, 359, 360, 361, 362, 363, 364,
- 0, 365, 0, 0, 366, 367, 368, 0, 0, 369,
- 0, 0, 0, 370, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 379, 380, 381, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 0, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 0, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 0, 420,
- 421, 422, 423, 424, 0, 425, 426, 427, 428, 0,
- 429, 430, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 451, 452, 0, 0,
- 453, 454, 455, 456, 0, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 474, 475, 0, 476,
- 0, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 199, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 542, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 305, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 543, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 641, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 0,
- 0, 0, 295, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 305, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 409, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 642, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 643, 452, 0, 0, 644, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 671,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 672, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 673, 452, 0,
- 0, 674, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 199, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 0, 216, 217, 218, 219, 220, 0, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 237,
- 0, 0, 0, 238, 239, 240, 241, 0, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 0, 250,
- 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 0, 0, 0, 295, 296, 297, 0,
- 298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
- 0, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 0, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 0, 0, 325, 0, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 334, 0,
- 335, 0, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 0, 352, 353, 354, 355, 0, 356, 357, 0,
- 358, 0, 359, 360, 361, 362, 363, 364, 0, 365,
- 0, 677, 366, 367, 368, 0, 0, 369, 0, 0,
- 0, 370, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 0, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 426, 427, 428, 0, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 454,
- 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 474, 475, 0, 476, 0, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 199, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 0, 233, 234, 235, 236, 237, 0, 0, 0,
- 238, 239, 240, 241, 0, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 0, 289, 0, 290, 291, 292, 0, 293, 0, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 781, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 0, 677, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 871, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 0, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 0, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 0, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 0, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
- 290, 291, 292, 0, 293, 0, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 305, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 0, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 0, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 0, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 0, 457, 458, 459,
- 460, 461, 462, 463, 0, 0, 464, 465, 466, 467,
- 468, 0, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 199, 0,
- 550, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 0, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 305, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 425, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 199, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 1078, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 305, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 199, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 1089, 216, 217,
- 218, 219, 220, 0, 221, 222, 0, 223, 224, 225,
- 226, 227, 0, 0, 658, 229, 230, 231, 1090, 0,
- 233, 234, 235, 236, 237, 0, 0, 0, 238, 239,
- 240, 241, 0, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 0, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 272, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
- 0, 290, 291, 292, 0, 293, 0, 294, 0, 0,
- 0, 295, 296, 297, 0, 298, 299, 0, 300, 0,
- 301, 302, 303, 304, 305, 0, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
- 317, 318, 319, 320, 321, 322, 0, 323, 0, 324,
- 0, 0, 325, 0, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 334, 0, 335, 0, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 661, 351, 0, 352, 353, 354,
- 355, 0, 356, 357, 0, 358, 0, 359, 360, 361,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 369, 0, 0, 0, 370, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
- 662, 410, 411, 412, 413, 414, 663, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 1082, 0, 425, 426,
- 427, 428, 0, 429, 430, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 665,
- 452, 0, 0, 666, 454, 455, 456, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 0, 0, 469, 470, 471, 472, 473, 474,
- 475, 0, 476, 0, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 667, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 199,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 0, 216, 217, 218, 219, 220,
- 0, 221, 222, 0, 223, 224, 225, 226, 227, 0,
- 0, 228, 229, 230, 231, 232, 0, 233, 234, 235,
- 236, 237, 0, 0, 0, 238, 239, 240, 241, 0,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 0,
- 0, 250, 251, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
- 292, 0, 293, 0, 294, 0, 0, 0, 295, 296,
- 297, 0, 298, 299, 0, 300, 0, 301, 302, 303,
- 304, 1186, 0, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 0, 316, 317, 318, 319,
- 320, 321, 322, 0, 323, 0, 324, 0, 0, 325,
- 0, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 334, 0, 335, 0, 0, 336, 337, 338, 0, 0,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 0, 352, 353, 354, 355, 0, 356,
- 357, 0, 358, 0, 359, 360, 361, 362, 363, 364,
- 0, 365, 0, 677, 366, 367, 368, 0, 0, 369,
- 0, 0, 0, 370, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 379, 380, 381, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 0, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 0, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 0, 420,
- 421, 422, 423, 424, 0, 425, 426, 427, 428, 0,
- 429, 430, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 451, 452, 0, 0,
- 453, 454, 455, 456, 0, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 474, 475, 0, 476,
- 0, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 199, 0, 550, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 1454, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 0,
- 0, 0, 295, 296, 2342, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 305, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 2343, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 409, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 2344, 445, 446, 2345, 448, 2346, 450, 0,
- 451, 452, 0, 0, 453, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 2347, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 2794, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 199, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 3398, 0, 212, 213, 0,
- 214, 215, 0, 216, 217, 218, 219, 220, 0, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 237,
- 0, 0, 0, 238, 239, 240, 241, 0, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 0, 250,
- 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 0, 0, 0, 295, 296, 297, 0,
- 298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
- 0, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 0, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 0, 0, 325, 0, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 334, 0,
- 335, 0, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 0, 352, 353, 354, 355, 0, 356, 357, 0,
- 358, 0, 359, 360, 361, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 369, 0, 0,
- 0, 370, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 0, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 426, 427, 428, 0, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 454,
- 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 474, 475, 0, 476, 0, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 199, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 3411, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 0, 233, 234, 235, 236, 237, 0, 0, 0,
- 238, 239, 240, 241, 0, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 0, 289, 0, 290, 291, 292, 0, 293, 0, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 305, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 0, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 0, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 0, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 3616, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
- 290, 291, 292, 0, 293, 0, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 305, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 0, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 0, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 0, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 0, 457, 458, 459,
- 460, 461, 462, 463, 0, 0, 464, 465, 466, 467,
- 468, 0, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 199, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 3618, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 0, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 305, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 425, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 199, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 3620, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 305, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 199, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 0, 216, 217,
- 218, 219, 220, 0, 221, 222, 0, 223, 224, 225,
- 226, 227, 0, 0, 228, 229, 230, 231, 232, 0,
- 233, 234, 235, 236, 237, 0, 0, 0, 238, 239,
- 240, 241, 0, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 0, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 272, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
- 0, 290, 291, 292, 0, 293, 0, 294, 0, 0,
- 0, 295, 296, 297, 0, 298, 299, 0, 300, 0,
- 301, 302, 303, 304, 305, 0, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
- 317, 318, 319, 320, 321, 322, 0, 323, 0, 324,
- 0, 0, 325, 0, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 334, 0, 335, 0, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 0, 352, 353, 354,
- 355, 0, 356, 357, 0, 358, 0, 359, 360, 361,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 369, 0, 0, 0, 370, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 0, 425, 426,
- 427, 428, 0, 429, 430, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 451,
- 452, 0, 0, 453, 454, 455, 456, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 0, 3975, 469, 470, 471, 472, 473, 474,
- 475, 0, 476, 0, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 199,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 0, 216, 217, 218, 219, 220,
- 0, 221, 222, 0, 223, 224, 225, 226, 227, 0,
- 0, 228, 229, 230, 231, 232, 0, 233, 234, 235,
- 236, 237, 0, 0, 0, 238, 239, 240, 241, 0,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 0,
- 0, 250, 251, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
- 292, 0, 293, 0, 294, 0, 0, 0, 295, 296,
- 297, 0, 298, 299, 0, 300, 0, 301, 302, 303,
- 304, 305, 0, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 0, 316, 317, 318, 319,
- 320, 321, 322, 0, 323, 0, 324, 0, 0, 325,
- 0, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 334, 0, 335, 0, 0, 336, 337, 338, 0, 0,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 0, 352, 353, 354, 355, 0, 356,
- 357, 0, 358, 0, 359, 360, 361, 362, 363, 364,
- 0, 365, 0, 0, 366, 367, 368, 0, 0, 369,
- 0, 0, 0, 370, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 379, 380, 381, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 0, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 0, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 0, 420,
- 421, 422, 423, 424, 0, 425, 426, 427, 428, 0,
- 429, 430, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 451, 452, 0, 0,
- 453, 454, 455, 456, 0, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 474, 475, 0, 476,
- 0, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 199, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 305, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 631, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 0,
- 0, 0, 295, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 305, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 409, 410, 411, 412, 413, 639, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 451, 452, 0, 0, 453, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 658, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 659, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 305, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 660, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 661, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 662, 410,
- 411, 412, 413, 414, 663, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 664, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 665, 452, 0,
- 0, 666, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 667, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 199, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 0, 216, 217, 218, 219, 220, 0, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 237,
- 0, 0, 0, 238, 239, 240, 241, 0, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 0, 250,
- 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 0, 0, 0, 295, 296, 297, 0,
- 298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
- 0, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 0, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 0, 0, 325, 0, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 334, 0,
- 335, 0, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 0, 352, 353, 354, 355, 0, 356, 357, 0,
- 358, 0, 359, 360, 361, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 369, 0, 0,
- 0, 370, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 689, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 0, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 426, 427, 428, 0, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 454,
- 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 474, 475, 0, 476, 0, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 199, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 0, 233, 234, 235, 236, 237, 0, 0, 0,
- 238, 239, 240, 241, 0, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 0, 289, 0, 290, 291, 292, 0, 293, 0, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 757, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 0, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 0, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 0, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 0, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
- 290, 291, 292, 0, 293, 0, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 778, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 0, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 0, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 0, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 0, 457, 458, 459,
- 460, 461, 462, 463, 0, 0, 464, 465, 466, 467,
- 468, 0, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 199, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 0, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 305, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 787, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 425, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 199, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 789, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 199, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 0, 216, 217,
- 218, 219, 220, 0, 221, 222, 0, 223, 224, 225,
- 226, 227, 0, 0, 228, 229, 230, 231, 232, 0,
- 233, 234, 235, 236, 237, 0, 0, 0, 238, 239,
- 240, 241, 0, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 0, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 272, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
- 0, 290, 291, 292, 0, 293, 0, 294, 0, 0,
- 0, 295, 296, 297, 0, 298, 299, 0, 300, 0,
- 301, 302, 303, 304, 839, 0, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
- 317, 318, 319, 320, 321, 322, 0, 323, 0, 324,
- 0, 0, 325, 0, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 334, 0, 335, 0, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 0, 352, 353, 354,
- 355, 0, 356, 357, 0, 358, 0, 359, 360, 361,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 369, 0, 0, 0, 370, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 0, 425, 426,
- 427, 428, 0, 429, 430, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 451,
- 452, 0, 0, 453, 454, 455, 456, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 0, 0, 469, 470, 471, 472, 473, 474,
- 475, 0, 476, 0, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 199,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 0, 216, 217, 218, 219, 220,
- 0, 221, 222, 0, 223, 224, 225, 226, 227, 0,
- 0, 228, 229, 230, 231, 232, 0, 233, 234, 235,
- 236, 237, 0, 0, 0, 238, 239, 240, 241, 0,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 0,
- 0, 250, 251, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
- 292, 0, 293, 0, 294, 0, 0, 0, 295, 296,
- 297, 0, 298, 299, 0, 300, 0, 301, 302, 303,
- 304, 305, 0, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 0, 316, 317, 318, 319,
- 320, 321, 322, 0, 323, 0, 324, 0, 0, 325,
- 0, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 334, 0, 335, 0, 0, 336, 337, 338, 0, 0,
- 339, 340, 860, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 0, 352, 353, 354, 355, 0, 356,
- 357, 0, 358, 0, 359, 360, 361, 362, 363, 364,
- 0, 365, 0, 0, 366, 367, 368, 0, 0, 369,
- 0, 0, 0, 370, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 379, 380, 381, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 0, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 0, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 0, 420,
- 421, 422, 423, 424, 0, 425, 426, 427, 428, 0,
- 429, 430, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 451, 452, 0, 0,
- 453, 454, 455, 456, 0, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 474, 475, 0, 476,
- 0, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 199, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 883, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 0,
- 0, 0, 295, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 889, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 409, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 451, 452, 0, 0, 453, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 898, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 199, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 0, 216, 217, 218, 219, 220, 0, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 237,
- 0, 0, 0, 238, 239, 240, 241, 0, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 0, 250,
- 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 0, 0, 0, 295, 296, 297, 0,
- 298, 299, 0, 300, 0, 301, 302, 303, 304, 900,
- 0, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 0, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 0, 0, 325, 0, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 334, 0,
- 335, 0, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 0, 352, 353, 354, 355, 0, 356, 357, 0,
- 358, 0, 359, 360, 361, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 369, 0, 0,
- 0, 370, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 0, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 426, 427, 428, 0, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 454,
- 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 474, 475, 0, 476, 0, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 199, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 0, 233, 234, 235, 236, 237, 0, 0, 0,
- 238, 239, 240, 241, 0, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 0, 289, 0, 290, 291, 292, 0, 293, 0, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 902, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 0, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 0, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 0, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 0, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
- 290, 291, 292, 0, 293, 0, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 904, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 0, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 0, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 0, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 0, 457, 458, 459,
- 460, 461, 462, 463, 0, 0, 464, 465, 466, 467,
- 468, 0, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 199, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 0, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 907, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 425, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 199, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 909, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 910, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 199, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 0, 216, 217,
- 218, 219, 220, 0, 221, 222, 0, 223, 224, 225,
- 226, 227, 0, 0, 228, 229, 230, 231, 232, 0,
- 233, 234, 235, 236, 237, 0, 0, 0, 238, 239,
- 240, 241, 0, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 0, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 272, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
- 0, 290, 291, 292, 0, 293, 0, 294, 0, 0,
- 0, 295, 296, 297, 0, 298, 299, 0, 300, 0,
- 301, 302, 303, 304, 913, 0, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
- 317, 318, 319, 320, 321, 322, 0, 323, 0, 324,
- 0, 0, 325, 0, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 334, 0, 335, 0, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 0, 352, 353, 354,
- 355, 0, 356, 357, 0, 358, 0, 359, 360, 361,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 369, 0, 0, 0, 370, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 0, 425, 426,
- 427, 428, 0, 429, 430, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 451,
- 452, 0, 0, 453, 454, 455, 456, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 0, 0, 469, 470, 471, 472, 473, 474,
- 475, 0, 476, 0, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 199,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 0, 216, 217, 218, 219, 220,
- 0, 221, 222, 0, 223, 224, 225, 226, 227, 0,
- 0, 658, 229, 230, 231, 232, 0, 233, 234, 235,
- 236, 237, 0, 0, 0, 238, 239, 240, 241, 0,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 0,
- 0, 250, 251, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
- 292, 0, 293, 0, 294, 0, 0, 0, 295, 296,
- 297, 0, 298, 299, 0, 300, 0, 301, 302, 303,
- 304, 305, 0, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 0, 316, 317, 318, 319,
- 320, 321, 322, 0, 323, 0, 324, 0, 0, 325,
- 0, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 334, 0, 335, 0, 0, 336, 337, 338, 0, 0,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 661, 351, 0, 352, 353, 354, 355, 0, 356,
- 357, 0, 358, 0, 359, 360, 361, 362, 363, 364,
- 0, 365, 0, 0, 366, 367, 368, 0, 0, 369,
- 0, 0, 0, 370, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 379, 380, 381, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 0, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 0, 662, 410, 411,
- 412, 413, 414, 663, 416, 417, 418, 419, 0, 420,
- 421, 422, 423, 1082, 0, 425, 426, 427, 428, 0,
- 429, 430, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 665, 452, 0, 0,
- 666, 454, 455, 456, 0, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 474, 475, 0, 476,
- 0, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 667, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 199, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 1375, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 0,
- 0, 0, 295, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 1402, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 409, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 451, 452, 0, 0, 453, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 1430, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 199, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 0, 216, 217, 218, 219, 220, 0, 221,
- 222, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 230, 231, 232, 0, 233, 234, 235, 236, 237,
- 0, 0, 0, 238, 239, 240, 241, 0, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 0, 250,
- 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 0, 289, 0, 290, 291, 292, 0,
- 293, 0, 294, 0, 0, 0, 295, 296, 297, 0,
- 298, 299, 0, 300, 0, 301, 302, 303, 304, 1432,
- 0, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 0, 316, 317, 318, 319, 320, 321,
- 322, 0, 323, 0, 324, 0, 0, 325, 0, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 334, 0,
- 335, 0, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 0, 352, 353, 354, 355, 0, 356, 357, 0,
- 358, 0, 359, 360, 361, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 369, 0, 0,
- 0, 370, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 0, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 426, 427, 428, 0, 429, 430,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 0, 443, 444, 0, 445, 446, 447,
- 448, 449, 450, 0, 451, 452, 0, 0, 453, 454,
- 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 474, 475, 0, 476, 0, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
- 494, 495, 496, 497, 199, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 0,
- 216, 217, 218, 219, 220, 0, 221, 222, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 230, 231,
- 232, 0, 233, 234, 235, 236, 237, 0, 0, 0,
- 238, 239, 240, 241, 0, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 0, 250, 251, 0, 0,
- 0, 0, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 272, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 0, 289, 0, 290, 291, 292, 0, 293, 0, 294,
- 0, 0, 0, 295, 296, 297, 0, 298, 299, 0,
- 300, 0, 301, 302, 303, 304, 1434, 0, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 0, 316, 317, 318, 319, 320, 321, 322, 0, 323,
- 0, 324, 0, 0, 325, 0, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 334, 0, 335, 0, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 0, 352,
- 353, 354, 355, 0, 356, 357, 0, 358, 0, 359,
- 360, 361, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 369, 0, 0, 0, 370, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
- 381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 0, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 426, 427, 428, 0, 429, 430, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 451, 452, 0, 0, 453, 454, 455, 456, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 474, 475, 0, 476, 0, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 212, 213, 0, 214, 215, 0, 216, 217, 218,
- 219, 220, 0, 221, 222, 0, 223, 224, 225, 226,
- 227, 0, 0, 228, 229, 230, 231, 232, 0, 233,
- 234, 235, 236, 237, 0, 0, 0, 238, 239, 240,
- 241, 0, 242, 243, 0, 244, 245, 246, 247, 248,
- 249, 0, 0, 250, 251, 0, 0, 0, 0, 0,
- 0, 0, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 0, 261, 0, 262, 263, 264, 265, 266, 0,
- 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
- 0, 275, 276, 277, 0, 278, 279, 0, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
- 290, 291, 292, 0, 293, 0, 294, 0, 0, 0,
- 295, 296, 297, 0, 298, 299, 0, 300, 0, 301,
- 302, 303, 304, 305, 0, 306, 307, 308, 0, 309,
- 310, 311, 312, 313, 314, 0, 315, 0, 316, 317,
- 318, 319, 320, 321, 322, 0, 323, 0, 324, 0,
- 0, 325, 0, 326, 327, 328, 329, 330, 331, 332,
- 0, 333, 334, 0, 335, 0, 0, 336, 337, 338,
- 0, 0, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 0, 352, 353, 354, 355,
- 0, 356, 357, 0, 358, 0, 359, 360, 361, 362,
- 363, 364, 0, 365, 0, 0, 366, 367, 368, 0,
- 0, 369, 0, 0, 0, 370, 371, 372, 373, 374,
- 375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
- 384, 0, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 0, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 0, 407, 408, 0, 409,
- 410, 411, 412, 413, 1525, 415, 416, 417, 418, 419,
- 0, 420, 421, 422, 423, 424, 0, 425, 426, 427,
- 428, 0, 429, 430, 431, 0, 432, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
- 0, 445, 446, 447, 448, 449, 450, 0, 451, 452,
- 0, 0, 453, 454, 455, 456, 0, 457, 458, 459,
- 460, 461, 462, 463, 0, 0, 464, 465, 466, 467,
- 468, 0, 0, 469, 470, 471, 472, 473, 474, 475,
- 0, 476, 0, 477, 478, 479, 0, 0, 480, 0,
- 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
- 490, 491, 492, 493, 494, 495, 496, 497, 199, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 0, 1793, 0, 212, 213,
- 0, 214, 215, 0, 216, 217, 218, 219, 220, 0,
- 221, 222, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 230, 231, 232, 0, 233, 234, 235, 236,
- 237, 0, 0, 0, 238, 239, 240, 241, 0, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 0,
- 250, 251, 0, 0, 0, 0, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
- 0, 293, 0, 294, 0, 0, 0, 295, 296, 297,
- 0, 298, 299, 0, 300, 0, 301, 302, 303, 304,
- 305, 0, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 0, 316, 317, 318, 319, 320,
- 321, 322, 0, 323, 0, 324, 0, 0, 325, 0,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 334,
- 0, 335, 0, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 0, 352, 353, 354, 355, 0, 356, 357,
- 0, 358, 0, 359, 360, 361, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 369, 0,
- 0, 0, 370, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 379, 380, 381, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 0, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 0, 426, 427, 428, 0, 429,
- 430, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 451, 452, 0, 0, 453,
- 454, 455, 456, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 474, 475, 0, 476, 0,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 493, 494, 495, 496, 497, 199, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 658, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 305, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 661, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 662, 410, 411, 412, 413, 414, 663,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 1082,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 1811, 447, 448, 449,
- 450, 0, 665, 452, 0, 0, 666, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 667,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 199, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 0, 216, 217,
- 218, 219, 220, 0, 221, 222, 0, 223, 224, 225,
- 226, 227, 0, 0, 658, 229, 230, 231, 232, 0,
- 233, 234, 235, 236, 237, 0, 0, 0, 238, 239,
- 240, 241, 0, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 0, 250, 251, 0, 0, 0, 0,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 272, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
- 0, 290, 291, 292, 0, 293, 0, 294, 0, 0,
- 0, 295, 296, 297, 0, 298, 299, 0, 300, 0,
- 301, 302, 303, 304, 305, 0, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
- 317, 318, 319, 320, 321, 322, 0, 323, 0, 324,
- 0, 0, 325, 0, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 334, 0, 335, 0, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 661, 351, 0, 352, 353, 354,
- 355, 0, 356, 357, 0, 358, 0, 359, 360, 361,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 369, 0, 0, 0, 370, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 0,
- 662, 410, 411, 412, 413, 414, 1871, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 1872, 0, 425, 426,
- 427, 428, 0, 429, 430, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 665,
- 452, 0, 0, 1873, 454, 455, 456, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 0, 0, 469, 470, 471, 472, 473, 474,
- 475, 0, 476, 0, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 667, 486, 487, 488,
- 489, 490, 491, 492, 493, 494, 495, 496, 497, 199,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 0, 216, 217, 218, 219, 220,
- 0, 221, 222, 0, 223, 224, 225, 226, 227, 0,
- 0, 228, 229, 230, 231, 232, 0, 233, 234, 235,
- 236, 237, 0, 0, 0, 238, 239, 240, 241, 0,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 0,
- 0, 250, 251, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
- 292, 0, 293, 0, 294, 0, 0, 0, 295, 296,
- 297, 0, 298, 299, 0, 300, 0, 301, 302, 303,
- 304, 2117, 0, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 0, 316, 317, 318, 319,
- 320, 321, 322, 0, 323, 0, 324, 0, 0, 325,
- 0, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 334, 0, 335, 0, 0, 336, 337, 338, 0, 0,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 0, 352, 353, 354, 355, 0, 356,
- 357, 0, 358, 0, 359, 360, 361, 362, 363, 364,
- 0, 365, 0, 0, 366, 367, 368, 0, 0, 369,
- 0, 0, 0, 370, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 379, 380, 381, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 0, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 0, 409, 410, 411,
- 412, 413, 414, 415, 416, 417, 418, 419, 0, 420,
- 421, 422, 423, 424, 0, 425, 426, 427, 428, 0,
- 429, 430, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 451, 452, 0, 0,
- 453, 454, 455, 456, 0, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 474, 475, 0, 476,
- 0, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 494, 495, 496, 497, 199, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 2445, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 658, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 0,
- 0, 0, 295, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 305, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 661, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 662, 410, 411, 412, 413, 414, 663, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 1872, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 665, 452, 0, 0, 1873, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 667, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 1330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 0,
- 1331, 714, 1332, 1333, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 1334, 1335, 232, 0, 233, 234,
- 235, 236, 0, 0, 715, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 0, 0, 0, 718, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 1336, 1337, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 1005, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 0, 285, 286, 287, 0, 0, 289, 0, 290,
- 1338, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 0, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 1879, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 1880, 317, 318,
- 319, 320, 1339, 1340, 0, 1341, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 0, 726, 335, 727, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 1342, 728, 1343, 353, 354, 0, 0,
- 356, 357, 729, 358, 0, 0, 360, 1344, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 1881, 730, 731, 732, 0, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 0, 380, 0, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 1345, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 0, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 1882, 427, 428,
- 734, 429, 1347, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 0, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 1348, 1349, 0,
- 0, 453, 0, 455, 0, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 0, 1350, 1883,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 0, 199, 0, 0, 0,
- 0, 0, 0, 0, 495, 496, 497, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 209, 210, 211, 0,
- 0, 0, 0, 0, 0, 0, 212, 213, 0, 214,
- 215, 0, 216, 217, 218, 219, 220, 0, 221, 222,
- 0, 223, 224, 225, 226, 227, 0, 0, 228, 229,
- 230, 231, 232, 0, 233, 234, 235, 236, 237, 0,
- 0, 0, 238, 239, 240, 241, 0, 242, 243, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 250, 251,
- 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 0, 261, 0, 262,
- 263, 264, 265, 266, 0, 267, 268, 269, 0, 0,
- 270, 271, 272, 273, 274, 0, 275, 276, 277, 0,
- 278, 279, 0, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 0, 289, 0, 290, 291, 292, 0, 293,
- 0, 294, 0, 0, 0, 295, 296, 297, 0, 298,
- 299, 0, 300, 0, 301, 302, 303, 304, 2518, 0,
- 306, 307, 308, 0, 309, 310, 311, 312, 313, 314,
- 0, 315, 0, 316, 317, 318, 319, 320, 321, 322,
- 0, 323, 0, 324, 0, 0, 325, 0, 326, 327,
- 328, 329, 330, 331, 332, 0, 333, 334, 0, 335,
- 0, 0, 336, 337, 338, 0, 0, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
- 0, 352, 353, 354, 355, 0, 356, 357, 0, 358,
- 0, 359, 360, 361, 362, 363, 364, 0, 365, 0,
- 0, 366, 367, 368, 0, 0, 369, 0, 0, 0,
- 370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
- 379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
- 388, 389, 390, 391, 392, 393, 394, 395, 396, 0,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 0, 407, 408, 0, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 0, 420, 421, 422, 423,
- 424, 0, 425, 426, 427, 428, 0, 429, 430, 431,
- 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 0, 443, 444, 0, 445, 446, 447, 448,
- 449, 450, 0, 451, 452, 0, 0, 453, 454, 455,
- 456, 0, 457, 458, 459, 460, 461, 462, 463, 0,
- 0, 464, 465, 466, 467, 468, 0, 0, 469, 470,
- 471, 472, 473, 474, 475, 0, 476, 0, 477, 478,
- 479, 0, 0, 480, 0, 0, 481, 482, 483, 484,
- 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
- 495, 496, 497, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 0, 216,
- 217, 218, 219, 220, 0, 221, 222, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 230, 231, 232,
- 0, 233, 234, 235, 236, 237, 0, 0, 0, 238,
- 239, 240, 241, 0, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 0, 250, 251, 0, 0, 0,
- 0, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 272,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
- 289, 0, 290, 291, 292, 0, 293, 0, 294, 0,
- 0, 0, 295, 296, 297, 0, 298, 299, 0, 300,
- 0, 301, 302, 303, 304, 2520, 0, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 0,
- 316, 317, 318, 319, 320, 321, 322, 0, 323, 0,
- 324, 0, 0, 325, 0, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 334, 0, 335, 0, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 0, 352, 353,
- 354, 355, 0, 356, 357, 0, 358, 0, 359, 360,
- 361, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 369, 0, 0, 0, 370, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 0, 409, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 0, 425,
- 426, 427, 428, 0, 429, 430, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 451, 452, 0, 0, 453, 454, 455, 456, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 474, 475, 0, 476, 0, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
- 199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 0, 216, 217, 218, 219,
- 220, 0, 221, 222, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 230, 231, 232, 0, 233, 234,
- 235, 236, 237, 0, 0, 0, 238, 239, 240, 241,
- 0, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 0, 250, 251, 0, 0, 0, 0, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
- 291, 292, 0, 293, 0, 294, 0, 0, 0, 295,
- 296, 297, 0, 298, 299, 0, 300, 0, 301, 302,
- 303, 304, 2612, 0, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 0, 316, 317, 318,
- 319, 320, 321, 322, 0, 323, 0, 324, 0, 0,
- 325, 0, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 334, 0, 335, 0, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 0, 352, 353, 354, 355, 0,
- 356, 357, 0, 358, 0, 359, 360, 361, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 369, 0, 0, 0, 370, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 0, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 426, 427, 428,
- 0, 429, 430, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 451, 452, 0,
- 0, 453, 454, 455, 456, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 474, 475, 0,
- 476, 0, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
- 491, 492, 493, 494, 495, 496, 497, 1330, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 209, 210, 211,
- 0, 0, 0, 0, 0, 0, 0, 212, 213, 0,
- 214, 215, 713, 216, 217, 218, 0, 1331, 714, 1332,
- 1333, 0, 223, 224, 225, 226, 227, 0, 0, 228,
- 229, 1334, 1335, 232, 0, 233, 234, 235, 236, 0,
- 0, 715, 0, 238, 239, 240, 241, 716, 242, 243,
- 0, 244, 245, 246, 247, 248, 249, 0, 717, 250,
- 251, 0, 0, 0, 718, 0, 0, 0, 252, 253,
- 254, 255, 256, 257, 1336, 1337, 260, 0, 261, 0,
- 262, 263, 264, 265, 266, 0, 267, 268, 269, 0,
- 0, 270, 271, 1005, 273, 274, 0, 275, 276, 277,
- 0, 278, 279, 0, 280, 281, 282, 283, 0, 285,
- 286, 287, 0, 0, 289, 0, 290, 1338, 292, 0,
- 293, 0, 294, 719, 0, 720, 295, 296, 297, 0,
- 298, 0, 0, 300, 0, 301, 302, 303, 304, 305,
- 721, 306, 307, 308, 0, 309, 310, 311, 312, 313,
- 314, 0, 315, 722, 0, 317, 318, 319, 320, 1339,
- 1340, 0, 1341, 0, 324, 723, 724, 325, 725, 326,
- 327, 328, 329, 330, 331, 332, 0, 333, 0, 726,
- 335, 727, 0, 336, 337, 338, 0, 0, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 1342, 728, 1343, 353, 354, 0, 0, 356, 357, 729,
- 358, 1867, 0, 360, 1344, 362, 363, 364, 0, 365,
- 0, 0, 366, 367, 368, 0, 0, 0, 730, 731,
- 732, 0, 371, 372, 373, 374, 375, 376, 377, 0,
- 378, 0, 380, 0, 382, 383, 384, 0, 385, 386,
- 387, 388, 389, 390, 391, 1345, 393, 394, 395, 396,
- 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 0, 407, 408, 733, 409, 410, 0, 412, 413,
- 414, 415, 416, 417, 418, 419, 0, 420, 421, 422,
- 423, 424, 0, 425, 1882, 427, 428, 734, 429, 1347,
- 431, 0, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 0, 0, 443, 444, 3264, 445, 446, 447,
- 448, 449, 450, 0, 1348, 1349, 0, 0, 453, 0,
- 455, 0, 0, 457, 458, 459, 460, 461, 462, 463,
- 0, 0, 464, 465, 466, 467, 468, 0, 0, 469,
- 470, 471, 472, 473, 0, 1350, 0, 476, 735, 477,
- 478, 479, 0, 0, 480, 0, 0, 481, 482, 483,
- 484, 485, 0, 1330, 0, 0, 0, 0, 0, 0,
- 0, 495, 496, 497, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 209, 210, 211, 0, 0, 0, 0,
- 0, 0, 0, 212, 213, 0, 214, 215, 713, 216,
- 217, 218, 0, 1331, 714, 1332, 1333, 0, 223, 224,
- 225, 226, 227, 0, 0, 228, 229, 1334, 1335, 232,
- 0, 233, 234, 235, 236, 0, 0, 715, 0, 238,
- 239, 240, 241, 716, 242, 243, 0, 244, 245, 246,
- 247, 248, 249, 0, 717, 250, 251, 0, 0, 0,
- 718, 0, 0, 0, 252, 253, 254, 255, 256, 257,
- 1336, 1337, 260, 0, 261, 0, 262, 263, 264, 265,
- 266, 0, 267, 268, 269, 0, 0, 270, 271, 1005,
- 273, 274, 0, 275, 276, 277, 0, 278, 279, 0,
- 280, 281, 282, 283, 0, 285, 286, 287, 0, 0,
- 289, 0, 290, 1338, 292, 0, 293, 0, 294, 719,
- 0, 720, 295, 296, 297, 0, 298, 0, 0, 300,
- 0, 301, 302, 303, 304, 305, 721, 306, 307, 308,
- 0, 309, 310, 311, 312, 313, 314, 0, 315, 722,
- 0, 317, 318, 319, 320, 1339, 1340, 0, 1341, 0,
- 324, 723, 724, 325, 725, 326, 327, 328, 329, 330,
- 331, 332, 0, 333, 0, 726, 335, 727, 0, 336,
- 337, 338, 0, 0, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 1342, 728, 1343, 353,
- 354, 1930, 0, 356, 357, 729, 358, 0, 0, 360,
- 1344, 362, 363, 364, 0, 365, 0, 0, 366, 367,
- 368, 0, 0, 0, 730, 731, 732, 0, 371, 372,
- 373, 374, 375, 376, 377, 0, 378, 0, 380, 0,
- 382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
- 391, 1345, 393, 394, 395, 396, 0, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 0, 407, 408,
- 733, 409, 410, 0, 412, 413, 414, 415, 416, 417,
- 418, 419, 0, 420, 421, 422, 423, 424, 0, 425,
- 1346, 427, 428, 734, 429, 1347, 431, 0, 432, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 0, 0,
- 443, 444, 0, 445, 446, 447, 448, 449, 450, 0,
- 1348, 1349, 0, 0, 453, 0, 455, 0, 0, 457,
- 458, 459, 460, 461, 462, 463, 0, 0, 464, 465,
- 466, 467, 468, 0, 0, 469, 470, 471, 472, 473,
- 0, 1350, 0, 476, 735, 477, 478, 479, 0, 0,
- 480, 0, 0, 481, 482, 483, 484, 485, 0, 1330,
- 0, 0, 0, 0, 0, 0, 0, 495, 496, 497,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 209,
- 210, 211, 0, 0, 0, 0, 0, 0, 0, 212,
- 213, 0, 214, 215, 713, 216, 217, 218, 0, 1331,
- 714, 1332, 1333, 0, 223, 224, 225, 226, 227, 0,
- 0, 228, 229, 1334, 1335, 232, 0, 233, 234, 235,
- 236, 0, 0, 715, 0, 238, 239, 240, 241, 716,
- 242, 243, 0, 244, 245, 246, 247, 248, 249, 0,
- 717, 250, 251, 0, 0, 0, 718, 0, 0, 0,
- 252, 253, 254, 255, 256, 257, 1336, 1337, 260, 0,
- 261, 0, 262, 263, 264, 265, 266, 0, 267, 268,
- 269, 0, 0, 270, 271, 1005, 273, 274, 0, 275,
- 276, 277, 0, 278, 279, 0, 280, 281, 282, 283,
- 0, 285, 286, 287, 0, 0, 289, 0, 290, 1338,
- 292, 0, 293, 0, 294, 719, 0, 720, 295, 296,
- 297, 0, 298, 0, 0, 300, 0, 301, 302, 303,
- 304, 305, 721, 306, 307, 308, 0, 309, 310, 311,
- 312, 313, 314, 0, 315, 722, 0, 317, 318, 319,
- 320, 1339, 1340, 0, 1341, 0, 324, 723, 724, 325,
- 725, 326, 327, 328, 329, 330, 331, 332, 0, 333,
- 0, 726, 335, 727, 0, 336, 337, 338, 0, 0,
- 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 1342, 728, 1343, 353, 354, 3083, 0, 356,
- 357, 729, 358, 0, 0, 360, 1344, 362, 363, 364,
- 0, 365, 0, 0, 366, 367, 368, 0, 0, 0,
- 730, 731, 732, 0, 371, 372, 373, 374, 375, 376,
- 377, 0, 378, 0, 380, 0, 382, 383, 384, 0,
- 385, 386, 387, 388, 389, 390, 391, 1345, 393, 394,
- 395, 396, 0, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 0, 407, 408, 733, 409, 410, 0,
- 412, 413, 414, 415, 416, 417, 418, 419, 0, 420,
- 421, 422, 423, 424, 0, 425, 1346, 427, 428, 734,
- 429, 1347, 431, 0, 432, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 0, 0, 443, 444, 0, 445,
- 446, 447, 448, 449, 450, 0, 1348, 1349, 0, 0,
- 453, 0, 455, 0, 0, 457, 458, 459, 460, 461,
- 462, 463, 0, 0, 464, 465, 466, 467, 468, 0,
- 0, 469, 470, 471, 472, 473, 0, 1350, 0, 476,
- 735, 477, 478, 479, 0, 0, 480, 0, 0, 481,
- 482, 483, 484, 485, 0, 199, 0, 0, 0, 0,
- 0, 0, 0, 495, 496, 497, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 209, 210, 211, 0, 0,
- 0, 0, 0, 0, 0, 212, 213, 0, 214, 215,
- 0, 216, 217, 218, 219, 220, 0, 221, 222, 0,
- 223, 224, 225, 226, 227, 0, 0, 228, 229, 230,
- 231, 232, 0, 233, 234, 235, 236, 237, 0, 0,
- 0, 238, 239, 240, 241, 0, 242, 243, 0, 244,
- 245, 246, 247, 248, 249, 0, 0, 250, 251, 0,
- 0, 0, 0, 0, 0, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 0, 261, 0, 262, 263,
- 264, 265, 266, 0, 267, 268, 269, 0, 0, 270,
- 271, 272, 273, 274, 0, 275, 276, 277, 0, 278,
- 279, 0, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 0, 289, 0, 290, 291, 292, 0, 293, 0,
- 294, 0, 0, 0, 295, 296, 297, 0, 298, 299,
- 0, 300, 0, 301, 302, 303, 304, 305, 0, 306,
- 307, 308, 0, 309, 310, 311, 312, 313, 314, 0,
- 315, 0, 316, 317, 318, 319, 320, 321, 322, 0,
- 323, 0, 324, 0, 0, 325, 0, 326, 327, 328,
- 329, 330, 331, 332, 0, 333, 334, 0, 335, 0,
- 0, 336, 337, 338, 0, 0, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 0,
- 352, 353, 354, 355, 0, 356, 357, 0, 358, 0,
- 359, 360, 361, 362, 363, 364, 0, 365, 0, 0,
- 366, 367, 368, 0, 0, 369, 0, 0, 0, 370,
- 371, 372, 373, 374, 0, 376, 377, 0, 378, 379,
- 380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
- 389, 0, 391, 392, 393, 394, 395, 396, 0, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 0,
- 407, 408, 0, 409, 410, 411, 0, 413, 414, 415,
- 416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
- 0, 425, 426, 427, 428, 0, 429, 430, 431, 0,
- 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 0, 443, 444, 0, 445, 446, 447, 448, 449,
- 450, 0, 451, 452, 0, 0, 453, 454, 455, 456,
- 0, 457, 458, 459, 460, 461, 462, 463, 0, 0,
- 464, 465, 466, 467, 468, 0, 0, 469, 470, 471,
- 472, 473, 474, 475, 0, 476, 0, 477, 478, 479,
- 0, 0, 480, 0, 0, 481, 482, 483, 484, 485,
- 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
- 496, 497, 1330, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 209, 210, 211, 0, 0, 0, 0, 0,
- 0, 0, 212, 213, 0, 214, 215, 713, 216, 217,
- 218, 0, 1331, 714, 1332, 1333, 0, 223, 224, 225,
- 226, 227, 0, 0, 228, 229, 1334, 1335, 232, 0,
- 233, 234, 235, 236, 0, 0, 715, 0, 238, 239,
- 240, 241, 716, 242, 243, 0, 244, 245, 246, 247,
- 248, 249, 0, 717, 250, 251, 0, 0, 0, 718,
- 0, 0, 0, 252, 253, 254, 255, 256, 257, 1336,
- 1337, 260, 0, 261, 0, 262, 263, 264, 265, 266,
- 0, 267, 268, 269, 0, 0, 270, 271, 1005, 273,
- 274, 0, 275, 276, 277, 0, 278, 279, 0, 280,
- 281, 282, 283, 0, 285, 286, 287, 0, 0, 289,
- 0, 290, 1338, 292, 0, 293, 0, 294, 719, 0,
- 720, 295, 296, 297, 0, 298, 0, 0, 300, 0,
- 301, 302, 303, 304, 305, 721, 306, 307, 308, 0,
- 309, 310, 311, 312, 313, 314, 0, 315, 722, 0,
- 317, 318, 319, 320, 1339, 1340, 0, 1341, 0, 324,
- 723, 724, 325, 725, 326, 327, 328, 329, 330, 331,
- 332, 0, 333, 0, 726, 335, 727, 0, 336, 337,
- 338, 0, 0, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 1342, 728, 1343, 353, 354,
- 0, 0, 356, 357, 729, 358, 0, 0, 360, 1344,
- 362, 363, 364, 0, 365, 0, 0, 366, 367, 368,
- 0, 0, 0, 730, 731, 732, 0, 371, 372, 373,
- 374, 375, 376, 377, 0, 378, 0, 380, 0, 382,
- 383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
- 1345, 393, 394, 395, 396, 0, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 0, 407, 408, 733,
- 409, 410, 0, 412, 413, 414, 415, 416, 417, 418,
- 419, 0, 420, 421, 422, 423, 424, 0, 425, 1346,
- 427, 428, 734, 429, 1347, 431, 0, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 0, 0, 443,
- 444, 0, 445, 446, 447, 448, 449, 450, 0, 1348,
- 1349, 0, 0, 453, 0, 455, 0, 0, 457, 458,
- 459, 460, 461, 462, 463, 0, 0, 464, 465, 466,
- 467, 468, 0, 0, 469, 470, 471, 472, 473, 0,
- 1350, 0, 476, 735, 477, 478, 479, 0, 0, 480,
- 0, 0, 481, 482, 483, 484, 485, 0, 1330, 0,
- 0, 0, 0, 0, 0, 0, 495, 496, 497, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 209, 210,
- 211, 0, 0, 0, 0, 0, 0, 0, 212, 213,
- 0, 214, 215, 713, 216, 217, 218, 0, 1331, 714,
- 1332, 1333, 0, 223, 224, 225, 226, 227, 0, 0,
- 228, 229, 1334, 1335, 232, 0, 233, 234, 235, 236,
- 0, 0, 715, 0, 238, 239, 240, 241, 716, 242,
- 243, 0, 244, 245, 246, 247, 248, 249, 0, 717,
- 250, 251, 0, 0, 0, 718, 0, 0, 0, 252,
- 253, 254, 255, 256, 257, 1336, 1337, 260, 0, 261,
- 0, 262, 263, 264, 265, 266, 0, 267, 268, 269,
- 0, 0, 270, 271, 1005, 273, 274, 0, 275, 276,
- 277, 0, 278, 279, 0, 280, 281, 282, 283, 0,
- 285, 286, 287, 0, 0, 289, 0, 290, 1338, 292,
- 0, 293, 0, 294, 719, 0, 720, 295, 296, 297,
- 0, 298, 0, 0, 300, 0, 301, 302, 303, 304,
- 305, 721, 306, 307, 308, 0, 309, 310, 311, 312,
- 313, 314, 0, 315, 722, 0, 317, 318, 319, 320,
- 1339, 1340, 0, 1341, 0, 324, 723, 724, 325, 725,
- 326, 327, 328, 329, 330, 331, 332, 0, 333, 0,
- 726, 335, 727, 0, 336, 337, 338, 0, 0, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 1342, 728, 1343, 353, 354, 0, 0, 356, 357,
- 729, 358, 0, 0, 360, 1344, 362, 363, 364, 0,
- 365, 0, 0, 366, 367, 368, 0, 0, 0, 730,
- 731, 732, 0, 371, 372, 373, 374, 375, 376, 377,
- 0, 378, 0, 380, 0, 382, 383, 384, 0, 385,
- 386, 387, 388, 389, 390, 391, 1345, 393, 394, 395,
- 396, 0, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 0, 407, 408, 733, 409, 410, 0, 412,
- 413, 414, 415, 416, 417, 418, 419, 0, 420, 421,
- 422, 423, 424, 0, 425, 1882, 427, 428, 734, 429,
- 1347, 431, 0, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 0, 0, 443, 444, 0, 445, 446,
- 447, 448, 449, 450, 0, 1348, 1349, 0, 0, 453,
- 0, 455, 0, 0, 457, 458, 459, 460, 461, 462,
- 463, 0, 0, 464, 465, 466, 467, 468, 0, 0,
- 469, 470, 471, 472, 473, 0, 1350, 0, 476, 735,
- 477, 478, 479, 0, 0, 480, 0, 0, 481, 482,
- 483, 484, 485, 0, 1330, 0, 0, 0, 0, 0,
- 0, 0, 495, 496, 497, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 209, 210, 211, 0, 0, 0,
- 0, 0, 0, 0, 212, 213, 0, 214, 215, 713,
- 216, 217, 218, 0, 1331, 714, 1332, 1333, 0, 223,
- 224, 225, 226, 227, 0, 0, 228, 229, 1334, 1335,
- 232, 0, 233, 234, 235, 236, 0, 0, 715, 0,
- 238, 239, 240, 241, 716, 242, 243, 0, 244, 245,
- 246, 247, 248, 249, 0, 717, 250, 251, 0, 0,
- 0, 718, 0, 0, 0, 252, 253, 254, 255, 256,
- 257, 1336, 1337, 260, 0, 261, 0, 262, 263, 264,
- 265, 266, 0, 267, 268, 269, 0, 0, 270, 271,
- 1005, 273, 274, 0, 275, 276, 277, 0, 278, 279,
- 0, 280, 281, 282, 283, 0, 285, 286, 287, 0,
- 0, 289, 0, 290, 1338, 292, 0, 293, 0, 294,
- 719, 0, 720, 295, 296, 297, 0, 298, 0, 0,
- 300, 0, 301, 302, 303, 304, 305, 721, 306, 307,
- 308, 0, 309, 310, 311, 312, 313, 314, 0, 315,
- 722, 0, 317, 318, 319, 320, 1339, 1340, 0, 1341,
- 0, 324, 723, 724, 325, 725, 326, 327, 328, 329,
- 330, 331, 332, 0, 333, 0, 726, 335, 727, 0,
- 336, 337, 338, 0, 0, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 1342, 728, 1343,
- 353, 354, 0, 0, 356, 357, 729, 358, 0, 0,
- 360, 1344, 362, 363, 364, 0, 365, 0, 0, 366,
- 367, 368, 0, 0, 0, 730, 731, 732, 0, 371,
- 372, 373, 374, 375, 376, 377, 0, 378, 0, 380,
- 0, 382, 383, 384, 0, 385, 386, 387, 388, 389,
- 390, 391, 1345, 393, 394, 395, 396, 0, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 0, 407,
- 408, 733, 409, 410, 0, 412, 413, 414, 415, 416,
- 417, 418, 419, 0, 420, 421, 422, 423, 424, 0,
- 425, 0, 427, 428, 734, 429, 1347, 431, 0, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 0,
- 0, 443, 444, 0, 445, 446, 447, 448, 449, 450,
- 0, 1348, 1349, 0, 0, 453, 0, 455, 0, 0,
- 457, 458, 459, 460, 461, 462, 463, 0, 0, 464,
- 465, 466, 467, 468, 0, 0, 469, 470, 471, 472,
- 473, 0, 1350, 0, 476, 735, 477, 478, 479, 0,
- 0, 480, 0, 0, 481, 482, 483, 484, 485, 0,
- 1330, 0, 0, 0, 0, 0, 0, 0, 495, 496,
- 497, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 209, 210, 211, 0, 0, 0, 0, 0, 0, 0,
- 212, 213, 0, 214, 215, 713, 216, 217, 218, 0,
- 0, 714, 0, 0, 0, 223, 224, 225, 226, 227,
- 0, 0, 228, 229, 0, 0, 232, 0, 233, 234,
- 235, 236, 0, 0, 715, 0, 238, 239, 240, 241,
- 716, 242, 243, 0, 244, 245, 246, 247, 248, 249,
- 0, 717, 250, 251, 0, 0, 0, 718, 0, 0,
- 0, 252, 253, 254, 255, 256, 257, 0, 0, 260,
- 0, 261, 0, 262, 263, 264, 265, 266, 0, 267,
- 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
- 275, 276, 277, 0, 278, 279, 0, 280, 281, 282,
- 283, 0, 285, 286, 287, 0, 0, 289, 0, 290,
- 0, 292, 0, 293, 0, 294, 719, 0, 720, 295,
- 296, 297, 0, 298, 0, 0, 300, 0, 301, 302,
- 303, 304, 305, 721, 306, 307, 308, 0, 309, 310,
- 311, 312, 313, 314, 0, 315, 722, 0, 317, 318,
- 319, 320, 0, 0, 0, 0, 0, 324, 723, 724,
- 325, 725, 326, 327, 328, 329, 330, 331, 332, 0,
- 333, 0, 726, 335, 727, 0, 336, 337, 338, 0,
- 0, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 0, 728, 0, 353, 354, 0, 0,
- 356, 357, 729, 358, 0, 0, 360, 0, 362, 363,
- 364, 0, 365, 0, 0, 366, 367, 368, 0, 0,
- 0, 730, 731, 732, 0, 371, 372, 373, 374, 375,
- 376, 377, 0, 378, 0, 380, 0, 382, 383, 384,
- 0, 385, 386, 387, 388, 389, 390, 391, 0, 393,
- 394, 395, 396, 0, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 0, 407, 408, 733, 409, 410,
- 0, 412, 413, 414, 415, 416, 417, 418, 419, 0,
- 420, 421, 422, 423, 424, 0, 425, 0, 427, 428,
- 734, 429, 0, 431, 0, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 0, 0, 443, 444, 0,
- 445, 446, 447, 448, 449, 450, 0, 0, 0, 0,
- 0, 453, 0, 455, 0, 0, 457, 458, 459, 460,
- 461, 462, 463, 0, 0, 464, 465, 466, 467, 468,
- 0, 0, 469, 470, 471, 472, 473, 0, 0, 0,
- 476, 735, 477, 478, 479, 0, 0, 480, 0, 0,
- 481, 482, 483, 484, 485, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 495, 496, 497
-};
-
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-3866)))
-
-#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-2163)))
-
-static const yytype_int16 yycheck[] =
-{
- 0, 0, 0, 0, 0, 0, 47, 16, 164, 524,
- 184, 11, 33, 888, 21, 24, 925, 706, 659, 26,
- 20, 737, 20, 617, 618, 619, 896, 711, 1207, 623,
- 892, 1212, 961, 7, 947, 1107, 1173, 797, 1346, 1495,
- 14, 1032, 776, 780, 759, 1596, 21, 47, 832, 565,
- 172, 26, 567, 569, 788, 12, 2199, 1109, 180, 974,
- 850, 42, 181, 579, 1216, 551, 1565, 186, 1303, 859,
- 666, 1003, 1004, 22, 1225, 1212, 195, 41, 1107, 17,
- 1579, 2357, 1363, 2481, 33, 2755, 1399, 1929, 1160, 2531,
- 1022, 2533, 516, 1207, 1384, 879, 1384, 2962, 779, 20,
- 1384, 782, 1384, 837, 1156, 1384, 840, 1531, 1384, 790,
- 916, 845, 1757, 1976, 2676, 1267, 2179, 2658, 852, 2694,
- 1130, 1272, 1273, 2355, 3047, 1887, 1888, 861, 1627, 2353,
- 2354, 1160, 1259, 2406, 3244, 2676, 560, 3265, 2996, 1452,
- 3003, 0, 3226, 586, 0, 151, 166, 0, 0, 1199,
- 2935, 2936, 0, 1160, 2290, 3659, 38, 3467, 166, 2974,
- 2868, 753, 1107, 1401, 788, 9, 166, 703, 2930, 703,
- 51, 0, 44, 1408, 11, 0, 662, 2680, 2681, 2682,
- 2683, 2684, 2685, 3207, 5, 31, 0, 5, 11, 0,
- 51, 105, 903, 58, 3905, 66, 5, 0, 3886, 5,
- 5, 35, 18, 914, 13, 37, 2021, 13, 5, 79,
- 925, 5, 22, 36, 103, 1160, 13, 150, 2060, 29,
- 992, 993, 72, 35, 37, 105, 190, 145, 0, 2351,
- 150, 5, 51, 96, 5, 22, 830, 9, 3898, 5,
- 58, 22, 29, 66, 1050, 25, 1018, 5, 108, 5,
- 22, 5, 5, 5, 150, 170, 3788, 182, 151, 0,
- 5, 189, 22, 188, 58, 4, 2483, 68, 9, 5,
- 9, 196, 242, 150, 9, 76, 2412, 2399, 127, 193,
- 83, 22, 103, 3791, 2126, 246, 2128, 242, 150, 64,
- 275, 230, 122, 259, 1366, 3, 4, 5, 5, 163,
- 815, 9, 242, 9, 120, 60, 110, 3170, 4, 245,
- 70, 158, 152, 9, 51, 247, 3858, 77, 232, 96,
- 34, 150, 219, 183, 290, 150, 26, 27, 272, 150,
- 319, 115, 18, 117, 1094, 1051, 150, 1366, 24, 150,
- 0, 170, 22, 4208, 104, 170, 5, 22, 32, 29,
- 524, 142, 155, 319, 4042, 219, 170, 3865, 1349, 170,
- 1076, 78, 252, 106, 392, 141, 280, 3812, 259, 152,
- 392, 68, 384, 5, 834, 130, 1382, 1092, 150, 76,
- 32, 897, 1097, 1098, 424, 76, 3890, 39, 428, 511,
- 1846, 3836, 147, 567, 1400, 103, 11, 180, 170, 290,
- 117, 5, 430, 522, 1336, 1337, 5, 526, 430, 150,
- 354, 4276, 1344, 310, 174, 296, 30, 18, 537, 309,
- 68, 1366, 11, 83, 167, 295, 912, 111, 319, 170,
- 279, 68, 208, 555, 120, 296, 1311, 953, 229, 428,
- 115, 426, 564, 11, 103, 1315, 310, 963, 3472, 149,
- 394, 151, 68, 230, 301, 169, 426, 156, 242, 975,
- 426, 197, 3970, 424, 396, 305, 4008, 428, 36, 408,
- 245, 426, 3980, 108, 1189, 352, 2693, 296, 1530, 342,
- 188, 255, 1197, 4143, 927, 266, 426, 2990, 8, 103,
- 426, 11, 978, 426, 297, 155, 376, 506, 66, 2256,
- 2257, 961, 430, 211, 2261, 339, 1187, 4195, 426, 3071,
- 430, 4199, 372, 293, 364, 430, 430, 327, 273, 120,
- 360, 1255, 1306, 1257, 413, 305, 4237, 339, 1265, 1601,
- 3071, 352, 1247, 426, 430, 1250, 1251, 1327, 1590, 352,
- 327, 1301, 551, 552, 2301, 2302, 587, 379, 4236, 430,
- 706, 352, 3662, 424, 426, 4087, 372, 428, 388, 296,
- 430, 426, 1334, 1335, 345, 383, 347, 505, 430, 430,
- 374, 1343, 1601, 1486, 1882, 335, 356, 426, 383, 504,
- 426, 425, 1634, 589, 509, 422, 586, 587, 586, 392,
- 1324, 598, 413, 600, 1456, 602, 2438, 1312, 3461, 422,
- 429, 608, 191, 1089, 429, 237, 3630, 428, 426, 1125,
- 1891, 1147, 367, 1147, 1206, 429, 3324, 426, 429, 1243,
- 426, 426, 631, 598, 427, 600, 429, 602, 585, 426,
- 4134, 1493, 426, 608, 609, 610, 3451, 297, 612, 3401,
- 1502, 815, 651, 3405, 3219, 417, 418, 327, 393, 658,
- 170, 3675, 661, 662, 663, 426, 1601, 429, 424, 3969,
- 426, 352, 428, 3238, 628, 8, 587, 412, 426, 2945,
- 426, 191, 426, 426, 426, 695, 417, 418, 417, 418,
- 802, 426, 417, 418, 384, 3188, 393, 695, 429, 290,
- 812, 426, 4196, 430, 1154, 695, 392, 697, 697, 697,
- 697, 697, 697, 1941, 352, 412, 1858, 1418, 1887, 417,
- 418, 417, 418, 638, 1895, 352, 1427, 681, 2950, 426,
- 1431, 417, 418, 1529, 1239, 1531, 1437, 1438, 248, 333,
- 334, 430, 392, 1805, 659, 1541, 352, 372, 2500, 1545,
- 2502, 16, 1140, 5, 1455, 867, 710, 1553, 1554, 5,
- 8, 103, 677, 11, 103, 96, 96, 2256, 2257, 3783,
- 1566, 1567, 2261, 11, 685, 51, 3790, 427, 3, 429,
- 96, 1577, 96, 698, 159, 108, 1805, 1237, 660, 5,
- 18, 150, 664, 98, 759, 1557, 1558, 292, 752, 18,
- 152, 8, 96, 103, 11, 2637, 2638, 129, 1805, 413,
- 252, 159, 2301, 2302, 419, 420, 421, 422, 2930, 132,
- 424, 1405, 426, 427, 428, 2366, 430, 2632, 232, 230,
- 2635, 2636, 831, 3755, 2639, 3757, 1876, 107, 417, 418,
- 419, 420, 421, 422, 2649, 23, 95, 22, 697, 141,
- 75, 697, 2978, 1915, 697, 697, 1918, 1307, 163, 697,
- 183, 419, 420, 421, 422, 187, 150, 132, 1499, 1500,
- 1805, 153, 151, 159, 278, 246, 1326, 145, 3977, 3978,
- 74, 1587, 230, 83, 352, 2056, 342, 3275, 3000, 132,
- 232, 74, 120, 105, 303, 106, 248, 392, 237, 1918,
- 125, 120, 744, 413, 414, 415, 2658, 417, 418, 419,
- 420, 421, 422, 912, 219, 248, 208, 222, 112, 196,
- 190, 1371, 1428, 3, 2676, 5, 925, 842, 4028, 112,
- 252, 1436, 232, 1439, 4052, 430, 2105, 927, 108, 927,
- 115, 20, 870, 191, 230, 1451, 788, 862, 863, 864,
- 175, 152, 244, 191, 230, 155, 167, 26, 27, 958,
- 925, 40, 430, 372, 250, 307, 930, 3742, 932, 218,
- 934, 220, 936, 1423, 938, 939, 940, 378, 2095, 978,
- 1915, 945, 261, 1918, 191, 237, 1492, 258, 430, 312,
- 1496, 237, 1498, 352, 3746, 1501, 986, 108, 83, 3751,
- 248, 2753, 3754, 378, 74, 310, 184, 3860, 321, 120,
- 1424, 342, 342, 183, 83, 3675, 1006, 102, 98, 1050,
- 296, 237, 316, 307, 292, 237, 342, 3949, 342, 1462,
- 378, 259, 314, 102, 74, 4135, 42, 952, 303, 264,
- 259, 248, 112, 319, 366, 324, 1036, 248, 133, 372,
- 354, 1752, 144, 1052, 413, 5, 321, 5, 1563, 974,
- 1050, 343, 290, 1062, 133, 4164, 260, 3499, 4142, 428,
- 252, 290, 112, 1072, 272, 1239, 8, 260, 321, 11,
- 413, 414, 415, 163, 417, 418, 419, 420, 421, 422,
- 1089, 319, 378, 1092, 1093, 11, 28, 98, 1097, 1098,
- 319, 385, 407, 2850, 76, 184, 2853, 2854, 2855, 2856,
- 2857, 2858, 2859, 2860, 2861, 2862, 103, 303, 4031, 3967,
- 36, 2043, 1118, 1133, 1134, 352, 1136, 1092, 3981, 52,
- 4144, 103, 1097, 1098, 335, 1133, 1134, 60, 1136, 219,
- 365, 426, 222, 1133, 1134, 107, 1136, 392, 373, 1599,
- 66, 376, 346, 103, 44, 103, 354, 3423, 377, 270,
- 166, 96, 163, 346, 170, 2912, 2913, 3433, 103, 417,
- 418, 419, 420, 421, 422, 97, 268, 1565, 1287, 417,
- 418, 419, 420, 421, 422, 430, 3449, 191, 1103, 359,
- 260, 1579, 1972, 74, 3946, 1149, 394, 3419, 154, 95,
- 3414, 207, 372, 430, 94, 301, 413, 414, 415, 3431,
- 417, 418, 419, 420, 421, 422, 303, 153, 219, 2281,
- 260, 222, 0, 1894, 1189, 2287, 2497, 312, 190, 313,
- 310, 112, 1197, 2504, 60, 1150, 4091, 4092, 60, 1944,
- 426, 4094, 246, 312, 331, 427, 280, 1952, 430, 1954,
- 76, 173, 3305, 252, 2119, 211, 1184, 342, 342, 191,
- 232, 429, 2281, 3815, 1263, 105, 374, 1232, 2287, 2129,
- 1941, 2123, 1436, 342, 1383, 191, 346, 373, 430, 175,
- 159, 103, 1247, 133, 3815, 1250, 1251, 321, 211, 3401,
- 1399, 1962, 182, 3405, 11, 380, 1211, 232, 2078, 2079,
- 2080, 2081, 386, 1218, 130, 1417, 346, 392, 3873, 310,
- 2090, 380, 1266, 4166, 1426, 384, 248, 323, 426, 3071,
- 1991, 147, 218, 392, 220, 312, 3131, 407, 259, 374,
- 2499, 1246, 3137, 3138, 3139, 3140, 3141, 3142, 372, 2113,
- 230, 426, 1847, 1452, 259, 2791, 2281, 1312, 275, 66,
- 2985, 230, 2287, 193, 18, 342, 259, 426, 241, 290,
- 24, 2850, 4217, 1278, 2853, 2854, 2855, 2856, 2857, 2858,
- 2859, 2860, 2861, 2862, 2374, 290, 305, 1292, 314, 260,
- 259, 426, 8, 1495, 3237, 11, 1385, 1893, 319, 345,
- 1305, 347, 232, 380, 2883, 2499, 1810, 332, 106, 1563,
- 335, 1243, 28, 4256, 319, 392, 407, 343, 105, 2823,
- 232, 290, 57, 58, 370, 237, 319, 2118, 308, 341,
- 342, 374, 309, 2912, 2913, 426, 362, 356, 427, 2225,
- 2710, 430, 2710, 2134, 2135, 145, 2710, 2138, 2710, 426,
- 280, 2710, 2584, 2144, 2710, 155, 313, 273, 145, 1899,
- 3282, 273, 3284, 3200, 4019, 197, 120, 18, 2575, 167,
- 170, 352, 312, 24, 286, 346, 2171, 426, 170, 2531,
- 2532, 2533, 1462, 426, 1462, 342, 259, 2780, 2274, 120,
- 177, 413, 414, 415, 4144, 417, 418, 419, 420, 421,
- 422, 426, 342, 356, 354, 1937, 3762, 3763, 131, 378,
- 2201, 417, 418, 419, 420, 421, 422, 290, 1472, 2305,
- 1474, 1522, 1476, 5, 1478, 3, 1480, 9, 3906, 386,
- 1484, 1935, 11, 1513, 1513, 1513, 1513, 1513, 1513, 8,
- 380, 19, 11, 230, 394, 232, 319, 115, 171, 117,
- 2443, 367, 392, 290, 2340, 367, 1461, 36, 1990, 28,
- 145, 1550, 1463, 3985, 1508, 292, 413, 4, 60, 120,
- 3693, 139, 9, 321, 66, 191, 76, 392, 393, 305,
- 165, 428, 319, 49, 76, 290, 426, 66, 1543, 1544,
- 75, 2031, 1521, 2505, 1499, 1500, 1551, 75, 290, 299,
- 1555, 1556, 294, 2655, 129, 259, 2531, 2532, 2533, 2740,
- 1528, 103, 2743, 105, 319, 1570, 141, 1572, 2468, 250,
- 145, 103, 427, 2675, 372, 430, 1606, 319, 312, 95,
- 356, 115, 248, 117, 3371, 3372, 290, 393, 1593, 124,
- 1595, 250, 2108, 115, 3746, 117, 2655, 125, 105, 3751,
- 259, 2845, 3754, 3184, 154, 3778, 412, 3780, 342, 1648,
- 3482, 3483, 187, 294, 232, 319, 2675, 139, 393, 237,
- 426, 2167, 2367, 173, 242, 2869, 2142, 344, 154, 4057,
- 305, 290, 3784, 208, 294, 177, 259, 412, 319, 279,
- 425, 309, 170, 1847, 2458, 430, 380, 175, 150, 307,
- 392, 426, 1801, 259, 80, 3961, 172, 1806, 259, 319,
- 1809, 211, 191, 192, 304, 200, 201, 290, 170, 244,
- 177, 3200, 191, 307, 1629, 392, 393, 252, 393, 214,
- 2655, 356, 1831, 1638, 290, 211, 344, 20, 1840, 290,
- 232, 38, 426, 173, 1846, 237, 105, 412, 232, 2189,
- 2675, 251, 218, 165, 220, 2446, 235, 40, 242, 426,
- 344, 73, 59, 3024, 230, 237, 1865, 2484, 319, 2390,
- 242, 145, 48, 230, 259, 232, 385, 3572, 3573, 248,
- 309, 273, 151, 1770, 392, 393, 264, 426, 2364, 3004,
- 358, 165, 258, 1892, 286, 2512, 3898, 413, 414, 415,
- 368, 417, 418, 419, 420, 421, 422, 197, 392, 393,
- 179, 9, 1792, 1792, 1815, 1770, 1817, 1916, 426, 2273,
- 280, 2275, 2276, 301, 2485, 194, 2719, 2322, 2519, 295,
- 2521, 291, 427, 2885, 193, 430, 205, 1936, 3369, 426,
- 1939, 366, 426, 246, 3946, 345, 246, 347, 1753, 259,
- 1755, 251, 430, 1754, 8, 315, 356, 11, 1957, 344,
- 2892, 346, 340, 427, 330, 426, 430, 367, 1967, 345,
- 370, 347, 11, 232, 28, 367, 2885, 48, 2256, 2257,
- 290, 1980, 1871, 2261, 294, 290, 358, 365, 427, 294,
- 1989, 430, 3371, 3372, 370, 373, 368, 36, 376, 5,
- 3032, 2872, 2873, 141, 10, 303, 304, 145, 8, 319,
- 386, 11, 18, 1857, 319, 2810, 38, 2608, 3049, 3050,
- 409, 280, 2613, 2301, 2302, 141, 84, 66, 34, 145,
- 427, 300, 193, 430, 2430, 2431, 249, 2433, 417, 418,
- 419, 420, 421, 422, 413, 414, 415, 428, 417, 418,
- 419, 420, 421, 422, 2986, 303, 304, 600, 601, 602,
- 2885, 2816, 605, 606, 607, 249, 312, 326, 3705, 246,
- 208, 425, 615, 259, 2688, 345, 430, 347, 3150, 307,
- 3152, 8, 392, 3155, 11, 3157, 246, 392, 1977, 1944,
- 2456, 251, 208, 151, 3731, 3732, 342, 1952, 21, 1954,
- 345, 2910, 347, 26, 290, 18, 244, 1912, 294, 36,
- 129, 24, 392, 393, 3066, 42, 344, 307, 3070, 2459,
- 3072, 179, 141, 424, 2013, 426, 145, 428, 244, 2667,
- 2668, 2669, 2021, 319, 380, 352, 194, 191, 421, 66,
- 4163, 4143, 145, 426, 3839, 428, 392, 205, 3870, 427,
- 2814, 64, 430, 421, 344, 246, 84, 3218, 426, 1581,
- 428, 3070, 1584, 3072, 392, 393, 409, 427, 187, 227,
- 430, 2567, 2763, 3815, 249, 307, 2767, 2768, 3366, 2770,
- 426, 2772, 2773, 427, 38, 2040, 430, 307, 2077, 208,
- 2781, 191, 427, 2879, 248, 430, 410, 411, 426, 3258,
- 113, 2203, 392, 393, 965, 966, 2208, 120, 3001, 3002,
- 123, 44, 344, 2102, 2554, 409, 2556, 2097, 2097, 2108,
- 2811, 193, 2817, 151, 344, 244, 3243, 2064, 3040, 3694,
- 3695, 3696, 3697, 252, 419, 2709, 426, 234, 426, 166,
- 428, 3066, 300, 170, 149, 3070, 427, 3072, 248, 430,
- 430, 179, 85, 2142, 427, 426, 2061, 430, 3900, 427,
- 392, 393, 175, 427, 191, 192, 194, 48, 2322, 2609,
- 150, 427, 392, 393, 430, 427, 109, 205, 430, 427,
- 207, 427, 430, 3920, 430, 427, 427, 427, 430, 430,
- 430, 124, 189, 2633, 426, 128, 319, 427, 427, 227,
- 430, 430, 424, 426, 426, 2701, 426, 2703, 235, 426,
- 428, 428, 2952, 146, 395, 312, 2171, 230, 246, 232,
- 345, 248, 347, 2689, 2360, 2691, 3705, 426, 161, 242,
- 2384, 427, 134, 427, 430, 3714, 430, 250, 3769, 427,
- 426, 307, 430, 2939, 428, 342, 259, 366, 427, 2351,
- 134, 430, 3731, 3732, 427, 392, 393, 430, 3147, 413,
- 414, 415, 134, 417, 418, 419, 420, 421, 422, 145,
- 233, 234, 300, 2942, 2943, 134, 427, 290, 344, 430,
- 345, 294, 347, 380, 2305, 928, 2752, 427, 931, 429,
- 933, 246, 935, 2789, 937, 392, 323, 2399, 941, 2739,
- 427, 2391, 2392, 430, 237, 424, 319, 427, 427, 428,
- 430, 307, 245, 2809, 414, 415, 2415, 417, 418, 419,
- 420, 421, 422, 206, 2764, 2305, 392, 393, 105, 426,
- 427, 18, 429, 427, 374, 427, 430, 24, 430, 2319,
- 427, 8, 246, 430, 11, 278, 374, 427, 344, 312,
- 430, 427, 427, 427, 430, 430, 430, 426, 2338, 427,
- 426, 28, 430, 427, 377, 427, 430, 427, 430, 36,
- 430, 2351, 427, 427, 429, 42, 430, 64, 2367, 342,
- 700, 2402, 702, 3415, 2345, 2346, 2347, 414, 415, 2829,
- 417, 418, 419, 420, 421, 422, 392, 393, 241, 66,
- 2380, 2380, 2380, 2380, 2380, 2380, 309, 3124, 427, 2849,
- 2365, 430, 2367, 427, 3446, 427, 430, 380, 430, 2399,
- 3856, 427, 2402, 197, 430, 427, 113, 426, 430, 392,
- 426, 60, 427, 120, 2874, 430, 123, 8, 31, 2344,
- 11, 3920, 427, 427, 392, 430, 430, 3499, 232, 395,
- 427, 2550, 3147, 430, 427, 38, 427, 430, 2557, 430,
- 3406, 426, 3408, 426, 0, 36, 427, 2456, 3377, 430,
- 2910, 42, 2850, 38, 361, 2853, 2854, 2855, 2856, 2857,
- 2858, 2859, 2860, 2861, 2862, 2390, 427, 427, 175, 430,
- 430, 427, 259, 427, 430, 66, 430, 3267, 427, 166,
- 145, 430, 134, 170, 2658, 2883, 427, 427, 427, 430,
- 430, 430, 73, 427, 427, 3674, 430, 430, 21, 276,
- 134, 426, 2676, 134, 191, 192, 395, 134, 2627, 134,
- 430, 134, 3584, 134, 2912, 2913, 134, 246, 134, 134,
- 207, 246, 134, 230, 134, 232, 134, 83, 2537, 342,
- 31, 54, 426, 206, 145, 242, 246, 146, 145, 426,
- 5, 5, 426, 250, 67, 232, 426, 3353, 235, 145,
- 426, 426, 259, 269, 3499, 3584, 2565, 80, 426, 426,
- 426, 248, 5, 5, 251, 426, 426, 426, 3279, 426,
- 426, 426, 426, 129, 5, 426, 3287, 3288, 5, 170,
- 426, 426, 3297, 290, 426, 141, 426, 294, 426, 145,
- 426, 426, 426, 426, 150, 118, 426, 426, 256, 155,
- 191, 192, 158, 430, 160, 31, 86, 206, 31, 145,
- 145, 244, 319, 319, 352, 352, 307, 428, 352, 352,
- 352, 307, 352, 2632, 147, 352, 2635, 2636, 76, 152,
- 2639, 187, 307, 311, 134, 203, 323, 352, 352, 3584,
- 2649, 246, 237, 352, 235, 2654, 68, 373, 246, 2658,
- 175, 426, 208, 242, 352, 352, 426, 248, 76, 430,
- 97, 2780, 259, 374, 352, 48, 374, 2676, 352, 2791,
- 377, 352, 48, 352, 250, 2794, 352, 3586, 352, 37,
- 2689, 3594, 2691, 2658, 352, 352, 37, 307, 244, 352,
- 2665, 2666, 21, 2812, 430, 2670, 252, 352, 352, 246,
- 395, 2676, 246, 191, 426, 3221, 3222, 392, 426, 426,
- 31, 383, 30, 2722, 20, 134, 232, 103, 374, 214,
- 386, 426, 242, 385, 232, 248, 413, 414, 415, 2704,
- 417, 418, 419, 420, 421, 422, 31, 145, 425, 68,
- 31, 297, 2751, 2752, 431, 197, 426, 3884, 308, 134,
- 134, 3467, 374, 276, 134, 374, 134, 134, 241, 352,
- 236, 150, 2762, 2762, 388, 3225, 8, 3478, 97, 11,
- 2695, 350, 409, 426, 224, 426, 3292, 3293, 3294, 224,
- 3709, 11, 430, 350, 307, 319, 342, 426, 426, 118,
- 313, 352, 354, 316, 36, 2720, 150, 427, 3509, 3510,
- 42, 430, 3200, 2728, 164, 164, 187, 2732, 2930, 426,
- 366, 247, 242, 352, 352, 374, 430, 307, 147, 342,
- 75, 2746, 307, 152, 66, 348, 417, 418, 419, 420,
- 421, 422, 426, 389, 374, 391, 392, 237, 361, 427,
- 430, 237, 2817, 195, 426, 195, 352, 3581, 309, 197,
- 237, 246, 38, 326, 3565, 3566, 253, 245, 352, 18,
- 430, 352, 290, 386, 280, 24, 307, 316, 424, 198,
- 352, 427, 428, 429, 4053, 352, 191, 31, 3000, 2920,
- 191, 191, 374, 191, 191, 2810, 128, 2896, 374, 2930,
- 245, 413, 30, 426, 424, 424, 352, 3071, 352, 352,
- 426, 352, 413, 134, 316, 64, 145, 147, 3027, 242,
- 316, 426, 134, 3985, 392, 246, 246, 3377, 162, 162,
- 2920, 145, 3437, 31, 166, 134, 246, 246, 170, 145,
- 2930, 430, 170, 170, 316, 170, 395, 3850, 19, 156,
- 2949, 2922, 2923, 2924, 2925, 221, 430, 276, 246, 191,
- 192, 430, 48, 3759, 113, 241, 197, 427, 427, 427,
- 150, 120, 263, 342, 123, 207, 150, 427, 3679, 427,
- 3681, 3682, 301, 3371, 3372, 430, 255, 409, 307, 352,
- 427, 3692, 389, 427, 313, 3104, 13, 427, 3107, 427,
- 13, 426, 3921, 235, 427, 409, 389, 297, 427, 246,
- 208, 426, 2927, 2928, 2929, 380, 248, 427, 413, 173,
- 427, 134, 427, 342, 427, 344, 175, 427, 352, 246,
- 3480, 249, 426, 426, 395, 352, 352, 237, 3544, 3545,
- 181, 3547, 361, 134, 134, 352, 250, 3631, 208, 264,
- 3985, 264, 216, 371, 216, 216, 307, 352, 3508, 352,
- 352, 307, 319, 352, 307, 352, 352, 386, 352, 3988,
- 3520, 307, 3071, 3992, 3993, 352, 134, 352, 352, 352,
- 37, 230, 352, 232, 191, 191, 191, 191, 191, 3088,
- 3087, 323, 3091, 242, 3093, 191, 191, 3, 424, 427,
- 3774, 250, 31, 222, 292, 310, 3071, 4006, 208, 413,
- 259, 361, 427, 96, 3564, 427, 430, 430, 3117, 3118,
- 392, 50, 3087, 426, 3989, 427, 246, 245, 31, 3925,
- 3990, 159, 3131, 352, 374, 374, 307, 307, 3137, 3138,
- 3139, 3140, 3141, 3142, 3996, 294, 3998, 430, 3147, 307,
- 249, 132, 3151, 82, 132, 191, 424, 126, 150, 11,
- 145, 385, 427, 427, 427, 427, 58, 426, 150, 427,
- 319, 426, 4234, 427, 430, 427, 31, 426, 158, 427,
- 427, 247, 3147, 145, 374, 417, 418, 419, 420, 421,
- 422, 3190, 3191, 3192, 3193, 3160, 3161, 374, 361, 352,
- 426, 352, 181, 145, 361, 352, 3171, 352, 137, 352,
- 307, 427, 66, 3914, 307, 4234, 427, 427, 96, 4281,
- 191, 361, 195, 191, 427, 3190, 427, 4289, 377, 425,
- 425, 145, 426, 392, 427, 176, 22, 23, 430, 168,
- 395, 27, 71, 430, 430, 31, 32, 33, 426, 35,
- 344, 352, 38, 39, 427, 41, 3255, 43, 3889, 3709,
- 316, 155, 4281, 150, 3254, 3254, 191, 3968, 197, 191,
- 4289, 191, 3187, 3437, 203, 191, 150, 427, 426, 285,
- 3785, 3960, 48, 194, 430, 4081, 194, 254, 427, 3401,
- 427, 3206, 427, 3405, 426, 426, 48, 160, 390, 4234,
- 4001, 390, 427, 232, 427, 242, 430, 352, 150, 392,
- 66, 413, 361, 3228, 3313, 3820, 175, 3705, 237, 237,
- 430, 430, 352, 134, 191, 413, 3714, 110, 237, 152,
- 150, 374, 3297, 374, 31, 388, 121, 96, 425, 316,
- 392, 426, 392, 3731, 3732, 150, 4281, 426, 178, 249,
- 150, 426, 426, 285, 4289, 379, 426, 4222, 427, 329,
- 427, 0, 194, 426, 391, 294, 262, 427, 427, 298,
- 246, 286, 427, 392, 145, 304, 352, 31, 426, 426,
- 237, 217, 311, 173, 426, 133, 172, 173, 174, 175,
- 319, 177, 178, 427, 180, 181, 182, 250, 184, 328,
- 186, 48, 188, 304, 190, 304, 3515, 336, 194, 195,
- 196, 3401, 426, 48, 252, 3405, 426, 230, 3527, 8,
- 374, 246, 11, 344, 140, 249, 277, 60, 60, 116,
- 378, 430, 379, 3939, 31, 3434, 285, 150, 389, 28,
- 283, 145, 392, 3949, 83, 121, 175, 36, 3459, 246,
- 246, 31, 426, 42, 3444, 3444, 3453, 249, 387, 303,
- 249, 427, 391, 392, 427, 426, 48, 108, 372, 303,
- 426, 3921, 17, 3388, 3389, 3390, 3391, 66, 28, 277,
- 133, 426, 1290, 2063, 755, 2367, 1925, 2512, 3453, 697,
- 129, 1984, 3070, 2654, 4000, 3842, 3584, 4006, 3650, 3879,
- 3247, 3951, 141, 3884, 1098, 3624, 145, 2437, 3505, 4093,
- 3888, 150, 2159, 4170, 3784, 4216, 155, 4221, 4126, 158,
- 4125, 160, 4185, 2441, 3651, 4029, 3211, 2054, 2054, 3066,
- 2532, 1386, 3920, 3216, 3218, 2049, 2721, 4226, 3988, 4281,
- 3505, 4289, 3992, 3993, 2675, 2660, 4192, 3822, 187, 1378,
- 4104, 4178, 3825, 3518, 3519, 26, 3966, 3256, 3523, 3524,
- 3300, 4053, 954, 1888, 3258, 552, 4072, 2611, 4204, 208,
- 4283, 0, 4021, 3572, 3573, 1754, 1463, 166, 1755, 2380,
- 3240, 170, 3445, 2983, 4089, 1124, 2381, 3586, 1790, 1143,
- 2393, 3590, 676, 3592, 1142, 2387, 3595, 3596, 1145, 1789,
- 1773, 2407, 191, 192, 2930, 244, 2399, 689, 3947, 3606,
- 3407, 1149, 3758, 252, 2984, 2895, 681, 3923, 207, 4157,
- 2887, 3785, 4158, 2030, 4161, 2384, 2319, 2317, 2227, 2979,
- 1630, -1, -1, -1, 3746, -1, -1, -1, -1, 3751,
- -1, 3606, 3754, 232, -1, -1, 235, 3646, -1, -1,
- -1, 3815, -1, -1, 83, -1, 3820, -1, 297, 248,
- -1, -1, 251, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3784, -1, 3673, -1, -1, -1, -1, -1,
- -1, 8, -1, -1, 11, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 3694, 3695, 3696, 3697, -1,
- 129, 28, -1, 342, -1, -1, -1, 3819, -1, 36,
- -1, -1, 141, -1, -1, 42, 145, -1, 504, -1,
- -1, 150, -1, 509, -1, 511, 155, 366, 514, 158,
- 516, 160, 518, -1, 323, -1, 522, -1, 524, 66,
- 526, 527, -1, -1, 3856, -1, -1, -1, 534, -1,
- 389, 537, 391, 392, -1, -1, 3746, -1, 187, -1,
- -1, 3751, 3677, -1, 3754, 551, -1, -1, -1, 555,
- -1, -1, -1, -1, 560, -1, -1, -1, 564, 208,
- -1, 567, -1, -1, -1, 424, 3898, -1, 427, 428,
- 429, -1, -1, -1, -1, -1, 582, -1, -1, -1,
- -1, 587, -1, -1, -1, -1, -1, 3771, -1, -1,
- -1, -1, -1, -1, -1, 244, 3815, -1, -1, -1,
- -1, -1, -1, 252, 413, 414, 415, -1, 417, 418,
- 419, 420, 421, 422, 3946, -1, -1, -1, -1, 166,
- 3839, 430, 628, 170, 3843, -1, -1, 31, -1, -1,
- 3815, -1, 638, 639, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 191, 192, 50, -1, 297, -1,
- -1, 657, -1, 659, 660, -1, 662, -1, 664, -1,
- 207, 3871, 3871, -1, -1, -1, -1, -1, -1, -1,
- -1, 677, -1, -1, -1, 681, -1, -1, 82, -1,
- -1, 687, -1, -1, -1, 232, -1, -1, 235, -1,
- -1, -1, 698, 342, -1, -1, -1, -1, -1, -1,
- -1, 248, -1, -1, 710, 4089, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 366, -1, -1,
- -1, -1, -1, -1, 3859, -1, -1, -1, -1, -1,
- -1, -1, -1, 137, -1, 18, 3946, -1, -1, -1,
- 389, 24, 391, 392, -1, -1, 752, -1, -1, -1,
- -1, -1, -1, -1, 3889, 761, 762, -1, -1, -1,
- -1, -1, -1, -1, 168, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, -1, 424, 323, -1, 427, 428,
- 429, 64, -1, -1, -1, -1, -1, 4006, -1, -1,
- -1, -1, -1, 197, -1, -1, 802, -1, -1, 203,
- -1, 4133, -1, -1, -1, -1, 812, -1, -1, 815,
- -1, 4143, 95, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 828, -1, -1, -1, -1, -1, 232, -1,
- 113, -1, -1, -1, -1, -1, 842, 120, -1, -1,
- 123, 4173, 848, 849, 3979, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 862, 863, 864, 865,
- -1, 867, -1, -1, -1, -1, 413, 414, 415, -1,
- 417, 418, 419, 420, 421, 422, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 892, 893, 894, 172,
- 294, -1, 175, -1, 298, -1, -1, -1, -1, -1,
- 304, -1, -1, -1, -1, -1, 912, 311, -1, -1,
- 916, -1, -1, -1, -1, 319, -1, -1, -1, 925,
- -1, -1, -1, 8, 328, -1, 11, -1, -1, -1,
- -1, -1, 336, -1, -1, 218, -1, 220, -1, -1,
- -1, 947, 948, 28, -1, -1, 952, 230, 954, 232,
- -1, 36, -1, 4285, -1, -1, -1, 42, 8, 242,
- -1, 11, -1, -1, -1, 971, -1, 250, 974, -1,
- -1, 977, 978, -1, -1, 258, 259, -1, 28, -1,
- -1, 66, -1, 387, 990, -1, 36, 391, 4239, -1,
- -1, -1, 42, -1, 4204, 4204, 4204, 4204, 4204, 4204,
- -1, -1, -1, -1, -1, -1, -1, 290, -1, -1,
- -1, 294, 295, 1019, -1, 4234, 66, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 4239,
- 4239, 4239, 4239, 4239, 4239, -1, 319, -1, -1, -1,
- -1, 1047, 1048, -1, 1050, -1, -1, 330, -1, 4234,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1067, 4281, -1, -1, -1, -1, -1, -1, -1,
- 4289, -1, -1, 4283, 4283, 4283, 4283, 4283, 4283, -1,
- -1, 166, -1, 1089, -1, 170, -1, -1, -1, -1,
- -1, 1097, 1098, -1, 377, -1, 4281, 1103, -1, -1,
- 1106, -1, -1, -1, 4289, -1, 191, 192, -1, -1,
- -1, -1, -1, -1, -1, -1, 166, -1, -1, -1,
- 170, -1, 207, -1, -1, -1, -1, -1, -1, 1135,
- -1, -1, -1, 1139, 1140, -1, -1, -1, -1, -1,
- -1, 191, 192, 1149, 1150, 1151, -1, 232, -1, -1,
- 235, -1, -1, -1, -1, -1, -1, 207, -1, -1,
- -1, 1167, -1, 248, -1, -1, 251, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 232, -1, -1, 235, -1, -1, -1, -1,
- -1, -1, -1, 1199, -1, -1, -1, -1, 248, -1,
- -1, 251, -1, -1, -1, 1211, 1212, -1, -1, -1,
- -1, -1, 1218, -1, -1, 1221, -1, -1, -1, -1,
- -1, -1, -1, -1, 3, -1, -1, -1, -1, 8,
- -1, -1, 11, 1239, -1, -1, -1, -1, 323, -1,
- 1246, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- -1, -1, 31, -1, -1, -1, -1, 36, -1, -1,
- 1266, -1, -1, 42, 8, -1, -1, 11, 1274, 1275,
- 1276, 1277, 1278, 323, -1, -1, -1, -1, -1, -1,
- -1, 1287, -1, 1289, 28, -1, 1292, 66, -1, -1,
- -1, -1, 36, -1, -1, -1, -1, 1303, 42, 1305,
- -1, -1, -1, -1, -1, -1, -1, 1313, 1314, -1,
- -1, -1, -1, 1319, -1, -1, -1, -1, -1, -1,
- -1, -1, 66, -1, -1, -1, -1, -1, 413, 414,
- 415, -1, 417, 418, 419, 420, 421, 422, -1, -1,
- -1, -1, -1, -1, -1, 430, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1365,
- -1, -1, -1, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, -1, -1, 425, -1, 1383, -1, -1,
- -1, -1, -1, 1389, 1390, 1391, 1392, 166, -1, -1,
- -1, 170, -1, 1399, -1, -1, -1, -1, -1, -1,
- -1, -1, 1408, -1, -1, -1, -1, -1, -1, -1,
- -1, 1417, 191, 192, -1, -1, -1, -1, 1424, -1,
- 1426, -1, 166, -1, -1, -1, 170, -1, 207, -1,
- 1436, -1, -1, -1, -1, 1441, -1, -1, -1, -1,
- -1, -1, -1, -1, 1450, -1, 1452, 191, 192, -1,
- 1456, 1457, -1, 232, -1, 1461, 235, 1463, -1, -1,
- -1, -1, -1, 207, -1, -1, -1, -1, -1, 248,
- -1, -1, 251, -1, -1, -1, -1, -1, -1, -1,
- 1486, -1, -1, -1, -1, -1, -1, 1493, 232, 1495,
- -1, 235, -1, 1499, 1500, -1, 1502, -1, -1, -1,
- -1, -1, 1508, -1, 248, -1, -1, 251, -1, -1,
- -1, -1, -1, -1, -1, 1521, 1522, -1, -1, 1525,
- -1, -1, -1, 1529, -1, 1531, -1, -1, -1, -1,
- -1, -1, 1538, -1, -1, 1541, -1, -1, -1, 1545,
- -1, -1, -1, -1, 323, -1, -1, 1553, 1554, -1,
- -1, -1, -1, -1, -1, 1561, -1, 1563, 1564, 1565,
- 1566, 1567, -1, -1, -1, -1, -1, -1, 1574, 1575,
- -1, 1577, -1, 1579, 1580, -1, -1, 1583, -1, 323,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 1600, -1, -1, -1, 1604, 1605,
- -1, -1, -1, 1609, -1, -1, -1, 1613, -1, 1615,
- 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, -1, 1625,
- -1, -1, -1, 1629, 1630, -1, 1632, -1, -1, -1,
- -1, -1, 1638, -1, 413, 414, 415, -1, 417, 418,
- 419, 420, 421, 422, -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, 413,
- 414, 415, -1, 417, 418, 419, 420, 421, 422, -1,
- -1, -1, -1, 427, -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, 8, -1,
- -1, 11, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
- -1, -1, -1, -1, -1, -1, 36, 1753, -1, 1755,
- -1, 1757, 42, -1, 8, -1, -1, 11, -1, -1,
- -1, -1, -1, -1, 36, -1, -1, -1, -1, -1,
- 42, -1, -1, -1, 28, -1, 66, -1, -1, -1,
- -1, -1, 36, -1, -1, -1, -1, 1793, 42, 1795,
- -1, -1, -1, -1, 66, 1801, -1, -1, -1, -1,
- 1806, -1, -1, 1809, 1810, -1, -1, -1, -1, 1815,
- -1, 1817, 66, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 1831, -1, -1, 1834, -1,
- -1, -1, -1, -1, 1840, -1, 1842, 1843, 1844, -1,
- 1846, 1847, -1, 1849, -1, 1851, -1, 1853, 1854, -1,
- -1, 1857, -1, -1, -1, -1, 128, -1, -1, 1865,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1876, -1, -1, -1, -1, -1, 166, -1, -1, -1,
- 170, -1, -1, -1, -1, -1, 1892, -1, -1, 1895,
- -1, -1, -1, -1, 166, 1901, -1, -1, 170, -1,
- 1906, 191, 192, -1, -1, -1, 1912, -1, -1, -1,
- 1916, -1, 166, -1, -1, -1, 170, 207, -1, 191,
- 192, -1, 1928, 1929, -1, -1, -1, -1, -1, 1935,
- 1936, -1, -1, 1939, -1, 207, -1, 191, 192, -1,
- -1, -1, 232, -1, 1950, 235, -1, -1, -1, -1,
- -1, 1957, -1, 207, -1, -1, 8, -1, 248, 11,
- 50, 1967, -1, 235, -1, -1, -1, -1, -1, -1,
- 1976, -1, 1978, 1979, 1980, -1, 248, -1, 232, -1,
- -1, 235, -1, 1989, 36, -1, -1, -1, -1, -1,
- 42, -1, 82, -1, 248, -1, -1, 251, -1, -1,
- 2006, -1, -1, -1, -1, -1, -1, -1, 2014, 2015,
- 2016, 2017, 2018, 2019, 66, -1, -1, -1, -1, -1,
- -1, -1, -1, 2029, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 323, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 137, -1, -1,
- 2056, 323, -1, -1, 2060, 2061, -1, -1, -1, 2065,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 323,
- -1, -1, -1, -1, -1, -1, 128, 8, 168, -1,
- 11, -1, -1, -1, -1, 2091, -1, -1, -1, -1,
- -1, -1, 2098, 2099, -1, -1, -1, 28, -1, -1,
- -1, -1, 2108, -1, -1, 36, -1, -1, -1, -1,
- -1, 42, -1, 203, 166, -1, -1, 2123, 170, 2125,
- 2126, 2127, 2128, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, -1, -1, 66, 2142, -1, -1, 191,
- 192, 2147, 232, -1, -1, 417, 418, 419, 420, 421,
- 422, -1, -1, 2159, -1, 207, -1, -1, -1, 413,
- 414, 415, -1, 417, 418, 419, 420, 421, 422, 259,
- -1, 2177, -1, 427, -1, -1, -1, -1, -1, 8,
- -1, -1, 11, 235, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2199, -1, -1, 248, 2203, 8, 28,
- 290, 11, 2208, -1, 294, -1, -1, 36, 298, -1,
- -1, -1, 2218, 42, 304, 8, -1, -1, 11, 2225,
- 2226, 311, -1, -1, -1, 2231, 36, -1, -1, 319,
- -1, -1, 42, -1, -1, 166, -1, 66, 328, 170,
- -1, -1, -1, 36, -1, -1, 336, -1, -1, 42,
- 2256, 2257, -1, -1, -1, 2261, 66, -1, -1, -1,
- 191, 192, -1, -1, -1, -1, -1, 2273, 2274, 2275,
- 2276, 323, -1, 66, -1, -1, 207, -1, -1, -1,
- 2286, -1, -1, 2289, -1, 2291, 2292, -1, -1, -1,
- -1, -1, -1, -1, -1, 2301, 2302, 387, -1, 2305,
- -1, 232, -1, -1, 235, -1, -1, -1, -1, -1,
- -1, -1, 2318, -1, 2320, -1, 2322, 248, 2324, -1,
- 251, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 2340, 128, -1, 166, 2344, -1,
- -1, 170, -1, -1, -1, 2351, -1, 2353, 2354, 2355,
- -1, -1, -1, -1, -1, -1, 166, -1, -1, -1,
- 170, 2367, 191, 192, 2370, 417, 418, 419, 420, 421,
- 422, -1, -1, 166, -1, 2381, -1, 170, 207, -1,
- 2386, 191, 192, -1, 2390, -1, -1, 2393, -1, -1,
- -1, -1, 323, 2399, -1, -1, 2402, 207, 191, 192,
- 2406, -1, -1, 232, -1, -1, 235, -1, -1, 2415,
- -1, -1, -1, -1, 207, -1, -1, -1, -1, 248,
- -1, -1, 251, -1, -1, 235, -1, -1, -1, -1,
- 2436, -1, 2438, -1, -1, -1, -1, 2443, 248, -1,
- -1, -1, 235, -1, -1, -1, -1, -1, -1, -1,
- 2456, -1, -1, -1, -1, 248, -1, -1, 2464, -1,
- 2466, 2467, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 8, -1, -1, 11, -1,
- -1, 31, 413, 414, 415, -1, 417, 418, 419, 420,
- 421, 422, -1, -1, 323, -1, 427, -1, -1, -1,
- 50, -1, -1, 36, -1, -1, -1, -1, -1, 42,
- -1, -1, -1, 323, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 323, -1, 82, 66, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 2550, -1, -1, -1, -1, -1,
- -1, 2557, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 7, -1, -1, -1, -1, -1, 13, 14, -1,
- -1, -1, -1, 19, -1, 21, -1, -1, -1, -1,
- 26, -1, 28, -1, 413, 414, 415, 137, 417, 418,
- 419, 420, 421, 422, -1, 128, -1, -1, 427, -1,
- 46, -1, -1, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, -1, -1, -1, -1, -1, 168, -1,
- -1, 2627, -1, -1, 417, 418, 419, 420, 421, 422,
- -1, 2637, 2638, 166, -1, 8, -1, 170, 11, -1,
- -1, -1, -1, -1, -1, -1, -1, 197, -1, 50,
- -1, -1, -1, 203, -1, 28, -1, -1, 191, 192,
- -1, -1, -1, 36, -1, -1, -1, -1, -1, 42,
- -1, -1, -1, -1, 207, -1, -1, -1, -1, -1,
- -1, 82, 232, 2689, -1, 2691, -1, -1, -1, 2695,
- -1, -1, -1, 66, -1, -1, -1, -1, -1, -1,
- -1, -1, 235, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2719, 2720, 248, -1, -1, -1, -1,
- -1, -1, 2728, -1, -1, -1, 2732, -1, -1, -1,
- -1, -1, 178, -1, -1, -1, 137, -1, -1, -1,
- 2746, 187, -1, 189, 294, 191, 2752, 193, 298, -1,
- -1, -1, -1, -1, 304, -1, -1, -1, -1, -1,
- -1, 311, -1, -1, -1, -1, -1, 168, 2774, 319,
- -1, 2777, -1, -1, 2780, -1, -1, -1, 328, -1,
- -1, -1, -1, -1, -1, 2791, 336, -1, 2794, -1,
- 323, -1, -1, 166, -1, -1, -1, 170, -1, -1,
- -1, -1, 203, -1, 2810, -1, 2812, -1, -1, -1,
- -1, -1, 2818, -1, -1, -1, -1, -1, 191, 192,
- 2826, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2836, 232, -1, -1, 207, -1, 2842, 387, 2844, -1,
- -1, 391, -1, -1, 2850, -1, -1, 2853, 2854, 2855,
- 2856, 2857, 2858, 2859, 2860, 2861, 2862, -1, -1, 232,
- 2866, 2867, 235, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2879, -1, 248, -1, 2883, 251, -1,
- -1, 2887, -1, -1, 417, 418, 419, 420, 421, 422,
- -1, 2897, -1, 294, 2900, 296, 2902, 298, -1, -1,
- -1, -1, -1, 304, -1, 2911, 2912, 2913, -1, -1,
- 311, 2917, -1, -1, 2920, -1, -1, -1, 319, -1,
- -1, 2927, 2928, 2929, 2930, 2931, -1, 328, -1, 2935,
- 2936, -1, 18, -1, 2940, 336, -1, -1, 24, -1,
- 2946, -1, 2948, -1, 2950, -1, -1, -1, -1, -1,
- 323, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 49, -1, -1, -1, 2973, -1, -1,
- -1, -1, -1, 2979, -1, -1, -1, 2983, 64, 2985,
- -1, -1, -1, -1, -1, -1, 387, -1, -1, -1,
- -1, -1, -1, -1, 3000, 3001, 3002, -1, 3004, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 95,
- -1, -1, 3018, 3019, 3020, 3021, -1, -1, -1, -1,
- -1, 3027, -1, -1, -1, -1, -1, 113, -1, -1,
- -1, -1, -1, -1, 120, 8, -1, 123, 11, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 3056, -1, -1, -1, 427, -1, -1, -1, -1, -1,
- -1, -1, -1, 36, -1, -1, 512, -1, -1, 42,
- -1, -1, -1, 519, -1, -1, -1, -1, -1, -1,
- -1, -1, 528, 529, -1, -1, 172, 533, -1, 175,
- -1, -1, -1, 66, -1, -1, -1, 543, 3104, -1,
- -1, 3107, -1, -1, -1, -1, -1, -1, -1, -1,
- 556, -1, -1, -1, -1, 3121, -1, -1, -1, -1,
- -1, -1, -1, -1, 570, -1, -1, 573, -1, 575,
- -1, 577, 218, -1, 220, -1, -1, -1, -1, -1,
- -1, 3147, -1, -1, 230, -1, 232, -1, -1, -1,
- -1, -1, -1, -1, -1, 128, 242, -1, -1, -1,
- -1, -1, -1, -1, 250, -1, 612, -1, -1, -1,
- -1, -1, 258, 259, -1, -1, -1, -1, -1, 18,
- -1, 3187, -1, -1, -1, 24, -1, -1, 634, -1,
- 636, -1, 3198, 166, 3200, -1, -1, 170, -1, -1,
- 3206, -1, -1, -1, 290, -1, -1, -1, 294, 295,
- -1, -1, 3218, -1, -1, -1, -1, -1, 191, 192,
- -1, -1, 3228, -1, -1, 64, -1, -1, -1, -1,
- -1, 3237, -1, 319, 207, -1, -1, 3243, -1, -1,
- -1, 3247, -1, 689, 330, -1, -1, -1, -1, -1,
- -1, -1, -1, 3259, 3260, -1, -1, -1, -1, -1,
- -1, -1, 235, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 113, 248, 3282, -1, 3284, 8,
- -1, 120, 11, -1, 123, -1, -1, -1, -1, -1,
- -1, 377, -1, -1, 3300, -1, -1, -1, -1, 28,
- -1, -1, -1, -1, -1, -1, -1, 36, -1, -1,
- 3316, -1, -1, 42, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 175, 66, -1, -1,
- -1, -1, -1, -1, -1, 791, -1, 3353, -1, -1,
- 323, -1, -1, -1, -1, -1, -1, 3363, 3364, -1,
- 806, -1, -1, -1, -1, 3371, 3372, -1, -1, -1,
- 3376, 817, -1, -1, -1, -1, 3382, 3383, 824, -1,
- 3386, -1, 3388, 3389, 3390, 3391, -1, -1, -1, 3395,
- 836, 230, 3398, 232, -1, 3401, -1, -1, -1, 3405,
- -1, -1, -1, 242, -1, 3411, -1, -1, 3414, -1,
- -1, 250, -1, 3419, -1, -1, -1, -1, -1, 3425,
- 259, -1, 868, -1, -1, 3431, -1, -1, -1, -1,
- -1, 3437, -1, -1, -1, -1, -1, 166, -1, 3445,
- -1, 170, -1, 3449, 417, 418, 419, 420, 421, 422,
- -1, 290, -1, 3459, -1, 294, 3462, -1, -1, -1,
- -1, -1, 191, 192, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3482, 3483, 207, -1,
- 319, -1, -1, -1, 930, -1, 932, -1, 934, -1,
- 936, -1, 938, 939, 940, -1, -1, -1, -1, 945,
- 3506, -1, -1, 232, 0, -1, 235, -1, -1, 3515,
- -1, -1, -1, -1, -1, -1, -1, -1, 14, 248,
- -1, 3527, 251, -1, -1, -1, -1, -1, 24, -1,
- 26, 27, -1, -1, -1, -1, -1, -1, 377, -1,
- 3546, -1, -1, -1, -1, 41, -1, -1, -1, -1,
- -1, -1, -1, 18, 3560, -1, -1, -1, -1, 24,
- -1, -1, -1, -1, -1, 61, -1, 63, 64, -1,
- -1, -1, -1, 69, -1, 71, -1, -1, -1, -1,
- 3586, -1, -1, -1, -1, 81, -1, 83, 3594, -1,
- -1, -1, -1, -1, 323, -1, -1, -1, -1, 64,
- -1, -1, -1, 99, -1, -1, 102, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3622, -1, 114, -1,
- 116, -1, -1, -1, 120, -1, -1, -1, -1, -1,
- 126, -1, -1, -1, -1, -1, -1, 133, -1, 135,
- -1, -1, -1, 3649, 3650, 141, -1, -1, 113, -1,
- -1, -1, -1, -1, -1, 120, -1, -1, 123, 155,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3677, -1, -1, -1, -1, -1, -1, 1124, -1,
- -1, -1, -1, -1, 413, 414, 415, 3693, 417, 418,
- 419, 420, 421, 422, -1, -1, -1, -1, 427, 3705,
- -1, -1, -1, -1, -1, -1, -1, -1, 3714, -1,
- 175, -1, -1, 209, 210, -1, -1, -1, -1, 215,
- -1, -1, -1, -1, -1, 3731, 3732, 223, -1, 3735,
- -1, -1, -1, -1, -1, -1, 3742, -1, 234, 1185,
- 3746, -1, -1, -1, -1, 3751, -1, -1, 3754, 3755,
- -1, 3757, -1, 3759, 3760, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 230, -1, 232, -1, -1,
- -1, -1, 3778, -1, 3780, 271, -1, 242, 3784, 3785,
- 3786, 3787, 3788, -1, -1, 250, 282, -1, -1, -1,
- -1, 287, -1, 289, 259, -1, -1, -1, 294, -1,
- -1, -1, -1, 299, -1, -1, 302, -1, -1, -1,
- 306, -1, -1, 3819, 3820, 311, 312, -1, -1, -1,
- -1, -1, -1, 319, -1, 290, 322, -1, -1, 294,
- -1, -1, -1, -1, 330, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3850, -1, 342, -1, -1, -1,
- 3856, -1, -1, 3859, 319, -1, -1, -1, -1, -1,
- -1, -1, -1, 359, 3870, -1, 3872, -1, -1, -1,
- -1, -1, -1, 369, -1, -1, -1, 8, 3884, 375,
- 11, -1, -1, 3889, 380, -1, -1, -1, -1, -1,
- -1, 3897, 3898, -1, -1, -1, 392, 28, -1, -1,
- -1, -1, 18, -1, 8, 36, -1, 11, 24, -1,
- -1, 42, 377, -1, 3920, -1, -1, 3923, -1, 3925,
- -1, -1, 8, -1, 28, 11, -1, -1, 1374, -1,
- 426, -1, 36, 429, -1, 66, 3942, -1, 42, -1,
- 3946, 1387, 28, 3949, -1, -1, -1, -1, 64, 3955,
- 36, -1, -1, -1, -1, -1, 42, -1, -1, -1,
- -1, -1, 66, -1, -1, -1, -1, -1, -1, 3975,
- -1, -1, -1, 3979, -1, -1, -1, -1, -1, 1425,
- 66, -1, -1, 1429, -1, -1, -1, -1, -1, -1,
- 3996, 3997, 3998, 3999, 1440, -1, 1442, 113, 1444, -1,
- 4006, -1, -1, 1449, 120, -1, -1, 123, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 4026, -1, -1, -1, -1, -1, 1472, -1, 1474, -1,
- 1476, -1, 1478, -1, 1480, 166, -1, -1, 1484, 170,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 173, 174, -1, -1, 177, 178, 175,
- 191, 192, 166, -1, -1, -1, 170, -1, -1, -1,
- -1, -1, -1, -1, 194, 4081, 207, -1, -1, -1,
- 166, 4087, -1, 4089, 170, -1, -1, 191, 192, -1,
- -1, -1, 4098, -1, -1, -1, -1, -1, -1, -1,
- -1, 232, -1, 207, 235, 191, 192, -1, -1, -1,
- -1, -1, -1, -1, 230, -1, 232, 248, -1, -1,
- 251, 207, -1, 4129, -1, -1, 242, 4133, 232, -1,
- -1, 235, -1, -1, 250, -1, -1, 4143, -1, -1,
- -1, -1, -1, 259, 248, -1, 232, 251, -1, 235,
- -1, 4157, -1, -1, 4160, 4161, -1, 4163, -1, -1,
- -1, -1, 248, -1, -1, 251, -1, 4173, -1, -1,
- -1, -1, -1, -1, 290, 4181, -1, -1, 294, -1,
- -1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
- -1, -1, 323, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 4208, 319, -1, -1, 28, -1, -1, -1,
- -1, -1, 4218, -1, 36, -1, -1, 4223, -1, 323,
- 42, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 323, -1, -1,
- -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 377, -1, -1, -1, -1, -1, -1, -1, -1,
- 4276, -1, -1, -1, -1, -1, -1, -1, -1, 4285,
- -1, -1, 413, 414, 415, -1, 417, 418, 419, 420,
- 421, 422, -1, -1, -1, -1, 427, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 413,
- 414, 415, -1, 417, 418, 419, 420, 421, 422, -1,
- -1, -1, -1, 427, -1, -1, -1, 413, 414, 415,
- -1, 417, 418, 419, 420, 421, 422, -1, -1, -1,
- -1, 427, -1, -1, 166, -1, -1, 18, 170, -1,
- -1, -1, -1, 24, -1, -1, 1802, 1803, -1, -1,
- -1, 1807, 1808, -1, -1, 1811, -1, -1, -1, 191,
- 192, -1, -1, -1, -1, 1821, -1, -1, -1, -1,
- -1, -1, 1828, -1, -1, 207, 1832, 1833, -1, -1,
- 1836, 1837, 1838, 64, 514, -1, -1, -1, 518, -1,
- -1, -1, 1848, -1, 1850, -1, -1, -1, -1, -1,
- 232, -1, -1, 235, 534, -1, -1, -1, -1, -1,
- 1866, -1, -1, -1, -1, 1871, 248, 8, -1, 251,
- 11, 172, -1, -1, -1, -1, -1, -1, -1, 180,
- -1, -1, 113, -1, -1, 8, -1, 28, 11, 120,
- -1, -1, 123, -1, -1, 36, 1902, 1903, 1904, 1905,
- -1, 42, -1, 1909, 1910, 28, -1, -1, -1, -1,
- -1, 1917, 8, 36, 1920, 11, -1, -1, 1924, 42,
- -1, -1, -1, -1, -1, 66, -1, -1, -1, -1,
- -1, -1, 28, -1, 1940, -1, -1, -1, -1, -1,
- 36, 323, -1, 66, 175, 1951, 42, 1953, -1, -1,
- -1, -1, 1958, -1, -1, -1, -1, 1963, 1964, 1965,
- 1966, -1, 1968, -1, -1, -1, -1, -1, -1, -1,
- 66, -1, -1, -1, -1, 1981, 1982, 1983, -1, -1,
- -1, -1, -1, -1, -1, -1, 1992, 1993, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 230,
- -1, 232, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 242, -1, -1, -1, -1, -1, -1, -1, 250,
- -1, -1, -1, -1, -1, 166, -1, -1, 259, 170,
- -1, 413, 414, 415, -1, 417, 418, 419, 420, 421,
- 422, -1, -1, 166, -1, 427, 2052, 170, -1, -1,
- 191, 192, -1, -1, -1, -1, -1, -1, -1, 290,
- -1, -1, -1, 294, -1, -1, 207, -1, 191, 192,
- 166, -1, -1, -1, 170, -1, -1, -1, -1, -1,
- -1, 761, 762, -1, 207, -1, -1, -1, 319, -1,
- -1, 232, -1, -1, 235, 191, 192, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 248, -1, 232,
- 251, 207, 235, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 248, -1, -1, 251, -1,
- -1, -1, -1, 21, -1, -1, 232, -1, -1, 235,
- -1, -1, -1, -1, -1, 33, 377, -1, 828, -1,
- -1, -1, 248, -1, -1, 251, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 54, -1, 848, 849,
- -1, -1, -1, -1, -1, -1, -1, -1, 8, 67,
- -1, 11, 323, -1, -1, 865, -1, -1, -1, 2195,
- -1, -1, 80, -1, -1, -1, -1, -1, 28, -1,
- 323, -1, -1, -1, -1, -1, 36, -1, -1, 97,
- 511, -1, 42, 893, 894, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 323, -1, -1,
- 118, -1, -1, -1, -1, -1, 66, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 136, -1,
- -1, -1, -1, -1, 555, -1, -1, -1, -1, 147,
- -1, -1, -1, 564, 152, -1, -1, -1, -1, -1,
- 158, -1, 413, 414, 415, -1, 417, 418, 419, 420,
- 421, 422, -1, -1, -1, 173, 427, -1, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- -1, -1, -1, -1, 427, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 145, -1, 413, 414, 415,
- 150, 417, 418, 419, 420, 421, 422, -1, -1, 8,
- -1, 427, 11, -1, -1, -1, 166, -1, -1, -1,
- 170, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- -1, -1, -1, 32, -1, -1, 657, 36, -1, -1,
- 248, 191, 192, 42, -1, -1, -1, -1, -1, -1,
- 258, -1, -1, -1, -1, -1, -1, 207, 8, -1,
- -1, 11, -1, -1, -1, -1, 687, 66, 276, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, -1,
- -1, -1, 232, -1, -1, 235, 36, -1, -1, -1,
- 2416, 2417, 42, 301, -1, -1, -1, 305, 248, 307,
- -1, 251, -1, -1, -1, 313, -1, -1, 316, -1,
- -1, -1, 111, -1, -1, -1, 66, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 342, -1, 344, -1, -1, -1,
- 348, -1, -1, -1, -1, -1, -1, -1, 356, -1,
- 2476, 2477, -1, 361, -1, 2481, -1, -1, -1, -1,
- 2486, 2487, 2488, -1, -1, 373, -1, 166, -1, -1,
- -1, 170, -1, 323, -1, -1, -1, -1, 386, -1,
- -1, 802, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 812, 191, 192, -1, -1, 2522, 2523, 2524, 2525,
- -1, -1, -1, -1, -1, -1, -1, -1, 207, -1,
- -1, -1, -1, 834, -1, -1, 166, -1, -1, -1,
- 170, 1221, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 2558, 232, -1, -1, 235, -1, -1, -1,
- -1, 191, 192, -1, -1, -1, 867, -1, -1, 248,
- -1, -1, 251, -1, -1, -1, -1, 207, -1, -1,
- -1, -1, -1, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, -1, 1274, 1275, 1276, 1277, -1, -1,
- -1, -1, 232, -1, -1, 235, -1, -1, -1, -1,
- -1, -1, -1, -1, 2620, 916, -1, -1, 248, -1,
- -1, 251, 2628, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1313, 1314, -1, -1, -1, -1, 1319,
- 270, -1, -1, -1, 323, 8, -1, -1, 11, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 961, -1, -1, -1, -1, 28, -1, -1, 8, -1,
- -1, 11, -1, 36, -1, -1, -1, -1, -1, 42,
- -1, -1, -1, -1, 2690, 1365, -1, -1, 28, 990,
- -1, 31, -1, 323, 2700, 374, 36, -1, -1, -1,
- -1, -1, 42, 66, -1, -1, -1, 337, -1, 1389,
- 1390, 1391, 1392, -1, -1, -1, -1, -1, 1019, -1,
- -1, 2727, -1, 2729, -1, -1, 66, -1, -1, -1,
- -1, -1, -1, -1, 413, 414, 415, -1, 417, 418,
- 419, 420, 421, 422, -1, -1, 1047, 1048, -1, 1050,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2765,
- -1, 1441, -1, -1, -1, -1, 1067, -1, 18, -1,
- 1450, -1, -1, 2779, 24, -1, -1, 1457, -1, -1,
- -1, 144, -1, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 166, -1, 1106, 1107, 170, -1, -1,
- -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 166, -1, 191, 192,
- 170, -1, -1, -1, 1135, -1, -1, -1, 1139, 1140,
- -1, -1, -1, -1, 207, -1, -1, -1, -1, -1,
- -1, 191, 192, 1154, -1, -1, -1, -1, -1, 1160,
- -1, -1, -1, 113, -1, -1, -1, 207, -1, 232,
- 120, -1, 235, 123, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 248, -1, -1, 251, -1,
- -1, -1, 232, -1, -1, 235, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 268, 1207, -1, 248, -1,
- -1, 251, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 1604, 175, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1237, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
- 323, -1, -1, -1, -1, -1, -1, -1, 8, -1,
- -1, 11, -1, -1, -1, -1, 28, -1, -1, -1,
- 230, -1, 232, 323, 36, -1, -1, -1, 28, -1,
- 42, 31, 242, -1, -1, -1, 36, -1, -1, -1,
- 250, 3007, 42, 3009, -1, -1, 1307, 3013, -1, 259,
- -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
- -1, -1, 3028, -1, -1, 1326, 66, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 3045,
- 290, -1, -1, -1, 294, 1346, -1, -1, 3054, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- -1, -1, -1, -1, -1, 1366, -1, -1, -1, 319,
- 1371, -1, -1, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, -1, -1, -1, -1, -1, 3094, 3095,
- 3096, 3097, 3098, 3099, 3100, -1, -1, -1, -1, 3105,
- 3106, -1, 3108, 3109, 3110, 3111, 3112, 3113, 3114, -1,
- -1, -1, -1, -1, 166, -1, 1417, 3123, 170, 3125,
- 3126, -1, 1423, -1, -1, 1426, 166, 377, -1, -1,
- 170, -1, -1, -1, -1, -1, -1, -1, -1, 191,
- 192, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 191, 192, -1, -1, 207, -1, -1, -1, -1,
- -1, -1, 1842, 1843, 1844, -1, -1, 207, -1, 1849,
- -1, 1851, -1, 1853, 1854, -1, -1, -1, -1, -1,
- 232, -1, -1, 235, -1, -1, -1, -1, 3194, 3195,
- 3196, -1, 232, 3199, 1495, 235, 248, -1, -1, 251,
- -1, -1, -1, -1, -1, -1, -1, -1, 248, -1,
- -1, 251, -1, 265, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1529, -1,
- 1531, -1, 834, -1, -1, -1, -1, 1538, -1, -1,
- 1541, -1, -1, -1, 1545, -1, -1, -1, -1, 18,
- -1, -1, 1553, 1554, -1, 24, -1, -1, -1, -1,
- 1561, -1, -1, 1564, 1565, 1566, 1567, -1, -1, 3275,
- 1950, 323, -1, 1574, 1575, -1, 1577, -1, 1579, 1580,
- -1, -1, 1583, 323, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 64, -1, -1, 1599, 1600,
- 1601, -1, -1, -1, 1605, -1, -1, -1, 1609, -1,
- -1, -1, 1613, -1, 1615, 1616, 1617, 1618, 1619, 1620,
- 1621, 1622, 1623, -1, 1625, -1, 2006, -1, -1, 1630,
- -1, 1632, -1, -1, 2014, 2015, 2016, 2017, 2018, 2019,
- -1, -1, -1, -1, 113, -1, -1, -1, -1, -1,
- -1, 120, -1, -1, 123, -1, -1, -1, -1, 961,
- -1, 413, 414, 415, -1, 417, 418, 419, 420, 421,
- 422, -1, 834, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, -1, -1, 8, -1, -1, 11, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 28, 175, -1, -1, -1,
- -1, -1, -1, 36, -1, -1, -1, -1, 2098, 42,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 66, -1, 2125, -1, 2127, 8, -1,
- -1, 11, -1, -1, -1, -1, 1757, -1, -1, -1,
- -1, 230, -1, 232, -1, -1, -1, -1, 28, -1,
- -1, 31, -1, 242, -1, -1, 36, -1, -1, -1,
- -1, 250, 42, -1, -1, 3491, 3492, 3493, 3494, -1,
- 259, -1, -1, -1, -1, -1, -1, -1, -1, 961,
- -1, -1, -1, -1, 1805, -1, 66, -1, -1, -1,
- 3516, 3517, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 290, 3528, 3529, -1, 294, -1, 150, -1, -1,
- -1, -1, -1, 1834, -1, -1, -1, 8, 2218, 1840,
- 11, -1, -1, 166, -1, 1846, -1, 170, -1, -1,
- 319, -1, 1154, -1, -1, -1, -1, 28, -1, -1,
- 31, -1, -1, -1, -1, 36, -1, -1, 191, 192,
- -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1882, -1, -1, 207, -1, 1887, 1888, -1, -1,
- -1, -1, -1, -1, -1, 66, -1, -1, 1899, -1,
- -1, -1, -1, -1, -1, 1207, 166, -1, 377, 232,
- 170, -1, 235, -1, 1915, -1, -1, 1918, -1, -1,
- -1, -1, -1, -1, -1, 248, -1, -1, 251, -1,
- 1092, 191, 192, -1, -1, 1237, 3642, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 207, -1, -1,
- 8, -1, -1, 11, -1, -1, -1, -1, -1, 3665,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, -1, 232, -1, -1, 235, -1, -1, 36, 3685,
- -1, -1, -1, -1, 42, -1, -1, -1, 248, -1,
- -1, 251, 1154, -1, -1, 166, -1, -1, -1, 170,
- 323, -1, -1, -1, -1, 1307, -1, -1, 66, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 191, 192, -1, -1, 1326, -1, -1, -1, 2029, -1,
- 2031, -1, -1, -1, -1, -1, 207, -1, -1, -1,
- -1, -1, -1, -1, 1346, 1207, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 232, -1, 323, 235, 3771, -1, -1, -1, 1371,
- -1, -1, -1, -1, -1, 1237, -1, 248, -1, -1,
- 251, -1, -1, -1, 2464, -1, 2466, 2467, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- -1, -1, -1, -1, 2105, -1, -1, -1, 166, -1,
- -1, -1, 170, -1, -1, -1, -1, -1, -1, -1,
- -1, 1423, -1, 3829, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 191, 192, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 1307, 2147, -1, -1, 207,
- -1, -1, 323, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, 3869, 1326, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 232, -1, -1, 235, 657, -1,
- -1, -1, -1, -1, 1346, -1, -1, -1, 2189, -1,
- 248, -1, -1, 251, -1, -1, -1, -1, -1, -1,
- 3906, -1, 2203, -1, -1, -1, -1, 2208, 687, 1371,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 2225, 2226, -1, -1, -1, -1,
- 2231, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 413, 414, 415, -1, 417, 418, 419, 420,
- 421, 422, -1, -1, -1, 2256, 2257, -1, -1, -1,
- 2261, 1423, -1, -1, -1, 323, -1, -1, -1, -1,
- -1, -1, 2273, 2274, 2275, 2276, -1, 3983, 8, -1,
- 2281, 11, -1, -1, -1, 2286, 2287, -1, 2289, -1,
- 2291, 349, -1, -1, -1, -1, -1, 1599, 28, -1,
- 2301, 2302, -1, -1, 2305, -1, 36, -1, -1, -1,
- -1, -1, 42, -1, -1, -1, -1, 2318, -1, 2320,
- -1, -1, -1, 2324, -1, -1, -1, -1, -1, -1,
- 1632, -1, -1, -1, -1, -1, 66, -1, -1, 2340,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2351, 4057, 2353, 2354, 2355, 413, 414, 415, -1, 417,
- 418, 419, 420, 421, 422, -1, -1, -1, -1, 2370,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2381, -1, -1, -1, -1, 2386, -1, -1, -1, -1,
- -1, -1, 2393, -1, 2774, -1, -1, 2777, 2399, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4127, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2436, 166, 1599, 2818, -1,
- 170, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2459, -1,
- -1, 191, 192, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 207, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2499, 2500,
- -1, 2502, 232, -1, -1, 235, -1, -1, -1, -1,
- -1, 990, -1, -1, -1, -1, -1, -1, 248, -1,
- -1, 251, -1, -1, -1, -1, -1, -1, -1, -1,
- 2531, 2532, 2533, -1, -1, -1, -1, -1, -1, -1,
- 1019, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2554, -1, 2556, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1047, 1048,
- -1, 1050, -1, -1, -1, -1, -1, -1, -1, -1,
- 1882, -1, -1, -1, -1, 1887, 1888, -1, 1067, -1,
- -1, -1, -1, 323, -1, -1, -1, 1899, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2609, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1106, -1, -1,
- -1, -1, 2633, -1, -1, 21, -1, -1, 3018, 3019,
- 3020, 3021, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 2655, -1, 1135, 2658, -1, -1,
- 1139, 1140, -1, -1, -1, -1, -1, -1, 21, -1,
- -1, -1, -1, -1, 2675, 2676, -1, -1, -1, -1,
- -1, 67, -1, 413, 414, 415, -1, 417, 418, 419,
- 420, 421, 422, -1, 80, -1, -1, -1, -1, -1,
- -1, 54, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 97, -1, -1, 67, 68, -1, 103, -1, -1,
- 1882, -1, -1, 76, -1, 1887, 1888, 80, -1, 2031,
- -1, -1, 118, -1, -1, -1, -1, 1899, 2739, -1,
- -1, -1, -1, -1, 97, -1, -1, -1, -1, -1,
- 136, -1, 2753, -1, -1, -1, -1, -1, -1, -1,
- -1, 147, -1, 2764, -1, 118, 152, -1, -1, -1,
- -1, -1, 158, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 136, -1, -1, -1, 173, -1, -1,
- 2791, -1, -1, -1, 147, -1, -1, -1, -1, 152,
- -1, -1, -1, 2105, -1, -1, -1, -1, -1, -1,
- -1, -1, 198, -1, -1, -1, -1, -1, 3198, -1,
- 173, -1, -1, -1, -1, 2826, -1, -1, 2829, -1,
- -1, -1, -1, -1, -1, 2836, -1, -1, -1, -1,
- -1, 2842, -1, 2844, -1, 198, -1, -1, 2849, 2850,
- -1, -1, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860,
- 2861, 2862, 248, -1, -1, 2866, 2867, -1, -1, 2031,
- -1, -1, -1, 2874, -1, -1, -1, -1, 2879, -1,
- -1, -1, 2883, -1, 2885, -1, 2887, 2189, -1, -1,
- 276, -1, -1, -1, -1, 248, 2897, -1, -1, 2900,
- -1, 2902, -1, -1, -1, -1, -1, -1, -1, 2910,
- 2911, 2912, 2913, -1, -1, 301, 2917, -1, -1, 2920,
- -1, 307, -1, 276, -1, -1, -1, 313, -1, 2930,
- 316, -1, -1, -1, -1, -1, -1, -1, -1, 2940,
- -1, -1, -1, 2105, -1, -1, -1, 2948, 301, 2950,
- -1, -1, 305, -1, 307, -1, 342, -1, 344, -1,
- 313, -1, 348, 316, -1, -1, -1, -1, -1, -1,
- 356, -1, 2973, -1, -1, 361, -1, -1, 2979, -1,
- -1, -1, -1, -1, 2985, -1, -1, 373, -1, 342,
- -1, 344, -1, -1, -1, 348, -1, -1, -1, 3000,
- 386, -1, -1, 356, -1, -1, -1, -1, 361, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2189, -1, -1,
- -1, -1, -1, 386, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 2353, 2354, 2355, -1, -1, -1, -1, -1, 1538,
- -1, -1, -1, -1, -1, 3066, -1, -1, -1, 3070,
- 3071, 3072, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1561, -1, -1, 1564, -1, -1, 1567, -1,
- -1, -1, -1, -1, -1, 1574, 1575, -1, -1, -1,
- -1, 1580, -1, -1, 1583, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1600, -1, -1, -1, -1, 1605, -1, -1, -1,
- 1609, -1, -1, -1, 1613, -1, 1615, 1616, 1617, 1618,
- 1619, 1620, 1621, 1622, 1623, -1, 1625, -1, -1, -1,
- -1, 1630, -1, 1632, -1, -1, -1, 2459, -1, -1,
- -1, -1, -1, -1, -1, -1, 3546, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3560, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2499, 2500, 3200,
- 2502, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3225, -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, 2554, -1, 2556, -1, -1, 3258, 3259, 3260,
- -1, -1, -1, -1, 1063, -1, -1, -1, -1, 3649,
- -1, -1, -1, -1, -1, -1, -1, -1, 1757, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2459, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2609, -1, -1,
- -1, -1, -1, -1, -1, 3316, -1, -1, -1, -1,
- -1, 1120, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 2633, -1, -1, -1, -1, -1, 2499, 2500, -1,
- 2502, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3353, -1, -1, 1834, 2658, -1, -1, -1,
- -1, -1, 3363, 3364, -1, 3366, -1, -1, -1, -1,
- 3371, 3372, -1, -1, 2676, 3376, 3377, -1, -1, -1,
- -1, 3382, 3383, -1, -1, 3386, -1, -1, -1, -1,
- -1, -1, 2554, -1, 2556, -1, -1, -1, -1, -1,
- 3401, -1, -1, -1, 3405, -1, 3786, 3787, 3788, -1,
- -1, -1, -1, 3414, -1, -1, -1, -1, 3419, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3431, -1, -1, -1, -1, -1, -1, 2739, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2609, -1, -1,
- -1, 2753, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3462, 2764, -1, -1, -1, -1, -1, -1, -1,
- -1, 2633, -1, -1, -1, -1, -1, -1, -1, 3480,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 2658, -1, 3499, -1,
- -1, -1, -1, -1, -1, -1, -1, 3508, -1, -1,
- -1, -1, -1, -1, 2676, -1, -1, 3897, -1, 3520,
- -1, -1, -1, -1, -1, -1, -1, 2829, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2849, -1, -1,
- 2029, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3564, -1, -1, -1, -1, -1, 834,
- -1, -1, 2874, -1, -1, -1, -1, 2739, -1, -1,
- -1, -1, -1, 3584, -1, -1, -1, -1, -1, -1,
- -1, 2753, -1, -1, -1, 3975, -1, -1, -1, -1,
- -1, -1, 2764, -1, -1, -1, -1, -1, 2910, -1,
- -1, -1, -1, -1, -1, -1, -1, 3997, -1, 3999,
- -1, 3622, -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, 2950, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1459, -1, -1, -1, -1, -1, -1, 2829, 2147, -1,
- -1, -1, -1, 3674, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2849, -1, -1,
- -1, -1, -1, -1, -1, -1, 961, -1, -1, -1,
- -1, -1, -1, -1, 3705, -1, -1, 4087, 3709, -1,
- -1, -1, 2874, 3714, -1, -1, -1, -1, -1, -1,
- 834, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3731, 3732, -1, -1, 3735, -1, -1, 1536, -1, -1,
- -1, -1, -1, -1, -1, 3746, -1, 2226, 2910, 4129,
- 3751, -1, 2231, 3754, -1, -1, -1, -1, 3759, 3760,
- -1, 1560, -1, -1, -1, -1, 1565, -1, -1, 3071,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3784, -1, -1, 1585, 1586, -1, 1588,
- -1, -1, -1, -1, 2273, -1, 2275, 2276, -1, -1,
- -1, 4181, -1, -1, -1, -1, -1, 2286, -1, -1,
- 2289, -1, 2291, -1, 3815, -1, -1, -1, 3819, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1628,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2318,
- -1, 2320, -1, 4223, -1, 2324, -1, 961, -1, -1,
- -1, -1, -1, -1, -1, 3856, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 1664, -1, -1, -1, -1,
- -1, -1, -1, -1, 2353, 2354, 2355, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1154,
- -1, 2370, -1, -1, -1, -1, -1, 3898, -1, 3900,
- -1, -1, 2381, -1, -1, -1, -1, 2386, -1, 3071,
- -1, -1, -1, -1, 2393, -1, -1, -1, -1, 3920,
- 3921, -1, 3923, 3225, 3925, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3942, 1207, -1, -1, 3946, -1, -1, -1, -1,
- 3951, -1, -1, -1, -1, -1, 3258, 2436, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1766, -1, -1,
- -1, -1, 1237, -1, -1, -1, -1, 1776, -1, -1,
- 1779, -1, -1, -1, 3985, -1, -1, 3988, -1, -1,
- -1, 3992, 3993, -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, 4026, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1154, -1, 1307, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 4053, -1, -1, -1, -1, -1, -1, -1,
- -1, 1326, -1, 3225, 3366, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 3377, -1, -1, -1, -1,
- 4081, 1346, -1, 834, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1207, -1, -1, 3258, 4098, -1, -1,
- -1, -1, -1, -1, -1, -1, 1371, -1, -1, -1,
- -1, -1, 3414, -1, -1, -1, -1, 3419, -1, -1,
- -1, -1, -1, 1237, -1, -1, -1, -1, -1, 3431,
- -1, -1, 4133, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 4143, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1423, 4160,
- 4161, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 4173, -1, -1, -1, -1, -1, 3480, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1307, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3366, -1, 3508, 4208, -1, -1,
- 961, -1, 1326, -1, -1, 3377, -1, 4218, 3520, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1346, 4234, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1371, 834, -1,
- -1, -1, 3564, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 4276, -1, -1, -1, -1,
- 4281, -1, -1, -1, 4285, -1, -1, -1, 4289, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1423,
- -1, -1, -1, -1, -1, -1, -1, -1, 3480, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 1599, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3508, 2826, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2836, 3520, -1,
- -1, -1, -1, 2842, -1, 2844, -1, -1, -1, -1,
- -1, -1, 3674, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 961, -1, 2866, 2867, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3564, 1154, -1, -1, -1, 3709, 2887, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2897, -1,
- -1, 2900, -1, 2902, -1, -1, -1, -1, -1, -1,
- 2229, -1, 2911, -1, -1, -1, -1, -1, 2917, -1,
- -1, 2920, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2252, -1, 2254, 1207, 2256, 2257, 2258,
- -1, 2940, 2261, -1, -1, -1, 2265, -1, -1, 2948,
- -1, 2950, -1, 2272, -1, -1, -1, -1, 2277, -1,
- -1, -1, -1, -1, 2283, 1599, 1237, -1, -1, 2288,
- -1, -1, -1, -1, 2973, -1, -1, -1, 2297, -1,
- 2979, -1, 2301, 2302, -1, 2304, 2985, -1, -1, -1,
- -1, -1, -1, 3815, -1, -1, -1, 2316, -1, -1,
- -1, -1, -1, -1, 2323, -1, 2325, 2326, 2327, 2328,
- 2329, 2330, 2331, 2332, 2333, 2334, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3709, -1, -1,
- -1, -1, -1, -1, -1, -1, 1307, -1, -1, -1,
- 2359, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 1326, -1, -1, 1154, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 1346, -1, -1, 3900, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1882, -1, 3921,
- 1371, -1, 1887, 1888, -1, -1, -1, -1, -1, -1,
- 21, 1207, -1, -1, 1899, -1, -1, -1, -1, -1,
- -1, -1, 33, -1, -1, -1, -1, -1, -1, 3951,
- -1, -1, 2451, 3815, -1, -1, -1, -1, -1, -1,
- -1, 1237, -1, 54, -1, -1, -1, -1, -1, -1,
- -1, -1, 1423, -1, -1, -1, 67, -1, -1, -1,
- 834, -1, -1, -1, -1, 76, 3988, -1, -1, 80,
- 3992, 3993, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 97, -1, -1, -1,
- -1, -1, 103, -1, -1, 834, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 118, -1, -1,
- -1, 1307, -1, -1, -1, -1, -1, -1, 3900, -1,
- -1, -1, -1, -1, -1, 136, -1, -1, -1, -1,
- 1326, 4053, -1, -1, -1, -1, 147, -1, -1, 3921,
- -1, -1, -1, 154, -1, -1, 2031, 158, 1882, -1,
- 1346, -1, -1, 1887, 1888, -1, -1, -1, -1, -1,
- 3259, 3260, 173, -1, -1, 1899, -1, -1, -1, 3951,
- -1, -1, -1, -1, -1, 1371, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 961, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 211, -1, -1, -1, -1, -1, 3988, -1, -1, -1,
- 3992, 3993, -1, -1, -1, -1, -1, 3316, -1, -1,
- 2105, -1, 961, -1, -1, -1, -1, 1423, 1599, -1,
- -1, -1, -1, -1, -1, -1, -1, 248, -1, -1,
- 251, -1, 2661, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3363, 3364, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3376, -1, -1,
- -1, -1, -1, 3382, 3383, -1, -1, 3386, -1, -1,
- 301, -1, -1, -1, -1, -1, 307, 2031, -1, -1,
- -1, -1, 313, -1, 2189, 316, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 3414, -1, -1, -1, -1,
- 3419, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 342, 3431, 344, 345, -1, 347, 348, -1, -1,
- -1, -1, -1, -1, -1, 356, -1, -1, -1, -1,
- 361, -1, -1, -1, -1, -1, 367, -1, -1, 370,
- -1, -1, 373, 3462, 2783, -1, -1, -1, -1, -1,
- -1, 2105, -1, -1, -1, 386, -1, -1, -1, -1,
- 1154, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1599, -1, -1, 2825, -1, -1, -1,
- -1, -1, 2831, -1, -1, 1154, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2847, 2848,
- -1, 2850, -1, 1207, 2853, 2854, 2855, 2856, 2857, 2858,
- 2859, 2860, 2861, 2862, 2863, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2189, -1, -1, -1, -1,
- -1, -1, -1, 1237, -1, -1, -1, -1, 1207, 2888,
- -1, -1, 2891, -1, 2893, -1, -1, -1, -1, 2898,
- 2899, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2912, 2913, 2914, -1, 2916, 1237, -1,
- 2919, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1882, -1, -1, -1, -1, 1887, 1888, -1, -1,
- -1, -1, -1, 3622, -1, -1, -1, -1, 1899, -1,
- -1, -1, -1, 1307, -1, -1, -1, 2956, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2966, -1, -1,
- -1, -1, 1326, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1307, -1,
- -1, -1, 1346, -1, 2459, -1, -1, -1, 2997, -1,
- -1, -1, -1, -1, -1, -1, -1, 1326, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1371, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1346, -1, -1,
- -1, -1, -1, -1, 2499, 2500, -1, 2502, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1371, -1, -1, -1, 3735, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1423,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2031, 3760, -1, -1, -1, -1, -1, -1, -1, 2554,
- -1, 2556, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 1423, -1, 1882, -1, -1, -1,
- -1, 1887, 1888, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1899, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 2609, 2459, -1, -1, -1, -1,
- -1, -1, -1, -1, 2105, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2633, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2499, 2500, -1, 2502, -1,
- -1, -1, -1, 2658, -1, -1, -1, -1, -1, -1,
- -1, 3200, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 2676, -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, 2189, -1,
- 2554, -1, 2556, -1, 3923, 1599, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2031, -1, -1, -1, -1,
- -1, -1, -1, 3942, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 2739, -1, -1, -1, -1, -1,
- 1599, -1, -1, -1, -1, -1, -1, -1, 2753, -1,
- -1, -1, -1, -1, -1, 2609, -1, -1, -1, 2764,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 3317, 2633,
- -1, -1, 3321, 3322, 3323, -1, -1, 3326, -1, 2105,
- -1, -1, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338,
- 3339, 3340, 3341, 3342, 2658, -1, -1, 4026, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 2676, -1, 2829, -1, -1, -1, -1, -1,
- -1, 3370, 3371, 3372, 3373, -1, 3375, -1, -1, -1,
- 3379, 3380, 3381, -1, 2849, 3384, -1, -1, 3387, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2874,
- -1, -1, -1, 2189, -1, -1, -1, 3416, -1, 4098,
- -1, -1, -1, -1, -1, 2739, -1, -1, -1, 3428,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2753,
- -1, -1, -1, 3442, -1, 2910, -1, -1, -1, -1,
- 2764, -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, 4160, 4161, -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, 2459, -1,
- -1, -1, -1, -1, -1, 2829, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1882, 4208,
- -1, -1, -1, 1887, 1888, 2849, -1, -1, -1, 4218,
- -1, -1, -1, -1, -1, 1899, -1, -1, 2499, 2500,
- -1, 2502, -1, -1, -1, -1, -1, -1, -1, -1,
- 2874, -1, -1, 1882, -1, -1, -1, -1, 1887, 1888,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1899, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 2910, 4276, -1, -1,
- -1, -1, -1, 2554, -1, 2556, 3071, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3625, -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, 2609, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3671, 3672, -1, -1, -1, 2031, -1, -1,
- -1, -1, 2633, 2459, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3701, -1, -1, -1, 3705, 2658, -1, -1,
- -1, -1, 2031, -1, -1, -1, -1, -1, -1, -1,
- 3719, -1, 3721, 2499, 2500, 2676, 2502, 3726, 3727, 3728,
- -1, -1, 3731, 3732, 3733, 3734, -1, 3736, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 2105, -1, -1, -1, -1, -1, 3071, -1, -1,
- 3225, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2554, -1,
- 2556, -1, -1, 3782, -1, -1, 2105, -1, 2739, -1,
- -1, -1, -1, 3258, -1, -1, -1, -1, -1, -1,
- -1, -1, 2753, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2764, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2609, -1, 2189, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2633, -1, -1,
- -1, -1, -1, 3862, -1, -1, -1, -1, -1, -1,
- 2189, -1, -1, -1, -1, -1, -1, -1, 2829, -1,
- -1, -1, 2658, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2849, -1,
- 2676, 3366, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3225, 3377, -1, -1, -1, -1, -1, -1, -1,
- 3919, 3920, -1, 2874, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3935, 3936, 3937, -1,
- -1, -1, -1, -1, 3258, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 3954, -1, -1, -1, 2910,
- -1, -1, -1, 2739, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2753, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2764, -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, 3480, -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, 3508, -1, -1, -1, -1, -1, -1,
- -1, -1, 3366, 2829, -1, 3520, -1, -1, -1, -1,
- -1, -1, 4061, 3377, -1, -1, -1, -1, -1, -1,
- -1, -1, 4071, 2849, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2874, 3564,
- -1, -1, -1, -1, -1, 2459, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3071, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 4132, 2910, -1, -1, -1, -1, -1,
- 2459, -1, -1, -1, -1, 2499, 2500, -1, 2502, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3480, -1, -1, -1,
- -1, -1, -1, 4172, -1, -1, -1, -1, -1, -1,
- 2499, 2500, -1, 2502, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3508, -1, -1, -1, -1, -1,
- 2554, -1, 2556, -1, -1, -1, 3520, -1, -1, -1,
- -1, -1, 4211, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2554, -1, 2556, -1, -1,
- -1, -1, -1, -1, 3709, -1, -1, -1, -1, -1,
- 3564, -1, -1, -1, -1, 2609, 4255, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3225, -1, -1, -1, -1, 2633,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2609, -1, -1, -1, -1, 3071, -1, -1, -1, -1,
- -1, -1, -1, -1, 2658, -1, -1, 3258, -1, -1,
- -1, -1, -1, -1, 2633, -1, -1, -1, -1, -1,
- -1, -1, 2676, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2658,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3815, -1, -1, -1, -1, -1, -1, 2676, -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, 2739, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 3709, -1, -1, -1, 2753,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2764, -1, -1, -1, -1, 3366, -1, -1, -1, -1,
- 2739, -1, -1, -1, -1, -1, 3377, -1, -1, -1,
- -1, -1, -1, -1, 2753, 3900, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2764, -1, -1, -1, 3225,
- -1, -1, -1, -1, -1, -1, 3921, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2829, -1, -1, -1, -1,
- -1, -1, 3258, -1, -1, -1, 3951, -1, -1, -1,
- -1, -1, -1, -1, -1, 2849, -1, -1, -1, -1,
- -1, 3815, -1, -1, -1, -1, -1, -1, -1, -1,
- 2829, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2874, -1, -1, 3988, -1, -1, -1, 3992, 3993, 3480,
- 2849, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2874, 2910, 3508, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 3520,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3900, -1, -1, -1,
- 3366, 2910, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3377, -1, -1, -1, -1, -1, 3921, -1, -1,
- -1, -1, -1, 3564, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3951, -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, 3988, -1, -1, -1, 3992, 3993,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3480, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3071, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3508, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3520, -1, -1, -1, -1, -1,
- -1, -1, 3071, -1, -1, -1, -1, -1, 3709, -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, 3564, -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, 3815, -1, -1, -1, -1, -1,
- -1, 3225, -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, 3258, -1, 3225, -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, 3709, -1, -1, -1, -1, -1, 3258,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 3900,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3921, -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,
- 3951, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3366, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3377, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3988, -1, 3815,
- -1, 3992, 3993, -1, -1, -1, -1, 3366, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 3377, -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, 3900, -1, 3480, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 3921, -1, -1, -1, -1,
- -1, -1, -1, -1, 3508, -1, -1, -1, -1, -1,
- -1, 3480, -1, -1, -1, -1, 3520, -1, -1, -1,
- -1, -1, -1, -1, -1, 3951, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 3508,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3520, -1, -1, -1, -1, -1, -1, -1, -1,
- 3564, -1, 3988, -1, -1, -1, 3992, 3993, -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, 3564, -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, -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, 3709, -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,
- 3709, -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, 3815, -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, 3815, -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, 3900, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3921, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3900, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3951, -1, -1,
- -1, -1, 3921, -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, 3951, -1, 3988, -1, -1, -1, 3992, 3993,
- -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, -1, -1, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, -1, 3988,
- -1, -1, 30, 3992, 3993, 33, 34, -1, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
- -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
- 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
- 108, 109, 110, -1, 112, 113, 114, 115, -1, 117,
- 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, 149, -1, 151, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, 205, 206, 207,
- -1, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
- 368, 369, 370, 371, 372, 373, -1, 375, 376, 377,
- 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, -1, -1, -1, -1, -1, -1, -1, 417,
- 418, 419, -1, -1, -1, -1, -1, -1, 426, 427,
- 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, 30, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, 205, 206, 207, -1, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
- 373, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- -1, -1, -1, -1, 417, 418, 3, -1, -1, -1,
- -1, -1, -1, 426, 427, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, 31, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, 151, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, 205, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, -1, -1, -1, -1, -1, -1, -1,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 427, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, -1, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, -1, -1, -1, 90, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, -1, 135, 136, 137, -1, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, -1, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, -1, 205, 206, 207, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, -1, -1,
- 233, 234, 235, 236, -1, -1, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, -1, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, -1, 268, -1, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- -1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, -1, 356, -1, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, -1, 3, -1, -1, -1,
- -1, -1, -1, -1, 407, 408, 409, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, 427, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, -1, -1, -1, -1, -1, -1, -1,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 427, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, -1, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, -1, -1, -1, 90, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, -1, 135, 136, 137, -1, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, -1, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, -1, 205, 206, 207, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, -1, -1,
- 233, 234, 235, 236, -1, -1, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, -1, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, -1, 268, -1, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- -1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, -1, 356, -1, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, -1, 3, 4, 5, 6,
- 7, 8, 9, 10, 407, 408, 409, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, 30, 427, -1, 33, 34, -1, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- 67, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, 149, 150, 151, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, -1, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
- 367, 368, 369, 370, 371, 372, 373, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, 384, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, -1, -1, -1, -1, -1, -1, -1,
- 417, 418, -1, -1, -1, -1, -1, -1, -1, 426,
- 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, 30, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, 205, 206, 207, -1, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
- 373, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, 392,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- -1, -1, -1, -1, 417, 418, -1, -1, -1, -1,
- -1, -1, -1, 426, 3, 4, 5, 6, 7, 8,
- 9, 10, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, 30, -1, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, 67, -1,
- 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- 149, -1, 151, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, 205, 206, 207, -1,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
- 369, 370, 371, 372, 373, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, 384, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, -1, -1, -1, -1, -1, -1, -1, 417, 418,
- -1, -1, -1, -1, -1, 424, 425, 426, 3, 4,
- 5, 6, 7, 8, 9, 10, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, 30, -1, -1, 33, 34,
- -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, -1, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, 67, -1, 69, 70, 71, 72, 73, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, 149, -1, 151, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- 205, 206, 207, -1, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
+ 0, 789, 0, 789, 0, 0, 3139, 3140, 0, 0,
+ 2470, 0, 0, 1414, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1827, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1412, 3148, 1412,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3166, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3177, 3179, 0, 1689, 0, 3179, 0, 1814,
+ 0, 789, 3190, 3191, 3192, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1412, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3210, 3211, 3212, 3213, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1412, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1412, 1414, 3230, 3231, 3232, 0,
+ 0, 0, 0, 1689, 0, 0, 3245, 0, 0, 0,
+ 0, 0, 1412, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0,
+ 0, 0, 2366, 0, 2525, 0, 0, 0, 1882, 2531,
+ 0, 3262, 0, 3264, 0, 0, 3268, 0, 0, 0,
+ 0, 0, 1689, 1689, 0, 1689, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1412, 3292, 0, 0,
+ 0, 0, 1814, 0, 0, 3296, 0, 0, 0, 0,
+ 0, 0, 1412, 0, 0, 0, 0, 1689, 0, 0,
+ 0, 0, 0, 1412, 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, 1689, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3368, 1421, 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, 1412, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3397, 0, 0, 3400, 0, 0,
+ 0, 0, 1412, 1414, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1412, 0, 3438,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3448, 0, 0, 0, 1689, 0, 0,
+ 0, 0, 0, 1827, 789, 0, 0, 1414, 0, 1689,
+ 0, 0, 1689, 1412, 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,
+ 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1421, 0, 0, 0, 0, 0, 3478, 0, 0, 0,
+ 0, 0, 0, 0, 789, 0, 3482, 0, 0, 0,
+ 0, 0, 3483, 0, 3484, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3502, 3503, 0, 1412,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1414, 0, 2388, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3531, 0, 1882,
+ 3534, 0, 3536, 0, 1414, 0, 0, 0, 0, 0,
+ 0, 3540, 0, 0, 0, 0, 0, 3545, 1814, 0,
+ 3548, 0, 0, 0, 1414, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3589, 1414,
+ 0, 0, 0, 0, 3596, 2467, 0, 0, 1412, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1814, 0, 0,
+ 0, 0, 0, 0, 0, 1814, 0, 0, 3608, 0,
+ 0, 0, 0, 1421, 1108, 0, 0, 0, 0, 0,
+ 1168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1414, 3648, 0, 3649,
+ 0, 0, 0, 0, 0, 0, 3651, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3660, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3666, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3677, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3680, 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, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717,
+ 0, 0, 0, 0, 1412, 3723, 0, 0, 0, 0,
+ 0, 0, 3732, 3733, 0, 3735, 3736, 3737, 3738, 3739,
+ 3740, 3741, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3749, 0, 3751, 3752, 0, 0, 0, 0, 0, 0,
+ 0, 1412, 0, 2470, 2470, 2470, 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, 1414, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3795, 3797, 3799, 0,
+ 0, 3802, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1882, 1415, 0, 2531,
+ 0, 2531, 0, 0, 0, 0, 1882, 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, 1412, 0, 0, 0, 0, 0, 1689, 0, 0,
+ 0, 0, 1412, 0, 0, 0, 1421, 0, 0, 3855,
+ 3856, 0, 0, 3179, 0, 0, 0, 0, 0, 0,
+ 1689, 0, 1689, 0, 2366, 2366, 3001, 0, 0, 2366,
+ 1827, 1827, 1827, 1689, 0, 0, 0, 0, 0, 0,
+ 1689, 0, 0, 0, 0, 1689, 1882, 0, 0, 0,
+ 0, 1689, 0, 0, 0, 0, 1689, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1689, 0, 0, 3886, 2366,
+ 2366, 0, 1689, 0, 0, 0, 0, 0, 0, 1415,
+ 0, 0, 0, 0, 1689, 0, 0, 0, 0, 0,
+ 0, 1689, 0, 1689, 1689, 1689, 1689, 1689, 1689, 1689,
+ 1689, 1689, 1689, 0, 0, 1421, 0, 1421, 0, 0,
+ 0, 0, 0, 0, 1412, 3904, 3906, 0, 0, 0,
+ 1417, 0, 1414, 0, 0, 0, 1414, 1414, 3913, 0,
+ 1689, 0, 0, 0, 3918, 3919, 0, 0, 3921, 0,
+ 1412, 3924, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1412, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2467, 0,
+ 0, 0, 0, 2467, 0, 0, 0, 0, 2467, 0,
+ 0, 0, 0, 1421, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1412, 2531, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3974, 0, 0, 0, 0, 0, 0,
+ 2531, 1414, 0, 0, 0, 1689, 0, 0, 0, 0,
+ 3993, 3994, 3995, 3996, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1417, 0, 1418, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4007, 4008, 4009, 4010, 0, 4012, 4013,
+ 0, 0, 0, 0, 0, 0, 0, 1415, 0, 0,
+ 4022, 4023, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1421, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1827, 1827, 0, 1827, 0,
+ 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1421, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1415, 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, 1412, 0,
+ 0, 0, 0, 0, 1415, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0,
+ 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0,
+ 1421, 4069, 0, 0, 0, 0, 0, 4083, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4089, 0, 0, 0,
+ 1421, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4108, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1421, 0, 0, 0, 1415,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4125, 0,
+ 1417, 0, 0, 0, 0, 0, 1689, 1414, 1415, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1412, 1421, 0, 0, 0, 0, 0, 0, 1415, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1419, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1415, 1417, 0, 0, 0, 0, 0,
+ 0, 4151, 0, 0, 0, 1827, 2470, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1827, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0,
+ 0, 1414, 0, 4174, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1882, 0, 0,
+ 1415, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1412, 0,
+ 0, 1689, 0, 0, 1418, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1412,
+ 0, 0, 0, 4212, 4213, 4214, 0, 0, 4216, 0,
+ 0, 0, 1417, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1419, 1689, 0, 0,
+ 0, 1417, 0, 1689, 0, 1412, 0, 0, 1418, 0,
+ 0, 0, 0, 0, 0, 0, 2531, 0, 0, 3001,
+ 3001, 1417, 2366, 0, 0, 2366, 2366, 2366, 2366, 2366,
+ 2366, 2366, 2366, 2366, 2366, 3001, 0, 0, 0, 1412,
+ 0, 1418, 0, 1412, 1412, 0, 1417, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1689, 0, 0, 1689, 0, 1689, 0, 0, 0, 3179,
+ 3001, 3001, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2366, 2366, 1689, 0, 1689, 0,
+ 0, 1689, 0, 0, 0, 0, 0, 0, 2388, 0,
+ 0, 0, 0, 1417, 0, 0, 0, 1415, 1827, 0,
+ 0, 0, 0, 0, 0, 0, 1418, 0, 1827, 0,
+ 0, 0, 0, 4314, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1689, 1418, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1414, 1689, 0, 1414, 4338, 1414,
+ 0, 0, 0, 4342, 1414, 1418, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0,
+ 1827, 0, 1421, 0, 0, 0, 0, 0, 0, 0,
+ 1418, 1689, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1419, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1414, 0, 0, 0, 0, 1882,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4388, 0, 0, 0, 0, 0, 1418, 0, 0,
+ 0, 0, 0, 3179, 1414, 0, 0, 0, 1419, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1827, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1417, 1419, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4432, 0, 1414, 0, 1414, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1415, 0, 0, 1421,
+ 1415, 1415, 0, 0, 0, 0, 0, 4452, 0, 0,
+ 1421, 0, 4456, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1419, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0,
+ 0, 0, 0, 4476, 4476, 1419, 0, 0, 0, 2470,
+ 0, 0, 0, 0, 2470, 0, 2366, 0, 0, 2470,
+ 0, 1414, 0, 0, 0, 1419, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1414, 0, 0, 0, 1418, 0, 0, 0, 0, 0,
+ 1419, 0, 0, 0, 0, 1415, 0, 0, 1414, 0,
+ 0, 0, 0, 0, 4476, 0, 0, 0, 0, 0,
+ 0, 0, 1421, 0, 0, 0, 0, 0, 4529, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1419, 0, 0,
+ 0, 0, 0, 0, 0, 1421, 0, 0, 0, 1417,
+ 0, 0, 1414, 1417, 1417, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0,
+ 0, 1689, 4476, 0, 0, 1689, 1689, 1689, 0, 1414,
+ 3001, 0, 0, 0, 0, 3001, 3001, 3001, 3001, 3001,
+ 3001, 3001, 3001, 3001, 3001, 1689, 1689, 0, 0, 1421,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1689, 2366, 2366, 1689, 0, 1689,
+ 0, 0, 1415, 1689, 3001, 3001, 0, 0, 1689, 0,
+ 0, 1689, 0, 0, 0, 0, 0, 0, 1414, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1417, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1689, 1418, 0, 0, 0, 1418, 1418, 1689,
+ 0, 0, 0, 1414, 0, 0, 0, 0, 0, 0,
+ 0, 1689, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4117, 1415, 0, 0, 1419, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1421, 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,
+ 0, 0, 1418, 0, 0, 1415, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1417, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1414, 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, 2531, 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, 1417, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3001, 0, 0, 0,
+ 0, 0, 0, 0, 1414, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1419, 0, 0, 0, 1419, 1419, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1689, 1689,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2531, 0, 1417, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689,
+ 0, 0, 0, 2366, 0, 0, 0, 1421, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1689, 0, 1689,
+ 0, 0, 0, 0, 3001, 3001, 1689, 0, 0, 2366,
+ 2366, 1689, 1689, 0, 1689, 0, 0, 1689, 1418, 0,
+ 0, 0, 0, 1421, 0, 0, 0, 0, 1415, 0,
+ 0, 1415, 1419, 1415, 0, 0, 0, 0, 1415, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0,
+ 1414, 1421, 1421, 0, 0, 0, 0, 1689, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1415, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0,
+ 0, 0, 1418, 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, 1415, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4117, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1689, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1419,
+ 0, 0, 0, 0, 0, 0, 0, 1415, 0, 1415,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1417, 0, 0, 1417, 0, 1417, 1414, 0, 0,
+ 0, 1417, 0, 0, 0, 0, 0, 0, 1414, 0,
+ 0, 0, 0, 0, 0, 0, 3001, 2366, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3001, 3001, 1689, 0, 0, 0, 0, 0,
+ 1415, 0, 0, 0, 0, 0, 0, 0, 1419, 0,
+ 0, 1417, 0, 0, 0, 0, 0, 1689, 0, 0,
+ 0, 0, 0, 0, 0, 1415, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1415, 0, 0, 0, 0, 0,
+ 0, 1417, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1415, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1414, 0, 0, 0, 0, 1418, 0, 0, 1418, 0,
+ 1418, 0, 1419, 0, 0, 1418, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0,
+ 1417, 0, 1417, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1414, 0, 0, 1415, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3001, 1415, 0, 0, 1418, 0, 0, 0, 0,
+ 0, 0, 0, 1415, 0, 0, 0, 1689, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1417, 0, 0, 0, 1414, 0, 0,
+ 0, 0, 0, 0, 0, 1418, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1417, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0,
+ 0, 0, 1415, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1689, 0, 0, 0, 1417, 0, 0, 0, 0,
+ 0, 0, 1415, 0, 1418, 0, 1418, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1415, 0, 0,
+ 0, 0, 0, 0, 0, 1689, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1417,
+ 0, 0, 0, 1415, 0, 0, 0, 1418, 0, 0,
+ 0, 0, 0, 0, 0, 1417, 0, 0, 0, 1689,
+ 0, 0, 0, 0, 1414, 1419, 1417, 0, 1419, 0,
+ 1419, 0, 1418, 0, 0, 1419, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1418, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418,
+ 0, 0, 1689, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1419, 0, 0, 0, 1415,
+ 0, 0, 0, 0, 0, 1417, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1417, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1419, 0, 0, 0, 0,
+ 0, 0, 0, 1418, 0, 0, 1414, 0, 0, 0,
+ 1417, 0, 0, 0, 0, 0, 0, 0, 0, 1418,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1418, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1417, 0, 1415, 0,
+ 0, 0, 0, 0, 1419, 0, 1419, 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, 1418,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1414, 0, 0, 1419, 0, 1418,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1417, 0, 0, 1414, 0, 0, 0, 0,
+ 0, 0, 1419, 0, 1418, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1419, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1414, 0, 0, 0, 0, 0, 0, 0, 1419,
+ 1418, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1415, 1414, 0, 0, 0, 1414,
+ 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1417, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1415, 0, 1419, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1419,
+ 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0,
+ 1419, 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, 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, 1419,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1415, 0, 0, 0, 1418, 0, 0, 0, 1419,
+ 0, 0, 1415, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0,
+ 0, 0, 0, 0, 1419, 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, 1417, 0, 0, 0, 0, 0,
+ 1419, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1415, 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,
+ 1415, 0, 0, 0, 0, 0, 1419, 0, 0, 0,
+ 0, 1418, 0, 0, 0, 0, 0, 1415, 0, 0,
+ 0, 0, 0, 0, 1417, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1417, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1415, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1419, 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, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418,
+ 0, 0, 0, 1417, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1417, 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, 1415, 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, 1417, 0, 0, 0, 0, 0,
+ 0, 1419, 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, 1418, 0, 0, 0, 0, 0, 0, 1419, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1418, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1418, 0, 0, 0, 0, 0,
+ 1415, 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, 0, 0, 0, 0, 1418, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1417, 0, 0, 0, 0, 0, 0, 1419, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1419,
+ 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, 1415, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1415,
+ 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, 1415, 0, 0, 0, 0,
+ 0, 0, 0, 1417, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1419, 0, 0, 0, 1418, 0, 0, 0, 1415,
+ 0, 0, 0, 1415, 1415, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1419, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1419, 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, 0, 0,
+ 0, 1417, 0, 0, 0, 0, 0, 0, 1419, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1417, 0, 0, 0, 0, 1418, 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, 1417, 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, 1417, 0, 0, 0, 1417, 1417, 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, 1418, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1419, 1418, 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, 1418, 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, 1418, 0, 0, 0,
+ 1418, 1418, 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, 1419, 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, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1419, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1419, 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, 1419, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 741, 1026, 573, 1027, 1028, 1029, 624, 1030,
+ 0, 0, 0, 211, 212, 213, 214, 215, 216, 217,
+ 218, 2461, 220, 221, 222, 0, 1419, 0, 0, 1031,
+ 1419, 1419, 223, 224, 0, 225, 226, 742, 227, 228,
+ 229, 230, 1032, 743, 1033, 1034, 0, 234, 235, 236,
+ 237, 238, 1035, 1036, 239, 240, 1037, 1038, 243, 0,
+ 244, 245, 246, 247, 1039, 0, 1040, 0, 249, 250,
+ 251, 252, 745, 253, 254, 0, 255, 256, 257, 258,
+ 259, 260, 0, 746, 261, 262, 1041, 1042, 1043, 1044,
+ 1045, 1046, 1047, 263, 264, 265, 266, 267, 268, 1048,
+ 1049, 271, 0, 272, 0, 273, 274, 275, 276, 277,
+ 0, 278, 279, 280, 2462, 0, 281, 282, 1050, 284,
+ 285, 0, 286, 287, 288, 0, 289, 290, 291, 0,
+ 292, 293, 294, 295, 1051, 297, 298, 299, 1052, 1053,
+ 301, 0, 302, 303, 1054, 305, 0, 306, 0, 307,
+ 748, 0, 749, 308, 309, 310, 0, 311, 1055, 0,
+ 313, 0, 314, 315, 316, 317, 318, 750, 319, 320,
+ 321, 0, 322, 323, 324, 325, 326, 327, 0, 328,
+ 751, 329, 330, 331, 332, 333, 1056, 1057, 0, 1058,
+ 0, 337, 752, 753, 338, 754, 339, 340, 341, 342,
+ 343, 0, 344, 345, 0, 346, 1059, 755, 348, 756,
+ 0, 349, 350, 351, 1060, 1061, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 1062,
+ 757, 1063, 367, 368, 369, 1064, 370, 371, 758, 372,
+ 1065, 1066, 374, 1067, 376, 377, 378, 0, 379, 0,
+ 0, 1068, 381, 382, 0, 0, 383, 384, 759, 385,
+ 760, 1069, 387, 388, 389, 390, 391, 392, 393, 0,
+ 394, 1070, 396, 397, 398, 399, 400, 0, 401, 402,
+ 403, 404, 405, 406, 407, 408, 1071, 410, 411, 412,
+ 413, 0, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 0, 425, 426, 761, 427, 428, 1072,
+ 430, 431, 432, 433, 434, 435, 436, 437, 0, 438,
+ 439, 440, 441, 442, 1073, 443, 444, 445, 446, 762,
+ 447, 1074, 449, 0, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 1075, 0, 461, 462, 0, 463,
+ 464, 465, 466, 467, 468, 0, 1076, 1077, 0, 0,
+ 471, 1078, 473, 1079, 1080, 475, 476, 477, 478, 479,
+ 480, 481, 0, 1081, 482, 483, 484, 485, 486, 1082,
+ 0, 487, 488, 489, 490, 491, 492, 1083, 2463, 494,
+ 763, 495, 496, 497, 498, 0, 0, 499, 0, 0,
+ 500, 501, 502, 503, 504, 505, 506, 1084, 1085, 1086,
+ 1087, 1088, 1089, 1090, 1091, 515, 516, 517, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1092, 1093, 2464, 0,
+ 0, 0, 0, 0, 0, 1095, 2465, 741, 1026, 573,
+ 1027, 1028, 1029, 624, 1030, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 1031, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 1032, 743, 1033,
+ 1034, 0, 234, 235, 236, 237, 238, 1035, 1036, 239,
+ 240, 1037, 1038, 243, 0, 244, 245, 246, 247, 1039,
+ 0, 1040, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263, 264,
+ 265, 266, 267, 268, 1048, 1049, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 1050, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 1051,
+ 297, 298, 299, 1052, 1053, 301, 0, 302, 303, 1054,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 1055, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 1056, 1057, 0, 1058, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 1059, 755, 348, 756, 0, 349, 350, 351, 1060,
+ 1061, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 1062, 757, 1063, 367, 368, 369,
+ 1064, 370, 371, 758, 372, 1065, 1066, 374, 1067, 376,
+ 377, 378, 0, 379, 0, 0, 1068, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 1069, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 1070, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 1071, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 1072, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 1073,
+ 443, 444, 445, 446, 762, 447, 1074, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 1075,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 1076, 1077, 0, 0, 471, 1078, 473, 1079, 1080,
+ 475, 476, 477, 478, 479, 480, 481, 0, 1081, 482,
+ 483, 484, 485, 486, 1082, 0, 487, 488, 489, 490,
+ 491, 492, 1083, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
+ 515, 516, 517, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1092, 1093, 210, 0, 0, 0, 0, 0, 0,
+ 1095, 2368, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 3567, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, -1491, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, -1491, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, -1491, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, -1491, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, -1491, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, -1, 367, 368, 369, 370, 371, 372, 373, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, -1, -1, -1, -1, -1,
- -1, -1, 417, 418, 419, -1, -1, -1, -1, -1,
- -1, 426, 3, 4, 5, 6, 7, 8, 9, 10,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, 30,
- -1, -1, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, 67, -1, 69, 70,
- 71, 72, 73, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, 149, -1,
- 151, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, 205, 206, 207, -1, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
- 371, 372, 373, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, 384, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, -1,
- -1, -1, -1, -1, -1, -1, 417, 418, -1, -1,
- -1, -1, -1, -1, -1, 426, 3, 4, 5, 6,
- 7, 8, 9, 10, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
- -1, -1, -1, 30, -1, -1, 33, 34, -1, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- 67, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, 149, -1, 151, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, 205, 206,
- 207, -1, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
- 367, 368, 369, 370, 371, 372, 373, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, 384, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, -1, -1, -1, -1, -1, -1, -1,
- 417, 418, -1, -1, -1, -1, -1, -1, -1, 426,
- 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, 30, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, 150, 151, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, 205, 206, 207, -1, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
- 373, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- -1, -1, -1, -1, 417, 418, -1, -1, -1, -1,
- -1, -1, -1, 426, 3, 4, 5, 6, 7, 8,
- 9, 10, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, 30, -1, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, 67, -1,
- 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- 149, -1, 151, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, 205, 206, 207, -1,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
- 369, 370, 371, 372, 373, -1, 375, 376, 377, 378,
- 379, 380, 381, 382, 383, 384, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, -1, -1, -1, -1, -1, -1, -1, 417, 418,
- -1, -1, -1, -1, -1, -1, -1, 426, 3, 4,
- 5, 6, 7, 8, 9, 10, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, 30, -1, -1, 33, 34,
- -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, -1, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, 67, -1, 69, 70, 71, 72, 73, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, 149, -1, 151, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- 205, 206, 207, -1, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
+ 365, -1491, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, -1491, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1388, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1175, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 0, 1389, 743, 1390,
+ 1391, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 1392, 1393, 243, 0, 244, 245, 246, 247, 0,
+ 0, 744, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 0, 0, 0, 747, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 1394, 1395, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 1050, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 0,
+ 297, 298, 299, 0, 0, 301, 0, 302, 303, 1396,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 0, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 1868, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 1869, 330, 331, 332,
+ 333, 1397, 1398, 0, 1399, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 755, 348, 756, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 1400, 757, 1401, 367, 368, 0,
+ 0, 370, 371, 758, 372, 0, 0, 374, 1402, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 1871, 759, 385, 760, 0, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 0, 396, 0, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 1403, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 0, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 1872, 445, 446, 762, 447, 1405, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 1406, 1407, 0, 0, 471, 0, 473, 0, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 0, 1408, 1873, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 0, 1388, 0, 0, 0, 0, 0, 0, 0,
+ 515, 516, 517, 211, 212, 213, 214, 215, 216, 217,
+ 218, 0, 220, 221, 222, 0, 0, 0, 0, 0,
+ 0, 1971, 223, 224, 0, 225, 226, 742, 227, 228,
+ 229, 0, 1389, 743, 1390, 1391, 0, 234, 235, 236,
+ 237, 238, 0, 0, 239, 240, 1392, 1393, 243, 0,
+ 244, 245, 246, 247, 0, 0, 744, 0, 249, 250,
+ 251, 252, 745, 253, 254, 0, 255, 256, 257, 258,
+ 259, 260, 0, 746, 261, 262, 0, 0, 0, 747,
+ 0, 0, 0, 263, 264, 265, 266, 267, 268, 1394,
+ 1395, 271, 0, 272, 0, 273, 274, 275, 276, 277,
+ 0, 278, 279, 280, 0, 0, 281, 282, 1050, 284,
+ 285, 0, 286, 287, 288, 0, 289, 290, 291, 0,
+ 292, 293, 294, 295, 0, 297, 298, 299, 0, 0,
+ 301, 0, 302, 303, 1396, 305, 0, 306, 0, 307,
+ 748, 0, 749, 308, 309, 310, 0, 311, 0, 0,
+ 313, 0, 314, 315, 316, 317, 318, 750, 319, 320,
+ 321, 1868, 322, 323, 324, 325, 326, 327, 0, 328,
+ 751, 1869, 330, 331, 332, 333, 1397, 1398, 0, 1399,
+ 0, 337, 752, 753, 338, 754, 339, 340, 341, 342,
+ 343, 0, 344, 345, 0, 346, 0, 755, 348, 756,
+ 0, 349, 350, 351, 0, 0, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 1400,
+ 757, 1401, 367, 368, 0, 0, 370, 371, 758, 372,
+ 0, 0, 374, 1402, 376, 377, 378, 0, 379, 0,
+ 0, 380, 381, 382, 0, 0, 383, 1871, 759, 385,
+ 760, 0, 387, 388, 389, 390, 391, 392, 393, 0,
+ 394, 0, 396, 0, 398, 399, 400, 0, 401, 402,
+ 403, 404, 405, 406, 407, 408, 1403, 410, 411, 412,
+ 413, 0, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 0, 425, 426, 761, 427, 428, 0,
+ 430, 431, 432, 433, 434, 435, 436, 437, 0, 438,
+ 439, 440, 441, 442, 0, 443, 1872, 445, 446, 762,
+ 447, 1405, 449, 0, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 0, 0, 461, 462, 0, 463,
+ 464, 465, 466, 467, 468, 0, 1406, 1407, 0, 0,
+ 471, 0, 473, 0, 0, 475, 476, 477, 478, 479,
+ 480, 481, 0, 0, 482, 483, 484, 485, 486, 0,
+ 0, 487, 488, 489, 490, 491, 0, 1408, 1873, 494,
+ 763, 495, 496, 497, 498, 0, 0, 499, 0, 0,
+ 500, 501, 502, 503, 504, 505, 0, 741, 1026, 573,
+ 1027, 1028, 1029, 624, 1030, 515, 516, 517, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 1031, 0, 2882, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 1032, 743, 1033,
+ 1034, 2378, 234, 235, 236, 237, 238, 1035, 1036, 239,
+ 240, 1037, 1038, 243, 0, 244, 245, 246, 247, 1039,
+ 0, 1040, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263, 264,
+ 265, 266, 267, 268, 1048, 1049, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 1050, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 1051,
+ 297, 298, 299, 1052, 1053, 301, 0, 302, 303, 1054,
+ 305, 0, 306, 0, 307, 748, 2379, 749, 308, 309,
+ 310, 0, 311, 1055, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 1056, 1057, 0, 1058, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 2380,
+ 346, 1059, 755, 348, 756, 0, 349, 350, 351, 1060,
+ 1061, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 1062, 757, 1063, 367, 368, 369,
+ 1064, 370, 371, 758, 372, 1065, 1066, 374, 1067, 376,
+ 377, 378, 0, 379, 0, 0, 1068, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 1069, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 1070, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 1071, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 1072, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 1073,
+ 443, 444, 445, 446, 762, 447, 1074, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 1075,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 1076, 1077, 0, 2381, 471, 1078, 473, 1079, 1080,
+ 475, 476, 477, 478, 479, 480, 481, 0, 1081, 482,
+ 483, 484, 485, 486, 1082, 0, 487, 488, 489, 490,
+ 491, 492, 1083, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
+ 515, 516, 517, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1092, 1093, 0, 0, 0, 0, 0, 0, 0,
+ 1095, 741, 1026, 573, 1027, 1028, 1029, 624, 1030, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 1031, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 230, 1032, 743, 1033, 1034, 0, 234, 235, 236, 237,
+ 238, 1035, 1036, 239, 240, 1037, 1038, 243, 0, 244,
+ 245, 246, 247, 1039, 0, 1040, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 1041, 1042, 1043, 1044, 1045,
+ 1046, 1047, 263, 264, 265, 266, 267, 268, 1048, 1049,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 1050, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 1051, 297, 298, 299, 1052, 1053, 301,
+ 0, 302, 303, 1054, 305, 0, 306, 0, 307, 748,
+ 0, 749, 308, 309, 310, 0, 311, 1055, 0, 313,
+ 0, 314, 315, 316, 317, 318, 750, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 1056, 1057, 0, 1058, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 1059, 755, 348, 756, 0,
+ 349, 350, 351, 1060, 1061, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 1062, 757,
+ 1063, 367, 368, 369, 1064, 370, 371, 758, 372, 1065,
+ 1066, 374, 1067, 376, 377, 378, 0, 379, 0, 0,
+ 1068, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 1069, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 1070, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 1071, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 1072, 430,
+ 431, 432, 433, 434, 435, 436, 437, 38, 438, 439,
+ 440, 441, 442, 1073, 443, 444, 445, 446, 762, 447,
+ 1074, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 1075, 0, 461, 462, 42, 463, 464,
+ 465, 466, 467, 468, 0, 1076, 1077, 0, 0, 471,
+ 1078, 473, 1079, 1080, 475, 476, 477, 478, 479, 480,
+ 481, 0, 1081, 482, 483, 484, 485, 486, 1082, 0,
+ 487, 488, 489, 490, 491, 965, 1083, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 47, 500,
+ 501, 502, 503, 504, 505, 506, 1084, 1085, 1086, 1087,
+ 1088, 1089, 1090, 1091, 515, 516, 517, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1092, 1093, 0, 0, 0,
+ 0, 0, 0, 0, 1095, 741, 1026, 573, 1027, 1028,
+ 1029, 624, 1030, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 1031, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 230, 1032, 743, 1033, 1034, 0,
+ 234, 235, 236, 237, 238, 1035, 1036, 239, 240, 1037,
+ 1038, 243, 0, 244, 245, 246, 247, 1039, 0, 1040,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 1041,
+ 1042, 1043, 1044, 1045, 1046, 1047, 263, 264, 265, 266,
+ 267, 268, 1048, 1049, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 1050, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 1051, 297, 298,
+ 299, 1052, 1053, 301, 0, 302, 303, 1054, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 1055, 0, 313, 0, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 1056,
+ 1057, 0, 1058, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 1059,
+ 755, 348, 756, 0, 349, 350, 351, 1060, 1061, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 1062, 757, 1063, 367, 368, 369, 1064, 370,
+ 371, 758, 372, 1065, 1066, 374, 1067, 376, 377, 378,
+ 0, 379, 0, 0, 1068, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 1069, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 1070, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 1071,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 1072, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 1073, 443, 444,
+ 445, 446, 762, 447, 1074, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 1075, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 1076,
+ 1077, 0, 0, 471, 1078, 473, 1079, 1080, 475, 476,
+ 477, 478, 479, 480, 481, 0, 1081, 482, 483, 484,
+ 485, 486, 1082, 0, 487, 488, 489, 490, 491, 492,
+ 1083, 0, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 515, 516,
+ 517, 0, 0, 0, 0, 0, 0, 0, 0, 1092,
+ 1093, 0, 0, 0, 0, 0, 1595, 2326, 1095, 741,
+ 1026, 573, 1027, 1028, 1029, 624, 1030, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 1031, 0, 0, 223,
+ 224, 0, 225, 226, 742, 227, 228, 229, 230, 1032,
+ 743, 1033, 1034, 0, 234, 235, 236, 237, 238, 1035,
+ 1036, 239, 240, 1037, 1038, 243, 0, 244, 245, 246,
+ 247, 1039, 0, 1040, 0, 249, 250, 251, 252, 745,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 746, 261, 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047,
+ 263, 264, 265, 266, 267, 268, 1048, 1049, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 1050, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 1051, 297, 298, 299, 1052, 1053, 301, 0, 302,
+ 303, 1054, 305, 0, 306, 0, 307, 748, 0, 749,
+ 308, 309, 310, 0, 311, 1055, 0, 313, 0, 314,
+ 315, 316, 317, 318, 750, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 751, 329, 330,
+ 331, 332, 333, 1056, 1057, 0, 1058, 0, 337, 752,
+ 753, 338, 754, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 1059, 755, 348, 756, 0, 349, 350,
+ 351, 1060, 1061, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 1062, 757, 1063, 367,
+ 368, 369, 1064, 370, 371, 758, 372, 1065, 1066, 374,
+ 1067, 376, 377, 378, 0, 379, 0, 0, 1068, 381,
+ 382, 0, 0, 383, 384, 759, 385, 760, 1069, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 1070, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 1071, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 761, 427, 428, 1072, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 1073, 443, 444, 445, 446, 762, 447, 1074, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 1075, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 1076, 1077, 0, 0, 471, 1078, 473,
+ 1079, 1080, 475, 476, 477, 478, 479, 480, 481, 0,
+ 1081, 482, 483, 484, 485, 486, 1082, 0, 487, 488,
+ 489, 490, 491, 492, 1083, 0, 494, 763, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 1084, 1085, 1086, 1087, 1088, 1089,
+ 1090, 1091, 515, 516, 517, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1092, 1093, 1094, 0, 0, 0, 0,
+ 0, 0, 1095, 741, 1026, 573, 1027, 1028, 1029, 624,
+ 1030, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 1031, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 230, 1032, 743, 1033, 1034, 0, 234, 235,
+ 236, 237, 238, 1035, 1036, 239, 240, 1037, 1038, 243,
+ 0, 244, 245, 246, 247, 1039, 0, 1040, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 1041, 1042, 1043,
+ 1044, 1045, 1046, 1047, 263, 264, 265, 266, 267, 268,
+ 1048, 1049, 271, 1167, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 1050,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 1051, 297, 298, 299, 1052,
+ 1053, 301, 0, 302, 303, 1054, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 1055,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 329, 330, 331, 332, 333, 1056, 1057, 0,
+ 1058, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 1059, 755, 348,
+ 756, 0, 349, 350, 351, 1060, 1061, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, -1, 367, 368, 369, 370, 371, 372, 373, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, -1, -1, -1, -1, -1,
- -1, -1, 417, 418, -1, -1, -1, -1, -1, -1,
- -1, 426, 3, 4, 5, 6, 7, 8, 9, 10,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, 30,
- -1, -1, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, 67, -1, 69, 70,
- 71, 72, 73, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, 149, -1,
- 151, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, 205, 206, 207, -1, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
- 371, 372, 373, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, 384, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, -1,
- -1, -1, -1, -1, -1, -1, 417, 418, -1, -1,
- -1, -1, -1, -1, -1, 426, 3, 4, 5, 6,
- 7, 8, 9, 10, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, 30, -1, -1, 33, 34, -1, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- 67, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, 149, -1, 151, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, 205, 206,
- 207, -1, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
- 367, 368, 369, 370, 371, 372, 373, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, 384, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, -1, -1, -1, -1, -1, -1, -1,
- 417, 418, -1, -1, -1, -1, -1, -1, -1, 426,
- 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, 30, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, 205, 206, 207, -1, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
- 373, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- -1, -1, -1, -1, 417, 418, -1, -1, -1, -1,
- -1, -1, -1, 426, 3, 4, 5, 6, 7, 8,
- 9, 10, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, 30, -1, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, 67, -1,
- 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- 149, -1, 151, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, 205, 206, 207, -1,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
- 369, 370, 371, 372, 373, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, 384, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, -1, -1, -1, -1, -1, -1, -1, 417, 418,
- -1, -1, -1, -1, -1, -1, -1, 426, 3, 4,
- 5, 6, 7, 8, 9, 10, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, 30, -1, -1, 33, 34,
- -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, -1, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, 67, -1, 69, 70, 71, 72, 73, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, 149, -1, 151, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- 205, 206, 207, -1, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
+ 1062, 757, 1063, 367, 368, 369, 1064, 370, 371, 758,
+ 372, 1065, 1066, 374, 1067, 376, 377, 378, 0, 379,
+ 0, 0, 1068, 381, 382, 0, 0, 383, 384, 759,
+ 385, 760, 1069, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 1070, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 1071, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 1072, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 1073, 443, 444, 445, 446,
+ 762, 447, 1074, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 1075, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 1076, 1077, 0,
+ 0, 471, 1078, 473, 1079, 1080, 475, 476, 477, 478,
+ 479, 480, 481, 0, 1081, 482, 483, 484, 485, 486,
+ 1082, 0, 487, 488, 489, 490, 491, 492, 1083, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 1084, 1085,
+ 1086, 1087, 1088, 1089, 1090, 1091, 515, 516, 517, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1092, 1093, 0,
+ 0, 0, 0, 0, 0, 0, 1095, 741, 1026, 573,
+ 1027, 1028, 1029, 624, 1030, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 1844, 220, 221, 222,
+ 0, 0, 0, 0, 1031, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 1032, 743, 1033,
+ 1034, 0, 234, 235, 236, 237, 238, 1035, 1036, 239,
+ 240, 1037, 1038, 243, 0, 244, 245, 246, 247, 1039,
+ 0, 1040, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263, 264,
+ 265, 266, 267, 268, 1048, 1049, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 1050, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 1051,
+ 297, 298, 299, 1052, 1053, 301, 0, 302, 303, 1054,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 1055, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 1056, 1057, 0, 1058, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 1059, 755, 348, 756, 0, 349, 350, 351, 1060,
+ 1061, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 1062, 757, 1063, 367, 368, 369,
+ 1064, 370, 371, 758, 372, 1065, 1066, 374, 1067, 376,
+ 377, 378, 0, 379, 0, 0, 1068, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 1069, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 1070, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 1071, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 1072, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 1073,
+ 443, 444, 445, 446, 762, 447, 1074, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 1075,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 1076, 1077, 0, 0, 471, 1078, 473, 1079, 1080,
+ 475, 476, 477, 478, 479, 480, 481, 0, 1081, 482,
+ 483, 484, 485, 486, 1082, 0, 487, 488, 489, 490,
+ 491, 492, 1083, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
+ 515, 516, 517, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1092, 1093, 0, 0, 0, 0, 0, 0, 0,
+ 1095, 741, 1026, 573, 1027, 1028, 1029, 624, 1030, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 1031, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 230, 1032, 743, 1033, 1034, 0, 234, 235, 236, 237,
+ 238, 1035, 1036, 239, 240, 1037, 1038, 243, 0, 244,
+ 245, 246, 247, 1039, 0, 1040, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 1041, 1042, 1043, 1044, 1045,
+ 1046, 1047, 263, 264, 265, 266, 267, 268, 1048, 1049,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 1050, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 1051, 297, 298, 299, 1052, 1053, 301,
+ 0, 302, 303, 1054, 305, 0, 306, 0, 307, 748,
+ 2379, 749, 308, 309, 310, 0, 311, 1055, 0, 313,
+ 0, 314, 315, 316, 317, 318, 750, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 1056, 1057, 0, 1058, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 1059, 755, 348, 756, 0,
+ 349, 350, 351, 1060, 1061, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 1062, 757,
+ 1063, 367, 368, 369, 1064, 370, 371, 758, 372, 1065,
+ 1066, 374, 1067, 376, 377, 378, 0, 379, 0, 0,
+ 1068, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 1069, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 1070, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 1071, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 1072, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 1073, 443, 444, 445, 446, 762, 447,
+ 1074, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 1075, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 1076, 1077, 0, 0, 471,
+ 1078, 473, 1079, 1080, 475, 476, 477, 478, 479, 480,
+ 481, 0, 1081, 482, 483, 484, 485, 486, 1082, 0,
+ 487, 488, 489, 490, 491, 492, 1083, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 1084, 1085, 1086, 1087,
+ 1088, 1089, 1090, 1091, 515, 516, 517, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1092, 1093, 0, 0, 0,
+ 0, 0, 0, 0, 1095, 741, 1026, 573, 1027, 1028,
+ 1029, 624, 1030, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 1031, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 230, 1032, 743, 1033, 1034, 0,
+ 234, 235, 236, 237, 238, 1035, 1036, 239, 240, 1037,
+ 1038, 243, 0, 244, 245, 246, 247, 1039, 0, 1040,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 1041,
+ 1042, 1043, 1044, 1045, 1046, 1047, 263, 264, 265, 266,
+ 267, 268, 1048, 1049, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 1050, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 1051, 297, 298,
+ 299, 1052, 1053, 301, 0, 302, 303, 1054, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 1055, 0, 313, 0, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 1056,
+ 1057, 0, 1058, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 1059,
+ 755, 348, 756, 0, 349, 350, 351, 1060, 1061, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 1062, 757, 1063, 367, 368, 369, 1064, 370,
+ 371, 758, 372, 1065, 1066, 374, 1067, 376, 377, 378,
+ 0, 379, 0, 0, 1068, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 1069, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 1070, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 1071,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 1072, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 1073, 443, 444,
+ 445, 446, 762, 447, 1074, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 1075, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 1076,
+ 1077, 0, 0, 471, 1078, 473, 1079, 1080, 475, 476,
+ 477, 478, 479, 480, 481, 0, 1081, 482, 483, 484,
+ 485, 486, 1082, 0, 487, 488, 489, 490, 491, 492,
+ 1083, 3597, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 515, 516,
+ 517, 0, 0, 0, 0, 0, 0, 0, 0, 1092,
+ 1093, 0, 0, 0, 0, 0, 0, 0, 1095, 741,
+ 1026, 573, 1027, 1028, 1029, 624, 1030, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 1031, 0, 0, 223,
+ 224, 0, 225, 226, 742, 227, 228, 229, 230, 1032,
+ 743, 1033, 1034, 0, 234, 235, 236, 237, 238, 1035,
+ 1036, 239, 240, 1037, 1038, 243, 0, 244, 245, 246,
+ 247, 1039, 0, 1040, 0, 249, 250, 251, 252, 745,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 746, 261, 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047,
+ 263, 264, 265, 266, 267, 268, 1048, 1049, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 1050, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 1051, 297, 298, 299, 1052, 1053, 301, 0, 302,
+ 303, 1054, 305, 0, 306, 0, 307, 748, 0, 749,
+ 308, 309, 310, 0, 311, 1055, 0, 313, 0, 314,
+ 315, 316, 317, 318, 750, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 751, 329, 330,
+ 331, 332, 333, 1056, 1057, 0, 1058, 0, 337, 752,
+ 753, 338, 754, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 1059, 755, 348, 756, 0, 349, 350,
+ 351, 1060, 1061, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 1062, 757, 1063, 367,
+ 368, 369, 1064, 370, 371, 758, 372, 1065, 1066, 374,
+ 1067, 376, 377, 378, 0, 379, 0, 0, 1068, 381,
+ 382, 0, 0, 383, 384, 759, 385, 760, 1069, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 1070, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 1071, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 761, 427, 428, 1072, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 1073, 443, 444, 445, 446, 762, 447, 1074, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 1075, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 1076, 1077, 0, 0, 471, 1078, 473,
+ 1079, 1080, 475, 476, 477, 478, 479, 480, 481, 0,
+ 1081, 482, 483, 484, 485, 486, 1082, 0, 487, 488,
+ 489, 490, 491, 492, 1083, 0, 494, 763, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 1084, 1085, 1086, 1087, 1088, 1089,
+ 1090, 1091, 515, 516, 517, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1092, 1093, 0, 0, 0, 0, 0,
+ 0, 0, 1095, 741, 1026, 573, 1027, 1028, 1029, 624,
+ 1030, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 1031, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 230, 1032, 743, 1033, 1034, 0, 234, 235,
+ 236, 237, 238, 1035, 1036, 239, 240, 1037, 1038, 243,
+ 0, 244, 245, 246, 247, 1039, 0, 1040, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 3607, 1041, 1042, 1043,
+ 1044, 1045, 1046, 1047, 263, 264, 265, 266, 267, 268,
+ 1048, 1049, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 1050,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 1051, 297, 298, 299, 1052,
+ 1053, 301, 0, 302, 303, 1054, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 1055,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 329, 330, 331, 332, 333, 1056, 1057, 0,
+ 1058, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 1059, 755, 348,
+ 756, 0, 349, 350, 351, 1060, 1061, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, -1, 367, 368, 369, 370, 371, 372, 373, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, -1, -1, -1, -1, -1,
- -1, -1, 417, 418, -1, -1, -1, -1, -1, -1,
- -1, 426, 3, 4, 5, 6, 7, 8, 9, 10,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, 30,
- -1, -1, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, 67, -1, 69, 70,
- 71, 72, 73, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, 149, -1,
- 151, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, 205, 206, 207, -1, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, -1, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
- 371, 372, 373, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, 384, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, -1,
- -1, -1, -1, -1, -1, -1, 417, 418, -1, -1,
- -1, -1, -1, -1, -1, 426, 3, 4, 5, 6,
- 7, 8, 9, 10, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, 30, -1, -1, 33, 34, -1, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- 67, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, 149, -1, 151, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, 205, 206,
- -1, -1, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, -1, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
- 367, 368, 369, 370, 371, 372, 373, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, 384, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, -1, -1, -1, -1, -1, -1, -1,
- 417, 418, -1, -1, 3, 4, 5, 6, 7, 426,
- 9, 10, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, 30, -1, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, 67, -1,
- 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- 149, -1, 151, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, 205, 206, 207, -1,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, -1, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, 373, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, 384, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, -1, -1, -1, -1, -1, -1, 3, 4, 5,
- 6, 7, -1, 9, 10, -1, -1, 426, 14, 15,
- 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
- -1, -1, -1, -1, 30, -1, -1, 33, 34, -1,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
- -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
- -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
- 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
- -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, 149, -1, 151, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, 204, 205,
- 206, 207, -1, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, 231, -1, 233, 234, 235,
- 236, 237, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
+ 1062, 757, 1063, 367, 368, 369, 1064, 370, 371, 758,
+ 372, 1065, 1066, 374, 1067, 376, 377, 378, 0, 379,
+ 0, 0, 1068, 381, 382, 0, 0, 383, 384, 759,
+ 385, 760, 1069, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 1070, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 1071, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 1072, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 1073, 443, 444, 445, 446,
+ 762, 447, 1074, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 1075, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 1076, 1077, 0,
+ 0, 471, 1078, 473, 1079, 1080, 475, 476, 477, 478,
+ 479, 480, 481, 0, 1081, 482, 483, 484, 485, 486,
+ 1082, 0, 487, 488, 489, 490, 491, 492, 1083, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 1084, 1085,
+ 1086, 1087, 1088, 1089, 1090, 1091, 515, 516, 517, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1092, 1093, 0,
+ 0, 0, 0, 0, 0, 0, 1095, 741, 1026, 573,
+ 1027, 1028, 1029, 624, 1030, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 1031, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 1032, 743, 1033,
+ 1034, 0, 234, 235, 236, 237, 238, 1035, 1036, 239,
+ 240, 1037, 1038, 243, 0, 244, 245, 246, 247, 1039,
+ 0, 1040, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263, 264,
+ 265, 266, 267, 268, 1048, 1049, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 1050, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 1051,
+ 297, 298, 299, 1052, 1053, 301, 0, 302, 303, 1054,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 1055, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 1056, 1057, 0, 1058, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 1059, 755, 348, 756, 0, 349, 350, 351, 1060,
+ 1061, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 1062, 757, 1063, 367, 368, 369,
+ 1064, 370, 371, 758, 372, 1065, 1066, 374, 1067, 376,
+ 377, 378, 0, 379, 0, 0, 1068, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 1069, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 1070, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 1071, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 1072, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 1073,
+ 443, 444, 445, 446, 762, 447, 1074, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 1075,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 1076, 1077, 0, 0, 471, 1078, 473, 1079, 1080,
+ 475, 476, 477, 478, 479, 480, 481, 0, 1081, 482,
+ 483, 484, 485, 486, 1082, 0, 487, 488, 489, 490,
+ 491, 492, 1083, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 3896, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
+ 515, 516, 517, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1092, 1093, 0, 0, 0, 0, 0, 0, 0,
+ 1095, 741, 1026, 573, 1027, 1028, 1029, 624, 1030, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 1031, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 230, 1032, 743, 1033, 1034, 0, 234, 235, 236, 237,
+ 238, 1035, 1036, 239, 240, 1037, 1038, 243, 0, 244,
+ 245, 246, 247, 1039, 0, 1040, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 1041, 1042, 1043, 1044, 1045,
+ 1046, 1047, 263, 264, 265, 266, 267, 268, 1048, 1049,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 1050, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 1051, 297, 298, 299, 1052, 1053, 301,
+ 0, 302, 303, 1054, 305, 0, 306, 0, 307, 748,
+ 0, 749, 308, 309, 310, 0, 311, 1055, 0, 313,
+ 0, 314, 315, 316, 317, 318, 750, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 1056, 1057, 0, 1058, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 1059, 755, 348, 756, 0,
+ 349, 350, 351, 1060, 1061, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 1062, 757,
+ 1063, 367, 3905, 369, 1064, 370, 371, 758, 372, 1065,
+ 1066, 374, 1067, 376, 377, 378, 0, 379, 0, 0,
+ 1068, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 1069, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 1070, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 1071, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 1072, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 1073, 443, 444, 445, 446, 762, 447,
+ 1074, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 1075, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 1076, 1077, 0, 0, 471,
+ 1078, 473, 1079, 1080, 475, 476, 477, 478, 479, 480,
+ 481, 0, 1081, 482, 483, 484, 485, 486, 1082, 0,
+ 487, 488, 489, 490, 491, 492, 1083, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 1084, 1085, 1086, 1087,
+ 1088, 1089, 1090, 1091, 515, 516, 517, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1092, 1093, 0, 0, 0,
+ 0, 0, 0, 0, 1095, 741, 1026, 573, 1027, 1028,
+ 1029, 624, 1030, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 1031, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 4473, 1032, 743, 1033, 1034, 0,
+ 234, 235, 236, 237, 238, 1035, 1036, 239, 240, 1037,
+ 1038, 243, 0, 244, 245, 246, 247, 1039, 0, 1040,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 4474, 1041,
+ 1042, 1043, 1044, 1045, 1046, 1047, 263, 264, 265, 266,
+ 267, 268, 1048, 1049, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 1050, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 1051, 297, 298,
+ 299, 1052, 1053, 301, 0, 302, 303, 1054, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 1055, 0, 313, 0, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 1056,
+ 1057, 0, 1058, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 1059,
+ 755, 348, 756, 0, 349, 350, 351, 1060, 1061, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 1062, 757, 1063, 367, 368, 369, 1064, 370,
+ 371, 758, 372, 1065, 1066, 374, 1067, 376, 377, 378,
+ 0, 379, 0, 0, 1068, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 1069, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 1070, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 1071,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 1072, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 1073, 443, 444,
+ 445, 446, 762, 447, 1074, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 1075, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 1076,
+ 1077, 0, 0, 471, 1078, 473, 1079, 1080, 475, 476,
+ 477, 478, 4475, 480, 481, 0, 1081, 482, 483, 484,
+ 485, 486, 1082, 0, 487, 488, 489, 490, 491, 492,
+ 1083, 0, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 515, 516,
+ 517, 0, 0, 0, 0, 0, 0, 0, 0, 1092,
+ 1093, 0, 0, 0, 0, 0, 0, 0, 1095, 741,
+ 1026, 573, 1027, 1028, 1029, 624, 1030, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 1031, 0, 0, 223,
+ 224, 0, 225, 226, 742, 227, 228, 229, 230, 1032,
+ 743, 1033, 1034, 0, 234, 235, 236, 237, 238, 1035,
+ 1036, 239, 240, 1037, 1038, 243, 0, 244, 245, 246,
+ 247, 1039, 0, 1040, 0, 249, 250, 251, 252, 745,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 746, 261, 4474, 1041, 1042, 1043, 1044, 1045, 1046, 1047,
+ 263, 264, 265, 266, 267, 268, 1048, 1049, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 1050, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 1051, 297, 298, 299, 1052, 1053, 301, 0, 302,
+ 303, 1054, 305, 0, 306, 0, 307, 748, 0, 749,
+ 308, 309, 310, 0, 311, 1055, 0, 313, 0, 314,
+ 315, 316, 317, 318, 750, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 751, 329, 330,
+ 331, 332, 333, 1056, 1057, 0, 1058, 0, 337, 752,
+ 753, 338, 754, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 1059, 755, 348, 756, 0, 349, 350,
+ 351, 1060, 1061, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 1062, 757, 1063, 367,
+ 368, 369, 1064, 370, 371, 758, 372, 1065, 1066, 374,
+ 1067, 376, 377, 378, 0, 379, 0, 0, 1068, 381,
+ 382, 0, 0, 383, 384, 759, 385, 760, 1069, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 1070, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 1071, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 761, 427, 428, 1072, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 1073, 443, 444, 445, 446, 762, 447, 1074, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 1075, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 1076, 1077, 0, 0, 471, 1078, 473,
+ 1079, 1080, 475, 476, 477, 478, 4475, 480, 481, 0,
+ 1081, 482, 483, 484, 485, 486, 1082, 0, 487, 488,
+ 489, 490, 491, 492, 1083, 0, 494, 763, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 1084, 1085, 1086, 1087, 1088, 1089,
+ 1090, 1091, 515, 516, 517, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1092, 1093, 0, 0, 0, 0, 0,
+ 0, 0, 1095, 741, 1026, 573, 1027, 1028, 1029, 624,
+ 1030, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 1031, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 230, 1032, 743, 1033, 1034, 0, 234, 235,
+ 236, 237, 238, 1035, 1036, 239, 240, 1037, 1038, 243,
+ 0, 244, 245, 246, 247, 1039, 0, 1040, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 1041, 1042, 1043,
+ 1044, 1045, 1046, 1047, 263, 264, 265, 266, 267, 268,
+ 1048, 1049, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 1050,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 1051, 297, 298, 299, 1052,
+ 1053, 301, 0, 302, 303, 1054, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 1055,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 329, 330, 331, 332, 333, 1056, 1057, 0,
+ 1058, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 1059, 755, 348,
+ 756, 0, 349, 350, 351, 1060, 1061, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 1062, 757, 1063, 367, 368, 369, 0, 370, 371, 758,
+ 372, 1065, 1066, 374, 1067, 376, 377, 378, 0, 379,
+ 0, 0, 1068, 381, 382, 0, 0, 383, 384, 759,
+ 385, 760, 1069, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 1070, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 1071, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 1072, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 1073, 443, 444, 445, 446,
+ 762, 447, 1074, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 1075, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 1076, 1077, 0,
+ 0, 471, 1078, 473, 1079, 1080, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 1082, 0, 487, 488, 489, 490, 491, 492, 1083, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 1084, 1085,
+ 1086, 1087, 1088, 1089, 1090, 1091, 515, 516, 517, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2361, 2362, 0,
+ 0, 0, 0, 0, 0, 0, 1095, 741, 1026, 573,
+ 1027, 1028, 1029, 624, 1030, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 1031, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, -2272, 1032, 743, 1033,
+ 1034, 0, 234, 235, 236, 237, 238, 1035, 1036, 239,
+ 240, 1037, 1038, 243, 0, 244, 245, 246, 247, 1039,
+ 0, 1040, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 4474, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263, 264,
+ 265, 266, 267, 268, 1048, 1049, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 1050, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 1051,
+ 297, 298, 299, 1052, 1053, 301, 0, 302, 303, 1054,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 1055, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 1056, 1057, 0, 1058, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 1059, 755, 348, 0, 0, 349, 350, 351, 1060,
+ 1061, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 1062, 757, 1063, 367, 368, 369,
+ 0, 370, 371, 758, 372, 1065, 1066, 374, 1067, 376,
+ 377, 378, 0, 379, 0, 0, 1068, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 1069, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 1070, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 1071, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 1072, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 1073,
+ 443, 444, 445, 446, 0, 447, 1074, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 1075,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 1076, 1077, 0, 0, 471, 1078, 473, 1079, 1080,
+ 475, 476, 477, 478, 4475, 480, 481, 0, 1081, 482,
+ 483, 484, 485, 486, 1082, 0, 487, 488, 489, 490,
+ 491, 492, 1083, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
+ 515, 516, 517, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1092, 1093, 0, 0, 741, 1026, 573, 1027, 1028,
+ 1095, 624, 1030, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 1031, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 230, 1032, 743, 1033, 1034, 0,
+ 234, 235, 236, 237, 238, 1035, 1036, 239, 240, 1037,
+ 1038, 243, 0, 244, 245, 246, 247, 1039, 0, 1040,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 1041,
+ 1042, 1043, 1044, 1045, 1046, 1047, 263, 264, 265, 266,
+ 267, 268, 1048, 1049, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 1050, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 1051, 297, 298,
+ 299, 1052, 1053, 301, 0, 302, 303, 1054, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 1055, 0, 313, 0, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 1056,
+ 1057, 0, 1058, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 1059,
+ 755, 348, 756, 0, 349, 350, 351, 1060, 1061, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 1062, 757, 1063, 367, 368, 369, 0, 370,
+ 371, 758, 372, 1065, 1066, 374, 1067, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 1069, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 1070, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 1071,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 1072, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 1073, 443, 444,
+ 445, 446, 762, 447, 1074, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 1075, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 1076,
+ 1077, 0, 0, 471, 1078, 473, 1079, 1080, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 1082, 0, 487, 488, 489, 490, 491, 492,
+ 1083, 0, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 515, 516,
+ 517, 0, 0, 0, 0, 0, 0, 0, 741, 1026,
+ 573, 1027, 1028, 0, 624, 1030, 0, 0, 1095, 211,
+ 212, 213, 214, 215, 216, 217, 218, 0, 220, 221,
+ 222, 0, 0, 0, 0, 1031, 0, 0, 223, 224,
+ 0, 225, 226, 742, 227, 228, 229, 230, 1032, 743,
+ 1033, 1034, 0, 3515, 235, 236, 237, 238, 1035, 1036,
+ 239, 240, 1037, 1038, 243, 0, 244, 245, 246, 247,
+ 1039, 0, 1040, 0, 249, 250, 251, 252, 745, 253,
+ 254, 0, 255, 256, 257, 258, 259, 260, 0, 746,
+ 261, 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263,
+ 264, 265, 266, 267, 268, 1048, 1049, 271, 0, 272,
+ 0, 273, 274, 275, 276, 277, 0, 278, 279, 280,
+ 0, 0, 281, 282, 1050, 284, 285, 0, 286, 287,
+ 288, 0, 289, 290, 291, 0, 292, 293, 294, 295,
+ 1051, 297, 298, 299, 1052, 1053, 301, 0, 302, 303,
+ 1054, 305, 0, 306, 0, 307, 748, 0, 749, 308,
+ 309, 310, 0, 311, 1055, 0, 313, 0, 314, 315,
+ 316, 317, 318, 750, 319, 320, 321, 0, 322, 323,
+ 324, 325, 326, 327, 0, 328, 751, 329, 330, 331,
+ 332, 333, 1056, 1057, 0, 1058, 0, 337, 752, 753,
+ 338, 754, 339, 340, 341, 342, 343, 0, 344, 345,
+ 0, 346, 1059, 755, 348, 756, 0, 349, 350, 351,
+ 1060, 1061, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 1062, 757, 1063, 367, 368,
+ 369, 0, 370, 371, 758, 372, 1065, 1066, 374, 1067,
+ 376, 377, 378, 0, 379, 0, 0, 380, 381, 382,
+ 0, 0, 383, 384, 759, 385, 760, 1069, 387, 388,
+ 389, 390, 391, 392, 393, 0, 394, 1070, 396, 397,
+ 398, 399, 400, 0, 401, 402, 403, 404, 405, 406,
+ 407, 408, 1071, 410, 411, 412, 413, 0, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
+ 425, 426, 761, 427, 428, 1072, 430, 431, 432, 433,
+ 434, 435, 436, 437, 0, 438, 439, 440, 441, 442,
+ 1073, 443, 444, 445, 446, 762, 447, 1074, 449, 0,
+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
+ 1075, 0, 461, 462, 0, 463, 464, 465, 466, 467,
+ 468, 0, 1076, 1077, 0, 0, 471, 1078, 473, 1079,
+ 1080, 475, 476, 477, 478, 479, 480, 481, 0, 0,
+ 482, 483, 484, 485, 486, 1082, 0, 487, 488, 489,
+ 490, 491, 492, 1083, 0, 494, 763, 495, 496, 497,
+ 498, 0, 0, 499, 0, 0, 500, 501, 502, 503,
+ 504, 505, 506, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
+ 1091, 515, 516, 517, 0, 0, 0, 0, 0, 0,
+ 0, 741, 1026, 573, 1027, 1028, 1029, 624, 1030, 0,
+ 0, 1095, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 1031, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 0, 1032, 743, 1033, 1034, 0, 234, 235, 236, 237,
+ 238, 1035, 1036, 239, 240, 1037, 1038, 243, 0, 244,
+ 245, 246, 247, 1039, 0, 1040, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 1041, 1042, 1043, 1044, 1045,
+ 1046, 1047, 263, 264, 265, 266, 267, 268, 1048, 1049,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 1050, 284, 285,
+ 0, 286, 287, 288, 0, 289, 0, 291, 0, 292,
+ 293, 294, 295, 1051, 297, 298, 299, 1052, 1053, 301,
+ 0, 302, 303, 1054, 305, 0, 306, 0, 307, 748,
+ 0, 749, 308, 309, 310, 0, 311, 1055, 0, 313,
+ 0, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 1056, 1057, 0, 1058, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 1059, 755, 348, 0, 0,
+ 349, 350, 351, 1060, 1061, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 1062, 757,
+ 1063, 367, 368, 369, 0, 370, 371, 758, 372, 1065,
+ 1066, 374, 1067, 376, 377, 378, 0, 379, 0, 0,
+ 1068, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 1069, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 1070, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 1071, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 1072, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 1073, 443, 444, 445, 446, 0, 447,
+ 1074, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 1075, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 1076, 1077, 0, 0, 471,
+ 1078, 473, 1079, 1080, 475, 476, 477, 478, 479, 480,
+ 481, 0, 1081, 482, 483, 484, 485, 486, 1082, 0,
+ 487, 488, 489, 490, 491, 492, 1083, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 1084, 1085, 1086, 1087,
+ 1088, 1089, 1090, 1091, 515, 516, 517, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1092, 1093, 0, 0, 0,
+ 0, 0, 0, 0, 1095, 741, 1026, 573, 1027, 1028,
+ 1029, 624, 1030, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 1031, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 0, 1032, 743, 1033, 1034, 0,
+ 234, 235, 236, 237, 238, 1035, 1036, 239, 240, 1037,
+ 1038, 243, 0, 244, 245, 246, 247, 1039, 0, 1040,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 1041,
+ 1042, 1043, 1044, 1045, 1046, 1047, 263, 264, 265, 266,
+ 267, 268, 1048, 1049, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 1050, 284, 285, 0, 286, 287, 288, 0, 289,
+ 0, 291, 0, 292, 293, 294, 295, 1051, 297, 298,
+ 299, 1052, 1053, 301, 0, 302, 303, 1054, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 1055, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 1056,
+ 1057, 0, 1058, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 1059,
+ 755, 348, 0, 0, 349, 350, 351, 1060, 1061, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 1062, 757, 1063, 367, 368, 369, 0, 370,
+ 371, 758, 372, 1065, 1066, 374, 1067, 376, 377, 378,
+ 0, 379, 0, 0, 1068, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 1069, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 1070, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 1071,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 1072, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 1073, 443, 444,
+ 445, 446, 0, 447, 1074, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 1075, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 1076,
+ 1077, 0, 0, 471, 1078, 473, 1079, 1080, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 1082, 0, 487, 488, 489, 490, 491, 492,
+ 1083, 0, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 515, 516,
+ 517, 0, 0, 0, 0, 0, 0, 0, 741, 2361,
+ 2362, 0, 0, 0, 0, 0, 0, 0, 1095, 211,
+ 212, 213, 214, 215, 216, 217, 218, 0, 220, 221,
+ 222, 0, 0, 0, 0, 0, 0, 0, 223, 224,
+ 0, 225, 226, 742, 227, 228, 229, 230, 231, 743,
+ 232, 233, 0, 234, 235, 236, 237, 238, 0, 1036,
+ 239, 240, 241, 242, 243, 0, 244, 245, 246, 247,
+ 1039, 0, 1040, 0, 249, 250, 251, 252, 745, 253,
+ 254, 0, 255, 256, 257, 258, 259, 260, 0, 746,
+ 261, 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 0, 272,
+ 0, 273, 274, 275, 276, 277, 0, 278, 279, 280,
+ 0, 0, 281, 282, 283, 284, 285, 0, 286, 287,
+ 288, 0, 289, 290, 291, 0, 292, 293, 294, 295,
+ 296, 297, 298, 299, 1052, 0, 301, 0, 302, 303,
+ 304, 305, 0, 306, 0, 307, 748, 0, 749, 308,
+ 309, 310, 0, 311, 1055, 0, 313, 0, 314, 315,
+ 316, 317, 318, 750, 319, 320, 321, 0, 322, 323,
+ 324, 325, 326, 327, 0, 328, 751, 329, 330, 331,
+ 332, 333, 334, 335, 0, 336, 0, 337, 752, 753,
+ 338, 754, 339, 340, 341, 342, 343, 3073, 344, 345,
+ 0, 346, 1059, 755, 348, 756, 0, 349, 350, 351,
+ 1060, 1061, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 757, 366, 367, 368,
+ 369, 0, 370, 371, 758, 372, 0, 1066, 374, 375,
+ 376, 377, 378, 0, 379, 0, 706, 380, 381, 382,
+ 0, 0, 383, 384, 759, 385, 760, 1069, 387, 388,
+ 389, 390, 391, 392, 393, 0, 394, 1070, 396, 397,
+ 398, 399, 400, 0, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 412, 413, 0, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
+ 425, 426, 761, 427, 428, 429, 3074, 431, 432, 433,
+ 434, 435, 436, 437, 38, 438, 439, 440, 441, 442,
+ 1073, 443, 444, 445, 446, 762, 447, 448, 449, 0,
+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
+ 1075, 0, 461, 462, 42, 463, 464, 465, 466, 467,
+ 468, 0, 469, 470, 0, 0, 471, 1078, 473, 1079,
+ 0, 475, 476, 477, 478, 479, 480, 481, 0, 0,
+ 482, 483, 484, 485, 486, 1082, 0, 487, 488, 489,
+ 490, 491, 965, 493, 0, 494, 763, 495, 496, 497,
+ 498, 0, 0, 499, 0, 47, 500, 501, 502, 503,
+ 504, 505, 506, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
+ 1091, 515, 516, 517, 0, 0, 0, 0, 0, 0,
+ 0, 741, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3075, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 230, 231, 743, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 1036, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 1039, 0, 1040, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 1041, 1042, 1043, 1044, 1045,
+ 1046, 1047, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 1052, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 748,
+ 0, 749, 308, 309, 310, 0, 311, 1055, 0, 313,
+ 0, 314, 315, 316, 317, 318, 750, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 3073, 344, 345, 0, 346, 1059, 755, 348, 756, 0,
+ 349, 350, 351, 1060, 1061, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 757,
+ 366, 367, 368, 369, 0, 370, 371, 758, 372, 0,
+ 1066, 374, 375, 376, 377, 378, 0, 379, 0, 706,
+ 380, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 1069, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 1070, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 429, 3074,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 1073, 443, 444, 445, 446, 762, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 1075, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 1078, 473, 1079, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 1082, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 1084, 1085, 1086, 1087,
+ 1088, 1089, 1090, 1091, 515, 516, 517, 0, 0, 0,
+ 0, 0, 0, 0, 741, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3075, 211, 212, 213, 214, 215,
+ 216, 217, 218, 0, 220, 221, 222, 0, 0, 0,
+ 0, 0, 0, 0, 223, 224, 0, 225, 226, 742,
+ 227, 228, 229, 230, 231, 743, 232, 233, 0, 234,
+ 235, 236, 237, 238, 0, 1036, 239, 240, 241, 242,
+ 243, 0, 244, 245, 246, 247, 1039, 0, 1040, 0,
+ 249, 250, 251, 252, 745, 253, 254, 0, 255, 256,
+ 257, 258, 259, 260, 0, 746, 261, 262, 1041, 1042,
+ 1043, 1044, 1045, 1046, 1047, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 0, 272, 0, 273, 274, 275,
+ 276, 277, 0, 278, 279, 280, 0, 0, 281, 282,
+ 283, 284, 285, 0, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 298, 299,
+ 1052, 0, 301, 0, 302, 303, 304, 305, 0, 306,
+ 0, 307, 748, 0, 749, 308, 309, 310, 0, 311,
+ 1055, 0, 313, 0, 314, 315, 316, 317, 318, 750,
+ 319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
+ 0, 328, 751, 329, 330, 331, 332, 333, 334, 335,
+ 0, 336, 0, 337, 752, 753, 338, 754, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 1059, 755,
+ 348, 756, 0, 349, 350, 351, 1060, 1061, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 757, 366, 367, 368, 369, 0, 370, 371,
+ 758, 372, 0, 1066, 374, 375, 376, 377, 378, 0,
+ 379, 0, 0, 380, 381, 382, 0, 0, 383, 384,
+ 759, 385, 760, 1069, 387, 388, 389, 390, 391, 392,
+ 393, 0, 394, 1070, 396, 397, 398, 399, 400, 0,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 0, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 425, 426, 761, 427,
+ 428, 429, 3074, 431, 432, 433, 434, 435, 436, 437,
+ 0, 438, 439, 440, 441, 442, 1073, 443, 444, 445,
+ 446, 762, 447, 448, 449, 0, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 1075, 0, 461, 462,
+ 0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
+ 0, 0, 471, 1078, 473, 1079, 0, 475, 476, 477,
+ 478, 479, 480, 481, 0, 0, 482, 483, 484, 485,
+ 486, 1082, 0, 487, 488, 489, 490, 491, 492, 493,
+ 0, 494, 763, 495, 496, 497, 498, 0, 0, 499,
+ 0, 0, 500, 501, 502, 503, 504, 505, 506, 1084,
+ 1085, 1086, 1087, 1088, 1089, 1090, 1091, 515, 516, 517,
+ 0, 0, 0, 0, 0, 0, 0, 741, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 48, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 231, 743, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 1036, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 1039,
+ 0, 1040, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 1052, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 1055, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 1059, 755, 348, 756, 0, 349, 350, 351, 1060,
+ 1061, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 757, 366, 367, 368, 369,
+ 0, 370, 371, 758, 372, 0, 1066, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 1069, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 1070, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 1073,
+ 443, 444, 445, 446, 762, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 1075,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 1078, 473, 1079, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 1082, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
+ 515, 516, 517, 0, 0, 0, 0, 0, 0, 0,
+ 784, 1282, 573, 0, 0, 0, 624, 0, 0, 0,
+ 3632, 211, 212, 213, 214, 215, 216, 217, 218, 0,
+ 220, 221, 222, 0, 0, 0, 0, 0, 0, 0,
+ 223, 224, 0, 225, 226, 742, 227, 228, 229, 230,
+ 231, 743, 232, 233, 0, 234, 235, 236, 237, 238,
+ 0, 0, 239, 240, 241, 242, 243, 0, 244, 245,
+ 246, 247, 248, 0, 744, 0, 249, 250, 251, 252,
+ 745, 253, 254, 0, 255, 256, 257, 258, 259, 260,
+ 0, 746, 261, 262, 0, 0, 0, 747, 0, 0,
+ 0, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 0, 272, 0, 273, 274, 275, 276, 277, 0, 278,
+ 279, 280, 0, 0, 281, 282, 283, 284, 285, 0,
+ 286, 287, 288, 0, 289, 290, 291, 0, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 1527, 301, 0,
+ 302, 303, 304, 305, 0, 306, 0, 307, 748, 0,
+ 749, 308, 309, 310, 0, 311, 312, 0, 313, 0,
+ 314, 315, 316, 317, 318, 750, 319, 320, 321, 0,
+ 322, 323, 324, 325, 326, 327, 0, 328, 751, 329,
+ 330, 331, 332, 333, 334, 335, 0, 336, 0, 337,
+ 752, 753, 338, 754, 339, 340, 341, 342, 343, 0,
+ 344, 345, 0, 346, 347, 755, 348, 756, 0, 349,
+ 350, 351, 0, 0, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 757, 366,
+ 367, 368, 369, 0, 370, 371, 758, 372, 0, 373,
+ 374, 375, 376, 377, 378, 0, 379, 1528, 0, 380,
+ 381, 382, 0, 0, 383, 384, 759, 385, 760, 386,
+ 387, 388, 389, 390, 391, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 0, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 0,
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 0, 425, 426, 761, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 0, 438, 439, 440,
+ 441, 442, 0, 443, 444, 445, 446, 762, 447, 448,
+ 449, 0, 450, 451, 452, 453, 454, 455, 456, 457,
+ 458, 459, 460, 0, 461, 462, 0, 463, 464, 465,
+ 466, 467, 468, 0, 469, 470, 0, 0, 471, 472,
+ 473, 474, 1529, 475, 476, 477, 478, 479, 480, 481,
+ 0, 0, 482, 483, 484, 485, 486, 0, 0, 487,
+ 488, 489, 490, 491, 492, 493, 0, 494, 763, 495,
+ 496, 497, 498, 0, 0, 499, 0, 0, 500, 501,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 515, 516, 517, 0, 0, 0, 0,
+ 0, 0, 0, 784, 636, 1283, 4049, 0, 0, 0,
+ 0, 0, 0, 4050, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 3, 4, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 230, 231, 743, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 744, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 0, 0, 0,
+ 747, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 755, 348,
+ 756, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 757, 366, 367, 368, 369, 0, 370, 371, 758,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 759,
+ 385, 760, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 38,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 762, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 42,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 965, 493, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 47, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 0,
+ 0, 0, 0, 0, 0, 0, 741, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 48, 211, 212, 213,
+ 214, 215, 216, 217, 218, 0, 220, 221, 222, 0,
+ 0, 0, 0, 0, 0, 0, 223, 224, 0, 225,
+ 226, 742, 227, 228, 229, 230, 231, 743, 232, 233,
+ 0, 234, 235, 236, 237, 238, 0, 0, 239, 240,
+ 241, 242, 243, 0, 244, 245, 246, 247, 248, 0,
+ 744, 0, 249, 250, 251, 252, 745, 253, 254, 0,
+ 255, 256, 257, 258, 259, 260, 0, 746, 261, 262,
+ 0, 0, 0, 747, 0, 0, 0, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 0, 272, 0, 273,
+ 274, 275, 276, 277, 0, 278, 279, 280, 0, 0,
+ 281, 282, 283, 284, 285, 0, 286, 287, 288, 0,
+ 289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 0, 301, 0, 302, 303, 304, 305,
+ 0, 306, 0, 307, 748, 0, 749, 308, 309, 310,
+ 0, 311, 312, 0, 313, 0, 314, 315, 316, 317,
+ 318, 750, 319, 320, 321, 0, 322, 323, 324, 325,
+ 326, 327, 0, 328, 751, 329, 330, 331, 332, 333,
+ 334, 335, 0, 336, 0, 337, 752, 753, 338, 754,
+ 339, 340, 341, 342, 343, 0, 344, 345, 0, 346,
+ 347, 755, 348, 756, 0, 349, 350, 351, 0, 0,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 757, 366, 367, 368, 369, 0,
+ 370, 371, 758, 372, 0, 373, 374, 375, 376, 377,
+ 378, 0, 379, 0, 0, 380, 381, 382, 0, 0,
+ 383, 384, 759, 385, 760, 386, 387, 388, 389, 390,
+ 391, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 0, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 0, 414, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 0, 425, 426,
+ 761, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 0, 438, 439, 440, 441, 442, 0, 443,
+ 444, 445, 446, 762, 447, 448, 449, 0, 450, 451,
+ 452, 453, 454, 455, 456, 457, 458, 459, 460, 0,
+ 461, 462, 0, 463, 464, 465, 466, 467, 468, 0,
+ 469, 470, 0, 0, 471, 472, 473, 474, 0, 475,
+ 476, 477, 478, 479, 480, 481, 0, 0, 482, 483,
+ 484, 485, 486, 0, 0, 487, 488, 489, 490, 491,
+ 492, 493, 0, 494, 763, 495, 496, 497, 498, 0,
+ 0, 499, 0, 0, 500, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
+ 516, 517, 0, 0, 0, 0, 0, 0, 0, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4205,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 38, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 42, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 965, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 47, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 0, 0, 0, 0, 0,
+ 0, 0, 210, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 48, 211, 212, 213, 214, 215, 216, 217,
+ 218, 0, 220, 221, 222, 0, 0, 0, 0, 0,
+ 0, 0, 223, 224, 0, 225, 226, 0, 227, 228,
+ 229, 230, 231, 0, 232, 233, 0, 234, 235, 236,
+ 237, 238, 0, 0, 239, 240, 241, 242, 243, 0,
+ 244, 245, 246, 247, 248, 0, 0, 0, 249, 250,
+ 251, 252, 0, 253, 254, 0, 255, 256, 257, 258,
+ 259, 260, 0, 0, 261, 262, 0, 0, 0, 0,
+ 0, 0, 0, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 0, 272, 0, 273, 274, 275, 276, 277,
+ 0, 278, 279, 280, 0, 0, 281, 282, 283, 284,
+ 285, 0, 286, 287, 288, 0, 289, 290, 291, 0,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 0,
+ 301, 0, 302, 303, 304, 305, 0, 306, 0, 307,
+ 0, 0, 0, 308, 309, 310, 0, 311, 312, 0,
+ 313, 0, 314, 315, 316, 317, 318, 0, 319, 320,
+ 321, 0, 322, 323, 324, 325, 326, 327, 0, 328,
+ 0, 329, 330, 331, 332, 333, 334, 335, 0, 336,
+ 0, 337, 0, 0, 338, 0, 339, 340, 341, 342,
+ 343, 0, 344, 345, 0, 346, 347, 0, 348, 0,
+ 0, 349, 350, 351, 0, 0, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, 373, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, 384, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, -1, -1, -1, -1, -1, -1,
- 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
- 426, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, 30, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, -1, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, 205, 206, -1, -1, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, -1,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
- 373, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- -1, -1, -1, -1, 417, 418, -1, -1, -1, -1,
- -1, -1, -1, 426, 3, 4, 5, 6, 7, 8,
- 9, 10, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, 30, -1, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, -1, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, 67, -1,
- 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, -1,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- 149, -1, 151, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, 205, 206, -1, -1,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, -1, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, 373, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, 384, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, -1, -1, -1, -1, -1, -1, 3, 417, 418,
- -1, -1, -1, -1, -1, -1, -1, 426, 14, 15,
- 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
- -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
- 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
- -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
- -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
- 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
- -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, 149, -1, 151, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, 204, 205,
- 206, 207, -1, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, 231, -1, 233, 234, 235,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, 247, 248, 249, 250, -1, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, 373, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, 384, 385,
- 386, 387, -1, -1, 390, -1, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, -1, -1, -1, -1, -1, -1,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 426, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, 54, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, 205, 206, 207, -1, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, -1,
- 233, 234, 235, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, 247, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- 373, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- -1, -1, -1, 3, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 426, 14, 15, 16, 17, 18, 19,
- 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
- -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, 54, 55, 56, 57, 58, 59,
- -1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
- 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
- 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
- 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, 149,
- -1, 151, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, 205, 206, 207, -1, 209,
- 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, -1, 233, 234, 235, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
- 370, 371, 372, 373, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, 384, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- -1, -1, -1, -1, -1, -1, 3, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 426, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- 67, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
- -1, -1, -1, 90, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, 149, -1, 151, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, 205, 206,
- 207, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, -1, 233, 234, 235, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, 323, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, 384, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, -1, -1, -1, -1, -1, -1, 3,
- 4, 5, -1, -1, -1, 9, -1, -1, -1, 426,
- 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
- 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
- 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
- -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
- 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
- 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
- -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
- 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
- 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, -1, -1, -1, 152, 153,
- 154, -1, 156, 157, -1, 159, -1, 161, 162, 163,
- 164, 165, -1, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, -1, 180, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
- -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- 204, -1, 206, -1, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, -1, 228, 229, 230, 231, -1, 233,
- 234, -1, 236, -1, 238, 239, 240, 241, 242, 243,
- -1, 245, 246, -1, 248, 249, 250, -1, -1, 253,
- -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, -1,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
+ 0, 366, 367, 368, 369, 0, 370, 371, 0, 372,
+ 0, 373, 374, 375, 376, 377, 378, 0, 379, 0,
+ 0, 380, 381, 382, 0, 0, 383, 384, 0, 385,
+ 0, 386, 387, 388, 389, 390, 391, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
+ 413, 0, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 0, 425, 426, 0, 427, 428, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 0, 438,
+ 439, 440, 441, 442, 0, 443, 444, 445, 446, 0,
+ 447, 448, 449, 0, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 460, 0, 461, 462, 0, 463,
+ 464, 465, 466, 467, 468, 0, 469, 470, 0, 0,
+ 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
+ 480, 481, 0, 0, 482, 483, 484, 485, 486, 0,
+ 0, 487, 488, 489, 490, 491, 492, 493, 0, 494,
+ 0, 495, 496, 497, 498, 0, 0, 499, 0, 0,
+ 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 515, 516, 517, 0, 0,
+ 0, 0, 0, 0, 0, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1151, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 0, 0, 0, 0, 0, 0, 0, 210, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2516, 211,
+ 212, 213, 214, 215, 216, 217, 218, 0, 220, 221,
+ 222, 0, 0, 0, 0, 0, 0, 0, 223, 224,
+ 0, 225, 226, 0, 227, 228, 229, 230, 231, 0,
+ 232, 233, 0, 234, 235, 236, 237, 238, 0, 0,
+ 239, 240, 241, 242, 243, 0, 244, 245, 246, 247,
+ 248, 0, 0, 0, 249, 250, 251, 252, 0, 253,
+ 254, 0, 255, 256, 257, 258, 259, 260, 0, 0,
+ 261, 262, 0, 0, 0, 0, 0, 0, 0, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 0, 272,
+ 0, 273, 274, 275, 276, 277, 0, 278, 279, 280,
+ 0, 0, 281, 282, 283, 284, 285, 0, 286, 287,
+ 288, 0, 289, 290, 291, 0, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 0, 301, 0, 302, 303,
+ 304, 305, 0, 306, 0, 307, 0, 0, 0, 308,
+ 309, 310, 0, 311, 312, 0, 313, 0, 314, 315,
+ 316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
+ 324, 325, 326, 327, 0, 328, 0, 329, 330, 331,
+ 332, 333, 334, 335, 0, 336, 0, 337, 0, 0,
+ 338, 0, 339, 340, 341, 342, 343, 0, 344, 345,
+ 0, 346, 347, 0, 348, 0, 0, 349, 350, 351,
+ 0, 0, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 0, 366, 367, 368,
+ 369, 0, 370, 371, 0, 372, 0, 373, 374, 375,
+ 376, 377, 378, 0, 379, 0, 0, 380, 381, 382,
+ 0, 0, 383, 384, 0, 385, 0, 386, 387, 388,
+ 389, 390, 391, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 0, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 412, 413, 0, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
+ 425, 426, 0, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 0, 438, 439, 440, 441, 442,
+ 0, 443, 444, 445, 446, 0, 447, 448, 449, 0,
+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
+ 460, 0, 461, 462, 0, 463, 464, 465, 466, 467,
+ 468, 0, 469, 470, 0, 0, 471, 472, 473, 474,
+ 0, 475, 476, 477, 478, 479, 480, 481, 0, 0,
+ 482, 483, 484, 485, 486, 0, 0, 487, 488, 489,
+ 490, 491, 492, 493, 0, 494, 0, 495, 496, 497,
+ 498, 0, 0, 499, 0, 0, 500, 501, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 515, 516, 517, 0, 0, 0, 0, 0, 0,
+ 0, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3551, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 0, 0, 0,
+ 0, 0, 0, 0, 1388, 1282, 573, 0, 0, 794,
+ 624, 0, 0, 0, 3947, 211, 212, 213, 214, 215,
+ 216, 217, 218, 1732, 220, 221, 222, 1733, 1734, 1735,
+ 1736, 1737, 1738, 1739, 223, 224, 1740, 225, 226, 742,
+ 227, 228, 229, 0, 1389, 743, 1390, 1391, 1741, 234,
+ 235, 236, 237, 238, 1742, 1743, 239, 240, 1392, 1393,
+ 243, 1744, 244, 245, 246, 247, 0, 1745, 744, 1746,
+ 249, 250, 251, 252, 745, 253, 254, 1747, 255, 256,
+ 257, 258, 259, 260, 1748, 746, 261, 262, 1749, 1750,
+ 1751, 747, 1752, 1753, 1754, 263, 264, 265, 266, 267,
+ 268, 1394, 1395, 271, 1755, 272, 1756, 273, 274, 275,
+ 276, 277, 1757, 278, 279, 280, 1758, 1759, 281, 282,
+ 1050, 284, 285, 1760, 286, 287, 288, 1761, 289, 290,
+ 291, 1762, 292, 293, 294, 295, 0, 297, 298, 299,
+ 0, 1763, 301, 1764, 302, 303, 1396, 305, 1765, 306,
+ 1766, 307, 748, 1767, 749, 308, 309, 310, 1768, 311,
+ 0, 1769, 313, 1770, 314, 315, 316, 317, 318, 750,
+ 319, 320, 321, 1771, 322, 323, 324, 325, 326, 327,
+ 1772, 328, 751, 0, 330, 331, 332, 333, 1397, 1398,
+ 1773, 1399, 1774, 337, 752, 753, 338, 754, 339, 340,
+ 341, 342, 343, 1775, 344, 345, 1776, 346, 0, 755,
+ 348, 756, 1777, 349, 350, 351, 1778, 1779, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, 380, 381, -1, 383,
- -1, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, -1, -1, -1, -1,
- -1, -1, 3, 417, 418, 419, -1, -1, -1, -1,
- -1, -1, 426, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, 26, 27, -1, -1, -1,
- -1, -1, 33, 34, -1, 36, 37, -1, 39, 40,
- 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, -1, -1,
- -1, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, -1, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, -1, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- -1, -1, 193, -1, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, -1, 206, -1, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
- 231, -1, 233, 234, -1, 236, -1, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, -1, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
- 371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, 384, 385, 386, 387, -1, -1, 390,
- -1, 392, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, -1,
- -1, -1, -1, -1, -1, 3, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 426, 14, 15, 16, 17,
- 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
- -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
- -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
- -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
- 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
- -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
- 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
- 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
- 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, -1, -1, -1, -1, -1, -1, 3, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 426, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, -1, -1, -1, -1, -1,
- -1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 426, 14, 15, 16, 17, 18, 19, 20, 21,
- -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
- 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
- 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
- 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, -1, 140, -1,
- 142, 143, 144, -1, 146, -1, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, -1, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, -1, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, -1, 359, 360, 361,
- 362, 363, 364, 365, -1, -1, 368, 369, 370, 371,
- 372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, -1, -1,
- -1, -1, -1, -1, 3, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 426, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
- 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- -1, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, -1, -1, -1, -1, -1, -1, 3, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 426, 14, 15,
- 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
- -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
- 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
- -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
- -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
- 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
- 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
- -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, -1, -1, -1, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- -1, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, -1, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, -1, -1, 193, -1, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
- 206, -1, -1, 209, 210, 211, -1, -1, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, -1, 228, 229, 230, 231, -1, 233, 234, -1,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, 253, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, -1, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, -1, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, -1, -1, -1, -1, -1, -1,
- 3, 4, 5, -1, -1, 8, 9, -1, -1, -1,
- 426, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, -1, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, -1, 135, 136, 137, -1, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, -1, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, -1, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, -1, 232,
- 233, 234, 235, 236, 237, -1, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- -1, 254, 255, 256, -1, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, -1, 268, -1, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- -1, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, -1, 356, -1, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, 375, 376, 377, 378, 379, -1, 381, 382,
- 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, 397, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 407, 408, 409, -1, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 3, -1, -1, -1, -1, 8, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 3, -1, -1, -1, -1, 8, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 3, -1, -1, -1, -1, 8, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 3, -1, -1, -1, -1, 8, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 3, -1, -1, -1, -1, 8, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 3, -1, -1, -1, -1, 8, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 3, -1, -1, -1, -1, 8, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, 3,
- 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
- 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 364, 1400, 757, 1401, 367, 368, 0, 1780, 370, 371,
+ 758, 372, 1781, 0, 374, 1402, 376, 377, 378, 1782,
+ 379, 1783, 1784, 3312, 381, 382, 1785, 1786, 383, 0,
+ 759, 385, 760, 0, 387, 388, 389, 390, 391, 392,
+ 393, 1787, 394, 0, 396, 0, 398, 399, 400, 1788,
+ 401, 402, 403, 404, 405, 406, 407, 408, 1403, 410,
+ 411, 412, 413, 1789, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 1790, 425, 426, 761, 427,
+ 428, 0, 430, 431, 432, 433, 434, 435, 436, 437,
+ 1791, 438, 439, 440, 441, 442, 1792, 443, 1872, 445,
+ 446, 762, 447, 1405, 449, 1793, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 0, 1794, 461, 462,
+ 1795, 463, 464, 465, 466, 467, 468, 1796, 1406, 1407,
+ 1797, 1798, 471, 0, 473, 0, 1799, 475, 476, 477,
+ 478, 479, 480, 481, 1800, 1801, 482, 483, 484, 485,
+ 486, 1802, 1803, 487, 488, 489, 490, 491, 0, 1408,
+ 1804, 494, 763, 495, 496, 497, 498, 1805, 1806, 499,
+ 1807, 1808, 500, 501, 502, 503, 504, 505, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 515, 516, 517,
+ 0, 0, 0, 0, 797, 798, 799, 0, 3313, 3314,
+ 802, 803, 804, 805, 210, 0, 0, 0, 0, 794,
+ 0, 0, 0, 0, 0, 211, 212, 213, 214, 215,
+ 216, 217, 218, 0, 220, 221, 222, 0, 0, 0,
+ 0, 0, 0, 0, 223, 224, 0, 225, 226, 0,
+ 227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
+ 235, 236, 237, 238, 0, 0, 239, 240, 241, 242,
+ 243, 0, 244, 795, 246, 247, 248, 0, 0, 0,
+ 249, 250, 251, 252, 0, 253, 254, 0, 255, 256,
+ 257, 258, 259, 260, 0, 0, 261, 262, 0, 0,
+ 0, 0, 0, 0, 0, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 0, 272, 0, 273, 274, 275,
+ 276, 277, 0, 278, 279, 280, 0, 0, 281, 282,
+ 283, 284, 285, 0, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 0, 796, 0, 302, 303, 304, 305, 0, 306,
+ 0, 307, 0, 0, 0, 308, 309, 310, 0, 311,
+ 312, 0, 313, 0, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
+ 0, 328, 0, 329, 330, 331, 332, 333, 334, 335,
+ 0, 336, 0, 337, 0, 0, 338, 0, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 347, 0,
+ 348, 0, 0, 349, 350, 351, 0, 0, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
- 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, -1, -1,
- -1, -1, -1, -1, -1, 419, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
- -1, -1, 419, -1, 14, 15, 16, 17, 18, 19,
+ 364, 365, 0, 366, 367, 368, 369, 0, 370, 371,
+ 0, 372, 0, 373, 374, 375, 376, 377, 378, 0,
+ 379, 0, 0, 380, 381, 382, 0, 0, 383, 384,
+ 0, 385, 0, 386, 387, 388, 389, 390, 391, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 0,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 0, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 425, 426, 0, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 0, 438, 439, 440, 441, 442, 0, 443, 444, 445,
+ 446, 0, 447, 448, 449, 0, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 0, 461, 462,
+ 0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
+ 0, 0, 471, 472, 473, 474, 0, 475, 476, 477,
+ 478, 479, 480, 481, 0, 0, 482, 483, 484, 485,
+ 486, 0, 0, 487, 488, 489, 490, 491, 492, 493,
+ 0, 494, 0, 495, 496, 497, 498, 0, 0, 499,
+ 0, 0, 500, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
+ 0, 0, 0, 0, 797, 798, 799, 0, 800, 801,
+ 802, 803, 804, 805, 210, 0, 0, 0, 0, 794,
+ 0, 0, 0, 0, 0, 211, 212, 213, 214, 215,
+ 216, 217, 218, 0, 220, 221, 222, 0, 0, 0,
+ 0, 0, 0, 0, 223, 224, 0, 225, 226, 0,
+ 227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
+ 235, 236, 237, 238, 0, 0, 239, 240, 241, 242,
+ 243, 0, 244, 888, 246, 247, 248, 0, 0, 0,
+ 249, 250, 251, 252, 0, 253, 254, 0, 255, 256,
+ 257, 258, 259, 260, 0, 0, 261, 262, 0, 0,
+ 0, 0, 0, 0, 0, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 0, 272, 0, 273, 274, 275,
+ 276, 277, 0, 278, 279, 280, 0, 0, 281, 282,
+ 283, 284, 285, 0, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 0, 889, 0, 302, 303, 304, 305, 0, 306,
+ 0, 307, 0, 0, 0, 308, 309, 310, 0, 311,
+ 312, 0, 313, 0, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
+ 0, 328, 0, 329, 330, 331, 332, 333, 334, 335,
+ 0, 336, 0, 337, 0, 0, 338, 0, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 347, 0,
+ 348, 0, 0, 349, 350, 351, 0, 0, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 0, 366, 367, 368, 369, 0, 370, 371,
+ 0, 372, 0, 373, 374, 375, 376, 377, 378, 0,
+ 379, 0, 0, 380, 381, 382, 0, 0, 383, 384,
+ 0, 385, 0, 386, 387, 388, 389, 390, 391, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 0,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 0, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 425, 426, 0, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 0, 438, 439, 440, 441, 442, 0, 443, 444, 445,
+ 446, 0, 447, 448, 449, 0, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 0, 461, 462,
+ 0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
+ 0, 0, 471, 472, 473, 474, 0, 475, 476, 477,
+ 478, 479, 480, 481, 0, 0, 482, 483, 484, 485,
+ 486, 0, 0, 487, 488, 489, 490, 491, 492, 493,
+ 0, 494, 0, 495, 496, 497, 498, 0, 0, 499,
+ 0, 0, 500, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
+ 0, 0, 0, 0, 797, 798, 799, 0, 800, 801,
+ 802, 803, 804, 805, 210, 0, 0, 0, 0, 794,
+ 0, 0, 0, 0, 0, 211, 212, 213, 214, 215,
+ 216, 217, 218, 0, 220, 221, 222, 0, 0, 0,
+ 0, 0, 0, 0, 223, 224, 0, 225, 226, 0,
+ 227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
+ 235, 236, 237, 238, 0, 0, 239, 240, 241, 242,
+ 243, 0, 244, 938, 246, 247, 248, 0, 0, 0,
+ 249, 250, 251, 252, 0, 253, 254, 0, 255, 256,
+ 257, 258, 259, 260, 0, 0, 261, 262, 0, 0,
+ 0, 0, 0, 0, 0, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 0, 272, 0, 273, 274, 275,
+ 276, 277, 0, 278, 279, 280, 0, 0, 281, 282,
+ 283, 284, 285, 0, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 0, 939, 0, 302, 303, 304, 305, 0, 306,
+ 0, 307, 0, 0, 0, 308, 309, 310, 0, 311,
+ 312, 0, 313, 0, 314, 315, 316, 317, 940, 0,
+ 319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
+ 0, 328, 0, 329, 330, 331, 332, 333, 334, 335,
+ 0, 336, 0, 337, 0, 0, 338, 0, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 347, 0,
+ 348, 0, 0, 349, 350, 351, 0, 0, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 0, 366, 367, 368, 369, 0, 370, 371,
+ 0, 372, 0, 373, 374, 375, 376, 377, 378, 0,
+ 379, 0, 0, 380, 381, 382, 0, 0, 383, 384,
+ 0, 385, 0, 386, 387, 388, 389, 390, 391, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 0,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 0, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 425, 426, 0, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 0, 438, 439, 440, 441, 442, 0, 443, 444, 445,
+ 446, 0, 447, 448, 449, 0, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 0, 461, 462,
+ 0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
+ 0, 0, 471, 472, 473, 474, 0, 475, 476, 477,
+ 478, 479, 480, 481, 0, 0, 482, 483, 484, 485,
+ 486, 0, 0, 487, 488, 489, 490, 491, 492, 493,
+ 0, 494, 0, 495, 496, 497, 498, 0, 0, 499,
+ 0, 0, 500, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
+ 0, 0, 0, 0, 797, 798, 799, 0, 800, 801,
+ 802, 803, 804, 805, 210, 0, 0, 0, 0, 794,
+ 0, 0, 0, 0, 0, 211, 212, 213, 214, 215,
+ 216, 217, 218, 0, 220, 221, 222, 0, 0, 0,
+ 0, 0, 0, 0, 223, 224, 0, 225, 226, 0,
+ 227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
+ 235, 236, 237, 238, 0, 0, 239, 240, 241, 242,
+ 243, 0, 244, 1373, 246, 247, 248, 0, 0, 0,
+ 249, 250, 251, 252, 0, 253, 254, 0, 255, 256,
+ 257, 258, 259, 260, 0, 0, 261, 262, 0, 0,
+ 0, 0, 0, 0, 0, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 0, 272, 0, 273, 274, 275,
+ 276, 277, 0, 278, 279, 280, 0, 0, 281, 282,
+ 283, 284, 285, 0, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 0, 1374, 0, 302, 303, 304, 305, 0, 306,
+ 0, 307, 0, 0, 0, 308, 309, 310, 0, 311,
+ 312, 0, 313, 0, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
+ 0, 328, 0, 329, 330, 331, 332, 333, 334, 335,
+ 0, 336, 0, 337, 0, 0, 338, 0, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 347, 0,
+ 348, 0, 0, 349, 350, 351, 0, 0, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 0, 366, 367, 368, 369, 0, 370, 371,
+ 0, 372, 0, 373, 374, 375, 376, 377, 378, 0,
+ 379, 0, 0, 380, 381, 382, 0, 0, 383, 384,
+ 0, 385, 0, 386, 387, 388, 389, 390, 391, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 0,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 0, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 425, 426, 0, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 0, 438, 439, 440, 441, 442, 0, 443, 444, 445,
+ 446, 0, 447, 448, 449, 0, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 0, 461, 462,
+ 0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
+ 0, 0, 471, 472, 473, 474, 0, 475, 476, 477,
+ 478, 479, 480, 481, 0, 0, 482, 483, 484, 485,
+ 486, 0, 0, 487, 488, 489, 490, 491, 492, 493,
+ 0, 494, 0, 495, 496, 497, 498, 0, 0, 499,
+ 0, 0, 500, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
+ 0, 0, 0, 0, 797, 798, 799, 0, 800, 801,
+ 802, 803, 804, 805, 210, 0, 0, 0, 0, 794,
+ 0, 0, 0, 0, 0, 211, 212, 213, 214, 215,
+ 216, 217, 218, 0, 220, 221, 222, 0, 0, 0,
+ 0, 0, 0, 0, 223, 224, 0, 225, 226, 0,
+ 227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
+ 235, 236, 237, 238, 0, 0, 239, 240, 241, 242,
+ 243, 0, 244, 245, 246, 247, 248, 0, 0, 0,
+ 249, 250, 251, 252, 0, 253, 254, 0, 255, 256,
+ 257, 258, 259, 260, 0, 0, 261, 262, 0, 0,
+ 0, 0, 0, 0, 0, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 0, 272, 0, 273, 274, 275,
+ 276, 277, 0, 278, 279, 280, 0, 0, 281, 282,
+ 283, 284, 285, 0, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 0, 301, 0, 302, 303, 304, 305, 0, 306,
+ 0, 307, 0, 0, 0, 308, 309, 310, 0, 311,
+ 312, 0, 313, 0, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
+ 0, 328, 0, 329, 330, 331, 332, 333, 334, 335,
+ 0, 336, 0, 337, 0, 0, 338, 0, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 347, 0,
+ 348, 0, 0, 349, 350, 351, 0, 0, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 0, 366, 367, 368, 369, 0, 370, 371,
+ 0, 372, 0, 373, 374, 375, 376, 377, 378, 0,
+ 379, 0, 0, 380, 381, 382, 0, 0, 383, 384,
+ 0, 385, 0, 386, 387, 388, 389, 390, 391, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 0,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 0, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 425, 426, 0, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 0, 438, 439, 440, 441, 442, 0, 443, 444, 445,
+ 446, 0, 447, 448, 449, 0, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 0, 461, 462,
+ 0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
+ 0, 0, 471, 472, 473, 474, 0, 475, 476, 477,
+ 478, 479, 480, 481, 0, 0, 482, 483, 484, 485,
+ 486, 0, 0, 487, 488, 489, 490, 491, 492, 493,
+ 0, 494, 0, 495, 496, 497, 498, 0, 0, 499,
+ 0, 0, 500, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
+ 0, 0, 0, 0, 797, 798, 799, 0, 800, 801,
+ 802, 803, 804, 805, 210, 0, 0, 0, 0, 794,
+ 0, 0, 0, 0, 0, 211, 212, 213, 214, 215,
+ 216, 217, 218, 0, 220, 221, 222, 0, 0, 0,
+ 0, 0, 0, 0, 223, 224, 0, 225, 226, 0,
+ 227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
+ 235, 236, 237, 238, 0, 0, 239, 240, 241, 242,
+ 243, 0, 244, 2593, 246, 247, 248, 0, 0, 0,
+ 249, 250, 251, 252, 0, 253, 254, 0, 255, 256,
+ 257, 258, 259, 260, 0, 0, 261, 262, 0, 0,
+ 0, 0, 0, 0, 0, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 0, 272, 0, 273, 274, 275,
+ 276, 277, 0, 278, 279, 280, 0, 0, 281, 282,
+ 283, 284, 285, 0, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 0, 2594, 0, 302, 303, 304, 305, 0, 306,
+ 0, 307, 0, 0, 0, 308, 309, 310, 0, 311,
+ 312, 0, 313, 0, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
+ 0, 328, 0, 329, 330, 331, 332, 333, 334, 335,
+ 0, 336, 0, 337, 0, 0, 338, 0, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 347, 0,
+ 348, 0, 0, 349, 350, 351, 0, 0, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 0, 366, 367, 368, 369, 0, 370, 371,
+ 0, 372, 0, 373, 374, 375, 376, 377, 378, 0,
+ 379, 0, 0, 380, 381, 382, 0, 0, 383, 384,
+ 0, 385, 0, 386, 387, 388, 389, 390, 391, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 0,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 0, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 425, 426, 0, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 0, 438, 439, 440, 441, 442, 0, 443, 444, 445,
+ 446, 0, 447, 448, 449, 0, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 0, 461, 462,
+ 0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
+ 0, 0, 471, 472, 473, 474, 0, 475, 476, 477,
+ 478, 479, 480, 481, 0, 0, 482, 483, 484, 485,
+ 486, 0, 0, 487, 488, 489, 490, 491, 492, 493,
+ 0, 494, 0, 495, 496, 497, 498, 0, 0, 499,
+ 0, 0, 500, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
+ 0, 0, 0, 0, 797, 798, 799, 0, 800, 801,
+ 802, 803, 804, 805, 210, 0, 0, 0, 0, 794,
+ 0, 0, 0, 0, 0, 211, 212, 213, 214, 215,
+ 216, 217, 218, 0, 220, 221, 222, 0, 0, 0,
+ 0, 0, 0, 0, 223, 224, 0, 225, 226, 0,
+ 227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
+ 235, 236, 237, 238, 0, 0, 239, 240, 241, 242,
+ 243, 0, 244, 245, 246, 247, 248, 0, 0, 0,
+ 249, 250, 251, 252, 0, 253, 254, 0, 255, 256,
+ 257, 258, 259, 260, 0, 0, 261, 262, 0, 0,
+ 0, 0, 0, 0, 0, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 0, 272, 0, 273, 274, 275,
+ 276, 277, 0, 278, 279, 280, 0, 0, 281, 282,
+ 283, 284, 285, 0, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 0, 301, 0, 302, 303, 304, 305, 0, 306,
+ 0, 307, 0, 0, 0, 308, 309, 310, 0, 311,
+ 312, 0, 313, 0, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
+ 0, 328, 0, 329, 330, 331, 332, 333, 334, 335,
+ 0, 336, 0, 337, 0, 0, 338, 0, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 347, 0,
+ 348, 0, 0, 349, 350, 351, 0, 0, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 0, 366, 367, 368, 369, 0, 370, 371,
+ 0, 372, 0, 373, 374, 375, 376, 377, 378, 0,
+ 379, 0, 0, 4188, 381, 382, 0, 0, 383, 384,
+ 0, 385, 0, 386, 387, 388, 389, 390, 391, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 0,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 0, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 425, 426, 0, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 0, 438, 439, 440, 441, 442, 0, 443, 444, 445,
+ 446, 0, 447, 448, 449, 0, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 0, 461, 462,
+ 0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
+ 0, 0, 471, 472, 473, 474, 0, 475, 476, 477,
+ 478, 479, 480, 481, 0, 0, 482, 483, 484, 485,
+ 486, 0, 0, 487, 488, 489, 490, 491, 492, 493,
+ 0, 494, 0, 495, 496, 497, 498, 0, 0, 499,
+ 0, 0, 500, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
+ 0, 0, 0, 1731, 797, 798, 799, 0, 800, 801,
+ 802, 803, 804, 805, 211, 212, 213, 214, 215, 216,
+ 217, 218, 1732, 220, 221, 222, 1733, 1734, 1735, 1736,
+ 1737, 1738, 1739, 223, 224, 1740, 225, 226, 742, 227,
+ 228, 229, 230, 231, 743, 232, 233, 1741, 234, 235,
+ 236, 237, 238, 1742, 1743, 239, 240, 241, 242, 243,
+ 1744, 244, 245, 246, 247, 248, 1745, 744, 1746, 249,
+ 250, 251, 252, 745, 253, 254, 1747, 255, 256, 257,
+ 258, 259, 260, 1748, 746, 261, 262, 1749, 1750, 1751,
+ 747, 1752, 1753, 1754, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 1755, 272, 1756, 273, 274, 275, 276,
+ 277, 1757, 278, 279, 280, 1758, 1759, 281, 282, 283,
+ 284, 285, 1760, 286, 287, 288, 1761, 289, 290, 291,
+ 1762, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 1763, 301, 1764, 302, 303, 304, 305, 1765, 306, 1766,
+ 307, 748, 1767, 749, 308, 309, 310, 1768, 311, 312,
+ 1769, 313, 1770, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 1771, 322, 323, 324, 325, 326, 327, 1772,
+ 328, 751, 329, 330, 331, 332, 333, 334, 335, 1773,
+ 336, 1774, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 1775, 344, 345, 1776, 346, 347, 755, 348,
+ 756, 1777, 349, 350, 351, 1778, 1779, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 757, 366, 367, 368, 369, 1780, 370, 371, 758,
+ 372, 1781, 373, 374, 375, 376, 377, 378, 1782, 379,
+ 1783, 1784, 380, 381, 382, 1785, 1786, 383, 384, 759,
+ 385, 760, 386, 387, 388, 389, 390, 391, 392, 393,
+ 1787, 394, 395, 396, 397, 398, 399, 400, 1788, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 1789, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 1790, 425, 426, 761, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 1791,
+ 438, 439, 440, 441, 442, 1792, 443, 444, 445, 446,
+ 762, 447, 448, 449, 1793, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 1794, 461, 462, 1795,
+ 463, 464, 465, 466, 467, 468, 1796, 469, 470, 1797,
+ 1798, 471, 472, 473, 474, 1799, 475, 476, 477, 478,
+ 479, 480, 481, 1800, 1801, 482, 483, 484, 485, 486,
+ 1802, 1803, 487, 488, 489, 490, 491, 492, 493, 1804,
+ 494, 763, 495, 496, 497, 498, 1805, 1806, 499, 1807,
+ 1808, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1809,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 1388, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 711, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 0, 1389, 743, 1390, 1391, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 1392,
+ 1393, 243, 0, 244, 245, 246, 247, 0, 0, 744,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 0,
+ 0, 0, 747, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 1394, 1395, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 1050, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 0, 297, 298,
+ 299, 0, 0, 301, 0, 302, 303, 1396, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 0, 0, 313, 0, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 1868, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 1869, 330, 331, 332, 333, 1397,
+ 1398, 0, 1399, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 755, 348, 756, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 1400, 757, 1401, 367, 368, 0, 0, 370,
+ 371, 758, 372, 0, 0, 374, 1402, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 1870, 383,
+ 1871, 759, 385, 760, 0, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 0, 396, 0, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 1403,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 0, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 1872,
+ 445, 446, 762, 447, 1405, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 0, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 1406,
+ 1407, 0, 0, 471, 0, 473, 0, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 0,
+ 1408, 1873, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 0,
+ 0, 0, 2122, 0, 0, 0, 0, 0, 515, 516,
+ 517, 0, 0, 211, 212, 213, 214, 215, 216, 217,
+ 218, 1874, 220, 221, 222, 0, 0, 0, 0, 0,
+ 0, 0, 223, 224, 0, 225, 226, 742, 227, 228,
+ 229, 0, 1389, 743, 1390, 1391, 0, 234, 235, 236,
+ 237, 238, 0, 0, 239, 240, 1392, 1393, 243, 0,
+ 244, 245, 246, 247, 0, 0, 744, 0, 249, 250,
+ 251, 252, 745, 253, 254, 0, 255, 256, 257, 258,
+ 259, 260, 0, 746, 261, 262, 0, 0, 0, 747,
+ 0, 0, 0, 263, 264, 265, 266, 267, 268, 1394,
+ 1395, 271, 0, 272, 0, 273, 274, 275, 276, 277,
+ 0, 278, 279, 280, 0, 0, 281, 282, 1050, 284,
+ 285, 0, 286, 287, 288, 0, 289, 290, 291, 0,
+ 292, 293, 294, 295, 0, 297, 298, 299, 0, 0,
+ 301, 0, 302, 303, 1396, 305, 0, 306, 0, 307,
+ 748, 0, 749, 308, 309, 310, 0, 311, 0, 0,
+ 313, 0, 314, 315, 316, 317, 318, 750, 319, 320,
+ 321, 1868, 322, 323, 324, 325, 326, 327, 0, 328,
+ 751, 1869, 330, 331, 332, 333, 1397, 1398, 0, 1399,
+ 0, 337, 752, 753, 338, 754, 339, 340, 341, 342,
+ 343, 0, 344, 345, 0, 346, 0, 755, 348, 756,
+ 0, 349, 350, 351, 0, 0, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 1400,
+ 757, 1401, 367, 368, 0, 0, 370, 371, 758, 372,
+ 0, 0, 374, 1402, 376, 377, 378, 0, 379, 0,
+ 0, 380, 381, 382, 0, 1870, 383, 1871, 759, 385,
+ 760, 0, 387, 388, 389, 390, 391, 392, 393, 0,
+ 394, 0, 396, 0, 398, 399, 400, 0, 401, 402,
+ 403, 404, 405, 406, 407, 408, 1403, 410, 411, 412,
+ 413, 0, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 0, 425, 426, 761, 427, 428, 0,
+ 430, 431, 432, 433, 434, 435, 436, 437, 0, 438,
+ 439, 440, 441, 442, 0, 443, 1872, 445, 446, 762,
+ 447, 1405, 449, 0, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 0, 0, 461, 462, 0, 463,
+ 464, 465, 466, 467, 468, 0, 1406, 1407, 0, 0,
+ 471, 0, 473, 0, 0, 475, 476, 477, 478, 479,
+ 480, 481, 0, 0, 482, 483, 484, 485, 486, 0,
+ 0, 487, 488, 489, 490, 491, 0, 1408, 1873, 494,
+ 763, 495, 496, 497, 498, 0, 0, 499, 0, 0,
+ 500, 501, 502, 503, 504, 505, 0, 0, 0, 210,
+ 0, 0, 0, 0, 0, 515, 516, 517, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 1874, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 784, 1282, 573, 0, 0,
+ 0, 624, 0, 0, 0, 4234, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 230, 231, 743, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 744,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 0,
+ 0, 0, 747, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 1721, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 1527, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 755, 348, 756, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 757, 366, 367, 368, 369, 0, 370,
+ 371, 758, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 1528, 0, 380, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 762, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 1529, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 784, 1282, 573, 0, 0, 0, 624, 0, 636,
+ 1283, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 230, 231, 743, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 744, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 0, 0, 0, 747, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 1726, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 1527, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 748,
+ 0, 749, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 750, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 755, 348, 756, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 757,
+ 366, 367, 368, 369, 0, 370, 371, 758, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 1528, 0,
+ 380, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 762, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 1529, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 784, 1282, 573,
+ 0, 0, 0, 624, 0, 636, 1283, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 231, 743, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 744, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 0, 0, 0, 747, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 1527, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 755, 348, 756, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 757, 366, 367, 368, 369,
+ 0, 370, 371, 758, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 1528, 0, 380, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 762, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 1529,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 624,
+ 0, 636, 1283, 0, 211, 625, 213, 214, 215, 216,
+ 217, 218, 626, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 627,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 628, 304, 305, 0, 306, 0,
+ 629, 0, 630, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 631, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 632, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 633, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 634,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 635, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 1731,
+ 4538, 573, 0, 0, 0, 624, 0, 636, 637, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 1732, 220,
+ 221, 222, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 223,
+ 224, 1740, 225, 226, 742, 227, 228, 229, 230, 231,
+ 743, 232, 233, 1741, 234, 235, 236, 237, 238, 1742,
+ 1743, 239, 240, 241, 242, 243, 1744, 244, 245, 246,
+ 247, 248, 1745, 744, 1746, 249, 250, 251, 252, 745,
+ 253, 254, 1747, 255, 256, 257, 258, 259, 260, 1748,
+ 746, 261, 262, 1749, 1750, 1751, 747, 1752, 1753, 1754,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 1755,
+ 272, 1756, 273, 274, 275, 276, 277, 1757, 278, 279,
+ 280, 1758, 1759, 281, 282, 283, 284, 285, 1760, 286,
+ 287, 288, 1761, 289, 290, 291, 1762, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 1763, 301, 1764, 302,
+ 303, 304, 305, 1765, 306, 1766, 307, 748, 1767, 749,
+ 308, 309, 310, 1768, 311, 312, 1769, 313, 1770, 314,
+ 315, 316, 317, 318, 750, 319, 320, 321, 1771, 322,
+ 323, 324, 325, 326, 327, 1772, 328, 751, 329, 330,
+ 331, 332, 333, 334, 335, 1773, 336, 1774, 337, 752,
+ 753, 338, 754, 339, 340, 341, 342, 343, 1775, 344,
+ 345, 1776, 346, 347, 755, 348, 756, 1777, 349, 350,
+ 351, 1778, 1779, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 757, 366, 367,
+ 368, 369, 1780, 370, 371, 758, 372, 1781, 373, 374,
+ 375, 376, 377, 378, 1782, 379, 1783, 1784, 380, 381,
+ 382, 1785, 1786, 383, 384, 759, 385, 760, 386, 387,
+ 388, 389, 390, 391, 392, 393, 1787, 394, 395, 396,
+ 397, 398, 399, 400, 1788, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 1789, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 1790, 425, 426, 761, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 1791, 438, 439, 440, 441,
+ 442, 1792, 443, 444, 445, 446, 762, 447, 448, 449,
+ 1793, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 1794, 461, 462, 1795, 463, 464, 465, 466,
+ 467, 468, 1796, 469, 470, 1797, 1798, 471, 472, 473,
+ 474, 1799, 475, 476, 477, 478, 479, 480, 481, 1800,
+ 1801, 482, 483, 484, 485, 486, 1802, 1803, 487, 488,
+ 489, 490, 491, 492, 493, 1804, 494, 763, 495, 496,
+ 497, 498, 1805, 1806, 499, 1807, 1808, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 1731, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 1732, 220, 221, 222, 1733, 1734,
+ 1735, 1736, 1737, 1738, 1739, 223, 224, 1740, 225, 226,
+ 742, 227, 228, 229, 230, 231, 743, 232, 233, 1741,
+ 234, 235, 236, 237, 238, 1742, 1743, 239, 240, 241,
+ 242, 243, 1744, 244, 245, 246, 247, 248, 1745, 744,
+ 1746, 249, 250, 251, 252, 745, 253, 254, 1747, 255,
+ 256, 257, 258, 259, 260, 1748, 746, 261, 262, 1749,
+ 1750, 1751, 747, 1752, 1753, 1754, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 1755, 272, 1756, 273, 274,
+ 275, 276, 277, 1757, 278, 279, 280, 1758, 1759, 281,
+ 282, 283, 284, 285, 1760, 286, 287, 288, 1761, 289,
+ 290, 291, 1762, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 1763, 301, 1764, 302, 303, 304, 305, 1765,
+ 306, 1766, 307, 748, 1767, 749, 308, 309, 310, 1768,
+ 311, 312, 1769, 313, 1770, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 1771, 322, 323, 324, 325, 326,
+ 327, 1772, 328, 751, 329, 330, 331, 332, 333, 334,
+ 335, 1773, 336, 1774, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 1775, 344, 345, 1776, 346, 347,
+ 755, 348, 756, 1777, 349, 350, 351, 1778, 1779, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 757, 366, 367, 368, 369, 1780, 370,
+ 371, 758, 372, 1781, 373, 374, 375, 376, 377, 378,
+ 1782, 379, 1783, 1784, 380, 381, 382, 1785, 1786, 383,
+ 384, 759, 385, 760, 386, 387, 388, 389, 390, 391,
+ 392, 393, 1787, 394, 395, 396, 397, 398, 399, 400,
+ 1788, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 1789, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 1790, 425, 426, 761,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 1791, 438, 439, 440, 441, 442, 1792, 443, 444,
+ 445, 446, 762, 447, 448, 449, 1793, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 1794, 461,
+ 462, 1795, 463, 464, 465, 466, 467, 468, 1796, 469,
+ 470, 1797, 1798, 471, 472, 473, 474, 1799, 475, 476,
+ 477, 478, 479, 480, 481, 1800, 1801, 482, 483, 484,
+ 485, 486, 1802, 1803, 487, 488, 489, 490, 491, 492,
+ 493, 1804, 494, 763, 495, 496, 497, 498, 1805, 1806,
+ 499, 1807, 1808, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 1731, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 2651, 216, 217, 218,
+ 1732, 220, 221, 222, 1733, 1734, 1735, 1736, 1737, 1738,
+ 1739, 223, 224, 1740, 225, 226, 742, 227, 228, 229,
+ 230, 231, 743, 232, 233, 1741, 234, 235, 236, 237,
+ 238, 1742, 1743, 239, 240, 241, 242, 243, 1744, 244,
+ 245, 246, 247, 248, 1745, 744, 1746, 249, 250, 251,
+ 252, 745, 253, 254, 1747, 255, 256, 257, 258, 259,
+ 260, 1748, 746, 261, 262, 1749, 1750, 1751, 747, 1752,
+ 1753, 1754, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 1755, 272, 1756, 273, 274, 275, 276, 277, 1757,
+ 278, 279, 280, 1758, 1759, 281, 282, 283, 2652, 285,
+ 1760, 286, 287, 288, 1761, 289, 290, 291, 1762, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 1763, 301,
+ 1764, 302, 303, 304, 305, 1765, 306, 1766, 307, 748,
+ 1767, 749, 308, 309, 310, 1768, 311, 312, 1769, 313,
+ 1770, 314, 315, 316, 317, 318, 750, 319, 320, 321,
+ 1771, 322, 323, 324, 325, 326, 327, 1772, 328, 751,
+ 329, 330, 331, 332, 333, 334, 335, 1773, 336, 1774,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 1775, 344, 345, 1776, 346, 347, 755, 348, 756, 1777,
+ 349, 350, 351, 1778, 1779, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 757,
+ 366, 367, 368, 369, 1780, 370, 371, 758, 372, 1781,
+ 373, 374, 375, 376, 377, 378, 1782, 379, 1783, 1784,
+ 380, 381, 382, 1785, 1786, 383, 384, 759, 385, 760,
+ 386, 387, 388, 389, 390, 391, 392, 393, 1787, 394,
+ 395, 396, 397, 398, 399, 400, 1788, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 1789, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 1790, 425, 426, 761, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 1791, 438, 439,
+ 440, 441, 442, 1792, 2653, 444, 445, 446, 762, 447,
+ 448, 449, 1793, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 1794, 461, 462, 1795, 463, 464,
+ 465, 466, 467, 468, 1796, 469, 470, 1797, 1798, 471,
+ 472, 473, 474, 1799, 475, 476, 477, 478, 479, 480,
+ 481, 1800, 1801, 482, 483, 484, 485, 486, 1802, 1803,
+ 487, 488, 489, 490, 491, 492, 493, 1804, 494, 763,
+ 495, 496, 497, 498, 1805, 1806, 499, 1807, 1808, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 741, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 231, 743, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 1036, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 1039,
+ 0, 1040, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 1052, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 1055, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 1059, 755, 348, 756, 0, 349, 350, 351, 1060,
+ 1061, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 757, 366, 367, 368, 369,
+ 0, 370, 371, 758, 372, 0, 1066, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 1069, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 1070, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 1073,
+ 443, 444, 445, 446, 762, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 1075,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 1078, 473, 1079, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 1082, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
+ 515, 516, 517, 784, 0, 573, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 230, 231, 743, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 744, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 0, 0, 0,
+ 747, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 1527, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 755, 348,
+ 756, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 757, 366, 367, 368, 369, 0, 370, 371, 758,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 1528, 0, 380, 381, 382, 0, 0, 383, 384, 759,
+ 385, 760, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 762, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 1529, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 784,
+ 0, 573, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 742, 227, 228, 229, 230, 231,
+ 743, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 744, 0, 249, 250, 251, 252, 745,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 746, 261, 262, 0, 0, 0, 747, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 1706,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 748, 0, 749,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 750, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 751, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 752,
+ 753, 338, 754, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 755, 348, 756, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 757, 366, 367,
+ 368, 369, 0, 370, 371, 758, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 759, 385, 760, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 761, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 762, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 763, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 784, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 230, 231, 743, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 744,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 0,
+ 0, 0, 747, 0, 0, 2079, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 755, 348, 756, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 757, 366, 367, 368, 369, 0, 370,
+ 371, 758, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 762, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 2080, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 784, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 3, 4, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 230, 231, 743, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 744, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 0, 0, 0, 747, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 748,
+ 0, 749, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 750, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 755, 348, 756, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 757,
+ 366, 367, 368, 369, 0, 370, 371, 758, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 762, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 784, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 810, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 231, 743, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 744, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 0, 0, 0, 747, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 755, 348, 756, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 757, 366, 367, 368, 369,
+ 0, 370, 371, 758, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 762, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 784, 0, 573, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 230, 231, 743, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 744, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 0, 0, 0,
+ 747, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 755, 348,
+ 756, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 757, 366, 367, 368, 369, 0, 370, 371, 758,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 759,
+ 385, 760, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 762, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 784,
+ 0, 573, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 742, 227, 228, 229, 230, 231,
+ 743, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 744, 0, 249, 250, 251, 252, 745,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 746, 261, 262, 0, 0, 0, 747, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 748, 0, 749,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 1517, 750, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 751, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 752,
+ 753, 338, 754, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 755, 348, 756, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 757, 366, 367,
+ 368, 369, 0, 370, 371, 758, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 759, 385, 760, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 761, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 762, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 763, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 784, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 230, 231, 743, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 744,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 0,
+ 0, 0, 747, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 312, 2929, 313, 0, 314, 315, 316, 317, 318,
+ 750, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 755, 348, 756, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 757, 366, 367, 368, 369, 0, 370,
+ 371, 758, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 762, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 741, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 230, 231, 743, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 744, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 0, 0, 0, 747, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 748,
+ 0, 749, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 750, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 755, 348, 756, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 757,
+ 366, 367, 368, 369, 0, 370, 371, 758, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 762, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 784, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 231, 743, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 744, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 0, 0, 0, 747, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 755, 348, 756, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 757, 366, 367, 368, 369,
+ 0, 370, 371, 758, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 762, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 784, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 230, 231, 743, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 744, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 0, 0, 0,
+ 747, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 755, 348,
+ 756, 0, 349, 350, 351, 0, 0, 352, 353, 824,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 757, 366, 367, 368, 369, 0, 370, 371, 758,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 759,
+ 385, 760, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 762, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 784,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 742, 227, 228, 229, 230, 231,
+ 743, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 744, 0, 249, 250, 251, 252, 745,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 746, 261, 262, 0, 0, 0, 747, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 748, 0, 749,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 750, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 751, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 752,
+ 753, 338, 754, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 755, 348, 756, 0, 349, 350,
+ 351, 0, 0, 352, 353, 901, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 757, 366, 367,
+ 368, 369, 0, 370, 371, 758, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 759, 385, 760, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 761, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 762, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 763, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 741, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 742, 227, 228, 229, 230, 231, 743, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 744,
+ 0, 249, 250, 251, 252, 745, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 746, 261, 262, 0,
+ 0, 0, 747, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 748, 0, 749, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 921,
+ 750, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 751, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 752, 753, 338, 754, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 755, 348, 756, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 757, 366, 367, 368, 369, 0, 370,
+ 371, 758, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 759, 385, 760, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 761,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 762, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 763, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 741, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 742, 227, 228, 229,
+ 230, 231, 743, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 744, 0, 249, 250, 251,
+ 252, 745, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 746, 261, 262, 0, 0, 0, 747, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 748,
+ 0, 749, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 931, 750, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 751,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 752, 753, 338, 754, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 755, 348, 756, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 757,
+ 366, 367, 368, 369, 0, 370, 371, 758, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 759, 385, 760,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 761, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 762, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 763,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 784, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 230, 231, 743, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 744, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 0, 0, 0, 747, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 933, 750, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 755, 348, 756, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 757, 366, 367, 368, 369,
+ 0, 370, 371, 758, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 759, 385, 760, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 762, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 784, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 230, 231, 743, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 744, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 0, 0, 0,
+ 747, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 943, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 755, 348,
+ 756, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 757, 366, 367, 368, 369, 0, 370, 371, 758,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 759,
+ 385, 760, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 762, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 784,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 742, 227, 228, 229, 230, 231,
+ 743, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 744, 0, 249, 250, 251, 252, 745,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 746, 261, 262, 0, 0, 0, 747, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 748, 0, 749,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 954, 750, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 751, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 752,
+ 753, 338, 754, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 755, 348, 756, 0, 349, 350,
+ 351, 0, 0, 352, 353, 955, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 757, 366, 367,
+ 368, 369, 0, 370, 371, 758, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 759, 385, 760, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 761, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 762, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 763, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 1905, 244, 245, 246, 247, 248, 0, 0,
+ 1977, 249, 250, 251, 252, 0, 253, 254, 1906, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 1978, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 1908, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 1909, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 1910, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 1905, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 1906, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 1978,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 1908, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 2829, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 1909, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 1910, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 675, 217, 218, 643, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 644, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 676, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 645, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 646, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 643, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 644, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 2555, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 645, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 646,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 1905, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 1906, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 1978, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 1908, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 1909, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 1910, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 643, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 644, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 645, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 646, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 1554, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 1555, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 1556, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 1557, 307, 0,
+ 0, 0, 1558, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 1559, 1560, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 1561, 434, 435, 436, 437, 0, 1562, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 1563, 463, 1564,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 1565, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 644, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 645, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 646, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 3, 4, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 2635, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 2636, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 2647, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 2648, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 564, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 565, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 669, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 670, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 671, 470, 0,
+ 0, 672, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 700, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 701, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 702, 470, 0, 0, 703, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 706, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 818, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 706,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 914, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 1126, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 1137, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 686, 240, 241, 242, 1138, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 689, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 690, 428, 429, 430, 431, 432,
+ 691, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 1130, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 693, 470, 0, 0, 694, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 695, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 1236,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 706, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 2450, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 2451, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 2452, 463, 464,
+ 2453, 466, 2454, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 2455, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 573,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 3567, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 3581, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 3794, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 3796, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 3798, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 4191, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 658, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 667, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 686,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 687, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 688, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 689, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 690, 428, 429, 430, 431, 432, 691, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 692, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 693, 470, 0, 0, 694, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 695, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 718, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 790, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 814,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 826, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 879, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 893, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 926, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 945,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 947, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 949, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 952, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 958, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 686, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 689, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 690, 428, 429, 430, 431, 432, 691, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 1130, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 693,
+ 470, 0, 0, 694, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 695, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 1286, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 1434, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 1464, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 1493, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 1495,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 1497, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 1589, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 1865, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 0, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 469, 470, 0,
+ 0, 471, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 686, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 689, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 690, 428, 429, 430, 431, 432,
+ 691, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 1130, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 1896, 465, 466,
+ 467, 468, 0, 693, 470, 0, 0, 694, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 695, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 686, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 689, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 690, 428, 429, 430, 431, 432, 1963, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 1964, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 693,
+ 470, 0, 0, 1965, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 695, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 2219, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 210, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 2566, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 0, 227,
+ 228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
+ 236, 237, 238, 0, 0, 686, 240, 241, 242, 243,
+ 0, 244, 245, 246, 247, 248, 0, 0, 0, 249,
+ 250, 251, 252, 0, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 0, 261, 262, 0, 0, 0,
+ 0, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 283,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 0, 301, 0, 302, 303, 304, 305, 0, 306, 0,
+ 307, 0, 0, 0, 308, 309, 310, 0, 311, 312,
+ 0, 313, 0, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 0, 329, 330, 331, 332, 333, 334, 335, 0,
+ 336, 0, 337, 0, 0, 338, 0, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 347, 0, 348,
+ 0, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 689,
+ 365, 0, 366, 367, 368, 369, 0, 370, 371, 0,
+ 372, 0, 373, 374, 375, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 384, 0,
+ 385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 0, 690, 428,
+ 429, 430, 431, 432, 691, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 1964, 0, 443, 444, 445, 446,
+ 0, 447, 448, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 693, 470, 0,
+ 0, 1965, 472, 473, 474, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 492, 493, 0,
+ 494, 0, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 695, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 211, 212, 213, 214, 215, 216, 217, 218, 0, 220,
+ 221, 222, 0, 0, 0, 0, 0, 0, 0, 223,
+ 224, 0, 225, 226, 0, 227, 228, 229, 230, 231,
+ 0, 232, 233, 0, 234, 235, 236, 237, 238, 0,
+ 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 247, 248, 0, 0, 0, 249, 250, 251, 252, 0,
+ 253, 254, 0, 255, 256, 257, 258, 259, 260, 0,
+ 0, 261, 262, 0, 0, 0, 0, 0, 0, 0,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
+ 272, 0, 273, 274, 275, 276, 277, 0, 278, 279,
+ 280, 0, 0, 281, 282, 283, 284, 285, 0, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 301, 0, 302,
+ 303, 304, 305, 0, 306, 0, 307, 0, 0, 0,
+ 308, 309, 310, 0, 311, 312, 0, 313, 0, 314,
+ 315, 316, 317, 2638, 0, 319, 320, 321, 0, 322,
+ 323, 324, 325, 326, 327, 0, 328, 0, 329, 330,
+ 331, 332, 333, 334, 335, 0, 336, 0, 337, 0,
+ 0, 338, 0, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 347, 0, 348, 0, 0, 349, 350,
+ 351, 0, 0, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 0, 366, 367,
+ 368, 369, 0, 370, 371, 0, 372, 0, 373, 374,
+ 375, 376, 377, 378, 0, 379, 0, 0, 380, 381,
+ 382, 0, 0, 383, 384, 0, 385, 0, 386, 387,
+ 388, 389, 390, 391, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 0, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 0, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 425, 426, 0, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 0, 438, 439, 440, 441,
+ 442, 0, 443, 444, 445, 446, 0, 447, 448, 449,
+ 0, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 460, 0, 461, 462, 0, 463, 464, 465, 466,
+ 467, 468, 0, 469, 470, 0, 0, 471, 472, 473,
+ 474, 0, 475, 476, 477, 478, 479, 480, 481, 0,
+ 0, 482, 483, 484, 485, 486, 0, 0, 487, 488,
+ 489, 490, 491, 492, 493, 0, 494, 0, 495, 496,
+ 497, 498, 0, 0, 499, 0, 0, 500, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 515, 516, 517, 210, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 211, 212, 213, 214,
+ 215, 216, 217, 218, 0, 220, 221, 222, 0, 0,
+ 0, 0, 0, 0, 0, 223, 224, 0, 225, 226,
+ 0, 227, 228, 229, 230, 231, 0, 232, 233, 0,
+ 234, 235, 236, 237, 238, 0, 0, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 247, 248, 0, 0,
+ 0, 249, 250, 251, 252, 0, 253, 254, 0, 255,
+ 256, 257, 258, 259, 260, 0, 0, 261, 262, 0,
+ 0, 0, 0, 0, 0, 0, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 0, 272, 0, 273, 274,
+ 275, 276, 277, 0, 278, 279, 280, 0, 0, 281,
+ 282, 283, 284, 285, 0, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 0, 301, 0, 302, 303, 304, 305, 0,
+ 306, 0, 307, 0, 0, 0, 308, 309, 310, 0,
+ 311, 312, 0, 313, 0, 314, 315, 316, 317, 2640,
+ 0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
+ 327, 0, 328, 0, 329, 330, 331, 332, 333, 334,
+ 335, 0, 336, 0, 337, 0, 0, 338, 0, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 347,
+ 0, 348, 0, 0, 349, 350, 351, 0, 0, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 0, 366, 367, 368, 369, 0, 370,
+ 371, 0, 372, 0, 373, 374, 375, 376, 377, 378,
+ 0, 379, 0, 0, 380, 381, 382, 0, 0, 383,
+ 384, 0, 385, 0, 386, 387, 388, 389, 390, 391,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 0, 438, 439, 440, 441, 442, 0, 443, 444,
+ 445, 446, 0, 447, 448, 449, 0, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 460, 0, 461,
+ 462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
+ 470, 0, 0, 471, 472, 473, 474, 0, 475, 476,
+ 477, 478, 479, 480, 481, 0, 0, 482, 483, 484,
+ 485, 486, 0, 0, 487, 488, 489, 490, 491, 492,
+ 493, 0, 494, 0, 495, 496, 497, 498, 0, 0,
+ 499, 0, 0, 500, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 517, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 212, 213, 214, 215, 216, 217, 218,
+ 0, 220, 221, 222, 0, 0, 0, 0, 0, 0,
+ 0, 223, 224, 0, 225, 226, 0, 227, 228, 229,
+ 230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
+ 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 247, 248, 0, 0, 0, 249, 250, 251,
+ 252, 0, 253, 254, 0, 255, 256, 257, 258, 259,
+ 260, 0, 0, 261, 262, 0, 0, 0, 0, 0,
+ 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 0, 272, 0, 273, 274, 275, 276, 277, 0,
+ 278, 279, 280, 0, 0, 281, 282, 283, 284, 285,
+ 0, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 0, 301,
+ 0, 302, 303, 304, 305, 0, 306, 0, 307, 0,
+ 0, 0, 308, 309, 310, 0, 311, 312, 0, 313,
+ 0, 314, 315, 316, 317, 2750, 0, 319, 320, 321,
+ 0, 322, 323, 324, 325, 326, 327, 0, 328, 0,
+ 329, 330, 331, 332, 333, 334, 335, 0, 336, 0,
+ 337, 0, 0, 338, 0, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 347, 0, 348, 0, 0,
+ 349, 350, 351, 0, 0, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 0,
+ 366, 367, 368, 369, 0, 370, 371, 0, 372, 0,
+ 373, 374, 375, 376, 377, 378, 0, 379, 0, 0,
+ 380, 381, 382, 0, 0, 383, 384, 0, 385, 0,
+ 386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 0, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 0, 414, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 425, 426, 0, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 0, 438, 439,
+ 440, 441, 442, 0, 443, 444, 445, 446, 0, 447,
+ 448, 449, 0, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 0, 461, 462, 0, 463, 464,
+ 465, 466, 467, 468, 0, 469, 470, 0, 0, 471,
+ 472, 473, 474, 0, 475, 476, 477, 478, 479, 480,
+ 481, 0, 0, 482, 483, 484, 485, 486, 0, 0,
+ 487, 488, 489, 490, 491, 492, 493, 0, 494, 0,
+ 495, 496, 497, 498, 0, 0, 499, 0, 0, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 1388, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 742, 227, 228, 229, 0, 1389, 743, 1390,
+ 1391, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 1392, 1393, 243, 0, 244, 245, 246, 247, 0,
+ 0, 744, 0, 249, 250, 251, 252, 745, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 746, 261,
+ 262, 0, 0, 0, 747, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 1394, 1395, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 1050, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 0,
+ 297, 298, 299, 0, 0, 301, 0, 302, 303, 1396,
+ 305, 0, 306, 0, 307, 748, 0, 749, 308, 309,
+ 310, 0, 311, 0, 0, 313, 0, 314, 315, 316,
+ 317, 318, 750, 319, 320, 321, 1868, 322, 323, 324,
+ 325, 326, 327, 0, 328, 751, 1869, 330, 331, 332,
+ 333, 1397, 1398, 0, 1399, 0, 337, 752, 753, 338,
+ 754, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 755, 348, 756, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 1400, 757, 1401, 367, 368, 0,
+ 0, 370, 371, 758, 372, 0, 0, 374, 1402, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 1871, 759, 385, 760, 0, 387, 388, 389,
+ 390, 391, 392, 393, 0, 394, 0, 396, 0, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 407,
+ 408, 1403, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 761, 427, 428, 0, 430, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 1872, 445, 446, 762, 447, 1405, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 1406, 1407, 0, 0, 471, 0, 473, 0, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 0, 1408, 1873, 494, 763, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 0, 1388, 0, 0, 0, 0, 0, 0, 0,
+ 515, 516, 517, 211, 212, 213, 214, 215, 216, 217,
+ 218, 0, 220, 221, 222, 0, 0, 0, 0, 0,
+ 0, 0, 223, 224, 0, 225, 226, 742, 227, 228,
+ 229, 0, 1389, 743, 1390, 1391, 0, 234, 235, 236,
+ 237, 238, 0, 0, 239, 240, 1392, 1393, 243, 0,
+ 244, 245, 246, 247, 0, 0, 744, 0, 249, 250,
+ 251, 252, 745, 253, 254, 0, 255, 256, 257, 258,
+ 259, 260, 0, 746, 261, 262, 0, 0, 0, 747,
+ 0, 0, 0, 263, 264, 265, 266, 267, 268, 1394,
+ 1395, 271, 0, 272, 0, 273, 274, 275, 276, 277,
+ 0, 278, 279, 280, 0, 0, 281, 282, 1050, 284,
+ 285, 0, 286, 287, 288, 0, 289, 290, 291, 0,
+ 292, 293, 294, 295, 0, 297, 298, 299, 0, 0,
+ 301, 0, 302, 303, 1396, 305, 0, 306, 0, 307,
+ 748, 0, 749, 308, 309, 310, 0, 311, 0, 0,
+ 313, 0, 314, 315, 316, 317, 318, 750, 319, 320,
+ 321, 0, 322, 323, 324, 325, 326, 327, 0, 328,
+ 751, 0, 330, 331, 332, 333, 1397, 1398, 0, 1399,
+ 0, 337, 752, 753, 338, 754, 339, 340, 341, 342,
+ 343, 0, 344, 345, 0, 346, 0, 755, 348, 756,
+ 0, 349, 350, 351, 0, 0, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 1400,
+ 757, 1401, 367, 368, 0, 0, 370, 371, 758, 372,
+ 1959, 0, 374, 1402, 376, 377, 378, 0, 379, 0,
+ 0, 380, 381, 382, 0, 0, 383, 0, 759, 385,
+ 760, 0, 387, 388, 389, 390, 391, 392, 393, 0,
+ 394, 0, 396, 0, 398, 399, 400, 0, 401, 402,
+ 403, 404, 405, 406, 407, 408, 1403, 410, 411, 412,
+ 413, 0, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 0, 425, 426, 761, 427, 428, 0,
+ 430, 431, 432, 433, 434, 435, 436, 437, 0, 438,
+ 439, 440, 441, 442, 0, 443, 1872, 445, 446, 762,
+ 447, 1405, 449, 0, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 0, 0, 461, 462, 3423, 463,
+ 464, 465, 466, 467, 468, 0, 1406, 1407, 0, 0,
+ 471, 0, 473, 0, 0, 475, 476, 477, 478, 479,
+ 480, 481, 0, 0, 482, 483, 484, 485, 486, 0,
+ 0, 487, 488, 489, 490, 491, 0, 1408, 0, 494,
+ 763, 495, 496, 497, 498, 0, 0, 499, 0, 0,
+ 500, 501, 502, 503, 504, 505, 0, 210, 0, 0,
+ 0, 0, 0, 0, 0, 515, 516, 517, 211, 212,
+ 213, 214, 215, 216, 217, 218, 0, 220, 221, 222,
+ 0, 0, 0, 0, 0, 0, 0, 223, 224, 0,
+ 225, 226, 0, 227, 228, 229, 230, 231, 0, 232,
+ 233, 0, 234, 235, 236, 237, 238, 0, 0, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 247, 248,
+ 0, 0, 0, 249, 250, 251, 252, 0, 253, 254,
+ 0, 255, 256, 257, 258, 259, 260, 0, 0, 261,
+ 262, 0, 0, 0, 0, 0, 0, 0, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 0, 272, 0,
+ 273, 274, 275, 276, 277, 0, 278, 279, 280, 0,
+ 0, 281, 282, 283, 284, 285, 0, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 0, 301, 0, 302, 303, 304,
+ 305, 0, 306, 0, 307, 0, 0, 0, 308, 309,
+ 310, 0, 311, 312, 0, 313, 0, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
+ 325, 326, 327, 0, 328, 0, 329, 330, 331, 332,
+ 333, 334, 335, 0, 336, 0, 337, 0, 0, 338,
+ 0, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 347, 0, 348, 0, 0, 349, 350, 351, 0,
+ 0, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 0, 366, 367, 368, 369,
+ 0, 370, 371, 0, 372, 0, 373, 374, 375, 376,
+ 377, 378, 0, 379, 0, 0, 380, 381, 382, 0,
+ 0, 383, 384, 0, 385, 0, 386, 387, 388, 389,
+ 390, 0, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 0, 401, 402, 403, 404, 405, 406, 0,
+ 408, 409, 410, 411, 412, 413, 0, 414, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 425,
+ 426, 0, 427, 428, 429, 0, 431, 432, 433, 434,
+ 435, 436, 437, 0, 438, 439, 440, 441, 442, 0,
+ 443, 444, 445, 446, 0, 447, 448, 449, 0, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
+ 0, 461, 462, 0, 463, 464, 465, 466, 467, 468,
+ 0, 469, 470, 0, 0, 471, 472, 473, 474, 0,
+ 475, 476, 477, 478, 479, 480, 481, 0, 0, 482,
+ 483, 484, 485, 486, 0, 0, 487, 488, 489, 490,
+ 491, 492, 493, 0, 494, 0, 495, 496, 497, 498,
+ 0, 0, 499, 0, 0, 500, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 515, 516, 517, 1388, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 0, 1389, 743, 1390, 1391, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 1392, 1393, 243,
+ 0, 244, 245, 246, 247, 0, 0, 744, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 0, 0, 0,
+ 747, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 1394, 1395, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 1050,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 0, 297, 298, 299, 0,
+ 0, 301, 0, 302, 303, 1396, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 0,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 0, 330, 331, 332, 333, 1397, 1398, 0,
+ 1399, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 755, 348,
+ 756, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 1400, 757, 1401, 367, 368, 2018, 0, 370, 371, 758,
+ 372, 0, 0, 374, 1402, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 0, 759,
+ 385, 760, 0, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 0, 396, 0, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 1403, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 0, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 1404, 445, 446,
+ 762, 447, 1405, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 0, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 1406, 1407, 0,
+ 0, 471, 0, 473, 0, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 0, 1408, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 0, 1388, 0,
+ 0, 0, 0, 0, 0, 0, 515, 516, 517, 211,
+ 212, 213, 214, 215, 216, 217, 218, 0, 220, 221,
+ 222, 0, 0, 0, 0, 0, 0, 0, 223, 224,
+ 0, 225, 226, 742, 227, 228, 229, 0, 1389, 743,
+ 1390, 1391, 0, 234, 235, 236, 237, 238, 0, 0,
+ 239, 240, 1392, 1393, 243, 0, 244, 245, 246, 247,
+ 0, 0, 744, 0, 249, 250, 251, 252, 745, 253,
+ 254, 0, 255, 256, 257, 258, 259, 260, 0, 746,
+ 261, 262, 0, 0, 0, 747, 0, 0, 0, 263,
+ 264, 265, 266, 267, 268, 1394, 1395, 271, 0, 272,
+ 0, 273, 274, 275, 276, 277, 0, 278, 279, 280,
+ 0, 0, 281, 282, 1050, 284, 285, 0, 286, 287,
+ 288, 0, 289, 290, 291, 0, 292, 293, 294, 295,
+ 0, 297, 298, 299, 0, 0, 301, 0, 302, 303,
+ 1396, 305, 0, 306, 0, 307, 748, 0, 749, 308,
+ 309, 310, 0, 311, 0, 0, 313, 0, 314, 315,
+ 316, 317, 318, 750, 319, 320, 321, 0, 322, 323,
+ 324, 325, 326, 327, 0, 328, 751, 0, 330, 331,
+ 332, 333, 1397, 1398, 0, 1399, 0, 337, 752, 753,
+ 338, 754, 339, 340, 341, 342, 343, 0, 344, 345,
+ 0, 346, 0, 755, 348, 756, 0, 349, 350, 351,
+ 0, 0, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 1400, 757, 1401, 367, 368,
+ 3242, 0, 370, 371, 758, 372, 0, 0, 374, 1402,
+ 376, 377, 378, 0, 379, 0, 0, 380, 381, 382,
+ 0, 0, 383, 0, 759, 385, 760, 0, 387, 388,
+ 389, 390, 391, 392, 393, 0, 394, 0, 396, 0,
+ 398, 399, 400, 0, 401, 402, 403, 404, 405, 406,
+ 407, 408, 1403, 410, 411, 412, 413, 0, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
+ 425, 426, 761, 427, 428, 0, 430, 431, 432, 433,
+ 434, 435, 436, 437, 0, 438, 439, 440, 441, 442,
+ 0, 443, 1404, 445, 446, 762, 447, 1405, 449, 0,
+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
+ 0, 0, 461, 462, 0, 463, 464, 465, 466, 467,
+ 468, 0, 1406, 1407, 0, 0, 471, 0, 473, 0,
+ 0, 475, 476, 477, 478, 479, 480, 481, 0, 0,
+ 482, 483, 484, 485, 486, 0, 0, 487, 488, 489,
+ 490, 491, 0, 1408, 0, 494, 763, 495, 496, 497,
+ 498, 0, 0, 499, 0, 0, 500, 501, 502, 503,
+ 504, 505, 0, 1388, 0, 0, 0, 0, 0, 0,
+ 0, 515, 516, 517, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 0, 1389, 743, 1390, 1391, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 1392, 1393, 243,
+ 0, 244, 245, 246, 247, 0, 0, 744, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 0, 0, 0,
+ 747, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 1394, 1395, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 1050,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 0, 297, 298, 299, 0,
+ 0, 301, 0, 302, 303, 1396, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 0,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 0, 330, 331, 332, 333, 1397, 1398, 0,
+ 1399, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 755, 348,
+ 756, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 1400, 757, 1401, 367, 368, 0, 0, 370, 371, 758,
+ 372, 0, 0, 374, 1402, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 0, 759,
+ 385, 760, 0, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 0, 396, 0, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 1403, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 0, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 1404, 445, 446,
+ 762, 447, 1405, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 0, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 1406, 1407, 0,
+ 0, 471, 0, 473, 0, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 0, 1408, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 0, 1388, 0,
+ 0, 0, 0, 0, 0, 0, 515, 516, 517, 211,
+ 212, 213, 214, 215, 216, 217, 218, 0, 220, 221,
+ 222, 0, 0, 0, 0, 0, 0, 0, 223, 224,
+ 0, 225, 226, 742, 227, 228, 229, 0, 1389, 743,
+ 1390, 1391, 0, 234, 235, 236, 237, 238, 0, 0,
+ 239, 240, 1392, 1393, 243, 0, 244, 245, 246, 247,
+ 0, 0, 744, 0, 249, 250, 251, 252, 745, 253,
+ 254, 0, 255, 256, 257, 258, 259, 260, 0, 746,
+ 261, 262, 0, 0, 0, 747, 0, 0, 0, 263,
+ 264, 265, 266, 267, 268, 1394, 1395, 271, 0, 272,
+ 0, 273, 274, 275, 276, 277, 0, 278, 279, 280,
+ 0, 0, 281, 282, 1050, 284, 285, 0, 286, 287,
+ 288, 0, 289, 290, 291, 0, 292, 293, 294, 295,
+ 0, 297, 298, 299, 0, 0, 301, 0, 302, 303,
+ 1396, 305, 0, 306, 0, 307, 748, 0, 749, 308,
+ 309, 310, 0, 311, 0, 0, 313, 0, 314, 315,
+ 316, 317, 318, 750, 319, 320, 321, 0, 322, 323,
+ 324, 325, 326, 327, 0, 328, 751, 0, 330, 331,
+ 332, 333, 1397, 1398, 0, 1399, 0, 337, 752, 753,
+ 338, 754, 339, 340, 341, 342, 343, 0, 344, 345,
+ 0, 346, 0, 755, 348, 756, 0, 349, 350, 351,
+ 0, 0, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 1400, 757, 1401, 367, 368,
+ 0, 0, 370, 371, 758, 372, 0, 0, 374, 1402,
+ 376, 377, 378, 0, 379, 0, 0, 380, 381, 382,
+ 0, 0, 383, 0, 759, 385, 760, 0, 387, 388,
+ 389, 390, 391, 392, 393, 0, 394, 0, 396, 0,
+ 398, 399, 400, 0, 401, 402, 403, 404, 405, 406,
+ 407, 408, 1403, 410, 411, 412, 413, 0, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
+ 425, 426, 761, 427, 428, 0, 430, 431, 432, 433,
+ 434, 435, 436, 437, 0, 438, 439, 440, 441, 442,
+ 0, 443, 1872, 445, 446, 762, 447, 1405, 449, 0,
+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
+ 0, 0, 461, 462, 0, 463, 464, 465, 466, 467,
+ 468, 0, 1406, 1407, 0, 0, 471, 0, 473, 0,
+ 0, 475, 476, 477, 478, 479, 480, 481, 0, 0,
+ 482, 483, 484, 485, 486, 0, 0, 487, 488, 489,
+ 490, 491, 0, 1408, 0, 494, 763, 495, 496, 497,
+ 498, 0, 0, 499, 0, 0, 500, 501, 502, 503,
+ 504, 505, 0, 1388, 0, 0, 0, 0, 0, 0,
+ 0, 515, 516, 517, 211, 212, 213, 214, 215, 216,
+ 217, 218, 0, 220, 221, 222, 0, 0, 0, 0,
+ 0, 0, 0, 223, 224, 0, 225, 226, 742, 227,
+ 228, 229, 0, 1389, 743, 1390, 1391, 0, 234, 235,
+ 236, 237, 238, 0, 0, 239, 240, 1392, 1393, 243,
+ 0, 244, 245, 246, 247, 0, 0, 744, 0, 249,
+ 250, 251, 252, 745, 253, 254, 0, 255, 256, 257,
+ 258, 259, 260, 0, 746, 261, 262, 0, 0, 0,
+ 747, 0, 0, 0, 263, 264, 265, 266, 267, 268,
+ 1394, 1395, 271, 0, 272, 0, 273, 274, 275, 276,
+ 277, 0, 278, 279, 280, 0, 0, 281, 282, 1050,
+ 284, 285, 0, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 0, 297, 298, 299, 0,
+ 0, 301, 0, 302, 303, 1396, 305, 0, 306, 0,
+ 307, 748, 0, 749, 308, 309, 310, 0, 311, 0,
+ 0, 313, 0, 314, 315, 316, 317, 318, 750, 319,
+ 320, 321, 0, 322, 323, 324, 325, 326, 327, 0,
+ 328, 751, 0, 330, 331, 332, 333, 1397, 1398, 0,
+ 1399, 0, 337, 752, 753, 338, 754, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 755, 348,
+ 756, 0, 349, 350, 351, 0, 0, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 1400, 757, 1401, 367, 368, 0, 0, 370, 371, 758,
+ 372, 0, 0, 374, 1402, 376, 377, 378, 0, 379,
+ 0, 0, 380, 381, 382, 0, 0, 383, 0, 759,
+ 385, 760, 0, 387, 388, 389, 390, 391, 392, 393,
+ 0, 394, 0, 396, 0, 398, 399, 400, 0, 401,
+ 402, 403, 404, 405, 406, 407, 408, 1403, 410, 411,
+ 412, 413, 0, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 425, 426, 761, 427, 428,
+ 0, 430, 431, 432, 433, 434, 435, 436, 437, 0,
+ 438, 439, 440, 441, 442, 0, 443, 0, 445, 446,
+ 762, 447, 1405, 449, 0, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 0, 0, 461, 462, 0,
+ 463, 464, 465, 466, 467, 468, 0, 1406, 1407, 0,
+ 0, 471, 0, 473, 0, 0, 475, 476, 477, 478,
+ 479, 480, 481, 0, 0, 482, 483, 484, 485, 486,
+ 0, 0, 487, 488, 489, 490, 491, 0, 1408, 0,
+ 494, 763, 495, 496, 497, 498, 0, 0, 499, 0,
+ 0, 500, 501, 502, 503, 504, 505, 0, 1388, 0,
+ 0, 0, 0, 0, 0, 0, 515, 516, 517, 211,
+ 212, 213, 214, 215, 216, 217, 218, 0, 220, 221,
+ 222, 0, 0, 0, 0, 0, 0, 0, 223, 224,
+ 0, 225, 226, 742, 227, 228, 229, 0, 0, 743,
+ 0, 0, 0, 234, 235, 236, 237, 238, 0, 0,
+ 239, 240, 0, 0, 243, 0, 244, 245, 246, 247,
+ 0, 0, 744, 0, 249, 250, 251, 252, 745, 253,
+ 254, 0, 255, 256, 257, 258, 259, 260, 0, 746,
+ 261, 262, 0, 0, 0, 747, 0, 0, 0, 263,
+ 264, 265, 266, 267, 268, 0, 0, 271, 0, 272,
+ 0, 273, 274, 275, 276, 277, 0, 278, 279, 280,
+ 0, 0, 281, 282, 283, 284, 285, 0, 286, 287,
+ 288, 0, 289, 290, 291, 0, 292, 293, 294, 295,
+ 0, 297, 298, 299, 0, 0, 301, 0, 302, 303,
+ 0, 305, 0, 306, 0, 307, 748, 0, 749, 308,
+ 309, 310, 0, 311, 0, 0, 313, 0, 314, 315,
+ 316, 317, 318, 750, 319, 320, 321, 0, 322, 323,
+ 324, 325, 326, 327, 0, 328, 751, 0, 330, 331,
+ 332, 333, 0, 0, 0, 0, 0, 337, 752, 753,
+ 338, 754, 339, 340, 341, 342, 343, 0, 344, 345,
+ 0, 346, 0, 755, 348, 756, 0, 349, 350, 351,
+ 0, 0, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 0, 757, 0, 367, 368,
+ 0, 0, 370, 371, 758, 372, 0, 0, 374, 0,
+ 376, 377, 378, 0, 379, 0, 0, 380, 381, 382,
+ 0, 0, 383, 0, 759, 385, 760, 0, 387, 388,
+ 389, 390, 391, 392, 393, 0, 394, 0, 396, 0,
+ 398, 399, 400, 0, 401, 402, 403, 404, 405, 406,
+ 407, 408, 0, 410, 411, 412, 413, 0, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
+ 425, 426, 761, 427, 428, 0, 430, 431, 432, 433,
+ 434, 435, 436, 437, 0, 438, 439, 440, 441, 442,
+ 0, 443, 0, 445, 446, 762, 447, 0, 449, 0,
+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
+ 0, 0, 461, 462, 0, 463, 464, 465, 466, 467,
+ 468, 0, 0, 0, 0, 0, 471, 0, 473, 0,
+ 0, 475, 476, 477, 478, 479, 480, 481, 0, 0,
+ 482, 483, 484, 485, 486, 0, 0, 487, 488, 489,
+ 490, 491, 0, 0, 0, 494, 763, 495, 496, 497,
+ 498, 0, 0, 499, 0, 0, 500, 501, 502, 503,
+ 504, 505, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 515, 516, 517
+};
+
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-4013)))
+
+#define yytable_value_is_error(Yytable_value) \
+ (!!((Yytable_value) == (-2272)))
+
+static const yytype_int16 yycheck[] =
+{
+ 0, 0, 0, 0, 0, 0, 16, 48, 34, 545,
+ 189, 11, 735, 574, 24, 1155, 195, 932, 687, 740,
+ 20, 991, 20, 193, 969, 936, 43, 206, 171, 7,
+ 179, 644, 645, 646, 941, 21, 14, 650, 1222, 188,
+ 26, 961, 1698, 811, 1558, 816, 1660, 1860, 48, 21,
+ 1173, 612, 834, 792, 26, 765, 592, 825, 12, 2017,
+ 890, 873, 574, 1404, 871, 1257, 1048, 1049, 1019, 1209,
+ 900, 694, 1077, 1361, 2608, 1421, 20, 1157, 1262, 2154,
+ 17, 1266, 22, 2302, 2162, 1067, 2631, 1876, 1877, 2115,
+ 2651, 42, 2653, 1276, 34, 1460, 2890, 536, 1314, 1595,
+ 3108, 815, 2827, 1178, 2790, 819, 1824, 2070, 876, 2281,
+ 3049, 2808, 880, 827, 2852, 922, 2516, 885, 3075, 3151,
+ 0, 594, 2808, 3198, 892, 1205, 2458, 2463, 3147, 690,
+ 611, 604, 2461, 2462, 902, 158, 173, 0, 3081, 1324,
+ 173, 2879, 3424, 2869, 583, 1629, 2395, 1330, 1331, 33,
+ 1515, 1249, 3360, 3403, 3413, 1209, 40, 0, 0, 1643,
+ 0, 0, 0, 0, 3843, 1262, 2524, 1463, 3637, 0,
+ 0, 0, 0, 173, 39, 1095, 0, 2509, 690, 3080,
+ 3007, 31, 1188, 1471, 2812, 2813, 2814, 2815, 2816, 2817,
+ 825, 0, 782, 1005, 3118, 1037, 1038, 0, 5, 2157,
+ 66, 0, 58, 732, 5, 11, 732, 5, 3947, 1693,
+ 3949, 5, 37, 0, 4119, 5, 5, 37, 44, 13,
+ 1876, 1063, 18, 13, 13, 103, 79, 72, 147, 96,
+ 969, 26, 27, 51, 16, 152, 103, 153, 0, 18,
+ 5, 172, 22, 105, 134, 3980, 134, 4112, 22, 29,
+ 201, 5, 5, 4265, 76, 29, 869, 58, 22, 108,
+ 96, 5, 9, 0, 2458, 29, 127, 2610, 25, 5,
+ 2228, 103, 2230, 2522, 83, 180, 181, 5, 5, 184,
+ 83, 186, 11, 4, 1424, 5, 5, 35, 9, 133,
+ 256, 68, 4065, 58, 20, 0, 103, 155, 133, 22,
+ 205, 280, 251, 160, 9, 326, 51, 36, 5, 4193,
+ 4194, 5, 246, 234, 40, 2509, 254, 22, 854, 110,
+ 246, 96, 234, 22, 120, 0, 264, 9, 359, 51,
+ 144, 103, 32, 308, 9, 108, 185, 66, 28, 381,
+ 310, 120, 5, 256, 11, 152, 9, 22, 157, 290,
+ 22, 133, 4003, 152, 157, 310, 151, 9, 153, 297,
+ 1142, 78, 96, 11, 543, 152, 4, 250, 547, 236,
+ 193, 9, 255, 172, 2984, 545, 391, 8, 4390, 558,
+ 11, 68, 531, 338, 948, 172, 1096, 4038, 36, 76,
+ 152, 3, 4, 5, 436, 959, 957, 9, 3008, 66,
+ 117, 1140, 1407, 316, 236, 380, 1145, 1146, 969, 440,
+ 172, 111, 1394, 1395, 1124, 152, 115, 438, 66, 233,
+ 1402, 11, 592, 1937, 285, 4104, 35, 250, 5, 578,
+ 4169, 319, 1555, 3, 3642, 172, 1559, 11, 1561, 588,
+ 103, 1564, 68, 115, 134, 957, 36, 152, 152, 302,
+ 76, 308, 393, 176, 392, 1370, 405, 436, 68, 234,
+ 186, 349, 1023, 321, 236, 4238, 436, 172, 1375, 942,
+ 319, 437, 339, 385, 440, 342, 66, 152, 1290, 199,
+ 68, 68, 314, 2826, 328, 303, 5, 323, 8, 122,
+ 971, 103, 350, 328, 4506, 304, 417, 172, 221, 387,
+ 1239, 304, 436, 152, 68, 75, 396, 96, 1247, 440,
+ 436, 1023, 400, 3141, 1594, 152, 526, 436, 297, 436,
+ 436, 383, 158, 1237, 997, 1665, 371, 3224, 310, 8,
+ 379, 1872, 11, 96, 1007, 4400, 1882, 359, 3224, 359,
+ 4424, 172, 1310, 300, 1312, 423, 328, 1020, 436, 1320,
+ 1392, 1393, 359, 1365, 334, 125, 1386, 1364, 303, 1401,
+ 334, 386, 193, 1302, 574, 575, 1305, 1306, 434, 436,
+ 334, 612, 438, 1287, 1654, 436, 1137, 1359, 190, 1549,
+ 436, 303, 359, 379, 1145, 1146, 436, 440, 525, 390,
+ 381, 400, 735, 616, 4329, 3845, 391, 400, 346, 3538,
+ 3808, 2559, 214, 193, 402, 4510, 379, 177, 1519, 3154,
+ 436, 611, 612, 611, 3571, 349, 423, 1429, 3575, 3562,
+ 1700, 252, 440, 1629, 422, 1137, 432, 350, 437, 534,
+ 439, 438, 1371, 538, 437, 436, 439, 1643, 436, 625,
+ 439, 627, 436, 629, 3382, 1556, 436, 436, 658, 635,
+ 555, 3859, 439, 625, 1565, 627, 610, 629, 3485, 1294,
+ 3561, 639, 1297, 635, 636, 637, 1256, 1196, 612, 679,
+ 1196, 436, 3397, 1593, 1486, 1595, 686, 439, 4417, 689,
+ 690, 691, 436, 436, 854, 1605, 3412, 724, 435, 1609,
+ 839, 724, 436, 3617, 22, 440, 390, 1617, 1618, 269,
+ 436, 850, 439, 432, 655, 402, 427, 428, 436, 436,
+ 1630, 1631, 4391, 3341, 193, 434, 4185, 436, 440, 438,
+ 98, 1641, 427, 428, 724, 422, 726, 726, 726, 726,
+ 726, 726, 252, 359, 439, 2031, 440, 346, 2527, 436,
+ 2529, 3073, 436, 3075, 2770, 427, 428, 2773, 2774, 359,
+ 1890, 2777, 427, 428, 436, 25, 1292, 2783, 3094, 710,
+ 349, 910, 400, 396, 439, 1950, 18, 3975, 246, 2847,
+ 714, 359, 359, 252, 3982, 427, 428, 3135, 3323, 1621,
+ 1622, 429, 430, 431, 432, 4464, 349, 165, 739, 427,
+ 428, 440, 423, 424, 425, 359, 427, 428, 429, 430,
+ 431, 432, 372, 440, 440, 2461, 2462, 2463, 96, 8,
+ 380, 96, 11, 383, 152, 427, 428, 2775, 2776, 3151,
+ 792, 340, 341, 688, 103, 18, 18, 692, 2013, 28,
+ 781, 24, 24, 18, 154, 161, 1890, 427, 428, 429,
+ 430, 431, 432, 4102, 120, 223, 726, 301, 226, 98,
+ 249, 1663, 108, 5, 1467, 429, 430, 431, 432, 113,
+ 2474, 74, 2002, 726, 51, 51, 152, 11, 120, 123,
+ 1968, 154, 326, 3122, 250, 64, 74, 2361, 2362, 3073,
+ 1977, 3075, 2366, 726, 726, 105, 726, 726, 726, 726,
+ 795, 796, 772, 1562, 1563, 726, 726, 726, 726, 112,
+ 3434, 3933, 726, 423, 424, 425, 83, 427, 428, 429,
+ 430, 431, 432, 23, 112, 18, 165, 1481, 108, 146,
+ 5, 24, 2406, 2407, 154, 11, 1490, 120, 120, 185,
+ 1494, 263, 252, 817, 108, 120, 1500, 1501, 349, 317,
+ 3, 1651, 5, 271, 3976, 825, 120, 957, 427, 428,
+ 429, 430, 431, 432, 1518, 3894, 5, 3151, 436, 969,
+ 319, 5, 867, 1499, 103, 1526, 250, 8, 60, 252,
+ 11, 971, 105, 971, 223, 195, 913, 226, 254, 2195,
+ 157, 3938, 161, 888, 889, 263, 3943, 28, 256, 3946,
+ 349, 3934, 1002, 321, 193, 185, 974, 969, 976, 256,
+ 978, 2790, 980, 908, 982, 983, 984, 4289, 22, 2149,
+ 264, 989, 264, 1023, 153, 2207, 236, 120, 1491, 2808,
+ 4279, 359, 342, 4273, 352, 301, 354, 359, 387, 1502,
+ 300, 1031, 152, 938, 939, 98, 165, 436, 416, 131,
+ 319, 1514, 312, 297, 1525, 297, 273, 234, 1487, 193,
+ 326, 1051, 265, 252, 1095, 234, 70, 149, 436, 385,
+ 249, 349, 195, 77, 349, 3859, 286, 265, 317, 42,
+ 349, 264, 264, 359, 326, 8, 186, 436, 11, 264,
+ 4112, 1081, 312, 60, 221, 423, 3631, 1097, 105, 241,
+ 104, 1627, 197, 363, 223, 1095, 3834, 1107, 237, 2888,
+ 438, 275, 165, 236, 297, 297, 3667, 193, 387, 60,
+ 1120, 3837, 297, 627, 628, 629, 303, 303, 632, 633,
+ 634, 400, 1292, 379, 95, 76, 103, 1137, 642, 234,
+ 1140, 1141, 384, 326, 326, 1145, 1146, 367, 76, 326,
+ 353, 326, 4392, 1166, 1181, 1182, 2269, 1184, 1181, 1182,
+ 434, 1184, 193, 286, 438, 353, 241, 436, 2140, 34,
+ 223, 103, 176, 226, 4183, 103, 1345, 416, 1140, 1981,
+ 97, 106, 440, 1145, 1146, 198, 366, 299, 195, 2525,
+ 131, 1181, 1182, 440, 1184, 2531, 278, 153, 317, 379,
+ 1859, 361, 241, 4401, 314, 168, 4135, 241, 149, 172,
+ 333, 4276, 74, 74, 4463, 436, 385, 74, 4467, 4166,
+ 8, 252, 359, 11, 52, 3615, 263, 30, 161, 236,
+ 440, 3983, 60, 328, 423, 424, 425, 147, 427, 428,
+ 429, 430, 431, 432, 169, 0, 2066, 210, 36, 3571,
+ 112, 112, 381, 3575, 42, 112, 2386, 1198, 175, 156,
+ 4509, 222, 2392, 224, 317, 1819, 3592, 439, 3587, 236,
+ 193, 3597, 1976, 5, 241, 1444, 4205, 1239, 66, 286,
+ 4209, 4210, 392, 3299, 379, 1247, 130, 4309, 400, 3305,
+ 3306, 1460, 374, 427, 428, 429, 430, 431, 432, 105,
+ 103, 234, 4473, 440, 3466, 2034, 171, 1234, 236, 241,
+ 266, 278, 440, 2042, 105, 2044, 2221, 214, 1318, 4006,
+ 4072, 1283, 359, 1492, 2225, 292, 2128, 2031, 440, 252,
+ 4006, 264, 2026, 172, 2231, 4333, 4334, 278, 342, 1499,
+ 1302, 1480, 161, 1305, 1306, 189, 1515, 142, 2052, 5,
+ 1489, 427, 428, 429, 430, 431, 432, 2177, 2178, 2179,
+ 2180, 132, 2120, 416, 297, 2361, 2362, 330, 4083, 2189,
+ 2366, 103, 5, 179, 4089, 331, 1271, 280, 4400, 155,
+ 4551, 2085, 1323, 1383, 172, 297, 214, 3571, 223, 299,
+ 2084, 3575, 423, 424, 425, 363, 427, 428, 429, 430,
+ 431, 432, 173, 265, 265, 193, 194, 374, 265, 1371,
+ 2406, 2407, 256, 1939, 326, 234, 211, 2482, 2215, 1558,
+ 2330, 3129, 2926, 264, 1294, 142, 277, 1297, 234, 245,
+ 236, 348, 349, 374, 4186, 254, 44, 1332, 1333, 1334,
+ 1335, 2554, 2624, 3396, 4196, 3224, 1446, 103, 3094, 264,
+ 241, 239, 385, 256, 263, 352, 297, 354, 297, 3262,
+ 359, 3264, 301, 393, 252, 3268, 1895, 1627, 972, 2379,
+ 103, 975, 115, 977, 117, 979, 2962, 981, 1373, 1374,
+ 377, 985, 317, 95, 1379, 326, 94, 326, 4486, 2291,
+ 326, 353, 353, 3441, 211, 3443, 353, 107, 105, 2705,
+ 2410, 424, 425, 263, 427, 428, 429, 430, 431, 432,
+ 361, 326, 1975, 107, 8, 2989, 264, 11, 2992, 2993,
+ 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 1423, 373,
+ 312, 248, 4067, 310, 28, 1525, 4264, 1525, 2448, 2714,
+ 147, 440, 130, 147, 2273, 321, 316, 156, 3022, 297,
+ 359, 49, 403, 157, 142, 1450, 1451, 1452, 1453, 147,
+ 2915, 400, 38, 2535, 277, 177, 385, 1535, 172, 1537,
+ 1586, 1539, 179, 1541, 350, 1543, 184, 3051, 3052, 1547,
+ 359, 363, 192, 59, 199, 359, 1576, 1576, 1576, 1576,
+ 1576, 1576, 1526, 369, 2023, 436, 4120, 95, 192, 359,
+ 2203, 189, 379, 246, 2564, 214, 3, 106, 290, 1504,
+ 222, 3933, 224, 115, 1614, 117, 3938, 4401, 1513, 359,
+ 423, 3943, 19, 211, 3946, 1520, 234, 234, 359, 236,
+ 1571, 434, 381, 436, 437, 438, 156, 440, 320, 427,
+ 428, 429, 430, 431, 432, 1607, 1608, 142, 361, 423,
+ 4201, 264, 147, 1615, 3976, 1585, 400, 1619, 1620, 2210,
+ 248, 440, 4197, 153, 438, 1592, 2220, 349, 256, 3878,
+ 169, 4399, 1634, 361, 1636, 359, 174, 2807, 75, 264,
+ 1670, 290, 2236, 2237, 297, 436, 2240, 436, 301, 106,
+ 403, 181, 2246, 2244, 214, 1657, 440, 1659, 2595, 193,
+ 2873, 221, 306, 2876, 3652, 3653, 196, 315, 2210, 440,
+ 1442, 393, 297, 326, 1714, 403, 211, 1886, 208, 297,
+ 400, 363, 1891, 301, 222, 1894, 224, 8, 125, 1461,
+ 11, 434, 314, 3337, 236, 438, 234, 290, 312, 3755,
+ 3756, 4456, 2244, 352, 246, 354, 2475, 1916, 326, 3933,
+ 2304, 3816, 169, 248, 3938, 2468, 440, 3825, 252, 3943,
+ 440, 3970, 3946, 3972, 351, 263, 76, 320, 377, 351,
+ 4294, 3836, 115, 1668, 117, 172, 142, 285, 154, 1939,
+ 177, 147, 2584, 11, 393, 373, 2583, 400, 1957, 363,
+ 4112, 1930, 3976, 363, 236, 423, 349, 140, 1937, 241,
+ 83, 4336, 299, 311, 302, 1974, 182, 400, 36, 1645,
+ 438, 2924, 1648, 400, 130, 402, 31, 307, 400, 102,
+ 402, 314, 400, 297, 2361, 2362, 142, 314, 264, 2366,
+ 1999, 147, 352, 8, 354, 50, 11, 312, 66, 337,
+ 393, 381, 284, 3179, 4166, 211, 156, 440, 227, 436,
+ 2611, 134, 326, 28, 436, 316, 2025, 377, 351, 2472,
+ 2029, 297, 1838, 197, 351, 175, 352, 82, 354, 2406,
+ 2407, 2632, 269, 189, 1864, 1864, 1838, 3155, 2047, 3353,
+ 221, 2683, 248, 2685, 1900, 264, 1902, 1821, 363, 221,
+ 326, 4426, 2061, 236, 3024, 211, 436, 2857, 241, 175,
+ 234, 2427, 68, 246, 214, 2074, 2866, 400, 2612, 402,
+ 76, 308, 193, 400, 2083, 402, 26, 27, 297, 402,
+ 3723, 314, 301, 138, 2475, 167, 3530, 264, 4112, 423,
+ 424, 425, 248, 427, 428, 429, 430, 431, 432, 422,
+ 256, 3587, 286, 436, 2746, 255, 3592, 326, 152, 436,
+ 347, 3597, 286, 436, 298, 170, 147, 264, 351, 402,
+ 297, 3031, 4, 1963, 352, 147, 354, 9, 172, 2771,
+ 73, 252, 2676, 83, 437, 372, 167, 440, 322, 422,
+ 57, 58, 4166, 380, 199, 167, 383, 4309, 393, 326,
+ 297, 206, 102, 2989, 328, 4530, 2992, 2993, 2994, 2995,
+ 2996, 2997, 2998, 2999, 3000, 3001, 2947, 400, 1949, 402,
+ 293, 20, 3187, 2567, 363, 84, 3011, 3012, 193, 326,
+ 80, 236, 365, 316, 134, 4041, 3022, 48, 3201, 3202,
+ 2581, 40, 375, 434, 402, 436, 319, 1932, 1933, 1934,
+ 84, 199, 352, 436, 354, 379, 1941, 436, 1943, 2954,
+ 1945, 1946, 3227, 363, 422, 3051, 3052, 373, 3532, 3533,
+ 3130, 264, 437, 2821, 374, 440, 349, 377, 436, 250,
+ 2872, 434, 2034, 436, 255, 438, 11, 252, 4400, 2581,
+ 2042, 436, 2044, 438, 153, 2639, 301, 2641, 2551, 2552,
+ 305, 310, 311, 3223, 297, 3225, 311, 2899, 9, 437,
+ 435, 36, 440, 318, 387, 440, 436, 2107, 3018, 153,
+ 2279, 326, 181, 60, 400, 2115, 402, 400, 434, 66,
+ 335, 437, 438, 326, 3765, 4309, 3767, 196, 343, 76,
+ 3771, 66, 3773, 2302, 440, 435, 4084, 181, 250, 208,
+ 440, 75, 423, 424, 425, 2040, 427, 428, 429, 430,
+ 431, 432, 196, 436, 2951, 48, 103, 314, 105, 436,
+ 3132, 438, 231, 431, 208, 238, 2968, 2306, 436, 5,
+ 438, 436, 21, 2312, 10, 2137, 2176, 26, 38, 3309,
+ 395, 250, 18, 293, 399, 400, 2988, 231, 419, 420,
+ 124, 2745, 3152, 3153, 351, 431, 3527, 2751, 437, 35,
+ 436, 440, 438, 437, 2204, 2100, 440, 2197, 2197, 319,
+ 2210, 3013, 3858, 2108, 4423, 400, 4400, 402, 2113, 2163,
+ 3879, 3880, 3881, 3882, 1010, 1011, 2955, 4006, 3402, 2799,
+ 2800, 2801, 179, 2696, 2378, 3417, 2380, 2381, 307, 349,
+ 310, 311, 2845, 400, 2244, 402, 319, 3049, 423, 424,
+ 425, 393, 427, 428, 429, 430, 431, 432, 193, 194,
+ 352, 437, 354, 307, 440, 31, 352, 2427, 354, 203,
+ 204, 2822, 437, 2824, 195, 440, 349, 387, 437, 436,
+ 439, 391, 437, 217, 50, 440, 438, 237, 238, 236,
+ 400, 418, 437, 437, 241, 440, 440, 253, 115, 437,
+ 117, 253, 440, 2198, 239, 437, 250, 437, 440, 314,
+ 440, 2273, 381, 359, 387, 437, 82, 250, 440, 2458,
+ 2822, 437, 2824, 140, 440, 3097, 436, 400, 253, 147,
+ 264, 278, 2227, 2493, 2229, 4114, 2887, 38, 3451, 3452,
+ 3453, 400, 418, 402, 2898, 292, 351, 437, 2902, 2903,
+ 440, 2905, 195, 2907, 2908, 3959, 437, 3353, 437, 440,
+ 418, 440, 2916, 436, 437, 44, 439, 2536, 429, 319,
+ 2509, 437, 138, 2836, 440, 2838, 3089, 3090, 3091, 2410,
+ 437, 437, 151, 440, 440, 2887, 3086, 437, 437, 437,
+ 440, 440, 440, 440, 2948, 400, 437, 402, 439, 349,
+ 50, 314, 437, 436, 170, 440, 85, 437, 437, 2578,
+ 4213, 4214, 437, 4216, 48, 440, 3890, 351, 437, 353,
+ 2410, 440, 152, 437, 241, 3899, 440, 374, 2323, 246,
+ 109, 436, 82, 199, 2424, 191, 437, 387, 351, 440,
+ 206, 437, 3916, 3917, 440, 124, 2453, 2454, 2455, 128,
+ 400, 437, 2989, 2443, 440, 2992, 2993, 2994, 2995, 2996,
+ 2997, 2998, 2999, 3000, 3001, 729, 436, 731, 2458, 148,
+ 236, 437, 151, 437, 440, 2475, 440, 437, 404, 314,
+ 440, 2512, 319, 2946, 163, 438, 436, 400, 138, 402,
+ 436, 135, 427, 428, 429, 430, 431, 432, 326, 2489,
+ 2489, 2489, 2489, 2489, 2489, 437, 2675, 437, 440, 314,
+ 440, 2473, 349, 2475, 3051, 3052, 351, 2686, 3588, 2509,
+ 170, 50, 2512, 436, 438, 437, 21, 8, 440, 437,
+ 11, 3292, 440, 436, 314, 301, 3532, 3533, 437, 305,
+ 437, 440, 3612, 440, 172, 311, 351, 28, 365, 4352,
+ 387, 437, 318, 82, 440, 36, 206, 250, 375, 4063,
+ 326, 42, 241, 400, 3576, 400, 3578, 402, 135, 335,
+ 249, 351, 437, 68, 135, 440, 437, 343, 3380, 440,
+ 437, 2581, 250, 440, 437, 66, 236, 440, 147, 437,
+ 437, 437, 440, 440, 440, 400, 2765, 402, 135, 436,
+ 209, 436, 97, 105, 3514, 284, 3426, 437, 437, 138,
+ 440, 440, 437, 3726, 3727, 440, 3729, 381, 437, 250,
+ 400, 440, 402, 118, 437, 437, 436, 440, 440, 395,
+ 2790, 436, 363, 399, 129, 437, 437, 437, 440, 440,
+ 440, 170, 437, 437, 4290, 440, 440, 437, 2808, 437,
+ 440, 301, 440, 303, 149, 305, 436, 2657, 245, 154,
+ 4134, 311, 437, 437, 437, 440, 440, 440, 318, 437,
+ 437, 393, 440, 440, 316, 437, 326, 206, 440, 199,
+ 283, 436, 60, 400, 31, 335, 236, 168, 404, 436,
+ 236, 172, 38, 343, 2694, 2590, 38, 2592, 2593, 2594,
+ 264, 368, 147, 393, 21, 200, 393, 236, 73, 281,
+ 135, 135, 193, 194, 135, 436, 404, 135, 135, 135,
+ 440, 135, 135, 250, 135, 135, 221, 3456, 135, 210,
+ 135, 250, 135, 349, 436, 264, 3538, 54, 31, 148,
+ 209, 147, 250, 147, 436, 395, 2915, 5, 2748, 5,
+ 67, 436, 436, 147, 436, 236, 436, 274, 239, 436,
+ 2929, 436, 436, 80, 5, 5, 436, 436, 297, 5,
+ 2770, 252, 301, 2773, 2774, 436, 305, 2777, 436, 436,
+ 2949, 436, 311, 2783, 436, 436, 281, 2926, 5, 318,
+ 2790, 436, 191, 436, 401, 436, 436, 326, 3261, 436,
+ 3263, 118, 261, 436, 3267, 440, 335, 436, 2808, 436,
+ 436, 436, 129, 308, 343, 436, 3353, 440, 31, 314,
+ 86, 209, 2822, 31, 2824, 320, 0, 3762, 2790, 147,
+ 326, 147, 149, 248, 246, 2797, 2798, 154, 359, 314,
+ 2802, 359, 438, 359, 359, 359, 2808, 314, 3650, 330,
+ 359, 76, 359, 314, 349, 135, 351, 250, 318, 359,
+ 2860, 206, 359, 3823, 241, 359, 395, 380, 250, 177,
+ 246, 436, 359, 368, 3676, 359, 166, 2839, 436, 76,
+ 440, 264, 135, 381, 3438, 97, 2886, 2887, 2878, 2878,
+ 381, 3693, 3446, 3447, 3890, 359, 359, 359, 393, 48,
+ 48, 359, 359, 3899, 221, 359, 254, 2897, 2897, 83,
+ 359, 359, 37, 3376, 3377, 37, 359, 314, 4048, 359,
+ 3916, 3917, 359, 250, 404, 250, 4100, 400, 3061, 440,
+ 193, 436, 436, 436, 3073, 252, 3075, 3637, 390, 31,
+ 30, 20, 423, 424, 425, 3747, 427, 428, 429, 430,
+ 431, 432, 250, 135, 236, 381, 130, 436, 103, 135,
+ 392, 246, 217, 236, 281, 31, 147, 31, 142, 199,
+ 436, 31, 315, 147, 135, 135, 135, 135, 152, 381,
+ 381, 135, 152, 157, 245, 359, 160, 357, 162, 240,
+ 50, 418, 436, 2955, 436, 3532, 3533, 314, 396, 228,
+ 228, 11, 440, 320, 326, 357, 323, 436, 436, 359,
+ 160, 143, 3151, 3182, 2909, 189, 152, 2912, 440, 166,
+ 361, 189, 82, 166, 328, 197, 381, 251, 3059, 437,
+ 48, 258, 349, 3762, 75, 3035, 436, 211, 355, 359,
+ 359, 3951, 314, 314, 3075, 440, 4159, 437, 440, 436,
+ 381, 368, 241, 197, 241, 197, 4169, 359, 3065, 3066,
+ 3067, 3068, 2957, 359, 3224, 359, 363, 436, 316, 3059,
+ 393, 199, 241, 250, 248, 38, 393, 3603, 138, 333,
+ 359, 440, 256, 3073, 249, 3075, 297, 394, 314, 359,
+ 297, 167, 3894, 286, 3648, 359, 193, 359, 4058, 4059,
+ 323, 31, 193, 3272, 193, 381, 3275, 381, 4221, 193,
+ 170, 193, 249, 423, 30, 4050, 359, 359, 423, 434,
+ 434, 359, 359, 3677, 3678, 436, 135, 147, 393, 246,
+ 304, 323, 149, 436, 135, 436, 31, 250, 4134, 199,
+ 400, 250, 164, 164, 147, 31, 206, 135, 250, 250,
+ 323, 147, 440, 172, 440, 404, 172, 172, 19, 440,
+ 158, 400, 225, 250, 48, 440, 349, 363, 245, 199,
+ 437, 393, 152, 268, 152, 349, 236, 260, 437, 359,
+ 437, 13, 13, 387, 379, 437, 418, 437, 304, 48,
+ 437, 437, 437, 437, 3748, 3749, 397, 397, 211, 373,
+ 250, 253, 4315, 437, 437, 440, 3809, 250, 418, 175,
+ 135, 3762, 183, 359, 3383, 241, 437, 437, 437, 437,
+ 436, 436, 436, 397, 3224, 399, 400, 436, 359, 4139,
+ 359, 437, 423, 436, 436, 359, 135, 3950, 404, 135,
+ 254, 301, 175, 211, 3957, 305, 269, 3247, 378, 359,
+ 3250, 311, 3252, 3964, 359, 359, 359, 269, 318, 3722,
+ 434, 48, 3224, 437, 438, 439, 326, 48, 48, 219,
+ 3246, 219, 4232, 219, 359, 335, 314, 314, 3173, 3174,
+ 3175, 3176, 314, 343, 3246, 359, 359, 4045, 359, 359,
+ 3459, 359, 359, 236, 135, 326, 37, 359, 359, 3299,
+ 193, 4206, 193, 314, 193, 3305, 3306, 3, 3308, 3863,
+ 4207, 3865, 3866, 436, 434, 317, 4217, 226, 4219, 437,
+ 368, 211, 437, 3877, 423, 437, 440, 38, 96, 299,
+ 437, 437, 440, 4135, 249, 395, 436, 250, 31, 399,
+ 161, 381, 381, 3343, 3344, 3345, 3346, 314, 253, 314,
+ 314, 3313, 3314, 3890, 359, 133, 133, 193, 8, 440,
+ 126, 11, 3324, 152, 11, 434, 58, 392, 147, 4171,
+ 152, 256, 437, 397, 421, 160, 152, 4507, 437, 3916,
+ 3917, 3343, 437, 437, 437, 873, 36, 436, 251, 440,
+ 0, 436, 42, 437, 368, 437, 4306, 147, 31, 381,
+ 381, 437, 436, 4205, 359, 359, 368, 4209, 4210, 183,
+ 359, 314, 359, 314, 3414, 359, 66, 359, 48, 147,
+ 66, 3411, 3411, 135, 96, 197, 4556, 368, 4363, 436,
+ 193, 437, 3571, 437, 4564, 193, 3575, 437, 437, 436,
+ 435, 4154, 435, 3603, 4103, 437, 436, 400, 22, 23,
+ 323, 3977, 282, 27, 440, 440, 3351, 436, 32, 33,
+ 34, 147, 36, 178, 404, 39, 40, 71, 42, 351,
+ 44, 440, 359, 83, 3474, 323, 437, 436, 157, 437,
+ 96, 152, 152, 193, 193, 193, 193, 291, 48, 4015,
+ 398, 398, 437, 196, 3456, 259, 196, 436, 48, 4050,
+ 437, 437, 440, 437, 436, 162, 437, 436, 436, 246,
+ 437, 437, 423, 437, 368, 359, 152, 1005, 168, 3688,
+ 130, 400, 172, 66, 177, 241, 423, 241, 440, 135,
+ 440, 3700, 142, 359, 193, 435, 154, 147, 152, 381,
+ 172, 381, 152, 193, 194, 31, 121, 157, 400, 396,
+ 160, 400, 162, 436, 152, 436, 180, 152, 253, 436,
+ 210, 436, 291, 386, 436, 336, 437, 437, 267, 196,
+ 436, 399, 437, 250, 4128, 292, 359, 437, 436, 189,
+ 436, 3571, 400, 147, 359, 3575, 4491, 110, 31, 239,
+ 241, 220, 241, 175, 282, 134, 31, 4134, 436, 3599,
+ 3600, 211, 252, 436, 48, 179, 180, 181, 182, 436,
+ 184, 254, 186, 3629, 188, 437, 190, 437, 48, 193,
+ 3610, 3610, 311, 31, 198, 436, 311, 201, 437, 437,
+ 4184, 205, 381, 207, 436, 234, 437, 250, 248, 5,
+ 323, 141, 282, 60, 253, 351, 256, 3623, 60, 116,
+ 385, 31, 1140, 291, 386, 152, 8, 397, 289, 11,
+ 147, 3623, 400, 436, 121, 177, 250, 250, 4222, 436,
+ 440, 31, 3811, 31, 253, 253, 28, 437, 437, 436,
+ 330, 436, 310, 48, 36, 108, 437, 5, 379, 436,
+ 42, 310, 17, 28, 304, 134, 282, 3673, 726, 1348,
+ 436, 2161, 2475, 8, 2009, 785, 11, 1146, 2632, 3878,
+ 3223, 3673, 3308, 811, 66, 1203, 2078, 2788, 4224, 4048,
+ 4363, 817, 4096, 3374, 4100, 3802, 4082, 2558, 2261, 3691,
+ 3692, 36, 4335, 4430, 3696, 3697, 3976, 42, 4490, 349,
+ 4377, 4376, 4447, 4274, 2562, 3745, 3746, 3366, 2152, 2152,
+ 2652, 3218, 1447, 2859, 2146, 3755, 3756, 4495, 4564, 4077,
+ 4556, 66, 3762, 373, 2807, 2792, 3766, 4458, 4017, 1257,
+ 4347, 1437, 4438, 423, 424, 425, 4020, 427, 428, 429,
+ 430, 431, 432, 26, 3459, 4182, 3415, 397, 1877, 399,
+ 400, 2534, 3417, 998, 3933, 4290, 2749, 4472, 4558, 3938,
+ 3762, 3970, 1290, 3972, 3943, 4331, 575, 3946, 3784, 1008,
+ 1821, 705, 4363, 1526, 1822, 8, 168, 3977, 11, 2489,
+ 172, 3611, 3784, 3127, 434, 3400, 718, 437, 438, 439,
+ 2490, 3831, 1172, 3728, 1862, 28, 1190, 3976, 1191, 2501,
+ 2517, 193, 194, 36, 2496, 1861, 4006, 3742, 2509, 42,
+ 3075, 4167, 3577, 710, 1193, 4015, 3562, 3857, 210, 3073,
+ 1198, 4309, 4308, 168, 3128, 2127, 3034, 172, 4137, 3026,
+ 4422, 4421, 4413, 66, 2493, 4014, 2424, 1365, 2332, 3879,
+ 3880, 3881, 3882, 2422, 236, 3123, 1697, 239, 193, 194,
+ -1, -1, -1, -1, -1, -1, 1384, -1, -1, -1,
+ 252, -1, -1, 255, -1, 210, 0, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1404, -1, -1, -1,
+ -1, -1, -1, -1, 4063, -1, -1, -1, -1, -1,
+ -1, 4485, -1, -1, 239, -1, -1, -1, -1, -1,
+ 3835, 1429, -1, -1, -1, -1, -1, 252, 3938, -1,
+ 524, -1, -1, 3943, -1, 529, 3946, 531, -1, -1,
+ 534, -1, 536, -1, 538, -1, -1, -1, -1, -1,
+ -1, 545, -1, 4112, 548, 168, -1, -1, 330, 172,
+ -1, 555, -1, -1, -1, -1, -1, -1, -1, 83,
+ -1, -1, -1, 3961, -1, -1, -1, -1, 1486, -1,
+ 193, 194, -1, -1, 578, -1, 4006, -1, -1, 583,
+ -1, -1, -1, -1, 588, -1, -1, 210, 592, -1,
+ -1, -1, -1, -1, -1, 330, -1, 4166, -1, -1,
+ -1, -1, -1, 607, -1, -1, 130, -1, -1, -1,
+ -1, 4041, -1, 236, 4006, -1, 239, -1, 142, -1,
+ 4050, -1, -1, 147, 4054, -1, 4056, -1, 152, 252,
+ 4060, 4061, 255, 157, -1, -1, 160, -1, 162, -1,
+ -1, 423, 424, 425, -1, 427, 428, 429, 430, 431,
+ 432, 655, -1, 3978, 3979, 3980, -1, -1, 440, -1,
+ -1, -1, 666, 667, -1, 189, 4086, 4086, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 685, 4251, 687, 688, -1, -1, 211, 692, 424,
+ 425, -1, 427, 428, 429, 430, 431, 432, -1, -1,
+ -1, -1, 706, -1, -1, -1, 710, 330, -1, -1,
+ -1, -1, 716, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 727, 248, -1, -1, -1, -1, -1,
+ -1, -1, 256, -1, -1, 739, -1, -1, -1, 8,
+ 4309, 4331, 11, -1, -1, 1663, 4166, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
+ -1, -1, -1, -1, -1, -1, -1, 36, -1, -1,
+ -1, -1, -1, 42, -1, -1, -1, 781, -1, -1,
+ 304, -1, -1, -1, -1, -1, 4111, -1, -1, 793,
+ -1, 795, 796, -1, -1, 4225, -1, 66, -1, -1,
+ 423, 424, 425, -1, 427, 428, 429, 430, 431, 432,
+ -1, -1, 435, 817, -1, -1, -1, -1, 441, -1,
+ 4389, -1, -1, -1, 4423, 349, -1, -1, -1, -1,
+ -1, 4400, -1, -1, -1, 839, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 850, -1, -1, 373,
+ 854, -1, 4272, 4272, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 867, 4433, -1, 4191, -1, -1, -1,
+ -1, -1, -1, 397, -1, 399, 400, -1, 882, -1,
+ -1, -1, -1, -1, 888, 889, -1, -1, -1, -1,
+ -1, -1, -1, 4218, -1, 4220, -1, -1, -1, 168,
+ 904, 905, 906, 172, 908, -1, 910, -1, -1, -1,
+ 434, -1, -1, 437, 438, 439, -1, -1, -1, -1,
+ -1, -1, -1, -1, 193, 194, -1, -1, -1, -1,
+ -1, -1, 936, 4363, 938, 939, -1, -1, -1, -1,
+ -1, 210, -1, -1, 8, -1, -1, 11, -1, -1,
+ -1, -1, -1, -1, 1872, -1, -1, 961, 1876, 1877,
+ -1, -1, -1, -1, -1, -1, -1, 236, -1, -1,
+ 239, -1, 36, -1, -1, -1, -1, -1, 42, -1,
+ -1, -1, -1, 252, -1, -1, 255, 991, 992, -1,
+ -1, 4560, 996, -1, 998, -1, -1, -1, -1, -1,
+ -1, -1, 66, -1, 4329, -1, -1, -1, -1, -1,
+ -1, -1, 1016, -1, -1, 1019, 8, -1, 1022, 11,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1035, -1, -1, -1, -1, 28, -1, -1, 4459,
+ 4459, -1, -1, -1, 36, -1, -1, -1, -1, -1,
+ 42, 4512, 4472, 4472, 4472, 4472, 4472, 4472, -1, 4384,
+ 1064, 330, -1, 1981, 128, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 66, -1, -1, 4507, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1092, 1093,
+ -1, 1095, 4512, 4512, 4512, 4512, 4512, 4512, -1, -1,
+ -1, -1, -1, -1, 168, -1, -1, -1, 172, -1,
+ 1114, -1, -1, -1, -1, 4507, -1, 4442, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4556, -1, -1, 193,
+ 194, -1, -1, -1, 4564, -1, -1, -1, 4558, 4558,
+ 4558, 4558, 4558, 4558, -1, -1, 210, 1151, -1, -1,
+ 1154, -1, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 4556, -1, -1, 4492, -1, -1,
+ -1, 440, 4564, -1, -1, 239, 168, -1, -1, 1183,
+ 172, -1, -1, 1187, 1188, -1, -1, -1, 252, -1,
+ -1, -1, -1, -1, 1198, 1199, 1200, -1, -1, -1,
+ -1, 193, 194, -1, -1, -1, -1, -1, -1, -1,
+ 2128, -1, 1216, -1, -1, -1, -1, -1, 210, -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, 236, 1249, -1, 239, -1, -1,
+ -1, -1, -1, -1, -1, -1, 18, 1261, 1262, -1,
+ 252, -1, 24, 255, 1268, -1, 330, 1271, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 49, 1292, 2207,
+ -1, -1, -1, -1, 1298, -1, -1, 1301, -1, -1,
+ -1, -1, 64, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3, -1, 1323,
+ -1, -1, 8, -1, -1, 11, -1, -1, 1332, 1333,
+ 1334, 1335, 1336, 95, -1, -1, -1, -1, 330, -1,
+ -1, -1, 28, 1347, -1, 31, 1350, -1, -1, -1,
+ 36, 113, -1, -1, -1, -1, 42, 1361, 120, 1363,
+ -1, 123, -1, 427, 428, 429, 430, 431, 432, 1373,
+ 1374, -1, -1, 2291, -1, 1379, -1, -1, -1, -1,
+ 66, -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, 174, -1, -1, 177, -1, -1, -1, 1423,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 423, 424, 425, -1, 427, 428, 429, 430, 431,
+ 432, -1, -1, -1, -1, 437, 1450, 1451, 1452, 1453,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1462, -1,
+ 222, -1, 224, -1, 1468, -1, -1, 1471, -1, -1,
+ -1, -1, 234, -1, 236, -1, 1480, -1, -1, -1,
+ -1, -1, 168, 1487, 246, 1489, 172, -1, -1, -1,
+ -1, -1, 254, -1, -1, 1499, -1, -1, -1, -1,
+ 1504, 263, 264, -1, -1, -1, -1, 193, 194, 1513,
+ -1, -1, -1, -1, -1, 1519, 1520, -1, -1, -1,
+ 1524, -1, -1, -1, 210, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 297, -1, -1, 300, 301,
+ 302, -1, -1, -1, -1, 1549, -1, -1, -1, -1,
+ 236, -1, 1556, 239, 1558, -1, 18, -1, 1562, 1563,
+ -1, 1565, 24, -1, 326, -1, 252, 1571, -1, 255,
+ -1, -1, -1, -1, 1578, 337, -1, -1, -1, -1,
+ -1, 1585, 1586, -1, -1, 1589, -1, -1, -1, 1593,
+ -1, 1595, -1, -1, -1, -1, -1, -1, 1602, -1,
+ -1, 1605, 64, -1, -1, 1609, 2524, -1, -1, 2527,
+ -1, 2529, -1, 1617, 1618, -1, 2534, -1, -1, -1,
+ -1, 1625, 384, 1627, 1628, 1629, 1630, 1631, -1, -1,
+ -1, -1, -1, -1, 1638, 1639, -1, 1641, -1, 1643,
+ 1644, -1, -1, 1647, 330, -1, -1, -1, -1, -1,
+ -1, 113, -1, -1, -1, -1, -1, -1, 120, -1,
+ 1664, 123, -1, -1, 1668, 1669, 2584, -1, -1, 1673,
+ -1, -1, -1, 1677, -1, 1679, 1680, 1681, 1682, 1683,
+ 1684, 1685, 1686, 1687, -1, 1689, -1, -1, -1, -1,
+ -1, 1695, -1, 1697, 1698, -1, -1, -1, -1, -1,
+ 1704, -1, -1, -1, -1, -1, 2624, -1, -1, -1,
+ -1, -1, -1, -1, -1, 177, -1, -1, -1, -1,
+ -1, -1, 8, -1, -1, 11, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 423, 424, 425,
+ -1, 427, 428, 429, 430, 431, 432, -1, -1, -1,
+ 36, -1, -1, -1, -1, -1, 42, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2683, -1, 2685, -1, -1,
+ -1, -1, 234, -1, 236, -1, -1, -1, -1, -1,
+ 66, -1, -1, -1, 246, -1, -1, -1, -1, -1,
+ -1, -1, 254, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 264, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 8, -1, -1, 11, 1820, -1, 1822, -1,
+ 1824, -1, -1, -1, -1, -1, -1, -1, 2746, -1,
+ -1, -1, 28, -1, -1, 297, -1, -1, 300, 301,
+ 36, -1, -1, -1, -1, 8, 42, -1, 11, -1,
+ -1, -1, -1, 2771, -1, 1859, -1, -1, -1, -1,
+ -1, 1865, -1, 1867, 326, 28, -1, -1, -1, -1,
+ 66, -1, 2790, 36, -1, -1, -1, -1, -1, 42,
+ -1, -1, 168, -1, -1, -1, 172, -1, -1, -1,
+ 2808, 1895, -1, -1, -1, -1, 1900, -1, 1902, -1,
+ -1, -1, -1, 66, -1, -1, -1, 193, 194, -1,
+ -1, -1, -1, -1, -1, 1919, -1, -1, -1, -1,
+ -1, -1, 384, -1, 210, -1, 1930, -1, 1932, 1933,
+ 1934, -1, -1, 1937, -1, 1939, -1, 1941, -1, 1943,
+ -1, 1945, 1946, -1, -1, 1949, -1, -1, -1, -1,
+ 236, -1, -1, 239, 2872, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1968, -1, 252, -1, -1, 18,
+ 2888, -1, 168, 1977, -1, 24, 172, -1, -1, -1,
+ 1984, 2899, -1, -1, -1, 1989, -1, -1, -1, -1,
+ -1, 1995, -1, -1, -1, -1, -1, 193, 194, -1,
+ -1, -1, -1, -1, -1, 168, -1, -1, 2012, 172,
+ -1, -1, 2016, 2017, 210, 64, -1, -1, -1, 2023,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 193, 194, -1, -1, -1, -1, 2040, -1, -1, -1,
+ 236, -1, -1, 239, 330, -1, -1, 210, -1, -1,
+ 2968, -1, -1, -1, -1, -1, 252, -1, -1, 255,
+ -1, -1, -1, -1, 113, -1, 2070, -1, 2072, 2073,
+ 2988, 120, -1, 236, 123, -1, 239, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 252,
+ -1, -1, 255, -1, -1, 3013, 2100, -1, -1, -1,
+ -1, -1, -1, -1, 2108, -1, -1, -1, -1, 2113,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2126, -1, -1, -1, -1, -1, 177, -1,
+ -1, 3049, -1, -1, 330, -1, -1, 423, 424, 425,
+ -1, 427, 428, 429, 430, 431, 432, -1, -1, -1,
+ 2154, -1, -1, 2157, -1, 2159, -1, 2161, -1, -1,
+ 2164, -1, -1, -1, -1, -1, -1, 330, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 8, -1, -1, 11, -1, 234, 2190, 236, -1, -1,
+ -1, -1, -1, -1, 2198, 2199, -1, 246, -1, -1,
+ 28, -1, -1, -1, -1, 254, -1, -1, 36, -1,
+ -1, -1, -1, -1, 42, 264, -1, 3135, -1, -1,
+ -1, 2225, -1, 2227, 2228, 2229, 2230, 423, 424, 425,
+ -1, 427, 428, 429, 430, 431, 432, -1, 66, -1,
+ -1, 437, -1, -1, -1, 2249, -1, -1, 297, -1,
+ -1, 300, 301, -1, -1, -1, -1, 2261, -1, -1,
+ 423, 424, 425, -1, 427, 428, 429, 430, 431, 432,
+ -1, -1, -1, -1, 437, -1, -1, 326, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2306, -1, -1, -1, 3224, -1, 2312, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2323,
+ -1, -1, -1, -1, -1, -1, 2330, 2331, -1, -1,
+ -1, -1, 2336, -1, -1, 384, -1, -1, -1, -1,
+ 168, -1, -1, -1, 172, 18, -1, -1, -1, -1,
+ -1, 24, -1, -1, -1, -1, -1, 2361, 2362, -1,
+ -1, -1, 2366, -1, -1, 193, 194, -1, -1, -1,
+ -1, -1, -1, -1, 2378, 2379, 2380, 2381, -1, -1,
+ -1, -1, 210, -1, -1, -1, -1, 2391, -1, -1,
+ 2394, 64, 2396, 2397, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2406, 2407, -1, -1, 2410, -1, 236, -1,
+ -1, 239, 0, -1, -1, -1, -1, -1, -1, 2423,
+ -1, 2425, -1, 2427, 252, 2429, 14, 255, -1, -1,
+ -1, -1, -1, -1, -1, -1, 24, -1, 26, 27,
+ 113, -1, -1, -1, 2448, -1, -1, 120, 2452, -1,
+ 123, -1, -1, 41, 2458, -1, -1, 2461, 2462, 2463,
+ -1, -1, 3380, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 61, 2478, 63, 64, -1, -1, -1,
+ -1, 69, -1, 71, -1, -1, 2490, -1, -1, -1,
+ -1, 2495, -1, 81, -1, 83, -1, 2501, -1, 3417,
+ -1, -1, 330, -1, 177, 2509, -1, -1, 2512, -1,
+ -1, 99, 2516, -1, 102, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 18, -1, 114, -1, 116, -1,
+ 24, -1, 120, -1, -1, -1, -1, -1, 126, -1,
+ -1, -1, -1, -1, -1, -1, 134, -1, 136, -1,
+ -1, -1, -1, 2557, 142, 2559, -1, -1, -1, -1,
+ 2564, 234, -1, 236, -1, -1, -1, -1, -1, 157,
+ 64, -1, -1, 246, -1, -1, -1, -1, -1, -1,
+ -1, 254, -1, -1, -1, -1, 2590, -1, 2592, 2593,
+ 2594, 264, 18, -1, -1, 423, 424, 425, 24, 427,
+ 428, 429, 430, 431, 432, -1, -1, 435, -1, 3527,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 113,
+ 3538, -1, -1, -1, 212, 213, 120, 300, 301, 123,
+ 218, -1, -1, -1, -1, -1, -1, -1, 64, 227,
+ -1, 8, -1, -1, 11, -1, -1, -1, -1, -1,
+ 238, -1, -1, 326, -1, -1, -1, -1, -1, -1,
+ -1, 28, -1, -1, -1, -1, -1, -1, -1, 36,
+ -1, -1, -1, -1, -1, 42, -1, -1, -1, -1,
+ -1, 8, -1, 177, 11, -1, -1, 113, 276, -1,
+ -1, -1, -1, -1, 120, -1, -1, 123, -1, 66,
+ 288, 28, -1, -1, -1, 293, 294, -1, 296, 36,
+ -1, 384, -1, 301, -1, 42, 8, -1, 306, 11,
+ -1, 309, -1, -1, -1, 313, -1, -1, -1, -1,
+ 318, 319, 3650, -1, -1, -1, -1, -1, 326, 66,
+ 234, 329, 236, -1, 36, -1, -1, -1, -1, 337,
+ 42, 177, 246, -1, -1, -1, -1, -1, 3676, -1,
+ 254, 349, -1, -1, -1, -1, -1, -1, -1, -1,
+ 264, 2775, 2776, -1, 66, 3693, -1, -1, 366, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 376, -1,
+ -1, -1, -1, -1, 382, -1, -1, -1, -1, 387,
+ -1, 168, -1, 297, -1, 172, 300, 301, 234, -1,
+ 236, -1, 400, -1, -1, -1, -1, -1, -1, -1,
+ 246, -1, -1, -1, 2828, 2829, 193, 194, 254, 3747,
+ -1, -1, 326, -1, -1, -1, 128, -1, 264, -1,
+ 2844, 168, -1, 210, -1, 172, -1, -1, 436, -1,
+ -1, 439, -1, 2857, 2858, -1, -1, -1, -1, -1,
+ -1, -1, 2866, 2867, -1, -1, 193, 194, -1, 236,
+ -1, 297, 239, -1, 300, 301, 168, 2881, -1, -1,
+ 172, -1, -1, 210, -1, 252, -1, -1, 255, -1,
+ 384, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 326, 193, 194, -1, -1, 2909, -1, -1, 2912, 236,
+ -1, -1, 239, -1, -1, -1, -1, -1, 210, -1,
+ -1, -1, 2926, -1, -1, 252, -1, -1, 255, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2947, -1, -1, -1, 239, -1, -1,
+ -1, -1, -1, 2957, -1, -1, -1, -1, 384, -1,
+ 252, 2965, -1, 330, -1, -1, -1, -1, -1, -1,
+ -1, 2975, -1, -1, -1, -1, 3894, 2981, -1, 2983,
+ -1, -1, -1, -1, -1, 2989, -1, -1, 2992, 2993,
+ 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, -1, -1,
+ -1, 3005, 3006, 330, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3018, -1, -1, -1, 3022, -1,
+ -1, -1, 3026, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3036, -1, -1, 3039, -1, 3041, 330, -1,
+ -1, -1, -1, -1, -1, -1, 3050, 3051, 3052, -1,
+ -1, -1, 3056, -1, -1, 3059, 423, 424, 425, 3063,
+ 427, 428, 429, 430, 431, 432, 3070, 3071, 3072, 3073,
+ 437, 3075, 3076, -1, -1, -1, 3080, 3081, -1, -1,
+ -1, -1, -1, 3087, -1, -1, -1, -1, 4006, 3093,
+ 3094, -1, -1, -1, -1, -1, 423, 424, 425, -1,
+ 427, 428, 429, 430, 431, 432, -1, -1, -1, -1,
+ 437, -1, -1, 3117, -1, -1, -1, -1, -1, 3123,
+ -1, -1, -1, 3127, -1, 3129, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 427, 428, 429, 430, 431,
+ 432, -1, -1, -1, -1, -1, -1, 3151, 3152, 3153,
+ -1, 3155, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3173,
+ 3174, 3175, 3176, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4114, -1, -1, -1,
+ 8, -1, -1, 11, 3208, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 8, -1, 4135, 11, -1,
+ 28, -1, -1, -1, -1, -1, -1, -1, 36, -1,
+ -1, -1, -1, -1, 42, 28, -1, -1, -1, -1,
+ -1, -1, -1, 36, -1, -1, -1, -1, -1, 42,
+ -1, -1, -1, 4171, -1, -1, 8, -1, 66, 11,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 66, -1, -1, 28, -1, -1, -1,
+ -1, -1, -1, -1, 36, 3289, -1, 4205, -1, -1,
+ 42, 4209, 4210, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3340, -1, -1, -1,
+ -1, 179, -1, -1, -1, -1, -1, 3351, -1, 3353,
+ 188, 189, -1, -1, -1, 3359, -1, 195, -1, -1,
+ 168, 3365, -1, -1, 172, -1, -1, -1, 206, -1,
+ 3374, -1, -1, -1, -1, 168, -1, -1, -1, 172,
+ -1, -1, 3386, -1, -1, 193, 194, -1, -1, -1,
+ -1, -1, 3396, -1, -1, -1, -1, -1, 3402, -1,
+ 193, 194, 210, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3418, 3419, 168, 210, -1, -1,
+ 172, -1, -1, -1, -1, -1, -1, -1, 236, -1,
+ -1, 239, -1, -1, -1, -1, -1, 3441, -1, 3443,
+ -1, 193, 194, 236, 252, -1, 239, 255, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 210, 252,
+ -1, -1, 255, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3477, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 236, -1, -1, 239, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 252, -1, -1, 255, -1, -1, -1, -1, -1, -1,
+ 3514, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3524, 3525, 330, -1, -1, -1, -1, -1, 3532, 3533,
+ -1, -1, -1, 3537, -1, -1, -1, 330, -1, 3543,
+ 3544, -1, 8, 3547, -1, 11, 3550, 3551, -1, -1,
+ 3554, 3555, 3556, 3557, -1, -1, -1, 3561, 3562, 18,
+ 3564, -1, 28, 3567, -1, 24, -1, 3571, -1, 8,
+ 36, 3575, 11, -1, -1, -1, 42, 3581, 330, -1,
+ -1, -1, -1, 3587, -1, -1, -1, -1, 3592, 28,
+ -1, -1, -1, 3597, -1, -1, -1, 36, -1, 3603,
+ 66, -1, -1, 42, -1, 64, -1, 3611, -1, -1,
+ -1, 3615, -1, -1, -1, 423, 424, 425, -1, 427,
+ 428, 429, 430, 431, 432, 3629, -1, 66, 3632, 437,
+ 423, 424, 425, -1, 427, 428, 429, 430, 431, 432,
+ -1, -1, -1, -1, 437, -1, -1, -1, 3652, 3653,
+ -1, -1, -1, -1, 113, -1, -1, -1, -1, -1,
+ -1, 120, -1, -1, 123, -1, -1, -1, -1, -1,
+ 3674, 423, 424, 425, -1, 427, 428, 429, 430, 431,
+ 432, -1, -1, -1, -1, 437, -1, -1, -1, -1,
+ -1, -1, -1, 531, -1, -1, -1, -1, -1, -1,
+ -1, -1, 168, -1, -1, 543, 172, -1, -1, 547,
+ -1, -1, -1, -1, -1, -1, -1, -1, 177, -1,
+ 558, -1, -1, -1, 3728, -1, -1, 193, 194, 168,
+ -1, -1, -1, 172, -1, -1, 574, -1, 3742, -1,
+ 578, -1, -1, -1, 210, -1, -1, -1, -1, -1,
+ 588, 589, -1, -1, 193, 194, 594, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 604, -1, -1, -1,
+ 236, 210, -1, 239, 612, 234, -1, 236, -1, -1,
+ -1, -1, -1, -1, -1, -1, 252, 246, -1, 255,
+ -1, -1, -1, -1, -1, 254, 3800, 236, -1, -1,
+ 239, -1, -1, -1, -1, 264, -1, 3811, -1, -1,
+ -1, -1, 3816, 252, -1, -1, 255, 8, -1, 3823,
+ 11, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3835, 3836, -1, -1, -1, -1, 28, 297, -1,
+ -1, 300, 301, -1, -1, 36, -1, 685, -1, -1,
+ -1, 42, 690, -1, -1, -1, -1, 3861, -1, -1,
+ -1, -1, -1, -1, 330, 18, -1, 326, -1, -1,
+ -1, 24, -1, -1, -1, 66, -1, -1, 716, -1,
+ -1, -1, -1, -1, -1, -1, 3890, -1, -1, -1,
+ -1, 330, -1, -1, -1, 3899, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 64, 3916, 3917, -1, -1, 3920, -1, -1, -1,
+ -1, -1, -1, -1, -1, 384, -1, -1, -1, 3933,
+ 3934, -1, -1, -1, 3938, -1, -1, -1, -1, 3943,
+ -1, -1, 3946, 3947, -1, 3949, -1, 3951, 3952, -1,
+ -1, -1, -1, -1, -1, -1, -1, 423, 424, 425,
+ 113, 427, 428, 429, 430, 431, 432, 120, -1, -1,
+ 123, 437, 3976, 3977, 3978, 3979, 3980, 168, -1, -1,
+ -1, 172, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, -1, -1, -1, -1, 437, -1,
+ -1, 839, 193, 194, -1, -1, -1, -1, -1, -1,
+ 4014, 4015, 850, -1, -1, -1, -1, -1, -1, 210,
+ -1, -1, -1, -1, 177, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 873, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 236, -1, -1, 239, -1,
+ -1, -1, -1, -1, 4058, 4059, -1, 8, -1, 4063,
+ 11, 252, 4066, -1, 255, -1, -1, -1, -1, -1,
+ -1, -1, 910, 4077, -1, -1, -1, 28, -1, -1,
+ 4084, 234, -1, 236, 4088, 36, -1, -1, -1, -1,
+ -1, 42, -1, 246, -1, -1, 4100, -1, -1, 4103,
+ -1, 254, -1, -1, 942, -1, -1, 4111, 4112, -1,
+ -1, 264, -1, -1, -1, 66, -1, -1, -1, 957,
+ -1, -1, -1, 961, -1, -1, -1, -1, -1, -1,
+ 4134, 969, -1, 4137, -1, 4139, -1, -1, -1, 330,
+ -1, -1, -1, -1, 297, -1, -1, 300, 301, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4162, 997,
+ -1, -1, 4166, -1, -1, 4169, -1, 1005, -1, 1007,
+ -1, 4175, -1, 326, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1020, -1, -1, 1023, -1, 4191, -1, -1,
+ -1, 4195, -1, -1, -1, -1, -1, 1035, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4217, 4218, 4219, 4220, 168, -1, -1,
+ -1, 172, -1, -1, -1, -1, 1064, -1, 4232, -1,
+ -1, 384, 423, 424, 425, -1, 427, 428, 429, 430,
+ 431, 432, 193, 194, -1, -1, 437, 4251, -1, -1,
+ -1, -1, -1, -1, 1092, 1093, -1, 1095, -1, 210,
+ -1, -1, -1, -1, -1, -1, 4270, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1114, -1, -1, -1,
+ -1, -1, -1, -1, -1, 236, -1, -1, 239, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1137,
+ -1, 252, 4306, -1, 255, 4309, 8, 1145, 1146, 11,
+ -1, -1, -1, -1, -1, -1, 1154, 1155, -1, -1,
+ -1, -1, -1, -1, -1, 4329, 28, 4331, -1, -1,
+ -1, -1, -1, -1, 36, -1, 4340, -1, -1, -1,
+ 42, -1, -1, -1, -1, 1183, -1, -1, -1, 1187,
+ 1188, -1, -1, 8, -1, -1, 11, -1, -1, -1,
+ -1, -1, -1, -1, 66, 1203, -1, -1, -1, -1,
+ -1, 1209, -1, 28, -1, -1, -1, -1, -1, 330,
+ 4384, 36, -1, -1, -1, 4389, -1, 42, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4400, -1, -1, 18,
+ -1, -1, -1, -1, -1, 24, -1, -1, 4412, 4413,
+ -1, 66, -1, 4417, -1, -1, -1, 4421, -1, 1257,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4433,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4442, -1,
+ -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
+ -1, -1, 1290, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 168, -1, -1, 4473,
+ 172, -1, 423, 424, 425, -1, 427, 428, 429, 430,
+ 431, 432, -1, 4487, -1, -1, 437, -1, 4492, -1,
+ -1, 193, 194, -1, 113, -1, -1, -1, -1, -1,
+ -1, 120, -1, -1, 123, -1, -1, 1345, 210, -1,
+ -1, -1, -1, 168, -1, -1, -1, 172, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1365, -1, -1,
+ -1, -1, -1, -1, 236, -1, -1, 239, 193, 194,
+ -1, -1, -1, -1, -1, -1, 1384, 4551, -1, -1,
+ 252, -1, -1, 255, 8, 210, 4560, 11, 177, -1,
+ -1, -1, -1, -1, -1, -1, 1404, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 236, 36, -1, 239, -1, 1424, -1, 42, -1,
+ -1, 1429, -1, -1, -1, -1, -1, 252, -1, -1,
+ 255, -1, -1, -1, -1, -1, 1444, -1, -1, -1,
+ -1, -1, 66, -1, -1, 234, -1, 236, -1, -1,
+ -1, -1, 1460, -1, -1, -1, -1, 246, 330, -1,
+ -1, -1, -1, -1, -1, 254, -1, -1, -1, -1,
+ -1, -1, 1480, -1, -1, 264, -1, -1, 1486, -1,
+ -1, 1489, -1, 1491, 1492, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1502, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 128, 330, 1514, 1515, 297, -1,
+ -1, 300, 301, -1, -1, -1, -1, -1, 1526, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 326, -1, -1,
+ -1, -1, -1, -1, 168, -1, -1, -1, 172, -1,
+ 1558, 423, 424, 425, -1, 427, 428, 429, 430, 431,
+ 432, -1, -1, -1, -1, 437, -1, -1, -1, 193,
+ 194, -1, -1, -1, -1, -1, 190, -1, -1, -1,
+ -1, -1, -1, -1, 198, 1593, 210, 1595, -1, -1,
+ -1, -1, -1, 207, 1602, 384, -1, 1605, 423, 424,
+ 425, 1609, 427, 428, 429, 430, 431, 432, -1, 1617,
+ 1618, -1, 437, -1, -1, 239, -1, 1625, -1, -1,
+ 1628, 1629, 1630, 1631, -1, -1, 8, -1, 252, 11,
+ 1638, 1639, -1, 1641, -1, 1643, 1644, -1, -1, 1647,
+ -1, -1, -1, -1, -1, -1, 28, -1, -1, -1,
+ 32, -1, -1, -1, 36, 1663, 1664, 1665, -1, -1,
+ 42, 1669, -1, -1, -1, 1673, -1, -1, -1, 1677,
+ -1, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687,
+ -1, 1689, -1, -1, 66, -1, -1, -1, -1, 1697,
+ 1698, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 330, 8, -1, -1,
+ 11, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 28, -1, 111,
+ -1, -1, -1, -1, 8, 36, -1, 11, -1, -1,
+ -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 28, -1, -1, -1, -1, -1,
+ -1, 8, 36, -1, 11, 66, -1, -1, 42, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 28, -1, -1, -1, -1, 168, -1, -1, 36,
+ 172, -1, 66, -1, -1, 42, -1, -1, -1, -1,
+ -1, -1, -1, 427, 428, 429, 430, 431, 432, -1,
+ -1, 193, 194, -1, -1, -1, 1824, -1, -1, 66,
+ -1, -1, -1, -1, -1, -1, -1, -1, 210, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
+ -1, 11, -1, -1, -1, -1, 147, -1, -1, -1,
+ -1, 152, -1, -1, 236, -1, -1, 239, -1, -1,
+ -1, -1, -1, -1, 1872, -1, 36, 168, 1876, 1877,
+ 252, 172, 42, 255, -1, -1, -1, -1, 1886, -1,
+ -1, -1, 1890, 1891, -1, -1, 1894, -1, -1, -1,
+ -1, -1, 193, 194, 168, -1, 66, -1, 172, 146,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1916, 210,
+ 524, 1919, -1, -1, -1, 529, -1, -1, -1, 193,
+ 194, 168, 1930, -1, -1, 172, -1, -1, -1, 1937,
+ -1, -1, -1, -1, -1, 236, 210, -1, 239, -1,
+ -1, -1, -1, -1, -1, -1, 193, 194, 330, 1957,
+ -1, 252, -1, -1, 255, -1, -1, -1, 128, -1,
+ -1, -1, 236, 210, -1, 239, 1974, 1975, -1, -1,
+ -1, -1, -1, 1981, -1, -1, -1, -1, 252, -1,
+ -1, 255, -1, -1, -1, -1, -1, -1, -1, 236,
+ 1998, 1999, 239, -1, 2002, -1, -1, -1, 168, 381,
+ -1, 275, 172, -1, -1, 252, -1, -1, 255, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2025, -1, -1,
+ -1, 2029, -1, 193, 194, -1, 273, -1, -1, 330,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2047,
+ 210, 423, 424, 425, -1, 427, 428, 429, 430, 431,
+ 432, -1, 666, 2061, -1, -1, 330, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2074, -1, -1, 239,
+ 344, -1, -1, 687, -1, 2083, -1, -1, -1, -1,
+ -1, -1, 252, 330, -1, -1, -1, 8, -1, -1,
+ 11, -1, 706, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 28, -1, -1,
+ 31, -1, -1, 727, -1, 36, -1, -1, 2126, -1,
+ 2128, 42, 423, 424, 425, -1, 427, 428, 429, 430,
+ 431, 432, -1, -1, -1, 8, -1, -1, 11, -1,
+ -1, 2149, -1, -1, -1, 66, -1, -1, -1, 423,
+ 424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
+ 330, -1, -1, 36, -1, -1, -1, -1, -1, 42,
+ -1, -1, -1, -1, -1, -1, 423, 424, 425, 793,
+ 427, 428, 429, 430, 431, 432, -1, -1, -1, -1,
+ -1, 8, -1, 66, 11, -1, -1, -1, -1, 2207,
+ -1, -1, 2210, -1, -1, 8, -1, -1, 11, -1,
+ -1, 28, -1, -1, 31, -1, -1, -1, -1, 36,
+ -1, -1, -1, -1, -1, 42, -1, -1, -1, -1,
+ -1, -1, -1, 36, -1, -1, 2244, -1, -1, 42,
+ -1, 2249, -1, -1, -1, -1, -1, 168, -1, 66,
+ -1, 172, -1, -1, -1, 128, -1, 427, 428, 429,
+ 430, 431, 432, 66, -1, -1, -1, -1, 882, -1,
+ -1, 2279, 193, 194, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2291, -1, -1, -1, -1, -1, 210,
+ 904, 905, 906, -1, 2302, 168, -1, -1, 2306, 172,
+ -1, -1, -1, -1, 2312, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 236, -1, -1, 239, -1,
+ 193, 194, 2330, 2331, -1, 128, -1, -1, 2336, -1,
+ -1, 252, -1, -1, 255, -1, -1, 210, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 168, -1, 2361, 2362, 172, -1, -1, 2366, -1,
+ -1, -1, -1, -1, -1, 168, 239, -1, -1, 172,
+ 2378, 2379, 2380, 2381, -1, -1, 193, 194, 2386, 252,
+ -1, -1, 996, 2391, 2392, -1, 2394, -1, 2396, -1,
+ 193, 194, -1, 210, -1, -1, -1, -1, 2406, 2407,
+ -1, -1, 2410, -1, -1, 1019, -1, 210, -1, 330,
+ -1, -1, -1, -1, -1, 2423, -1, 2425, -1, 236,
+ -1, 2429, 239, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 252, 239, -1, 255, -1,
+ 2448, -1, -1, -1, -1, 18, -1, -1, -1, 252,
+ 2458, 24, -1, 2461, 2462, 2463, -1, 330, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2475, -1, -1,
+ 2478, 189, -1, -1, -1, -1, 49, 195, -1, -1,
+ -1, -1, 2490, -1, -1, -1, -1, 2495, 206, -1,
+ -1, 64, -1, 2501, -1, -1, -1, -1, -1, -1,
+ -1, 2509, 423, 424, 425, -1, 427, 428, 429, 430,
+ 431, 432, -1, 330, -1, -1, 2524, -1, -1, 2527,
+ -1, 2529, 95, -1, -1, -1, 2534, 330, 2536, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1151, -1, -1,
+ 113, -1, -1, 2551, 2552, -1, -1, 120, -1, 2557,
+ 123, -1, -1, -1, 427, 428, 429, 430, 431, 432,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2578, -1, -1, 2581, -1, -1, 2584, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1199, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 174, -1, -1, 177, -1, 423, 424, 425, -1,
+ 427, 428, 429, 430, 431, 432, 2624, -1, -1, -1,
+ -1, -1, -1, -1, 427, 428, 429, 430, 431, 432,
+ -1, -1, -1, -1, -1, -1, -1, 8, -1, -1,
+ 11, -1, -1, 2651, 2652, 2653, -1, 1261, -1, 222,
+ -1, 224, -1, -1, 1268, -1, -1, 28, -1, -1,
+ -1, 234, -1, 236, -1, 36, -1, 2675, -1, -1,
+ -1, 42, -1, 246, -1, 2683, -1, 2685, 2686, -1,
+ -1, 254, -1, -1, 1298, -1, -1, 1301, 2696, -1,
+ 263, 264, -1, -1, -1, 66, -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, 1336, -1, 297, -1, -1, 300, 301, 302,
+ -1, -1, -1, -1, -1, -1, 1350, -1, 2746, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1363,
+ -1, -1, -1, 326, -1, -1, -1, 2765, -1, -1,
+ -1, -1, -1, 2771, 337, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
+ -1, -1, 2790, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 28, 168, -1, 2807,
+ 2808, 172, -1, -1, 36, -1, -1, -1, -1, 18,
+ 42, 384, -1, -1, 2822, 24, 2824, -1, -1, -1,
+ -1, -1, 193, 194, -1, 543, -1, -1, 2836, 547,
+ 2838, -1, -1, -1, 66, -1, -1, -1, -1, 210,
+ 558, -1, -1, -1, -1, -1, -1, -1, 1462, -1,
+ -1, -1, -1, -1, 1468, 64, 574, -1, -1, -1,
+ -1, -1, -1, -1, 2872, 236, -1, -1, 239, -1,
+ -1, 589, -1, -1, -1, -1, 594, -1, -1, 2887,
+ 2888, 252, -1, -1, 255, -1, 604, -1, -1, -1,
+ -1, 2899, -1, -1, 612, -1, -1, -1, -1, 270,
+ -1, -1, -1, -1, 113, -1, -1, 2915, -1, -1,
+ 1524, 120, -1, -1, 123, -1, -1, -1, 2926, -1,
+ 152, 2929, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 168, -1, 2946, -1,
+ 172, 2949, -1, -1, -1, -1, -1, -1, 1562, 1563,
+ -1, -1, -1, -1, -1, -1, -1, 2965, -1, 330,
+ 2968, 193, 194, -1, 1578, -1, -1, 2975, 177, -1,
+ -1, -1, 690, 2981, -1, 2983, -1, -1, 210, -1,
+ 2988, 2989, -1, -1, 2992, 2993, 2994, 2995, 2996, 2997,
+ 2998, 2999, 3000, 3001, -1, -1, -1, 3005, 3006, -1,
+ -1, -1, -1, -1, 236, 3013, -1, 239, -1, -1,
+ 3018, -1, -1, -1, 3022, -1, 3024, -1, 3026, -1,
+ 252, -1, -1, 255, -1, 234, -1, 236, 3036, -1,
+ -1, 3039, -1, 3041, -1, -1, -1, 246, -1, -1,
+ -1, 3049, 3050, 3051, 3052, 254, -1, -1, 3056, -1,
+ -1, 3059, 423, 424, 425, 264, 427, 428, 429, 430,
+ 431, 432, -1, -1, -1, 3073, -1, 3075, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3087,
+ 8, 1695, -1, 11, -1, 3093, 3094, -1, 297, -1,
+ 1704, 300, 301, -1, -1, -1, -1, -1, 330, -1,
+ 28, -1, -1, 31, -1, -1, -1, -1, 36, 3117,
+ -1, -1, -1, -1, 42, 3123, -1, 326, -1, -1,
+ -1, 3129, -1, -1, -1, -1, -1, 3135, -1, -1,
+ -1, -1, 8, -1, -1, 11, -1, -1, 66, -1,
+ -1, -1, -1, 3151, -1, -1, -1, -1, -1, -1,
+ -1, -1, 28, -1, -1, -1, -1, -1, -1, -1,
+ 36, -1, -1, -1, -1, -1, 42, 18, -1, -1,
+ -1, -1, -1, 24, 3182, 384, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 66, 423, 424, 425, -1, 427, 428, 429, 430, 431,
+ 432, -1, -1, -1, -1, -1, 1820, -1, 1822, -1,
+ 3218, -1, -1, 64, -1, 3223, 3224, 3225, -1, -1,
+ -1, -1, -1, -1, 942, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 957,
+ 168, -1, -1, -1, 172, 1859, -1, -1, -1, -1,
+ -1, 969, -1, 3261, -1, 3263, -1, -1, -1, 3267,
+ -1, -1, 113, -1, 3272, 193, 194, 3275, -1, 120,
+ -1, -1, 123, -1, -1, -1, -1, -1, -1, 997,
+ -1, -1, 210, -1, -1, -1, -1, -1, -1, 1007,
+ -1, -1, 168, -1, -1, -1, 172, -1, -1, -1,
+ -1, 3309, 1020, -1, -1, 1023, -1, -1, 236, -1,
+ -1, 239, -1, -1, -1, -1, -1, 193, 194, -1,
+ -1, -1, -1, -1, 252, -1, 177, 255, -1, -1,
+ 189, -1, -1, -1, 210, -1, 195, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3353, -1, 206, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 236, -1, -1, 239, -1, -1, -1, -1, 3376, 3377,
+ -1, -1, 3380, -1, -1, 3383, 252, -1, -1, 255,
+ -1, 1995, -1, 234, -1, 236, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 246, -1, 8, 2012, -1,
+ 11, -1, 330, 254, -1, -1, -1, -1, -1, 3417,
+ 3418, 3419, -1, 264, -1, -1, -1, 28, -1, 1137,
+ 31, -1, -1, -1, -1, 36, -1, 1145, 1146, -1,
+ -1, 42, -1, -1, -1, -1, -1, 1155, -1, -1,
+ -1, -1, -1, -1, -1, -1, 297, -1, -1, 300,
+ 301, 3459, -1, -1, 330, 66, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3477,
+ -1, -1, -1, -1, -1, 326, -1, -1, -1, -1,
+ 356, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1209, -1, -1, -1, 423, 424, 425, -1, 427,
+ 428, 429, 430, 431, 432, -1, 3514, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3524, 3525, -1, 3527,
+ -1, -1, -1, -1, 3532, 3533, -1, -1, -1, 3537,
+ 3538, -1, -1, 384, -1, 3543, 3544, -1, -1, 3547,
+ -1, -1, 3550, -1, -1, 2159, -1, 423, 424, 425,
+ -1, 427, 428, 429, 430, 431, 432, 168, -1, -1,
+ -1, 172, -1, 3571, -1, -1, -1, 3575, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3587,
+ -1, -1, 193, 194, 3592, -1, -1, -1, -1, 3597,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 210,
+ -1, -1, 8, -1, -1, 11, 18, -1, -1, -1,
+ -1, -1, 24, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 28, -1, 3632, 236, -1, 1345, 239, -1,
+ 36, -1, -1, -1, -1, -1, 42, -1, -1, -1,
+ -1, 252, 3650, -1, 255, -1, -1, -1, -1, -1,
+ -1, -1, 64, -1, -1, -1, -1, -1, -1, 3667,
+ 66, 21, -1, -1, -1, -1, -1, -1, 3676, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3688, -1, -1, -1, 543, 3693, -1, -1, 547, -1,
+ -1, -1, 3700, -1, -1, -1, -1, -1, -1, 558,
+ -1, 113, -1, -1, -1, -1, 1424, 67, 120, -1,
+ -1, 123, -1, -1, 3722, 574, -1, -1, -1, 330,
+ 80, -1, -1, -1, -1, -1, 1444, -1, -1, -1,
+ 589, -1, -1, -1, -1, 594, -1, 97, -1, 3747,
+ -1, -1, 1460, 103, -1, 604, -1, -1, -1, -1,
+ -1, -1, -1, 612, 3762, -1, -1, -1, 118, -1,
+ -1, -1, 168, -1, -1, 177, 172, -1, -1, 129,
+ -1, -1, -1, 1491, 1492, -1, -1, 137, -1, -1,
+ -1, -1, -1, -1, 1502, -1, -1, 193, 194, 149,
+ -1, -1, 3800, -1, 154, -1, 1514, 1515, -1, -1,
+ 160, -1, -1, 3811, 210, -1, -1, -1, 1526, -1,
+ -1, -1, 423, 424, 425, 175, 427, 428, 429, 430,
+ 431, 432, 234, -1, 236, -1, -1, -1, -1, -1,
+ 236, 690, -1, 239, 246, -1, -1, -1, 2452, -1,
+ 200, -1, 254, -1, -1, -1, 252, -1, -1, 255,
+ 3858, -1, 264, -1, -1, -1, -1, -1, -1, -1,
+ -1, 221, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3878, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3890, -1, -1, 297, 3894, -1, 300, 301,
+ -1, 3899, 252, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3916, 3917,
+ -1, -1, 3920, -1, 326, -1, -1, -1, -1, -1,
+ -1, 281, -1, -1, 330, 3933, -1, -1, -1, -1,
+ 3938, -1, -1, -1, -1, 3943, -1, -1, 3946, -1,
+ -1, -1, -1, 3951, 3952, -1, -1, 1665, 308, -1,
+ -1, -1, 312, -1, 314, -1, -1, -1, -1, -1,
+ 320, -1, 3970, 323, 3972, -1, -1, -1, 3976, -1,
+ -1, -1, 384, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
+ -1, 351, -1, -1, -1, 355, -1, -1, 4006, -1,
+ -1, -1, -1, 363, -1, -1, 4014, -1, 368, -1,
+ -1, -1, -1, -1, -1, -1, -1, 423, 424, 425,
+ 380, 427, 428, 429, 430, 431, 432, -1, -1, -1,
+ -1, -1, -1, 393, -1, -1, -1, -1, -1, -1,
+ 4048, -1, 4050, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4063, -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, 942, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 957, -1,
+ -1, -1, -1, -1, 4112, -1, 4114, -1, -1, -1,
+ 969, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4134, 4135, -1, 4137,
+ -1, 4139, -1, -1, -1, -1, -1, -1, 997, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1007, -1,
+ -1, -1, -1, -1, 4162, -1, -1, -1, 4166, -1,
+ -1, 1020, -1, 4171, 1023, -1, -1, -1, 1886, -1,
+ -1, -1, 1890, 1891, -1, -1, 1894, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4201, -1, -1, -1, 4205, 1916, -1,
+ -1, 4209, 4210, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2828, 2829, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2844, -1, -1, -1, -1, -1, -1, -1, -1, 1957,
+ -1, -1, -1, 4251, 2858, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2867, -1, -1, 1974, 1975, -1, -1,
+ -1, -1, 4270, -1, -1, -1, -1, 2881, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1137, -1,
+ 1998, 1999, 4290, -1, 2002, -1, 1145, 1146, -1, -1,
+ -1, -1, -1, -1, 21, -1, 1155, -1, 4306, -1,
+ -1, 4309, -1, -1, -1, -1, 33, 2025, -1, -1,
+ -1, 2029, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 54, -1, 2047,
+ -1, -1, 4340, 2947, -1, -1, -1, -1, -1, -1,
+ 67, -1, -1, 2061, -1, -1, -1, -1, -1, 76,
+ 1209, -1, -1, 80, -1, 4363, 2074, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2083, -1, -1, -1, -1,
+ 97, -1, -1, -1, -1, -1, 103, -1, -1, -1,
+ -1, 4389, -1, -1, -1, -1, -1, -1, 21, -1,
+ -1, 118, 4400, -1, -1, -1, -1, -1, -1, -1,
+ 33, -1, 129, -1, 4412, 4413, -1, -1, -1, -1,
+ 137, -1, -1, -1, -1, 4423, -1, -1, -1, -1,
+ -1, 54, 149, -1, -1, 4433, -1, -1, -1, 156,
+ -1, 2149, -1, 160, 67, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 80, 175, -1,
+ -1, -1, -1, -1, -1, -1, 3070, 3071, 3072, -1,
+ -1, -1, -1, -1, 97, 4473, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4487,
+ -1, -1, -1, -1, -1, 118, 1345, 214, -1, -1,
+ -1, -1, 2210, -1, 221, -1, 129, -1, -1, 4507,
+ -1, -1, -1, -1, 137, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 149, -1, -1, -1,
+ -1, 154, -1, -1, -1, 252, 2244, 160, 255, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 175, 4551, -1, -1, -1, -1, 4556, -1,
+ -1, -1, 4560, -1, -1, -1, 4564, -1, -1, -1,
+ -1, 2279, -1, 290, -1, 1424, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 308, -1, -1, 2302, 1444, -1, 314, 221, -1,
+ -1, -1, 13, 320, -1, -1, 323, -1, 19, -1,
+ -1, 1460, -1, -1, -1, -1, -1, 28, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 252,
+ -1, -1, 349, -1, 351, 352, 47, 354, 355, -1,
+ 263, -1, 1491, 1492, -1, -1, 363, -1, -1, -1,
+ -1, 368, -1, 1502, -1, -1, -1, 374, 281, -1,
+ 377, -1, -1, 380, -1, 1514, 1515, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 393, 1526, 2386, -1,
+ -1, -1, -1, -1, 2392, 308, -1, -1, -1, 312,
+ -1, 314, -1, -1, -1, -1, -1, 320, -1, -1,
+ 323, -1, -1, -1, 21, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 349, -1, 351, -1,
+ -1, -1, 355, -1, -1, -1, 3340, 54, -1, -1,
+ 363, -1, -1, -1, -1, 368, -1, -1, -1, -1,
+ 67, 68, -1, -1, -1, 3359, -1, 380, -1, 76,
+ -1, -1, -1, 80, -1, -1, -1, 2475, -1, -1,
+ 393, -1, -1, -1, -1, 186, -1, -1, -1, -1,
+ 97, -1, 3386, -1, -1, 196, 197, -1, 199, -1,
+ -1, 202, -1, 204, -1, -1, -1, -1, -1, -1,
+ -1, 118, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 129, -1, -1, -1, 1665, -1, -1, -1,
+ 137, -1, -1, -1, -1, -1, -1, -1, 2536, -1,
+ -1, -1, 149, -1, -1, -1, -1, 154, -1, -1,
+ -1, -1, -1, 2551, 2552, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 175, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2578, -1, -1, 2581, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 200, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 221, -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, 252, -1, -1, -1, -1,
+ -1, -1, -1, 2651, 2652, 2653, -1, -1, -1, -1,
+ 3554, 3555, 3556, 3557, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 281, -1, -1, 2675, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2686, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2696, -1,
+ -1, 308, -1, -1, -1, 312, -1, 314, -1, -1,
+ -1, -1, -1, 320, -1, -1, 323, -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, 349, -1, 351, -1, -1, 1886, 355, -1,
+ -1, 1890, 1891, -1, -1, 1894, 363, -1, -1, -1,
+ -1, 368, -1, -1, -1, -1, -1, 2765, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1916, -1, -1,
+ -1, -1, -1, -1, -1, -1, 393, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2807,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1957, -1,
+ -1, -1, -1, -1, 2822, -1, 2824, -1, -1, -1,
+ -1, 532, -1, -1, -1, 1974, 1975, -1, 2836, 540,
+ 2838, -1, -1, -1, -1, -1, -1, -1, 549, 550,
+ -1, -1, -1, 554, -1, -1, -1, -1, -1, 1998,
+ 1999, -1, -1, 2002, 565, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 579, -1,
+ -1, -1, -1, -1, -1, -1, 2025, -1, -1, 2887,
+ 2029, -1, -1, -1, 595, -1, -1, 598, -1, 600,
+ -1, 602, -1, -1, -1, -1, -1, -1, 2047, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2915, -1, -1,
+ -1, -1, 2061, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2929, -1, -1, -1, 2074, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2083, -1, -1, -1, 2946, -1,
+ -1, 2949, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 662, -1, 664, -1, -1, -1, 3861, -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, 685, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2149, -1, -1, -1, -1, -1, -1, 718, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3024, 716, -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, 873, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2210, -1, -1, -1, 776, -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, 2244, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 828, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2279, -1, 843, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 856, -1, -1, -1, -1,
+ -1, -1, 863, 2302, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4066, -1, 875, -1, -1, 878, -1, -1,
+ -1, -1, -1, -1, 3182, -1, -1, -1, -1, 1005,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4103,
+ 911, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3218, -1, -1, -1, -1, 3223, -1, 3225, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2386, -1, -1,
+ -1, -1, -1, 2392, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3261, -1, 3263, -1, -1, -1, 3267,
+ -1, -1, -1, -1, 3272, -1, -1, 3275, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4195, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3309, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2475, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1035, -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, 1064, -1, -1, 3376, 3377,
+ -1, -1, -1, -1, -1, 3383, -1, 1203, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2536, -1, -1,
+ -1, -1, -1, 1092, 1093, -1, 1095, -1, -1, -1,
+ -1, -1, 2551, 2552, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1114, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2578,
+ -1, 1257, 2581, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3459, -1, -1, -1, 1154, -1, -1, -1, -1,
+ -1, 1172, 1173, -1, 1290, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1183, -1, -1, -1, 1187, 1188,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2651, 2652, 2653, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1235, -1, 2675, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2686, -1, 1365,
+ -1, -1, -1, -1, -1, -1, -1, 2696, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1384, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1404, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1429, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2765, -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, 2807, 3667,
+ 1486, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2822, -1, 2824, -1, -1, -1, -1,
+ 3688, -1, -1, -1, -1, -1, -1, 2836, -1, 2838,
+ -1, -1, 3700, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3722, -1, -1, -1, -1, -1,
+ -1, -1, 1433, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1448, 2887, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3762, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2915, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1488, -1, -1,
+ 2929, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1503, -1, 1505, -1, 1507, 2946, -1, -1,
+ 2949, 1512, -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, 1663, -1, -1,
+ -1, -1, -1, -1, 1555, -1, -1, -1, 1559, -1,
+ 1561, -1, -1, 1564, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3878, -1, -1, -1, -1, 3024, -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, 1602, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1625, -1, -1, 1628,
+ -1, -1, 1631, -1, -1, -1, -1, -1, -1, 1638,
+ 1639, -1, -1, -1, -1, 1644, -1, -1, 1647, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3970, -1, 3972, 1664, -1, -1, -1, -1,
+ 1669, -1, -1, -1, 1673, -1, -1, -1, 1677, -1,
+ 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, -1,
+ 1689, -1, -1, -1, -1, -1, -1, -1, 1697, 1698,
+ -1, -1, -1, -1, -1, 873, -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, 3182, -1, -1, -1, -1, -1, -1,
+ 4048, -1, 4050, -1, -1, -1, 1872, -1, -1, -1,
+ 1876, 1877, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3218,
+ -1, -1, -1, -1, 3223, -1, 3225, -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, 3261, -1, 3263, -1, -1, -1, 3267, -1,
+ -1, -1, -1, 3272, -1, 1824, 3275, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1005, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1981, -1, -1, -1, -1,
+ 3309, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1887, 1888, -1, -1,
+ -1, 1892, 1893, -1, -1, 1896, -1, -1, -1, -1,
+ -1, -1, -1, 4201, -1, 1906, -1, -1, -1, -1,
+ -1, -1, 1913, -1, -1, -1, 1917, 1918, -1, -1,
+ 1921, 1922, -1, -1, -1, -1, -1, 1928, -1, -1,
+ 1919, -1, -1, -1, -1, -1, -1, 3376, 3377, 1940,
+ -1, 1942, -1, -1, 3383, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1958, -1, -1,
+ -1, -1, 1963, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1983, -1, 1985, 1986, 1987, 1988, -1, -1,
+ -1, 1992, 1993, -1, -1, -1, -1, -1, -1, 2000,
+ -1, -1, -1, 2004, -1, -1, -1, 2008, -1, -1,
+ -1, -1, 2128, -1, -1, -1, -1, -1, -1, -1,
+ 3459, -1, -1, -1, -1, -1, -1, -1, -1, 2030,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2041, -1, 2043, -1, -1, 1203, -1, 2048, -1, -1,
+ -1, -1, 2053, 2054, 2055, 2056, -1, -1, -1, -1,
+ -1, 2062, -1, -1, -1, 4363, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2075, 2076, 2077, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2086, 2087, -1, -1, -1,
+ -1, 2207, -1, -1, -1, -1, -1, -1, -1, 1257,
+ -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, 4423, -1, -1, -1, -1,
+ -1, -1, 1290, -1, -1, -1, -1, 2126, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2150,
+ -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, 2291, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1108, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1365, -1, 4507,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1384, -1, 3667, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1404, -1, -1, 3688,
+ -1, 1168, -1, -1, -1, -1, -1, -1, 4556, -1,
+ 2249, 3700, -1, -1, -1, -1, 4564, -1, 2269, -1,
+ -1, 1429, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3722, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2297, -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, 3762, -1, -1, -1, -1, 1486, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2331, -1, -1, -1, -1, 2336, -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, 2378,
+ -1, 2380, 2381, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2391, -1, -1, 2394, -1, 2396, 2524, -1,
+ -1, 2527, -1, 2529, -1, -1, -1, -1, 2534, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2423, -1, 2425, -1, -1, 3878,
+ 2429, -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, 2584, -1,
+ -1, -1, 2461, 2462, 2463, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2488, -1, 2478,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2490, -1, -1, -1, 1663, 2495, -1, 2624, -1,
+ -1, -1, 2501, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3970, -1, 3972, -1, -1, 2537, 2538, -1, -1,
+ 1698, -1, -1, 873, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2554, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2683, 2557, 2685,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2579, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2588, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2603, 2604, -1, 1522, -1, 2608, -1, 4048,
+ -1, 4050, 2613, 2614, 2615, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2746, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2642, 2643, 2644, 2645, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2771, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2790, 1005, 2677, 2678, 2679, -1,
+ -1, -1, -1, 1600, -1, -1, 2687, -1, -1, -1,
+ -1, -1, 2808, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1624, -1, -1,
+ -1, -1, 1629, -1, 1872, -1, -1, -1, 1876, 1877,
+ -1, 2722, -1, 2724, -1, -1, 2727, -1, -1, -1,
+ -1, -1, 1649, 1650, -1, 1652, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2872, 2758, -1, -1,
+ -1, -1, 4201, -1, -1, 2766, -1, -1, -1, -1,
+ -1, -1, 2888, -1, -1, -1, -1, 1694, -1, -1,
+ -1, -1, -1, 2899, -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, 1730, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2823, 1981, -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, 2968, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2865, -1, -1, 2868, -1, -1,
+ -1, -1, 2988, 1203, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3013, -1, 2900,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2914, -1, -1, -1, 1834, -1, -1,
+ -1, -1, -1, 2924, 4363, -1, -1, 1257, -1, 1846,
+ -1, -1, 1849, 3049, -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,
+ 1290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2128, -1, -1, -1, -1, -1, 2965, -1, -1, -1,
+ -1, -1, -1, -1, 4423, -1, 2975, -1, -1, -1,
+ -1, -1, 2981, -1, 2983, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3005, 3006, -1, 3135,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1365, -1, 3026, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3036, -1, 2207,
+ 3039, -1, 3041, -1, 1384, -1, -1, -1, -1, -1,
+ -1, 3050, -1, -1, -1, -1, -1, 3056, 4507, -1,
+ 3059, -1, -1, -1, 1404, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3087, 1429,
+ -1, -1, -1, -1, 3093, 3094, -1, -1, 3224, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4556, -1, -1,
+ -1, -1, -1, -1, -1, 4564, -1, -1, 3117, -1,
+ -1, -1, -1, 2291, 3123, -1, -1, -1, -1, -1,
+ 3129, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1486, 3158, -1, 3160,
+ -1, -1, -1, -1, -1, -1, 3167, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3183, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3196, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3206, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3221, -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, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260,
+ -1, -1, -1, -1, 3380, 3266, -1, -1, -1, -1,
+ -1, -1, 3273, 3274, -1, 3276, 3277, 3278, 3279, 3280,
+ 3281, 3282, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3291, -1, 3293, 3294, -1, -1, -1, -1, -1, -1,
+ -1, 3417, -1, 2461, 2462, 2463, -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, 1663, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3347, 3348, 3349, -1,
+ -1, 3352, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2524, 873, -1, 2527,
+ -1, 2529, -1, -1, -1, -1, 2534, -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, 3527, -1, -1, -1, -1, -1, 2334, -1, -1,
+ -1, -1, 3538, -1, -1, -1, 2584, -1, -1, 3418,
+ 3419, -1, -1, 3434, -1, -1, -1, -1, -1, -1,
+ 2357, -1, 2359, -1, 2361, 2362, 2363, -1, -1, 2366,
+ 3451, 3452, 3453, 2370, -1, -1, -1, -1, -1, -1,
+ 2377, -1, -1, -1, -1, 2382, 2624, -1, -1, -1,
+ -1, 2388, -1, -1, -1, -1, 2393, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2402, -1, -1, 3477, 2406,
+ 2407, -1, 2409, -1, -1, -1, -1, -1, -1, 1005,
+ -1, -1, -1, -1, 2421, -1, -1, -1, -1, -1,
+ -1, 2428, -1, 2430, 2431, 2432, 2433, 2434, 2435, 2436,
+ 2437, 2438, 2439, -1, -1, 2683, -1, 2685, -1, -1,
+ -1, -1, -1, -1, 3650, 3524, 3525, -1, -1, -1,
+ 873, -1, 1872, -1, -1, -1, 1876, 1877, 3537, -1,
+ 2467, -1, -1, -1, 3543, 3544, -1, -1, 3547, -1,
+ 3676, 3550, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3693, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2746, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3587, -1,
+ -1, -1, -1, 3592, -1, -1, -1, -1, 3597, -1,
+ -1, -1, -1, 2771, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3747, 2790, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3632, -1, -1, -1, -1, -1, -1,
+ 2808, 1981, -1, -1, -1, 2572, -1, -1, -1, -1,
+ 3661, 3662, 3663, 3664, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1005, -1, 873, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3684, 3685, 3686, 3687, -1, 3689, 3690,
+ -1, -1, -1, -1, -1, -1, -1, 1203, -1, -1,
+ 3701, 3702, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2872, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3726, 3727, -1, 3729, -1,
+ 2888, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2899, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1257, -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, 3894, -1,
+ -1, -1, -1, -1, 1290, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2128, -1,
+ -1, -1, -1, -1, -1, -1, 1005, -1, -1, -1,
+ 2968, 3800, -1, -1, -1, -1, -1, 3818, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3827, -1, -1, -1,
+ 2988, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3847, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3013, -1, -1, -1, 1365,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3869, -1,
+ 1203, -1, -1, -1, -1, -1, 2793, 2207, 1384, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4006, 3049, -1, -1, -1, -1, -1, -1, 1404, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 873, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1429, 1257, -1, -1, -1, -1, -1,
+ -1, 3920, -1, -1, -1, 3936, 3094, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3949, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1290, -1, -1,
+ -1, 2291, -1, 3952, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3135, -1, -1,
+ 1486, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4114, -1,
+ -1, 2918, -1, -1, 1203, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4135,
+ -1, -1, -1, 4024, 4025, 4026, -1, -1, 4029, -1,
+ -1, -1, 1365, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1005, 2964, -1, -1,
+ -1, 1384, -1, 2970, -1, 4171, -1, -1, 1257, -1,
+ -1, -1, -1, -1, -1, -1, 3224, -1, -1, 2986,
+ 2987, 1404, 2989, -1, -1, 2992, 2993, 2994, 2995, 2996,
+ 2997, 2998, 2999, 3000, 3001, 3002, -1, -1, -1, 4205,
+ -1, 1290, -1, 4209, 4210, -1, 1429, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3027, -1, -1, 3030, -1, 3032, -1, -1, -1, 4120,
+ 3037, 3038, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3051, 3052, 3053, -1, 3055, -1,
+ -1, 3058, -1, -1, -1, -1, -1, -1, 4137, -1,
+ -1, -1, -1, 1486, -1, -1, -1, 1663, 4159, -1,
+ -1, -1, -1, -1, -1, -1, 1365, -1, 4169, -1,
+ -1, -1, -1, 4162, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3101, 1384, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2524, 3112, -1, 2527, 4199, 2529,
+ -1, -1, -1, 4204, 2534, 1404, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4215, -1, -1, -1, -1, -1,
+ 4221, -1, 3380, -1, -1, -1, -1, -1, -1, -1,
+ 1429, 3148, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1203, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2584, -1, -1, -1, -1, 3417,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4270, -1, -1, -1, -1, -1, 1486, -1, -1,
+ -1, -1, -1, 4294, 2624, -1, -1, -1, 1257, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4315, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1663, 1290, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4340, -1, 2683, -1, 2685, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1872, -1, -1, 3527,
+ 1876, 1877, -1, -1, -1, -1, -1, 4378, -1, -1,
+ 3538, -1, 4383, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1365, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2746, -1, -1, -1,
+ -1, -1, -1, 4412, 4413, 1384, -1, -1, -1, 3587,
+ -1, -1, -1, -1, 3592, -1, 3353, -1, -1, 3597,
+ -1, 2771, -1, -1, -1, 1404, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2790, -1, -1, -1, 1663, -1, -1, -1, -1, -1,
+ 1429, -1, -1, -1, -1, 1981, -1, -1, 2808, -1,
+ -1, -1, -1, -1, 4473, -1, -1, -1, -1, -1,
+ -1, -1, 3650, -1, -1, -1, -1, -1, 4487, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3676, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1486, -1, -1,
+ -1, -1, -1, -1, -1, 3693, -1, -1, -1, 1872,
+ -1, -1, 2872, 1876, 1877, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2888, -1,
+ -1, 3478, 4551, -1, -1, 3482, 3483, 3484, -1, 2899,
+ 3487, -1, -1, -1, -1, 3492, 3493, 3494, 3495, 3496,
+ 3497, 3498, 3499, 3500, 3501, 3502, 3503, -1, -1, 3747,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3531, 3532, 3533, 3534, -1, 3536,
+ -1, -1, 2128, 3540, 3541, 3542, -1, -1, 3545, -1,
+ -1, 3548, -1, -1, -1, -1, -1, -1, 2968, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1981, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2988, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3589, 1872, -1, -1, -1, 1876, 1877, 3596,
+ -1, -1, -1, 3013, -1, -1, -1, -1, -1, -1,
+ -1, 3608, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3858, 2207, -1, -1, 1663, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3049,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3894, -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, 1981, -1, -1, 2291, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2128, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3135, -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, 4006, -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, 2207, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3803, -1, -1, -1,
+ -1, -1, -1, -1, 3224, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1872, -1, -1, -1, 1876, 1877, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2128,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3855, 3856,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4114, -1, 2291, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3886,
+ -1, -1, -1, 3890, -1, -1, -1, 4135, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3904, -1, 3906,
+ -1, -1, -1, -1, 3911, 3912, 3913, -1, -1, 3916,
+ 3917, 3918, 3919, -1, 3921, -1, -1, 3924, 2207, -1,
+ -1, -1, -1, 4171, -1, -1, -1, -1, 2524, -1,
+ -1, 2527, 1981, 2529, -1, -1, -1, -1, 2534, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4205, -1, -1,
+ 3380, 4209, 4210, -1, -1, -1, -1, 3974, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2584, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3417, -1, -1,
+ -1, -1, 2291, -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, 2624, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4290, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4069, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2128,
+ -1, -1, -1, -1, -1, -1, -1, 2683, -1, 2685,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2524, -1, -1, 2527, -1, 2529, 3527, -1, -1,
+ -1, 2534, -1, -1, -1, -1, -1, -1, 3538, -1,
+ -1, -1, -1, -1, -1, -1, 4133, 4134, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4149, 4150, 4151, -1, -1, -1, -1, -1,
+ 2746, -1, -1, -1, -1, -1, -1, -1, 2207, -1,
+ -1, 2584, -1, -1, -1, -1, -1, 4174, -1, -1,
+ -1, -1, -1, -1, -1, 2771, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2790, -1, -1, -1, -1, -1,
+ -1, 2624, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2808, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3650, -1, -1, -1, -1, 2524, -1, -1, 2527, -1,
+ 2529, -1, 2291, -1, -1, 2534, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3676, -1, -1, -1,
+ 2683, -1, 2685, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3693, -1, -1, 2872, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4298, 2888, -1, -1, 2584, -1, -1, -1, -1,
+ -1, -1, -1, 2899, -1, -1, -1, 4314, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2746, -1, -1, -1, 3747, -1, -1,
+ -1, -1, -1, -1, -1, 2624, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2771, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2790, -1, -1,
+ -1, -1, 2968, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4388, -1, -1, -1, 2808, -1, -1, -1, -1,
+ -1, -1, 2988, -1, 2683, -1, 2685, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3013, -1, -1,
+ -1, -1, -1, -1, -1, 4432, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2872,
+ -1, -1, -1, 3049, -1, -1, -1, 2746, -1, -1,
+ -1, -1, -1, -1, -1, 2888, -1, -1, -1, 4476,
+ -1, -1, -1, -1, 3894, 2524, 2899, -1, 2527, -1,
+ 2529, -1, 2771, -1, -1, 2534, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2790, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2808,
+ -1, -1, 4529, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2584, -1, -1, -1, 3135,
+ -1, -1, -1, -1, -1, 2968, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2988, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2624, -1, -1, -1, -1,
+ -1, -1, -1, 2872, -1, -1, 4006, -1, -1, -1,
+ 3013, -1, -1, -1, -1, -1, -1, -1, -1, 2888,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2899, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3049, -1, 3224, -1,
+ -1, -1, -1, -1, 2683, -1, 2685, -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, 2968,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4114, -1, -1, 2746, -1, 2988,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3135, -1, -1, 4135, -1, -1, -1, -1,
+ -1, -1, 2771, -1, 3013, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2790, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4171, -1, -1, -1, -1, -1, -1, -1, 2808,
+ 3049, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3380, 4205, -1, -1, -1, 4209,
+ 4210, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3224, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3417, -1, 2872, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2888,
+ -1, -1, -1, -1, -1, -1, 3135, -1, -1, -1,
+ 2899, -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, 2968,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3527, -1, -1, -1, 3224, -1, -1, -1, 2988,
+ -1, -1, 3538, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3380, -1, -1,
+ -1, -1, -1, -1, 3013, -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, 3417, -1, -1, -1, -1, -1,
+ 3049, -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, 3650, -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,
+ 3676, -1, -1, -1, -1, -1, 3135, -1, -1, -1,
+ -1, 3380, -1, -1, -1, -1, -1, 3693, -1, -1,
+ -1, -1, -1, -1, 3527, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3538, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3417, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3747, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3224, -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, 3650, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3527, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3538,
+ -1, -1, -1, 3676, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3693, -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, 3894, -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, 3747, -1, -1, -1, -1, -1,
+ -1, 3380, -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, 3650, -1, -1, -1, -1, -1, -1, 3417, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3676, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3693, -1, -1, -1, -1, -1,
+ 4006, -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, 3747, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3894, -1, -1, -1, -1, -1, -1, 3527, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3538,
+ -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, 4114, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4135,
+ -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, 4171, -1, -1, -1, -1,
+ -1, -1, -1, 4006, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3650, -1, -1, -1, 3894, -1, -1, -1, 4205,
+ -1, -1, -1, 4209, 4210, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3676, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3693, -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, 4114, -1, -1, -1, -1, -1, -1, 3747, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4135, -1, -1, -1, -1, 4006, -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, 4171, -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, 4205, -1, -1, -1, 4209, 4210, -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, 4114, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3894, 4135, -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, 4171, -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, 4205, -1, -1, -1,
+ 4209, 4210, -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, 4006, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4114, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4135, -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, 4171, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
+ -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, -1, 4205, -1, -1, 30,
+ 4209, 4210, 33, 34, -1, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
+ 61, 62, 63, 64, 65, -1, 67, -1, 69, 70,
+ 71, 72, 73, 74, 75, -1, 77, 78, 79, 80,
+ 81, 82, -1, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
+ -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
+ 121, -1, 123, 124, 125, -1, 127, 128, 129, -1,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, -1, 143, 144, 145, 146, -1, 148, -1, 150,
+ 151, -1, 153, 154, 155, 156, -1, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, -1, 173, 174, 175, 176, 177, 178, -1, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, -1, 190,
+ -1, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, -1, 203, 204, -1, 206, 207, 208, 209, 210,
+ -1, 212, 213, 214, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, -1, 249, -1,
+ -1, 252, 253, 254, -1, -1, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, 268, 269, -1,
+ 271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, 332, 333, -1, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 344, 345, -1, 347, 348, -1, 350,
+ 351, 352, 353, 354, 355, -1, 357, 358, -1, -1,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, -1, 374, 375, 376, 377, 378, 379, 380,
+ -1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, 395, -1, -1, 398, -1, -1,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 414, 415, 416, 417, 418, -1, -1,
+ -1, -1, -1, -1, -1, -1, 427, 428, 429, -1,
+ -1, -1, -1, -1, -1, 436, 437, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, 30, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
+ 376, 377, 378, 379, 380, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, -1, -1, -1, -1, -1, -1, -1,
+ -1, 427, 428, 3, -1, -1, -1, -1, -1, -1,
+ 436, 437, -1, -1, 14, 15, 16, 17, 18, 19,
20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
- -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ -1, 31, -1, 33, 34, -1, 36, 37, -1, 39,
40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
-1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
- 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
-1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, 419,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, -1, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, -1, -1, -1, 90, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, -1, 135, 136, 137, -1, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, -1, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, -1, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, -1, 205, 206, 207, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, -1, -1,
- 233, 234, 235, 236, -1, -1, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- -1, 254, 255, 256, -1, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, -1, 268, -1, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- -1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, -1, 356, -1, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, -1, 381, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, -1, -1, 3, -1, -1,
- -1, -1, -1, -1, 407, 408, 409, -1, 14, 15,
- 16, 17, 18, 19, 20, 21, 419, 23, 24, 25,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 437, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
-1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
@@ -15368,848 +14678,1490 @@ static const yytype_int16 yycheck[] =
96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
-1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, -1, 135,
- 136, 137, -1, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, 149, -1, 151, 152, 153, 154, -1,
- 156, -1, -1, 159, -1, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, 179, -1, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
- 206, 207, -1, 209, 210, 211, -1, -1, 214, 215,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, -1,
+ 136, 137, 138, -1, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, -1, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, -1, 208, 209, 210, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, -1,
+ -1, 237, 238, 239, 240, -1, -1, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, -1, 273, -1, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, -1, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, -1, 363, -1, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, -1, 388, 389, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, -1, 3, -1, -1, -1, -1, -1, -1, -1,
+ 416, 417, 418, 14, 15, 16, 17, 18, 19, 20,
+ 21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
+ -1, 437, 33, 34, -1, 36, 37, 38, 39, 40,
+ 41, -1, 43, 44, 45, 46, -1, 48, 49, 50,
+ 51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
+ 61, 62, 63, 64, -1, -1, 67, -1, 69, 70,
+ 71, 72, 73, 74, 75, -1, 77, 78, 79, 80,
+ 81, 82, -1, 84, 85, 86, -1, -1, -1, 90,
+ -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
+ -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
+ 121, -1, 123, 124, 125, -1, 127, 128, 129, -1,
+ 131, 132, 133, 134, -1, 136, 137, 138, -1, -1,
+ 141, -1, 143, 144, 145, 146, -1, 148, -1, 150,
+ 151, -1, 153, 154, 155, 156, -1, 158, -1, -1,
+ 161, -1, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, -1, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, -1, 190,
+ -1, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, -1, 203, 204, -1, 206, -1, 208, 209, 210,
+ -1, 212, 213, 214, -1, -1, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, -1, -1, 237, 238, 239, 240,
+ -1, -1, 243, 244, 245, 246, 247, -1, 249, -1,
+ -1, 252, 253, 254, -1, -1, 257, 258, 259, 260,
+ 261, -1, 263, 264, 265, 266, 267, 268, 269, -1,
+ 271, -1, 273, -1, 275, 276, 277, -1, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, -1, 305, 306, 307, 308, 309, -1,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
+ 331, 332, 333, -1, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 344, -1, -1, 347, 348, -1, 350,
+ 351, 352, 353, 354, 355, -1, 357, 358, -1, -1,
+ 361, -1, 363, -1, -1, 366, 367, 368, 369, 370,
+ 371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
+ -1, 382, 383, 384, 385, 386, -1, 388, 389, 390,
+ 391, 392, 393, 394, 395, -1, -1, 398, -1, -1,
+ 401, 402, 403, 404, 405, 406, -1, 3, 4, 5,
+ 6, 7, 8, 9, 10, 416, 417, 418, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, 30, -1, 437, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, 152, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, 205,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, -1, -1, 233, 234, 235,
- 236, -1, -1, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, -1, 254, 255,
- 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, -1, 268, -1, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, 300, 301, 302, -1, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, 323, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, -1, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, -1,
- 356, -1, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, -1, 381, -1, 383, 384, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, -1, -1, 3, 4, 5, -1, -1, -1,
- 9, 407, 408, 409, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, 419, 23, 24, 25, -1, -1, -1,
- -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
- 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, 246, -1, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 3, 4, 5, -1, -1, -1, 9, 417, 418,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
+ 376, 377, 378, 379, 380, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, -1, -1, -1, -1, -1, -1, -1,
+ -1, 427, 428, -1, -1, -1, -1, -1, -1, -1,
+ 436, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
- -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
- 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
- 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 104, -1, 106, 107, 108, 109, 110, -1,
+ -1, 23, 24, 25, -1, -1, -1, -1, 30, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, 139, 140, -1,
- 142, 143, 144, -1, 146, -1, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, -1, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, 246, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, -1, -1, 368, 369, 370, 371,
- 372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 3, 4,
- 5, -1, -1, -1, 9, 417, 418, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, 246, -1, 248, 249, 250, -1, -1, 253, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 3, -1, -1, -1, -1,
- -1, 9, 417, 418, -1, -1, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
- -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
- -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
- -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
- 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
- -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ -1, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, 208, 209, 210, -1,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, -1, 374, 375, 376, 377, 378, 379, 380, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, -1, -1, -1,
+ -1, -1, -1, -1, -1, 427, 428, -1, -1, -1,
+ -1, -1, -1, -1, 436, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, 30, -1, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, 210, -1, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, -1, 374, 375, 376, 377,
+ 378, 379, 380, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, -1, -1, -1, -1, -1, -1, -1, -1, 427,
+ 428, -1, -1, -1, -1, -1, 434, 435, 436, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, 30, -1, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, 67, -1, 69, 70, 71, 72, 73,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, 151, -1, 153,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, 208, 209, 210, -1, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
+ 374, 375, 376, 377, 378, 379, 380, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, 391, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, -1, -1, -1, -1, -1,
+ -1, -1, -1, 427, 428, 429, -1, -1, -1, -1,
+ -1, -1, 436, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ 30, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ 210, -1, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, -1, 374, 375, 376, 377, 378, 379,
+ 380, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, -1,
+ -1, -1, -1, -1, -1, -1, -1, 427, 428, -1,
+ -1, -1, -1, -1, -1, -1, 436, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ -1, -1, -1, -1, 30, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
+ 376, 377, 378, 379, 380, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, -1, -1, -1, -1, -1, -1, -1,
+ -1, 427, 428, -1, -1, -1, -1, -1, -1, -1,
+ 436, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, 30, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ 152, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, 208, 209, 210, -1,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, -1, 374, 375, 376, 377, 378, 379, 380, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, -1, -1, -1,
+ -1, -1, -1, -1, -1, 427, 428, -1, -1, -1,
+ -1, -1, -1, -1, 436, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, 30, -1, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, 210, -1, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, -1, 374, 375, 376, 377,
+ 378, 379, 380, -1, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, -1, -1, -1, -1, -1, -1, -1, -1, 427,
+ 428, -1, -1, -1, -1, -1, -1, -1, 436, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, 30, -1, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, 67, -1, 69, 70, 71, 72, 73,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, 151, -1, 153,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, 208, 209, 210, -1, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
+ 374, 375, 376, 377, 378, 379, 380, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, 391, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, -1, -1, -1, -1, -1,
+ -1, -1, -1, 427, 428, -1, -1, -1, -1, -1,
+ -1, -1, 436, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ 30, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ 210, -1, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, -1, 374, 375, 376, 377, 378, 379,
+ 380, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, -1,
+ -1, -1, -1, -1, -1, -1, -1, 427, 428, -1,
+ -1, -1, -1, -1, -1, -1, 436, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, 30, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
+ 376, 377, 378, 379, 380, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, -1, -1, -1, -1, -1, -1, -1,
+ -1, 427, 428, -1, -1, -1, -1, -1, -1, -1,
+ 436, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, 30, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ -1, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, 208, 209, 210, -1,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, -1, 374, 375, 376, 377, 378, 379, 380, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, -1, -1, -1,
+ -1, -1, -1, -1, -1, 427, 428, -1, -1, -1,
+ -1, -1, -1, -1, 436, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, 30, -1, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, 150, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
- 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, 4, 5, -1, -1, -1, 9, 417,
- 418, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
- 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 3,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, 210, -1, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, -1, 374, 375, 376, 377,
+ 378, 379, 380, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, -1, -1, -1, -1, -1, -1, -1, -1, 427,
+ 428, -1, -1, -1, -1, -1, -1, -1, 436, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, 30, -1, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, 67, -1, 69, 70, 71, 72, 73,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, 151, -1, 153,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, 208, 209, 210, -1, 212, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
- 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
- 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
+ 374, 375, 376, 377, 378, 379, 380, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, 391, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, -1, -1, -1, -1, -1,
+ -1, -1, -1, 427, 428, -1, -1, -1, -1, -1,
+ -1, -1, 436, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, -1, -1, 14, 15, 16, 17, 18, 19,
20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
- -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 30, -1, -1, 33, 34, -1, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
-1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
- 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
- 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, 149,
- -1, 151, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, 205, 206, 207, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ 210, -1, 212, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, -1, 233, 234, 235, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, 323, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 230, 231, 232, 233, 234, 235, -1, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, 384, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, -1, -1, -1, 90, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, 205, 206, 207, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, -1,
- 233, 234, 235, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 3, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 380, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, -1,
+ -1, -1, -1, -1, -1, -1, -1, 427, 428, -1,
+ -1, -1, -1, -1, -1, -1, 436, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, -1, -1, 14, 15,
16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
- -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ -1, -1, -1, -1, 30, -1, -1, 33, 34, -1,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 46, -1, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
-1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
-1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
- 86, -1, -1, -1, 90, -1, -1, -1, 94, 95,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
-1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, 149, -1, 151, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, 204, 205,
- 206, 207, -1, 209, 210, 211, -1, -1, 214, 215,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, 208, 209, -1, -1, 212, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, 231, -1, 233, 234, 235,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, 323, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, 384, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 3, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
- 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, -1, -1, 68,
- 69, 70, 71, 72, -1, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- -1, 140, -1, 142, 143, 144, -1, 146, 147, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 3, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
- -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
- 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
+ 376, 377, 378, 379, 380, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, -1, -1, -1, -1, -1, -1, -1,
+ -1, 427, 428, -1, -1, 3, 4, 5, 6, 7,
+ 436, 9, 10, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, 30, -1, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, 210, -1, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, 380, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, -1, -1, -1, -1, -1, -1, -1, 3, 4,
+ 5, 6, 7, -1, 9, 10, -1, -1, 436, 14,
+ 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
+ 25, -1, -1, -1, -1, 30, -1, -1, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, -1, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
+ 65, -1, 67, -1, 69, 70, 71, 72, 73, 74,
+ 75, -1, 77, 78, 79, 80, 81, 82, -1, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
+ 125, -1, 127, 128, 129, -1, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, -1, 143, 144,
+ 145, 146, -1, 148, -1, 150, 151, -1, 153, 154,
+ 155, 156, -1, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
+ 175, 176, 177, 178, -1, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, -1, 190, -1, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
+ -1, 206, 207, 208, 209, 210, -1, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, 237, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 247, -1, 249, -1, -1, 252, 253, 254,
+ -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, -1, 271, 272, 273, 274,
+ 275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, -1,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, -1,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ 345, -1, 347, 348, -1, 350, 351, 352, 353, 354,
+ 355, -1, 357, 358, -1, -1, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, -1, -1,
+ 375, 376, 377, 378, 379, 380, -1, 382, 383, 384,
+ 385, 386, 387, 388, -1, 390, 391, 392, 393, 394,
+ 395, -1, -1, 398, -1, -1, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
+ 415, 416, 417, 418, -1, -1, -1, -1, -1, -1,
+ -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ -1, 436, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, 30, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, -1, 140, -1,
- 142, 143, 144, -1, 146, 147, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, 207, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, -1, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, -1, 359, 360, 361,
- 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
- 372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 3, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ -1, 123, 124, 125, -1, 127, -1, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ -1, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, 208, 209, -1, -1,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, -1, 374, 375, 376, 377, 378, 379, 380, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, -1, -1, -1,
+ -1, -1, -1, -1, -1, 427, 428, -1, -1, -1,
+ -1, -1, -1, -1, 436, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, 30, -1, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, -1, 43, 44, 45, 46, -1,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ -1, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, -1, -1, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, 380, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, -1, -1, -1, -1, -1, -1, -1, 3, 427,
+ 428, -1, -1, -1, -1, -1, -1, -1, 436, 14,
+ 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
+ -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, 83, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
+ 65, -1, 67, -1, 69, 70, 71, 72, 73, 74,
+ 75, -1, 77, 78, 79, 80, 81, 82, -1, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
-1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
-1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- 155, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
+ 125, -1, 127, 128, 129, -1, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, -1, 141, -1, 143, 144,
+ 145, 146, -1, 148, -1, 150, 151, -1, 153, 154,
+ 155, 156, -1, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
+ 175, 176, 177, 178, -1, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, -1, 190, -1, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ -1, 206, 207, 208, 209, 210, -1, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, 237, 238, 239, 240, -1, 242, 243, 244,
+ 245, 246, 247, -1, 249, -1, 251, 252, 253, 254,
-1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
+ 265, 266, 267, 268, 269, -1, 271, 272, 273, 274,
+ 275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 3, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, -1,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ 345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, -1, 357, 358, -1, -1, 361, 362, 363, 364,
+ -1, 366, 367, 368, 369, 370, 371, 372, -1, -1,
+ 375, 376, 377, 378, 379, 380, -1, 382, 383, 384,
+ 385, 386, 387, 388, -1, 390, 391, 392, 393, 394,
+ 395, -1, -1, 398, -1, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
+ 415, 416, 417, 418, -1, -1, -1, -1, -1, -1,
+ -1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 436, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, 54, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ -1, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, -1, 206, 207, 208, 209, 210, -1,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, 237, 238, 239, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, 251,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, 380, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, -1, -1, -1,
+ -1, -1, -1, -1, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 436, 14, 15, 16, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
+ -1, -1, -1, -1, 33, 34, -1, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
+ 49, 50, 51, 52, -1, 54, 55, 56, 57, 58,
+ 59, -1, 61, 62, 63, 64, 65, -1, 67, -1,
+ 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
+ 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
+ 129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, -1, 143, 144, 145, 146, -1, 148,
+ -1, 150, 151, -1, 153, 154, 155, 156, -1, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
+ -1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
+ -1, 190, -1, 192, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, -1, 203, 204, -1, 206, 207, 208,
+ 209, 210, -1, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, 237, 238,
+ 239, 240, -1, 242, 243, 244, 245, 246, 247, -1,
+ 249, -1, -1, 252, 253, 254, -1, -1, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, -1, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 333, -1, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
+ -1, 350, 351, 352, 353, 354, 355, -1, 357, 358,
+ -1, -1, 361, 362, 363, 364, -1, 366, 367, 368,
+ 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
+ 379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
+ -1, 390, 391, 392, 393, 394, 395, -1, -1, 398,
+ -1, -1, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ -1, -1, -1, -1, -1, -1, -1, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 436, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, 237, 238, 239, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, 380, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, -1, -1, -1, -1, -1, -1, -1,
+ 3, 4, 5, -1, -1, -1, 9, -1, -1, -1,
+ 436, 14, 15, 16, 17, 18, 19, 20, 21, -1,
+ 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
+ 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
+ -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
+ 63, 64, 65, -1, 67, -1, 69, 70, 71, 72,
+ 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
+ -1, 84, 85, 86, -1, -1, -1, 90, -1, -1,
+ -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
+ 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
+ 123, 124, 125, -1, 127, 128, 129, -1, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140, 141, -1,
+ 143, 144, 145, 146, -1, 148, -1, 150, 151, -1,
+ 153, 154, 155, 156, -1, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, -1,
+ 173, 174, 175, 176, 177, 178, -1, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, -1, 190, -1, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
+ 203, 204, -1, 206, 207, 208, 209, 210, -1, 212,
+ 213, 214, -1, -1, 217, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, 237, 238, 239, 240, -1, 242,
+ 243, 244, 245, 246, 247, -1, 249, 250, -1, 252,
+ 253, 254, -1, -1, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, 268, 269, -1, 271, 272,
+ 273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ 303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
+ 333, -1, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 344, 345, -1, 347, 348, -1, 350, 351, 352,
+ 353, 354, 355, -1, 357, 358, -1, -1, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ -1, -1, 375, 376, 377, 378, 379, -1, -1, 382,
+ 383, 384, 385, 386, 387, 388, -1, 390, 391, 392,
+ 393, 394, 395, -1, -1, 398, -1, -1, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
+ 413, 414, 415, 416, 417, 418, -1, -1, -1, -1,
+ -1, -1, -1, 3, 427, 428, 429, -1, -1, -1,
+ -1, -1, -1, 436, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, 26, 27, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
+ 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ 210, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, 237, 238, 239,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, -1,
+ -1, -1, -1, -1, -1, -1, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 436, 14, 15, 16,
+ 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
+ -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
+ 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
+ 67, -1, 69, 70, 71, 72, 73, 74, 75, -1,
+ 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
+ -1, -1, -1, 90, -1, -1, -1, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
+ 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
+ 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
+ 127, 128, 129, -1, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, -1, 141, -1, 143, 144, 145, 146,
+ -1, 148, -1, 150, 151, -1, 153, 154, 155, 156,
+ -1, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, 168, 169, 170, 171, -1, 173, 174, 175, 176,
+ 177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, -1, 190, -1, 192, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
+ 207, 208, 209, 210, -1, 212, 213, 214, -1, -1,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ 237, 238, 239, 240, -1, 242, 243, 244, 245, 246,
+ 247, -1, 249, -1, -1, 252, 253, 254, -1, -1,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, -1, 271, 272, 273, 274, 275, 276,
+ 277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, 303, -1, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, -1, 326,
+ 327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 344, 345, -1,
+ 347, 348, -1, 350, 351, 352, 353, 354, 355, -1,
+ 357, 358, -1, -1, 361, 362, 363, 364, -1, 366,
+ 367, 368, 369, 370, 371, 372, -1, -1, 375, 376,
+ 377, 378, 379, -1, -1, 382, 383, 384, 385, 386,
+ 387, 388, -1, 390, 391, 392, 393, 394, 395, -1,
+ -1, 398, -1, -1, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
+ 417, 418, -1, -1, -1, -1, -1, -1, -1, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 436,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, -1, -1, -1, -1, -1,
+ -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 436, 14, 15, 16, 17, 18, 19, 20,
+ 21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
+ -1, -1, 33, 34, -1, 36, 37, -1, 39, 40,
+ 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
+ 51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
+ 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
+ 71, 72, -1, 74, 75, -1, 77, 78, 79, 80,
+ 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
+ -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
+ -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
+ 121, -1, 123, 124, 125, -1, 127, 128, 129, -1,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, -1,
+ 141, -1, 143, 144, 145, 146, -1, 148, -1, 150,
+ -1, -1, -1, 154, 155, 156, -1, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, 170,
+ 171, -1, 173, 174, 175, 176, 177, 178, -1, 180,
+ -1, 182, 183, 184, 185, 186, 187, 188, -1, 190,
+ -1, 192, -1, -1, 195, -1, 197, 198, 199, 200,
+ 201, -1, 203, 204, -1, 206, 207, -1, 209, -1,
+ -1, 212, 213, 214, -1, -1, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ -1, 232, 233, 234, 235, -1, 237, 238, -1, 240,
+ -1, 242, 243, 244, 245, 246, 247, -1, 249, -1,
+ -1, 252, 253, 254, -1, -1, 257, 258, -1, 260,
+ -1, 262, 263, 264, 265, 266, 267, 268, 269, -1,
+ 271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, -1, 305, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, -1, 326, 327, 328, 329, -1,
+ 331, 332, 333, -1, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 344, 345, -1, 347, 348, -1, 350,
+ 351, 352, 353, 354, 355, -1, 357, 358, -1, -1,
+ 361, 362, 363, 364, -1, 366, 367, 368, 369, 370,
+ 371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
+ -1, 382, 383, 384, 385, 386, 387, 388, -1, 390,
+ -1, 392, 393, 394, 395, -1, -1, 398, -1, -1,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 414, 415, 416, 417, 418, -1, -1,
+ -1, -1, -1, -1, -1, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 436, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
-1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
-1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
-1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
- 78, 79, 80, 81, 82, 83, -1, 85, 86, -1,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
-1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, 155, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
- -1, -1, 33, 34, -1, 36, 37, -1, 39, 40,
- 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
- -1, 142, 143, 144, -1, 146, 147, 148, -1, -1,
- -1, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, -1, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, -1, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- -1, -1, 193, -1, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, -1, 206, -1, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
- 231, -1, 233, 234, -1, 236, -1, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, -1, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
- 371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, -1, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 3,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
- 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
- -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
- 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
- 74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
- -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
- 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
- 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, -1, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, -1, -1, -1, 152, 153,
- 154, -1, 156, 157, -1, 159, -1, 161, 162, 163,
- 164, 165, -1, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, -1, 180, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
- -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- 204, -1, 206, -1, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, -1, 228, 229, 230, 231, -1, 233,
- 234, -1, 236, -1, 238, 239, 240, 241, 242, 243,
- -1, 245, -1, -1, 248, 249, 250, -1, -1, 253,
- -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, -1,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
- 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, 380, 381, -1, 383,
- -1, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, 5, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, 246,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, -1, -1, -1, -1,
- -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
- 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
- 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
- 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
- -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
- 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, 147, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
- 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- 83, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 3, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
- 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
- 26, 27, -1, -1, -1, -1, -1, 33, 34, -1,
- 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
- -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
- -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
- 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
- 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
- -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, -1, -1, -1, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- -1, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, -1, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, -1, -1, 193, -1, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
- 206, -1, -1, 209, 210, 211, -1, -1, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, -1, 228, 229, 230, 231, -1, 233, 234, -1,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, 253, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, -1, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, 384, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 3, -1, 5, -1, -1, -1,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, -1, -1, -1, -1, -1, -1, -1, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 436, 14,
+ 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
+ 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
+ -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
+ 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
+ 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
+ 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
+ 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
+ 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
+ 125, -1, 127, 128, 129, -1, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, -1, 141, -1, 143, 144,
+ 145, 146, -1, 148, -1, 150, -1, -1, -1, 154,
+ 155, 156, -1, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, 170, 171, -1, 173, 174,
+ 175, 176, 177, 178, -1, 180, -1, 182, 183, 184,
+ 185, 186, 187, 188, -1, 190, -1, 192, -1, -1,
+ 195, -1, 197, 198, 199, 200, 201, -1, 203, 204,
+ -1, 206, 207, -1, 209, -1, -1, 212, 213, 214,
+ -1, -1, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, -1, 232, 233, 234,
+ 235, -1, 237, 238, -1, 240, -1, 242, 243, 244,
+ 245, 246, 247, -1, 249, -1, -1, 252, 253, 254,
+ -1, -1, 257, 258, -1, 260, -1, 262, 263, 264,
+ 265, 266, 267, 268, 269, -1, 271, 272, 273, 274,
+ 275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, -1,
+ 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ -1, 326, 327, 328, 329, -1, 331, 332, 333, -1,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ 345, -1, 347, 348, -1, 350, 351, 352, 353, 354,
+ 355, -1, 357, 358, -1, -1, 361, 362, 363, 364,
+ -1, 366, 367, 368, 369, 370, 371, 372, -1, -1,
+ 375, 376, 377, 378, 379, -1, -1, 382, 383, 384,
+ 385, 386, 387, 388, -1, 390, -1, 392, 393, 394,
+ 395, -1, -1, 398, -1, -1, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
+ 415, 416, 417, 418, -1, -1, -1, -1, -1, -1,
+ -1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 436, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, -1, -1, -1,
+ -1, -1, -1, -1, 3, 4, 5, -1, -1, 8,
+ 9, -1, -1, -1, 436, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, -1, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, -1, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, -1, 136, 137, 138,
+ -1, 140, 141, 142, 143, 144, 145, 146, 147, 148,
+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ -1, 160, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 181, -1, 183, 184, 185, 186, 187, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, -1, 236, 237, 238,
+ 239, 240, 241, -1, 243, 244, 245, 246, 247, 248,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, -1,
+ 259, 260, 261, -1, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, -1, 273, -1, 275, 276, 277, 278,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
+ 309, -1, 311, 312, 313, 314, 315, 316, 317, 318,
+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, -1, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, -1, 363, -1, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 382, 383, 384, 385, 386, -1, 388,
+ 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 416, 417, 418,
+ -1, -1, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 3, -1, -1, -1, -1, 8,
-1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
-1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
@@ -16219,202 +16171,463 @@ static const yytype_int16 yycheck[] =
69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
-1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, -1, 106, 107, 108,
+ 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- -1, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
+ 129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, -1, 143, 144, 145, 146, -1, 148,
+ -1, 150, -1, -1, -1, 154, 155, 156, -1, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
+ -1, 180, -1, 182, 183, 184, 185, 186, 187, 188,
+ -1, 190, -1, 192, -1, -1, 195, -1, 197, 198,
+ 199, 200, 201, -1, 203, 204, -1, 206, 207, -1,
+ 209, -1, -1, 212, 213, 214, -1, -1, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, -1, 232, 233, 234, 235, -1, 237, 238,
+ -1, 240, -1, 242, 243, 244, 245, 246, 247, -1,
+ 249, -1, -1, 252, 253, 254, -1, -1, 257, 258,
+ -1, 260, -1, 262, 263, 264, 265, 266, 267, 268,
+ 269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, -1, 305, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, -1, 326, 327, 328,
+ 329, -1, 331, 332, 333, -1, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
+ -1, 350, 351, 352, 353, 354, 355, -1, 357, 358,
+ -1, -1, 361, 362, 363, 364, -1, 366, 367, 368,
369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 3, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
- -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
- 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
- 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
- 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, -1, 140, -1,
- 142, 143, 144, -1, 146, -1, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, -1, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, -1, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, -1, 359, 360, 361,
- 362, 363, 364, 365, -1, -1, 368, 369, 370, 371,
- 372, 373, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 3, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, 26, 27, -1, -1, -1, -1, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 3, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
+ 379, -1, -1, 382, 383, 384, 385, 386, 387, 388,
+ -1, 390, -1, 392, 393, 394, 395, -1, -1, 398,
+ -1, -1, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ -1, -1, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 3, -1, -1, -1, -1, 8,
+ -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
+ -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
+ 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
+ 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
+ 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
+ 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
+ -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
+ 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
+ 129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, -1, 143, 144, 145, 146, -1, 148,
+ -1, 150, -1, -1, -1, 154, 155, 156, -1, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
+ -1, 180, -1, 182, 183, 184, 185, 186, 187, 188,
+ -1, 190, -1, 192, -1, -1, 195, -1, 197, 198,
+ 199, 200, 201, -1, 203, 204, -1, 206, 207, -1,
+ 209, -1, -1, 212, 213, 214, -1, -1, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, -1, 232, 233, 234, 235, -1, 237, 238,
+ -1, 240, -1, 242, 243, 244, 245, 246, 247, -1,
+ 249, -1, -1, 252, 253, 254, -1, -1, 257, 258,
+ -1, 260, -1, 262, 263, 264, 265, 266, 267, 268,
+ 269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, -1, 305, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, -1, 326, 327, 328,
+ 329, -1, 331, 332, 333, -1, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
+ -1, 350, 351, 352, 353, 354, 355, -1, 357, 358,
+ -1, -1, 361, 362, 363, 364, -1, 366, 367, 368,
+ 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
+ 379, -1, -1, 382, 383, 384, 385, 386, 387, 388,
+ -1, 390, -1, 392, 393, 394, 395, -1, -1, 398,
+ -1, -1, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ -1, -1, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 3, -1, -1, -1, -1, 8,
+ -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
+ -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
+ 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
+ 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
+ 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
+ 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
+ -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
+ 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
+ 129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, -1, 143, 144, 145, 146, -1, 148,
+ -1, 150, -1, -1, -1, 154, 155, 156, -1, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
+ -1, 180, -1, 182, 183, 184, 185, 186, 187, 188,
+ -1, 190, -1, 192, -1, -1, 195, -1, 197, 198,
+ 199, 200, 201, -1, 203, 204, -1, 206, 207, -1,
+ 209, -1, -1, 212, 213, 214, -1, -1, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, -1, 232, 233, 234, 235, -1, 237, 238,
+ -1, 240, -1, 242, 243, 244, 245, 246, 247, -1,
+ 249, -1, -1, 252, 253, 254, -1, -1, 257, 258,
+ -1, 260, -1, 262, 263, 264, 265, 266, 267, 268,
+ 269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, -1, 305, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, -1, 326, 327, 328,
+ 329, -1, 331, 332, 333, -1, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
+ -1, 350, 351, 352, 353, 354, 355, -1, 357, 358,
+ -1, -1, 361, 362, 363, 364, -1, 366, 367, 368,
+ 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
+ 379, -1, -1, 382, 383, 384, 385, 386, 387, 388,
+ -1, 390, -1, 392, 393, 394, 395, -1, -1, 398,
+ -1, -1, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ -1, -1, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 3, -1, -1, -1, -1, 8,
+ -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
+ -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
+ 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
+ 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
+ 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
+ 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
+ -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
+ 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
+ 129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, -1, 143, 144, 145, 146, -1, 148,
+ -1, 150, -1, -1, -1, 154, 155, 156, -1, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
+ -1, 180, -1, 182, 183, 184, 185, 186, 187, 188,
+ -1, 190, -1, 192, -1, -1, 195, -1, 197, 198,
+ 199, 200, 201, -1, 203, 204, -1, 206, 207, -1,
+ 209, -1, -1, 212, 213, 214, -1, -1, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, -1, 232, 233, 234, 235, -1, 237, 238,
+ -1, 240, -1, 242, 243, 244, 245, 246, 247, -1,
+ 249, -1, -1, 252, 253, 254, -1, -1, 257, 258,
+ -1, 260, -1, 262, 263, 264, 265, 266, 267, 268,
+ 269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, -1, 305, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, -1, 326, 327, 328,
+ 329, -1, 331, 332, 333, -1, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
+ -1, 350, 351, 352, 353, 354, 355, -1, 357, 358,
+ -1, -1, 361, 362, 363, 364, -1, 366, 367, 368,
+ 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
+ 379, -1, -1, 382, 383, 384, 385, 386, 387, 388,
+ -1, 390, -1, 392, 393, 394, 395, -1, -1, 398,
+ -1, -1, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ -1, -1, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 3, -1, -1, -1, -1, 8,
+ -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
+ -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
+ 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
+ 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
+ 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
+ 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
+ -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
+ 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
+ 129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, -1, 143, 144, 145, 146, -1, 148,
+ -1, 150, -1, -1, -1, 154, 155, 156, -1, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
+ -1, 180, -1, 182, 183, 184, 185, 186, 187, 188,
+ -1, 190, -1, 192, -1, -1, 195, -1, 197, 198,
+ 199, 200, 201, -1, 203, 204, -1, 206, 207, -1,
+ 209, -1, -1, 212, 213, 214, -1, -1, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, -1, 232, 233, 234, 235, -1, 237, 238,
+ -1, 240, -1, 242, 243, 244, 245, 246, 247, -1,
+ 249, -1, -1, 252, 253, 254, -1, -1, 257, 258,
+ -1, 260, -1, 262, 263, 264, 265, 266, 267, 268,
+ 269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, -1, 305, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, -1, 326, 327, 328,
+ 329, -1, 331, 332, 333, -1, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
+ -1, 350, 351, 352, 353, 354, 355, -1, 357, 358,
+ -1, -1, 361, 362, 363, 364, -1, 366, 367, 368,
+ 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
+ 379, -1, -1, 382, 383, 384, 385, 386, 387, 388,
+ -1, 390, -1, 392, 393, 394, 395, -1, -1, 398,
+ -1, -1, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ -1, -1, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 3, -1, -1, -1, -1, 8,
+ -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
+ -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
+ 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
+ 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
+ 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
+ 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
+ -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
+ 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
+ 129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, -1, 143, 144, 145, 146, -1, 148,
+ -1, 150, -1, -1, -1, 154, 155, 156, -1, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
+ -1, 180, -1, 182, 183, 184, 185, 186, 187, 188,
+ -1, 190, -1, 192, -1, -1, 195, -1, 197, 198,
+ 199, 200, 201, -1, 203, 204, -1, 206, 207, -1,
+ 209, -1, -1, 212, 213, 214, -1, -1, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, -1, 232, 233, 234, 235, -1, 237, 238,
+ -1, 240, -1, 242, 243, 244, 245, 246, 247, -1,
+ 249, -1, -1, 252, 253, 254, -1, -1, 257, 258,
+ -1, 260, -1, 262, 263, 264, 265, 266, 267, 268,
+ 269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, -1, 305, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, -1, 326, 327, 328,
+ 329, -1, 331, 332, 333, -1, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
+ -1, 350, 351, 352, 353, 354, 355, -1, 357, 358,
+ -1, -1, 361, 362, 363, 364, -1, 366, 367, 368,
+ 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
+ 379, -1, -1, 382, 383, 384, 385, 386, 387, 388,
+ -1, 390, -1, 392, 393, 394, 395, -1, -1, 398,
+ -1, -1, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ -1, -1, -1, -1, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 3, -1, -1, -1, -1, 8,
+ -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
+ -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
+ 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
+ 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
+ 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
+ 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
+ -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
+ 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
+ 129, -1, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, -1, 143, 144, 145, 146, -1, 148,
+ -1, 150, -1, -1, -1, 154, 155, 156, -1, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
+ -1, 180, -1, 182, 183, 184, 185, 186, 187, 188,
+ -1, 190, -1, 192, -1, -1, 195, -1, 197, 198,
+ 199, 200, 201, -1, 203, 204, -1, 206, 207, -1,
+ 209, -1, -1, 212, 213, 214, -1, -1, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, -1, 232, 233, 234, 235, -1, 237, 238,
+ -1, 240, -1, 242, 243, 244, 245, 246, 247, -1,
+ 249, -1, -1, 252, 253, 254, -1, -1, 257, 258,
+ -1, 260, -1, 262, 263, 264, 265, 266, 267, 268,
+ 269, -1, 271, 272, 273, 274, 275, 276, 277, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, -1, 305, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, -1, 326, 327, 328,
+ 329, -1, 331, 332, 333, -1, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, -1, 347, 348,
+ -1, 350, 351, 352, 353, 354, 355, -1, 357, 358,
+ -1, -1, 361, 362, 363, 364, -1, 366, 367, 368,
+ 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
+ 379, -1, -1, 382, 383, 384, 385, 386, 387, 388,
+ -1, 390, -1, 392, 393, 394, 395, -1, -1, 398,
+ -1, -1, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ -1, -1, -1, 3, 423, 424, 425, -1, 427, 428,
+ 429, 430, 431, 432, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 429,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 429, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
-1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
- -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 38, 39, 40, 41, -1, 43, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
- -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
- 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
- -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 58, 59, -1, 61, 62, 63, 64, -1, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, -1,
+ -1, -1, 90, -1, -1, -1, 94, 95, 96, 97,
98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
+ 128, 129, -1, 131, 132, 133, 134, -1, 136, 137,
+ 138, -1, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, -1, -1, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
- 368, 369, 370, 371, 372, 373, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
- -1, -1, 33, 34, -1, 36, 37, -1, 39, 40,
- 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
+ 208, 209, 210, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, -1, -1, 237,
+ 238, 239, 240, -1, -1, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, 256, 257,
+ 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, -1, 273, -1, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, -1, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, -1, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, -1, 363, -1, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, -1,
+ 388, 389, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, -1,
+ -1, -1, 3, -1, -1, -1, -1, -1, 416, 417,
+ 418, -1, -1, 14, 15, 16, 17, 18, 19, 20,
+ 21, 429, 23, 24, 25, -1, -1, -1, -1, -1,
+ -1, -1, 33, 34, -1, 36, 37, 38, 39, 40,
+ 41, -1, 43, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
+ 61, 62, 63, 64, -1, -1, 67, -1, 69, 70,
+ 71, 72, 73, 74, 75, -1, 77, 78, 79, 80,
+ 81, 82, -1, 84, 85, 86, -1, -1, -1, 90,
-1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
-1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, -1, -1,
- -1, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, -1, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, -1, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- -1, -1, 193, -1, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, -1, 206, -1, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
- 231, -1, 233, 234, -1, 236, -1, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, -1, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
- 371, 372, 373, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, -1, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 3,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 121, -1, 123, 124, 125, -1, 127, 128, 129, -1,
+ 131, 132, 133, 134, -1, 136, 137, 138, -1, -1,
+ 141, -1, 143, 144, 145, 146, -1, 148, -1, 150,
+ 151, -1, 153, 154, 155, 156, -1, 158, -1, -1,
+ 161, -1, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, -1, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, -1, 190,
+ -1, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, -1, 203, 204, -1, 206, -1, 208, 209, 210,
+ -1, 212, 213, 214, -1, -1, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, -1, -1, 237, 238, 239, 240,
+ -1, -1, 243, 244, 245, 246, 247, -1, 249, -1,
+ -1, 252, 253, 254, -1, 256, 257, 258, 259, 260,
+ 261, -1, 263, 264, 265, 266, 267, 268, 269, -1,
+ 271, -1, 273, -1, 275, 276, 277, -1, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, -1, 305, 306, 307, 308, 309, -1,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
+ 331, 332, 333, -1, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 344, -1, -1, 347, 348, -1, 350,
+ 351, 352, 353, 354, 355, -1, 357, 358, -1, -1,
+ 361, -1, 363, -1, -1, 366, 367, 368, 369, 370,
+ 371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
+ -1, 382, 383, 384, 385, 386, -1, 388, 389, 390,
+ 391, 392, 393, 394, 395, -1, -1, 398, -1, -1,
+ 401, 402, 403, 404, 405, 406, -1, -1, -1, 3,
+ -1, -1, -1, -1, -1, 416, 417, 418, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, 429, 23,
24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
-1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
@@ -16425,77 +16638,162 @@ static const yytype_int16 yycheck[] =
94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, -1, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, -1, -1, -1, 152, 153,
- 154, -1, 156, 157, -1, 159, -1, 161, 162, 163,
- 164, 165, -1, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, -1, 180, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
- -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- 204, -1, 206, -1, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, -1, 228, 229, 230, 231, -1, 233,
- 234, -1, 236, -1, 238, 239, 240, 241, 242, 243,
- -1, 245, -1, -1, 248, 249, 250, -1, -1, 253,
- -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, -1,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
- 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, 380, 381, -1, 383,
- -1, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, 4, 5, -1, -1,
+ -1, 9, -1, -1, -1, 429, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, -1,
+ -1, -1, 90, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, 210, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, 237,
+ 238, 239, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, 250, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, 4, 5, -1, -1, -1, 9, -1, 427,
+ 428, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, -1, -1, -1, 90, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ -1, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, 208, 209, 210, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, 237, 238, 239, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, 250, -1,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, 4, 5,
+ -1, -1, -1, 9, -1, 427, 428, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, -1, -1, -1, 90, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, 237, 238, 239, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, 250, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, 9,
+ -1, 427, 428, -1, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, -1, -1, -1, -1,
-1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
@@ -16506,811 +16804,1245 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, 152, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 3, -1, -1,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ 4, 5, -1, -1, -1, 9, -1, 427, 428, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
-1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
- 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
- -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
- -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
- 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
-1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, -1, -1, -1, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- -1, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, -1, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, -1, -1, 193, -1, 195,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
- 206, -1, -1, 209, 210, 211, -1, -1, 214, 215,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, -1, 228, 229, 230, 231, -1, 233, 234, -1,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, 247, 248, 249, 250, -1, -1, 253, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, -1, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, -1, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 3, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
- 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- -1, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, 247, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 3, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
- 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
- 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
- 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, -1, 140, -1,
- 142, 143, 144, -1, 146, -1, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, -1, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, -1, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, -1, 359, 360, 361,
- 362, 363, 364, 365, -1, -1, 368, 369, 370, 371,
- 372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 3, -1,
- 5, -1, -1, -1, -1, -1, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 3, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
- -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
- -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
- -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
- 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
- -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
- 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
- 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
- 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
- -1, -1, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, -1, -1,
- -1, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, -1, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, -1, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- -1, -1, 193, -1, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, -1, 206, -1, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
- 231, -1, 233, 234, -1, 236, -1, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, -1, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
- 371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, -1, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 3,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, 237, 238, 239, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, 380, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, 5, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
+ 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ 210, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, 237, 238, 239,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ 250, -1, 252, 253, 254, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
- 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
- -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
-1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
- 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 64, 65, -1, 67, -1, 69, 70, 71, 72, 73,
74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
- -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 84, 85, 86, -1, -1, -1, 90, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, -1, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, -1, -1, -1, 152, 153,
- 154, -1, 156, 157, -1, 159, -1, 161, 162, 163,
- 164, 165, -1, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, -1, 180, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
- -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- 204, -1, 206, -1, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, -1, 228, 229, 230, 231, -1, 233,
- 234, -1, 236, -1, 238, 239, 240, 241, 242, 243,
- -1, 245, -1, 247, 248, 249, 250, -1, -1, 253,
- -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, -1,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
- 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, 380, 381, -1, 383,
- -1, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, 5, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, 151, -1, 153,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, 208, 209, 210, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, -1, 237, 238, 239, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, 391, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, -1,
+ -1, -1, 90, -1, -1, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, 210, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, 237,
+ 238, 239, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, 380, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, 26, 27, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, -1, -1, -1, 90, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ -1, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, 208, 209, 210, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, 237, 238, 239, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, -1, -1, -1, 90, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, 237, 238, 239, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, 5, -1, -1, -1, -1,
-1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
- -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
- 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
+ -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
- 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
- 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
- -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ -1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
+ 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ 210, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, 237, 238, 239,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, 158, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 3, -1, -1,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, 67, -1, 69, 70, 71, 72, 73,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ 84, 85, 86, -1, -1, -1, 90, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, 151, -1, 153,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, 208, 209, 210, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, -1, 237, 238, 239, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, 391, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, -1,
+ -1, -1, 90, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, 160, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, 210, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, 237,
+ 238, 239, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, -1, -1, -1, 90, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ -1, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, 208, 209, 210, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, 237, 238, 239, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
- -1, -1, -1, -1, -1, 31, -1, 33, 34, -1,
- 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
- -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
- -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
- 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, -1, -1, -1, 90, -1, -1, -1, 94, 95,
96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
-1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, -1, -1, -1, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- -1, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, -1, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, -1, -1, 193, -1, 195,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
- 206, -1, -1, 209, 210, 211, -1, -1, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, -1, 228, 229, 230, 231, -1, 233, 234, -1,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, 253, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, -1, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, -1, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 3, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, -1, 31, -1, 33, 34, -1, 36, 37, -1,
- 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- -1, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 3, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
- -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
- 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
- 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 104, -1, 106, 107, 108, 109, 110, -1,
- 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, -1, 140, -1,
- 142, 143, 144, -1, 146, -1, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, -1, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, -1, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, -1, 359, 360, 361,
- 362, 363, 364, 365, -1, -1, 368, 369, 370, 371,
- 372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 3, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 3, -1, -1, -1, -1,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, 237, 238, 239, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
+ 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ 210, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, 237, 238, 239,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, 67, -1, 69, 70, 71, 72, 73,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ 84, 85, 86, -1, -1, -1, 90, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, 151, -1, 153,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, 208, 209, 210, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, -1, 237, 238, 239, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, 391, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
-1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
- -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
- -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
- 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
- -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, -1, 106, 107,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, 67,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, 84, 85, 86, -1,
+ -1, -1, 90, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, 151, -1, 153, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ 208, 209, 210, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, 237,
+ 238, 239, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, 330, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
- -1, -1, 33, 34, -1, 36, 37, -1, 39, 40,
- 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, -1, -1,
- -1, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, -1, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, -1, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- -1, -1, 193, -1, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, -1, 206, -1, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
- 231, -1, 233, 234, -1, 236, -1, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, -1, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
- 371, 372, -1, 374, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, -1, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 3,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, 391, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, 84, 85, 86, -1, -1, -1, 90, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, 151,
+ -1, 153, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, 208, 209, 210, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, 237, 238, 239, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, 391,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, -1, -1, -1, 90, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, 208, 209, 210, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, 237, 238, 239, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
+ 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, 208, 209,
+ 210, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, 237, 238, 239,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, 67, -1, 69, 70, 71, 72, 73,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ 84, 85, 86, -1, -1, -1, 90, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, 151, -1, 153,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, 208, 209, 210, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, -1, 237, 238, 239, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, 391, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, -1, -1,
+ 68, 69, 70, 71, 72, -1, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, 149, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, 374, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, 149, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, 210, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, 374, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, 83, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, 157, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, 83, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, 157, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
-1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ -1, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
- 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
-1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, -1, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, -1, -1, -1, 152, 153,
- 154, -1, 156, 157, -1, 159, -1, 161, 162, 163,
- 164, 165, -1, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, -1, 180, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
- -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- 204, -1, 206, -1, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, -1, 228, 229, 230, 231, -1, 233,
- 234, -1, 236, -1, 238, 239, 240, 241, 242, 243,
- -1, 245, -1, -1, 248, 249, 250, -1, -1, 253,
- -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, 149, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, -1,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
- 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, 380, 381, -1, 383,
- -1, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ 374, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, 83, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, 149, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, 83, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
- 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ 20, 21, -1, 23, 24, 25, 26, 27, -1, -1,
-1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
@@ -17320,78 +18052,163 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 3, -1, -1,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, 380, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, 380, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
- 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
@@ -17402,76 +18219,161 @@ static const yytype_int16 yycheck[] =
96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
-1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, -1, -1, -1, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- -1, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, -1, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, -1, -1, 193, -1, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
- 206, -1, -1, 209, 210, 211, -1, -1, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, -1, 228, 229, 230, 231, -1, 233, 234, -1,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, 253, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, -1, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, -1, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 3, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
- 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- -1, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, 251, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
-1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
-1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
@@ -17483,76 +18385,161 @@ static const yytype_int16 yycheck[] =
-1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, -1, 140, -1,
- 142, 143, 144, -1, 146, -1, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, -1, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, -1, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, -1, 359, 360, 361,
- 362, 363, 364, 365, -1, -1, 368, 369, 370, 371,
- 372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 3, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 3, -1, -1, -1, -1,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, 251,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
-1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
@@ -17565,78 +18552,163 @@ static const yytype_int16 yycheck[] =
98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, 251, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
- -1, -1, 33, 34, -1, 36, 37, -1, 39, 40,
- 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, -1, -1,
- -1, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, -1, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, -1, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- -1, -1, 193, -1, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, -1, 206, -1, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
- 231, -1, 233, 234, -1, 236, -1, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, -1, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
- 371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, -1, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 3,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, 5,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, 31, -1, 33, 34, -1, 36, 37, -1, 39,
+ 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
- 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 24, 25, -1, -1, -1, -1, -1, 31, -1, 33,
34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
-1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
-1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
@@ -17646,76 +18718,161 @@ static const yytype_int16 yycheck[] =
94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, -1, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, -1, -1, -1, 152, 153,
- 154, -1, 156, 157, -1, 159, -1, 161, 162, 163,
- 164, 165, -1, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, -1, 180, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
- -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- 204, -1, 206, -1, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, -1, 228, 229, 230, 231, -1, 233,
- 234, -1, 236, -1, 238, 239, 240, 241, 242, 243,
- -1, 245, -1, -1, 248, 249, 250, -1, -1, 253,
- -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, -1,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
- 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, 380, 381, -1, 383,
- -1, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
-1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
@@ -17727,76 +18884,161 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 3, -1, -1,
+ -1, 381, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
-1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
@@ -17809,76 +19051,161 @@ static const yytype_int16 yycheck[] =
96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
-1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, -1, -1, -1, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- -1, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, -1, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, -1, -1, 193, -1, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
- 206, -1, -1, 209, 210, 211, -1, -1, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, -1, 228, 229, 230, 231, -1, 233, 234, -1,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, 253, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, -1, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, -1, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 3, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
- 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- -1, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
-1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
-1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
@@ -17890,76 +19217,161 @@ static const yytype_int16 yycheck[] =
-1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, -1, 140, -1,
- 142, 143, 144, -1, 146, -1, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, -1, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, -1, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, -1, 359, 360, 361,
- 362, 363, 364, 365, -1, -1, 368, 369, 370, 371,
- 372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 3, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 3, -1, -1, -1, -1,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
-1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
@@ -17972,238 +19384,77 @@ static const yytype_int16 yycheck[] =
98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
- -1, -1, 33, 34, -1, 36, 37, -1, 39, 40,
- 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, -1, -1,
- -1, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, -1, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, -1, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- -1, -1, 193, -1, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, -1, 206, -1, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
- 231, -1, 233, 234, -1, 236, -1, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, -1, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
- 371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, -1, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 3,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
- 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
- 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
- -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
- 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
- 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
- -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
- 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
- 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, -1, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, -1, -1, -1, 152, 153,
- 154, -1, 156, 157, -1, 159, -1, 161, 162, 163,
- 164, 165, -1, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, -1, 180, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
- -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- 204, -1, 206, -1, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, -1, 228, 229, 230, 231, -1, 233,
- 234, -1, 236, -1, 238, 239, 240, 241, 242, 243,
- -1, 245, -1, -1, 248, 249, 250, -1, -1, 253,
- -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, -1,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
- 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, 380, 381, -1, 383,
- -1, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
- 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
- -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
- 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
- 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
- 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
- -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
- 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
- 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 3, -1, -1,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
-1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
@@ -18216,157 +19467,119 @@ static const yytype_int16 yycheck[] =
96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
-1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, -1, -1, -1, 152, 153, 154, -1,
- 156, 157, -1, 159, -1, 161, 162, 163, 164, 165,
- -1, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, -1, 180, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, -1, -1, 193, -1, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
- 206, -1, -1, 209, 210, 211, -1, -1, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, -1, 228, 229, 230, 231, -1, 233, 234, -1,
- 236, -1, 238, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, 253, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, -1, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, -1, 340, 341, -1, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, 355,
- 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, 380, 381, -1, 383, -1, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 3, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, -1, -1, -1, 33, 34, -1, 36, 37, -1,
- 39, 40, 41, 42, 43, -1, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, 65, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- -1, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- -1, -1, -1, 152, 153, 154, -1, 156, 157, -1,
- 159, -1, 161, 162, 163, 164, 165, -1, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, -1, -1, 193, -1, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, 204, -1, 206, -1, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
- 229, 230, 231, -1, 233, 234, -1, 236, -1, 238,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, 253, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, 320, 321, 322, -1, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, 355, 356, 357, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, 380, 381, -1, 383, -1, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 3, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
- -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
- 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
- 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
- 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
- -1, 123, 124, 125, -1, 127, 128, -1, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, -1, 140, -1,
- 142, 143, 144, -1, 146, -1, 148, -1, -1, -1,
- 152, 153, 154, -1, 156, 157, -1, 159, -1, 161,
- 162, 163, 164, 165, -1, 167, 168, 169, -1, 171,
- 172, 173, 174, 175, 176, -1, 178, -1, 180, 181,
- 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
- -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
- -1, 203, 204, -1, 206, -1, -1, 209, 210, 211,
- -1, -1, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
- -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
- 242, 243, -1, 245, -1, -1, 248, 249, 250, -1,
- -1, 253, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- -1, 313, 314, 315, 316, 317, -1, 319, 320, 321,
- 322, -1, 324, 325, 326, -1, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
- -1, 343, 344, 345, 346, 347, 348, -1, 350, 351,
- -1, -1, 354, 355, 356, 357, -1, 359, 360, 361,
- 362, 363, 364, 365, -1, -1, 368, 369, 370, 371,
- 372, -1, -1, 375, 376, 377, 378, 379, 380, 381,
- -1, 383, -1, 385, 386, 387, -1, -1, 390, -1,
- -1, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 3, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 14,
- 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, -1, -1, -1, 31, -1, 33, 34,
- -1, 36, 37, -1, 39, 40, 41, 42, 43, -1,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
- 65, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
- -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, -1, -1, -1, 152, 153, 154,
- -1, 156, 157, -1, 159, -1, 161, 162, 163, 164,
- 165, -1, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, -1, 180, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, -1, -1, 193, -1,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
- -1, 206, -1, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, -1, 228, 229, 230, 231, -1, 233, 234,
- -1, 236, -1, 238, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, 253, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, -1, 320, 321, 322, -1, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, 380, 381, -1, 383, -1,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 3, -1, -1, -1, -1,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
-1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
@@ -18379,157 +19592,119 @@ static const yytype_int16 yycheck[] =
98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- 21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
- -1, -1, 33, 34, -1, 36, 37, -1, 39, 40,
- 41, 42, 43, -1, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, -1,
- 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, 75, -1, 77, 78, 79, 80,
- 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, -1, -1,
- -1, 152, 153, 154, -1, 156, 157, -1, 159, -1,
- 161, 162, 163, 164, 165, -1, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, -1, 180,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- -1, -1, 193, -1, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, 204, -1, 206, -1, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
- 231, -1, 233, 234, -1, 236, -1, 238, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, 253, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, -1, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, 355, 356, 357, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
- 371, 372, -1, -1, 375, 376, 377, 378, 379, 380,
- 381, -1, 383, -1, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 3,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
- 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
- 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
- -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
- 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
- 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
- -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
- 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
- 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, -1, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, -1, -1, -1, 152, 153,
- 154, -1, 156, 157, -1, 159, -1, 161, 162, 163,
- 164, 165, -1, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, -1, 180, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
- -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- 204, -1, 206, -1, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, -1, 228, 229, 230, 231, -1, 233,
- 234, -1, 236, -1, 238, 239, 240, 241, 242, 243,
- -1, 245, -1, -1, 248, 249, 250, -1, -1, 253,
- -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, -1,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, 338, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
- 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, 380, 381, -1, 383,
- -1, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 409, 3, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
-1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
@@ -18541,119 +19716,206 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, -1, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, -1, -1, -1, 90, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, -1, 135, 136, 137, -1, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, -1, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, -1, 205, 206, 207, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, -1, -1,
- 233, 234, 235, 236, -1, -1, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, 254, 255, 256, -1, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, -1, 268, -1, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- -1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, -1, 356, -1, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, -1, 381, 382,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, -1, 3, -1, -1, -1,
- -1, -1, -1, -1, 407, 408, 409, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, 33, 34, -1, 36,
- 37, -1, 39, 40, 41, 42, 43, -1, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, -1, 61, 62, 63, 64, 65, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, -1, -1,
- 117, 118, 119, 120, 121, -1, 123, 124, 125, -1,
- 127, 128, -1, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, -1, 140, -1, 142, 143, 144, -1, 146,
- -1, 148, -1, -1, -1, 152, 153, 154, -1, 156,
- 157, -1, 159, -1, 161, 162, 163, 164, 165, -1,
- 167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
- -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
- -1, 188, -1, 190, -1, -1, 193, -1, 195, 196,
- 197, 198, 199, 200, 201, -1, 203, 204, -1, 206,
- -1, -1, 209, 210, 211, -1, -1, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- -1, 228, 229, 230, 231, -1, 233, 234, -1, 236,
- -1, 238, 239, 240, 241, 242, 243, -1, 245, -1,
- -1, 248, 249, 250, -1, -1, 253, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
- 317, -1, 319, 320, 321, 322, -1, 324, 325, 326,
- -1, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, -1, 340, 341, -1, 343, 344, 345, 346,
- 347, 348, -1, 350, 351, -1, -1, 354, 355, 356,
- 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
- -1, 368, 369, 370, 371, 372, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, -1, 383, -1, 385, 386,
- 387, -1, -1, 390, -1, -1, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
- -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ -1, 31, -1, 33, 34, -1, 36, 37, -1, 39,
40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
-1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
@@ -18662,196 +19924,287 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, -1,
- -1, -1, 152, 153, 154, -1, 156, 157, -1, 159,
- -1, 161, 162, 163, 164, 165, -1, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, -1,
- 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, 204, -1, 206, -1, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
- 230, 231, -1, 233, 234, -1, 236, -1, 238, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, 253, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, -1, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, 355, 356, 357, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, -1, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- 380, 381, -1, 383, -1, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, -1, 39, 40, 41, 42,
- 43, -1, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, -1, 61, 62,
- 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, -1, 140, -1, 142,
- 143, 144, -1, 146, -1, 148, -1, -1, -1, 152,
- 153, 154, -1, 156, 157, -1, 159, -1, 161, 162,
- 163, 164, 165, -1, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
- 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, 204, -1, 206, -1, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, -1, 228, 229, 230, 231, -1,
- 233, 234, -1, 236, -1, 238, 239, 240, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- 253, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
- -1, 324, 325, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, -1,
- -1, 354, 355, 356, 357, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, 380, 381, -1,
- 383, -1, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 3, -1, -1,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ -1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
+ 104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
+ -1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
+ 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
+ 58, 59, -1, 61, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, -1, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
+ 118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
+ 368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
-1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
- 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, -1, 61, 62, 63, 64, -1,
- -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
- -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
- 86, -1, -1, -1, 90, -1, -1, -1, 94, 95,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
-1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
- -1, 127, 128, -1, 130, 131, 132, 133, -1, 135,
- 136, 137, -1, -1, 140, -1, 142, 143, 144, -1,
- 146, -1, 148, 149, -1, 151, 152, 153, 154, -1,
- 156, -1, -1, 159, -1, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, -1, 171, 172, 173, 174, 175,
- 176, -1, 178, 179, -1, 181, 182, 183, 184, 185,
- 186, -1, 188, -1, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
- 206, 207, -1, 209, 210, 211, -1, -1, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, -1, -1, 233, 234, 235,
- 236, 237, -1, 239, 240, 241, 242, 243, -1, 245,
- -1, -1, 248, 249, 250, -1, -1, -1, 254, 255,
- 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
- 266, -1, 268, -1, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- -1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, 298, 299, 300, 301, 302, -1, 304, 305,
- 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
- 316, 317, -1, 319, 320, 321, 322, 323, 324, 325,
- 326, -1, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, -1, -1, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, -1, 350, 351, -1, -1, 354, -1,
- 356, -1, -1, 359, 360, 361, 362, 363, 364, 365,
- -1, -1, 368, 369, 370, 371, 372, -1, -1, 375,
- 376, 377, 378, 379, -1, 381, -1, 383, 384, 385,
- 386, 387, -1, -1, 390, -1, -1, 393, 394, 395,
- 396, 397, -1, 3, -1, -1, -1, -1, -1, -1,
- -1, 407, 408, 409, 14, 15, 16, 17, 18, 19,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
- -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, 41, -1, 43, 44, 45, 46, -1, 48, 49,
+ -1, -1, -1, 33, 34, -1, 36, 37, -1, 39,
+ 40, 41, 42, 43, -1, 45, 46, -1, 48, 49,
50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- -1, 61, 62, 63, 64, -1, -1, 67, -1, 69,
- 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
- 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
- 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ -1, 61, 62, 63, 64, 65, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
- 120, 121, -1, 123, 124, 125, -1, 127, 128, -1,
- 130, 131, 132, 133, -1, 135, 136, 137, -1, -1,
- 140, -1, 142, 143, 144, -1, 146, -1, 148, 149,
- -1, 151, 152, 153, 154, -1, 156, -1, -1, 159,
- -1, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- -1, 171, 172, 173, 174, 175, 176, -1, 178, 179,
- -1, 181, 182, 183, 184, 185, 186, -1, 188, -1,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, -1, 203, -1, 205, 206, 207, -1, 209,
- 210, 211, -1, -1, 214, 215, 216, 217, 218, 219,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, -1, -1, -1, 154, 155, 156, -1, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, -1, 182, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, -1, -1, 195, -1, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, 207, -1, 209,
+ -1, -1, 212, 213, 214, -1, -1, 217, 218, 219,
220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, -1, 233, 234, 235, 236, -1, -1, 239,
- 240, 241, 242, 243, -1, 245, -1, -1, 248, 249,
- 250, -1, -1, -1, 254, 255, 256, -1, 258, 259,
- 260, 261, 262, 263, 264, -1, 266, -1, 268, -1,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, -1, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
- 310, 311, -1, 313, 314, 315, 316, 317, -1, 319,
- 320, 321, 322, 323, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, -1, -1,
- 340, 341, -1, 343, 344, 345, 346, 347, 348, -1,
- 350, 351, -1, -1, 354, -1, 356, -1, -1, 359,
- 360, 361, 362, 363, 364, 365, -1, -1, 368, 369,
+ 230, -1, 232, 233, 234, 235, -1, 237, 238, -1,
+ 240, -1, 242, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, 258, -1,
+ 260, -1, 262, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, 272, 273, 274, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ -1, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, 345, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, 362, 363, 364, -1, 366, 367, 368, 369,
370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
- -1, 381, -1, 383, 384, 385, 386, 387, -1, -1,
- 390, -1, -1, 393, 394, 395, 396, 397, -1, 3,
- -1, -1, -1, -1, -1, -1, -1, 407, 408, 409,
+ -1, -1, 382, 383, 384, 385, 386, 387, 388, -1,
+ 390, -1, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14, 15, 16, 17, 18, 19, 20, 21, -1, 23,
24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
- 34, -1, 36, 37, 38, 39, 40, 41, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
+ 34, -1, 36, 37, -1, 39, 40, 41, 42, 43,
+ -1, 45, 46, -1, 48, 49, 50, 51, 52, -1,
-1, 55, 56, 57, 58, 59, -1, 61, 62, 63,
- 64, -1, -1, 67, -1, 69, 70, 71, 72, 73,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, -1,
74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
- 84, 85, 86, -1, -1, -1, 90, -1, -1, -1,
+ -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
104, -1, 106, 107, 108, 109, 110, -1, 112, 113,
114, -1, -1, 117, 118, 119, 120, 121, -1, 123,
- 124, 125, -1, 127, 128, -1, 130, 131, 132, 133,
- -1, 135, 136, 137, -1, -1, 140, -1, 142, 143,
- 144, -1, 146, -1, 148, 149, -1, 151, 152, 153,
- 154, -1, 156, -1, -1, 159, -1, 161, 162, 163,
- 164, 165, 166, 167, 168, 169, -1, 171, 172, 173,
- 174, 175, 176, -1, 178, 179, -1, 181, 182, 183,
- 184, 185, 186, -1, 188, -1, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
- -1, 205, 206, 207, -1, 209, 210, 211, -1, -1,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231, -1, 233,
- 234, 235, 236, -1, -1, 239, 240, 241, 242, 243,
- -1, 245, -1, -1, 248, 249, 250, -1, -1, -1,
- 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
- 264, -1, 266, -1, 268, -1, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, -1, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, 298, 299, 300, 301, 302, -1,
- 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
- 314, 315, 316, 317, -1, 319, 320, 321, 322, 323,
- 324, 325, 326, -1, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, 337, -1, -1, 340, 341, -1, 343,
- 344, 345, 346, 347, 348, -1, 350, 351, -1, -1,
- 354, -1, 356, -1, -1, 359, 360, 361, 362, 363,
- 364, 365, -1, -1, 368, 369, 370, 371, 372, -1,
- -1, 375, 376, 377, 378, 379, -1, 381, -1, 383,
- 384, 385, 386, 387, -1, -1, 390, -1, -1, 393,
- 394, 395, 396, 397, -1, 3, -1, -1, -1, -1,
- -1, -1, -1, 407, 408, 409, 14, 15, 16, 17,
+ 124, 125, -1, 127, 128, 129, -1, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, -1, 143,
+ 144, 145, 146, -1, 148, -1, 150, -1, -1, -1,
+ 154, 155, 156, -1, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, 170, 171, -1, 173,
+ 174, 175, 176, 177, 178, -1, 180, -1, 182, 183,
+ 184, 185, 186, 187, 188, -1, 190, -1, 192, -1,
+ -1, 195, -1, 197, 198, 199, 200, 201, -1, 203,
+ 204, -1, 206, 207, -1, 209, -1, -1, 212, 213,
+ 214, -1, -1, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, -1, 232, 233,
+ 234, 235, -1, 237, 238, -1, 240, -1, 242, 243,
+ 244, 245, 246, 247, -1, 249, -1, -1, 252, 253,
+ 254, -1, -1, 257, 258, -1, 260, -1, 262, 263,
+ 264, 265, 266, 267, 268, 269, -1, 271, 272, 273,
+ 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ -1, 305, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, -1, 326, 327, 328, 329, -1, 331, 332, 333,
+ -1, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, -1, 347, 348, -1, 350, 351, 352, 353,
+ 354, 355, -1, 357, 358, -1, -1, 361, 362, 363,
+ 364, -1, 366, 367, 368, 369, 370, 371, 372, -1,
+ -1, 375, 376, 377, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, -1, 390, -1, 392, 393,
+ 394, 395, -1, -1, 398, -1, -1, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 14, 15, 16, 17,
18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
-1, -1, -1, -1, -1, 33, 34, -1, 36, 37,
-1, 39, 40, 41, 42, 43, -1, 45, 46, -1,
@@ -18863,36 +20216,119 @@ static const yytype_int16 yycheck[] =
98, 99, 100, 101, 102, -1, 104, -1, 106, 107,
108, 109, 110, -1, 112, 113, 114, -1, -1, 117,
118, 119, 120, 121, -1, 123, 124, 125, -1, 127,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, -1, 140, -1, 142, 143, 144, -1, 146, -1,
- 148, -1, -1, -1, 152, 153, 154, -1, 156, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, -1, 167,
- 168, 169, -1, 171, 172, 173, 174, 175, 176, -1,
- 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
- 188, -1, 190, -1, -1, 193, -1, 195, 196, 197,
- 198, 199, 200, 201, -1, 203, 204, -1, 206, -1,
- -1, 209, 210, 211, -1, -1, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, -1,
- 228, 229, 230, 231, -1, 233, 234, -1, 236, -1,
- 238, 239, 240, 241, 242, 243, -1, 245, -1, -1,
- 248, 249, 250, -1, -1, 253, -1, -1, -1, 257,
- 258, 259, 260, 261, -1, 263, 264, -1, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, -1, 280, 281, 282, 283, 284, 285, -1, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, -1, 305, 306, 307,
- 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
- -1, 319, 320, 321, 322, -1, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, -1, 340, 341, -1, 343, 344, 345, 346, 347,
- 348, -1, 350, 351, -1, -1, 354, 355, 356, 357,
- -1, 359, 360, 361, 362, 363, 364, 365, -1, -1,
+ 128, 129, -1, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, -1, 143, 144, 145, 146, -1,
+ 148, -1, 150, -1, -1, -1, 154, 155, 156, -1,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, 170, 171, -1, 173, 174, 175, 176, 177,
+ 178, -1, 180, -1, 182, 183, 184, 185, 186, 187,
+ 188, -1, 190, -1, 192, -1, -1, 195, -1, 197,
+ 198, 199, 200, 201, -1, 203, 204, -1, 206, 207,
+ -1, 209, -1, -1, 212, 213, 214, -1, -1, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, -1, 232, 233, 234, 235, -1, 237,
+ 238, -1, 240, -1, 242, 243, 244, 245, 246, 247,
+ -1, 249, -1, -1, 252, 253, 254, -1, -1, 257,
+ 258, -1, 260, -1, 262, 263, 264, 265, 266, 267,
+ 268, 269, -1, 271, 272, 273, 274, 275, 276, 277,
+ -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, -1, 305, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, -1, 326, 327,
+ 328, 329, -1, 331, 332, 333, -1, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, -1, 347,
+ 348, -1, 350, 351, 352, 353, 354, 355, -1, 357,
+ 358, -1, -1, 361, 362, 363, 364, -1, 366, 367,
368, 369, 370, 371, 372, -1, -1, 375, 376, 377,
- 378, 379, 380, 381, -1, 383, -1, 385, 386, 387,
- -1, -1, 390, -1, -1, 393, 394, 395, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 3, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
+ 378, 379, -1, -1, 382, 383, 384, 385, 386, 387,
+ 388, -1, 390, -1, 392, 393, 394, 395, -1, -1,
+ 398, -1, -1, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 3, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, -1, -1, -1, -1,
+ -1, 33, 34, -1, 36, 37, -1, 39, 40, 41,
+ 42, 43, -1, 45, 46, -1, 48, 49, 50, 51,
+ 52, -1, -1, 55, 56, 57, 58, 59, -1, 61,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, -1, 117, 118, 119, 120, 121,
+ -1, 123, 124, 125, -1, 127, 128, 129, -1, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ -1, 143, 144, 145, 146, -1, 148, -1, 150, -1,
+ -1, -1, 154, 155, 156, -1, 158, 159, -1, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, 170, 171,
+ -1, 173, 174, 175, 176, 177, 178, -1, 180, -1,
+ 182, 183, 184, 185, 186, 187, 188, -1, 190, -1,
+ 192, -1, -1, 195, -1, 197, 198, 199, 200, 201,
+ -1, 203, 204, -1, 206, 207, -1, 209, -1, -1,
+ 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
+ 232, 233, 234, 235, -1, 237, 238, -1, 240, -1,
+ 242, 243, 244, 245, 246, 247, -1, 249, -1, -1,
+ 252, 253, 254, -1, -1, 257, 258, -1, 260, -1,
+ 262, 263, 264, 265, 266, 267, 268, 269, -1, 271,
+ 272, 273, 274, 275, 276, 277, -1, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, -1, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, -1, 326, 327, 328, 329, -1, 331,
+ 332, 333, -1, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, -1, 347, 348, -1, 350, 351,
+ 352, 353, 354, 355, -1, 357, 358, -1, -1, 361,
+ 362, 363, 364, -1, 366, 367, 368, 369, 370, 371,
+ 372, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ 382, 383, 384, 385, 386, 387, 388, -1, 390, -1,
+ 392, 393, 394, 395, -1, -1, 398, -1, -1, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, -1,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, 84, 85,
+ 86, -1, -1, -1, 90, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, -1,
+ 136, 137, 138, -1, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, 151, -1, 153, 154, 155,
+ 156, -1, 158, -1, -1, 161, -1, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, -1, 208, 209, 210, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, -1,
+ -1, 237, 238, 239, 240, -1, -1, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
+ 266, 267, 268, 269, -1, 271, -1, 273, -1, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, 307, 308, 309, -1, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, 330, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, -1, 363, -1, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, -1, 388, 389, 390, 391, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, -1, 3, -1, -1, -1, -1, -1, -1, -1,
+ 416, 417, 418, 14, 15, 16, 17, 18, 19, 20,
21, -1, 23, 24, 25, -1, -1, -1, -1, -1,
-1, -1, 33, 34, -1, 36, 37, 38, 39, 40,
41, -1, 43, 44, 45, 46, -1, 48, 49, 50,
@@ -18903,35 +20339,118 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
-1, 112, 113, 114, -1, -1, 117, 118, 119, 120,
- 121, -1, 123, 124, 125, -1, 127, 128, -1, 130,
- 131, 132, 133, -1, 135, 136, 137, -1, -1, 140,
- -1, 142, 143, 144, -1, 146, -1, 148, 149, -1,
- 151, 152, 153, 154, -1, 156, -1, -1, 159, -1,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, -1,
- 171, 172, 173, 174, 175, 176, -1, 178, 179, -1,
- 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, -1, 203, -1, 205, 206, 207, -1, 209, 210,
- 211, -1, -1, 214, 215, 216, 217, 218, 219, 220,
+ 121, -1, 123, 124, 125, -1, 127, 128, 129, -1,
+ 131, 132, 133, 134, -1, 136, 137, 138, -1, -1,
+ 141, -1, 143, 144, 145, 146, -1, 148, -1, 150,
+ 151, -1, 153, 154, 155, 156, -1, 158, -1, -1,
+ 161, -1, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, -1, 173, 174, 175, 176, 177, 178, -1, 180,
+ 181, -1, 183, 184, 185, 186, 187, 188, -1, 190,
+ -1, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, -1, 203, 204, -1, 206, -1, 208, 209, 210,
+ -1, 212, 213, 214, -1, -1, 217, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- -1, -1, 233, 234, 235, 236, -1, -1, 239, 240,
- 241, 242, 243, -1, 245, -1, -1, 248, 249, 250,
- -1, -1, -1, 254, 255, 256, -1, 258, 259, 260,
- 261, 262, 263, 264, -1, 266, -1, 268, -1, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
- 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
- 311, -1, 313, 314, 315, 316, 317, -1, 319, 320,
- 321, 322, 323, 324, 325, 326, -1, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, -1, -1, 340,
- 341, -1, 343, 344, 345, 346, 347, 348, -1, 350,
- 351, -1, -1, 354, -1, 356, -1, -1, 359, 360,
- 361, 362, 363, 364, 365, -1, -1, 368, 369, 370,
+ 231, 232, 233, 234, -1, -1, 237, 238, 239, 240,
+ 241, -1, 243, 244, 245, 246, 247, -1, 249, -1,
+ -1, 252, 253, 254, -1, -1, 257, -1, 259, 260,
+ 261, -1, 263, 264, 265, 266, 267, 268, 269, -1,
+ 271, -1, 273, -1, 275, 276, 277, -1, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, -1, 305, 306, 307, 308, 309, -1,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
+ 331, 332, 333, -1, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 344, -1, -1, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, -1, 357, 358, -1, -1,
+ 361, -1, 363, -1, -1, 366, 367, 368, 369, 370,
371, 372, -1, -1, 375, 376, 377, 378, 379, -1,
- 381, -1, 383, 384, 385, 386, 387, -1, -1, 390,
- -1, -1, 393, 394, 395, 396, 397, -1, 3, -1,
- -1, -1, -1, -1, -1, -1, 407, 408, 409, 14,
+ -1, 382, 383, 384, 385, 386, -1, 388, -1, 390,
+ 391, 392, 393, 394, 395, -1, -1, 398, -1, -1,
+ 401, 402, 403, 404, 405, 406, -1, 3, -1, -1,
+ -1, -1, -1, -1, -1, 416, 417, 418, 14, 15,
+ 16, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, -1, -1, -1, -1, -1, 33, 34, -1,
+ 36, 37, -1, 39, 40, 41, 42, 43, -1, 45,
+ 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
+ 56, 57, 58, 59, -1, 61, 62, 63, 64, 65,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ -1, 117, 118, 119, 120, 121, -1, 123, 124, 125,
+ -1, 127, 128, 129, -1, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, -1, 143, 144, 145,
+ 146, -1, 148, -1, 150, -1, -1, -1, 154, 155,
+ 156, -1, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, 170, 171, -1, 173, 174, 175,
+ 176, 177, 178, -1, 180, -1, 182, 183, 184, 185,
+ 186, 187, 188, -1, 190, -1, 192, -1, -1, 195,
+ -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
+ 206, 207, -1, 209, -1, -1, 212, 213, 214, -1,
+ -1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, -1, 232, 233, 234, 235,
+ -1, 237, 238, -1, 240, -1, 242, 243, 244, 245,
+ 246, 247, -1, 249, -1, -1, 252, 253, 254, -1,
+ -1, 257, 258, -1, 260, -1, 262, 263, 264, 265,
+ 266, -1, 268, 269, -1, 271, 272, 273, 274, 275,
+ 276, 277, -1, 279, 280, 281, 282, 283, 284, -1,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, -1, 305,
+ 306, -1, 308, 309, 310, -1, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, -1,
+ 326, 327, 328, 329, -1, 331, 332, 333, -1, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ -1, 347, 348, -1, 350, 351, 352, 353, 354, 355,
+ -1, 357, 358, -1, -1, 361, 362, 363, 364, -1,
+ 366, 367, 368, 369, 370, 371, 372, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, 382, 383, 384, 385,
+ 386, 387, 388, -1, 390, -1, 392, 393, 394, 395,
+ -1, -1, 398, -1, -1, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, -1, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, -1, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
+ 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, -1, 136, 137, 138, -1,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, -1,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, -1, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, -1, 208, 209,
+ 210, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, 237, 238, 239,
+ 240, -1, -1, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, -1, 259,
+ 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, -1, 273, -1, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ -1, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, -1, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, -1, 363, -1, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, -1, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, -1, 3, -1,
+ -1, -1, -1, -1, -1, -1, 416, 417, 418, 14,
15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
-1, 36, 37, 38, 39, 40, 41, -1, 43, 44,
@@ -18943,114 +20462,198 @@ static const yytype_int16 yycheck[] =
95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
-1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
-1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
- 125, -1, 127, 128, -1, 130, 131, 132, 133, -1,
- 135, 136, 137, -1, -1, 140, -1, 142, 143, 144,
- -1, 146, -1, 148, 149, -1, 151, 152, 153, 154,
- -1, 156, -1, -1, 159, -1, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, -1, 171, 172, 173, 174,
- 175, 176, -1, 178, 179, -1, 181, 182, 183, 184,
- 185, 186, -1, 188, -1, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
- 205, 206, 207, -1, 209, 210, 211, -1, -1, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, -1, -1, 233, 234,
- 235, 236, -1, -1, 239, 240, 241, 242, 243, -1,
- 245, -1, -1, 248, 249, 250, -1, -1, -1, 254,
- 255, 256, -1, 258, 259, 260, 261, 262, 263, 264,
- -1, 266, -1, 268, -1, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 299, 300, 301, 302, -1, 304,
- 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
- 315, 316, 317, -1, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, -1, -1, 340, 341, -1, 343, 344,
- 345, 346, 347, 348, -1, 350, 351, -1, -1, 354,
- -1, 356, -1, -1, 359, 360, 361, 362, 363, 364,
- 365, -1, -1, 368, 369, 370, 371, 372, -1, -1,
- 375, 376, 377, 378, 379, -1, 381, -1, 383, 384,
- 385, 386, 387, -1, -1, 390, -1, -1, 393, 394,
- 395, 396, 397, -1, 3, -1, -1, -1, -1, -1,
- -1, -1, 407, 408, 409, 14, 15, 16, 17, 18,
- 19, 20, 21, -1, 23, 24, 25, -1, -1, -1,
- -1, -1, -1, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, -1, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, -1, 61, 62, 63, 64, -1, -1, 67, -1,
- 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
- 79, 80, 81, 82, -1, 84, 85, 86, -1, -1,
- -1, 90, -1, -1, -1, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, 112, 113, 114, -1, -1, 117, 118,
- 119, 120, 121, -1, 123, 124, 125, -1, 127, 128,
- -1, 130, 131, 132, 133, -1, 135, 136, 137, -1,
- -1, 140, -1, 142, 143, 144, -1, 146, -1, 148,
- 149, -1, 151, 152, 153, 154, -1, 156, -1, -1,
- 159, -1, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, -1, 171, 172, 173, 174, 175, 176, -1, 178,
- 179, -1, 181, 182, 183, 184, 185, 186, -1, 188,
- -1, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, -1, 203, -1, 205, 206, 207, -1,
- 209, 210, 211, -1, -1, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, -1, -1, 233, 234, 235, 236, -1, -1,
- 239, 240, 241, 242, 243, -1, 245, -1, -1, 248,
- 249, 250, -1, -1, -1, 254, 255, 256, -1, 258,
- 259, 260, 261, 262, 263, 264, -1, 266, -1, 268,
- -1, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- 299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
- 309, 310, 311, -1, 313, 314, 315, 316, 317, -1,
- 319, -1, 321, 322, 323, 324, 325, 326, -1, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
- -1, 340, 341, -1, 343, 344, 345, 346, 347, 348,
- -1, 350, 351, -1, -1, 354, -1, 356, -1, -1,
- 359, 360, 361, 362, 363, 364, 365, -1, -1, 368,
- 369, 370, 371, 372, -1, -1, 375, 376, 377, 378,
- 379, -1, 381, -1, 383, 384, 385, 386, 387, -1,
- -1, 390, -1, -1, 393, 394, 395, 396, 397, -1,
- 3, -1, -1, -1, -1, -1, -1, -1, 407, 408,
- 409, 14, 15, 16, 17, 18, 19, 20, 21, -1,
- 23, 24, 25, -1, -1, -1, -1, -1, -1, -1,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, -1,
- -1, 44, -1, -1, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, -1, -1, 59, -1, 61, 62,
- 63, 64, -1, -1, 67, -1, 69, 70, 71, 72,
- 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
- -1, 84, 85, 86, -1, -1, -1, 90, -1, -1,
- -1, 94, 95, 96, 97, 98, 99, -1, -1, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
- 113, 114, -1, -1, 117, 118, 119, 120, 121, -1,
- 123, 124, 125, -1, 127, 128, -1, 130, 131, 132,
- 133, -1, 135, 136, 137, -1, -1, 140, -1, 142,
- -1, 144, -1, 146, -1, 148, 149, -1, 151, 152,
- 153, 154, -1, 156, -1, -1, 159, -1, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, -1, 171, 172,
- 173, 174, 175, 176, -1, 178, 179, -1, 181, 182,
- 183, 184, -1, -1, -1, -1, -1, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
- 203, -1, 205, 206, 207, -1, 209, 210, 211, -1,
- -1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, -1, 227, -1, 229, 230, -1, -1,
- 233, 234, 235, 236, -1, -1, 239, -1, 241, 242,
- 243, -1, 245, -1, -1, 248, 249, 250, -1, -1,
- -1, 254, 255, 256, -1, 258, 259, 260, 261, 262,
- 263, 264, -1, 266, -1, 268, -1, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, -1, 282,
- 283, 284, 285, -1, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
- -1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
- 313, 314, 315, 316, 317, -1, 319, -1, 321, 322,
- 323, 324, -1, 326, -1, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, -1, -1, 340, 341, -1,
- 343, 344, 345, 346, 347, 348, -1, -1, -1, -1,
- -1, 354, -1, 356, -1, -1, 359, 360, 361, 362,
- 363, 364, 365, -1, -1, 368, 369, 370, 371, 372,
- -1, -1, 375, 376, 377, 378, 379, -1, -1, -1,
- 383, 384, 385, 386, 387, -1, -1, 390, -1, -1,
- 393, 394, 395, 396, 397, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 407, 408, 409
+ 125, -1, 127, 128, 129, -1, 131, 132, 133, 134,
+ -1, 136, 137, 138, -1, -1, 141, -1, 143, 144,
+ 145, 146, -1, 148, -1, 150, 151, -1, 153, 154,
+ 155, 156, -1, 158, -1, -1, 161, -1, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
+ 175, 176, 177, 178, -1, 180, 181, -1, 183, 184,
+ 185, 186, 187, 188, -1, 190, -1, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
+ -1, 206, -1, 208, 209, 210, -1, 212, 213, 214,
+ -1, -1, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, 237, 238, 239, 240, -1, -1, 243, 244,
+ 245, 246, 247, -1, 249, -1, -1, 252, 253, 254,
+ -1, -1, 257, -1, 259, 260, 261, -1, 263, 264,
+ 265, 266, 267, 268, 269, -1, 271, -1, 273, -1,
+ 275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, -1,
+ 305, 306, 307, 308, 309, -1, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ -1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ -1, -1, 347, 348, -1, 350, 351, 352, 353, 354,
+ 355, -1, 357, 358, -1, -1, 361, -1, 363, -1,
+ -1, 366, 367, 368, 369, 370, 371, 372, -1, -1,
+ 375, 376, 377, 378, 379, -1, -1, 382, 383, 384,
+ 385, 386, -1, 388, -1, 390, 391, 392, 393, 394,
+ 395, -1, -1, 398, -1, -1, 401, 402, 403, 404,
+ 405, 406, -1, 3, -1, -1, -1, -1, -1, -1,
+ -1, 416, 417, 418, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, -1, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, -1, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
+ 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, -1, 136, 137, 138, -1,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, -1,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, -1, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, -1, 208, 209,
+ 210, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, -1, -1, 237, 238, 239,
+ 240, -1, -1, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, -1, 259,
+ 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, -1, 273, -1, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ -1, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, -1, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, -1, 363, -1, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, -1, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, -1, 3, -1,
+ -1, -1, -1, -1, -1, -1, 416, 417, 418, 14,
+ 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
+ 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, -1, 43, 44,
+ 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
+ 55, 56, 57, 58, 59, -1, 61, 62, 63, 64,
+ -1, -1, 67, -1, 69, 70, 71, 72, 73, 74,
+ 75, -1, 77, 78, 79, 80, 81, 82, -1, 84,
+ 85, 86, -1, -1, -1, 90, -1, -1, -1, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
+ 125, -1, 127, 128, 129, -1, 131, 132, 133, 134,
+ -1, 136, 137, 138, -1, -1, 141, -1, 143, 144,
+ 145, 146, -1, 148, -1, 150, 151, -1, 153, 154,
+ 155, 156, -1, 158, -1, -1, 161, -1, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
+ 175, 176, 177, 178, -1, 180, 181, -1, 183, 184,
+ 185, 186, 187, 188, -1, 190, -1, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
+ -1, 206, -1, 208, 209, 210, -1, 212, 213, 214,
+ -1, -1, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ -1, -1, 237, 238, 239, 240, -1, -1, 243, 244,
+ 245, 246, 247, -1, 249, -1, -1, 252, 253, 254,
+ -1, -1, 257, -1, 259, 260, 261, -1, 263, 264,
+ 265, 266, 267, 268, 269, -1, 271, -1, 273, -1,
+ 275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, -1,
+ 305, 306, 307, 308, 309, -1, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ -1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ -1, -1, 347, 348, -1, 350, 351, 352, 353, 354,
+ 355, -1, 357, 358, -1, -1, 361, -1, 363, -1,
+ -1, 366, 367, 368, 369, 370, 371, 372, -1, -1,
+ 375, 376, 377, 378, 379, -1, -1, 382, 383, 384,
+ 385, 386, -1, 388, -1, 390, 391, 392, 393, 394,
+ 395, -1, -1, 398, -1, -1, 401, 402, 403, 404,
+ 405, 406, -1, 3, -1, -1, -1, -1, -1, -1,
+ -1, 416, 417, 418, 14, 15, 16, 17, 18, 19,
+ 20, 21, -1, 23, 24, 25, -1, -1, -1, -1,
+ -1, -1, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, -1, 43, 44, 45, 46, -1, 48, 49,
+ 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
+ -1, 61, 62, 63, 64, -1, -1, 67, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, 84, 85, 86, -1, -1, -1,
+ 90, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, -1, 117, 118, 119,
+ 120, 121, -1, 123, 124, 125, -1, 127, 128, 129,
+ -1, 131, 132, 133, 134, -1, 136, 137, 138, -1,
+ -1, 141, -1, 143, 144, 145, 146, -1, 148, -1,
+ 150, 151, -1, 153, 154, 155, 156, -1, 158, -1,
+ -1, 161, -1, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, 174, 175, 176, 177, 178, -1,
+ 180, 181, -1, 183, 184, 185, 186, 187, 188, -1,
+ 190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, -1, 203, 204, -1, 206, -1, 208, 209,
+ 210, -1, 212, 213, 214, -1, -1, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, -1, -1, 237, 238, 239,
+ 240, -1, -1, 243, 244, 245, 246, 247, -1, 249,
+ -1, -1, 252, 253, 254, -1, -1, 257, -1, 259,
+ 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
+ -1, 271, -1, 273, -1, 275, 276, 277, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, -1, 305, 306, 307, 308, 309,
+ -1, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, -1, 326, -1, 328, 329,
+ 330, 331, 332, 333, -1, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 344, -1, -1, 347, 348, -1,
+ 350, 351, 352, 353, 354, 355, -1, 357, 358, -1,
+ -1, 361, -1, 363, -1, -1, 366, 367, 368, 369,
+ 370, 371, 372, -1, -1, 375, 376, 377, 378, 379,
+ -1, -1, 382, 383, 384, 385, 386, -1, 388, -1,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ -1, 401, 402, 403, 404, 405, 406, -1, 3, -1,
+ -1, -1, -1, -1, -1, -1, 416, 417, 418, 14,
+ 15, 16, 17, 18, 19, 20, 21, -1, 23, 24,
+ 25, -1, -1, -1, -1, -1, -1, -1, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, -1, -1, 44,
+ -1, -1, -1, 48, 49, 50, 51, 52, -1, -1,
+ 55, 56, -1, -1, 59, -1, 61, 62, 63, 64,
+ -1, -1, 67, -1, 69, 70, 71, 72, 73, 74,
+ 75, -1, 77, 78, 79, 80, 81, 82, -1, 84,
+ 85, 86, -1, -1, -1, 90, -1, -1, -1, 94,
+ 95, 96, 97, 98, 99, -1, -1, 102, -1, 104,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ -1, -1, 117, 118, 119, 120, 121, -1, 123, 124,
+ 125, -1, 127, 128, 129, -1, 131, 132, 133, 134,
+ -1, 136, 137, 138, -1, -1, 141, -1, 143, 144,
+ -1, 146, -1, 148, -1, 150, 151, -1, 153, 154,
+ 155, 156, -1, 158, -1, -1, 161, -1, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
+ 175, 176, 177, 178, -1, 180, 181, -1, 183, 184,
+ 185, 186, -1, -1, -1, -1, -1, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, -1, 203, 204,
+ -1, 206, -1, 208, 209, 210, -1, 212, 213, 214,
+ -1, -1, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, -1, 231, -1, 233, 234,
+ -1, -1, 237, 238, 239, 240, -1, -1, 243, -1,
+ 245, 246, 247, -1, 249, -1, -1, 252, 253, 254,
+ -1, -1, 257, -1, 259, 260, 261, -1, 263, 264,
+ 265, 266, 267, 268, 269, -1, 271, -1, 273, -1,
+ 275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
+ 285, 286, -1, 288, 289, 290, 291, -1, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, -1,
+ 305, 306, 307, 308, 309, -1, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ -1, 326, -1, 328, 329, 330, 331, -1, 333, -1,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ -1, -1, 347, 348, -1, 350, 351, 352, 353, 354,
+ 355, -1, -1, -1, -1, -1, 361, -1, 363, -1,
+ -1, 366, 367, 368, 369, 370, 371, 372, -1, -1,
+ 375, 376, 377, 378, 379, -1, -1, 382, 383, 384,
+ 385, 386, -1, -1, -1, 390, 391, 392, 393, 394,
+ 395, -1, -1, 398, -1, -1, 401, 402, 403, 404,
+ 405, 406, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 416, 417, 418
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -19058,435 +20661,462 @@ static const yytype_int16 yycheck[] =
static const yytype_uint16 yystos[] =
{
0, 14, 24, 26, 27, 41, 61, 63, 64, 69,
- 71, 81, 83, 99, 102, 114, 116, 120, 126, 133,
- 135, 141, 155, 209, 210, 215, 223, 234, 271, 282,
- 287, 289, 294, 299, 302, 306, 311, 312, 319, 322,
- 330, 342, 359, 369, 375, 380, 392, 426, 433, 434,
- 435, 436, 442, 443, 445, 446, 447, 448, 449, 450,
- 451, 453, 454, 458, 469, 472, 473, 476, 477, 478,
- 489, 492, 493, 508, 545, 548, 549, 556, 562, 564,
- 566, 567, 570, 573, 574, 578, 579, 588, 592, 593,
- 594, 598, 599, 601, 602, 603, 616, 617, 618, 619,
- 630, 631, 638, 639, 642, 643, 644, 645, 646, 651,
- 653, 656, 660, 664, 665, 675, 676, 679, 684, 695,
- 714, 717, 718, 719, 722, 725, 727, 729, 732, 735,
- 736, 737, 744, 745, 747, 748, 749, 754, 756, 757,
- 761, 762, 765, 766, 767, 769, 770, 771, 772, 774,
- 777, 778, 783, 789, 792, 794, 795, 800, 802, 806,
- 813, 817, 818, 819, 820, 821, 822, 825, 852, 354,
- 394, 750, 21, 67, 80, 97, 103, 118, 136, 147,
- 152, 158, 173, 198, 248, 276, 301, 307, 313, 316,
- 342, 344, 348, 356, 361, 373, 386, 563, 750, 3,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 33, 34, 36, 37, 39, 40, 41, 42,
- 43, 45, 46, 48, 49, 50, 51, 52, 55, 56,
- 57, 58, 59, 61, 62, 63, 64, 65, 69, 70,
- 71, 72, 74, 75, 77, 78, 79, 80, 81, 82,
- 85, 86, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 104, 106, 107, 108, 109, 110, 112, 113, 114,
- 117, 118, 119, 120, 121, 123, 124, 125, 127, 128,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, 140,
- 142, 143, 144, 146, 148, 152, 153, 154, 156, 157,
- 159, 161, 162, 163, 164, 165, 167, 168, 169, 171,
- 172, 173, 174, 175, 176, 178, 180, 181, 182, 183,
- 184, 185, 186, 188, 190, 193, 195, 196, 197, 198,
- 199, 200, 201, 203, 204, 206, 209, 210, 211, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 228, 229, 230, 231, 233, 234, 236, 238,
- 239, 240, 241, 242, 243, 245, 248, 249, 250, 253,
- 257, 258, 259, 260, 261, 262, 263, 264, 266, 267,
- 268, 269, 270, 271, 272, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 298, 299, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 313, 314, 315, 316, 317, 319, 320, 321, 322, 324,
- 325, 326, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, 337, 338, 340, 341, 343, 344, 345, 346, 347,
- 348, 350, 351, 354, 355, 356, 357, 359, 360, 361,
- 362, 363, 364, 365, 368, 369, 370, 371, 372, 375,
- 376, 377, 378, 379, 380, 381, 383, 385, 386, 387,
- 390, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 814, 957,
- 969, 972, 973, 384, 779, 246, 272, 750, 44, 499,
- 818, 21, 33, 54, 67, 76, 97, 103, 118, 136,
- 147, 154, 158, 211, 248, 251, 301, 307, 316, 344,
- 345, 347, 348, 356, 361, 367, 370, 373, 509, 634,
- 685, 696, 22, 271, 957, 814, 22, 266, 345, 347,
- 5, 197, 723, 724, 966, 21, 33, 54, 67, 80,
- 97, 118, 136, 147, 152, 158, 173, 248, 258, 301,
- 305, 307, 313, 316, 342, 344, 348, 356, 361, 373,
- 386, 563, 647, 750, 957, 83, 384, 426, 545, 778,
- 784, 792, 795, 800, 806, 813, 817, 9, 15, 22,
- 39, 142, 148, 150, 170, 199, 229, 274, 288, 417,
- 418, 661, 662, 814, 965, 968, 22, 83, 286, 312,
- 666, 667, 668, 969, 969, 962, 966, 342, 828, 661,
- 969, 354, 957, 258, 97, 173, 341, 342, 730, 306,
- 969, 22, 317, 350, 354, 461, 969, 19, 155, 666,
- 667, 272, 750, 969, 196, 22, 115, 830, 55, 77,
- 211, 225, 301, 307, 317, 350, 354, 397, 459, 460,
- 461, 22, 317, 350, 354, 461, 354, 247, 861, 955,
- 969, 828, 419, 969, 151, 426, 780, 426, 951, 284,
- 823, 824, 957, 818, 819, 822, 0, 429, 779, 129,
- 187, 252, 366, 831, 832, 818, 820, 821, 108, 183,
- 372, 430, 3, 38, 44, 67, 73, 84, 90, 149,
- 151, 166, 179, 191, 192, 194, 205, 207, 227, 235,
- 254, 255, 256, 300, 323, 384, 963, 969, 970, 972,
- 974, 649, 969, 649, 958, 969, 275, 649, 649, 957,
- 969, 96, 342, 674, 963, 967, 969, 165, 955, 241,
- 8, 62, 140, 413, 414, 415, 417, 418, 419, 420,
- 421, 422, 721, 918, 919, 969, 967, 957, 165, 955,
- 957, 165, 861, 957, 309, 957, 649, 216, 967, 165,
- 955, 197, 105, 193, 232, 280, 751, 752, 753, 955,
- 961, 969, 21, 54, 67, 68, 76, 80, 97, 118,
- 136, 147, 152, 173, 198, 248, 301, 305, 307, 313,
- 316, 342, 344, 348, 356, 361, 386, 563, 654, 966,
- 955, 352, 963, 957, 426, 649, 356, 958, 649, 165,
- 957, 96, 342, 345, 347, 967, 345, 347, 62, 140,
- 721, 292, 967, 455, 969, 957, 957, 309, 957, 649,
- 216, 967, 313, 342, 386, 80, 173, 152, 305, 360,
- 557, 22, 957, 815, 468, 966, 969, 724, 165, 963,
- 957, 165, 728, 165, 958, 96, 342, 165, 963, 165,
- 956, 957, 73, 62, 140, 165, 721, 48, 165, 956,
- 165, 957, 165, 957, 165, 957, 309, 165, 957, 165,
- 216, 956, 197, 165, 648, 649, 426, 793, 509, 784,
- 380, 384, 778, 785, 786, 787, 969, 779, 968, 662,
- 663, 22, 663, 968, 663, 22, 663, 968, 663, 663,
- 663, 968, 965, 965, 814, 663, 275, 426, 426, 528,
- 528, 528, 246, 352, 430, 528, 861, 862, 430, 746,
- 966, 426, 790, 48, 957, 957, 955, 969, 38, 409,
- 193, 428, 249, 249, 246, 150, 966, 352, 145, 657,
- 246, 4, 6, 7, 8, 10, 30, 43, 45, 46,
- 53, 54, 57, 58, 65, 67, 87, 88, 89, 90,
- 91, 92, 93, 100, 101, 119, 134, 138, 139, 143,
- 157, 185, 186, 188, 204, 212, 213, 226, 228, 232,
- 237, 238, 240, 248, 257, 267, 281, 303, 318, 325,
- 338, 350, 351, 355, 357, 358, 367, 373, 381, 399,
- 400, 401, 402, 403, 404, 405, 406, 417, 418, 419,
- 426, 818, 873, 876, 879, 880, 881, 883, 884, 885,
- 886, 889, 890, 894, 896, 897, 916, 920, 939, 944,
- 952, 953, 963, 964, 965, 966, 969, 966, 22, 474,
- 954, 955, 317, 459, 103, 467, 966, 468, 966, 38,
- 59, 459, 409, 326, 752, 249, 150, 352, 413, 38,
- 409, 193, 753, 426, 955, 419, 424, 428, 945, 946,
- 862, 149, 151, 384, 775, 776, 778, 149, 781, 103,
- 894, 949, 950, 823, 430, 426, 782, 427, 427, 435,
- 955, 22, 115, 829, 829, 48, 829, 141, 145, 208,
- 244, 835, 837, 838, 847, 849, 850, 831, 832, 150,
- 189, 861, 863, 951, 426, 624, 946, 259, 290, 319,
- 428, 650, 259, 290, 319, 259, 290, 319, 392, 437,
- 469, 470, 680, 18, 120, 259, 290, 319, 377, 481,
- 319, 18, 120, 372, 452, 395, 165, 861, 50, 82,
- 137, 168, 203, 232, 259, 290, 298, 304, 311, 319,
- 328, 336, 387, 469, 471, 708, 715, 426, 697, 290,
- 452, 134, 18, 24, 64, 113, 120, 123, 175, 230,
- 232, 242, 250, 259, 290, 294, 319, 377, 479, 480,
- 582, 4, 418, 554, 968, 649, 649, 426, 720, 428,
- 170, 290, 437, 444, 259, 290, 134, 49, 95, 172,
- 218, 220, 230, 258, 290, 295, 319, 330, 479, 551,
- 552, 259, 290, 385, 582, 590, 134, 290, 319, 479,
- 259, 290, 294, 319, 74, 112, 260, 346, 246, 18,
- 24, 120, 259, 290, 319, 490, 491, 145, 290, 319,
- 437, 470, 134, 290, 319, 479, 957, 206, 105, 247,
- 396, 430, 751, 374, 773, 246, 963, 426, 957, 96,
- 342, 963, 241, 62, 140, 721, 957, 309, 957, 197,
- 649, 528, 333, 334, 495, 966, 426, 624, 625, 60,
- 3, 43, 45, 46, 57, 58, 100, 101, 143, 185,
- 186, 188, 226, 228, 240, 281, 320, 325, 350, 351,
- 381, 870, 872, 874, 876, 878, 880, 881, 882, 884,
- 885, 889, 890, 970, 972, 150, 426, 620, 957, 437,
- 31, 768, 232, 437, 395, 165, 955, 437, 649, 649,
- 620, 509, 437, 38, 456, 361, 589, 259, 565, 74,
- 112, 260, 346, 20, 40, 184, 604, 31, 620, 145,
- 437, 955, 165, 546, 955, 955, 649, 73, 686, 963,
- 957, 563, 44, 94, 182, 230, 308, 134, 624, 51,
- 296, 482, 134, 426, 134, 395, 134, 697, 134, 430,
- 165, 648, 165, 649, 165, 649, 134, 720, 956, 134,
- 134, 246, 134, 482, 134, 74, 112, 260, 346, 134,
- 246, 134, 145, 165, 165, 468, 134, 430, 482, 894,
- 923, 342, 427, 430, 139, 246, 358, 465, 468, 554,
- 788, 784, 663, 814, 663, 814, 663, 814, 663, 814,
- 663, 814, 814, 814, 663, 814, 426, 529, 530, 969,
- 529, 22, 97, 118, 147, 152, 197, 198, 307, 313,
- 342, 344, 361, 669, 954, 956, 668, 170, 430, 803,
- 966, 870, 926, 31, 956, 146, 731, 731, 731, 206,
- 969, 145, 145, 669, 956, 306, 969, 468, 246, 426,
- 947, 424, 818, 927, 383, 887, 894, 943, 426, 887,
- 887, 426, 145, 426, 426, 426, 875, 875, 269, 818,
- 426, 426, 877, 426, 426, 426, 426, 57, 58, 887,
- 894, 426, 875, 426, 426, 426, 426, 426, 393, 412,
- 426, 891, 426, 891, 426, 426, 818, 426, 426, 426,
- 426, 426, 426, 426, 426, 894, 894, 818, 894, 923,
- 946, 966, 58, 426, 888, 426, 966, 3, 8, 11,
- 28, 31, 36, 42, 66, 166, 170, 191, 192, 207,
- 232, 235, 248, 251, 323, 413, 414, 415, 417, 418,
- 419, 420, 421, 422, 918, 920, 922, 256, 894, 189,
- 430, 826, 426, 966, 946, 106, 167, 475, 430, 59,
- 103, 468, 31, 3, 103, 211, 466, 554, 890, 966,
- 966, 78, 117, 903, 86, 103, 462, 463, 465, 554,
- 103, 462, 206, 955, 894, 3, 22, 26, 27, 28,
- 29, 30, 31, 32, 35, 47, 53, 54, 60, 66,
- 68, 76, 83, 87, 88, 89, 91, 92, 93, 103,
- 105, 111, 115, 116, 122, 126, 129, 139, 141, 145,
- 147, 150, 155, 158, 160, 170, 177, 187, 189, 202,
- 208, 212, 213, 232, 237, 244, 246, 247, 251, 252,
- 265, 273, 286, 297, 312, 318, 327, 339, 342, 349,
- 352, 353, 358, 366, 367, 373, 374, 382, 388, 389,
- 391, 392, 419, 960, 971, 972, 973, 974, 975, 945,
- 79, 295, 652, 427, 430, 779, 427, 430, 824, 956,
- 31, 782, 820, 820, 833, 834, 894, 820, 142, 229,
- 844, 280, 321, 372, 22, 839, 894, 840, 842, 894,
- 896, 847, 848, 838, 837, 835, 836, 145, 850, 835,
- 847, 863, 955, 31, 969, 319, 419, 926, 259, 290,
- 319, 352, 352, 307, 960, 428, 352, 352, 307, 352,
- 352, 344, 459, 763, 145, 155, 170, 299, 681, 682,
- 60, 76, 130, 147, 273, 367, 525, 526, 76, 103,
- 232, 352, 76, 352, 103, 232, 307, 76, 307, 571,
- 21, 54, 67, 80, 118, 147, 152, 248, 307, 313,
- 316, 342, 348, 361, 386, 563, 957, 134, 290, 319,
- 479, 246, 554, 311, 203, 352, 352, 237, 554, 107,
- 190, 307, 317, 354, 460, 296, 319, 708, 716, 170,
- 180, 253, 320, 382, 427, 698, 701, 702, 703, 705,
- 870, 970, 352, 373, 955, 68, 130, 516, 525, 969,
- 68, 733, 246, 305, 356, 76, 733, 25, 293, 305,
- 356, 955, 175, 242, 649, 426, 352, 352, 426, 485,
- 344, 392, 393, 485, 76, 430, 4, 259, 374, 374,
- 231, 870, 259, 319, 721, 97, 352, 439, 470, 352,
- 352, 955, 554, 48, 553, 554, 554, 95, 218, 220,
- 48, 352, 437, 307, 437, 230, 552, 352, 352, 237,
- 966, 582, 861, 76, 352, 733, 307, 352, 352, 485,
- 485, 649, 649, 649, 649, 955, 37, 379, 37, 37,
- 352, 37, 352, 307, 430, 93, 373, 600, 967, 352,
- 439, 955, 352, 307, 259, 290, 280, 291, 315, 464,
- 751, 961, 969, 955, 624, 870, 246, 395, 697, 554,
- 649, 649, 720, 191, 246, 74, 112, 260, 346, 246,
- 649, 191, 392, 500, 437, 3, 626, 627, 620, 426,
- 872, 31, 30, 871, 98, 163, 219, 222, 310, 407,
- 426, 892, 893, 650, 875, 649, 621, 622, 971, 20,
- 758, 870, 134, 568, 957, 232, 426, 595, 438, 634,
- 374, 386, 438, 967, 83, 155, 457, 508, 548, 603,
- 664, 684, 754, 966, 590, 591, 957, 214, 649, 649,
- 649, 649, 242, 108, 183, 359, 372, 605, 606, 127,
- 279, 426, 600, 438, 550, 551, 232, 31, 242, 426,
- 528, 528, 145, 687, 961, 426, 699, 31, 197, 392,
- 393, 816, 308, 963, 482, 870, 958, 165, 957, 963,
- 482, 956, 957, 134, 482, 134, 374, 134, 374, 721,
- 482, 482, 956, 957, 649, 957, 957, 957, 649, 956,
- 600, 134, 134, 482, 648, 649, 427, 430, 955, 784,
- 786, 814, 814, 814, 814, 814, 814, 529, 427, 430,
- 427, 153, 314, 343, 956, 648, 96, 316, 673, 674,
- 956, 241, 956, 954, 954, 956, 648, 352, 392, 677,
- 16, 132, 303, 321, 804, 861, 236, 805, 427, 430,
- 791, 795, 800, 806, 817, 352, 667, 666, 667, 150,
- 156, 678, 969, 21, 68, 97, 118, 147, 152, 198,
- 301, 307, 313, 342, 344, 361, 386, 563, 658, 923,
- 945, 425, 923, 927, 928, 426, 388, 940, 941, 894,
- 923, 426, 965, 965, 923, 3, 98, 163, 219, 222,
- 310, 407, 929, 930, 966, 965, 923, 923, 965, 965,
- 887, 887, 894, 721, 894, 931, 417, 418, 895, 896,
- 916, 920, 933, 427, 923, 894, 923, 934, 350, 409,
- 965, 965, 894, 47, 150, 202, 353, 894, 923, 937,
- 923, 224, 896, 894, 901, 902, 903, 224, 894, 903,
- 427, 430, 319, 965, 965, 892, 870, 894, 971, 350,
- 35, 339, 948, 649, 894, 426, 818, 938, 115, 117,
- 139, 232, 237, 242, 358, 368, 894, 42, 166, 170,
- 207, 323, 426, 894, 352, 894, 894, 894, 894, 894,
- 894, 894, 894, 894, 894, 22, 29, 327, 917, 303,
- 426, 916, 154, 211, 342, 345, 347, 370, 827, 955,
- 953, 150, 853, 22, 115, 382, 419, 427, 703, 894,
- 924, 925, 970, 955, 354, 426, 966, 430, 427, 425,
- 431, 164, 164, 482, 955, 776, 777, 955, 949, 427,
- 426, 430, 32, 111, 374, 693, 426, 841, 968, 247,
- 242, 851, 851, 430, 303, 304, 843, 848, 836, 374,
- 801, 103, 426, 796, 817, 969, 426, 807, 808, 809,
- 810, 811, 969, 427, 427, 352, 352, 307, 967, 957,
- 957, 960, 967, 957, 957, 967, 958, 957, 75, 764,
- 301, 373, 666, 307, 155, 666, 426, 957, 374, 688,
- 195, 195, 374, 426, 544, 165, 957, 237, 967, 957,
- 957, 894, 237, 957, 957, 957, 352, 572, 963, 426,
- 649, 649, 649, 96, 342, 674, 62, 140, 721, 957,
- 649, 957, 649, 309, 649, 649, 197, 159, 230, 259,
- 290, 378, 575, 576, 577, 861, 352, 733, 307, 237,
- 107, 190, 967, 957, 246, 957, 253, 970, 427, 430,
- 703, 705, 702, 705, 970, 650, 967, 956, 290, 479,
- 516, 870, 969, 957, 957, 22, 373, 957, 165, 957,
- 165, 969, 305, 356, 305, 356, 957, 22, 373, 957,
- 955, 18, 120, 319, 583, 584, 585, 586, 971, 967,
- 957, 487, 488, 971, 957, 245, 64, 245, 957, 480,
- 352, 959, 969, 959, 430, 427, 430, 352, 307, 958,
- 967, 3, 75, 125, 175, 264, 365, 373, 376, 440,
- 967, 957, 290, 319, 479, 551, 554, 649, 957, 554,
- 957, 554, 967, 957, 290, 319, 479, 957, 957, 957,
- 957, 967, 957, 18, 24, 120, 259, 290, 319, 259,
- 290, 319, 620, 290, 319, 290, 319, 290, 869, 969,
- 966, 969, 165, 969, 967, 957, 957, 957, 18, 491,
- 316, 967, 290, 319, 479, 957, 957, 352, 352, 72,
- 364, 280, 191, 31, 649, 191, 191, 374, 374, 191,
- 237, 655, 966, 649, 649, 649, 649, 649, 649, 191,
- 655, 245, 150, 352, 494, 426, 496, 497, 413, 427,
- 430, 894, 30, 871, 870, 424, 424, 352, 352, 352,
- 426, 352, 965, 875, 427, 430, 413, 605, 75, 124,
- 200, 201, 214, 259, 344, 346, 759, 518, 957, 150,
- 307, 385, 569, 576, 577, 134, 427, 516, 596, 597,
- 316, 19, 170, 301, 340, 440, 441, 145, 959, 955,
- 456, 251, 509, 147, 966, 620, 620, 620, 620, 242,
- 246, 251, 426, 620, 867, 868, 869, 316, 134, 133,
- 817, 649, 207, 510, 512, 514, 516, 522, 525, 969,
- 392, 393, 540, 392, 486, 966, 246, 427, 700, 701,
- 706, 31, 197, 298, 391, 707, 708, 709, 246, 468,
- 162, 162, 145, 624, 31, 134, 482, 697, 648, 649,
- 959, 649, 959, 720, 246, 482, 482, 246, 482, 316,
- 145, 468, 482, 894, 427, 530, 170, 170, 170, 395,
- 956, 430, 554, 555, 158, 670, 671, 967, 19, 678,
- 132, 321, 132, 321, 303, 372, 221, 870, 957, 150,
- 246, 670, 48, 482, 963, 342, 963, 241, 197, 649,
- 427, 425, 425, 430, 923, 894, 122, 941, 942, 31,
- 427, 894, 427, 427, 427, 427, 150, 427, 427, 427,
- 427, 427, 430, 427, 265, 932, 427, 895, 895, 11,
- 170, 191, 248, 413, 414, 415, 417, 418, 419, 420,
- 421, 422, 920, 895, 427, 427, 145, 150, 935, 936,
- 427, 409, 427, 427, 31, 937, 923, 937, 937, 150,
- 427, 427, 971, 263, 905, 31, 427, 430, 894, 971,
- 430, 894, 947, 894, 969, 427, 427, 409, 895, 895,
- 128, 923, 150, 115, 117, 139, 237, 242, 358, 368,
- 426, 128, 339, 948, 894, 938, 894, 352, 721, 894,
- 426, 818, 345, 347, 345, 347, 955, 828, 828, 828,
- 426, 818, 854, 855, 856, 861, 864, 897, 963, 969,
- 389, 865, 924, 924, 925, 427, 255, 909, 13, 427,
- 430, 832, 752, 965, 892, 463, 894, 782, 791, 834,
- 248, 918, 921, 410, 411, 694, 894, 843, 954, 805,
- 805, 840, 854, 389, 866, 380, 797, 798, 969, 297,
- 799, 811, 812, 430, 853, 413, 947, 967, 957, 957,
- 208, 956, 956, 246, 956, 249, 246, 894, 526, 959,
- 426, 426, 426, 544, 173, 529, 614, 134, 482, 352,
- 468, 624, 870, 395, 649, 649, 649, 720, 74, 112,
- 260, 346, 957, 558, 957, 159, 378, 352, 352, 558,
- 575, 582, 290, 319, 479, 957, 957, 957, 181, 237,
- 650, 701, 705, 705, 421, 352, 250, 580, 120, 294,
- 319, 481, 582, 734, 134, 482, 134, 482, 957, 957,
- 957, 957, 585, 586, 585, 427, 430, 587, 966, 427,
- 430, 413, 428, 967, 259, 290, 319, 18, 120, 259,
- 290, 319, 870, 231, 870, 967, 957, 208, 264, 237,
- 966, 264, 956, 371, 352, 307, 352, 733, 307, 352,
- 352, 216, 216, 216, 352, 352, 307, 352, 352, 307,
- 352, 307, 352, 307, 352, 482, 870, 20, 40, 319,
- 734, 134, 482, 352, 957, 352, 307, 967, 957, 655,
- 870, 191, 655, 655, 959, 959, 655, 191, 191, 191,
- 191, 191, 191, 655, 495, 503, 504, 971, 44, 85,
- 109, 124, 128, 146, 161, 237, 245, 278, 498, 248,
- 417, 418, 554, 623, 705, 921, 966, 975, 3, 627,
- 427, 424, 427, 965, 425, 965, 163, 219, 893, 219,
- 893, 893, 965, 222, 427, 622, 623, 246, 208, 413,
- 760, 760, 760, 760, 760, 760, 760, 60, 66, 76,
- 103, 105, 177, 232, 237, 273, 286, 367, 519, 520,
- 521, 437, 468, 957, 468, 580, 955, 427, 430, 957,
- 956, 158, 301, 956, 965, 361, 528, 292, 342, 96,
- 529, 955, 606, 628, 629, 966, 427, 430, 957, 955,
- 957, 392, 547, 426, 511, 955, 427, 430, 245, 485,
- 245, 246, 541, 485, 31, 352, 955, 427, 430, 103,
- 413, 710, 966, 468, 342, 704, 705, 392, 709, 711,
- 108, 183, 312, 372, 742, 159, 817, 482, 870, 957,
- 482, 482, 374, 482, 374, 482, 482, 649, 649, 957,
- 600, 482, 307, 307, 307, 956, 674, 430, 967, 392,
- 430, 672, 249, 132, 132, 956, 669, 482, 967, 624,
- 697, 554, 649, 191, 927, 427, 349, 894, 126, 870,
- 427, 894, 894, 894, 935, 870, 895, 115, 117, 232,
- 242, 895, 895, 895, 895, 895, 895, 895, 895, 895,
- 895, 894, 894, 936, 935, 891, 891, 870, 427, 427,
- 427, 923, 427, 430, 48, 896, 427, 971, 902, 270,
- 337, 904, 427, 430, 385, 898, 31, 427, 888, 966,
- 894, 28, 28, 894, 427, 894, 150, 426, 926, 894,
- 895, 895, 128, 128, 894, 427, 128, 894, 828, 828,
- 828, 828, 955, 955, 955, 818, 855, 856, 31, 857,
- 969, 430, 84, 151, 179, 194, 205, 227, 300, 858,
- 857, 31, 857, 969, 426, 946, 894, 158, 845, 430,
- 831, 832, 831, 427, 909, 426, 910, 969, 894, 909,
- 966, 382, 925, 427, 427, 425, 427, 426, 694, 427,
- 247, 86, 894, 799, 427, 430, 947, 952, 427, 430,
- 808, 866, 949, 760, 153, 314, 343, 362, 683, 145,
- 683, 427, 426, 532, 533, 690, 897, 969, 529, 529,
- 614, 961, 427, 105, 177, 230, 232, 615, 957, 957,
- 31, 957, 374, 374, 649, 649, 649, 649, 650, 967,
- 957, 352, 733, 307, 352, 181, 421, 361, 957, 426,
- 518, 232, 485, 96, 232, 332, 335, 485, 361, 957,
- 969, 584, 488, 623, 971, 352, 352, 307, 152, 248,
- 335, 632, 633, 152, 248, 640, 641, 352, 352, 307,
- 427, 427, 427, 968, 966, 966, 966, 957, 957, 957,
- 957, 957, 957, 957, 145, 145, 292, 145, 165, 967,
- 957, 957, 967, 957, 957, 957, 957, 957, 957, 957,
- 66, 483, 966, 966, 361, 969, 957, 582, 957, 957,
- 427, 655, 191, 191, 655, 655, 655, 655, 655, 655,
- 374, 501, 502, 427, 430, 419, 426, 465, 505, 554,
- 768, 966, 768, 232, 278, 768, 768, 614, 965, 392,
- 393, 425, 425, 427, 892, 955, 760, 103, 965, 966,
- 103, 966, 103, 966, 103, 966, 103, 957, 103, 957,
- 103, 957, 426, 649, 957, 895, 106, 167, 105, 237,
- 195, 955, 711, 568, 595, 597, 580, 956, 956, 870,
- 486, 955, 395, 145, 607, 427, 430, 869, 580, 242,
- 426, 793, 96, 230, 513, 515, 517, 525, 969, 540,
- 523, 176, 539, 514, 71, 344, 542, 817, 966, 688,
- 706, 894, 894, 430, 426, 707, 620, 352, 558, 427,
- 482, 959, 959, 482, 482, 316, 956, 956, 956, 554,
- 155, 671, 678, 150, 191, 191, 191, 191, 237, 659,
- 966, 894, 427, 427, 936, 150, 115, 117, 242, 426,
- 427, 398, 900, 923, 285, 48, 390, 390, 427, 894,
- 230, 894, 430, 899, 872, 892, 895, 895, 894, 926,
- 427, 28, 28, 894, 894, 128, 894, 427, 955, 955,
- 955, 955, 427, 969, 426, 855, 194, 254, 859, 855,
- 859, 194, 858, 859, 194, 426, 969, 426, 924, 48,
- 160, 846, 427, 427, 909, 911, 969, 925, 909, 966,
- 721, 242, 817, 798, 413, 811, 799, 968, 352, 666,
- 150, 614, 894, 427, 430, 392, 66, 691, 691, 427,
- 427, 711, 106, 167, 175, 105, 376, 482, 870, 959,
- 959, 957, 957, 957, 957, 361, 581, 585, 237, 237,
- 968, 969, 870, 482, 482, 413, 967, 957, 957, 965,
- 965, 870, 430, 965, 965, 430, 967, 957, 957, 352,
- 956, 956, 649, 956, 134, 649, 870, 482, 482, 191,
- 655, 655, 437, 110, 504, 465, 506, 507, 966, 966,
- 237, 419, 529, 966, 966, 425, 152, 180, 152, 150,
- 613, 968, 894, 232, 520, 711, 528, 374, 543, 316,
- 374, 31, 426, 957, 121, 608, 388, 610, 966, 649,
- 510, 547, 96, 427, 430, 392, 541, 131, 171, 426,
- 540, 108, 120, 270, 957, 392, 755, 150, 426, 966,
- 703, 712, 713, 970, 711, 955, 178, 559, 482, 482,
- 482, 957, 249, 482, 670, 659, 659, 659, 659, 895,
- 150, 426, 926, 426, 427, 430, 427, 896, 285, 427,
- 379, 329, 427, 427, 427, 895, 895, 894, 857, 426,
- 956, 855, 246, 374, 860, 855, 194, 855, 868, 426,
- 868, 969, 427, 923, 894, 391, 906, 909, 909, 262,
- 912, 427, 892, 427, 814, 951, 670, 246, 670, 427,
- 711, 533, 248, 721, 649, 374, 649, 692, 692, 286,
- 711, 543, 427, 352, 427, 430, 483, 623, 426, 963,
- 721, 633, 426, 426, 641, 957, 392, 292, 392, 392,
- 145, 483, 655, 496, 966, 427, 430, 529, 674, 31,
- 726, 726, 955, 614, 427, 543, 217, 531, 173, 957,
- 959, 817, 580, 303, 331, 609, 426, 133, 511, 427,
- 515, 250, 542, 22, 70, 77, 104, 174, 335, 524,
- 524, 954, 541, 304, 304, 52, 60, 211, 649, 689,
- 690, 705, 427, 430, 865, 558, 230, 378, 560, 561,
- 482, 895, 926, 427, 901, 923, 48, 230, 408, 956,
- 427, 894, 426, 855, 860, 427, 868, 427, 907, 908,
- 969, 48, 831, 909, 672, 683, 482, 691, 543, 426,
- 649, 693, 693, 955, 543, 614, 957, 585, 374, 484,
- 926, 697, 145, 636, 720, 926, 926, 648, 649, 648,
- 649, 956, 482, 507, 726, 34, 169, 145, 230, 527,
- 151, 261, 324, 246, 535, 536, 537, 344, 580, 140,
- 635, 755, 894, 277, 540, 539, 518, 427, 542, 60,
- 249, 60, 427, 430, 707, 712, 116, 378, 558, 427,
- 427, 427, 285, 379, 427, 956, 427, 430, 31, 923,
- 279, 304, 913, 150, 692, 389, 534, 721, 694, 694,
- 528, 614, 894, 427, 252, 309, 283, 637, 636, 427,
- 427, 392, 121, 175, 108, 372, 246, 537, 246, 536,
- 957, 649, 31, 427, 963, 541, 540, 249, 249, 486,
- 690, 711, 23, 184, 743, 427, 908, 910, 42, 86,
- 363, 894, 914, 915, 914, 427, 670, 693, 426, 614,
- 427, 531, 963, 48, 637, 649, 303, 51, 230, 296,
- 319, 538, 538, 632, 426, 542, 541, 542, 233, 426,
- 738, 740, 745, 795, 800, 806, 817, 915, 303, 144,
- 268, 144, 268, 482, 694, 894, 535, 697, 649, 610,
- 17, 103, 237, 4, 611, 612, 965, 966, 971, 542,
- 865, 739, 740, 741, 818, 819, 28, 427, 614, 133,
- 427, 430, 427, 429, 915, 277, 612, 741, 963, 426,
- 611, 427
+ 71, 81, 83, 99, 102, 114, 116, 120, 126, 134,
+ 136, 142, 157, 212, 213, 218, 227, 238, 276, 288,
+ 293, 294, 296, 301, 306, 309, 313, 318, 319, 326,
+ 329, 337, 349, 366, 376, 382, 387, 400, 436, 443,
+ 444, 445, 446, 452, 453, 455, 456, 457, 458, 459,
+ 460, 461, 463, 464, 468, 480, 483, 484, 487, 488,
+ 489, 501, 504, 505, 521, 558, 561, 564, 565, 566,
+ 573, 579, 581, 583, 584, 587, 590, 591, 595, 596,
+ 605, 609, 610, 611, 612, 613, 615, 616, 617, 630,
+ 631, 635, 637, 638, 639, 649, 651, 658, 659, 662,
+ 663, 664, 665, 666, 671, 673, 676, 680, 684, 685,
+ 695, 696, 699, 704, 715, 737, 740, 741, 742, 745,
+ 748, 750, 752, 755, 756, 759, 760, 761, 768, 769,
+ 771, 772, 773, 778, 780, 781, 785, 786, 789, 790,
+ 791, 792, 794, 795, 796, 797, 799, 802, 803, 808,
+ 814, 817, 819, 820, 825, 827, 831, 838, 842, 843,
+ 844, 845, 846, 847, 850, 878, 361, 403, 774, 21,
+ 67, 80, 97, 103, 118, 129, 137, 149, 154, 160,
+ 175, 200, 221, 252, 281, 308, 312, 314, 320, 323,
+ 348, 349, 351, 355, 363, 368, 380, 393, 580, 774,
+ 3, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 33, 34, 36, 37, 39, 40, 41,
+ 42, 43, 45, 46, 48, 49, 50, 51, 52, 55,
+ 56, 57, 58, 59, 61, 62, 63, 64, 65, 69,
+ 70, 71, 72, 74, 75, 77, 78, 79, 80, 81,
+ 82, 85, 86, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 104, 106, 107, 108, 109, 110, 112, 113,
+ 114, 117, 118, 119, 120, 121, 123, 124, 125, 127,
+ 128, 129, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, 141, 143, 144, 145, 146, 148, 150, 154, 155,
+ 156, 158, 159, 161, 163, 164, 165, 166, 167, 169,
+ 170, 171, 173, 174, 175, 176, 177, 178, 180, 182,
+ 183, 184, 185, 186, 187, 188, 190, 192, 195, 197,
+ 198, 199, 200, 201, 203, 204, 206, 207, 209, 212,
+ 213, 214, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 232, 233, 234, 235,
+ 237, 238, 240, 242, 243, 244, 245, 246, 247, 249,
+ 252, 253, 254, 257, 258, 260, 262, 263, 264, 265,
+ 266, 267, 268, 269, 271, 272, 273, 274, 275, 276,
+ 277, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, 305, 306, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, 320, 321,
+ 322, 323, 324, 326, 327, 328, 329, 331, 332, 333,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ 345, 347, 348, 350, 351, 352, 353, 354, 355, 357,
+ 358, 361, 362, 363, 364, 366, 367, 368, 369, 370,
+ 371, 372, 375, 376, 377, 378, 379, 382, 383, 384,
+ 385, 386, 387, 388, 390, 392, 393, 394, 395, 398,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, 414, 415, 416, 417, 418, 839, 995,
+ 1008, 1012, 1013, 391, 804, 250, 277, 774, 44, 512,
+ 843, 21, 33, 54, 67, 76, 97, 103, 118, 129,
+ 137, 149, 156, 160, 214, 252, 255, 308, 314, 323,
+ 351, 352, 354, 355, 363, 368, 374, 377, 380, 522,
+ 563, 654, 705, 716, 22, 276, 995, 839, 22, 271,
+ 321, 352, 354, 5, 199, 746, 747, 1004, 21, 33,
+ 54, 67, 80, 97, 118, 129, 137, 149, 154, 160,
+ 175, 221, 252, 263, 308, 312, 314, 320, 323, 349,
+ 351, 355, 363, 368, 380, 393, 580, 667, 774, 995,
+ 83, 391, 436, 558, 561, 564, 803, 809, 817, 820,
+ 825, 831, 838, 842, 9, 15, 22, 39, 144, 150,
+ 152, 172, 201, 233, 279, 295, 427, 428, 681, 682,
+ 839, 1003, 1007, 22, 83, 292, 319, 686, 687, 688,
+ 1008, 1008, 1000, 1004, 349, 853, 681, 1008, 361, 995,
+ 263, 221, 97, 175, 348, 349, 753, 313, 1008, 22,
+ 324, 357, 361, 472, 1008, 19, 157, 686, 687, 277,
+ 774, 1008, 198, 22, 115, 855, 55, 77, 214, 229,
+ 308, 314, 324, 357, 361, 406, 469, 470, 471, 472,
+ 22, 324, 357, 361, 472, 361, 251, 889, 993, 1008,
+ 853, 429, 1008, 153, 436, 805, 436, 988, 290, 848,
+ 849, 995, 843, 844, 847, 0, 439, 804, 130, 189,
+ 256, 373, 856, 857, 843, 845, 846, 108, 185, 379,
+ 440, 3, 38, 44, 67, 73, 84, 90, 151, 153,
+ 168, 181, 193, 194, 196, 208, 210, 231, 239, 259,
+ 261, 307, 330, 391, 1001, 1008, 1009, 1012, 1014, 669,
+ 1008, 669, 996, 1008, 280, 669, 363, 669, 995, 1008,
+ 96, 349, 694, 1001, 3, 1005, 1010, 1012, 1013, 1014,
+ 167, 993, 245, 393, 8, 62, 141, 423, 424, 425,
+ 427, 428, 429, 430, 431, 432, 744, 955, 956, 1008,
+ 22, 1005, 995, 995, 167, 993, 995, 326, 167, 889,
+ 995, 316, 995, 669, 219, 1005, 167, 993, 199, 105,
+ 195, 236, 286, 775, 776, 777, 993, 999, 1008, 21,
+ 54, 67, 68, 76, 80, 97, 118, 129, 137, 149,
+ 154, 175, 200, 221, 252, 308, 312, 314, 320, 323,
+ 349, 351, 355, 363, 368, 393, 580, 674, 1004, 993,
+ 359, 1001, 995, 436, 669, 363, 996, 669, 363, 167,
+ 995, 96, 349, 352, 354, 1005, 352, 354, 62, 141,
+ 744, 299, 1005, 167, 465, 1008, 995, 995, 316, 995,
+ 669, 219, 1005, 290, 320, 349, 393, 221, 80, 175,
+ 154, 312, 367, 574, 22, 995, 840, 479, 1004, 1010,
+ 747, 167, 1001, 995, 167, 751, 167, 996, 363, 96,
+ 349, 167, 1001, 167, 1005, 1006, 73, 393, 62, 141,
+ 167, 744, 48, 167, 1006, 167, 995, 167, 995, 167,
+ 995, 316, 167, 995, 167, 219, 1006, 199, 167, 668,
+ 669, 436, 818, 522, 809, 387, 803, 810, 811, 812,
+ 1010, 804, 1007, 682, 683, 22, 683, 1007, 683, 22,
+ 683, 1007, 683, 683, 683, 1007, 1003, 1003, 839, 683,
+ 280, 436, 436, 541, 541, 541, 250, 359, 440, 541,
+ 889, 890, 440, 770, 1004, 436, 815, 48, 393, 995,
+ 995, 993, 1008, 38, 418, 195, 438, 253, 253, 250,
+ 152, 1004, 359, 147, 677, 250, 4, 6, 7, 8,
+ 10, 30, 43, 45, 46, 53, 54, 57, 58, 65,
+ 67, 87, 88, 89, 90, 91, 92, 93, 100, 101,
+ 119, 135, 139, 140, 145, 159, 187, 188, 190, 207,
+ 215, 216, 230, 232, 236, 241, 242, 244, 252, 262,
+ 272, 287, 310, 325, 332, 345, 357, 358, 362, 364,
+ 365, 374, 380, 388, 408, 409, 410, 411, 412, 413,
+ 414, 415, 427, 428, 429, 436, 843, 905, 908, 911,
+ 912, 913, 915, 916, 917, 918, 921, 922, 926, 928,
+ 929, 930, 932, 953, 957, 976, 981, 989, 990, 991,
+ 1001, 1002, 1003, 1004, 1008, 1004, 22, 485, 992, 993,
+ 324, 469, 103, 478, 1004, 479, 1004, 38, 59, 469,
+ 418, 333, 776, 253, 152, 359, 423, 38, 418, 195,
+ 777, 436, 993, 429, 434, 438, 982, 983, 890, 151,
+ 153, 391, 800, 801, 803, 151, 806, 103, 926, 986,
+ 987, 848, 440, 436, 807, 437, 437, 445, 993, 22,
+ 115, 854, 854, 48, 854, 142, 147, 211, 248, 860,
+ 862, 863, 872, 874, 875, 876, 856, 857, 152, 191,
+ 889, 891, 988, 436, 728, 983, 264, 297, 326, 438,
+ 670, 264, 297, 326, 264, 297, 326, 400, 447, 480,
+ 481, 700, 18, 120, 264, 297, 326, 384, 492, 995,
+ 326, 18, 120, 379, 462, 404, 167, 889, 50, 82,
+ 138, 170, 206, 236, 264, 297, 305, 311, 318, 326,
+ 335, 343, 395, 480, 482, 731, 738, 436, 717, 297,
+ 462, 135, 18, 24, 64, 113, 120, 123, 177, 234,
+ 236, 246, 254, 264, 297, 300, 301, 326, 384, 490,
+ 491, 599, 4, 428, 571, 1007, 167, 993, 669, 669,
+ 436, 743, 438, 172, 454, 297, 447, 454, 250, 264,
+ 297, 135, 49, 95, 174, 222, 224, 234, 263, 297,
+ 302, 326, 337, 490, 568, 569, 264, 297, 392, 599,
+ 607, 470, 472, 135, 297, 326, 490, 227, 264, 297,
+ 301, 326, 74, 112, 265, 353, 250, 18, 24, 120,
+ 264, 297, 326, 502, 503, 147, 297, 326, 447, 481,
+ 135, 297, 326, 490, 995, 209, 105, 251, 405, 440,
+ 775, 381, 798, 250, 1001, 436, 995, 363, 96, 349,
+ 1001, 245, 393, 62, 141, 744, 995, 316, 995, 199,
+ 669, 541, 283, 507, 436, 644, 728, 60, 3, 43,
+ 45, 46, 57, 58, 100, 101, 145, 187, 188, 190,
+ 230, 232, 244, 287, 327, 332, 357, 358, 388, 902,
+ 904, 906, 908, 910, 912, 913, 914, 916, 917, 921,
+ 922, 1009, 1012, 152, 436, 640, 995, 447, 31, 793,
+ 995, 236, 447, 404, 167, 993, 447, 669, 669, 640,
+ 377, 522, 447, 236, 38, 466, 368, 606, 264, 582,
+ 74, 112, 265, 353, 20, 40, 186, 618, 31, 640,
+ 147, 447, 393, 993, 167, 559, 993, 993, 393, 669,
+ 73, 706, 1001, 995, 580, 44, 94, 184, 234, 315,
+ 135, 728, 51, 303, 493, 135, 436, 135, 404, 135,
+ 717, 135, 440, 167, 668, 167, 669, 167, 669, 135,
+ 743, 1006, 135, 135, 250, 135, 493, 135, 74, 112,
+ 265, 353, 135, 250, 135, 147, 167, 167, 479, 135,
+ 440, 493, 926, 960, 349, 437, 440, 140, 250, 365,
+ 476, 479, 571, 813, 809, 683, 839, 683, 839, 683,
+ 839, 683, 839, 683, 839, 839, 839, 683, 839, 436,
+ 542, 543, 1008, 542, 22, 97, 118, 149, 154, 199,
+ 200, 314, 320, 349, 351, 368, 689, 992, 1006, 688,
+ 172, 440, 828, 1004, 902, 963, 31, 1006, 706, 148,
+ 754, 754, 754, 209, 1008, 147, 147, 689, 1006, 313,
+ 1008, 479, 250, 436, 984, 434, 843, 964, 390, 919,
+ 926, 980, 436, 919, 919, 436, 147, 436, 436, 436,
+ 907, 907, 274, 843, 436, 436, 909, 436, 436, 436,
+ 436, 57, 58, 919, 926, 436, 907, 436, 436, 436,
+ 436, 436, 402, 422, 436, 923, 436, 923, 436, 436,
+ 843, 436, 436, 436, 436, 436, 436, 436, 436, 926,
+ 926, 843, 926, 960, 983, 1004, 58, 436, 920, 436,
+ 1004, 3, 8, 11, 28, 31, 36, 42, 66, 168,
+ 172, 193, 194, 210, 236, 239, 252, 255, 330, 423,
+ 424, 425, 427, 428, 429, 430, 431, 432, 955, 957,
+ 959, 401, 941, 261, 926, 191, 851, 440, 436, 1004,
+ 983, 106, 169, 486, 440, 59, 103, 479, 31, 3,
+ 103, 214, 477, 571, 922, 1004, 1004, 78, 117, 938,
+ 86, 103, 473, 474, 476, 571, 103, 473, 209, 993,
+ 926, 3, 22, 26, 27, 28, 29, 30, 31, 32,
+ 35, 47, 53, 54, 60, 66, 68, 76, 83, 87,
+ 88, 89, 91, 92, 93, 103, 105, 111, 115, 116,
+ 122, 126, 130, 140, 142, 147, 149, 152, 157, 160,
+ 162, 172, 179, 189, 191, 202, 205, 211, 215, 216,
+ 236, 241, 248, 250, 251, 255, 256, 270, 278, 292,
+ 304, 319, 325, 334, 346, 349, 356, 359, 360, 365,
+ 373, 374, 380, 381, 389, 396, 397, 399, 400, 429,
+ 998, 1011, 1012, 1013, 1014, 1015, 982, 79, 302, 672,
+ 437, 440, 804, 437, 440, 849, 994, 995, 31, 807,
+ 845, 845, 858, 859, 926, 845, 144, 233, 869, 197,
+ 234, 286, 328, 379, 22, 864, 926, 865, 867, 926,
+ 928, 872, 873, 863, 862, 860, 861, 147, 875, 246,
+ 877, 860, 872, 891, 993, 31, 1008, 326, 172, 182,
+ 256, 258, 327, 389, 429, 721, 722, 723, 725, 727,
+ 729, 902, 1009, 264, 297, 326, 359, 359, 314, 998,
+ 438, 359, 359, 314, 359, 359, 351, 469, 787, 147,
+ 157, 172, 306, 701, 702, 60, 76, 131, 149, 278,
+ 374, 538, 539, 76, 103, 236, 359, 76, 359, 103,
+ 236, 314, 76, 113, 123, 264, 297, 636, 314, 588,
+ 21, 54, 67, 80, 118, 129, 149, 154, 221, 252,
+ 314, 320, 323, 349, 355, 368, 393, 580, 995, 135,
+ 297, 326, 490, 250, 571, 318, 206, 359, 359, 241,
+ 571, 107, 192, 314, 324, 361, 471, 303, 326, 731,
+ 739, 437, 718, 721, 359, 380, 993, 68, 131, 529,
+ 538, 1008, 68, 76, 757, 250, 312, 363, 76, 757,
+ 25, 300, 312, 363, 993, 177, 246, 669, 436, 359,
+ 359, 166, 436, 497, 351, 400, 402, 497, 76, 440,
+ 4, 264, 135, 297, 326, 490, 381, 381, 235, 902,
+ 264, 326, 744, 97, 481, 359, 449, 481, 993, 359,
+ 359, 993, 571, 48, 570, 571, 571, 95, 222, 224,
+ 48, 359, 447, 314, 447, 234, 569, 359, 359, 241,
+ 1004, 599, 889, 76, 359, 757, 314, 22, 176, 221,
+ 350, 359, 359, 497, 497, 669, 669, 669, 669, 993,
+ 37, 386, 37, 37, 359, 37, 359, 314, 440, 93,
+ 380, 614, 1005, 359, 449, 993, 359, 314, 264, 297,
+ 286, 298, 322, 475, 775, 999, 1008, 993, 728, 902,
+ 250, 404, 717, 571, 669, 669, 743, 193, 250, 74,
+ 112, 265, 353, 250, 669, 193, 400, 513, 340, 341,
+ 508, 1004, 3, 645, 646, 640, 436, 904, 31, 30,
+ 903, 98, 165, 223, 226, 317, 416, 436, 924, 925,
+ 670, 907, 669, 641, 642, 1011, 20, 782, 902, 250,
+ 135, 585, 995, 236, 436, 448, 654, 381, 290, 393,
+ 448, 135, 1005, 83, 157, 467, 521, 565, 617, 684,
+ 704, 778, 1004, 607, 608, 995, 217, 669, 669, 669,
+ 669, 246, 108, 185, 366, 379, 619, 620, 127, 285,
+ 436, 614, 448, 993, 567, 568, 236, 31, 246, 436,
+ 541, 541, 562, 993, 147, 707, 999, 436, 719, 31,
+ 199, 400, 402, 841, 315, 1001, 493, 902, 996, 167,
+ 995, 1001, 493, 1006, 1005, 135, 493, 135, 381, 135,
+ 381, 744, 493, 493, 1006, 995, 669, 995, 995, 995,
+ 669, 1006, 614, 135, 135, 493, 668, 669, 437, 440,
+ 993, 809, 811, 839, 839, 839, 839, 839, 839, 542,
+ 437, 440, 437, 155, 321, 350, 994, 668, 96, 323,
+ 693, 694, 994, 245, 994, 992, 992, 994, 668, 359,
+ 400, 697, 16, 133, 310, 328, 829, 889, 240, 830,
+ 437, 440, 816, 820, 825, 831, 842, 359, 993, 687,
+ 686, 687, 152, 158, 698, 1008, 21, 68, 97, 118,
+ 129, 149, 154, 200, 221, 308, 314, 320, 349, 351,
+ 368, 393, 580, 678, 960, 982, 435, 960, 964, 965,
+ 436, 396, 977, 978, 926, 960, 436, 1003, 1003, 960,
+ 3, 98, 165, 223, 226, 317, 416, 966, 967, 1004,
+ 1003, 960, 960, 1003, 1003, 919, 919, 926, 744, 926,
+ 968, 427, 428, 927, 928, 953, 957, 970, 437, 960,
+ 926, 960, 971, 357, 418, 1003, 1003, 926, 47, 152,
+ 205, 360, 926, 960, 974, 960, 228, 928, 926, 936,
+ 937, 938, 228, 926, 938, 437, 440, 326, 1003, 1003,
+ 924, 902, 926, 1011, 357, 35, 346, 985, 669, 926,
+ 436, 843, 975, 115, 117, 140, 236, 241, 246, 365,
+ 375, 926, 42, 168, 172, 210, 330, 436, 926, 359,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 22, 29, 334, 954, 160, 143, 942, 310, 436, 953,
+ 156, 214, 349, 352, 354, 377, 852, 993, 152, 879,
+ 991, 22, 115, 389, 429, 437, 723, 926, 961, 962,
+ 1009, 993, 361, 436, 1004, 440, 437, 435, 441, 166,
+ 166, 493, 993, 801, 802, 993, 986, 437, 440, 436,
+ 440, 32, 111, 381, 713, 436, 866, 1007, 328, 197,
+ 251, 440, 310, 311, 868, 992, 830, 873, 861, 381,
+ 826, 103, 436, 821, 842, 1008, 436, 832, 833, 834,
+ 835, 836, 1008, 258, 48, 1009, 437, 723, 725, 722,
+ 725, 1009, 256, 437, 440, 670, 359, 359, 314, 1005,
+ 995, 995, 998, 1005, 995, 995, 1005, 996, 995, 75,
+ 788, 308, 380, 686, 314, 157, 686, 436, 995, 381,
+ 708, 197, 197, 381, 436, 557, 167, 995, 241, 1005,
+ 995, 995, 926, 241, 995, 995, 25, 300, 359, 359,
+ 995, 359, 589, 1001, 436, 669, 669, 669, 363, 96,
+ 349, 694, 393, 62, 141, 744, 995, 669, 995, 669,
+ 316, 669, 669, 199, 161, 234, 264, 297, 385, 592,
+ 593, 594, 889, 359, 757, 314, 241, 107, 192, 1005,
+ 995, 250, 995, 437, 440, 1005, 1006, 297, 490, 529,
+ 902, 995, 1008, 995, 995, 22, 380, 995, 167, 995,
+ 167, 1008, 312, 363, 312, 363, 995, 22, 380, 995,
+ 993, 18, 120, 326, 600, 601, 602, 603, 1011, 1005,
+ 995, 103, 153, 237, 381, 496, 499, 500, 1011, 995,
+ 249, 64, 249, 995, 491, 359, 993, 359, 757, 314,
+ 997, 1008, 997, 440, 437, 440, 359, 314, 996, 1005,
+ 3, 75, 125, 177, 269, 372, 380, 383, 450, 297,
+ 1005, 995, 297, 326, 490, 568, 571, 669, 995, 571,
+ 995, 571, 1005, 995, 297, 326, 490, 995, 995, 995,
+ 995, 263, 359, 263, 359, 394, 263, 359, 1005, 995,
+ 18, 24, 120, 264, 297, 326, 264, 297, 326, 640,
+ 297, 326, 297, 326, 297, 901, 1008, 167, 650, 1008,
+ 167, 1008, 1005, 995, 995, 995, 18, 503, 323, 1005,
+ 297, 326, 490, 995, 995, 359, 359, 72, 371, 286,
+ 193, 31, 669, 193, 193, 381, 381, 193, 241, 675,
+ 1004, 669, 669, 193, 675, 249, 152, 359, 506, 447,
+ 423, 437, 440, 926, 30, 903, 902, 434, 434, 359,
+ 359, 359, 436, 359, 1003, 907, 437, 440, 423, 619,
+ 75, 124, 203, 204, 217, 264, 351, 353, 783, 531,
+ 1011, 995, 152, 314, 392, 586, 593, 594, 135, 210,
+ 523, 525, 527, 529, 535, 538, 19, 172, 308, 347,
+ 450, 451, 147, 997, 393, 993, 465, 1008, 466, 255,
+ 522, 149, 1004, 640, 640, 640, 640, 246, 250, 255,
+ 436, 640, 899, 900, 901, 323, 436, 135, 134, 842,
+ 669, 523, 1008, 400, 402, 553, 400, 498, 31, 541,
+ 1004, 250, 437, 720, 721, 726, 31, 199, 305, 399,
+ 730, 731, 732, 250, 479, 164, 164, 147, 728, 31,
+ 135, 493, 717, 668, 669, 997, 669, 997, 743, 250,
+ 493, 493, 250, 493, 323, 147, 479, 493, 926, 437,
+ 543, 172, 172, 172, 404, 994, 440, 571, 572, 160,
+ 690, 691, 1005, 19, 698, 133, 328, 133, 328, 310,
+ 379, 225, 902, 995, 400, 560, 152, 250, 690, 48,
+ 493, 1001, 363, 349, 1001, 245, 393, 199, 669, 437,
+ 435, 435, 440, 960, 926, 122, 978, 979, 31, 437,
+ 926, 437, 437, 437, 437, 152, 437, 437, 437, 437,
+ 437, 440, 437, 270, 969, 437, 927, 927, 11, 172,
+ 193, 252, 423, 424, 425, 427, 428, 429, 430, 431,
+ 432, 957, 927, 437, 437, 147, 152, 972, 973, 437,
+ 418, 437, 437, 31, 974, 960, 974, 974, 152, 437,
+ 437, 1011, 268, 940, 31, 437, 440, 926, 1011, 440,
+ 926, 984, 926, 1008, 437, 437, 418, 927, 927, 128,
+ 960, 152, 115, 117, 140, 241, 246, 365, 375, 436,
+ 128, 346, 985, 926, 975, 926, 359, 744, 926, 436,
+ 843, 436, 436, 260, 946, 352, 354, 352, 354, 993,
+ 853, 853, 853, 202, 311, 436, 843, 880, 881, 882,
+ 889, 892, 929, 931, 932, 1001, 1008, 397, 897, 961,
+ 961, 962, 437, 13, 440, 856, 857, 776, 1003, 924,
+ 474, 926, 807, 995, 816, 859, 252, 955, 958, 419,
+ 420, 714, 926, 868, 379, 865, 880, 397, 898, 387,
+ 822, 823, 1008, 304, 824, 836, 837, 440, 879, 423,
+ 984, 729, 670, 725, 725, 48, 727, 431, 1005, 995,
+ 995, 211, 1006, 1006, 250, 994, 253, 250, 926, 539,
+ 997, 436, 436, 436, 557, 175, 542, 628, 135, 493,
+ 359, 1005, 995, 479, 728, 902, 995, 404, 669, 669,
+ 669, 669, 743, 74, 112, 265, 353, 995, 575, 995,
+ 161, 385, 359, 359, 575, 592, 599, 297, 326, 490,
+ 995, 995, 995, 183, 241, 721, 359, 254, 597, 628,
+ 120, 301, 326, 492, 599, 758, 135, 493, 135, 493,
+ 995, 995, 995, 995, 602, 603, 602, 437, 440, 604,
+ 1004, 175, 437, 440, 423, 438, 1005, 297, 326, 490,
+ 995, 995, 995, 264, 297, 326, 18, 120, 264, 297,
+ 326, 902, 235, 902, 1005, 995, 211, 269, 241, 1004,
+ 269, 1006, 378, 359, 359, 314, 359, 757, 314, 359,
+ 359, 48, 995, 48, 995, 263, 359, 48, 995, 219,
+ 219, 219, 359, 359, 314, 359, 359, 314, 359, 314,
+ 359, 314, 359, 493, 902, 236, 1004, 326, 758, 135,
+ 493, 359, 995, 359, 314, 1005, 995, 675, 902, 193,
+ 675, 675, 997, 997, 675, 193, 193, 675, 507, 436,
+ 509, 510, 252, 427, 428, 571, 643, 725, 958, 1004,
+ 1015, 3, 646, 437, 434, 437, 1003, 435, 1003, 165,
+ 223, 925, 223, 925, 925, 1003, 226, 437, 642, 643,
+ 250, 211, 423, 784, 784, 784, 784, 784, 784, 784,
+ 60, 66, 76, 103, 105, 179, 236, 241, 278, 292,
+ 374, 532, 533, 534, 134, 396, 447, 479, 995, 479,
+ 597, 993, 993, 437, 440, 1006, 160, 308, 1006, 1003,
+ 368, 993, 541, 38, 466, 299, 349, 96, 498, 542,
+ 993, 620, 647, 648, 1004, 437, 440, 995, 542, 993,
+ 995, 560, 436, 524, 437, 249, 497, 249, 250, 554,
+ 497, 31, 842, 498, 359, 993, 437, 440, 103, 423,
+ 733, 1004, 479, 349, 724, 725, 400, 732, 734, 108,
+ 185, 319, 379, 766, 161, 842, 493, 902, 995, 493,
+ 493, 381, 493, 381, 493, 493, 669, 669, 995, 614,
+ 493, 314, 314, 314, 994, 694, 440, 1005, 400, 440,
+ 692, 253, 133, 133, 96, 234, 1006, 689, 493, 1005,
+ 728, 717, 571, 669, 193, 964, 437, 356, 926, 126,
+ 902, 437, 926, 926, 926, 972, 902, 927, 115, 117,
+ 236, 246, 927, 927, 927, 927, 927, 927, 927, 927,
+ 927, 927, 926, 926, 973, 972, 923, 923, 902, 437,
+ 437, 437, 960, 437, 440, 48, 928, 437, 1011, 937,
+ 275, 344, 939, 437, 440, 392, 933, 31, 437, 920,
+ 1004, 926, 28, 28, 926, 437, 926, 152, 436, 963,
+ 926, 927, 927, 128, 128, 926, 437, 128, 926, 857,
+ 397, 436, 947, 1008, 853, 853, 853, 853, 993, 993,
+ 993, 843, 892, 152, 843, 881, 882, 31, 883, 884,
+ 1008, 440, 84, 153, 181, 196, 208, 231, 307, 886,
+ 884, 31, 883, 885, 1008, 421, 896, 436, 983, 926,
+ 160, 870, 440, 856, 856, 856, 926, 389, 962, 437,
+ 437, 435, 437, 436, 714, 437, 251, 86, 926, 824,
+ 437, 440, 984, 990, 437, 440, 833, 898, 986, 437,
+ 431, 729, 368, 784, 155, 321, 350, 369, 703, 147,
+ 703, 437, 436, 545, 546, 710, 931, 1008, 542, 542,
+ 628, 999, 437, 105, 179, 234, 236, 629, 995, 995,
+ 31, 995, 381, 381, 669, 669, 669, 669, 670, 1005,
+ 995, 359, 757, 314, 359, 183, 995, 436, 531, 236,
+ 497, 96, 236, 339, 342, 497, 368, 995, 1008, 601,
+ 995, 500, 643, 1011, 359, 757, 314, 359, 359, 359,
+ 314, 154, 252, 342, 652, 653, 154, 252, 660, 661,
+ 359, 359, 314, 437, 437, 437, 1007, 1004, 1004, 1004,
+ 995, 995, 995, 995, 995, 995, 995, 995, 1006, 830,
+ 1006, 830, 48, 995, 1006, 830, 147, 147, 299, 147,
+ 167, 1005, 995, 995, 1005, 995, 995, 995, 995, 995,
+ 995, 995, 66, 494, 135, 20, 40, 368, 1008, 995,
+ 599, 995, 995, 437, 675, 193, 193, 675, 675, 508,
+ 516, 517, 1011, 44, 85, 109, 124, 128, 148, 151,
+ 163, 241, 249, 284, 511, 628, 1003, 400, 402, 435,
+ 435, 437, 924, 993, 784, 103, 1003, 1004, 103, 1004,
+ 103, 1004, 103, 1004, 103, 995, 103, 995, 103, 995,
+ 436, 669, 995, 927, 106, 169, 105, 241, 197, 993,
+ 734, 282, 632, 633, 1008, 585, 436, 536, 323, 527,
+ 1006, 1006, 902, 436, 498, 1005, 993, 404, 147, 621,
+ 437, 440, 901, 597, 437, 246, 436, 818, 526, 528,
+ 530, 538, 1008, 553, 178, 552, 71, 351, 555, 842,
+ 560, 555, 1004, 708, 726, 926, 926, 440, 436, 730,
+ 640, 359, 575, 437, 493, 997, 997, 493, 493, 323,
+ 994, 994, 994, 571, 157, 691, 96, 698, 152, 193,
+ 193, 193, 193, 241, 679, 1004, 926, 437, 437, 973,
+ 152, 115, 117, 246, 436, 437, 407, 935, 960, 291,
+ 48, 398, 398, 437, 926, 234, 926, 440, 934, 904,
+ 924, 927, 927, 926, 963, 437, 28, 28, 926, 926,
+ 128, 926, 437, 437, 926, 948, 1008, 993, 993, 993,
+ 993, 884, 885, 436, 437, 1008, 436, 881, 196, 259,
+ 887, 881, 887, 196, 886, 887, 196, 436, 1008, 436,
+ 961, 48, 162, 871, 437, 437, 437, 962, 1004, 1004,
+ 744, 246, 842, 823, 423, 836, 824, 368, 437, 1007,
+ 359, 686, 152, 628, 926, 437, 440, 400, 66, 711,
+ 711, 437, 437, 734, 106, 169, 177, 105, 383, 493,
+ 902, 997, 997, 995, 995, 995, 995, 598, 602, 241,
+ 241, 1007, 1008, 902, 493, 493, 423, 995, 995, 995,
+ 995, 1005, 995, 995, 1003, 1003, 902, 440, 1003, 1003,
+ 440, 1005, 995, 995, 359, 359, 359, 1006, 830, 359,
+ 994, 994, 669, 994, 135, 669, 1004, 1004, 902, 493,
+ 493, 193, 675, 675, 381, 514, 515, 437, 440, 429,
+ 436, 476, 518, 571, 793, 1004, 793, 236, 241, 284,
+ 793, 793, 435, 154, 182, 154, 152, 627, 1007, 926,
+ 236, 533, 734, 541, 381, 556, 1001, 28, 134, 172,
+ 523, 132, 173, 995, 381, 542, 31, 466, 436, 995,
+ 121, 622, 396, 624, 1004, 498, 669, 523, 560, 437,
+ 440, 400, 554, 436, 553, 108, 120, 275, 995, 400,
+ 779, 152, 436, 1004, 723, 735, 736, 1009, 734, 993,
+ 180, 576, 493, 493, 493, 995, 253, 493, 690, 679,
+ 679, 679, 679, 927, 152, 436, 963, 436, 437, 440,
+ 437, 928, 291, 437, 386, 336, 437, 437, 437, 927,
+ 927, 926, 437, 267, 949, 893, 894, 931, 883, 436,
+ 994, 881, 250, 381, 888, 881, 196, 881, 900, 436,
+ 900, 1008, 856, 960, 926, 399, 943, 856, 924, 437,
+ 839, 988, 690, 250, 690, 437, 734, 546, 252, 744,
+ 669, 381, 669, 712, 712, 292, 734, 556, 437, 359,
+ 437, 440, 494, 643, 359, 436, 1001, 744, 653, 436,
+ 436, 661, 995, 995, 995, 359, 995, 400, 299, 400,
+ 400, 147, 494, 675, 447, 110, 517, 476, 519, 520,
+ 1004, 1004, 241, 542, 429, 542, 1004, 1004, 694, 31,
+ 749, 749, 993, 628, 437, 556, 220, 544, 175, 436,
+ 633, 282, 436, 437, 22, 70, 77, 104, 176, 342,
+ 537, 537, 597, 997, 437, 842, 597, 310, 338, 623,
+ 436, 134, 31, 524, 437, 528, 254, 555, 992, 554,
+ 311, 311, 52, 60, 214, 669, 709, 710, 725, 437,
+ 440, 897, 575, 234, 385, 577, 578, 493, 927, 963,
+ 437, 936, 960, 48, 234, 417, 48, 856, 437, 440,
+ 31, 895, 994, 437, 926, 436, 881, 888, 437, 900,
+ 437, 437, 944, 945, 1008, 437, 692, 703, 493, 711,
+ 556, 436, 669, 713, 713, 993, 556, 628, 995, 602,
+ 381, 495, 995, 963, 717, 147, 656, 743, 963, 963,
+ 830, 830, 995, 830, 668, 669, 668, 669, 994, 493,
+ 509, 1004, 437, 440, 542, 749, 34, 171, 147, 234,
+ 540, 153, 266, 331, 250, 548, 549, 550, 351, 437,
+ 1001, 5, 634, 323, 141, 655, 498, 779, 926, 282,
+ 842, 553, 552, 531, 437, 555, 60, 253, 60, 437,
+ 440, 730, 735, 116, 385, 575, 437, 437, 437, 291,
+ 386, 960, 285, 311, 950, 896, 893, 436, 437, 994,
+ 437, 440, 31, 152, 712, 397, 547, 744, 714, 714,
+ 541, 628, 926, 437, 256, 316, 289, 657, 656, 437,
+ 437, 830, 400, 520, 121, 177, 108, 379, 250, 550,
+ 250, 549, 995, 436, 437, 440, 995, 669, 31, 31,
+ 437, 1001, 779, 554, 553, 253, 253, 498, 710, 734,
+ 23, 186, 767, 42, 86, 370, 926, 951, 952, 951,
+ 437, 900, 437, 945, 947, 690, 713, 436, 628, 437,
+ 544, 1001, 48, 657, 669, 310, 51, 234, 303, 326,
+ 551, 551, 437, 5, 597, 652, 842, 436, 555, 554,
+ 555, 237, 436, 762, 764, 769, 820, 825, 831, 842,
+ 952, 310, 146, 273, 146, 273, 437, 493, 714, 926,
+ 548, 717, 669, 624, 17, 103, 241, 779, 4, 625,
+ 626, 1003, 1004, 1011, 555, 897, 763, 764, 765, 843,
+ 844, 28, 437, 628, 134, 437, 440, 437, 439, 952,
+ 282, 626, 765, 1001, 436, 625, 437
};
#define yyerrok (yyerrstatus = 0)
@@ -20406,7 +22036,7 @@ yyreduce:
{
case 2:
/* Line 1787 of yacc.c */
-#line 667 "gram.y"
+#line 722 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list);
}
@@ -20414,7 +22044,7 @@ yyreduce:
case 3:
/* Line 1787 of yacc.c */
-#line 674 "gram.y"
+#line 729 "gram.y"
{
if ((yyvsp[(3) - (3)].node) != NULL)
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
@@ -20425,7 +22055,7 @@ yyreduce:
case 4:
/* Line 1787 of yacc.c */
-#line 681 "gram.y"
+#line 736 "gram.y"
{
if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
@@ -20434,15 +22064,15 @@ yyreduce:
}
break;
- case 115:
+ case 121:
/* Line 1787 of yacc.c */
-#line 801 "gram.y"
+#line 862 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 116:
+ case 122:
/* Line 1787 of yacc.c */
-#line 812 "gram.y"
+#line 873 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_ROLE;
@@ -20452,112 +22082,112 @@ yyreduce:
}
break;
- case 117:
+ case 123:
/* Line 1787 of yacc.c */
-#line 822 "gram.y"
+#line 883 "gram.y"
{}
break;
- case 118:
+ case 124:
/* Line 1787 of yacc.c */
-#line 823 "gram.y"
+#line 884 "gram.y"
{}
break;
- case 119:
+ case 125:
/* Line 1787 of yacc.c */
-#line 832 "gram.y"
+#line 893 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 120:
+ case 126:
/* Line 1787 of yacc.c */
-#line 833 "gram.y"
+#line 894 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 121:
+ case 127:
/* Line 1787 of yacc.c */
-#line 837 "gram.y"
+#line 898 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 122:
+ case 128:
/* Line 1787 of yacc.c */
-#line 838 "gram.y"
+#line 899 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 123:
+ case 129:
/* Line 1787 of yacc.c */
-#line 843 "gram.y"
+#line 904 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeString((yyvsp[(2) - (2)].str)));
}
break;
- case 124:
+ case 130:
/* Line 1787 of yacc.c */
-#line 848 "gram.y"
+#line 909 "gram.y"
{
(yyval.defelt) = makeDefElem("password", NULL);
}
break;
- case 125:
+ case 131:
/* Line 1787 of yacc.c */
-#line 852 "gram.y"
+#line 913 "gram.y"
{
(yyval.defelt) = makeDefElem("encryptedPassword",
(Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 126:
+ case 132:
/* Line 1787 of yacc.c */
-#line 857 "gram.y"
+#line 918 "gram.y"
{
(yyval.defelt) = makeDefElem("unencryptedPassword",
(Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 127:
+ case 133:
/* Line 1787 of yacc.c */
-#line 862 "gram.y"
+#line 923 "gram.y"
{
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(TRUE));
}
break;
- case 128:
+ case 134:
/* Line 1787 of yacc.c */
-#line 866 "gram.y"
+#line 927 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(3) - (3)].ival)));
}
break;
- case 129:
+ case 135:
/* Line 1787 of yacc.c */
-#line 870 "gram.y"
+#line 931 "gram.y"
{
(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 130:
+ case 136:
/* Line 1787 of yacc.c */
-#line 875 "gram.y"
+#line 936 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list));
}
break;
- case 131:
+ case 137:
/* Line 1787 of yacc.c */
-#line 879 "gram.y"
+#line 940 "gram.y"
{
/*
* We handle identifiers that aren't parser keywords with
@@ -20610,55 +22240,55 @@ yyreduce:
}
break;
- case 132:
+ case 138:
/* Line 1787 of yacc.c */
-#line 932 "gram.y"
+#line 993 "gram.y"
{ (yyval.defelt) = (yyvsp[(1) - (1)].defelt); }
break;
- case 133:
+ case 139:
/* Line 1787 of yacc.c */
-#line 935 "gram.y"
+#line 996 "gram.y"
{
(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[(2) - (2)].ival)));
}
break;
- case 134:
+ case 140:
/* Line 1787 of yacc.c */
-#line 939 "gram.y"
+#line 1000 "gram.y"
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[(2) - (2)].list));
}
break;
- case 135:
+ case 141:
/* Line 1787 of yacc.c */
-#line 943 "gram.y"
+#line 1004 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list));
}
break;
- case 136:
+ case 142:
/* Line 1787 of yacc.c */
-#line 947 "gram.y"
+#line 1008 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list));
}
break;
- case 137:
+ case 143:
/* Line 1787 of yacc.c */
-#line 951 "gram.y"
+#line 1012 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list));
}
break;
- case 138:
+ case 144:
/* Line 1787 of yacc.c */
-#line 965 "gram.y"
+#line 1026 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_USER;
@@ -20668,9 +22298,9 @@ yyreduce:
}
break;
- case 139:
+ case 145:
/* Line 1787 of yacc.c */
-#line 983 "gram.y"
+#line 1044 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (5)].str);
@@ -20680,21 +22310,21 @@ yyreduce:
}
break;
- case 140:
+ case 146:
/* Line 1787 of yacc.c */
-#line 993 "gram.y"
+#line 1054 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 141:
+ case 147:
/* Line 1787 of yacc.c */
-#line 994 "gram.y"
+#line 1055 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); }
break;
- case 142:
+ case 148:
/* Line 1787 of yacc.c */
-#line 999 "gram.y"
+#line 1060 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[(3) - (5)].str);
@@ -20704,9 +22334,21 @@ yyreduce:
}
break;
- case 143:
+ case 149:
+/* Line 1787 of yacc.c */
+#line 1068 "gram.y"
+ {
+ AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
+ n->role = NULL;
+ n->database = (yyvsp[(4) - (5)].str);
+ n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 150:
/* Line 1787 of yacc.c */
-#line 1017 "gram.y"
+#line 1086 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (5)].str);
@@ -20716,9 +22358,9 @@ yyreduce:
}
break;
- case 144:
+ case 151:
/* Line 1787 of yacc.c */
-#line 1029 "gram.y"
+#line 1098 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[(3) - (4)].str);
@@ -20728,9 +22370,9 @@ yyreduce:
}
break;
- case 145:
+ case 152:
/* Line 1787 of yacc.c */
-#line 1050 "gram.y"
+#line 1119 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
@@ -20739,9 +22381,9 @@ yyreduce:
}
break;
- case 146:
+ case 153:
/* Line 1787 of yacc.c */
-#line 1057 "gram.y"
+#line 1126 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
@@ -20750,9 +22392,9 @@ yyreduce:
}
break;
- case 147:
+ case 154:
/* Line 1787 of yacc.c */
-#line 1076 "gram.y"
+#line 1145 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
@@ -20761,9 +22403,9 @@ yyreduce:
}
break;
- case 148:
+ case 155:
/* Line 1787 of yacc.c */
-#line 1083 "gram.y"
+#line 1152 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[(5) - (5)].list);
@@ -20772,9 +22414,9 @@ yyreduce:
}
break;
- case 149:
+ case 156:
/* Line 1787 of yacc.c */
-#line 1100 "gram.y"
+#line 1169 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_GROUP;
@@ -20784,9 +22426,9 @@ yyreduce:
}
break;
- case 150:
+ case 157:
/* Line 1787 of yacc.c */
-#line 1118 "gram.y"
+#line 1187 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (6)].str);
@@ -20797,21 +22439,21 @@ yyreduce:
}
break;
- case 151:
+ case 158:
/* Line 1787 of yacc.c */
-#line 1128 "gram.y"
+#line 1197 "gram.y"
{ (yyval.ival) = +1; }
break;
- case 152:
+ case 159:
/* Line 1787 of yacc.c */
-#line 1129 "gram.y"
+#line 1198 "gram.y"
{ (yyval.ival) = -1; }
break;
- case 153:
+ case 160:
/* Line 1787 of yacc.c */
-#line 1142 "gram.y"
+#line 1211 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
@@ -20820,9 +22462,9 @@ yyreduce:
}
break;
- case 154:
+ case 161:
/* Line 1787 of yacc.c */
-#line 1149 "gram.y"
+#line 1218 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
@@ -20831,9 +22473,9 @@ yyreduce:
}
break;
- case 155:
+ case 162:
/* Line 1787 of yacc.c */
-#line 1166 "gram.y"
+#line 1235 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* One can omit the schema name or the authorization id. */
@@ -20843,50 +22485,97 @@ yyreduce:
n->schemaname = (yyvsp[(5) - (6)].str);
n->authid = (yyvsp[(5) - (6)].str);
n->schemaElts = (yyvsp[(6) - (6)].list);
+ n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
break;
- case 156:
+ case 163:
/* Line 1787 of yacc.c */
-#line 1178 "gram.y"
+#line 1248 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* ...but not both */
n->schemaname = (yyvsp[(3) - (4)].str);
n->authid = NULL;
n->schemaElts = (yyvsp[(4) - (4)].list);
+ n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
break;
- case 157:
+ case 164:
+/* Line 1787 of yacc.c */
+#line 1258 "gram.y"
+ {
+ CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
+ /* One can omit the schema name or the authorization id. */
+ if ((yyvsp[(6) - (9)].str) != NULL)
+ n->schemaname = (yyvsp[(6) - (9)].str);
+ else
+ n->schemaname = (yyvsp[(8) - (9)].str);
+ n->authid = (yyvsp[(8) - (9)].str);
+ if ((yyvsp[(9) - (9)].list) != NIL)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
+ parser_errposition((yylsp[(9) - (9)]))));
+ n->schemaElts = (yyvsp[(9) - (9)].list);
+ n->if_not_exists = true;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 165:
+/* Line 1787 of yacc.c */
+#line 1276 "gram.y"
+ {
+ CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
+ /* ...but not both */
+ n->schemaname = (yyvsp[(6) - (7)].str);
+ n->authid = NULL;
+ if ((yyvsp[(7) - (7)].list) != NIL)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
+ parser_errposition((yylsp[(7) - (7)]))));
+ n->schemaElts = (yyvsp[(7) - (7)].list);
+ n->if_not_exists = true;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 166:
/* Line 1787 of yacc.c */
-#line 1189 "gram.y"
+#line 1293 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 158:
+ case 167:
/* Line 1787 of yacc.c */
-#line 1190 "gram.y"
+#line 1294 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 159:
+ case 168:
/* Line 1787 of yacc.c */
-#line 1194 "gram.y"
- { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
+#line 1299 "gram.y"
+ {
+ if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */
+ (yyloc) = (yylsp[(2) - (2)]);
+ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node));
+ }
break;
- case 160:
+ case 169:
/* Line 1787 of yacc.c */
-#line 1195 "gram.y"
+#line 1305 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 167:
+ case 176:
/* Line 1787 of yacc.c */
-#line 1223 "gram.y"
+#line 1333 "gram.y"
{
VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt);
n->is_local = false;
@@ -20894,9 +22583,9 @@ yyreduce:
}
break;
- case 168:
+ case 177:
/* Line 1787 of yacc.c */
-#line 1229 "gram.y"
+#line 1339 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = true;
@@ -20904,9 +22593,9 @@ yyreduce:
}
break;
- case 169:
+ case 178:
/* Line 1787 of yacc.c */
-#line 1235 "gram.y"
+#line 1345 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = false;
@@ -20914,9 +22603,9 @@ yyreduce:
}
break;
- case 170:
+ case 179:
/* Line 1787 of yacc.c */
-#line 1244 "gram.y"
+#line 1354 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
@@ -20926,9 +22615,9 @@ yyreduce:
}
break;
- case 171:
+ case 180:
/* Line 1787 of yacc.c */
-#line 1252 "gram.y"
+#line 1362 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
@@ -20938,9 +22627,9 @@ yyreduce:
}
break;
- case 173:
+ case 182:
/* Line 1787 of yacc.c */
-#line 1264 "gram.y"
+#line 1374 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -20950,9 +22639,9 @@ yyreduce:
}
break;
- case 174:
+ case 183:
/* Line 1787 of yacc.c */
-#line 1272 "gram.y"
+#line 1382 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -20962,9 +22651,9 @@ yyreduce:
}
break;
- case 175:
+ case 184:
/* Line 1787 of yacc.c */
-#line 1280 "gram.y"
+#line 1390 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
@@ -20973,9 +22662,9 @@ yyreduce:
}
break;
- case 176:
+ case 185:
/* Line 1787 of yacc.c */
-#line 1287 "gram.y"
+#line 1397 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
@@ -20984,9 +22673,15 @@ yyreduce:
}
break;
- case 177:
+ case 186:
/* Line 1787 of yacc.c */
-#line 1294 "gram.y"
+#line 1405 "gram.y"
+ {(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);}
+ break;
+
+ case 187:
+/* Line 1787 of yacc.c */
+#line 1407 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
@@ -20995,9 +22690,9 @@ yyreduce:
}
break;
- case 178:
+ case 188:
/* Line 1787 of yacc.c */
-#line 1302 "gram.y"
+#line 1415 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -21010,9 +22705,9 @@ yyreduce:
}
break;
- case 179:
+ case 189:
/* Line 1787 of yacc.c */
-#line 1313 "gram.y"
+#line 1426 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
@@ -21022,9 +22717,9 @@ yyreduce:
}
break;
- case 180:
+ case 190:
/* Line 1787 of yacc.c */
-#line 1321 "gram.y"
+#line 1434 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -21034,9 +22729,9 @@ yyreduce:
}
break;
- case 181:
+ case 191:
/* Line 1787 of yacc.c */
-#line 1329 "gram.y"
+#line 1442 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -21049,9 +22744,9 @@ yyreduce:
}
break;
- case 182:
+ case 192:
/* Line 1787 of yacc.c */
-#line 1340 "gram.y"
+#line 1453 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -21061,9 +22756,9 @@ yyreduce:
}
break;
- case 183:
+ case 193:
/* Line 1787 of yacc.c */
-#line 1348 "gram.y"
+#line 1461 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -21073,9 +22768,9 @@ yyreduce:
}
break;
- case 184:
+ case 194:
/* Line 1787 of yacc.c */
-#line 1356 "gram.y"
+#line 1469 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
@@ -21084,9 +22779,9 @@ yyreduce:
}
break;
- case 185:
+ case 195:
/* Line 1787 of yacc.c */
-#line 1363 "gram.y"
+#line 1476 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -21096,9 +22791,9 @@ yyreduce:
}
break;
- case 186:
+ case 196:
/* Line 1787 of yacc.c */
-#line 1372 "gram.y"
+#line 1485 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
@@ -21108,112 +22803,109 @@ yyreduce:
}
break;
- case 187:
+ case 197:
/* Line 1787 of yacc.c */
-#line 1381 "gram.y"
+#line 1494 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 188:
+ case 198:
/* Line 1787 of yacc.c */
-#line 1383 "gram.y"
- {
- (yyval.str) = palloc(strlen((yyvsp[(1) - (3)].str)) + strlen((yyvsp[(3) - (3)].str)) + 2);
- sprintf((yyval.str), "%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
- }
+#line 1496 "gram.y"
+ { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); }
break;
- case 189:
+ case 199:
/* Line 1787 of yacc.c */
-#line 1389 "gram.y"
+#line 1499 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 190:
+ case 200:
/* Line 1787 of yacc.c */
-#line 1390 "gram.y"
+#line 1500 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 191:
+ case 201:
/* Line 1787 of yacc.c */
-#line 1394 "gram.y"
+#line 1504 "gram.y"
{ (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); }
break;
- case 192:
+ case 202:
/* Line 1787 of yacc.c */
-#line 1396 "gram.y"
+#line 1506 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); }
break;
- case 193:
+ case 203:
/* Line 1787 of yacc.c */
-#line 1399 "gram.y"
+#line 1509 "gram.y"
{ (yyval.str) = "read uncommitted"; }
break;
- case 194:
+ case 204:
/* Line 1787 of yacc.c */
-#line 1400 "gram.y"
+#line 1510 "gram.y"
{ (yyval.str) = "read committed"; }
break;
- case 195:
+ case 205:
/* Line 1787 of yacc.c */
-#line 1401 "gram.y"
+#line 1511 "gram.y"
{ (yyval.str) = "repeatable read"; }
break;
- case 196:
+ case 206:
/* Line 1787 of yacc.c */
-#line 1402 "gram.y"
+#line 1512 "gram.y"
{ (yyval.str) = "serializable"; }
break;
- case 197:
+ case 207:
/* Line 1787 of yacc.c */
-#line 1406 "gram.y"
+#line 1516 "gram.y"
{ (yyval.str) = "true"; }
break;
- case 198:
+ case 208:
/* Line 1787 of yacc.c */
-#line 1407 "gram.y"
+#line 1517 "gram.y"
{ (yyval.str) = "false"; }
break;
- case 199:
+ case 209:
/* Line 1787 of yacc.c */
-#line 1408 "gram.y"
+#line 1518 "gram.y"
{ (yyval.str) = "on"; }
break;
- case 200:
+ case 210:
/* Line 1787 of yacc.c */
-#line 1414 "gram.y"
+#line 1524 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 201:
+ case 211:
/* Line 1787 of yacc.c */
-#line 1427 "gram.y"
+#line 1537 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
}
break;
- case 202:
+ case 212:
/* Line 1787 of yacc.c */
-#line 1431 "gram.y"
+#line 1541 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
}
break;
- case 203:
+ case 213:
/* Line 1787 of yacc.c */
-#line 1435 "gram.y"
+#line 1545 "gram.y"
{
TypeName *t = (yyvsp[(1) - (3)].typnam);
if ((yyvsp[(3) - (3)].list) != NIL)
@@ -21230,9 +22922,9 @@ yyreduce:
}
break;
- case 204:
+ case 214:
/* Line 1787 of yacc.c */
-#line 1450 "gram.y"
+#line 1560 "gram.y"
{
TypeName *t = (yyvsp[(1) - (6)].typnam);
if ((yyvsp[(6) - (6)].list) != NIL)
@@ -21257,57 +22949,57 @@ yyreduce:
}
break;
- case 205:
+ case 215:
/* Line 1787 of yacc.c */
-#line 1472 "gram.y"
+#line 1582 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); }
break;
- case 206:
+ case 216:
/* Line 1787 of yacc.c */
-#line 1473 "gram.y"
+#line 1583 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 207:
+ case 217:
/* Line 1787 of yacc.c */
-#line 1474 "gram.y"
+#line 1584 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 208:
+ case 218:
/* Line 1787 of yacc.c */
-#line 1478 "gram.y"
+#line 1588 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 209:
+ case 219:
/* Line 1787 of yacc.c */
-#line 1479 "gram.y"
+#line 1589 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 210:
+ case 220:
/* Line 1787 of yacc.c */
-#line 1480 "gram.y"
+#line 1590 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 211:
+ case 221:
/* Line 1787 of yacc.c */
-#line 1484 "gram.y"
+#line 1594 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 212:
+ case 222:
/* Line 1787 of yacc.c */
-#line 1485 "gram.y"
+#line 1595 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 213:
+ case 223:
/* Line 1787 of yacc.c */
-#line 1490 "gram.y"
+#line 1600 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
@@ -21316,9 +23008,9 @@ yyreduce:
}
break;
- case 214:
+ case 224:
/* Line 1787 of yacc.c */
-#line 1497 "gram.y"
+#line 1607 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
@@ -21327,9 +23019,9 @@ yyreduce:
}
break;
- case 215:
+ case 225:
/* Line 1787 of yacc.c */
-#line 1504 "gram.y"
+#line 1614 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
@@ -21338,9 +23030,9 @@ yyreduce:
}
break;
- case 216:
+ case 226:
/* Line 1787 of yacc.c */
-#line 1511 "gram.y"
+#line 1621 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
@@ -21349,9 +23041,9 @@ yyreduce:
}
break;
- case 217:
+ case 227:
/* Line 1787 of yacc.c */
-#line 1518 "gram.y"
+#line 1628 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
@@ -21359,33 +23051,33 @@ yyreduce:
}
break;
- case 218:
+ case 228:
/* Line 1787 of yacc.c */
-#line 1527 "gram.y"
+#line 1637 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); }
break;
- case 219:
+ case 229:
/* Line 1787 of yacc.c */
-#line 1528 "gram.y"
+#line 1638 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); }
break;
- case 220:
+ case 230:
/* Line 1787 of yacc.c */
-#line 1533 "gram.y"
+#line 1643 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); }
break;
- case 221:
+ case 231:
/* Line 1787 of yacc.c */
-#line 1534 "gram.y"
+#line 1644 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); }
break;
- case 222:
+ case 232:
/* Line 1787 of yacc.c */
-#line 1540 "gram.y"
+#line 1650 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[(2) - (2)].str);
@@ -21393,9 +23085,9 @@ yyreduce:
}
break;
- case 223:
+ case 233:
/* Line 1787 of yacc.c */
-#line 1546 "gram.y"
+#line 1656 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
@@ -21403,9 +23095,9 @@ yyreduce:
}
break;
- case 224:
+ case 234:
/* Line 1787 of yacc.c */
-#line 1552 "gram.y"
+#line 1662 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
@@ -21413,9 +23105,9 @@ yyreduce:
}
break;
- case 225:
+ case 235:
/* Line 1787 of yacc.c */
-#line 1558 "gram.y"
+#line 1668 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
@@ -21423,9 +23115,9 @@ yyreduce:
}
break;
- case 226:
+ case 236:
/* Line 1787 of yacc.c */
-#line 1564 "gram.y"
+#line 1674 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
@@ -21433,9 +23125,9 @@ yyreduce:
}
break;
- case 227:
+ case 237:
/* Line 1787 of yacc.c */
-#line 1574 "gram.y"
+#line 1684 "gram.y"
{
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
n->constraints = (yyvsp[(3) - (4)].list);
@@ -21444,42 +23136,42 @@ yyreduce:
}
break;
- case 228:
+ case 238:
/* Line 1787 of yacc.c */
-#line 1583 "gram.y"
+#line 1693 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 229:
+ case 239:
/* Line 1787 of yacc.c */
-#line 1584 "gram.y"
+#line 1694 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 230:
+ case 240:
/* Line 1787 of yacc.c */
-#line 1588 "gram.y"
+#line 1698 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 231:
+ case 241:
/* Line 1787 of yacc.c */
-#line 1589 "gram.y"
+#line 1699 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 232:
+ case 242:
/* Line 1787 of yacc.c */
-#line 1598 "gram.y"
+#line 1708 "gram.y"
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *)n;
}
break;
- case 233:
+ case 243:
/* Line 1787 of yacc.c */
-#line 1613 "gram.y"
+#line 1723 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
@@ -21487,9 +23179,9 @@ yyreduce:
}
break;
- case 234:
+ case 244:
/* Line 1787 of yacc.c */
-#line 1619 "gram.y"
+#line 1729 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
@@ -21497,9 +23189,9 @@ yyreduce:
}
break;
- case 235:
+ case 245:
/* Line 1787 of yacc.c */
-#line 1625 "gram.y"
+#line 1735 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
@@ -21507,9 +23199,9 @@ yyreduce:
}
break;
- case 236:
+ case 246:
/* Line 1787 of yacc.c */
-#line 1631 "gram.y"
+#line 1741 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
@@ -21517,9 +23209,19 @@ yyreduce:
}
break;
- case 237:
+ case 247:
+/* Line 1787 of yacc.c */
+#line 1747 "gram.y"
+ {
+ DiscardStmt *n = makeNode(DiscardStmt);
+ n->target = DISCARD_SEQUENCES;
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 248:
/* Line 1787 of yacc.c */
-#line 1649 "gram.y"
+#line 1766 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
@@ -21530,9 +23232,9 @@ yyreduce:
}
break;
- case 238:
+ case 249:
/* Line 1787 of yacc.c */
-#line 1658 "gram.y"
+#line 1775 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
@@ -21543,9 +23245,9 @@ yyreduce:
}
break;
- case 239:
+ case 250:
/* Line 1787 of yacc.c */
-#line 1667 "gram.y"
+#line 1784 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
@@ -21556,9 +23258,9 @@ yyreduce:
}
break;
- case 240:
+ case 251:
/* Line 1787 of yacc.c */
-#line 1676 "gram.y"
+#line 1793 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
@@ -21569,9 +23271,9 @@ yyreduce:
}
break;
- case 241:
+ case 252:
/* Line 1787 of yacc.c */
-#line 1685 "gram.y"
+#line 1802 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
@@ -21582,9 +23284,9 @@ yyreduce:
}
break;
- case 242:
+ case 253:
/* Line 1787 of yacc.c */
-#line 1694 "gram.y"
+#line 1811 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
@@ -21595,9 +23297,9 @@ yyreduce:
}
break;
- case 243:
+ case 254:
/* Line 1787 of yacc.c */
-#line 1703 "gram.y"
+#line 1820 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
@@ -21608,9 +23310,9 @@ yyreduce:
}
break;
- case 244:
+ case 255:
/* Line 1787 of yacc.c */
-#line 1712 "gram.y"
+#line 1829 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
@@ -21621,21 +23323,47 @@ yyreduce:
}
break;
- case 245:
+ case 256:
/* Line 1787 of yacc.c */
-#line 1723 "gram.y"
+#line 1838 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+ n->relation = (yyvsp[(4) - (5)].range);
+ n->cmds = (yyvsp[(5) - (5)].list);
+ n->relkind = OBJECT_MATVIEW;
+ n->missing_ok = false;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 257:
+/* Line 1787 of yacc.c */
+#line 1847 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+ n->relation = (yyvsp[(6) - (7)].range);
+ n->cmds = (yyvsp[(7) - (7)].list);
+ n->relkind = OBJECT_MATVIEW;
+ n->missing_ok = true;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 258:
+/* Line 1787 of yacc.c */
+#line 1858 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 246:
+ case 259:
/* Line 1787 of yacc.c */
-#line 1724 "gram.y"
+#line 1859 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 247:
+ case 260:
/* Line 1787 of yacc.c */
-#line 1730 "gram.y"
+#line 1865 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
@@ -21644,9 +23372,9 @@ yyreduce:
}
break;
- case 248:
+ case 261:
/* Line 1787 of yacc.c */
-#line 1738 "gram.y"
+#line 1873 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
@@ -21655,9 +23383,9 @@ yyreduce:
}
break;
- case 249:
+ case 262:
/* Line 1787 of yacc.c */
-#line 1746 "gram.y"
+#line 1881 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ColumnDefault;
@@ -21667,9 +23395,9 @@ yyreduce:
}
break;
- case 250:
+ case 263:
/* Line 1787 of yacc.c */
-#line 1755 "gram.y"
+#line 1890 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
@@ -21678,9 +23406,9 @@ yyreduce:
}
break;
- case 251:
+ case 264:
/* Line 1787 of yacc.c */
-#line 1763 "gram.y"
+#line 1898 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
@@ -21689,9 +23417,9 @@ yyreduce:
}
break;
- case 252:
+ case 265:
/* Line 1787 of yacc.c */
-#line 1771 "gram.y"
+#line 1906 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStatistics;
@@ -21701,9 +23429,9 @@ yyreduce:
}
break;
- case 253:
+ case 266:
/* Line 1787 of yacc.c */
-#line 1780 "gram.y"
+#line 1915 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetOptions;
@@ -21713,9 +23441,9 @@ yyreduce:
}
break;
- case 254:
+ case 267:
/* Line 1787 of yacc.c */
-#line 1789 "gram.y"
+#line 1924 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetOptions;
@@ -21725,9 +23453,9 @@ yyreduce:
}
break;
- case 255:
+ case 268:
/* Line 1787 of yacc.c */
-#line 1798 "gram.y"
+#line 1933 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStorage;
@@ -21737,9 +23465,9 @@ yyreduce:
}
break;
- case 256:
+ case 269:
/* Line 1787 of yacc.c */
-#line 1807 "gram.y"
+#line 1942 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
@@ -21750,9 +23478,9 @@ yyreduce:
}
break;
- case 257:
+ case 270:
/* Line 1787 of yacc.c */
-#line 1817 "gram.y"
+#line 1952 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
@@ -21763,26 +23491,27 @@ yyreduce:
}
break;
- case 258:
+ case 271:
/* Line 1787 of yacc.c */
-#line 1830 "gram.y"
+#line 1965 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
ColumnDef *def = makeNode(ColumnDef);
n->subtype = AT_AlterColumnType;
n->name = (yyvsp[(3) - (8)].str);
n->def = (Node *) def;
- /* We only use these three fields of the ColumnDef node */
+ /* We only use these fields of the ColumnDef node */
def->typeName = (yyvsp[(6) - (8)].typnam);
def->collClause = (CollateClause *) (yyvsp[(7) - (8)].node);
def->raw_default = (yyvsp[(8) - (8)].node);
+ def->location = (yylsp[(3) - (8)]);
(yyval.node) = (Node *)n;
}
break;
- case 259:
+ case 272:
/* Line 1787 of yacc.c */
-#line 1844 "gram.y"
+#line 1980 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AlterColumnGenericOptions;
@@ -21792,9 +23521,9 @@ yyreduce:
}
break;
- case 260:
+ case 273:
/* Line 1787 of yacc.c */
-#line 1853 "gram.y"
+#line 1989 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
@@ -21803,9 +23532,27 @@ yyreduce:
}
break;
- case 261:
+ case 274:
+/* Line 1787 of yacc.c */
+#line 1997 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ Constraint *c = makeNode(Constraint);
+ n->subtype = AT_AlterConstraint;
+ n->def = (Node *) c;
+ c->contype = CONSTR_FOREIGN; /* others not supported, yet */
+ c->conname = (yyvsp[(3) - (4)].str);
+ processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "ALTER CONSTRAINT statement",
+ &c->deferrable,
+ &c->initdeferred,
+ NULL, NULL, yyscanner);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 275:
/* Line 1787 of yacc.c */
-#line 1861 "gram.y"
+#line 2012 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ValidateConstraint;
@@ -21814,9 +23561,9 @@ yyreduce:
}
break;
- case 262:
+ case 276:
/* Line 1787 of yacc.c */
-#line 1869 "gram.y"
+#line 2020 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropConstraint;
@@ -21827,9 +23574,9 @@ yyreduce:
}
break;
- case 263:
+ case 277:
/* Line 1787 of yacc.c */
-#line 1879 "gram.y"
+#line 2030 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropConstraint;
@@ -21840,9 +23587,9 @@ yyreduce:
}
break;
- case 264:
+ case 278:
/* Line 1787 of yacc.c */
-#line 1889 "gram.y"
+#line 2040 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddOids;
@@ -21850,9 +23597,9 @@ yyreduce:
}
break;
- case 265:
+ case 279:
/* Line 1787 of yacc.c */
-#line 1896 "gram.y"
+#line 2047 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
@@ -21860,9 +23607,9 @@ yyreduce:
}
break;
- case 266:
+ case 280:
/* Line 1787 of yacc.c */
-#line 1903 "gram.y"
+#line 2054 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
@@ -21871,9 +23618,9 @@ yyreduce:
}
break;
- case 267:
+ case 281:
/* Line 1787 of yacc.c */
-#line 1911 "gram.y"
+#line 2062 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
@@ -21882,9 +23629,9 @@ yyreduce:
}
break;
- case 268:
+ case 282:
/* Line 1787 of yacc.c */
-#line 1919 "gram.y"
+#line 2070 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
@@ -21893,9 +23640,9 @@ yyreduce:
}
break;
- case 269:
+ case 283:
/* Line 1787 of yacc.c */
-#line 1927 "gram.y"
+#line 2078 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
@@ -21904,9 +23651,9 @@ yyreduce:
}
break;
- case 270:
+ case 284:
/* Line 1787 of yacc.c */
-#line 1935 "gram.y"
+#line 2086 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
@@ -21915,9 +23662,9 @@ yyreduce:
}
break;
- case 271:
+ case 285:
/* Line 1787 of yacc.c */
-#line 1943 "gram.y"
+#line 2094 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
@@ -21925,9 +23672,9 @@ yyreduce:
}
break;
- case 272:
+ case 286:
/* Line 1787 of yacc.c */
-#line 1950 "gram.y"
+#line 2101 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
@@ -21935,9 +23682,9 @@ yyreduce:
}
break;
- case 273:
+ case 287:
/* Line 1787 of yacc.c */
-#line 1957 "gram.y"
+#line 2108 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
@@ -21946,9 +23693,9 @@ yyreduce:
}
break;
- case 274:
+ case 288:
/* Line 1787 of yacc.c */
-#line 1965 "gram.y"
+#line 2116 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
@@ -21956,9 +23703,9 @@ yyreduce:
}
break;
- case 275:
+ case 289:
/* Line 1787 of yacc.c */
-#line 1972 "gram.y"
+#line 2123 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
@@ -21966,9 +23713,9 @@ yyreduce:
}
break;
- case 276:
+ case 290:
/* Line 1787 of yacc.c */
-#line 1979 "gram.y"
+#line 2130 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
@@ -21977,9 +23724,9 @@ yyreduce:
}
break;
- case 277:
+ case 291:
/* Line 1787 of yacc.c */
-#line 1987 "gram.y"
+#line 2138 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
@@ -21988,9 +23735,9 @@ yyreduce:
}
break;
- case 278:
+ case 292:
/* Line 1787 of yacc.c */
-#line 1995 "gram.y"
+#line 2146 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
@@ -21999,9 +23746,9 @@ yyreduce:
}
break;
- case 279:
+ case 293:
/* Line 1787 of yacc.c */
-#line 2003 "gram.y"
+#line 2154 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
@@ -22010,9 +23757,9 @@ yyreduce:
}
break;
- case 280:
+ case 294:
/* Line 1787 of yacc.c */
-#line 2011 "gram.y"
+#line 2162 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
@@ -22021,9 +23768,9 @@ yyreduce:
}
break;
- case 281:
+ case 295:
/* Line 1787 of yacc.c */
-#line 2019 "gram.y"
+#line 2170 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
@@ -22032,9 +23779,9 @@ yyreduce:
}
break;
- case 282:
+ case 296:
/* Line 1787 of yacc.c */
-#line 2027 "gram.y"
+#line 2178 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
TypeName *def = makeTypeNameFromNameList((yyvsp[(2) - (2)].list));
@@ -22045,9 +23792,9 @@ yyreduce:
}
break;
- case 283:
+ case 297:
/* Line 1787 of yacc.c */
-#line 2037 "gram.y"
+#line 2188 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOf;
@@ -22055,9 +23802,9 @@ yyreduce:
}
break;
- case 284:
+ case 298:
/* Line 1787 of yacc.c */
-#line 2044 "gram.y"
+#line 2195 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
@@ -22066,9 +23813,9 @@ yyreduce:
}
break;
- case 285:
+ case 299:
/* Line 1787 of yacc.c */
-#line 2052 "gram.y"
+#line 2203 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
@@ -22077,9 +23824,9 @@ yyreduce:
}
break;
- case 286:
+ case 300:
/* Line 1787 of yacc.c */
-#line 2060 "gram.y"
+#line 2211 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
@@ -22088,9 +23835,9 @@ yyreduce:
}
break;
- case 287:
+ case 301:
/* Line 1787 of yacc.c */
-#line 2068 "gram.y"
+#line 2219 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
@@ -22099,9 +23846,20 @@ yyreduce:
}
break;
- case 288:
+ case 302:
+/* Line 1787 of yacc.c */
+#line 2227 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ n->subtype = AT_ReplicaIdentity;
+ n->def = (yyvsp[(3) - (3)].node);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 303:
/* Line 1787 of yacc.c */
-#line 2075 "gram.y"
+#line 2234 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_GenericOptions;
@@ -22110,39 +23868,39 @@ yyreduce:
}
break;
- case 289:
+ case 304:
/* Line 1787 of yacc.c */
-#line 2084 "gram.y"
+#line 2243 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (3)].node); }
break;
- case 290:
+ case 305:
/* Line 1787 of yacc.c */
-#line 2085 "gram.y"
+#line 2244 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 291:
+ case 306:
/* Line 1787 of yacc.c */
-#line 2089 "gram.y"
+#line 2248 "gram.y"
{ (yyval.dbehavior) = DROP_CASCADE; }
break;
- case 292:
+ case 307:
/* Line 1787 of yacc.c */
-#line 2090 "gram.y"
+#line 2249 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; }
break;
- case 293:
+ case 308:
/* Line 1787 of yacc.c */
-#line 2091 "gram.y"
+#line 2250 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
break;
- case 294:
+ case 309:
/* Line 1787 of yacc.c */
-#line 2096 "gram.y"
+#line 2255 "gram.y"
{
CollateClause *n = makeNode(CollateClause);
n->arg = NULL;
@@ -22152,90 +23910,134 @@ yyreduce:
}
break;
- case 295:
+ case 310:
/* Line 1787 of yacc.c */
-#line 2103 "gram.y"
+#line 2262 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 296:
+ case 311:
/* Line 1787 of yacc.c */
-#line 2107 "gram.y"
+#line 2266 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 297:
+ case 312:
/* Line 1787 of yacc.c */
-#line 2108 "gram.y"
+#line 2267 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 298:
+ case 313:
+/* Line 1787 of yacc.c */
+#line 2272 "gram.y"
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+ n->identity_type = REPLICA_IDENTITY_NOTHING;
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 314:
+/* Line 1787 of yacc.c */
+#line 2279 "gram.y"
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+ n->identity_type = REPLICA_IDENTITY_FULL;
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 315:
+/* Line 1787 of yacc.c */
+#line 2286 "gram.y"
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+ n->identity_type = REPLICA_IDENTITY_DEFAULT;
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 316:
+/* Line 1787 of yacc.c */
+#line 2293 "gram.y"
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+ n->identity_type = REPLICA_IDENTITY_INDEX;
+ n->name = (yyvsp[(3) - (3)].str);
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 317:
/* Line 1787 of yacc.c */
-#line 2112 "gram.y"
+#line 2302 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 299:
+ case 318:
/* Line 1787 of yacc.c */
-#line 2115 "gram.y"
+#line 2305 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 300:
+ case 319:
/* Line 1787 of yacc.c */
-#line 2116 "gram.y"
+#line 2306 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 301:
+ case 320:
/* Line 1787 of yacc.c */
-#line 2120 "gram.y"
+#line 2310 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 302:
+ case 321:
/* Line 1787 of yacc.c */
-#line 2121 "gram.y"
+#line 2311 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
break;
- case 303:
+ case 322:
/* Line 1787 of yacc.c */
-#line 2127 "gram.y"
+#line 2317 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node));
}
break;
- case 304:
+ case 323:
/* Line 1787 of yacc.c */
-#line 2131 "gram.y"
+#line 2321 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL);
}
break;
- case 305:
+ case 324:
/* Line 1787 of yacc.c */
-#line 2135 "gram.y"
+#line 2325 "gram.y"
{
(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (Node *) (yyvsp[(5) - (5)].node),
DEFELEM_UNSPEC);
}
break;
- case 306:
+ case 325:
/* Line 1787 of yacc.c */
-#line 2140 "gram.y"
+#line 2330 "gram.y"
{
(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC);
}
break;
- case 307:
+ case 326:
/* Line 1787 of yacc.c */
-#line 2155 "gram.y"
+#line 2345 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
@@ -22247,21 +24049,21 @@ yyreduce:
}
break;
- case 308:
+ case 327:
/* Line 1787 of yacc.c */
-#line 2167 "gram.y"
+#line 2357 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 309:
+ case 328:
/* Line 1787 of yacc.c */
-#line 2168 "gram.y"
+#line 2358 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 310:
+ case 329:
/* Line 1787 of yacc.c */
-#line 2174 "gram.y"
+#line 2364 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
@@ -22271,9 +24073,9 @@ yyreduce:
}
break;
- case 311:
+ case 330:
/* Line 1787 of yacc.c */
-#line 2183 "gram.y"
+#line 2373 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
@@ -22284,9 +24086,9 @@ yyreduce:
}
break;
- case 312:
+ case 331:
/* Line 1787 of yacc.c */
-#line 2193 "gram.y"
+#line 2383 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
@@ -22297,9 +24099,9 @@ yyreduce:
}
break;
- case 313:
+ case 332:
/* Line 1787 of yacc.c */
-#line 2203 "gram.y"
+#line 2393 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
ColumnDef *def = makeNode(ColumnDef);
@@ -22307,17 +24109,18 @@ yyreduce:
n->name = (yyvsp[(3) - (8)].str);
n->def = (Node *) def;
n->behavior = (yyvsp[(8) - (8)].dbehavior);
- /* We only use these three fields of the ColumnDef node */
+ /* We only use these fields of the ColumnDef node */
def->typeName = (yyvsp[(6) - (8)].typnam);
def->collClause = (CollateClause *) (yyvsp[(7) - (8)].node);
def->raw_default = NULL;
+ def->location = (yylsp[(3) - (8)]);
(yyval.node) = (Node *)n;
}
break;
- case 314:
+ case 333:
/* Line 1787 of yacc.c */
-#line 2228 "gram.y"
+#line 2419 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[(2) - (2)].str);
@@ -22325,9 +24128,9 @@ yyreduce:
}
break;
- case 315:
+ case 334:
/* Line 1787 of yacc.c */
-#line 2234 "gram.y"
+#line 2425 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
@@ -22335,329 +24138,372 @@ yyreduce:
}
break;
- case 316:
+ case 335:
/* Line 1787 of yacc.c */
-#line 2262 "gram.y"
+#line 2456 "gram.y"
{
CopyStmt *n = makeNode(CopyStmt);
- n->relation = (yyvsp[(3) - (10)].range);
+ n->relation = (yyvsp[(3) - (11)].range);
n->query = NULL;
- n->attlist = (yyvsp[(4) - (10)].list);
- n->is_from = (yyvsp[(6) - (10)].boolean);
- n->filename = (yyvsp[(7) - (10)].str);
+ n->attlist = (yyvsp[(4) - (11)].list);
+ n->is_from = (yyvsp[(6) - (11)].boolean);
+ n->is_program = (yyvsp[(7) - (11)].boolean);
+ n->filename = (yyvsp[(8) - (11)].str);
+
+ if (n->is_program && n->filename == NULL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("STDIN/STDOUT not allowed with PROGRAM"),
+ parser_errposition((yylsp[(8) - (11)]))));
n->options = NIL;
/* Concatenate user-supplied flags */
- if ((yyvsp[(2) - (10)].defelt))
- n->options = lappend(n->options, (yyvsp[(2) - (10)].defelt));
- if ((yyvsp[(5) - (10)].defelt))
- n->options = lappend(n->options, (yyvsp[(5) - (10)].defelt));
- if ((yyvsp[(8) - (10)].defelt))
- n->options = lappend(n->options, (yyvsp[(8) - (10)].defelt));
- if ((yyvsp[(10) - (10)].list))
- n->options = list_concat(n->options, (yyvsp[(10) - (10)].list));
+ if ((yyvsp[(2) - (11)].defelt))
+ n->options = lappend(n->options, (yyvsp[(2) - (11)].defelt));
+ if ((yyvsp[(5) - (11)].defelt))
+ n->options = lappend(n->options, (yyvsp[(5) - (11)].defelt));
+ if ((yyvsp[(9) - (11)].defelt))
+ n->options = lappend(n->options, (yyvsp[(9) - (11)].defelt));
+ if ((yyvsp[(11) - (11)].list))
+ n->options = list_concat(n->options, (yyvsp[(11) - (11)].list));
(yyval.node) = (Node *)n;
}
break;
- case 317:
+ case 336:
/* Line 1787 of yacc.c */
-#line 2283 "gram.y"
+#line 2484 "gram.y"
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = NULL;
- n->query = (yyvsp[(2) - (6)].node);
+ n->query = (yyvsp[(2) - (7)].node);
n->attlist = NIL;
n->is_from = false;
- n->filename = (yyvsp[(4) - (6)].str);
- n->options = (yyvsp[(6) - (6)].list);
+ n->is_program = (yyvsp[(4) - (7)].boolean);
+ n->filename = (yyvsp[(5) - (7)].str);
+ n->options = (yyvsp[(7) - (7)].list);
+
+ if (n->is_program && n->filename == NULL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("STDIN/STDOUT not allowed with PROGRAM"),
+ parser_errposition((yylsp[(5) - (7)]))));
+
(yyval.node) = (Node *)n;
}
break;
- case 318:
+ case 337:
/* Line 1787 of yacc.c */
-#line 2296 "gram.y"
+#line 2505 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 319:
+ case 338:
/* Line 1787 of yacc.c */
-#line 2297 "gram.y"
+#line 2506 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 320:
+ case 339:
/* Line 1787 of yacc.c */
-#line 2306 "gram.y"
+#line 2510 "gram.y"
+ { (yyval.boolean) = TRUE; }
+ break;
+
+ case 340:
+/* Line 1787 of yacc.c */
+#line 2511 "gram.y"
+ { (yyval.boolean) = FALSE; }
+ break;
+
+ case 341:
+/* Line 1787 of yacc.c */
+#line 2520 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 321:
+ case 342:
/* Line 1787 of yacc.c */
-#line 2307 "gram.y"
+#line 2521 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 322:
+ case 343:
/* Line 1787 of yacc.c */
-#line 2308 "gram.y"
+#line 2522 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 323:
+ case 344:
/* Line 1787 of yacc.c */
-#line 2311 "gram.y"
+#line 2525 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 324:
+ case 345:
/* Line 1787 of yacc.c */
-#line 2312 "gram.y"
+#line 2526 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 325:
+ case 346:
/* Line 1787 of yacc.c */
-#line 2317 "gram.y"
+#line 2531 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 326:
+ case 347:
/* Line 1787 of yacc.c */
-#line 2318 "gram.y"
+#line 2532 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 327:
+ case 348:
/* Line 1787 of yacc.c */
-#line 2323 "gram.y"
+#line 2537 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
}
break;
- case 328:
+ case 349:
/* Line 1787 of yacc.c */
-#line 2327 "gram.y"
+#line 2541 "gram.y"
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
}
break;
- case 329:
+ case 350:
+/* Line 1787 of yacc.c */
+#line 2545 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(TRUE));
+ }
+ break;
+
+ case 351:
/* Line 1787 of yacc.c */
-#line 2331 "gram.y"
+#line 2549 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 330:
+ case 352:
/* Line 1787 of yacc.c */
-#line 2335 "gram.y"
+#line 2553 "gram.y"
{
(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 331:
+ case 353:
/* Line 1787 of yacc.c */
-#line 2339 "gram.y"
+#line 2557 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"));
}
break;
- case 332:
+ case 354:
/* Line 1787 of yacc.c */
-#line 2343 "gram.y"
+#line 2561 "gram.y"
{
(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(TRUE));
}
break;
- case 333:
+ case 355:
/* Line 1787 of yacc.c */
-#line 2347 "gram.y"
+#line 2565 "gram.y"
{
(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 334:
+ case 356:
/* Line 1787 of yacc.c */
-#line 2351 "gram.y"
+#line 2569 "gram.y"
{
(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 335:
+ case 357:
/* Line 1787 of yacc.c */
-#line 2355 "gram.y"
+#line 2573 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[(3) - (3)].list));
}
break;
- case 336:
+ case 358:
/* Line 1787 of yacc.c */
-#line 2359 "gram.y"
+#line 2577 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star));
}
break;
- case 337:
+ case 359:
/* Line 1787 of yacc.c */
-#line 2363 "gram.y"
+#line 2581 "gram.y"
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[(4) - (4)].list));
}
break;
- case 338:
+ case 360:
/* Line 1787 of yacc.c */
-#line 2367 "gram.y"
+#line 2585 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[(3) - (3)].list));
+ }
+ break;
+
+ case 361:
+/* Line 1787 of yacc.c */
+#line 2589 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[(2) - (2)].str)));
}
break;
- case 339:
+ case 362:
/* Line 1787 of yacc.c */
-#line 2376 "gram.y"
+#line 2598 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
}
break;
- case 340:
+ case 363:
/* Line 1787 of yacc.c */
-#line 2379 "gram.y"
+#line 2601 "gram.y"
{ (yyval.defelt) = NULL; }
break;
- case 341:
+ case 364:
/* Line 1787 of yacc.c */
-#line 2384 "gram.y"
+#line 2606 "gram.y"
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
}
break;
- case 342:
+ case 365:
/* Line 1787 of yacc.c */
-#line 2387 "gram.y"
+#line 2609 "gram.y"
{ (yyval.defelt) = NULL; }
break;
- case 343:
+ case 366:
/* Line 1787 of yacc.c */
-#line 2392 "gram.y"
+#line 2614 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 344:
+ case 367:
/* Line 1787 of yacc.c */
-#line 2395 "gram.y"
+#line 2617 "gram.y"
{ (yyval.defelt) = NULL; }
break;
- case 345:
+ case 368:
/* Line 1787 of yacc.c */
-#line 2399 "gram.y"
+#line 2621 "gram.y"
{}
break;
- case 346:
+ case 369:
/* Line 1787 of yacc.c */
-#line 2400 "gram.y"
+#line 2622 "gram.y"
{}
break;
- case 347:
+ case 370:
/* Line 1787 of yacc.c */
-#line 2406 "gram.y"
+#line 2628 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
}
break;
- case 348:
+ case 371:
/* Line 1787 of yacc.c */
-#line 2410 "gram.y"
+#line 2632 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
}
break;
- case 349:
+ case 372:
/* Line 1787 of yacc.c */
-#line 2417 "gram.y"
+#line 2639 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
}
break;
- case 350:
+ case 373:
/* Line 1787 of yacc.c */
-#line 2423 "gram.y"
+#line 2645 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); }
break;
- case 351:
+ case 374:
/* Line 1787 of yacc.c */
-#line 2424 "gram.y"
+#line 2646 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); }
break;
- case 352:
+ case 375:
/* Line 1787 of yacc.c */
-#line 2425 "gram.y"
+#line 2647 "gram.y"
{ (yyval.node) = (Node *) makeNode(A_Star); }
break;
- case 353:
+ case 376:
/* Line 1787 of yacc.c */
-#line 2426 "gram.y"
+#line 2648 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); }
break;
- case 354:
+ case 377:
/* Line 1787 of yacc.c */
-#line 2427 "gram.y"
+#line 2649 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 355:
+ case 378:
/* Line 1787 of yacc.c */
-#line 2432 "gram.y"
+#line 2654 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
}
break;
- case 356:
+ case 379:
/* Line 1787 of yacc.c */
-#line 2436 "gram.y"
+#line 2658 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
}
break;
- case 357:
+ case 380:
/* Line 1787 of yacc.c */
-#line 2443 "gram.y"
+#line 2665 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); }
break;
- case 358:
+ case 381:
/* Line 1787 of yacc.c */
-#line 2456 "gram.y"
+#line 2678 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(4) - (11)].range)->relpersistence = (yyvsp[(2) - (11)].ival);
@@ -22673,9 +24519,9 @@ yyreduce:
}
break;
- case 359:
+ case 382:
/* Line 1787 of yacc.c */
-#line 2472 "gram.y"
+#line 2694 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(7) - (14)].range)->relpersistence = (yyvsp[(2) - (14)].ival);
@@ -22691,9 +24537,9 @@ yyreduce:
}
break;
- case 360:
+ case 383:
/* Line 1787 of yacc.c */
-#line 2487 "gram.y"
+#line 2709 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(4) - (10)].range)->relpersistence = (yyvsp[(2) - (10)].ival);
@@ -22710,9 +24556,9 @@ yyreduce:
}
break;
- case 361:
+ case 384:
/* Line 1787 of yacc.c */
-#line 2503 "gram.y"
+#line 2725 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(7) - (13)].range)->relpersistence = (yyvsp[(2) - (13)].ival);
@@ -22729,33 +24575,33 @@ yyreduce:
}
break;
- case 362:
+ case 385:
/* Line 1787 of yacc.c */
-#line 2530 "gram.y"
+#line 2752 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
break;
- case 363:
+ case 386:
/* Line 1787 of yacc.c */
-#line 2531 "gram.y"
+#line 2753 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
break;
- case 364:
+ case 387:
/* Line 1787 of yacc.c */
-#line 2532 "gram.y"
+#line 2754 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
break;
- case 365:
+ case 388:
/* Line 1787 of yacc.c */
-#line 2533 "gram.y"
+#line 2755 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
break;
- case 366:
+ case 389:
/* Line 1787 of yacc.c */
-#line 2535 "gram.y"
+#line 2757 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
@@ -22764,9 +24610,9 @@ yyreduce:
}
break;
- case 367:
+ case 390:
/* Line 1787 of yacc.c */
-#line 2542 "gram.y"
+#line 2764 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
@@ -22775,107 +24621,107 @@ yyreduce:
}
break;
- case 368:
+ case 391:
/* Line 1787 of yacc.c */
-#line 2548 "gram.y"
+#line 2770 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
break;
- case 369:
+ case 392:
/* Line 1787 of yacc.c */
-#line 2549 "gram.y"
+#line 2771 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; }
break;
- case 370:
+ case 393:
/* Line 1787 of yacc.c */
-#line 2553 "gram.y"
+#line 2775 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 371:
+ case 394:
/* Line 1787 of yacc.c */
-#line 2554 "gram.y"
+#line 2776 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 372:
+ case 395:
/* Line 1787 of yacc.c */
-#line 2558 "gram.y"
+#line 2780 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 373:
+ case 396:
/* Line 1787 of yacc.c */
-#line 2559 "gram.y"
+#line 2781 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 374:
+ case 397:
/* Line 1787 of yacc.c */
-#line 2564 "gram.y"
+#line 2786 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
}
break;
- case 375:
+ case 398:
/* Line 1787 of yacc.c */
-#line 2568 "gram.y"
+#line 2790 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
}
break;
- case 376:
+ case 399:
/* Line 1787 of yacc.c */
-#line 2575 "gram.y"
+#line 2797 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
}
break;
- case 377:
+ case 400:
/* Line 1787 of yacc.c */
-#line 2579 "gram.y"
+#line 2801 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
}
break;
- case 378:
+ case 401:
/* Line 1787 of yacc.c */
-#line 2585 "gram.y"
+#line 2807 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 379:
+ case 402:
/* Line 1787 of yacc.c */
-#line 2586 "gram.y"
+#line 2808 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 380:
+ case 403:
/* Line 1787 of yacc.c */
-#line 2587 "gram.y"
+#line 2809 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 381:
+ case 404:
/* Line 1787 of yacc.c */
-#line 2591 "gram.y"
+#line 2813 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 382:
+ case 405:
/* Line 1787 of yacc.c */
-#line 2592 "gram.y"
+#line 2814 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 383:
+ case 406:
/* Line 1787 of yacc.c */
-#line 2596 "gram.y"
+#line 2818 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (4)].str);
@@ -22891,13 +24737,14 @@ yyreduce:
n->fdwoptions = (yyvsp[(3) - (4)].list);
SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
yyscanner);
+ n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)n;
}
break;
- case 384:
+ case 407:
/* Line 1787 of yacc.c */
-#line 2616 "gram.y"
+#line 2839 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (4)].str);
@@ -22912,25 +24759,26 @@ yyreduce:
n->collOid = InvalidOid;
SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
yyscanner);
+ n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)n;
}
break;
- case 385:
+ case 408:
/* Line 1787 of yacc.c */
-#line 2635 "gram.y"
+#line 2859 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
break;
- case 386:
+ case 409:
/* Line 1787 of yacc.c */
-#line 2636 "gram.y"
+#line 2860 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 387:
+ case 410:
/* Line 1787 of yacc.c */
-#line 2641 "gram.y"
+#line 2865 "gram.y"
{
Constraint *n = (Constraint *) (yyvsp[(3) - (3)].node);
Assert(IsA(n, Constraint));
@@ -22940,21 +24788,21 @@ yyreduce:
}
break;
- case 388:
+ case 411:
/* Line 1787 of yacc.c */
-#line 2648 "gram.y"
+#line 2872 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 389:
+ case 412:
/* Line 1787 of yacc.c */
-#line 2649 "gram.y"
+#line 2873 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 390:
+ case 413:
/* Line 1787 of yacc.c */
-#line 2651 "gram.y"
+#line 2875 "gram.y"
{
/*
* Note: the CollateClause is momentarily included in
@@ -22969,9 +24817,9 @@ yyreduce:
}
break;
- case 391:
+ case 414:
/* Line 1787 of yacc.c */
-#line 2682 "gram.y"
+#line 2906 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
@@ -22980,9 +24828,9 @@ yyreduce:
}
break;
- case 392:
+ case 415:
/* Line 1787 of yacc.c */
-#line 2689 "gram.y"
+#line 2913 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
@@ -22991,9 +24839,9 @@ yyreduce:
}
break;
- case 393:
+ case 416:
/* Line 1787 of yacc.c */
-#line 2696 "gram.y"
+#line 2920 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
@@ -23006,9 +24854,9 @@ yyreduce:
}
break;
- case 394:
+ case 417:
/* Line 1787 of yacc.c */
-#line 2707 "gram.y"
+#line 2931 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
@@ -23021,9 +24869,9 @@ yyreduce:
}
break;
- case 395:
+ case 418:
/* Line 1787 of yacc.c */
-#line 2718 "gram.y"
+#line 2942 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
@@ -23035,9 +24883,9 @@ yyreduce:
}
break;
- case 396:
+ case 419:
/* Line 1787 of yacc.c */
-#line 2728 "gram.y"
+#line 2952 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_DEFAULT;
@@ -23048,9 +24896,9 @@ yyreduce:
}
break;
- case 397:
+ case 420:
/* Line 1787 of yacc.c */
-#line 2737 "gram.y"
+#line 2961 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
@@ -23067,9 +24915,9 @@ yyreduce:
}
break;
- case 398:
+ case 421:
/* Line 1787 of yacc.c */
-#line 2770 "gram.y"
+#line 2994 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
@@ -23078,9 +24926,9 @@ yyreduce:
}
break;
- case 399:
+ case 422:
/* Line 1787 of yacc.c */
-#line 2777 "gram.y"
+#line 3001 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
@@ -23089,9 +24937,9 @@ yyreduce:
}
break;
- case 400:
+ case 423:
/* Line 1787 of yacc.c */
-#line 2784 "gram.y"
+#line 3008 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
@@ -23100,9 +24948,9 @@ yyreduce:
}
break;
- case 401:
+ case 424:
/* Line 1787 of yacc.c */
-#line 2791 "gram.y"
+#line 3015 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
@@ -23111,9 +24959,9 @@ yyreduce:
}
break;
- case 402:
+ case 425:
/* Line 1787 of yacc.c */
-#line 2802 "gram.y"
+#line 3026 "gram.y"
{
TableLikeClause *n = makeNode(TableLikeClause);
n->relation = (yyvsp[(2) - (3)].range);
@@ -23122,63 +24970,63 @@ yyreduce:
}
break;
- case 403:
+ case 426:
/* Line 1787 of yacc.c */
-#line 2811 "gram.y"
+#line 3035 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); }
break;
- case 404:
+ case 427:
/* Line 1787 of yacc.c */
-#line 2812 "gram.y"
+#line 3036 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); }
break;
- case 405:
+ case 428:
/* Line 1787 of yacc.c */
-#line 2813 "gram.y"
+#line 3037 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 406:
+ case 429:
/* Line 1787 of yacc.c */
-#line 2817 "gram.y"
+#line 3041 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
break;
- case 407:
+ case 430:
/* Line 1787 of yacc.c */
-#line 2818 "gram.y"
+#line 3042 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
break;
- case 408:
+ case 431:
/* Line 1787 of yacc.c */
-#line 2819 "gram.y"
+#line 3043 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
break;
- case 409:
+ case 432:
/* Line 1787 of yacc.c */
-#line 2820 "gram.y"
+#line 3044 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
break;
- case 410:
+ case 433:
/* Line 1787 of yacc.c */
-#line 2821 "gram.y"
+#line 3045 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
break;
- case 411:
+ case 434:
/* Line 1787 of yacc.c */
-#line 2822 "gram.y"
+#line 3046 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
break;
- case 412:
+ case 435:
/* Line 1787 of yacc.c */
-#line 2832 "gram.y"
+#line 3056 "gram.y"
{
Constraint *n = (Constraint *) (yyvsp[(3) - (3)].node);
Assert(IsA(n, Constraint));
@@ -23188,15 +25036,15 @@ yyreduce:
}
break;
- case 413:
+ case 436:
/* Line 1787 of yacc.c */
-#line 2839 "gram.y"
+#line 3063 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 414:
+ case 437:
/* Line 1787 of yacc.c */
-#line 2844 "gram.y"
+#line 3068 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
@@ -23211,9 +25059,9 @@ yyreduce:
}
break;
- case 415:
+ case 438:
/* Line 1787 of yacc.c */
-#line 2858 "gram.y"
+#line 3082 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
@@ -23229,9 +25077,9 @@ yyreduce:
}
break;
- case 416:
+ case 439:
/* Line 1787 of yacc.c */
-#line 2872 "gram.y"
+#line 3096 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
@@ -23247,9 +25095,9 @@ yyreduce:
}
break;
- case 417:
+ case 440:
/* Line 1787 of yacc.c */
-#line 2887 "gram.y"
+#line 3111 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
@@ -23265,9 +25113,9 @@ yyreduce:
}
break;
- case 418:
+ case 441:
/* Line 1787 of yacc.c */
-#line 2901 "gram.y"
+#line 3125 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
@@ -23283,9 +25131,9 @@ yyreduce:
}
break;
- case 419:
+ case 442:
/* Line 1787 of yacc.c */
-#line 2917 "gram.y"
+#line 3141 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_EXCLUSION;
@@ -23303,9 +25151,9 @@ yyreduce:
}
break;
- case 420:
+ case 443:
/* Line 1787 of yacc.c */
-#line 2934 "gram.y"
+#line 3158 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
@@ -23325,61 +25173,61 @@ yyreduce:
}
break;
- case 421:
+ case 444:
/* Line 1787 of yacc.c */
-#line 2953 "gram.y"
+#line 3177 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 422:
+ case 445:
/* Line 1787 of yacc.c */
-#line 2954 "gram.y"
+#line 3178 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 423:
+ case 446:
/* Line 1787 of yacc.c */
-#line 2958 "gram.y"
+#line 3182 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 424:
+ case 447:
/* Line 1787 of yacc.c */
-#line 2959 "gram.y"
+#line 3183 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 425:
+ case 448:
/* Line 1787 of yacc.c */
-#line 2963 "gram.y"
+#line 3187 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 426:
+ case 449:
/* Line 1787 of yacc.c */
-#line 2964 "gram.y"
+#line 3188 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 427:
+ case 450:
/* Line 1787 of yacc.c */
-#line 2968 "gram.y"
+#line 3192 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str));
}
break;
- case 428:
+ case 451:
/* Line 1787 of yacc.c */
-#line 2974 "gram.y"
+#line 3198 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
}
break;
- case 429:
+ case 452:
/* Line 1787 of yacc.c */
-#line 2978 "gram.y"
+#line 3202 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
@@ -23389,231 +25237,232 @@ yyreduce:
}
break;
- case 430:
+ case 453:
/* Line 1787 of yacc.c */
-#line 2986 "gram.y"
+#line 3210 "gram.y"
{
- (yyval.ival) = FKCONSTR_MATCH_UNSPECIFIED;
+ (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
}
break;
- case 431:
+ case 454:
/* Line 1787 of yacc.c */
-#line 2990 "gram.y"
+#line 3214 "gram.y"
{
- (yyval.ival) = FKCONSTR_MATCH_UNSPECIFIED;
+ (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
}
break;
- case 432:
+ case 455:
/* Line 1787 of yacc.c */
-#line 2996 "gram.y"
+#line 3220 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); }
break;
- case 433:
+ case 456:
/* Line 1787 of yacc.c */
-#line 2998 "gram.y"
+#line 3222 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); }
break;
- case 434:
+ case 457:
/* Line 1787 of yacc.c */
-#line 3002 "gram.y"
+#line 3226 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list));
}
break;
- case 435:
+ case 458:
/* Line 1787 of yacc.c */
-#line 3007 "gram.y"
+#line 3231 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list));
}
break;
- case 436:
+ case 459:
/* Line 1787 of yacc.c */
-#line 3013 "gram.y"
+#line 3237 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); }
break;
- case 437:
+ case 460:
/* Line 1787 of yacc.c */
-#line 3014 "gram.y"
+#line 3238 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 438:
+ case 461:
/* Line 1787 of yacc.c */
-#line 3025 "gram.y"
+#line 3249 "gram.y"
{ (yyval.ival) = ((yyvsp[(1) - (1)].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
break;
- case 439:
+ case 462:
/* Line 1787 of yacc.c */
-#line 3027 "gram.y"
+#line 3251 "gram.y"
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[(1) - (1)].ival) & 0xFF); }
break;
- case 440:
+ case 463:
/* Line 1787 of yacc.c */
-#line 3029 "gram.y"
+#line 3253 "gram.y"
{ (yyval.ival) = ((yyvsp[(1) - (2)].ival) << 8) | ((yyvsp[(2) - (2)].ival) & 0xFF); }
break;
- case 441:
+ case 464:
/* Line 1787 of yacc.c */
-#line 3031 "gram.y"
+#line 3255 "gram.y"
{ (yyval.ival) = ((yyvsp[(2) - (2)].ival) << 8) | ((yyvsp[(1) - (2)].ival) & 0xFF); }
break;
- case 442:
+ case 465:
/* Line 1787 of yacc.c */
-#line 3033 "gram.y"
+#line 3257 "gram.y"
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
break;
- case 443:
+ case 466:
/* Line 1787 of yacc.c */
-#line 3036 "gram.y"
+#line 3260 "gram.y"
{ (yyval.ival) = (yyvsp[(3) - (3)].ival); }
break;
- case 444:
+ case 467:
/* Line 1787 of yacc.c */
-#line 3039 "gram.y"
+#line 3263 "gram.y"
{ (yyval.ival) = (yyvsp[(3) - (3)].ival); }
break;
- case 445:
+ case 468:
/* Line 1787 of yacc.c */
-#line 3043 "gram.y"
+#line 3267 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
break;
- case 446:
+ case 469:
/* Line 1787 of yacc.c */
-#line 3044 "gram.y"
+#line 3268 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
break;
- case 447:
+ case 470:
/* Line 1787 of yacc.c */
-#line 3045 "gram.y"
+#line 3269 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
break;
- case 448:
+ case 471:
/* Line 1787 of yacc.c */
-#line 3046 "gram.y"
+#line 3270 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
break;
- case 449:
+ case 472:
/* Line 1787 of yacc.c */
-#line 3047 "gram.y"
+#line 3271 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
break;
- case 450:
+ case 473:
/* Line 1787 of yacc.c */
-#line 3050 "gram.y"
+#line 3274 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); }
break;
- case 451:
+ case 474:
/* Line 1787 of yacc.c */
-#line 3051 "gram.y"
+#line 3275 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 452:
+ case 475:
/* Line 1787 of yacc.c */
-#line 3056 "gram.y"
+#line 3280 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 453:
+ case 476:
/* Line 1787 of yacc.c */
-#line 3057 "gram.y"
+#line 3281 "gram.y"
{ (yyval.list) = list_make1(defWithOids(true)); }
break;
- case 454:
+ case 477:
/* Line 1787 of yacc.c */
-#line 3058 "gram.y"
+#line 3282 "gram.y"
{ (yyval.list) = list_make1(defWithOids(false)); }
break;
- case 455:
+ case 478:
/* Line 1787 of yacc.c */
-#line 3059 "gram.y"
+#line 3283 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 456:
+ case 479:
/* Line 1787 of yacc.c */
-#line 3062 "gram.y"
+#line 3286 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DROP; }
break;
- case 457:
+ case 480:
/* Line 1787 of yacc.c */
-#line 3063 "gram.y"
+#line 3287 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
break;
- case 458:
+ case 481:
/* Line 1787 of yacc.c */
-#line 3064 "gram.y"
+#line 3288 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
break;
- case 459:
+ case 482:
/* Line 1787 of yacc.c */
-#line 3065 "gram.y"
+#line 3289 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_NOOP; }
break;
- case 460:
+ case 483:
/* Line 1787 of yacc.c */
-#line 3068 "gram.y"
+#line 3292 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
- case 461:
+ case 484:
/* Line 1787 of yacc.c */
-#line 3069 "gram.y"
+#line 3293 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 462:
+ case 485:
/* Line 1787 of yacc.c */
-#line 3072 "gram.y"
+#line 3296 "gram.y"
{ (yyval.str) = (yyvsp[(4) - (4)].str); }
break;
- case 463:
+ case 486:
/* Line 1787 of yacc.c */
-#line 3073 "gram.y"
+#line 3297 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 464:
+ case 487:
/* Line 1787 of yacc.c */
-#line 3076 "gram.y"
+#line 3300 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); }
break;
- case 465:
+ case 488:
/* Line 1787 of yacc.c */
-#line 3092 "gram.y"
+#line 3316 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(6) - (7)].node);
ctas->into = (yyvsp[(4) - (7)].into);
+ ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
/* cram additional flags into the IntoClause */
(yyvsp[(4) - (7)].into)->rel->relpersistence = (yyvsp[(2) - (7)].ival);
@@ -23622,9 +25471,9 @@ yyreduce:
}
break;
- case 466:
+ case 489:
/* Line 1787 of yacc.c */
-#line 3106 "gram.y"
+#line 3331 "gram.y"
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[(1) - (5)].range);
@@ -23632,31 +25481,87 @@ yyreduce:
(yyval.into)->options = (yyvsp[(3) - (5)].list);
(yyval.into)->onCommit = (yyvsp[(4) - (5)].oncommit);
(yyval.into)->tableSpaceName = (yyvsp[(5) - (5)].str);
+ (yyval.into)->viewQuery = NULL;
(yyval.into)->skipData = false; /* might get changed later */
}
break;
- case 467:
+ case 490:
/* Line 1787 of yacc.c */
-#line 3118 "gram.y"
+#line 3344 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 468:
+ case 491:
/* Line 1787 of yacc.c */
-#line 3119 "gram.y"
+#line 3345 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 469:
+ case 492:
/* Line 1787 of yacc.c */
-#line 3120 "gram.y"
+#line 3346 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 470:
+ case 493:
+/* Line 1787 of yacc.c */
+#line 3359 "gram.y"
+ {
+ CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
+ ctas->query = (yyvsp[(7) - (8)].node);
+ ctas->into = (yyvsp[(5) - (8)].into);
+ ctas->relkind = OBJECT_MATVIEW;
+ ctas->is_select_into = false;
+ /* cram additional flags into the IntoClause */
+ (yyvsp[(5) - (8)].into)->rel->relpersistence = (yyvsp[(2) - (8)].ival);
+ (yyvsp[(5) - (8)].into)->skipData = !((yyvsp[(8) - (8)].boolean));
+ (yyval.node) = (Node *) ctas;
+ }
+ break;
+
+ case 494:
+/* Line 1787 of yacc.c */
+#line 3374 "gram.y"
+ {
+ (yyval.into) = makeNode(IntoClause);
+ (yyval.into)->rel = (yyvsp[(1) - (4)].range);
+ (yyval.into)->colNames = (yyvsp[(2) - (4)].list);
+ (yyval.into)->options = (yyvsp[(3) - (4)].list);
+ (yyval.into)->onCommit = ONCOMMIT_NOOP;
+ (yyval.into)->tableSpaceName = (yyvsp[(4) - (4)].str);
+ (yyval.into)->viewQuery = NULL; /* filled at analysis time */
+ (yyval.into)->skipData = false; /* might get changed later */
+ }
+ break;
+
+ case 495:
+/* Line 1787 of yacc.c */
+#line 3386 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
+ break;
+
+ case 496:
+/* Line 1787 of yacc.c */
+#line 3387 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
+ break;
+
+ case 497:
+/* Line 1787 of yacc.c */
+#line 3400 "gram.y"
+ {
+ RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
+ n->concurrent = (yyvsp[(4) - (6)].boolean);
+ n->relation = (yyvsp[(5) - (6)].range);
+ n->skipData = !((yyvsp[(6) - (6)].boolean));
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 498:
/* Line 1787 of yacc.c */
-#line 3134 "gram.y"
+#line 3420 "gram.y"
{
CreateSeqStmt *n = makeNode(CreateSeqStmt);
(yyvsp[(4) - (5)].range)->relpersistence = (yyvsp[(2) - (5)].ival);
@@ -23667,9 +25572,9 @@ yyreduce:
}
break;
- case 471:
+ case 499:
/* Line 1787 of yacc.c */
-#line 3146 "gram.y"
+#line 3432 "gram.y"
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = (yyvsp[(3) - (4)].range);
@@ -23679,9 +25584,9 @@ yyreduce:
}
break;
- case 472:
+ case 500:
/* Line 1787 of yacc.c */
-#line 3154 "gram.y"
+#line 3440 "gram.y"
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = (yyvsp[(5) - (6)].range);
@@ -23691,174 +25596,174 @@ yyreduce:
}
break;
- case 473:
+ case 501:
/* Line 1787 of yacc.c */
-#line 3164 "gram.y"
+#line 3450 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 474:
+ case 502:
/* Line 1787 of yacc.c */
-#line 3165 "gram.y"
+#line 3451 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 475:
+ case 503:
/* Line 1787 of yacc.c */
-#line 3168 "gram.y"
+#line 3454 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 476:
+ case 504:
/* Line 1787 of yacc.c */
-#line 3169 "gram.y"
+#line 3455 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 477:
+ case 505:
/* Line 1787 of yacc.c */
-#line 3173 "gram.y"
+#line 3459 "gram.y"
{
(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[(2) - (2)].value));
}
break;
- case 478:
+ case 506:
/* Line 1787 of yacc.c */
-#line 3177 "gram.y"
+#line 3463 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE));
}
break;
- case 479:
+ case 507:
/* Line 1787 of yacc.c */
-#line 3181 "gram.y"
+#line 3467 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE));
}
break;
- case 480:
+ case 508:
/* Line 1787 of yacc.c */
-#line 3185 "gram.y"
+#line 3471 "gram.y"
{
(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[(3) - (3)].value));
}
break;
- case 481:
+ case 509:
/* Line 1787 of yacc.c */
-#line 3189 "gram.y"
+#line 3475 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[(2) - (2)].value));
}
break;
- case 482:
+ case 510:
/* Line 1787 of yacc.c */
-#line 3193 "gram.y"
+#line 3479 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[(2) - (2)].value));
}
break;
- case 483:
+ case 511:
/* Line 1787 of yacc.c */
-#line 3197 "gram.y"
+#line 3483 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", NULL);
}
break;
- case 484:
+ case 512:
/* Line 1787 of yacc.c */
-#line 3201 "gram.y"
+#line 3487 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", NULL);
}
break;
- case 485:
+ case 513:
/* Line 1787 of yacc.c */
-#line 3205 "gram.y"
+#line 3491 "gram.y"
{
(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[(3) - (3)].list));
}
break;
- case 486:
+ case 514:
/* Line 1787 of yacc.c */
-#line 3209 "gram.y"
+#line 3495 "gram.y"
{
(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[(3) - (3)].value));
}
break;
- case 487:
+ case 515:
/* Line 1787 of yacc.c */
-#line 3213 "gram.y"
+#line 3499 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", NULL);
}
break;
- case 488:
+ case 516:
/* Line 1787 of yacc.c */
-#line 3217 "gram.y"
+#line 3503 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[(3) - (3)].value));
}
break;
- case 489:
+ case 517:
/* Line 1787 of yacc.c */
-#line 3222 "gram.y"
+#line 3508 "gram.y"
{}
break;
- case 490:
+ case 518:
/* Line 1787 of yacc.c */
-#line 3223 "gram.y"
+#line 3509 "gram.y"
{}
break;
- case 491:
+ case 519:
/* Line 1787 of yacc.c */
-#line 3227 "gram.y"
+#line 3513 "gram.y"
{ (yyval.value) = makeFloat((yyvsp[(1) - (1)].str)); }
break;
- case 492:
+ case 520:
/* Line 1787 of yacc.c */
-#line 3229 "gram.y"
+#line 3515 "gram.y"
{
(yyval.value) = makeFloat((yyvsp[(2) - (2)].str));
doNegateFloat((yyval.value));
}
break;
- case 493:
+ case 521:
/* Line 1787 of yacc.c */
-#line 3233 "gram.y"
+#line 3519 "gram.y"
{ (yyval.value) = makeInteger((yyvsp[(1) - (1)].ival)); }
break;
- case 494:
+ case 522:
/* Line 1787 of yacc.c */
-#line 3236 "gram.y"
+#line 3522 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); }
break;
- case 495:
+ case 523:
/* Line 1787 of yacc.c */
-#line 3237 "gram.y"
+#line 3523 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); }
break;
- case 496:
+ case 524:
/* Line 1787 of yacc.c */
-#line 3250 "gram.y"
+#line 3536 "gram.y"
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
n->replace = (yyvsp[(2) - (6)].boolean);
@@ -23872,9 +25777,9 @@ yyreduce:
}
break;
- case 497:
+ case 525:
/* Line 1787 of yacc.c */
-#line 3263 "gram.y"
+#line 3549 "gram.y"
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
n->replace = (yyvsp[(2) - (10)].boolean);
@@ -23887,69 +25792,69 @@ yyreduce:
}
break;
- case 498:
+ case 526:
/* Line 1787 of yacc.c */
-#line 3276 "gram.y"
+#line 3562 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 499:
+ case 527:
/* Line 1787 of yacc.c */
-#line 3277 "gram.y"
+#line 3563 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 500:
+ case 528:
/* Line 1787 of yacc.c */
-#line 3285 "gram.y"
+#line 3571 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 501:
+ case 529:
/* Line 1787 of yacc.c */
-#line 3286 "gram.y"
+#line 3572 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); }
break;
- case 502:
+ case 530:
/* Line 1787 of yacc.c */
-#line 3290 "gram.y"
+#line 3576 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 503:
+ case 531:
/* Line 1787 of yacc.c */
-#line 3291 "gram.y"
+#line 3577 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 504:
+ case 532:
/* Line 1787 of yacc.c */
-#line 3295 "gram.y"
+#line 3581 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 505:
+ case 533:
/* Line 1787 of yacc.c */
-#line 3296 "gram.y"
+#line 3582 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 506:
+ case 534:
/* Line 1787 of yacc.c */
-#line 3300 "gram.y"
+#line 3586 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 507:
+ case 535:
/* Line 1787 of yacc.c */
-#line 3301 "gram.y"
+#line 3587 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 508:
+ case 536:
/* Line 1787 of yacc.c */
-#line 3306 "gram.y"
+#line 3592 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
@@ -23962,9 +25867,9 @@ yyreduce:
}
break;
- case 509:
+ case 537:
/* Line 1787 of yacc.c */
-#line 3317 "gram.y"
+#line 3603 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
@@ -23976,45 +25881,46 @@ yyreduce:
}
break;
- case 510:
+ case 538:
/* Line 1787 of yacc.c */
-#line 3329 "gram.y"
+#line 3615 "gram.y"
{}
break;
- case 511:
+ case 539:
/* Line 1787 of yacc.c */
-#line 3330 "gram.y"
+#line 3616 "gram.y"
{}
break;
- case 512:
+ case 540:
/* Line 1787 of yacc.c */
-#line 3341 "gram.y"
+#line 3627 "gram.y"
{
CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
- n->tablespacename = (yyvsp[(3) - (6)].str);
- n->owner = (yyvsp[(4) - (6)].str);
- n->location = (yyvsp[(6) - (6)].str);
+ n->tablespacename = (yyvsp[(3) - (7)].str);
+ n->owner = (yyvsp[(4) - (7)].str);
+ n->location = (yyvsp[(6) - (7)].str);
+ n->options = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *) n;
}
break;
- case 513:
+ case 541:
/* Line 1787 of yacc.c */
-#line 3350 "gram.y"
+#line 3637 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
- case 514:
+ case 542:
/* Line 1787 of yacc.c */
-#line 3351 "gram.y"
+#line 3638 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 515:
+ case 543:
/* Line 1787 of yacc.c */
-#line 3365 "gram.y"
+#line 3652 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(3) - (3)].str);
@@ -24023,9 +25929,9 @@ yyreduce:
}
break;
- case 516:
+ case 544:
/* Line 1787 of yacc.c */
-#line 3372 "gram.y"
+#line 3659 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(5) - (5)].str);
@@ -24034,9 +25940,9 @@ yyreduce:
}
break;
- case 517:
+ case 545:
/* Line 1787 of yacc.c */
-#line 3389 "gram.y"
+#line 3676 "gram.y"
{
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->extname = (yyvsp[(3) - (5)].str);
@@ -24046,9 +25952,9 @@ yyreduce:
}
break;
- case 518:
+ case 546:
/* Line 1787 of yacc.c */
-#line 3397 "gram.y"
+#line 3684 "gram.y"
{
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->extname = (yyvsp[(6) - (8)].str);
@@ -24058,45 +25964,45 @@ yyreduce:
}
break;
- case 519:
+ case 547:
/* Line 1787 of yacc.c */
-#line 3408 "gram.y"
+#line 3695 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 520:
+ case 548:
/* Line 1787 of yacc.c */
-#line 3410 "gram.y"
+#line 3697 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 521:
+ case 549:
/* Line 1787 of yacc.c */
-#line 3415 "gram.y"
+#line 3702 "gram.y"
{
(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[(2) - (2)].str)));
}
break;
- case 522:
+ case 550:
/* Line 1787 of yacc.c */
-#line 3419 "gram.y"
+#line 3706 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
}
break;
- case 523:
+ case 551:
/* Line 1787 of yacc.c */
-#line 3423 "gram.y"
+#line 3710 "gram.y"
{
(yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
}
break;
- case 524:
+ case 552:
/* Line 1787 of yacc.c */
-#line 3435 "gram.y"
+#line 3722 "gram.y"
{
AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
n->extname = (yyvsp[(3) - (5)].str);
@@ -24105,43 +26011,43 @@ yyreduce:
}
break;
- case 525:
+ case 553:
/* Line 1787 of yacc.c */
-#line 3445 "gram.y"
+#line 3732 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 526:
+ case 554:
/* Line 1787 of yacc.c */
-#line 3447 "gram.y"
+#line 3734 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 527:
+ case 555:
/* Line 1787 of yacc.c */
-#line 3452 "gram.y"
+#line 3739 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
}
break;
- case 528:
+ case 556:
/* Line 1787 of yacc.c */
-#line 3465 "gram.y"
+#line 3752 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_AGGREGATE;
n->objname = (yyvsp[(6) - (7)].list);
- n->objargs = (yyvsp[(7) - (7)].list);
+ n->objargs = extractAggrArgTypes((yyvsp[(7) - (7)].list));
(yyval.node) = (Node *)n;
}
break;
- case 529:
+ case 557:
/* Line 1787 of yacc.c */
-#line 3475 "gram.y"
+#line 3762 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (10)].str);
@@ -24153,9 +26059,9 @@ yyreduce:
}
break;
- case 530:
+ case 558:
/* Line 1787 of yacc.c */
-#line 3485 "gram.y"
+#line 3772 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24166,9 +26072,9 @@ yyreduce:
}
break;
- case 531:
+ case 559:
/* Line 1787 of yacc.c */
-#line 3494 "gram.y"
+#line 3781 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24179,9 +26085,9 @@ yyreduce:
}
break;
- case 532:
+ case 560:
/* Line 1787 of yacc.c */
-#line 3503 "gram.y"
+#line 3790 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24192,9 +26098,9 @@ yyreduce:
}
break;
- case 533:
+ case 561:
/* Line 1787 of yacc.c */
-#line 3512 "gram.y"
+#line 3799 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24206,9 +26112,9 @@ yyreduce:
}
break;
- case 534:
+ case 562:
/* Line 1787 of yacc.c */
-#line 3522 "gram.y"
+#line 3809 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
@@ -24219,9 +26125,9 @@ yyreduce:
}
break;
- case 535:
+ case 563:
/* Line 1787 of yacc.c */
-#line 3531 "gram.y"
+#line 3818 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
@@ -24233,9 +26139,9 @@ yyreduce:
}
break;
- case 536:
+ case 564:
/* Line 1787 of yacc.c */
-#line 3541 "gram.y"
+#line 3828 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (9)].str);
@@ -24247,9 +26153,9 @@ yyreduce:
}
break;
- case 537:
+ case 565:
/* Line 1787 of yacc.c */
-#line 3551 "gram.y"
+#line 3838 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (9)].str);
@@ -24261,9 +26167,9 @@ yyreduce:
}
break;
- case 538:
+ case 566:
/* Line 1787 of yacc.c */
-#line 3561 "gram.y"
+#line 3848 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24274,9 +26180,22 @@ yyreduce:
}
break;
- case 539:
+ case 567:
+/* Line 1787 of yacc.c */
+#line 3857 "gram.y"
+ {
+ AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
+ n->extname = (yyvsp[(3) - (7)].str);
+ n->action = (yyvsp[(4) - (7)].ival);
+ n->objtype = OBJECT_EVENT_TRIGGER;
+ n->objname = list_make1(makeString((yyvsp[(7) - (7)].str)));
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 568:
/* Line 1787 of yacc.c */
-#line 3570 "gram.y"
+#line 3866 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24287,9 +26206,9 @@ yyreduce:
}
break;
- case 540:
+ case 569:
/* Line 1787 of yacc.c */
-#line 3579 "gram.y"
+#line 3875 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
@@ -24300,9 +26219,9 @@ yyreduce:
}
break;
- case 541:
+ case 570:
/* Line 1787 of yacc.c */
-#line 3588 "gram.y"
+#line 3884 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
@@ -24313,9 +26232,9 @@ yyreduce:
}
break;
- case 542:
+ case 571:
/* Line 1787 of yacc.c */
-#line 3597 "gram.y"
+#line 3893 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
@@ -24326,9 +26245,9 @@ yyreduce:
}
break;
- case 543:
+ case 572:
/* Line 1787 of yacc.c */
-#line 3606 "gram.y"
+#line 3902 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
@@ -24339,9 +26258,9 @@ yyreduce:
}
break;
- case 544:
+ case 573:
/* Line 1787 of yacc.c */
-#line 3615 "gram.y"
+#line 3911 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24352,9 +26271,9 @@ yyreduce:
}
break;
- case 545:
+ case 574:
/* Line 1787 of yacc.c */
-#line 3624 "gram.y"
+#line 3920 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24365,9 +26284,22 @@ yyreduce:
}
break;
- case 546:
+ case 575:
+/* Line 1787 of yacc.c */
+#line 3929 "gram.y"
+ {
+ AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
+ n->extname = (yyvsp[(3) - (7)].str);
+ n->action = (yyvsp[(4) - (7)].ival);
+ n->objtype = OBJECT_MATVIEW;
+ n->objname = (yyvsp[(7) - (7)].list);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 576:
/* Line 1787 of yacc.c */
-#line 3633 "gram.y"
+#line 3938 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
@@ -24378,9 +26310,9 @@ yyreduce:
}
break;
- case 547:
+ case 577:
/* Line 1787 of yacc.c */
-#line 3642 "gram.y"
+#line 3947 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
@@ -24391,9 +26323,9 @@ yyreduce:
}
break;
- case 548:
+ case 578:
/* Line 1787 of yacc.c */
-#line 3651 "gram.y"
+#line 3956 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24404,9 +26336,9 @@ yyreduce:
}
break;
- case 549:
+ case 579:
/* Line 1787 of yacc.c */
-#line 3660 "gram.y"
+#line 3965 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
@@ -24417,9 +26349,9 @@ yyreduce:
}
break;
- case 550:
+ case 580:
/* Line 1787 of yacc.c */
-#line 3678 "gram.y"
+#line 3983 "gram.y"
{
CreateFdwStmt *n = makeNode(CreateFdwStmt);
n->fdwname = (yyvsp[(5) - (7)].str);
@@ -24429,57 +26361,57 @@ yyreduce:
}
break;
- case 551:
+ case 581:
/* Line 1787 of yacc.c */
-#line 3688 "gram.y"
+#line 3993 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[(2) - (2)].list)); }
break;
- case 552:
+ case 582:
/* Line 1787 of yacc.c */
-#line 3689 "gram.y"
+#line 3994 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", NULL); }
break;
- case 553:
+ case 583:
/* Line 1787 of yacc.c */
-#line 3690 "gram.y"
+#line 3995 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[(2) - (2)].list)); }
break;
- case 554:
+ case 584:
/* Line 1787 of yacc.c */
-#line 3691 "gram.y"
+#line 3996 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", NULL); }
break;
- case 555:
+ case 585:
/* Line 1787 of yacc.c */
-#line 3695 "gram.y"
+#line 4000 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 556:
+ case 586:
/* Line 1787 of yacc.c */
-#line 3696 "gram.y"
+#line 4001 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 557:
+ case 587:
/* Line 1787 of yacc.c */
-#line 3700 "gram.y"
+#line 4005 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 558:
+ case 588:
/* Line 1787 of yacc.c */
-#line 3701 "gram.y"
+#line 4006 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 559:
+ case 589:
/* Line 1787 of yacc.c */
-#line 3712 "gram.y"
+#line 4017 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FDW;
@@ -24492,9 +26424,9 @@ yyreduce:
}
break;
- case 560:
+ case 590:
/* Line 1787 of yacc.c */
-#line 3723 "gram.y"
+#line 4028 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FDW;
@@ -24507,9 +26439,9 @@ yyreduce:
}
break;
- case 561:
+ case 591:
/* Line 1787 of yacc.c */
-#line 3743 "gram.y"
+#line 4048 "gram.y"
{
AlterFdwStmt *n = makeNode(AlterFdwStmt);
n->fdwname = (yyvsp[(5) - (7)].str);
@@ -24519,9 +26451,9 @@ yyreduce:
}
break;
- case 562:
+ case 592:
/* Line 1787 of yacc.c */
-#line 3751 "gram.y"
+#line 4056 "gram.y"
{
AlterFdwStmt *n = makeNode(AlterFdwStmt);
n->fdwname = (yyvsp[(5) - (6)].str);
@@ -24531,113 +26463,113 @@ yyreduce:
}
break;
- case 563:
+ case 593:
/* Line 1787 of yacc.c */
-#line 3762 "gram.y"
+#line 4067 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); }
break;
- case 564:
+ case 594:
/* Line 1787 of yacc.c */
-#line 3763 "gram.y"
+#line 4068 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 565:
+ case 595:
/* Line 1787 of yacc.c */
-#line 3768 "gram.y"
+#line 4073 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
}
break;
- case 566:
+ case 596:
/* Line 1787 of yacc.c */
-#line 3772 "gram.y"
+#line 4077 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
}
break;
- case 567:
+ case 597:
/* Line 1787 of yacc.c */
-#line 3779 "gram.y"
+#line 4084 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); }
break;
- case 568:
+ case 598:
/* Line 1787 of yacc.c */
-#line 3784 "gram.y"
+#line 4089 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
}
break;
- case 569:
+ case 599:
/* Line 1787 of yacc.c */
-#line 3788 "gram.y"
+#line 4093 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
}
break;
- case 570:
+ case 600:
/* Line 1787 of yacc.c */
-#line 3795 "gram.y"
+#line 4100 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
}
break;
- case 571:
+ case 601:
/* Line 1787 of yacc.c */
-#line 3799 "gram.y"
+#line 4104 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_SET;
}
break;
- case 572:
+ case 602:
/* Line 1787 of yacc.c */
-#line 3804 "gram.y"
+#line 4109 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_ADD;
}
break;
- case 573:
+ case 603:
/* Line 1787 of yacc.c */
-#line 3809 "gram.y"
+#line 4114 "gram.y"
{
(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP);
}
break;
- case 574:
+ case 604:
/* Line 1787 of yacc.c */
-#line 3816 "gram.y"
+#line 4121 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
}
break;
- case 575:
+ case 605:
/* Line 1787 of yacc.c */
-#line 3822 "gram.y"
+#line 4127 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 576:
+ case 606:
/* Line 1787 of yacc.c */
-#line 3827 "gram.y"
+#line 4132 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); }
break;
- case 577:
+ case 607:
/* Line 1787 of yacc.c */
-#line 3839 "gram.y"
+#line 4144 "gram.y"
{
CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
n->servername = (yyvsp[(3) - (10)].str);
@@ -24649,45 +26581,45 @@ yyreduce:
}
break;
- case 578:
+ case 608:
/* Line 1787 of yacc.c */
-#line 3851 "gram.y"
+#line 4156 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
- case 579:
+ case 609:
/* Line 1787 of yacc.c */
-#line 3852 "gram.y"
+#line 4157 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 580:
+ case 610:
/* Line 1787 of yacc.c */
-#line 3857 "gram.y"
+#line 4162 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
- case 581:
+ case 611:
/* Line 1787 of yacc.c */
-#line 3858 "gram.y"
+#line 4163 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 582:
+ case 612:
/* Line 1787 of yacc.c */
-#line 3862 "gram.y"
+#line 4167 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 583:
+ case 613:
/* Line 1787 of yacc.c */
-#line 3863 "gram.y"
+#line 4168 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 584:
+ case 614:
/* Line 1787 of yacc.c */
-#line 3874 "gram.y"
+#line 4179 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FOREIGN_SERVER;
@@ -24700,9 +26632,9 @@ yyreduce:
}
break;
- case 585:
+ case 615:
/* Line 1787 of yacc.c */
-#line 3885 "gram.y"
+#line 4190 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FOREIGN_SERVER;
@@ -24715,9 +26647,9 @@ yyreduce:
}
break;
- case 586:
+ case 616:
/* Line 1787 of yacc.c */
-#line 3905 "gram.y"
+#line 4210 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (5)].str);
@@ -24728,9 +26660,9 @@ yyreduce:
}
break;
- case 587:
+ case 617:
/* Line 1787 of yacc.c */
-#line 3914 "gram.y"
+#line 4219 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (4)].str);
@@ -24740,9 +26672,9 @@ yyreduce:
}
break;
- case 588:
+ case 618:
/* Line 1787 of yacc.c */
-#line 3922 "gram.y"
+#line 4227 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (4)].str);
@@ -24751,77 +26683,43 @@ yyreduce:
}
break;
- case 589:
+ case 619:
/* Line 1787 of yacc.c */
-#line 3941 "gram.y"
+#line 4246 "gram.y"
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
- (yyvsp[(4) - (8)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
- n->base.relation = (yyvsp[(4) - (8)].range);
- n->base.tableElts = (yyvsp[(5) - (8)].list);
+ (yyvsp[(4) - (10)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
+ n->base.relation = (yyvsp[(4) - (10)].range);
+ n->base.tableElts = (yyvsp[(6) - (10)].list);
n->base.inhRelations = NIL;
n->base.if_not_exists = false;
/* FDW-specific data */
- n->servername = (yyvsp[(7) - (8)].str);
- n->options = (yyvsp[(8) - (8)].list);
+ n->servername = (yyvsp[(9) - (10)].str);
+ n->options = (yyvsp[(10) - (10)].list);
(yyval.node) = (Node *) n;
}
break;
- case 590:
+ case 620:
/* Line 1787 of yacc.c */
-#line 3956 "gram.y"
+#line 4261 "gram.y"
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
- (yyvsp[(7) - (11)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
- n->base.relation = (yyvsp[(7) - (11)].range);
- n->base.tableElts = (yyvsp[(8) - (11)].list);
+ (yyvsp[(7) - (13)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
+ n->base.relation = (yyvsp[(7) - (13)].range);
+ n->base.tableElts = (yyvsp[(9) - (13)].list);
n->base.inhRelations = NIL;
n->base.if_not_exists = true;
/* FDW-specific data */
- n->servername = (yyvsp[(10) - (11)].str);
- n->options = (yyvsp[(11) - (11)].list);
+ n->servername = (yyvsp[(12) - (13)].str);
+ n->options = (yyvsp[(13) - (13)].list);
(yyval.node) = (Node *) n;
}
break;
- case 591:
-/* Line 1787 of yacc.c */
-#line 3971 "gram.y"
- { (yyval.list) = (yyvsp[(2) - (3)].list); }
- break;
-
- case 592:
-/* Line 1787 of yacc.c */
-#line 3972 "gram.y"
- { (yyval.list) = NIL; }
- break;
-
- case 593:
-/* Line 1787 of yacc.c */
-#line 3977 "gram.y"
- {
- (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
- }
- break;
-
- case 594:
-/* Line 1787 of yacc.c */
-#line 3981 "gram.y"
- {
- (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
- }
- break;
-
- case 595:
-/* Line 1787 of yacc.c */
-#line 3987 "gram.y"
- { (yyval.node) = (yyvsp[(1) - (1)].node); }
- break;
-
- case 596:
+ case 621:
/* Line 1787 of yacc.c */
-#line 3999 "gram.y"
+#line 4284 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(4) - (5)].range);
@@ -24832,9 +26730,9 @@ yyreduce:
}
break;
- case 597:
+ case 622:
/* Line 1787 of yacc.c */
-#line 4008 "gram.y"
+#line 4293 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(6) - (7)].range);
@@ -24845,9 +26743,9 @@ yyreduce:
}
break;
- case 598:
+ case 623:
/* Line 1787 of yacc.c */
-#line 4026 "gram.y"
+#line 4311 "gram.y"
{
CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
n->username = (yyvsp[(5) - (8)].str);
@@ -24857,27 +26755,27 @@ yyreduce:
}
break;
- case 599:
+ case 624:
/* Line 1787 of yacc.c */
-#line 4037 "gram.y"
+#line 4322 "gram.y"
{ (yyval.str) = "current_user"; }
break;
- case 600:
+ case 625:
/* Line 1787 of yacc.c */
-#line 4038 "gram.y"
+#line 4323 "gram.y"
{ (yyval.str) = "current_user"; }
break;
- case 601:
+ case 626:
/* Line 1787 of yacc.c */
-#line 4039 "gram.y"
+#line 4324 "gram.y"
{ (yyval.str) = (strcmp((yyvsp[(1) - (1)].str), "public") == 0) ? NULL : (yyvsp[(1) - (1)].str); }
break;
- case 602:
+ case 627:
/* Line 1787 of yacc.c */
-#line 4050 "gram.y"
+#line 4335 "gram.y"
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->username = (yyvsp[(5) - (7)].str);
@@ -24887,9 +26785,9 @@ yyreduce:
}
break;
- case 603:
+ case 628:
/* Line 1787 of yacc.c */
-#line 4058 "gram.y"
+#line 4343 "gram.y"
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->username = (yyvsp[(7) - (9)].str);
@@ -24899,9 +26797,9 @@ yyreduce:
}
break;
- case 604:
+ case 629:
/* Line 1787 of yacc.c */
-#line 4075 "gram.y"
+#line 4360 "gram.y"
{
AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
n->username = (yyvsp[(5) - (8)].str);
@@ -24911,9 +26809,9 @@ yyreduce:
}
break;
- case 605:
+ case 630:
/* Line 1787 of yacc.c */
-#line 4096 "gram.y"
+#line 4381 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[(3) - (15)].str);
@@ -24933,9 +26831,9 @@ yyreduce:
}
break;
- case 606:
+ case 631:
/* Line 1787 of yacc.c */
-#line 4117 "gram.y"
+#line 4402 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[(4) - (20)].str);
@@ -24956,33 +26854,33 @@ yyreduce:
}
break;
- case 607:
+ case 632:
/* Line 1787 of yacc.c */
-#line 4138 "gram.y"
+#line 4423 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_BEFORE; }
break;
- case 608:
+ case 633:
/* Line 1787 of yacc.c */
-#line 4139 "gram.y"
+#line 4424 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_AFTER; }
break;
- case 609:
+ case 634:
/* Line 1787 of yacc.c */
-#line 4140 "gram.y"
+#line 4425 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
break;
- case 610:
+ case 635:
/* Line 1787 of yacc.c */
-#line 4145 "gram.y"
+#line 4430 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 611:
+ case 636:
/* Line 1787 of yacc.c */
-#line 4147 "gram.y"
+#line 4432 "gram.y"
{
int events1 = intVal(linitial((yyvsp[(1) - (3)].list)));
int events2 = intVal(linitial((yyvsp[(3) - (3)].list)));
@@ -25003,47 +26901,47 @@ yyreduce:
}
break;
- case 612:
+ case 637:
/* Line 1787 of yacc.c */
-#line 4169 "gram.y"
+#line 4454 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
break;
- case 613:
+ case 638:
/* Line 1787 of yacc.c */
-#line 4171 "gram.y"
+#line 4456 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
break;
- case 614:
+ case 639:
/* Line 1787 of yacc.c */
-#line 4173 "gram.y"
+#line 4458 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
break;
- case 615:
+ case 640:
/* Line 1787 of yacc.c */
-#line 4175 "gram.y"
+#line 4460 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); }
break;
- case 616:
+ case 641:
/* Line 1787 of yacc.c */
-#line 4177 "gram.y"
+#line 4462 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
break;
- case 617:
+ case 642:
/* Line 1787 of yacc.c */
-#line 4182 "gram.y"
+#line 4467 "gram.y"
{
(yyval.boolean) = (yyvsp[(3) - (3)].boolean);
}
break;
- case 618:
+ case 643:
/* Line 1787 of yacc.c */
-#line 4186 "gram.y"
+#line 4471 "gram.y"
{
/*
* If ROW/STATEMENT not specified, default to
@@ -25053,63 +26951,63 @@ yyreduce:
}
break;
- case 619:
+ case 644:
/* Line 1787 of yacc.c */
-#line 4196 "gram.y"
+#line 4481 "gram.y"
{}
break;
- case 620:
+ case 645:
/* Line 1787 of yacc.c */
-#line 4197 "gram.y"
+#line 4482 "gram.y"
{}
break;
- case 621:
+ case 646:
/* Line 1787 of yacc.c */
-#line 4201 "gram.y"
+#line 4486 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 622:
+ case 647:
/* Line 1787 of yacc.c */
-#line 4202 "gram.y"
+#line 4487 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 623:
+ case 648:
/* Line 1787 of yacc.c */
-#line 4206 "gram.y"
+#line 4491 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); }
break;
- case 624:
+ case 649:
/* Line 1787 of yacc.c */
-#line 4207 "gram.y"
+#line 4492 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 625:
+ case 650:
/* Line 1787 of yacc.c */
-#line 4211 "gram.y"
+#line 4496 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); }
break;
- case 626:
+ case 651:
/* Line 1787 of yacc.c */
-#line 4212 "gram.y"
+#line 4497 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); }
break;
- case 627:
+ case 652:
/* Line 1787 of yacc.c */
-#line 4213 "gram.y"
+#line 4498 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 628:
+ case 653:
/* Line 1787 of yacc.c */
-#line 4218 "gram.y"
+#line 4503 "gram.y"
{
char buf[64];
snprintf(buf, sizeof(buf), "%d", (yyvsp[(1) - (1)].ival));
@@ -25117,45 +27015,45 @@ yyreduce:
}
break;
- case 629:
+ case 654:
/* Line 1787 of yacc.c */
-#line 4223 "gram.y"
+#line 4508 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); }
break;
- case 630:
+ case 655:
/* Line 1787 of yacc.c */
-#line 4224 "gram.y"
+#line 4509 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); }
break;
- case 631:
+ case 656:
/* Line 1787 of yacc.c */
-#line 4225 "gram.y"
+#line 4510 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); }
break;
- case 632:
+ case 657:
/* Line 1787 of yacc.c */
-#line 4229 "gram.y"
+#line 4514 "gram.y"
{ (yyval.range) = (yyvsp[(2) - (2)].range); }
break;
- case 633:
+ case 658:
/* Line 1787 of yacc.c */
-#line 4230 "gram.y"
+#line 4515 "gram.y"
{ (yyval.range) = NULL; }
break;
- case 634:
+ case 659:
/* Line 1787 of yacc.c */
-#line 4235 "gram.y"
+#line 4520 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 635:
+ case 660:
/* Line 1787 of yacc.c */
-#line 4237 "gram.y"
+#line 4522 "gram.y"
{
/*
* We must complain about conflicting options.
@@ -25181,45 +27079,45 @@ yyreduce:
}
break;
- case 636:
+ case 661:
/* Line 1787 of yacc.c */
-#line 4263 "gram.y"
+#line 4548 "gram.y"
{ (yyval.ival) = CAS_NOT_DEFERRABLE; }
break;
- case 637:
+ case 662:
/* Line 1787 of yacc.c */
-#line 4264 "gram.y"
+#line 4549 "gram.y"
{ (yyval.ival) = CAS_DEFERRABLE; }
break;
- case 638:
+ case 663:
/* Line 1787 of yacc.c */
-#line 4265 "gram.y"
+#line 4550 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
break;
- case 639:
+ case 664:
/* Line 1787 of yacc.c */
-#line 4266 "gram.y"
+#line 4551 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_DEFERRED; }
break;
- case 640:
+ case 665:
/* Line 1787 of yacc.c */
-#line 4267 "gram.y"
+#line 4552 "gram.y"
{ (yyval.ival) = CAS_NOT_VALID; }
break;
- case 641:
+ case 666:
/* Line 1787 of yacc.c */
-#line 4268 "gram.y"
+#line 4553 "gram.y"
{ (yyval.ival) = CAS_NO_INHERIT; }
break;
- case 642:
+ case 667:
/* Line 1787 of yacc.c */
-#line 4274 "gram.y"
+#line 4559 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TRIGGER;
@@ -25232,9 +27130,9 @@ yyreduce:
}
break;
- case 643:
+ case 668:
/* Line 1787 of yacc.c */
-#line 4285 "gram.y"
+#line 4570 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TRIGGER;
@@ -25247,9 +27145,100 @@ yyreduce:
}
break;
- case 644:
+ case 669:
+/* Line 1787 of yacc.c */
+#line 4594 "gram.y"
+ {
+ CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
+ n->trigname = (yyvsp[(4) - (11)].str);
+ n->eventname = (yyvsp[(6) - (11)].str);
+ n->whenclause = NULL;
+ n->funcname = (yyvsp[(9) - (11)].list);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 670:
+/* Line 1787 of yacc.c */
+#line 4605 "gram.y"
+ {
+ CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
+ n->trigname = (yyvsp[(4) - (13)].str);
+ n->eventname = (yyvsp[(6) - (13)].str);
+ n->whenclause = (yyvsp[(8) - (13)].list);
+ n->funcname = (yyvsp[(11) - (13)].list);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 671:
+/* Line 1787 of yacc.c */
+#line 4617 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
+ break;
+
+ case 672:
+/* Line 1787 of yacc.c */
+#line 4619 "gram.y"
+ { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
+ break;
+
+ case 673:
+/* Line 1787 of yacc.c */
+#line 4624 "gram.y"
+ { (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list)); }
+ break;
+
+ case 674:
+/* Line 1787 of yacc.c */
+#line 4629 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+ break;
+
+ case 675:
+/* Line 1787 of yacc.c */
+#line 4631 "gram.y"
+ { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
+ break;
+
+ case 676:
+/* Line 1787 of yacc.c */
+#line 4636 "gram.y"
+ {
+ AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
+ n->trigname = (yyvsp[(4) - (5)].str);
+ n->tgenabled = (yyvsp[(5) - (5)].chr);
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 677:
+/* Line 1787 of yacc.c */
+#line 4645 "gram.y"
+ { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
+ break;
+
+ case 678:
+/* Line 1787 of yacc.c */
+#line 4646 "gram.y"
+ { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
+ break;
+
+ case 679:
+/* Line 1787 of yacc.c */
+#line 4647 "gram.y"
+ { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
+ break;
+
+ case 680:
/* Line 1787 of yacc.c */
-#line 4309 "gram.y"
+#line 4648 "gram.y"
+ { (yyval.chr) = TRIGGER_DISABLED; }
+ break;
+
+ case 681:
+/* Line 1787 of yacc.c */
+#line 4662 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[(3) - (8)].str);
@@ -25267,9 +27256,9 @@ yyreduce:
}
break;
- case 645:
+ case 682:
/* Line 1787 of yacc.c */
-#line 4328 "gram.y"
+#line 4681 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = NIL;
@@ -25283,9 +27272,9 @@ yyreduce:
}
break;
- case 646:
+ case 683:
/* Line 1787 of yacc.c */
-#line 4351 "gram.y"
+#line 4704 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
@@ -25297,9 +27286,9 @@ yyreduce:
}
break;
- case 647:
+ case 684:
/* Line 1787 of yacc.c */
-#line 4361 "gram.y"
+#line 4714 "gram.y"
{
/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
DefineStmt *n = makeNode(DefineStmt);
@@ -25312,9 +27301,9 @@ yyreduce:
}
break;
- case 648:
+ case 685:
/* Line 1787 of yacc.c */
-#line 4372 "gram.y"
+#line 4725 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_OPERATOR;
@@ -25326,9 +27315,9 @@ yyreduce:
}
break;
- case 649:
+ case 686:
/* Line 1787 of yacc.c */
-#line 4382 "gram.y"
+#line 4735 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TYPE;
@@ -25340,9 +27329,9 @@ yyreduce:
}
break;
- case 650:
+ case 687:
/* Line 1787 of yacc.c */
-#line 4392 "gram.y"
+#line 4745 "gram.y"
{
/* Shell type (identified by lack of definition) */
DefineStmt *n = makeNode(DefineStmt);
@@ -25355,9 +27344,9 @@ yyreduce:
}
break;
- case 651:
+ case 688:
/* Line 1787 of yacc.c */
-#line 4403 "gram.y"
+#line 4756 "gram.y"
{
CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
@@ -25368,9 +27357,9 @@ yyreduce:
}
break;
- case 652:
+ case 689:
/* Line 1787 of yacc.c */
-#line 4412 "gram.y"
+#line 4765 "gram.y"
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typeName = (yyvsp[(3) - (8)].list);
@@ -25379,9 +27368,9 @@ yyreduce:
}
break;
- case 653:
+ case 690:
/* Line 1787 of yacc.c */
-#line 4419 "gram.y"
+#line 4772 "gram.y"
{
CreateRangeStmt *n = makeNode(CreateRangeStmt);
n->typeName = (yyvsp[(3) - (6)].list);
@@ -25390,9 +27379,9 @@ yyreduce:
}
break;
- case 654:
+ case 691:
/* Line 1787 of yacc.c */
-#line 4426 "gram.y"
+#line 4779 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSPARSER;
@@ -25403,9 +27392,9 @@ yyreduce:
}
break;
- case 655:
+ case 692:
/* Line 1787 of yacc.c */
-#line 4435 "gram.y"
+#line 4788 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSDICTIONARY;
@@ -25416,9 +27405,9 @@ yyreduce:
}
break;
- case 656:
+ case 693:
/* Line 1787 of yacc.c */
-#line 4444 "gram.y"
+#line 4797 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSTEMPLATE;
@@ -25429,9 +27418,9 @@ yyreduce:
}
break;
- case 657:
+ case 694:
/* Line 1787 of yacc.c */
-#line 4453 "gram.y"
+#line 4806 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSCONFIGURATION;
@@ -25442,9 +27431,9 @@ yyreduce:
}
break;
- case 658:
+ case 695:
/* Line 1787 of yacc.c */
-#line 4462 "gram.y"
+#line 4815 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
@@ -25455,9 +27444,9 @@ yyreduce:
}
break;
- case 659:
+ case 696:
/* Line 1787 of yacc.c */
-#line 4471 "gram.y"
+#line 4824 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
@@ -25468,174 +27457,177 @@ yyreduce:
}
break;
- case 660:
+ case 697:
/* Line 1787 of yacc.c */
-#line 4481 "gram.y"
+#line 4834 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 661:
+ case 698:
/* Line 1787 of yacc.c */
-#line 4484 "gram.y"
+#line 4837 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 662:
+ case 699:
/* Line 1787 of yacc.c */
-#line 4485 "gram.y"
+#line 4838 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
break;
- case 663:
+ case 700:
/* Line 1787 of yacc.c */
-#line 4489 "gram.y"
+#line 4842 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node));
}
break;
- case 664:
+ case 701:
/* Line 1787 of yacc.c */
-#line 4493 "gram.y"
+#line 4846 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL);
}
break;
- case 665:
+ case 702:
/* Line 1787 of yacc.c */
-#line 4499 "gram.y"
+#line 4852 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].typnam); }
break;
- case 666:
+ case 703:
/* Line 1787 of yacc.c */
-#line 4500 "gram.y"
+#line 4853 "gram.y"
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[(1) - (1)].keyword))); }
break;
- case 667:
+ case 704:
/* Line 1787 of yacc.c */
-#line 4501 "gram.y"
+#line 4854 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].list); }
break;
- case 668:
+ case 705:
/* Line 1787 of yacc.c */
-#line 4502 "gram.y"
+#line 4855 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].value); }
break;
- case 669:
+ case 706:
/* Line 1787 of yacc.c */
-#line 4503 "gram.y"
+#line 4856 "gram.y"
{ (yyval.node) = (Node *)makeString((yyvsp[(1) - (1)].str)); }
break;
- case 670:
-/* Line 1787 of yacc.c */
-#line 4506 "gram.y"
- { (yyval.list) = (yyvsp[(2) - (3)].list); }
- break;
-
- case 671:
-/* Line 1787 of yacc.c */
-#line 4507 "gram.y"
- { (yyval.list) = NIL; }
- break;
-
- case 672:
+ case 707:
/* Line 1787 of yacc.c */
-#line 4510 "gram.y"
+#line 4859 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 673:
+ case 708:
/* Line 1787 of yacc.c */
-#line 4513 "gram.y"
+#line 4862 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 674:
+ case 709:
/* Line 1787 of yacc.c */
-#line 4514 "gram.y"
+#line 4863 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
break;
- case 675:
+ case 710:
/* Line 1787 of yacc.c */
-#line 4523 "gram.y"
+#line 4872 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)(yyvsp[(3) - (3)].node));
}
break;
- case 676:
+ case 711:
/* Line 1787 of yacc.c */
-#line 4529 "gram.y"
+#line 4878 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 677:
+ case 712:
/* Line 1787 of yacc.c */
-#line 4530 "gram.y"
+#line 4879 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 678:
+ case 713:
/* Line 1787 of yacc.c */
-#line 4534 "gram.y"
+#line 4883 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 679:
+ case 714:
/* Line 1787 of yacc.c */
-#line 4536 "gram.y"
+#line 4885 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
break;
- case 680:
+ case 715:
/* Line 1787 of yacc.c */
-#line 4547 "gram.y"
+#line 4896 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
- n->typeName = (yyvsp[(3) - (6)].list);
- n->newVal = (yyvsp[(6) - (6)].str);
+ n->typeName = (yyvsp[(3) - (7)].list);
+ n->newVal = (yyvsp[(7) - (7)].str);
n->newValNeighbor = NULL;
n->newValIsAfter = true;
+ n->skipIfExists = (yyvsp[(6) - (7)].boolean);
(yyval.node) = (Node *) n;
}
break;
- case 681:
+ case 716:
/* Line 1787 of yacc.c */
-#line 4556 "gram.y"
+#line 4906 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
- n->typeName = (yyvsp[(3) - (8)].list);
- n->newVal = (yyvsp[(6) - (8)].str);
- n->newValNeighbor = (yyvsp[(8) - (8)].str);
+ n->typeName = (yyvsp[(3) - (9)].list);
+ n->newVal = (yyvsp[(7) - (9)].str);
+ n->newValNeighbor = (yyvsp[(9) - (9)].str);
n->newValIsAfter = false;
+ n->skipIfExists = (yyvsp[(6) - (9)].boolean);
(yyval.node) = (Node *) n;
}
break;
- case 682:
+ case 717:
/* Line 1787 of yacc.c */
-#line 4565 "gram.y"
+#line 4916 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
- n->typeName = (yyvsp[(3) - (8)].list);
- n->newVal = (yyvsp[(6) - (8)].str);
- n->newValNeighbor = (yyvsp[(8) - (8)].str);
+ n->typeName = (yyvsp[(3) - (9)].list);
+ n->newVal = (yyvsp[(7) - (9)].str);
+ n->newValNeighbor = (yyvsp[(9) - (9)].str);
n->newValIsAfter = true;
+ n->skipIfExists = (yyvsp[(6) - (9)].boolean);
(yyval.node) = (Node *) n;
}
break;
- case 683:
+ case 718:
+/* Line 1787 of yacc.c */
+#line 4927 "gram.y"
+ { (yyval.boolean) = true; }
+ break;
+
+ case 719:
+/* Line 1787 of yacc.c */
+#line 4928 "gram.y"
+ { (yyval.boolean) = false; }
+ break;
+
+ case 720:
/* Line 1787 of yacc.c */
-#line 4590 "gram.y"
+#line 4946 "gram.y"
{
CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
n->opclassname = (yyvsp[(4) - (13)].list);
@@ -25648,21 +27640,21 @@ yyreduce:
}
break;
- case 684:
+ case 721:
/* Line 1787 of yacc.c */
-#line 4603 "gram.y"
+#line 4959 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 685:
+ case 722:
/* Line 1787 of yacc.c */
-#line 4604 "gram.y"
+#line 4960 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 686:
+ case 723:
/* Line 1787 of yacc.c */
-#line 4609 "gram.y"
+#line 4965 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
@@ -25674,9 +27666,9 @@ yyreduce:
}
break;
- case 687:
+ case 724:
/* Line 1787 of yacc.c */
-#line 4620 "gram.y"
+#line 4976 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
@@ -25688,9 +27680,9 @@ yyreduce:
}
break;
- case 688:
+ case 725:
/* Line 1787 of yacc.c */
-#line 4630 "gram.y"
+#line 4986 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
@@ -25701,9 +27693,9 @@ yyreduce:
}
break;
- case 689:
+ case 726:
/* Line 1787 of yacc.c */
-#line 4639 "gram.y"
+#line 4995 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
@@ -25715,9 +27707,9 @@ yyreduce:
}
break;
- case 690:
+ case 727:
/* Line 1787 of yacc.c */
-#line 4649 "gram.y"
+#line 5005 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
@@ -25726,51 +27718,51 @@ yyreduce:
}
break;
- case 691:
+ case 728:
/* Line 1787 of yacc.c */
-#line 4657 "gram.y"
+#line 5013 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 692:
+ case 729:
/* Line 1787 of yacc.c */
-#line 4658 "gram.y"
+#line 5014 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 693:
+ case 730:
/* Line 1787 of yacc.c */
-#line 4661 "gram.y"
+#line 5017 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 694:
+ case 731:
/* Line 1787 of yacc.c */
-#line 4662 "gram.y"
+#line 5018 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 695:
+ case 732:
/* Line 1787 of yacc.c */
-#line 4665 "gram.y"
+#line 5021 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 696:
+ case 733:
/* Line 1787 of yacc.c */
-#line 4666 "gram.y"
+#line 5022 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (4)].list); }
break;
- case 697:
+ case 734:
/* Line 1787 of yacc.c */
-#line 4667 "gram.y"
+#line 5023 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 698:
+ case 735:
/* Line 1787 of yacc.c */
-#line 4671 "gram.y"
+#line 5027 "gram.y"
{
/*
* RECHECK no longer does anything in opclass definitions,
@@ -25786,15 +27778,15 @@ yyreduce:
}
break;
- case 699:
+ case 736:
/* Line 1787 of yacc.c */
-#line 4684 "gram.y"
+#line 5040 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 700:
+ case 737:
/* Line 1787 of yacc.c */
-#line 4690 "gram.y"
+#line 5046 "gram.y"
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (6)].list);
@@ -25803,9 +27795,9 @@ yyreduce:
}
break;
- case 701:
+ case 738:
/* Line 1787 of yacc.c */
-#line 4700 "gram.y"
+#line 5056 "gram.y"
{
AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (8)].list);
@@ -25816,9 +27808,9 @@ yyreduce:
}
break;
- case 702:
+ case 739:
/* Line 1787 of yacc.c */
-#line 4709 "gram.y"
+#line 5065 "gram.y"
{
AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (8)].list);
@@ -25829,21 +27821,21 @@ yyreduce:
}
break;
- case 703:
+ case 740:
/* Line 1787 of yacc.c */
-#line 4720 "gram.y"
+#line 5076 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 704:
+ case 741:
/* Line 1787 of yacc.c */
-#line 4721 "gram.y"
+#line 5077 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 705:
+ case 742:
/* Line 1787 of yacc.c */
-#line 4726 "gram.y"
+#line 5082 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
@@ -25853,9 +27845,9 @@ yyreduce:
}
break;
- case 706:
+ case 743:
/* Line 1787 of yacc.c */
-#line 4734 "gram.y"
+#line 5090 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
@@ -25865,9 +27857,9 @@ yyreduce:
}
break;
- case 707:
+ case 744:
/* Line 1787 of yacc.c */
-#line 4746 "gram.y"
+#line 5102 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1((yyvsp[(4) - (7)].list));
@@ -25880,9 +27872,9 @@ yyreduce:
}
break;
- case 708:
+ case 745:
/* Line 1787 of yacc.c */
-#line 4757 "gram.y"
+#line 5113 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1((yyvsp[(6) - (9)].list));
@@ -25895,9 +27887,9 @@ yyreduce:
}
break;
- case 709:
+ case 746:
/* Line 1787 of yacc.c */
-#line 4771 "gram.y"
+#line 5127 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1((yyvsp[(4) - (7)].list));
@@ -25910,9 +27902,9 @@ yyreduce:
}
break;
- case 710:
+ case 747:
/* Line 1787 of yacc.c */
-#line 4782 "gram.y"
+#line 5138 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1((yyvsp[(6) - (9)].list));
@@ -25925,9 +27917,9 @@ yyreduce:
}
break;
- case 711:
+ case 748:
/* Line 1787 of yacc.c */
-#line 4805 "gram.y"
+#line 5161 "gram.y"
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[(4) - (5)].list);
@@ -25936,9 +27928,9 @@ yyreduce:
}
break;
- case 712:
+ case 749:
/* Line 1787 of yacc.c */
-#line 4815 "gram.y"
+#line 5171 "gram.y"
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[(4) - (6)].list);
@@ -25947,9 +27939,9 @@ yyreduce:
}
break;
- case 713:
+ case 750:
/* Line 1787 of yacc.c */
-#line 4833 "gram.y"
+#line 5189 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (6)].objtype);
@@ -25962,9 +27954,9 @@ yyreduce:
}
break;
- case 714:
+ case 751:
/* Line 1787 of yacc.c */
-#line 4844 "gram.y"
+#line 5200 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (4)].objtype);
@@ -25977,9 +27969,9 @@ yyreduce:
}
break;
- case 715:
+ case 752:
/* Line 1787 of yacc.c */
-#line 4855 "gram.y"
+#line 5211 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_INDEX;
@@ -25992,9 +27984,9 @@ yyreduce:
}
break;
- case 716:
+ case 753:
/* Line 1787 of yacc.c */
-#line 4866 "gram.y"
+#line 5222 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_INDEX;
@@ -26007,135 +27999,147 @@ yyreduce:
}
break;
- case 717:
+ case 754:
/* Line 1787 of yacc.c */
-#line 4879 "gram.y"
+#line 5235 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; }
break;
- case 718:
+ case 755:
/* Line 1787 of yacc.c */
-#line 4880 "gram.y"
+#line 5236 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; }
break;
- case 719:
+ case 756:
/* Line 1787 of yacc.c */
-#line 4881 "gram.y"
+#line 5237 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; }
break;
- case 720:
+ case 757:
+/* Line 1787 of yacc.c */
+#line 5238 "gram.y"
+ { (yyval.objtype) = OBJECT_MATVIEW; }
+ break;
+
+ case 758:
/* Line 1787 of yacc.c */
-#line 4882 "gram.y"
+#line 5239 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; }
break;
- case 721:
+ case 759:
/* Line 1787 of yacc.c */
-#line 4883 "gram.y"
+#line 5240 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
break;
- case 722:
+ case 760:
/* Line 1787 of yacc.c */
-#line 4884 "gram.y"
+#line 5241 "gram.y"
+ { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
+ break;
+
+ case 761:
+/* Line 1787 of yacc.c */
+#line 5242 "gram.y"
{ (yyval.objtype) = OBJECT_TYPE; }
break;
- case 723:
+ case 762:
/* Line 1787 of yacc.c */
-#line 4885 "gram.y"
+#line 5243 "gram.y"
{ (yyval.objtype) = OBJECT_DOMAIN; }
break;
- case 724:
+ case 763:
/* Line 1787 of yacc.c */
-#line 4886 "gram.y"
+#line 5244 "gram.y"
{ (yyval.objtype) = OBJECT_COLLATION; }
break;
- case 725:
+ case 764:
/* Line 1787 of yacc.c */
-#line 4887 "gram.y"
+#line 5245 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; }
break;
- case 726:
+ case 765:
/* Line 1787 of yacc.c */
-#line 4888 "gram.y"
+#line 5246 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; }
break;
- case 727:
+ case 766:
/* Line 1787 of yacc.c */
-#line 4889 "gram.y"
+#line 5247 "gram.y"
{ (yyval.objtype) = OBJECT_EXTENSION; }
break;
- case 728:
+ case 767:
/* Line 1787 of yacc.c */
-#line 4890 "gram.y"
+#line 5248 "gram.y"
{ (yyval.objtype) = OBJECT_TSPARSER; }
break;
- case 729:
+ case 768:
/* Line 1787 of yacc.c */
-#line 4891 "gram.y"
+#line 5249 "gram.y"
{ (yyval.objtype) = OBJECT_TSDICTIONARY; }
break;
- case 730:
+ case 769:
/* Line 1787 of yacc.c */
-#line 4892 "gram.y"
+#line 5250 "gram.y"
{ (yyval.objtype) = OBJECT_TSTEMPLATE; }
break;
- case 731:
+ case 770:
/* Line 1787 of yacc.c */
-#line 4893 "gram.y"
+#line 5251 "gram.y"
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; }
break;
- case 732:
+ case 771:
/* Line 1787 of yacc.c */
-#line 4897 "gram.y"
+#line 5255 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); }
break;
- case 733:
+ case 772:
/* Line 1787 of yacc.c */
-#line 4898 "gram.y"
+#line 5256 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); }
break;
- case 734:
+ case 773:
/* Line 1787 of yacc.c */
-#line 4901 "gram.y"
+#line 5259 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 735:
+ case 774:
/* Line 1787 of yacc.c */
-#line 4902 "gram.y"
+#line 5260 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); }
break;
- case 736:
+ case 775:
/* Line 1787 of yacc.c */
-#line 4906 "gram.y"
+#line 5264 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); }
break;
- case 737:
+ case 776:
/* Line 1787 of yacc.c */
-#line 4908 "gram.y"
+#line 5266 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
break;
- case 738:
+ case 777:
/* Line 1787 of yacc.c */
-#line 4921 "gram.y"
+#line 5279 "gram.y"
{
TruncateStmt *n = makeNode(TruncateStmt);
n->relations = (yyvsp[(3) - (5)].list);
@@ -26145,27 +28149,27 @@ yyreduce:
}
break;
- case 739:
+ case 778:
/* Line 1787 of yacc.c */
-#line 4931 "gram.y"
+#line 5289 "gram.y"
{ (yyval.boolean) = false; }
break;
- case 740:
+ case 779:
/* Line 1787 of yacc.c */
-#line 4932 "gram.y"
+#line 5290 "gram.y"
{ (yyval.boolean) = true; }
break;
- case 741:
+ case 780:
/* Line 1787 of yacc.c */
-#line 4933 "gram.y"
+#line 5291 "gram.y"
{ (yyval.boolean) = false; }
break;
- case 742:
+ case 781:
/* Line 1787 of yacc.c */
-#line 4960 "gram.y"
+#line 5324 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = (yyvsp[(3) - (6)].objtype);
@@ -26176,22 +28180,22 @@ yyreduce:
}
break;
- case 743:
+ case 782:
/* Line 1787 of yacc.c */
-#line 4969 "gram.y"
+#line 5333 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_AGGREGATE;
n->objname = (yyvsp[(4) - (7)].list);
- n->objargs = (yyvsp[(5) - (7)].list);
+ n->objargs = extractAggrArgTypes((yyvsp[(5) - (7)].list));
n->comment = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
}
break;
- case 744:
+ case 783:
/* Line 1787 of yacc.c */
-#line 4978 "gram.y"
+#line 5342 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_FUNCTION;
@@ -26202,9 +28206,9 @@ yyreduce:
}
break;
- case 745:
+ case 784:
/* Line 1787 of yacc.c */
-#line 4987 "gram.y"
+#line 5351 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPERATOR;
@@ -26215,9 +28219,9 @@ yyreduce:
}
break;
- case 746:
+ case 785:
/* Line 1787 of yacc.c */
-#line 4996 "gram.y"
+#line 5360 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_CONSTRAINT;
@@ -26228,9 +28232,9 @@ yyreduce:
}
break;
- case 747:
+ case 786:
/* Line 1787 of yacc.c */
-#line 5005 "gram.y"
+#line 5369 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_RULE;
@@ -26241,9 +28245,9 @@ yyreduce:
}
break;
- case 748:
+ case 787:
/* Line 1787 of yacc.c */
-#line 5014 "gram.y"
+#line 5378 "gram.y"
{
/* Obsolete syntax supported for awhile for compatibility */
CommentStmt *n = makeNode(CommentStmt);
@@ -26255,9 +28259,9 @@ yyreduce:
}
break;
- case 749:
+ case 788:
/* Line 1787 of yacc.c */
-#line 5024 "gram.y"
+#line 5388 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TRIGGER;
@@ -26268,9 +28272,9 @@ yyreduce:
}
break;
- case 750:
+ case 789:
/* Line 1787 of yacc.c */
-#line 5033 "gram.y"
+#line 5397 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPCLASS;
@@ -26281,9 +28285,9 @@ yyreduce:
}
break;
- case 751:
+ case 790:
/* Line 1787 of yacc.c */
-#line 5042 "gram.y"
+#line 5406 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPFAMILY;
@@ -26294,9 +28298,9 @@ yyreduce:
}
break;
- case 752:
+ case 791:
/* Line 1787 of yacc.c */
-#line 5051 "gram.y"
+#line 5415 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LARGEOBJECT;
@@ -26307,9 +28311,9 @@ yyreduce:
}
break;
- case 753:
+ case 792:
/* Line 1787 of yacc.c */
-#line 5060 "gram.y"
+#line 5424 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_CAST;
@@ -26320,9 +28324,9 @@ yyreduce:
}
break;
- case 754:
+ case 793:
/* Line 1787 of yacc.c */
-#line 5069 "gram.y"
+#line 5433 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LANGUAGE;
@@ -26333,171 +28337,159 @@ yyreduce:
}
break;
- case 755:
-/* Line 1787 of yacc.c */
-#line 5078 "gram.y"
- {
- CommentStmt *n = makeNode(CommentStmt);
- n->objtype = OBJECT_TSPARSER;
- n->objname = (yyvsp[(6) - (8)].list);
- n->comment = (yyvsp[(8) - (8)].str);
- (yyval.node) = (Node *) n;
- }
- break;
-
- case 756:
-/* Line 1787 of yacc.c */
-#line 5086 "gram.y"
- {
- CommentStmt *n = makeNode(CommentStmt);
- n->objtype = OBJECT_TSDICTIONARY;
- n->objname = (yyvsp[(6) - (8)].list);
- n->comment = (yyvsp[(8) - (8)].str);
- (yyval.node) = (Node *) n;
- }
- break;
-
- case 757:
-/* Line 1787 of yacc.c */
-#line 5094 "gram.y"
- {
- CommentStmt *n = makeNode(CommentStmt);
- n->objtype = OBJECT_TSTEMPLATE;
- n->objname = (yyvsp[(6) - (8)].list);
- n->comment = (yyvsp[(8) - (8)].str);
- (yyval.node) = (Node *) n;
- }
- break;
-
- case 758:
-/* Line 1787 of yacc.c */
-#line 5102 "gram.y"
- {
- CommentStmt *n = makeNode(CommentStmt);
- n->objtype = OBJECT_TSCONFIGURATION;
- n->objname = (yyvsp[(6) - (8)].list);
- n->comment = (yyvsp[(8) - (8)].str);
- (yyval.node) = (Node *) n;
- }
- break;
-
- case 759:
+ case 794:
/* Line 1787 of yacc.c */
-#line 5112 "gram.y"
+#line 5444 "gram.y"
{ (yyval.objtype) = OBJECT_COLUMN; }
break;
- case 760:
+ case 795:
/* Line 1787 of yacc.c */
-#line 5113 "gram.y"
+#line 5445 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; }
break;
- case 761:
+ case 796:
/* Line 1787 of yacc.c */
-#line 5114 "gram.y"
+#line 5446 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; }
break;
- case 762:
+ case 797:
/* Line 1787 of yacc.c */
-#line 5115 "gram.y"
+#line 5447 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; }
break;
- case 763:
+ case 798:
/* Line 1787 of yacc.c */
-#line 5116 "gram.y"
+#line 5448 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; }
break;
- case 764:
+ case 799:
/* Line 1787 of yacc.c */
-#line 5117 "gram.y"
+#line 5449 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; }
break;
- case 765:
+ case 800:
/* Line 1787 of yacc.c */
-#line 5118 "gram.y"
+#line 5450 "gram.y"
{ (yyval.objtype) = OBJECT_DOMAIN; }
break;
- case 766:
+ case 801:
/* Line 1787 of yacc.c */
-#line 5119 "gram.y"
+#line 5451 "gram.y"
{ (yyval.objtype) = OBJECT_TYPE; }
break;
- case 767:
+ case 802:
/* Line 1787 of yacc.c */
-#line 5120 "gram.y"
+#line 5452 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; }
break;
- case 768:
+ case 803:
+/* Line 1787 of yacc.c */
+#line 5453 "gram.y"
+ { (yyval.objtype) = OBJECT_MATVIEW; }
+ break;
+
+ case 804:
/* Line 1787 of yacc.c */
-#line 5121 "gram.y"
+#line 5454 "gram.y"
{ (yyval.objtype) = OBJECT_COLLATION; }
break;
- case 769:
+ case 805:
/* Line 1787 of yacc.c */
-#line 5122 "gram.y"
+#line 5455 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; }
break;
- case 770:
+ case 806:
/* Line 1787 of yacc.c */
-#line 5123 "gram.y"
+#line 5456 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; }
break;
- case 771:
+ case 807:
/* Line 1787 of yacc.c */
-#line 5124 "gram.y"
+#line 5457 "gram.y"
{ (yyval.objtype) = OBJECT_EXTENSION; }
break;
- case 772:
+ case 808:
/* Line 1787 of yacc.c */
-#line 5125 "gram.y"
+#line 5458 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; }
break;
- case 773:
+ case 809:
/* Line 1787 of yacc.c */
-#line 5126 "gram.y"
+#line 5459 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
break;
- case 774:
+ case 810:
/* Line 1787 of yacc.c */
-#line 5127 "gram.y"
+#line 5460 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
break;
- case 775:
+ case 811:
/* Line 1787 of yacc.c */
-#line 5128 "gram.y"
+#line 5461 "gram.y"
{ (yyval.objtype) = OBJECT_FDW; }
break;
- case 776:
+ case 812:
+/* Line 1787 of yacc.c */
+#line 5462 "gram.y"
+ { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
+ break;
+
+ case 813:
/* Line 1787 of yacc.c */
-#line 5132 "gram.y"
+#line 5463 "gram.y"
+ { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
+ break;
+
+ case 814:
+/* Line 1787 of yacc.c */
+#line 5464 "gram.y"
+ { (yyval.objtype) = OBJECT_TSDICTIONARY; }
+ break;
+
+ case 815:
+/* Line 1787 of yacc.c */
+#line 5465 "gram.y"
+ { (yyval.objtype) = OBJECT_TSPARSER; }
+ break;
+
+ case 816:
+/* Line 1787 of yacc.c */
+#line 5466 "gram.y"
+ { (yyval.objtype) = OBJECT_TSTEMPLATE; }
+ break;
+
+ case 817:
+/* Line 1787 of yacc.c */
+#line 5470 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 777:
+ case 818:
/* Line 1787 of yacc.c */
-#line 5133 "gram.y"
+#line 5471 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 778:
+ case 819:
/* Line 1787 of yacc.c */
-#line 5149 "gram.y"
+#line 5487 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
@@ -26509,23 +28501,23 @@ yyreduce:
}
break;
- case 779:
+ case 820:
/* Line 1787 of yacc.c */
-#line 5160 "gram.y"
+#line 5498 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
n->objtype = OBJECT_AGGREGATE;
n->objname = (yyvsp[(6) - (9)].list);
- n->objargs = (yyvsp[(7) - (9)].list);
+ n->objargs = extractAggrArgTypes((yyvsp[(7) - (9)].list));
n->label = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
}
break;
- case 780:
+ case 821:
/* Line 1787 of yacc.c */
-#line 5171 "gram.y"
+#line 5509 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
@@ -26537,9 +28529,9 @@ yyreduce:
}
break;
- case 781:
+ case 822:
/* Line 1787 of yacc.c */
-#line 5182 "gram.y"
+#line 5520 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
@@ -26551,9 +28543,9 @@ yyreduce:
}
break;
- case 782:
+ case 823:
/* Line 1787 of yacc.c */
-#line 5193 "gram.y"
+#line 5531 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
@@ -26565,99 +28557,111 @@ yyreduce:
}
break;
- case 783:
+ case 824:
/* Line 1787 of yacc.c */
-#line 5204 "gram.y"
+#line 5542 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
- case 784:
+ case 825:
/* Line 1787 of yacc.c */
-#line 5205 "gram.y"
+#line 5543 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 785:
+ case 826:
/* Line 1787 of yacc.c */
-#line 5209 "gram.y"
+#line 5547 "gram.y"
{ (yyval.objtype) = OBJECT_COLUMN; }
break;
- case 786:
+ case 827:
/* Line 1787 of yacc.c */
-#line 5210 "gram.y"
+#line 5548 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; }
break;
- case 787:
+ case 828:
/* Line 1787 of yacc.c */
-#line 5211 "gram.y"
+#line 5549 "gram.y"
+ { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
+ break;
+
+ case 829:
+/* Line 1787 of yacc.c */
+#line 5550 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
break;
- case 788:
+ case 830:
/* Line 1787 of yacc.c */
-#line 5212 "gram.y"
+#line 5551 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; }
break;
- case 789:
+ case 831:
/* Line 1787 of yacc.c */
-#line 5213 "gram.y"
+#line 5552 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; }
break;
- case 790:
+ case 832:
/* Line 1787 of yacc.c */
-#line 5214 "gram.y"
+#line 5553 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; }
break;
- case 791:
+ case 833:
/* Line 1787 of yacc.c */
-#line 5215 "gram.y"
+#line 5554 "gram.y"
{ (yyval.objtype) = OBJECT_TYPE; }
break;
- case 792:
+ case 834:
/* Line 1787 of yacc.c */
-#line 5216 "gram.y"
+#line 5555 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; }
break;
- case 793:
+ case 835:
/* Line 1787 of yacc.c */
-#line 5217 "gram.y"
+#line 5556 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; }
break;
- case 794:
+ case 836:
/* Line 1787 of yacc.c */
-#line 5218 "gram.y"
+#line 5557 "gram.y"
{ (yyval.objtype) = OBJECT_TYPE; }
break;
- case 795:
+ case 837:
/* Line 1787 of yacc.c */
-#line 5219 "gram.y"
+#line 5558 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; }
break;
- case 796:
+ case 838:
/* Line 1787 of yacc.c */
-#line 5222 "gram.y"
+#line 5559 "gram.y"
+ { (yyval.objtype) = OBJECT_MATVIEW; }
+ break;
+
+ case 839:
+/* Line 1787 of yacc.c */
+#line 5562 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 797:
+ case 840:
/* Line 1787 of yacc.c */
-#line 5223 "gram.y"
+#line 5563 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 798:
+ case 841:
/* Line 1787 of yacc.c */
-#line 5234 "gram.y"
+#line 5574 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = FALSE;
@@ -26665,9 +28669,9 @@ yyreduce:
}
break;
- case 799:
+ case 842:
/* Line 1787 of yacc.c */
-#line 5240 "gram.y"
+#line 5580 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = TRUE;
@@ -26675,9 +28679,9 @@ yyreduce:
}
break;
- case 800:
+ case 843:
/* Line 1787 of yacc.c */
-#line 5248 "gram.y"
+#line 5588 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(1) - (1)].str);
@@ -26687,9 +28691,9 @@ yyreduce:
}
break;
- case 801:
+ case 844:
/* Line 1787 of yacc.c */
-#line 5256 "gram.y"
+#line 5596 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(2) - (2)].str);
@@ -26699,9 +28703,9 @@ yyreduce:
}
break;
- case 802:
+ case 845:
/* Line 1787 of yacc.c */
-#line 5264 "gram.y"
+#line 5604 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
@@ -26711,9 +28715,9 @@ yyreduce:
}
break;
- case 803:
+ case 846:
/* Line 1787 of yacc.c */
-#line 5272 "gram.y"
+#line 5612 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
@@ -26723,9 +28727,9 @@ yyreduce:
}
break;
- case 804:
+ case 847:
/* Line 1787 of yacc.c */
-#line 5280 "gram.y"
+#line 5620 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
@@ -26735,9 +28739,9 @@ yyreduce:
}
break;
- case 805:
+ case 848:
/* Line 1787 of yacc.c */
-#line 5288 "gram.y"
+#line 5628 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
@@ -26747,9 +28751,9 @@ yyreduce:
}
break;
- case 806:
+ case 849:
/* Line 1787 of yacc.c */
-#line 5296 "gram.y"
+#line 5636 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
@@ -26759,9 +28763,9 @@ yyreduce:
}
break;
- case 807:
+ case 850:
/* Line 1787 of yacc.c */
-#line 5304 "gram.y"
+#line 5644 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
@@ -26771,9 +28775,9 @@ yyreduce:
}
break;
- case 808:
+ case 851:
/* Line 1787 of yacc.c */
-#line 5312 "gram.y"
+#line 5652 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
@@ -26783,9 +28787,9 @@ yyreduce:
}
break;
- case 809:
+ case 852:
/* Line 1787 of yacc.c */
-#line 5320 "gram.y"
+#line 5660 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
@@ -26795,9 +28799,9 @@ yyreduce:
}
break;
- case 810:
+ case 853:
/* Line 1787 of yacc.c */
-#line 5328 "gram.y"
+#line 5668 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
@@ -26807,9 +28811,9 @@ yyreduce:
}
break;
- case 811:
+ case 854:
/* Line 1787 of yacc.c */
-#line 5336 "gram.y"
+#line 5676 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
@@ -26819,9 +28823,9 @@ yyreduce:
}
break;
- case 812:
+ case 855:
/* Line 1787 of yacc.c */
-#line 5344 "gram.y"
+#line 5684 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
@@ -26831,9 +28835,9 @@ yyreduce:
}
break;
- case 813:
+ case 856:
/* Line 1787 of yacc.c */
-#line 5352 "gram.y"
+#line 5692 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
@@ -26843,9 +28847,9 @@ yyreduce:
}
break;
- case 814:
+ case 857:
/* Line 1787 of yacc.c */
-#line 5360 "gram.y"
+#line 5700 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
@@ -26855,9 +28859,9 @@ yyreduce:
}
break;
- case 815:
+ case 858:
/* Line 1787 of yacc.c */
-#line 5368 "gram.y"
+#line 5708 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
@@ -26867,33 +28871,33 @@ yyreduce:
}
break;
- case 816:
+ case 859:
/* Line 1787 of yacc.c */
-#line 5377 "gram.y"
+#line 5717 "gram.y"
{}
break;
- case 817:
+ case 860:
/* Line 1787 of yacc.c */
-#line 5378 "gram.y"
+#line 5718 "gram.y"
{}
break;
- case 818:
+ case 861:
/* Line 1787 of yacc.c */
-#line 5381 "gram.y"
+#line 5721 "gram.y"
{}
break;
- case 819:
+ case 862:
/* Line 1787 of yacc.c */
-#line 5382 "gram.y"
+#line 5722 "gram.y"
{}
break;
- case 820:
+ case 863:
/* Line 1787 of yacc.c */
-#line 5394 "gram.y"
+#line 5734 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
@@ -26907,9 +28911,9 @@ yyreduce:
}
break;
- case 821:
+ case 864:
/* Line 1787 of yacc.c */
-#line 5410 "gram.y"
+#line 5750 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
@@ -26924,9 +28928,9 @@ yyreduce:
}
break;
- case 822:
+ case 865:
/* Line 1787 of yacc.c */
-#line 5424 "gram.y"
+#line 5764 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
@@ -26941,27 +28945,27 @@ yyreduce:
}
break;
- case 823:
+ case 866:
/* Line 1787 of yacc.c */
-#line 5449 "gram.y"
+#line 5789 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 824:
+ case 867:
/* Line 1787 of yacc.c */
-#line 5451 "gram.y"
+#line 5791 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 825:
+ case 868:
/* Line 1787 of yacc.c */
-#line 5453 "gram.y"
+#line 5793 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 826:
+ case 869:
/* Line 1787 of yacc.c */
-#line 5455 "gram.y"
+#line 5795 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
@@ -26970,9 +28974,9 @@ yyreduce:
}
break;
- case 827:
+ case 870:
/* Line 1787 of yacc.c */
-#line 5462 "gram.y"
+#line 5802 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
@@ -26981,21 +28985,21 @@ yyreduce:
}
break;
- case 828:
+ case 871:
/* Line 1787 of yacc.c */
-#line 5470 "gram.y"
+#line 5810 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); }
break;
- case 829:
+ case 872:
/* Line 1787 of yacc.c */
-#line 5471 "gram.y"
+#line 5811 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); }
break;
- case 830:
+ case 873:
/* Line 1787 of yacc.c */
-#line 5475 "gram.y"
+#line 5815 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
@@ -27004,9 +29008,9 @@ yyreduce:
}
break;
- case 831:
+ case 874:
/* Line 1787 of yacc.c */
-#line 5482 "gram.y"
+#line 5822 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
@@ -27015,9 +29019,9 @@ yyreduce:
}
break;
- case 832:
+ case 875:
/* Line 1787 of yacc.c */
-#line 5489 "gram.y"
+#line 5829 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
@@ -27026,9 +29030,9 @@ yyreduce:
}
break;
- case 833:
+ case 876:
/* Line 1787 of yacc.c */
-#line 5496 "gram.y"
+#line 5836 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = (yyvsp[(1) - (2)].str);
@@ -27037,9 +29041,9 @@ yyreduce:
}
break;
- case 834:
+ case 877:
/* Line 1787 of yacc.c */
-#line 5510 "gram.y"
+#line 5850 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27049,9 +29053,9 @@ yyreduce:
}
break;
- case 835:
+ case 878:
/* Line 1787 of yacc.c */
-#line 5518 "gram.y"
+#line 5858 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27061,9 +29065,9 @@ yyreduce:
}
break;
- case 836:
+ case 879:
/* Line 1787 of yacc.c */
-#line 5526 "gram.y"
+#line 5866 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27073,9 +29077,9 @@ yyreduce:
}
break;
- case 837:
+ case 880:
/* Line 1787 of yacc.c */
-#line 5534 "gram.y"
+#line 5874 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27085,9 +29089,9 @@ yyreduce:
}
break;
- case 838:
+ case 881:
/* Line 1787 of yacc.c */
-#line 5542 "gram.y"
+#line 5882 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27097,9 +29101,9 @@ yyreduce:
}
break;
- case 839:
+ case 882:
/* Line 1787 of yacc.c */
-#line 5550 "gram.y"
+#line 5890 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27109,9 +29113,9 @@ yyreduce:
}
break;
- case 840:
+ case 883:
/* Line 1787 of yacc.c */
-#line 5558 "gram.y"
+#line 5898 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27121,9 +29125,9 @@ yyreduce:
}
break;
- case 841:
+ case 884:
/* Line 1787 of yacc.c */
-#line 5566 "gram.y"
+#line 5906 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27133,9 +29137,9 @@ yyreduce:
}
break;
- case 842:
+ case 885:
/* Line 1787 of yacc.c */
-#line 5574 "gram.y"
+#line 5914 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27145,9 +29149,9 @@ yyreduce:
}
break;
- case 843:
+ case 886:
/* Line 1787 of yacc.c */
-#line 5582 "gram.y"
+#line 5922 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27157,9 +29161,9 @@ yyreduce:
}
break;
- case 844:
+ case 887:
/* Line 1787 of yacc.c */
-#line 5590 "gram.y"
+#line 5930 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27169,9 +29173,9 @@ yyreduce:
}
break;
- case 845:
+ case 888:
/* Line 1787 of yacc.c */
-#line 5598 "gram.y"
+#line 5938 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27181,9 +29185,9 @@ yyreduce:
}
break;
- case 846:
+ case 889:
/* Line 1787 of yacc.c */
-#line 5606 "gram.y"
+#line 5946 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
@@ -27193,9 +29197,9 @@ yyreduce:
}
break;
- case 847:
+ case 890:
/* Line 1787 of yacc.c */
-#line 5614 "gram.y"
+#line 5954 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
@@ -27205,9 +29209,9 @@ yyreduce:
}
break;
- case 848:
+ case 891:
/* Line 1787 of yacc.c */
-#line 5622 "gram.y"
+#line 5962 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
@@ -27217,9 +29221,9 @@ yyreduce:
}
break;
- case 849:
+ case 892:
/* Line 1787 of yacc.c */
-#line 5630 "gram.y"
+#line 5970 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
@@ -27229,21 +29233,21 @@ yyreduce:
}
break;
- case 850:
+ case 893:
/* Line 1787 of yacc.c */
-#line 5641 "gram.y"
+#line 5981 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 851:
+ case 894:
/* Line 1787 of yacc.c */
-#line 5642 "gram.y"
+#line 5982 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 852:
+ case 895:
/* Line 1787 of yacc.c */
-#line 5646 "gram.y"
+#line 5986 "gram.y"
{
PrivGrantee *n = makeNode(PrivGrantee);
/* This hack lets us avoid reserving PUBLIC as a keyword*/
@@ -27255,9 +29259,9 @@ yyreduce:
}
break;
- case 853:
+ case 896:
/* Line 1787 of yacc.c */
-#line 5656 "gram.y"
+#line 5996 "gram.y"
{
PrivGrantee *n = makeNode(PrivGrantee);
/* Treat GROUP PUBLIC as a synonym for PUBLIC */
@@ -27269,33 +29273,33 @@ yyreduce:
}
break;
- case 854:
+ case 897:
/* Line 1787 of yacc.c */
-#line 5669 "gram.y"
+#line 6009 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 855:
+ case 898:
/* Line 1787 of yacc.c */
-#line 5670 "gram.y"
+#line 6010 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 856:
+ case 899:
/* Line 1787 of yacc.c */
-#line 5674 "gram.y"
+#line 6014 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].funwithargs)); }
break;
- case 857:
+ case 900:
/* Line 1787 of yacc.c */
-#line 5676 "gram.y"
+#line 6016 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].funwithargs)); }
break;
- case 858:
+ case 901:
/* Line 1787 of yacc.c */
-#line 5681 "gram.y"
+#line 6021 "gram.y"
{
FuncWithArgs *n = makeNode(FuncWithArgs);
n->funcname = (yyvsp[(1) - (2)].list);
@@ -27304,9 +29308,9 @@ yyreduce:
}
break;
- case 859:
+ case 902:
/* Line 1787 of yacc.c */
-#line 5697 "gram.y"
+#line 6037 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
@@ -27318,9 +29322,9 @@ yyreduce:
}
break;
- case 860:
+ case 903:
/* Line 1787 of yacc.c */
-#line 5710 "gram.y"
+#line 6050 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
@@ -27332,9 +29336,9 @@ yyreduce:
}
break;
- case 861:
+ case 904:
/* Line 1787 of yacc.c */
-#line 5720 "gram.y"
+#line 6060 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
@@ -27346,33 +29350,33 @@ yyreduce:
}
break;
- case 862:
+ case 905:
/* Line 1787 of yacc.c */
-#line 5731 "gram.y"
+#line 6071 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 863:
+ case 906:
/* Line 1787 of yacc.c */
-#line 5732 "gram.y"
+#line 6072 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 864:
+ case 907:
/* Line 1787 of yacc.c */
-#line 5735 "gram.y"
+#line 6075 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); }
break;
- case 865:
+ case 908:
/* Line 1787 of yacc.c */
-#line 5736 "gram.y"
+#line 6076 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 866:
+ case 909:
/* Line 1787 of yacc.c */
-#line 5747 "gram.y"
+#line 6087 "gram.y"
{
AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
n->options = (yyvsp[(4) - (5)].list);
@@ -27381,45 +29385,45 @@ yyreduce:
}
break;
- case 867:
+ case 910:
/* Line 1787 of yacc.c */
-#line 5756 "gram.y"
+#line 6096 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 868:
+ case 911:
/* Line 1787 of yacc.c */
-#line 5757 "gram.y"
+#line 6097 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 869:
+ case 912:
/* Line 1787 of yacc.c */
-#line 5762 "gram.y"
+#line 6102 "gram.y"
{
(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[(3) - (3)].list));
}
break;
- case 870:
+ case 913:
/* Line 1787 of yacc.c */
-#line 5766 "gram.y"
+#line 6106 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list));
}
break;
- case 871:
+ case 914:
/* Line 1787 of yacc.c */
-#line 5770 "gram.y"
+#line 6110 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list));
}
break;
- case 872:
+ case 915:
/* Line 1787 of yacc.c */
-#line 5782 "gram.y"
+#line 6122 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
@@ -27433,9 +29437,9 @@ yyreduce:
}
break;
- case 873:
+ case 916:
/* Line 1787 of yacc.c */
-#line 5795 "gram.y"
+#line 6135 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
@@ -27450,9 +29454,9 @@ yyreduce:
}
break;
- case 874:
+ case 917:
/* Line 1787 of yacc.c */
-#line 5809 "gram.y"
+#line 6149 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
@@ -27467,33 +29471,33 @@ yyreduce:
}
break;
- case 875:
+ case 918:
/* Line 1787 of yacc.c */
-#line 5824 "gram.y"
+#line 6164 "gram.y"
{ (yyval.ival) = ACL_OBJECT_RELATION; }
break;
- case 876:
+ case 919:
/* Line 1787 of yacc.c */
-#line 5825 "gram.y"
+#line 6165 "gram.y"
{ (yyval.ival) = ACL_OBJECT_FUNCTION; }
break;
- case 877:
+ case 920:
/* Line 1787 of yacc.c */
-#line 5826 "gram.y"
+#line 6166 "gram.y"
{ (yyval.ival) = ACL_OBJECT_SEQUENCE; }
break;
- case 878:
+ case 921:
/* Line 1787 of yacc.c */
-#line 5827 "gram.y"
+#line 6167 "gram.y"
{ (yyval.ival) = ACL_OBJECT_TYPE; }
break;
- case 879:
+ case 922:
/* Line 1787 of yacc.c */
-#line 5842 "gram.y"
+#line 6182 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[(2) - (14)].boolean);
@@ -27517,69 +29521,69 @@ yyreduce:
}
break;
- case 880:
+ case 923:
/* Line 1787 of yacc.c */
-#line 5866 "gram.y"
+#line 6206 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 881:
+ case 924:
/* Line 1787 of yacc.c */
-#line 5867 "gram.y"
+#line 6207 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 882:
+ case 925:
/* Line 1787 of yacc.c */
-#line 5871 "gram.y"
+#line 6211 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 883:
+ case 926:
/* Line 1787 of yacc.c */
-#line 5872 "gram.y"
+#line 6212 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 884:
+ case 927:
/* Line 1787 of yacc.c */
-#line 5876 "gram.y"
+#line 6216 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 885:
+ case 928:
/* Line 1787 of yacc.c */
-#line 5877 "gram.y"
+#line 6217 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 886:
+ case 929:
/* Line 1787 of yacc.c */
-#line 5881 "gram.y"
+#line 6221 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
- case 887:
+ case 930:
/* Line 1787 of yacc.c */
-#line 5882 "gram.y"
+#line 6222 "gram.y"
{ (yyval.str) = DEFAULT_INDEX_TYPE; }
break;
- case 888:
+ case 931:
/* Line 1787 of yacc.c */
-#line 5885 "gram.y"
+#line 6225 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); }
break;
- case 889:
+ case 932:
/* Line 1787 of yacc.c */
-#line 5886 "gram.y"
+#line 6226 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); }
break;
- case 890:
+ case 933:
/* Line 1787 of yacc.c */
-#line 5895 "gram.y"
+#line 6235 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = (yyvsp[(1) - (5)].str);
@@ -27592,9 +29596,9 @@ yyreduce:
}
break;
- case 891:
+ case 934:
/* Line 1787 of yacc.c */
-#line 5906 "gram.y"
+#line 6246 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
@@ -27607,9 +29611,9 @@ yyreduce:
}
break;
- case 892:
+ case 935:
/* Line 1787 of yacc.c */
-#line 5917 "gram.y"
+#line 6257 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
@@ -27622,75 +29626,75 @@ yyreduce:
}
break;
- case 893:
+ case 936:
/* Line 1787 of yacc.c */
-#line 5929 "gram.y"
+#line 6269 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 894:
+ case 937:
/* Line 1787 of yacc.c */
-#line 5930 "gram.y"
+#line 6270 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 895:
+ case 938:
/* Line 1787 of yacc.c */
-#line 5933 "gram.y"
+#line 6273 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 896:
+ case 939:
/* Line 1787 of yacc.c */
-#line 5934 "gram.y"
+#line 6274 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 897:
+ case 940:
/* Line 1787 of yacc.c */
-#line 5935 "gram.y"
+#line 6275 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 898:
+ case 941:
/* Line 1787 of yacc.c */
-#line 5938 "gram.y"
+#line 6278 "gram.y"
{ (yyval.ival) = SORTBY_ASC; }
break;
- case 899:
+ case 942:
/* Line 1787 of yacc.c */
-#line 5939 "gram.y"
+#line 6279 "gram.y"
{ (yyval.ival) = SORTBY_DESC; }
break;
- case 900:
+ case 943:
/* Line 1787 of yacc.c */
-#line 5940 "gram.y"
+#line 6280 "gram.y"
{ (yyval.ival) = SORTBY_DEFAULT; }
break;
- case 901:
+ case 944:
/* Line 1787 of yacc.c */
-#line 5943 "gram.y"
+#line 6283 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_FIRST; }
break;
- case 902:
+ case 945:
/* Line 1787 of yacc.c */
-#line 5944 "gram.y"
+#line 6284 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_LAST; }
break;
- case 903:
+ case 946:
/* Line 1787 of yacc.c */
-#line 5945 "gram.y"
+#line 6285 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; }
break;
- case 904:
+ case 947:
/* Line 1787 of yacc.c */
-#line 5963 "gram.y"
+#line 6303 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->replace = (yyvsp[(2) - (9)].boolean);
@@ -27703,9 +29707,9 @@ yyreduce:
}
break;
- case 905:
+ case 948:
/* Line 1787 of yacc.c */
-#line 5975 "gram.y"
+#line 6315 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->replace = (yyvsp[(2) - (12)].boolean);
@@ -27719,9 +29723,9 @@ yyreduce:
}
break;
- case 906:
+ case 949:
/* Line 1787 of yacc.c */
-#line 5988 "gram.y"
+#line 6328 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->replace = (yyvsp[(2) - (7)].boolean);
@@ -27734,69 +29738,69 @@ yyreduce:
}
break;
- case 907:
+ case 950:
/* Line 1787 of yacc.c */
-#line 6001 "gram.y"
+#line 6341 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 908:
+ case 951:
/* Line 1787 of yacc.c */
-#line 6002 "gram.y"
+#line 6342 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 909:
+ case 952:
/* Line 1787 of yacc.c */
-#line 6005 "gram.y"
+#line 6345 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 910:
+ case 953:
/* Line 1787 of yacc.c */
-#line 6006 "gram.y"
+#line 6346 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 911:
+ case 954:
/* Line 1787 of yacc.c */
-#line 6010 "gram.y"
+#line 6350 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); }
break;
- case 912:
+ case 955:
/* Line 1787 of yacc.c */
-#line 6011 "gram.y"
+#line 6351 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); }
break;
- case 913:
+ case 956:
/* Line 1787 of yacc.c */
-#line 6019 "gram.y"
+#line 6359 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 914:
+ case 957:
/* Line 1787 of yacc.c */
-#line 6020 "gram.y"
+#line 6360 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 915:
+ case 958:
/* Line 1787 of yacc.c */
-#line 6024 "gram.y"
+#line 6364 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); }
break;
- case 916:
+ case 959:
/* Line 1787 of yacc.c */
-#line 6026 "gram.y"
+#line 6366 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); }
break;
- case 917:
+ case 960:
/* Line 1787 of yacc.c */
-#line 6041 "gram.y"
+#line 6381 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(2) - (3)].str);
@@ -27807,9 +29811,9 @@ yyreduce:
}
break;
- case 918:
+ case 961:
/* Line 1787 of yacc.c */
-#line 6050 "gram.y"
+#line 6390 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (3)].str);
@@ -27820,9 +29824,9 @@ yyreduce:
}
break;
- case 919:
+ case 962:
/* Line 1787 of yacc.c */
-#line 6059 "gram.y"
+#line 6399 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (2)].str);
@@ -27833,9 +29837,9 @@ yyreduce:
}
break;
- case 920:
+ case 963:
/* Line 1787 of yacc.c */
-#line 6068 "gram.y"
+#line 6408 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
@@ -27846,9 +29850,9 @@ yyreduce:
}
break;
- case 921:
+ case 964:
/* Line 1787 of yacc.c */
-#line 6077 "gram.y"
+#line 6417 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
@@ -27859,39 +29863,39 @@ yyreduce:
}
break;
- case 922:
+ case 965:
/* Line 1787 of yacc.c */
-#line 6088 "gram.y"
+#line 6428 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; }
break;
- case 923:
+ case 966:
/* Line 1787 of yacc.c */
-#line 6089 "gram.y"
+#line 6429 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
break;
- case 924:
+ case 967:
/* Line 1787 of yacc.c */
-#line 6090 "gram.y"
+#line 6430 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
break;
- case 925:
+ case 968:
/* Line 1787 of yacc.c */
-#line 6091 "gram.y"
+#line 6431 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
break;
- case 926:
+ case 969:
/* Line 1787 of yacc.c */
-#line 6092 "gram.y"
+#line 6432 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
break;
- case 928:
+ case 971:
/* Line 1787 of yacc.c */
-#line 6103 "gram.y"
+#line 6443 "gram.y"
{
/* We can catch over-specified results here if we want to,
* but for now better to silently swallow typmod, etc.
@@ -27901,15 +29905,15 @@ yyreduce:
}
break;
- case 929:
+ case 972:
/* Line 1787 of yacc.c */
-#line 6117 "gram.y"
+#line 6457 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 930:
+ case 973:
/* Line 1787 of yacc.c */
-#line 6119 "gram.y"
+#line 6459 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (4)].str)), (yyvsp[(2) - (4)].list)));
(yyval.typnam)->pct_type = true;
@@ -27917,9 +29921,9 @@ yyreduce:
}
break;
- case 931:
+ case 974:
/* Line 1787 of yacc.c */
-#line 6125 "gram.y"
+#line 6465 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(2) - (5)].str)), (yyvsp[(3) - (5)].list)));
(yyval.typnam)->pct_type = true;
@@ -27928,226 +29932,285 @@ yyreduce:
}
break;
- case 932:
+ case 975:
/* Line 1787 of yacc.c */
-#line 6135 "gram.y"
+#line 6475 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
}
break;
- case 933:
+ case 976:
/* Line 1787 of yacc.c */
-#line 6139 "gram.y"
+#line 6479 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
}
break;
- case 934:
+ case 977:
/* Line 1787 of yacc.c */
-#line 6144 "gram.y"
+#line 6484 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
}
break;
- case 935:
+ case 978:
+/* Line 1787 of yacc.c */
+#line 6492 "gram.y"
+ {
+ if (!((yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_IN ||
+ (yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_VARIADIC))
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("aggregates cannot have output arguments"),
+ parser_errposition((yylsp[(1) - (1)]))));
+ (yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
+ }
+ break;
+
+ case 979:
+/* Line 1787 of yacc.c */
+#line 6533 "gram.y"
+ {
+ (yyval.list) = list_make2(NIL, makeInteger(-1));
+ }
+ break;
+
+ case 980:
+/* Line 1787 of yacc.c */
+#line 6537 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1));
+ }
+ break;
+
+ case 981:
+/* Line 1787 of yacc.c */
+#line 6541 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0));
+ }
+ break;
+
+ case 982:
+/* Line 1787 of yacc.c */
+#line 6545 "gram.y"
+ {
+ /* this is the only case requiring consistency checking */
+ (yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner);
+ }
+ break;
+
+ case 983:
+/* Line 1787 of yacc.c */
+#line 6552 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); }
+ break;
+
+ case 984:
+/* Line 1787 of yacc.c */
+#line 6553 "gram.y"
+ { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); }
+ break;
+
+ case 985:
/* Line 1787 of yacc.c */
-#line 6153 "gram.y"
+#line 6558 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 936:
+ case 986:
/* Line 1787 of yacc.c */
-#line 6154 "gram.y"
+#line 6559 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 937:
+ case 987:
/* Line 1787 of yacc.c */
-#line 6162 "gram.y"
+#line 6567 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(FALSE));
}
break;
- case 938:
+ case 988:
/* Line 1787 of yacc.c */
-#line 6166 "gram.y"
+#line 6571 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
}
break;
- case 939:
+ case 989:
/* Line 1787 of yacc.c */
-#line 6170 "gram.y"
+#line 6575 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
}
break;
- case 940:
+ case 990:
/* Line 1787 of yacc.c */
-#line 6174 "gram.y"
+#line 6579 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"));
}
break;
- case 941:
+ case 991:
/* Line 1787 of yacc.c */
-#line 6178 "gram.y"
+#line 6583 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"));
}
break;
- case 942:
+ case 992:
/* Line 1787 of yacc.c */
-#line 6182 "gram.y"
+#line 6587 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"));
}
break;
- case 943:
+ case 993:
/* Line 1787 of yacc.c */
-#line 6186 "gram.y"
+#line 6591 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
}
break;
- case 944:
+ case 994:
/* Line 1787 of yacc.c */
-#line 6190 "gram.y"
+#line 6595 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
}
break;
- case 945:
+ case 995:
/* Line 1787 of yacc.c */
-#line 6194 "gram.y"
+#line 6599 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
}
break;
- case 946:
+ case 996:
/* Line 1787 of yacc.c */
-#line 6198 "gram.y"
+#line 6603 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
}
break;
- case 947:
+ case 997:
/* Line 1787 of yacc.c */
-#line 6202 "gram.y"
+#line 6607 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(TRUE));
}
break;
- case 948:
+ case 998:
/* Line 1787 of yacc.c */
-#line 6206 "gram.y"
+#line 6611 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(FALSE));
}
break;
- case 949:
+ case 999:
/* Line 1787 of yacc.c */
-#line 6210 "gram.y"
+#line 6615 "gram.y"
{
(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[(2) - (2)].value));
}
break;
- case 950:
+ case 1000:
/* Line 1787 of yacc.c */
-#line 6214 "gram.y"
+#line 6619 "gram.y"
{
(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[(2) - (2)].value));
}
break;
- case 951:
+ case 1001:
/* Line 1787 of yacc.c */
-#line 6218 "gram.y"
+#line 6623 "gram.y"
{
/* we abuse the normal content of a DefElem here */
(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[(1) - (1)].vsetstmt));
}
break;
- case 952:
+ case 1002:
/* Line 1787 of yacc.c */
-#line 6226 "gram.y"
+#line 6631 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[(2) - (2)].list));
}
break;
- case 953:
+ case 1003:
/* Line 1787 of yacc.c */
-#line 6230 "gram.y"
+#line 6635 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)));
}
break;
- case 954:
+ case 1004:
/* Line 1787 of yacc.c */
-#line 6234 "gram.y"
+#line 6639 "gram.y"
{
(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(TRUE));
}
break;
- case 955:
+ case 1005:
/* Line 1787 of yacc.c */
-#line 6238 "gram.y"
+#line 6643 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
}
break;
- case 956:
+ case 1006:
/* Line 1787 of yacc.c */
-#line 6243 "gram.y"
+#line 6648 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 957:
+ case 1007:
/* Line 1787 of yacc.c */
-#line 6245 "gram.y"
+#line 6650 "gram.y"
{
(yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 958:
+ case 1008:
/* Line 1787 of yacc.c */
-#line 6251 "gram.y"
+#line 6656 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 959:
+ case 1009:
/* Line 1787 of yacc.c */
-#line 6252 "gram.y"
+#line 6657 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 960:
+ case 1010:
/* Line 1787 of yacc.c */
-#line 6256 "gram.y"
+#line 6661 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (2)].str);
@@ -28158,25 +30221,25 @@ yyreduce:
}
break;
- case 961:
+ case 1011:
/* Line 1787 of yacc.c */
-#line 6268 "gram.y"
+#line 6673 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param));
}
break;
- case 962:
+ case 1012:
/* Line 1787 of yacc.c */
-#line 6272 "gram.y"
+#line 6677 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param));
}
break;
- case 963:
+ case 1013:
/* Line 1787 of yacc.c */
-#line 6287 "gram.y"
+#line 6692 "gram.y"
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->func = (yyvsp[(3) - (5)].funwithargs);
@@ -28185,21 +30248,21 @@ yyreduce:
}
break;
- case 964:
+ case 1014:
/* Line 1787 of yacc.c */
-#line 6297 "gram.y"
+#line 6702 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 965:
+ case 1015:
/* Line 1787 of yacc.c */
-#line 6298 "gram.y"
+#line 6703 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 968:
+ case 1018:
/* Line 1787 of yacc.c */
-#line 6320 "gram.y"
+#line 6725 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FUNCTION;
@@ -28212,9 +30275,9 @@ yyreduce:
}
break;
- case 969:
+ case 1019:
/* Line 1787 of yacc.c */
-#line 6331 "gram.y"
+#line 6736 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FUNCTION;
@@ -28227,14 +30290,14 @@ yyreduce:
}
break;
- case 970:
+ case 1020:
/* Line 1787 of yacc.c */
-#line 6345 "gram.y"
+#line 6750 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = list_make1((yyvsp[(3) - (5)].list));
- n->arguments = list_make1((yyvsp[(4) - (5)].list));
+ n->arguments = list_make1(extractAggrArgTypes((yyvsp[(4) - (5)].list)));
n->behavior = (yyvsp[(5) - (5)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
@@ -28242,14 +30305,14 @@ yyreduce:
}
break;
- case 971:
+ case 1021:
/* Line 1787 of yacc.c */
-#line 6356 "gram.y"
+#line 6761 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = list_make1((yyvsp[(5) - (7)].list));
- n->arguments = list_make1((yyvsp[(6) - (7)].list));
+ n->arguments = list_make1(extractAggrArgTypes((yyvsp[(6) - (7)].list)));
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
@@ -28257,9 +30320,9 @@ yyreduce:
}
break;
- case 972:
+ case 1022:
/* Line 1787 of yacc.c */
-#line 6370 "gram.y"
+#line 6775 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_OPERATOR;
@@ -28272,9 +30335,9 @@ yyreduce:
}
break;
- case 973:
+ case 1023:
/* Line 1787 of yacc.c */
-#line 6381 "gram.y"
+#line 6786 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_OPERATOR;
@@ -28287,9 +30350,9 @@ yyreduce:
}
break;
- case 974:
+ case 1024:
/* Line 1787 of yacc.c */
-#line 6395 "gram.y"
+#line 6800 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
@@ -28299,39 +30362,39 @@ yyreduce:
}
break;
- case 975:
+ case 1025:
/* Line 1787 of yacc.c */
-#line 6403 "gram.y"
+#line 6808 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); }
break;
- case 976:
+ case 1026:
/* Line 1787 of yacc.c */
-#line 6405 "gram.y"
+#line 6810 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); }
break;
- case 977:
+ case 1027:
/* Line 1787 of yacc.c */
-#line 6407 "gram.y"
+#line 6812 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); }
break;
- case 978:
+ case 1028:
/* Line 1787 of yacc.c */
-#line 6412 "gram.y"
+#line 6817 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 979:
+ case 1029:
/* Line 1787 of yacc.c */
-#line 6414 "gram.y"
+#line 6819 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); }
break;
- case 980:
+ case 1030:
/* Line 1787 of yacc.c */
-#line 6427 "gram.y"
+#line 6832 "gram.y"
{
DoStmt *n = makeNode(DoStmt);
n->args = (yyvsp[(2) - (2)].list);
@@ -28339,37 +30402,37 @@ yyreduce:
}
break;
- case 981:
+ case 1031:
/* Line 1787 of yacc.c */
-#line 6435 "gram.y"
+#line 6840 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 982:
+ case 1032:
/* Line 1787 of yacc.c */
-#line 6436 "gram.y"
+#line 6841 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 983:
+ case 1033:
/* Line 1787 of yacc.c */
-#line 6441 "gram.y"
+#line 6846 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[(1) - (1)].str)));
}
break;
- case 984:
+ case 1034:
/* Line 1787 of yacc.c */
-#line 6445 "gram.y"
+#line 6850 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)));
}
break;
- case 985:
+ case 1035:
/* Line 1787 of yacc.c */
-#line 6458 "gram.y"
+#line 6863 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[(4) - (11)].typnam);
@@ -28381,9 +30444,9 @@ yyreduce:
}
break;
- case 986:
+ case 1036:
/* Line 1787 of yacc.c */
-#line 6469 "gram.y"
+#line 6874 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[(4) - (10)].typnam);
@@ -28395,9 +30458,9 @@ yyreduce:
}
break;
- case 987:
+ case 1037:
/* Line 1787 of yacc.c */
-#line 6480 "gram.y"
+#line 6885 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[(4) - (10)].typnam);
@@ -28409,27 +30472,27 @@ yyreduce:
}
break;
- case 988:
+ case 1038:
/* Line 1787 of yacc.c */
-#line 6491 "gram.y"
+#line 6896 "gram.y"
{ (yyval.ival) = COERCION_IMPLICIT; }
break;
- case 989:
+ case 1039:
/* Line 1787 of yacc.c */
-#line 6492 "gram.y"
+#line 6897 "gram.y"
{ (yyval.ival) = COERCION_ASSIGNMENT; }
break;
- case 990:
+ case 1040:
/* Line 1787 of yacc.c */
-#line 6493 "gram.y"
+#line 6898 "gram.y"
{ (yyval.ival) = COERCION_EXPLICIT; }
break;
- case 991:
+ case 1041:
/* Line 1787 of yacc.c */
-#line 6498 "gram.y"
+#line 6903 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_CAST;
@@ -28442,21 +30505,21 @@ yyreduce:
}
break;
- case 992:
+ case 1042:
/* Line 1787 of yacc.c */
-#line 6510 "gram.y"
+#line 6915 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 993:
+ case 1043:
/* Line 1787 of yacc.c */
-#line 6511 "gram.y"
+#line 6916 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 994:
+ case 1044:
/* Line 1787 of yacc.c */
-#line 6526 "gram.y"
+#line 6931 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(2) - (4)].objtype);
@@ -28466,9 +30529,9 @@ yyreduce:
}
break;
- case 995:
+ case 1045:
/* Line 1787 of yacc.c */
-#line 6534 "gram.y"
+#line 6939 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = OBJECT_DATABASE;
@@ -28480,9 +30543,9 @@ yyreduce:
}
break;
- case 996:
+ case 1046:
/* Line 1787 of yacc.c */
-#line 6544 "gram.y"
+#line 6949 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = OBJECT_DATABASE;
@@ -28494,47 +30557,201 @@ yyreduce:
}
break;
- case 997:
+ case 1047:
/* Line 1787 of yacc.c */
-#line 6556 "gram.y"
+#line 6961 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; }
break;
- case 998:
+ case 1048:
/* Line 1787 of yacc.c */
-#line 6557 "gram.y"
+#line 6962 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; }
break;
- case 999:
+ case 1049:
/* Line 1787 of yacc.c */
-#line 6560 "gram.y"
+#line 6965 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1000:
+ case 1050:
/* Line 1787 of yacc.c */
-#line 6561 "gram.y"
+#line 6966 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1001:
+ case 1051:
+/* Line 1787 of yacc.c */
+#line 6977 "gram.y"
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = (yyvsp[(3) - (8)].str);
+ n->objtype = -1;
+ n->move_all = true;
+ n->roles = NIL;
+ n->new_tablespacename = (yyvsp[(7) - (8)].str);
+ n->nowait = (yyvsp[(8) - (8)].boolean);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1052:
+/* Line 1787 of yacc.c */
+#line 6989 "gram.y"
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = (yyvsp[(3) - (8)].str);
+ n->objtype = OBJECT_TABLE;
+ n->move_all = false;
+ n->roles = NIL;
+ n->new_tablespacename = (yyvsp[(7) - (8)].str);
+ n->nowait = (yyvsp[(8) - (8)].boolean);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1053:
+/* Line 1787 of yacc.c */
+#line 7001 "gram.y"
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = (yyvsp[(3) - (8)].str);
+ n->objtype = OBJECT_INDEX;
+ n->move_all = false;
+ n->roles = NIL;
+ n->new_tablespacename = (yyvsp[(7) - (8)].str);
+ n->nowait = (yyvsp[(8) - (8)].boolean);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1054:
+/* Line 1787 of yacc.c */
+#line 7013 "gram.y"
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = (yyvsp[(3) - (9)].str);
+ n->objtype = OBJECT_MATVIEW;
+ n->move_all = false;
+ n->roles = NIL;
+ n->new_tablespacename = (yyvsp[(8) - (9)].str);
+ n->nowait = (yyvsp[(9) - (9)].boolean);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1055:
+/* Line 1787 of yacc.c */
+#line 7025 "gram.y"
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = (yyvsp[(3) - (11)].str);
+ n->objtype = -1;
+ n->move_all = true;
+ n->roles = (yyvsp[(8) - (11)].list);
+ n->new_tablespacename = (yyvsp[(10) - (11)].str);
+ n->nowait = (yyvsp[(11) - (11)].boolean);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1056:
+/* Line 1787 of yacc.c */
+#line 7037 "gram.y"
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = (yyvsp[(3) - (11)].str);
+ n->objtype = OBJECT_TABLE;
+ n->move_all = false;
+ n->roles = (yyvsp[(8) - (11)].list);
+ n->new_tablespacename = (yyvsp[(10) - (11)].str);
+ n->nowait = (yyvsp[(11) - (11)].boolean);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1057:
+/* Line 1787 of yacc.c */
+#line 7049 "gram.y"
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = (yyvsp[(3) - (11)].str);
+ n->objtype = OBJECT_INDEX;
+ n->move_all = false;
+ n->roles = (yyvsp[(8) - (11)].list);
+ n->new_tablespacename = (yyvsp[(10) - (11)].str);
+ n->nowait = (yyvsp[(11) - (11)].boolean);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1058:
+/* Line 1787 of yacc.c */
+#line 7061 "gram.y"
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = (yyvsp[(3) - (12)].str);
+ n->objtype = OBJECT_MATVIEW;
+ n->move_all = false;
+ n->roles = (yyvsp[(9) - (12)].list);
+ n->new_tablespacename = (yyvsp[(11) - (12)].str);
+ n->nowait = (yyvsp[(12) - (12)].boolean);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1059:
/* Line 1787 of yacc.c */
-#line 6572 "gram.y"
+#line 7073 "gram.y"
+ {
+ AlterTableSpaceOptionsStmt *n =
+ makeNode(AlterTableSpaceOptionsStmt);
+ n->tablespacename = (yyvsp[(3) - (5)].str);
+ n->options = (yyvsp[(5) - (5)].list);
+ n->isReset = FALSE;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1060:
+/* Line 1787 of yacc.c */
+#line 7082 "gram.y"
+ {
+ AlterTableSpaceOptionsStmt *n =
+ makeNode(AlterTableSpaceOptionsStmt);
+ n->tablespacename = (yyvsp[(3) - (5)].str);
+ n->options = (yyvsp[(5) - (5)].list);
+ n->isReset = TRUE;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1061:
+/* Line 1787 of yacc.c */
+#line 7099 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_AGGREGATE;
n->object = (yyvsp[(3) - (7)].list);
- n->objarg = (yyvsp[(4) - (7)].list);
+ n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
n->newname = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1002:
+ case 1062:
/* Line 1787 of yacc.c */
-#line 6582 "gram.y"
+#line 7109 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLLATION;
@@ -28545,9 +30762,9 @@ yyreduce:
}
break;
- case 1003:
+ case 1063:
/* Line 1787 of yacc.c */
-#line 6591 "gram.y"
+#line 7118 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_CONVERSION;
@@ -28558,9 +30775,9 @@ yyreduce:
}
break;
- case 1004:
+ case 1064:
/* Line 1787 of yacc.c */
-#line 6600 "gram.y"
+#line 7127 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DATABASE;
@@ -28571,9 +30788,9 @@ yyreduce:
}
break;
- case 1005:
+ case 1065:
/* Line 1787 of yacc.c */
-#line 6609 "gram.y"
+#line 7136 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DOMAIN;
@@ -28584,9 +30801,9 @@ yyreduce:
}
break;
- case 1006:
+ case 1066:
/* Line 1787 of yacc.c */
-#line 6618 "gram.y"
+#line 7145 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_CONSTRAINT;
@@ -28598,22 +30815,22 @@ yyreduce:
}
break;
- case 1007:
+ case 1067:
/* Line 1787 of yacc.c */
-#line 6628 "gram.y"
+#line 7155 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FDW;
- n->subname = (yyvsp[(5) - (8)].str);
+ n->object = list_make1(makeString((yyvsp[(5) - (8)].str)));
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1008:
+ case 1068:
/* Line 1787 of yacc.c */
-#line 6637 "gram.y"
+#line 7164 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FUNCTION;
@@ -28625,9 +30842,9 @@ yyreduce:
}
break;
- case 1009:
+ case 1069:
/* Line 1787 of yacc.c */
-#line 6647 "gram.y"
+#line 7174 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
@@ -28638,50 +30855,50 @@ yyreduce:
}
break;
- case 1010:
+ case 1070:
/* Line 1787 of yacc.c */
-#line 6656 "gram.y"
+#line 7183 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_LANGUAGE;
- n->subname = (yyvsp[(4) - (7)].str);
+ n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
n->newname = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1011:
+ case 1071:
/* Line 1787 of yacc.c */
-#line 6665 "gram.y"
+#line 7192 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPCLASS;
n->object = (yyvsp[(4) - (9)].list);
- n->subname = (yyvsp[(6) - (9)].str);
+ n->objarg = list_make1(makeString((yyvsp[(6) - (9)].str)));
n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1012:
+ case 1072:
/* Line 1787 of yacc.c */
-#line 6675 "gram.y"
+#line 7202 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPFAMILY;
n->object = (yyvsp[(4) - (9)].list);
- n->subname = (yyvsp[(6) - (9)].str);
+ n->objarg = list_make1(makeString((yyvsp[(6) - (9)].str)));
n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1013:
+ case 1073:
/* Line 1787 of yacc.c */
-#line 6685 "gram.y"
+#line 7212 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SCHEMA;
@@ -28692,22 +30909,22 @@ yyreduce:
}
break;
- case 1014:
+ case 1074:
/* Line 1787 of yacc.c */
-#line 6694 "gram.y"
+#line 7221 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_SERVER;
- n->subname = (yyvsp[(3) - (6)].str);
+ n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1015:
+ case 1075:
/* Line 1787 of yacc.c */
-#line 6703 "gram.y"
+#line 7230 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLE;
@@ -28719,9 +30936,9 @@ yyreduce:
}
break;
- case 1016:
+ case 1076:
/* Line 1787 of yacc.c */
-#line 6713 "gram.y"
+#line 7240 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLE;
@@ -28733,9 +30950,9 @@ yyreduce:
}
break;
- case 1017:
+ case 1077:
/* Line 1787 of yacc.c */
-#line 6723 "gram.y"
+#line 7250 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SEQUENCE;
@@ -28747,9 +30964,9 @@ yyreduce:
}
break;
- case 1018:
+ case 1078:
/* Line 1787 of yacc.c */
-#line 6733 "gram.y"
+#line 7260 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SEQUENCE;
@@ -28761,37 +30978,65 @@ yyreduce:
}
break;
- case 1019:
+ case 1079:
+/* Line 1787 of yacc.c */
+#line 7270 "gram.y"
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_VIEW;
+ n->relation = (yyvsp[(3) - (6)].range);
+ n->subname = NULL;
+ n->newname = (yyvsp[(6) - (6)].str);
+ n->missing_ok = false;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1080:
+/* Line 1787 of yacc.c */
+#line 7280 "gram.y"
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_VIEW;
+ n->relation = (yyvsp[(5) - (8)].range);
+ n->subname = NULL;
+ n->newname = (yyvsp[(8) - (8)].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1081:
/* Line 1787 of yacc.c */
-#line 6743 "gram.y"
+#line 7290 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
- n->renameType = OBJECT_VIEW;
- n->relation = (yyvsp[(3) - (6)].range);
+ n->renameType = OBJECT_MATVIEW;
+ n->relation = (yyvsp[(4) - (7)].range);
n->subname = NULL;
- n->newname = (yyvsp[(6) - (6)].str);
+ n->newname = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1020:
+ case 1082:
/* Line 1787 of yacc.c */
-#line 6753 "gram.y"
+#line 7300 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
- n->renameType = OBJECT_VIEW;
- n->relation = (yyvsp[(5) - (8)].range);
+ n->renameType = OBJECT_MATVIEW;
+ n->relation = (yyvsp[(6) - (9)].range);
n->subname = NULL;
- n->newname = (yyvsp[(8) - (8)].str);
+ n->newname = (yyvsp[(9) - (9)].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
break;
- case 1021:
+ case 1083:
/* Line 1787 of yacc.c */
-#line 6763 "gram.y"
+#line 7310 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_INDEX;
@@ -28803,9 +31048,9 @@ yyreduce:
}
break;
- case 1022:
+ case 1084:
/* Line 1787 of yacc.c */
-#line 6773 "gram.y"
+#line 7320 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_INDEX;
@@ -28817,9 +31062,9 @@ yyreduce:
}
break;
- case 1023:
+ case 1085:
/* Line 1787 of yacc.c */
-#line 6783 "gram.y"
+#line 7330 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_TABLE;
@@ -28831,9 +31076,9 @@ yyreduce:
}
break;
- case 1024:
+ case 1086:
/* Line 1787 of yacc.c */
-#line 6793 "gram.y"
+#line 7340 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_TABLE;
@@ -28845,9 +31090,9 @@ yyreduce:
}
break;
- case 1025:
+ case 1087:
/* Line 1787 of yacc.c */
-#line 6803 "gram.y"
+#line 7350 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
@@ -28860,9 +31105,9 @@ yyreduce:
}
break;
- case 1026:
+ case 1088:
/* Line 1787 of yacc.c */
-#line 6814 "gram.y"
+#line 7361 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
@@ -28875,9 +31120,39 @@ yyreduce:
}
break;
- case 1027:
+ case 1089:
+/* Line 1787 of yacc.c */
+#line 7372 "gram.y"
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_COLUMN;
+ n->relationType = OBJECT_MATVIEW;
+ n->relation = (yyvsp[(4) - (9)].range);
+ n->subname = (yyvsp[(7) - (9)].str);
+ n->newname = (yyvsp[(9) - (9)].str);
+ n->missing_ok = false;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1090:
+/* Line 1787 of yacc.c */
+#line 7383 "gram.y"
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_COLUMN;
+ n->relationType = OBJECT_MATVIEW;
+ n->relation = (yyvsp[(6) - (11)].range);
+ n->subname = (yyvsp[(9) - (11)].str);
+ n->newname = (yyvsp[(11) - (11)].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1091:
/* Line 1787 of yacc.c */
-#line 6825 "gram.y"
+#line 7394 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_CONSTRAINT;
@@ -28889,9 +31164,9 @@ yyreduce:
}
break;
- case 1028:
+ case 1092:
/* Line 1787 of yacc.c */
-#line 6835 "gram.y"
+#line 7404 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
@@ -28904,9 +31179,9 @@ yyreduce:
}
break;
- case 1029:
+ case 1093:
/* Line 1787 of yacc.c */
-#line 6846 "gram.y"
+#line 7415 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
@@ -28919,12 +31194,12 @@ yyreduce:
}
break;
- case 1030:
+ case 1094:
/* Line 1787 of yacc.c */
-#line 6857 "gram.y"
+#line 7426 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
- n->renameType = OBJECT_TRIGGER;
+ n->renameType = OBJECT_RULE;
n->relation = (yyvsp[(5) - (8)].range);
n->subname = (yyvsp[(3) - (8)].str);
n->newname = (yyvsp[(8) - (8)].str);
@@ -28933,38 +31208,38 @@ yyreduce:
}
break;
- case 1031:
+ case 1095:
/* Line 1787 of yacc.c */
-#line 6867 "gram.y"
+#line 7436 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
- n->renameType = OBJECT_ROLE;
- n->subname = (yyvsp[(3) - (6)].str);
- n->newname = (yyvsp[(6) - (6)].str);
+ n->renameType = OBJECT_TRIGGER;
+ n->relation = (yyvsp[(5) - (8)].range);
+ n->subname = (yyvsp[(3) - (8)].str);
+ n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1032:
+ case 1096:
/* Line 1787 of yacc.c */
-#line 6876 "gram.y"
+#line 7446 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
- n->renameType = OBJECT_ROLE;
- n->subname = (yyvsp[(3) - (6)].str);
- n->newname = (yyvsp[(6) - (6)].str);
- n->missing_ok = false;
+ n->renameType = OBJECT_EVENT_TRIGGER;
+ n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
+ n->newname = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *)n;
}
break;
- case 1033:
+ case 1097:
/* Line 1787 of yacc.c */
-#line 6885 "gram.y"
+#line 7454 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
- n->renameType = OBJECT_TABLESPACE;
+ n->renameType = OBJECT_ROLE;
n->subname = (yyvsp[(3) - (6)].str);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
@@ -28972,35 +31247,35 @@ yyreduce:
}
break;
- case 1034:
+ case 1098:
/* Line 1787 of yacc.c */
-#line 6894 "gram.y"
+#line 7463 "gram.y"
{
- AlterTableSpaceOptionsStmt *n =
- makeNode(AlterTableSpaceOptionsStmt);
- n->tablespacename = (yyvsp[(3) - (5)].str);
- n->options = (yyvsp[(5) - (5)].list);
- n->isReset = FALSE;
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_ROLE;
+ n->subname = (yyvsp[(3) - (6)].str);
+ n->newname = (yyvsp[(6) - (6)].str);
+ n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1035:
+ case 1099:
/* Line 1787 of yacc.c */
-#line 6903 "gram.y"
+#line 7472 "gram.y"
{
- AlterTableSpaceOptionsStmt *n =
- makeNode(AlterTableSpaceOptionsStmt);
- n->tablespacename = (yyvsp[(3) - (5)].str);
- n->options = (yyvsp[(5) - (5)].list);
- n->isReset = TRUE;
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_TABLESPACE;
+ n->subname = (yyvsp[(3) - (6)].str);
+ n->newname = (yyvsp[(6) - (6)].str);
+ n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1036:
+ case 1100:
/* Line 1787 of yacc.c */
-#line 6912 "gram.y"
+#line 7481 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSPARSER;
@@ -29011,9 +31286,9 @@ yyreduce:
}
break;
- case 1037:
+ case 1101:
/* Line 1787 of yacc.c */
-#line 6921 "gram.y"
+#line 7490 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSDICTIONARY;
@@ -29024,9 +31299,9 @@ yyreduce:
}
break;
- case 1038:
+ case 1102:
/* Line 1787 of yacc.c */
-#line 6930 "gram.y"
+#line 7499 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSTEMPLATE;
@@ -29037,9 +31312,9 @@ yyreduce:
}
break;
- case 1039:
+ case 1103:
/* Line 1787 of yacc.c */
-#line 6939 "gram.y"
+#line 7508 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSCONFIGURATION;
@@ -29050,9 +31325,9 @@ yyreduce:
}
break;
- case 1040:
+ case 1104:
/* Line 1787 of yacc.c */
-#line 6948 "gram.y"
+#line 7517 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TYPE;
@@ -29063,9 +31338,9 @@ yyreduce:
}
break;
- case 1041:
+ case 1105:
/* Line 1787 of yacc.c */
-#line 6957 "gram.y"
+#line 7526 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ATTRIBUTE;
@@ -29079,47 +31354,47 @@ yyreduce:
}
break;
- case 1042:
+ case 1106:
/* Line 1787 of yacc.c */
-#line 6970 "gram.y"
+#line 7539 "gram.y"
{ (yyval.ival) = COLUMN; }
break;
- case 1043:
+ case 1107:
/* Line 1787 of yacc.c */
-#line 6971 "gram.y"
+#line 7540 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1044:
+ case 1108:
/* Line 1787 of yacc.c */
-#line 6974 "gram.y"
+#line 7543 "gram.y"
{ (yyval.ival) = 1; }
break;
- case 1045:
+ case 1109:
/* Line 1787 of yacc.c */
-#line 6975 "gram.y"
+#line 7544 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1046:
+ case 1110:
/* Line 1787 of yacc.c */
-#line 6986 "gram.y"
+#line 7555 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (yyvsp[(3) - (7)].list);
- n->objarg = (yyvsp[(4) - (7)].list);
+ n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
n->newschema = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1047:
+ case 1111:
/* Line 1787 of yacc.c */
-#line 6996 "gram.y"
+#line 7565 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_COLLATION;
@@ -29130,9 +31405,9 @@ yyreduce:
}
break;
- case 1048:
+ case 1112:
/* Line 1787 of yacc.c */
-#line 7005 "gram.y"
+#line 7574 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_CONVERSION;
@@ -29143,9 +31418,9 @@ yyreduce:
}
break;
- case 1049:
+ case 1113:
/* Line 1787 of yacc.c */
-#line 7014 "gram.y"
+#line 7583 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_DOMAIN;
@@ -29156,9 +31431,9 @@ yyreduce:
}
break;
- case 1050:
+ case 1114:
/* Line 1787 of yacc.c */
-#line 7023 "gram.y"
+#line 7592 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_EXTENSION;
@@ -29169,9 +31444,9 @@ yyreduce:
}
break;
- case 1051:
+ case 1115:
/* Line 1787 of yacc.c */
-#line 7032 "gram.y"
+#line 7601 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FUNCTION;
@@ -29183,9 +31458,9 @@ yyreduce:
}
break;
- case 1052:
+ case 1116:
/* Line 1787 of yacc.c */
-#line 7042 "gram.y"
+#line 7611 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPERATOR;
@@ -29197,37 +31472,37 @@ yyreduce:
}
break;
- case 1053:
+ case 1117:
/* Line 1787 of yacc.c */
-#line 7052 "gram.y"
+#line 7621 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPCLASS;
n->object = (yyvsp[(4) - (9)].list);
- n->addname = (yyvsp[(6) - (9)].str);
+ n->objarg = list_make1(makeString((yyvsp[(6) - (9)].str)));
n->newschema = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1054:
+ case 1118:
/* Line 1787 of yacc.c */
-#line 7062 "gram.y"
+#line 7631 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = (yyvsp[(4) - (9)].list);
- n->addname = (yyvsp[(6) - (9)].str);
+ n->objarg = list_make1(makeString((yyvsp[(6) - (9)].str)));
n->newschema = (yyvsp[(9) - (9)].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 1055:
+ case 1119:
/* Line 1787 of yacc.c */
-#line 7072 "gram.y"
+#line 7641 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TABLE;
@@ -29238,9 +31513,9 @@ yyreduce:
}
break;
- case 1056:
+ case 1120:
/* Line 1787 of yacc.c */
-#line 7081 "gram.y"
+#line 7650 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TABLE;
@@ -29251,9 +31526,9 @@ yyreduce:
}
break;
- case 1057:
+ case 1121:
/* Line 1787 of yacc.c */
-#line 7090 "gram.y"
+#line 7659 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSPARSER;
@@ -29264,9 +31539,9 @@ yyreduce:
}
break;
- case 1058:
+ case 1122:
/* Line 1787 of yacc.c */
-#line 7099 "gram.y"
+#line 7668 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSDICTIONARY;
@@ -29277,9 +31552,9 @@ yyreduce:
}
break;
- case 1059:
+ case 1123:
/* Line 1787 of yacc.c */
-#line 7108 "gram.y"
+#line 7677 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSTEMPLATE;
@@ -29290,9 +31565,9 @@ yyreduce:
}
break;
- case 1060:
+ case 1124:
/* Line 1787 of yacc.c */
-#line 7117 "gram.y"
+#line 7686 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSCONFIGURATION;
@@ -29303,9 +31578,9 @@ yyreduce:
}
break;
- case 1061:
+ case 1125:
/* Line 1787 of yacc.c */
-#line 7126 "gram.y"
+#line 7695 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_SEQUENCE;
@@ -29316,9 +31591,9 @@ yyreduce:
}
break;
- case 1062:
+ case 1126:
/* Line 1787 of yacc.c */
-#line 7135 "gram.y"
+#line 7704 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_SEQUENCE;
@@ -29329,9 +31604,9 @@ yyreduce:
}
break;
- case 1063:
+ case 1127:
/* Line 1787 of yacc.c */
-#line 7144 "gram.y"
+#line 7713 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_VIEW;
@@ -29342,9 +31617,9 @@ yyreduce:
}
break;
- case 1064:
+ case 1128:
/* Line 1787 of yacc.c */
-#line 7153 "gram.y"
+#line 7722 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_VIEW;
@@ -29355,9 +31630,35 @@ yyreduce:
}
break;
- case 1065:
+ case 1129:
+/* Line 1787 of yacc.c */
+#line 7731 "gram.y"
+ {
+ AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
+ n->objectType = OBJECT_MATVIEW;
+ n->relation = (yyvsp[(4) - (7)].range);
+ n->newschema = (yyvsp[(7) - (7)].str);
+ n->missing_ok = false;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1130:
+/* Line 1787 of yacc.c */
+#line 7740 "gram.y"
+ {
+ AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
+ n->objectType = OBJECT_MATVIEW;
+ n->relation = (yyvsp[(6) - (9)].range);
+ n->newschema = (yyvsp[(9) - (9)].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1131:
/* Line 1787 of yacc.c */
-#line 7162 "gram.y"
+#line 7749 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FOREIGN_TABLE;
@@ -29368,9 +31669,9 @@ yyreduce:
}
break;
- case 1066:
+ case 1132:
/* Line 1787 of yacc.c */
-#line 7171 "gram.y"
+#line 7758 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FOREIGN_TABLE;
@@ -29381,9 +31682,9 @@ yyreduce:
}
break;
- case 1067:
+ case 1133:
/* Line 1787 of yacc.c */
-#line 7180 "gram.y"
+#line 7767 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TYPE;
@@ -29394,22 +31695,22 @@ yyreduce:
}
break;
- case 1068:
+ case 1134:
/* Line 1787 of yacc.c */
-#line 7197 "gram.y"
+#line 7784 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (yyvsp[(3) - (7)].list);
- n->objarg = (yyvsp[(4) - (7)].list);
+ n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
n->newowner = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *)n;
}
break;
- case 1069:
+ case 1135:
/* Line 1787 of yacc.c */
-#line 7206 "gram.y"
+#line 7793 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_COLLATION;
@@ -29419,9 +31720,9 @@ yyreduce:
}
break;
- case 1070:
+ case 1136:
/* Line 1787 of yacc.c */
-#line 7214 "gram.y"
+#line 7801 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_CONVERSION;
@@ -29431,9 +31732,9 @@ yyreduce:
}
break;
- case 1071:
+ case 1137:
/* Line 1787 of yacc.c */
-#line 7222 "gram.y"
+#line 7809 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DATABASE;
@@ -29443,9 +31744,9 @@ yyreduce:
}
break;
- case 1072:
+ case 1138:
/* Line 1787 of yacc.c */
-#line 7230 "gram.y"
+#line 7817 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DOMAIN;
@@ -29455,9 +31756,9 @@ yyreduce:
}
break;
- case 1073:
+ case 1139:
/* Line 1787 of yacc.c */
-#line 7238 "gram.y"
+#line 7825 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FUNCTION;
@@ -29468,9 +31769,9 @@ yyreduce:
}
break;
- case 1074:
+ case 1140:
/* Line 1787 of yacc.c */
-#line 7247 "gram.y"
+#line 7834 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LANGUAGE;
@@ -29480,9 +31781,9 @@ yyreduce:
}
break;
- case 1075:
+ case 1141:
/* Line 1787 of yacc.c */
-#line 7255 "gram.y"
+#line 7842 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LARGEOBJECT;
@@ -29492,9 +31793,9 @@ yyreduce:
}
break;
- case 1076:
+ case 1142:
/* Line 1787 of yacc.c */
-#line 7263 "gram.y"
+#line 7850 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPERATOR;
@@ -29505,35 +31806,35 @@ yyreduce:
}
break;
- case 1077:
+ case 1143:
/* Line 1787 of yacc.c */
-#line 7272 "gram.y"
+#line 7859 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPCLASS;
n->object = (yyvsp[(4) - (9)].list);
- n->addname = (yyvsp[(6) - (9)].str);
+ n->objarg = list_make1(makeString((yyvsp[(6) - (9)].str)));
n->newowner = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *)n;
}
break;
- case 1078:
+ case 1144:
/* Line 1787 of yacc.c */
-#line 7281 "gram.y"
+#line 7868 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = (yyvsp[(4) - (9)].list);
- n->addname = (yyvsp[(6) - (9)].str);
+ n->objarg = list_make1(makeString((yyvsp[(6) - (9)].str)));
n->newowner = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *)n;
}
break;
- case 1079:
+ case 1145:
/* Line 1787 of yacc.c */
-#line 7290 "gram.y"
+#line 7877 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_SCHEMA;
@@ -29543,9 +31844,9 @@ yyreduce:
}
break;
- case 1080:
+ case 1146:
/* Line 1787 of yacc.c */
-#line 7298 "gram.y"
+#line 7885 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TYPE;
@@ -29555,9 +31856,9 @@ yyreduce:
}
break;
- case 1081:
+ case 1147:
/* Line 1787 of yacc.c */
-#line 7306 "gram.y"
+#line 7893 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TABLESPACE;
@@ -29567,9 +31868,9 @@ yyreduce:
}
break;
- case 1082:
+ case 1148:
/* Line 1787 of yacc.c */
-#line 7314 "gram.y"
+#line 7901 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSDICTIONARY;
@@ -29579,9 +31880,9 @@ yyreduce:
}
break;
- case 1083:
+ case 1149:
/* Line 1787 of yacc.c */
-#line 7322 "gram.y"
+#line 7909 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSCONFIGURATION;
@@ -29591,9 +31892,9 @@ yyreduce:
}
break;
- case 1084:
+ case 1150:
/* Line 1787 of yacc.c */
-#line 7330 "gram.y"
+#line 7917 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FDW;
@@ -29603,21 +31904,33 @@ yyreduce:
}
break;
- case 1085:
+ case 1151:
+/* Line 1787 of yacc.c */
+#line 7925 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+ n->objectType = OBJECT_FOREIGN_SERVER;
+ n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
+ n->newowner = (yyvsp[(6) - (6)].str);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1152:
/* Line 1787 of yacc.c */
-#line 7338 "gram.y"
+#line 7933 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
- n->objectType = OBJECT_FOREIGN_SERVER;
- n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
- n->newowner = (yyvsp[(6) - (6)].str);
+ n->objectType = OBJECT_EVENT_TRIGGER;
+ n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
+ n->newowner = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *)n;
}
break;
- case 1086:
+ case 1153:
/* Line 1787 of yacc.c */
-#line 7357 "gram.y"
+#line 7952 "gram.y"
{
RuleStmt *n = makeNode(RuleStmt);
n->replace = (yyvsp[(2) - (13)].boolean);
@@ -29631,27 +31944,27 @@ yyreduce:
}
break;
- case 1087:
+ case 1154:
/* Line 1787 of yacc.c */
-#line 7371 "gram.y"
+#line 7966 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1088:
+ case 1155:
/* Line 1787 of yacc.c */
-#line 7372 "gram.y"
+#line 7967 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 1089:
+ case 1156:
/* Line 1787 of yacc.c */
-#line 7373 "gram.y"
+#line 7968 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 1090:
+ case 1157:
/* Line 1787 of yacc.c */
-#line 7379 "gram.y"
+#line 7974 "gram.y"
{ if ((yyvsp[(3) - (3)].node) != NULL)
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
else
@@ -29659,9 +31972,9 @@ yyreduce:
}
break;
- case 1091:
+ case 1158:
/* Line 1787 of yacc.c */
-#line 7385 "gram.y"
+#line 7980 "gram.y"
{ if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
else
@@ -29669,63 +31982,63 @@ yyreduce:
}
break;
- case 1097:
+ case 1164:
/* Line 1787 of yacc.c */
-#line 7401 "gram.y"
+#line 7996 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1098:
+ case 1165:
/* Line 1787 of yacc.c */
-#line 7402 "gram.y"
+#line 7997 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1099:
+ case 1166:
/* Line 1787 of yacc.c */
-#line 7405 "gram.y"
+#line 8000 "gram.y"
{ (yyval.ival) = CMD_SELECT; }
break;
- case 1100:
+ case 1167:
/* Line 1787 of yacc.c */
-#line 7406 "gram.y"
+#line 8001 "gram.y"
{ (yyval.ival) = CMD_UPDATE; }
break;
- case 1101:
+ case 1168:
/* Line 1787 of yacc.c */
-#line 7407 "gram.y"
+#line 8002 "gram.y"
{ (yyval.ival) = CMD_DELETE; }
break;
- case 1102:
+ case 1169:
/* Line 1787 of yacc.c */
-#line 7408 "gram.y"
+#line 8003 "gram.y"
{ (yyval.ival) = CMD_INSERT; }
break;
- case 1103:
+ case 1170:
/* Line 1787 of yacc.c */
-#line 7412 "gram.y"
+#line 8007 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1104:
+ case 1171:
/* Line 1787 of yacc.c */
-#line 7413 "gram.y"
+#line 8008 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1105:
+ case 1172:
/* Line 1787 of yacc.c */
-#line 7414 "gram.y"
+#line 8009 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1106:
+ case 1173:
/* Line 1787 of yacc.c */
-#line 7420 "gram.y"
+#line 8015 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_RULE;
@@ -29738,9 +32051,9 @@ yyreduce:
}
break;
- case 1107:
+ case 1174:
/* Line 1787 of yacc.c */
-#line 7431 "gram.y"
+#line 8026 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_RULE;
@@ -29753,9 +32066,9 @@ yyreduce:
}
break;
- case 1108:
+ case 1175:
/* Line 1787 of yacc.c */
-#line 7453 "gram.y"
+#line 8048 "gram.y"
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[(2) - (3)].str);
@@ -29764,21 +32077,21 @@ yyreduce:
}
break;
- case 1109:
+ case 1176:
/* Line 1787 of yacc.c */
-#line 7462 "gram.y"
+#line 8057 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
- case 1110:
+ case 1177:
/* Line 1787 of yacc.c */
-#line 7463 "gram.y"
+#line 8058 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 1111:
+ case 1178:
/* Line 1787 of yacc.c */
-#line 7467 "gram.y"
+#line 8062 "gram.y"
{
ListenStmt *n = makeNode(ListenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
@@ -29786,9 +32099,9 @@ yyreduce:
}
break;
- case 1112:
+ case 1179:
/* Line 1787 of yacc.c */
-#line 7476 "gram.y"
+#line 8071 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
@@ -29796,9 +32109,9 @@ yyreduce:
}
break;
- case 1113:
+ case 1180:
/* Line 1787 of yacc.c */
-#line 7482 "gram.y"
+#line 8077 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = NULL;
@@ -29806,9 +32119,9 @@ yyreduce:
}
break;
- case 1114:
+ case 1181:
/* Line 1787 of yacc.c */
-#line 7501 "gram.y"
+#line 8096 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
@@ -29817,9 +32130,9 @@ yyreduce:
}
break;
- case 1115:
+ case 1182:
/* Line 1787 of yacc.c */
-#line 7508 "gram.y"
+#line 8103 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_BEGIN;
@@ -29828,9 +32141,9 @@ yyreduce:
}
break;
- case 1116:
+ case 1183:
/* Line 1787 of yacc.c */
-#line 7515 "gram.y"
+#line 8110 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_START;
@@ -29839,9 +32152,9 @@ yyreduce:
}
break;
- case 1117:
+ case 1184:
/* Line 1787 of yacc.c */
-#line 7522 "gram.y"
+#line 8117 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
@@ -29850,9 +32163,9 @@ yyreduce:
}
break;
- case 1118:
+ case 1185:
/* Line 1787 of yacc.c */
-#line 7529 "gram.y"
+#line 8124 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
@@ -29861,9 +32174,9 @@ yyreduce:
}
break;
- case 1119:
+ case 1186:
/* Line 1787 of yacc.c */
-#line 7536 "gram.y"
+#line 8131 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
@@ -29872,9 +32185,9 @@ yyreduce:
}
break;
- case 1120:
+ case 1187:
/* Line 1787 of yacc.c */
-#line 7543 "gram.y"
+#line 8138 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_SAVEPOINT;
@@ -29884,9 +32197,9 @@ yyreduce:
}
break;
- case 1121:
+ case 1188:
/* Line 1787 of yacc.c */
-#line 7551 "gram.y"
+#line 8146 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
@@ -29896,9 +32209,9 @@ yyreduce:
}
break;
- case 1122:
+ case 1189:
/* Line 1787 of yacc.c */
-#line 7559 "gram.y"
+#line 8154 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
@@ -29908,9 +32221,9 @@ yyreduce:
}
break;
- case 1123:
+ case 1190:
/* Line 1787 of yacc.c */
-#line 7567 "gram.y"
+#line 8162 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
@@ -29920,9 +32233,9 @@ yyreduce:
}
break;
- case 1124:
+ case 1191:
/* Line 1787 of yacc.c */
-#line 7575 "gram.y"
+#line 8170 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
@@ -29932,9 +32245,9 @@ yyreduce:
}
break;
- case 1125:
+ case 1192:
/* Line 1787 of yacc.c */
-#line 7583 "gram.y"
+#line 8178 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_PREPARE;
@@ -29943,9 +32256,9 @@ yyreduce:
}
break;
- case 1126:
+ case 1193:
/* Line 1787 of yacc.c */
-#line 7590 "gram.y"
+#line 8185 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT_PREPARED;
@@ -29954,9 +32267,9 @@ yyreduce:
}
break;
- case 1127:
+ case 1194:
/* Line 1787 of yacc.c */
-#line 7597 "gram.y"
+#line 8192 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_PREPARED;
@@ -29965,86 +32278,86 @@ yyreduce:
}
break;
- case 1128:
+ case 1195:
/* Line 1787 of yacc.c */
-#line 7605 "gram.y"
+#line 8200 "gram.y"
{}
break;
- case 1129:
+ case 1196:
/* Line 1787 of yacc.c */
-#line 7606 "gram.y"
+#line 8201 "gram.y"
{}
break;
- case 1130:
+ case 1197:
/* Line 1787 of yacc.c */
-#line 7607 "gram.y"
+#line 8202 "gram.y"
{}
break;
- case 1131:
+ case 1198:
/* Line 1787 of yacc.c */
-#line 7612 "gram.y"
+#line 8207 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_isolation",
makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)]))); }
break;
- case 1132:
+ case 1199:
/* Line 1787 of yacc.c */
-#line 7615 "gram.y"
+#line 8210 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(TRUE, (yylsp[(1) - (2)]))); }
break;
- case 1133:
+ case 1200:
/* Line 1787 of yacc.c */
-#line 7618 "gram.y"
+#line 8213 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(FALSE, (yylsp[(1) - (2)]))); }
break;
- case 1134:
+ case 1201:
/* Line 1787 of yacc.c */
-#line 7621 "gram.y"
+#line 8216 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(TRUE, (yylsp[(1) - (1)]))); }
break;
- case 1135:
+ case 1202:
/* Line 1787 of yacc.c */
-#line 7624 "gram.y"
+#line 8219 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(FALSE, (yylsp[(1) - (2)]))); }
break;
- case 1136:
+ case 1203:
/* Line 1787 of yacc.c */
-#line 7631 "gram.y"
+#line 8226 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); }
break;
- case 1137:
+ case 1204:
/* Line 1787 of yacc.c */
-#line 7633 "gram.y"
+#line 8228 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); }
break;
- case 1138:
+ case 1205:
/* Line 1787 of yacc.c */
-#line 7635 "gram.y"
+#line 8230 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 1140:
+ case 1207:
/* Line 1787 of yacc.c */
-#line 7641 "gram.y"
+#line 8236 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1141:
+ case 1208:
/* Line 1787 of yacc.c */
-#line 7655 "gram.y"
+#line 8250 "gram.y"
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[(4) - (9)].range);
@@ -30053,13 +32366,14 @@ yyreduce:
n->query = (yyvsp[(8) - (9)].node);
n->replace = false;
n->options = (yyvsp[(6) - (9)].list);
+ n->withCheckOption = (yyvsp[(9) - (9)].ival);
(yyval.node) = (Node *) n;
}
break;
- case 1142:
+ case 1209:
/* Line 1787 of yacc.c */
-#line 7667 "gram.y"
+#line 8263 "gram.y"
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[(6) - (11)].range);
@@ -30068,49 +32382,80 @@ yyreduce:
n->query = (yyvsp[(10) - (11)].node);
n->replace = true;
n->options = (yyvsp[(8) - (11)].list);
+ n->withCheckOption = (yyvsp[(11) - (11)].ival);
(yyval.node) = (Node *) n;
}
break;
- case 1143:
+ case 1210:
/* Line 1787 of yacc.c */
-#line 7681 "gram.y"
+#line 8276 "gram.y"
{
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("WITH CHECK OPTION is not implemented")));
+ ViewStmt *n = makeNode(ViewStmt);
+ n->view = (yyvsp[(5) - (12)].range);
+ n->view->relpersistence = (yyvsp[(2) - (12)].ival);
+ n->aliases = (yyvsp[(7) - (12)].list);
+ n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[(11) - (12)].node));
+ n->replace = false;
+ n->options = (yyvsp[(9) - (12)].list);
+ n->withCheckOption = (yyvsp[(12) - (12)].ival);
+ if (n->withCheckOption != NO_CHECK_OPTION)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("WITH CHECK OPTION not supported on recursive views"),
+ parser_errposition((yylsp[(12) - (12)]))));
+ (yyval.node) = (Node *) n;
}
break;
- case 1144:
+ case 1211:
/* Line 1787 of yacc.c */
-#line 7687 "gram.y"
+#line 8294 "gram.y"
{
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("WITH CHECK OPTION is not implemented")));
+ ViewStmt *n = makeNode(ViewStmt);
+ n->view = (yyvsp[(7) - (14)].range);
+ n->view->relpersistence = (yyvsp[(4) - (14)].ival);
+ n->aliases = (yyvsp[(9) - (14)].list);
+ n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[(13) - (14)].node));
+ n->replace = true;
+ n->options = (yyvsp[(11) - (14)].list);
+ n->withCheckOption = (yyvsp[(14) - (14)].ival);
+ if (n->withCheckOption != NO_CHECK_OPTION)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("WITH CHECK OPTION not supported on recursive views"),
+ parser_errposition((yylsp[(14) - (14)]))));
+ (yyval.node) = (Node *) n;
}
break;
- case 1145:
+ case 1212:
/* Line 1787 of yacc.c */
-#line 7693 "gram.y"
- {
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("WITH CHECK OPTION is not implemented")));
- }
+#line 8313 "gram.y"
+ { (yyval.ival) = CASCADED_CHECK_OPTION; }
break;
- case 1146:
+ case 1213:
/* Line 1787 of yacc.c */
-#line 7698 "gram.y"
- { (yyval.list) = NIL; }
+#line 8314 "gram.y"
+ { (yyval.ival) = CASCADED_CHECK_OPTION; }
break;
- case 1147:
+ case 1214:
+/* Line 1787 of yacc.c */
+#line 8315 "gram.y"
+ { (yyval.ival) = LOCAL_CHECK_OPTION; }
+ break;
+
+ case 1215:
+/* Line 1787 of yacc.c */
+#line 8316 "gram.y"
+ { (yyval.ival) = NO_CHECK_OPTION; }
+ break;
+
+ case 1216:
/* Line 1787 of yacc.c */
-#line 7709 "gram.y"
+#line 8327 "gram.y"
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[(2) - (2)].str);
@@ -30118,9 +32463,9 @@ yyreduce:
}
break;
- case 1148:
+ case 1217:
/* Line 1787 of yacc.c */
-#line 7725 "gram.y"
+#line 8343 "gram.y"
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[(3) - (5)].str);
@@ -30129,161 +32474,161 @@ yyreduce:
}
break;
- case 1149:
+ case 1218:
/* Line 1787 of yacc.c */
-#line 7734 "gram.y"
+#line 8352 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 1150:
+ case 1219:
/* Line 1787 of yacc.c */
-#line 7735 "gram.y"
+#line 8353 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1151:
+ case 1220:
/* Line 1787 of yacc.c */
-#line 7740 "gram.y"
+#line 8358 "gram.y"
{
(yyval.defelt) = makeDefElem("tablespace", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 1152:
+ case 1221:
/* Line 1787 of yacc.c */
-#line 7744 "gram.y"
+#line 8362 "gram.y"
{
(yyval.defelt) = makeDefElem("tablespace", NULL);
}
break;
- case 1153:
+ case 1222:
/* Line 1787 of yacc.c */
-#line 7748 "gram.y"
+#line 8366 "gram.y"
{
(yyval.defelt) = makeDefElem("location", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 1154:
+ case 1223:
/* Line 1787 of yacc.c */
-#line 7752 "gram.y"
+#line 8370 "gram.y"
{
(yyval.defelt) = makeDefElem("location", NULL);
}
break;
- case 1155:
+ case 1224:
/* Line 1787 of yacc.c */
-#line 7756 "gram.y"
+#line 8374 "gram.y"
{
(yyval.defelt) = makeDefElem("template", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 1156:
+ case 1225:
/* Line 1787 of yacc.c */
-#line 7760 "gram.y"
+#line 8378 "gram.y"
{
(yyval.defelt) = makeDefElem("template", NULL);
}
break;
- case 1157:
+ case 1226:
/* Line 1787 of yacc.c */
-#line 7764 "gram.y"
+#line 8382 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 1158:
+ case 1227:
/* Line 1787 of yacc.c */
-#line 7768 "gram.y"
+#line 8386 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeInteger((yyvsp[(3) - (3)].ival)));
}
break;
- case 1159:
+ case 1228:
/* Line 1787 of yacc.c */
-#line 7772 "gram.y"
+#line 8390 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", NULL);
}
break;
- case 1160:
+ case 1229:
/* Line 1787 of yacc.c */
-#line 7776 "gram.y"
+#line 8394 "gram.y"
{
(yyval.defelt) = makeDefElem("lc_collate", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 1161:
+ case 1230:
/* Line 1787 of yacc.c */
-#line 7780 "gram.y"
+#line 8398 "gram.y"
{
(yyval.defelt) = makeDefElem("lc_collate", NULL);
}
break;
- case 1162:
+ case 1231:
/* Line 1787 of yacc.c */
-#line 7784 "gram.y"
+#line 8402 "gram.y"
{
(yyval.defelt) = makeDefElem("lc_ctype", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 1163:
+ case 1232:
/* Line 1787 of yacc.c */
-#line 7788 "gram.y"
+#line 8406 "gram.y"
{
(yyval.defelt) = makeDefElem("lc_ctype", NULL);
}
break;
- case 1164:
+ case 1233:
/* Line 1787 of yacc.c */
-#line 7792 "gram.y"
+#line 8410 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(4) - (4)].ival)));
}
break;
- case 1165:
+ case 1234:
/* Line 1787 of yacc.c */
-#line 7796 "gram.y"
+#line 8414 "gram.y"
{
(yyval.defelt) = makeDefElem("owner", (Node *)makeString((yyvsp[(3) - (3)].str)));
}
break;
- case 1166:
+ case 1235:
/* Line 1787 of yacc.c */
-#line 7800 "gram.y"
+#line 8418 "gram.y"
{
(yyval.defelt) = makeDefElem("owner", NULL);
}
break;
- case 1167:
+ case 1236:
/* Line 1787 of yacc.c */
-#line 7809 "gram.y"
+#line 8427 "gram.y"
{}
break;
- case 1168:
+ case 1237:
/* Line 1787 of yacc.c */
-#line 7810 "gram.y"
+#line 8428 "gram.y"
{}
break;
- case 1169:
+ case 1238:
/* Line 1787 of yacc.c */
-#line 7822 "gram.y"
+#line 8440 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (5)].str);
@@ -30292,9 +32637,9 @@ yyreduce:
}
break;
- case 1170:
+ case 1239:
/* Line 1787 of yacc.c */
-#line 7829 "gram.y"
+#line 8447 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (6)].str);
@@ -30304,9 +32649,9 @@ yyreduce:
}
break;
- case 1171:
+ case 1240:
/* Line 1787 of yacc.c */
-#line 7840 "gram.y"
+#line 8458 "gram.y"
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[(3) - (4)].str);
@@ -30315,29 +32660,29 @@ yyreduce:
}
break;
- case 1172:
+ case 1241:
/* Line 1787 of yacc.c */
-#line 7850 "gram.y"
+#line 8468 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); }
break;
- case 1173:
+ case 1242:
/* Line 1787 of yacc.c */
-#line 7851 "gram.y"
+#line 8469 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1174:
+ case 1243:
/* Line 1787 of yacc.c */
-#line 7856 "gram.y"
+#line 8474 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(4) - (4)].ival)));
}
break;
- case 1175:
+ case 1244:
/* Line 1787 of yacc.c */
-#line 7870 "gram.y"
+#line 8488 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[(3) - (3)].str);
@@ -30346,9 +32691,9 @@ yyreduce:
}
break;
- case 1176:
+ case 1245:
/* Line 1787 of yacc.c */
-#line 7877 "gram.y"
+#line 8495 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[(5) - (5)].str);
@@ -30357,9 +32702,19 @@ yyreduce:
}
break;
- case 1177:
+ case 1246:
+/* Line 1787 of yacc.c */
+#line 8513 "gram.y"
+ {
+ AlterSystemStmt *n = makeNode(AlterSystemStmt);
+ n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1247:
/* Line 1787 of yacc.c */
-#line 7894 "gram.y"
+#line 8529 "gram.y"
{
CreateDomainStmt *n = makeNode(CreateDomainStmt);
n->domainname = (yyvsp[(3) - (6)].list);
@@ -30370,9 +32725,9 @@ yyreduce:
}
break;
- case 1178:
+ case 1248:
/* Line 1787 of yacc.c */
-#line 7907 "gram.y"
+#line 8542 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'T';
@@ -30382,9 +32737,9 @@ yyreduce:
}
break;
- case 1179:
+ case 1249:
/* Line 1787 of yacc.c */
-#line 7916 "gram.y"
+#line 8551 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
@@ -30393,9 +32748,9 @@ yyreduce:
}
break;
- case 1180:
+ case 1250:
/* Line 1787 of yacc.c */
-#line 7924 "gram.y"
+#line 8559 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
@@ -30404,9 +32759,9 @@ yyreduce:
}
break;
- case 1181:
+ case 1251:
/* Line 1787 of yacc.c */
-#line 7932 "gram.y"
+#line 8567 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'C';
@@ -30416,9 +32771,9 @@ yyreduce:
}
break;
- case 1182:
+ case 1252:
/* Line 1787 of yacc.c */
-#line 7941 "gram.y"
+#line 8576 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'X';
@@ -30430,9 +32785,9 @@ yyreduce:
}
break;
- case 1183:
+ case 1253:
/* Line 1787 of yacc.c */
-#line 7952 "gram.y"
+#line 8587 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'X';
@@ -30444,9 +32799,9 @@ yyreduce:
}
break;
- case 1184:
+ case 1254:
/* Line 1787 of yacc.c */
-#line 7963 "gram.y"
+#line 8598 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'V';
@@ -30456,21 +32811,21 @@ yyreduce:
}
break;
- case 1185:
+ case 1255:
/* Line 1787 of yacc.c */
-#line 7972 "gram.y"
+#line 8607 "gram.y"
{}
break;
- case 1186:
+ case 1256:
/* Line 1787 of yacc.c */
-#line 7973 "gram.y"
+#line 8608 "gram.y"
{}
break;
- case 1187:
+ case 1257:
/* Line 1787 of yacc.c */
-#line 7985 "gram.y"
+#line 8620 "gram.y"
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[(5) - (6)].list);
@@ -30479,9 +32834,9 @@ yyreduce:
}
break;
- case 1188:
+ case 1258:
/* Line 1787 of yacc.c */
-#line 7995 "gram.y"
+#line 8630 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[(5) - (11)].list);
@@ -30493,9 +32848,9 @@ yyreduce:
}
break;
- case 1189:
+ case 1259:
/* Line 1787 of yacc.c */
-#line 8005 "gram.y"
+#line 8640 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[(5) - (11)].list);
@@ -30507,9 +32862,9 @@ yyreduce:
}
break;
- case 1190:
+ case 1260:
/* Line 1787 of yacc.c */
-#line 8015 "gram.y"
+#line 8650 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[(5) - (11)].list);
@@ -30521,9 +32876,9 @@ yyreduce:
}
break;
- case 1191:
+ case 1261:
/* Line 1787 of yacc.c */
-#line 8025 "gram.y"
+#line 8660 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[(5) - (13)].list);
@@ -30535,9 +32890,9 @@ yyreduce:
}
break;
- case 1192:
+ case 1262:
/* Line 1787 of yacc.c */
-#line 8035 "gram.y"
+#line 8670 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[(5) - (9)].list);
@@ -30547,9 +32902,9 @@ yyreduce:
}
break;
- case 1193:
+ case 1263:
/* Line 1787 of yacc.c */
-#line 8043 "gram.y"
+#line 8678 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[(5) - (11)].list);
@@ -30559,9 +32914,9 @@ yyreduce:
}
break;
- case 1194:
+ case 1264:
/* Line 1787 of yacc.c */
-#line 8065 "gram.y"
+#line 8700 "gram.y"
{
CreateConversionStmt *n = makeNode(CreateConversionStmt);
n->conversion_name = (yyvsp[(4) - (10)].list);
@@ -30573,9 +32928,9 @@ yyreduce:
}
break;
- case 1195:
+ case 1265:
/* Line 1787 of yacc.c */
-#line 8087 "gram.y"
+#line 8722 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(3) - (4)].range);
@@ -30585,9 +32940,9 @@ yyreduce:
}
break;
- case 1196:
+ case 1266:
/* Line 1787 of yacc.c */
-#line 8095 "gram.y"
+#line 8730 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
@@ -30597,9 +32952,9 @@ yyreduce:
}
break;
- case 1197:
+ case 1267:
/* Line 1787 of yacc.c */
-#line 8104 "gram.y"
+#line 8739 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(5) - (5)].range);
@@ -30609,21 +32964,21 @@ yyreduce:
}
break;
- case 1198:
+ case 1268:
/* Line 1787 of yacc.c */
-#line 8114 "gram.y"
+#line 8749 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
- case 1199:
+ case 1269:
/* Line 1787 of yacc.c */
-#line 8115 "gram.y"
+#line 8750 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 1200:
+ case 1270:
/* Line 1787 of yacc.c */
-#line 8128 "gram.y"
+#line 8763 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM;
@@ -30633,15 +32988,17 @@ yyreduce:
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = (yyvsp[(3) - (4)].boolean) ? 0 : -1;
n->freeze_table_age = (yyvsp[(3) - (4)].boolean) ? 0 : -1;
+ n->multixact_freeze_min_age = (yyvsp[(3) - (4)].boolean) ? 0 : -1;
+ n->multixact_freeze_table_age = (yyvsp[(3) - (4)].boolean) ? 0 : -1;
n->relation = NULL;
n->va_cols = NIL;
(yyval.node) = (Node *)n;
}
break;
- case 1201:
+ case 1271:
/* Line 1787 of yacc.c */
-#line 8142 "gram.y"
+#line 8779 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM;
@@ -30651,15 +33008,17 @@ yyreduce:
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1;
n->freeze_table_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1;
+ n->multixact_freeze_min_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1;
+ n->multixact_freeze_table_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1;
n->relation = (yyvsp[(5) - (5)].range);
n->va_cols = NIL;
(yyval.node) = (Node *)n;
}
break;
- case 1202:
+ case 1272:
/* Line 1787 of yacc.c */
-#line 8156 "gram.y"
+#line 8795 "gram.y"
{
VacuumStmt *n = (VacuumStmt *) (yyvsp[(5) - (5)].node);
n->options |= VACOPT_VACUUM;
@@ -30669,36 +33028,54 @@ yyreduce:
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1;
n->freeze_table_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1;
+ n->multixact_freeze_min_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1;
+ n->multixact_freeze_table_age = (yyvsp[(3) - (5)].boolean) ? 0 : -1;
(yyval.node) = (Node *)n;
}
break;
- case 1203:
+ case 1273:
/* Line 1787 of yacc.c */
-#line 8168 "gram.y"
+#line 8809 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM | (yyvsp[(3) - (4)].ival);
if (n->options & VACOPT_FREEZE)
+ {
n->freeze_min_age = n->freeze_table_age = 0;
+ n->multixact_freeze_min_age = 0;
+ n->multixact_freeze_table_age = 0;
+ }
else
+ {
n->freeze_min_age = n->freeze_table_age = -1;
+ n->multixact_freeze_min_age = -1;
+ n->multixact_freeze_table_age = -1;
+ }
n->relation = NULL;
n->va_cols = NIL;
(yyval.node) = (Node *) n;
}
break;
- case 1204:
+ case 1274:
/* Line 1787 of yacc.c */
-#line 8180 "gram.y"
+#line 8829 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM | (yyvsp[(3) - (6)].ival);
if (n->options & VACOPT_FREEZE)
+ {
n->freeze_min_age = n->freeze_table_age = 0;
+ n->multixact_freeze_min_age = 0;
+ n->multixact_freeze_table_age = 0;
+ }
else
+ {
n->freeze_min_age = n->freeze_table_age = -1;
+ n->multixact_freeze_min_age = -1;
+ n->multixact_freeze_table_age = -1;
+ }
n->relation = (yyvsp[(5) - (6)].range);
n->va_cols = (yyvsp[(6) - (6)].list);
if (n->va_cols != NIL) /* implies analyze */
@@ -30707,45 +33084,45 @@ yyreduce:
}
break;
- case 1205:
+ case 1275:
/* Line 1787 of yacc.c */
-#line 8196 "gram.y"
+#line 8853 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); }
break;
- case 1206:
+ case 1276:
/* Line 1787 of yacc.c */
-#line 8197 "gram.y"
+#line 8854 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); }
break;
- case 1207:
+ case 1277:
/* Line 1787 of yacc.c */
-#line 8201 "gram.y"
+#line 8858 "gram.y"
{ (yyval.ival) = VACOPT_ANALYZE; }
break;
- case 1208:
+ case 1278:
/* Line 1787 of yacc.c */
-#line 8202 "gram.y"
+#line 8859 "gram.y"
{ (yyval.ival) = VACOPT_VERBOSE; }
break;
- case 1209:
+ case 1279:
/* Line 1787 of yacc.c */
-#line 8203 "gram.y"
+#line 8860 "gram.y"
{ (yyval.ival) = VACOPT_FREEZE; }
break;
- case 1210:
+ case 1280:
/* Line 1787 of yacc.c */
-#line 8204 "gram.y"
+#line 8861 "gram.y"
{ (yyval.ival) = VACOPT_FULL; }
break;
- case 1211:
+ case 1281:
/* Line 1787 of yacc.c */
-#line 8209 "gram.y"
+#line 8866 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_ANALYZE;
@@ -30753,15 +33130,17 @@ yyreduce:
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = -1;
n->freeze_table_age = -1;
+ n->multixact_freeze_min_age = -1;
+ n->multixact_freeze_table_age = -1;
n->relation = NULL;
n->va_cols = NIL;
(yyval.node) = (Node *)n;
}
break;
- case 1212:
+ case 1282:
/* Line 1787 of yacc.c */
-#line 8221 "gram.y"
+#line 8880 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_ANALYZE;
@@ -30769,75 +33148,77 @@ yyreduce:
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = -1;
n->freeze_table_age = -1;
+ n->multixact_freeze_min_age = -1;
+ n->multixact_freeze_table_age = -1;
n->relation = (yyvsp[(3) - (4)].range);
n->va_cols = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
}
break;
- case 1213:
+ case 1283:
/* Line 1787 of yacc.c */
-#line 8235 "gram.y"
+#line 8896 "gram.y"
{}
break;
- case 1214:
+ case 1284:
/* Line 1787 of yacc.c */
-#line 8236 "gram.y"
+#line 8897 "gram.y"
{}
break;
- case 1215:
+ case 1285:
/* Line 1787 of yacc.c */
-#line 8240 "gram.y"
+#line 8901 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1216:
+ case 1286:
/* Line 1787 of yacc.c */
-#line 8241 "gram.y"
+#line 8902 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1217:
+ case 1287:
/* Line 1787 of yacc.c */
-#line 8244 "gram.y"
+#line 8905 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1218:
+ case 1288:
/* Line 1787 of yacc.c */
-#line 8245 "gram.y"
+#line 8906 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1219:
+ case 1289:
/* Line 1787 of yacc.c */
-#line 8248 "gram.y"
+#line 8909 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1220:
+ case 1290:
/* Line 1787 of yacc.c */
-#line 8249 "gram.y"
+#line 8910 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1221:
+ case 1291:
/* Line 1787 of yacc.c */
-#line 8253 "gram.y"
+#line 8914 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 1222:
+ case 1292:
/* Line 1787 of yacc.c */
-#line 8254 "gram.y"
+#line 8915 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1223:
+ case 1293:
/* Line 1787 of yacc.c */
-#line 8268 "gram.y"
+#line 8929 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(2) - (2)].node);
@@ -30846,9 +33227,9 @@ yyreduce:
}
break;
- case 1224:
+ case 1294:
/* Line 1787 of yacc.c */
-#line 8275 "gram.y"
+#line 8936 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(4) - (4)].node);
@@ -30860,9 +33241,9 @@ yyreduce:
}
break;
- case 1225:
+ case 1295:
/* Line 1787 of yacc.c */
-#line 8285 "gram.y"
+#line 8946 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(3) - (3)].node);
@@ -30871,9 +33252,9 @@ yyreduce:
}
break;
- case 1226:
+ case 1296:
/* Line 1787 of yacc.c */
-#line 8292 "gram.y"
+#line 8953 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(5) - (5)].node);
@@ -30882,69 +33263,63 @@ yyreduce:
}
break;
- case 1234:
+ case 1306:
/* Line 1787 of yacc.c */
-#line 8312 "gram.y"
+#line 8975 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
}
break;
- case 1235:
+ case 1307:
/* Line 1787 of yacc.c */
-#line 8316 "gram.y"
+#line 8979 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
}
break;
- case 1236:
+ case 1308:
/* Line 1787 of yacc.c */
-#line 8323 "gram.y"
+#line 8986 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
}
break;
- case 1237:
+ case 1309:
/* Line 1787 of yacc.c */
-#line 8329 "gram.y"
+#line 8992 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1238:
+ case 1310:
/* Line 1787 of yacc.c */
-#line 8330 "gram.y"
+#line 8993 "gram.y"
{ (yyval.str) = "analyze"; }
break;
- case 1239:
-/* Line 1787 of yacc.c */
-#line 8331 "gram.y"
- { (yyval.str) = "verbose"; }
- break;
-
- case 1240:
+ case 1311:
/* Line 1787 of yacc.c */
-#line 8335 "gram.y"
+#line 8997 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); }
break;
- case 1241:
+ case 1312:
/* Line 1787 of yacc.c */
-#line 8336 "gram.y"
+#line 8998 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); }
break;
- case 1242:
+ case 1313:
/* Line 1787 of yacc.c */
-#line 8337 "gram.y"
+#line 8999 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1243:
+ case 1314:
/* Line 1787 of yacc.c */
-#line 8348 "gram.y"
+#line 9010 "gram.y"
{
PrepareStmt *n = makeNode(PrepareStmt);
n->name = (yyvsp[(2) - (5)].str);
@@ -30954,21 +33329,21 @@ yyreduce:
}
break;
- case 1244:
+ case 1315:
/* Line 1787 of yacc.c */
-#line 8357 "gram.y"
+#line 9019 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 1245:
+ case 1316:
/* Line 1787 of yacc.c */
-#line 8358 "gram.y"
+#line 9020 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1250:
+ case 1321:
/* Line 1787 of yacc.c */
-#line 8376 "gram.y"
+#line 9038 "gram.y"
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[(2) - (3)].str);
@@ -30977,9 +33352,9 @@ yyreduce:
}
break;
- case 1251:
+ case 1322:
/* Line 1787 of yacc.c */
-#line 8384 "gram.y"
+#line 9046 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ExecuteStmt *n = makeNode(ExecuteStmt);
@@ -30987,6 +33362,7 @@ yyreduce:
n->params = (yyvsp[(8) - (9)].list);
ctas->query = (Node *) n;
ctas->into = (yyvsp[(4) - (9)].into);
+ ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
/* cram additional flags into the IntoClause */
(yyvsp[(4) - (9)].into)->rel->relpersistence = (yyvsp[(2) - (9)].ival);
@@ -30995,21 +33371,21 @@ yyreduce:
}
break;
- case 1252:
+ case 1323:
/* Line 1787 of yacc.c */
-#line 8399 "gram.y"
+#line 9062 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 1253:
+ case 1324:
/* Line 1787 of yacc.c */
-#line 8400 "gram.y"
+#line 9063 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1254:
+ case 1325:
/* Line 1787 of yacc.c */
-#line 8411 "gram.y"
+#line 9074 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[(2) - (2)].str);
@@ -31017,9 +33393,9 @@ yyreduce:
}
break;
- case 1255:
+ case 1326:
/* Line 1787 of yacc.c */
-#line 8417 "gram.y"
+#line 9080 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[(3) - (3)].str);
@@ -31027,9 +33403,9 @@ yyreduce:
}
break;
- case 1256:
+ case 1327:
/* Line 1787 of yacc.c */
-#line 8423 "gram.y"
+#line 9086 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
@@ -31037,9 +33413,9 @@ yyreduce:
}
break;
- case 1257:
+ case 1328:
/* Line 1787 of yacc.c */
-#line 8429 "gram.y"
+#line 9092 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
@@ -31047,9 +33423,9 @@ yyreduce:
}
break;
- case 1258:
+ case 1329:
/* Line 1787 of yacc.c */
-#line 8445 "gram.y"
+#line 9108 "gram.y"
{
(yyvsp[(5) - (6)].istmt)->relation = (yyvsp[(4) - (6)].range);
(yyvsp[(5) - (6)].istmt)->returningList = (yyvsp[(6) - (6)].list);
@@ -31058,9 +33434,9 @@ yyreduce:
}
break;
- case 1259:
+ case 1330:
/* Line 1787 of yacc.c */
-#line 8455 "gram.y"
+#line 9118 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
@@ -31068,9 +33444,9 @@ yyreduce:
}
break;
- case 1260:
+ case 1331:
/* Line 1787 of yacc.c */
-#line 8461 "gram.y"
+#line 9124 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[(2) - (4)].list);
@@ -31078,9 +33454,9 @@ yyreduce:
}
break;
- case 1261:
+ case 1332:
/* Line 1787 of yacc.c */
-#line 8467 "gram.y"
+#line 9130 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
@@ -31088,21 +33464,21 @@ yyreduce:
}
break;
- case 1262:
+ case 1333:
/* Line 1787 of yacc.c */
-#line 8476 "gram.y"
+#line 9139 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
break;
- case 1263:
+ case 1334:
/* Line 1787 of yacc.c */
-#line 8478 "gram.y"
+#line 9141 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); }
break;
- case 1264:
+ case 1335:
/* Line 1787 of yacc.c */
-#line 8483 "gram.y"
+#line 9146 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(1) - (2)].str);
@@ -31112,21 +33488,21 @@ yyreduce:
}
break;
- case 1265:
+ case 1336:
/* Line 1787 of yacc.c */
-#line 8493 "gram.y"
+#line 9156 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 1266:
+ case 1337:
/* Line 1787 of yacc.c */
-#line 8494 "gram.y"
+#line 9157 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1267:
+ case 1338:
/* Line 1787 of yacc.c */
-#line 8507 "gram.y"
+#line 9170 "gram.y"
{
DeleteStmt *n = makeNode(DeleteStmt);
n->relation = (yyvsp[(4) - (7)].range);
@@ -31138,21 +33514,21 @@ yyreduce:
}
break;
- case 1268:
+ case 1339:
/* Line 1787 of yacc.c */
-#line 8519 "gram.y"
+#line 9182 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 1269:
+ case 1340:
/* Line 1787 of yacc.c */
-#line 8520 "gram.y"
+#line 9183 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1270:
+ case 1341:
/* Line 1787 of yacc.c */
-#line 8532 "gram.y"
+#line 9195 "gram.y"
{
LockStmt *n = makeNode(LockStmt);
@@ -31163,81 +33539,81 @@ yyreduce:
}
break;
- case 1271:
+ case 1342:
/* Line 1787 of yacc.c */
-#line 8542 "gram.y"
+#line 9205 "gram.y"
{ (yyval.ival) = (yyvsp[(2) - (3)].ival); }
break;
- case 1272:
+ case 1343:
/* Line 1787 of yacc.c */
-#line 8543 "gram.y"
+#line 9206 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; }
break;
- case 1273:
+ case 1344:
/* Line 1787 of yacc.c */
-#line 8546 "gram.y"
+#line 9209 "gram.y"
{ (yyval.ival) = AccessShareLock; }
break;
- case 1274:
+ case 1345:
/* Line 1787 of yacc.c */
-#line 8547 "gram.y"
+#line 9210 "gram.y"
{ (yyval.ival) = RowShareLock; }
break;
- case 1275:
+ case 1346:
/* Line 1787 of yacc.c */
-#line 8548 "gram.y"
+#line 9211 "gram.y"
{ (yyval.ival) = RowExclusiveLock; }
break;
- case 1276:
+ case 1347:
/* Line 1787 of yacc.c */
-#line 8549 "gram.y"
+#line 9212 "gram.y"
{ (yyval.ival) = ShareUpdateExclusiveLock; }
break;
- case 1277:
+ case 1348:
/* Line 1787 of yacc.c */
-#line 8550 "gram.y"
+#line 9213 "gram.y"
{ (yyval.ival) = ShareLock; }
break;
- case 1278:
+ case 1349:
/* Line 1787 of yacc.c */
-#line 8551 "gram.y"
+#line 9214 "gram.y"
{ (yyval.ival) = ShareRowExclusiveLock; }
break;
- case 1279:
+ case 1350:
/* Line 1787 of yacc.c */
-#line 8552 "gram.y"
+#line 9215 "gram.y"
{ (yyval.ival) = ExclusiveLock; }
break;
- case 1280:
+ case 1351:
/* Line 1787 of yacc.c */
-#line 8553 "gram.y"
+#line 9216 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; }
break;
- case 1281:
+ case 1352:
/* Line 1787 of yacc.c */
-#line 8556 "gram.y"
+#line 9219 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1282:
+ case 1353:
/* Line 1787 of yacc.c */
-#line 8557 "gram.y"
+#line 9220 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1283:
+ case 1354:
/* Line 1787 of yacc.c */
-#line 8573 "gram.y"
+#line 9236 "gram.y"
{
UpdateStmt *n = makeNode(UpdateStmt);
n->relation = (yyvsp[(3) - (8)].range);
@@ -31250,42 +33626,42 @@ yyreduce:
}
break;
- case 1284:
+ case 1355:
/* Line 1787 of yacc.c */
-#line 8586 "gram.y"
+#line 9249 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 1285:
+ case 1356:
/* Line 1787 of yacc.c */
-#line 8587 "gram.y"
+#line 9250 "gram.y"
{ (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); }
break;
- case 1286:
+ case 1357:
/* Line 1787 of yacc.c */
-#line 8591 "gram.y"
+#line 9254 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
break;
- case 1287:
+ case 1358:
/* Line 1787 of yacc.c */
-#line 8592 "gram.y"
+#line 9255 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 1288:
+ case 1359:
/* Line 1787 of yacc.c */
-#line 8597 "gram.y"
+#line 9260 "gram.y"
{
(yyval.target) = (yyvsp[(1) - (3)].target);
(yyval.target)->val = (Node *) (yyvsp[(3) - (3)].node);
}
break;
- case 1289:
+ case 1360:
/* Line 1787 of yacc.c */
-#line 8605 "gram.y"
+#line 9268 "gram.y"
{
ListCell *col_cell;
ListCell *val_cell;
@@ -31312,9 +33688,9 @@ yyreduce:
}
break;
- case 1290:
+ case 1361:
/* Line 1787 of yacc.c */
-#line 8633 "gram.y"
+#line 9296 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(1) - (2)].str);
@@ -31324,21 +33700,21 @@ yyreduce:
}
break;
- case 1291:
+ case 1362:
/* Line 1787 of yacc.c */
-#line 8643 "gram.y"
+#line 9306 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
break;
- case 1292:
+ case 1363:
/* Line 1787 of yacc.c */
-#line 8644 "gram.y"
+#line 9307 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); }
break;
- case 1293:
+ case 1364:
/* Line 1787 of yacc.c */
-#line 8655 "gram.y"
+#line 9318 "gram.y"
{
DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
n->portalname = (yyvsp[(2) - (7)].str);
@@ -31349,81 +33725,81 @@ yyreduce:
}
break;
- case 1294:
+ case 1365:
/* Line 1787 of yacc.c */
-#line 8665 "gram.y"
+#line 9328 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1295:
+ case 1366:
/* Line 1787 of yacc.c */
-#line 8668 "gram.y"
+#line 9331 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1296:
+ case 1367:
/* Line 1787 of yacc.c */
-#line 8669 "gram.y"
+#line 9332 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; }
break;
- case 1297:
+ case 1368:
/* Line 1787 of yacc.c */
-#line 8670 "gram.y"
+#line 9333 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; }
break;
- case 1298:
+ case 1369:
/* Line 1787 of yacc.c */
-#line 8671 "gram.y"
+#line 9334 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; }
break;
- case 1299:
+ case 1370:
/* Line 1787 of yacc.c */
-#line 8672 "gram.y"
+#line 9335 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; }
break;
- case 1300:
+ case 1371:
/* Line 1787 of yacc.c */
-#line 8675 "gram.y"
+#line 9338 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1301:
+ case 1372:
/* Line 1787 of yacc.c */
-#line 8676 "gram.y"
+#line 9339 "gram.y"
{ (yyval.ival) = CURSOR_OPT_HOLD; }
break;
- case 1302:
+ case 1373:
/* Line 1787 of yacc.c */
-#line 8677 "gram.y"
+#line 9340 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1305:
+ case 1376:
/* Line 1787 of yacc.c */
-#line 8730 "gram.y"
+#line 9393 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); }
break;
- case 1306:
+ case 1377:
/* Line 1787 of yacc.c */
-#line 8731 "gram.y"
+#line 9394 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); }
break;
- case 1307:
+ case 1378:
/* Line 1787 of yacc.c */
-#line 8745 "gram.y"
+#line 9409 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1308:
+ case 1379:
/* Line 1787 of yacc.c */
-#line 8747 "gram.y"
+#line 9411 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL,
NULL, NULL, NULL,
@@ -31432,9 +33808,9 @@ yyreduce:
}
break;
- case 1309:
+ case 1380:
/* Line 1787 of yacc.c */
-#line 8754 "gram.y"
+#line 9418 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list),
list_nth((yyvsp[(4) - (4)].list), 0), list_nth((yyvsp[(4) - (4)].list), 1),
@@ -31444,9 +33820,9 @@ yyreduce:
}
break;
- case 1310:
+ case 1381:
/* Line 1787 of yacc.c */
-#line 8762 "gram.y"
+#line 9426 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(4) - (4)].list),
list_nth((yyvsp[(3) - (4)].list), 0), list_nth((yyvsp[(3) - (4)].list), 1),
@@ -31456,9 +33832,9 @@ yyreduce:
}
break;
- case 1311:
+ case 1382:
/* Line 1787 of yacc.c */
-#line 8770 "gram.y"
+#line 9434 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL,
NULL, NULL,
@@ -31468,9 +33844,9 @@ yyreduce:
}
break;
- case 1312:
+ case 1383:
/* Line 1787 of yacc.c */
-#line 8778 "gram.y"
+#line 9442 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].list), NIL,
NULL, NULL,
@@ -31480,9 +33856,9 @@ yyreduce:
}
break;
- case 1313:
+ case 1384:
/* Line 1787 of yacc.c */
-#line 8786 "gram.y"
+#line 9450 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].list),
list_nth((yyvsp[(5) - (5)].list), 0), list_nth((yyvsp[(5) - (5)].list), 1),
@@ -31492,9 +33868,9 @@ yyreduce:
}
break;
- case 1314:
+ case 1385:
/* Line 1787 of yacc.c */
-#line 8794 "gram.y"
+#line 9458 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list),
list_nth((yyvsp[(4) - (5)].list), 0), list_nth((yyvsp[(4) - (5)].list), 1),
@@ -31504,21 +33880,21 @@ yyreduce:
}
break;
- case 1315:
+ case 1386:
/* Line 1787 of yacc.c */
-#line 8804 "gram.y"
+#line 9468 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1316:
+ case 1387:
/* Line 1787 of yacc.c */
-#line 8805 "gram.y"
+#line 9469 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1317:
+ case 1388:
/* Line 1787 of yacc.c */
-#line 8835 "gram.y"
+#line 9499 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->distinctClause = (yyvsp[(2) - (9)].list);
@@ -31533,15 +33909,15 @@ yyreduce:
}
break;
- case 1318:
+ case 1389:
/* Line 1787 of yacc.c */
-#line 8847 "gram.y"
+#line 9511 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1319:
+ case 1390:
/* Line 1787 of yacc.c */
-#line 8849 "gram.y"
+#line 9513 "gram.y"
{
/* same as SELECT * FROM relation_expr */
ColumnRef *cr = makeNode(ColumnRef);
@@ -31562,33 +33938,33 @@ yyreduce:
}
break;
- case 1320:
+ case 1391:
/* Line 1787 of yacc.c */
-#line 8868 "gram.y"
+#line 9532 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
}
break;
- case 1321:
+ case 1392:
/* Line 1787 of yacc.c */
-#line 8872 "gram.y"
+#line 9536 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
}
break;
- case 1322:
+ case 1393:
/* Line 1787 of yacc.c */
-#line 8876 "gram.y"
+#line 9540 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
}
break;
- case 1323:
+ case 1394:
/* Line 1787 of yacc.c */
-#line 8891 "gram.y"
+#line 9555 "gram.y"
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[(2) - (2)].list);
@@ -31597,9 +33973,9 @@ yyreduce:
}
break;
- case 1324:
+ case 1395:
/* Line 1787 of yacc.c */
-#line 8898 "gram.y"
+#line 9562 "gram.y"
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[(3) - (3)].list);
@@ -31608,21 +33984,21 @@ yyreduce:
}
break;
- case 1325:
+ case 1396:
/* Line 1787 of yacc.c */
-#line 8907 "gram.y"
+#line 9571 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 1326:
+ case 1397:
/* Line 1787 of yacc.c */
-#line 8908 "gram.y"
+#line 9572 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 1327:
+ case 1398:
/* Line 1787 of yacc.c */
-#line 8912 "gram.y"
+#line 9576 "gram.y"
{
CommonTableExpr *n = makeNode(CommonTableExpr);
n->ctename = (yyvsp[(1) - (6)].str);
@@ -31633,21 +34009,21 @@ yyreduce:
}
break;
- case 1328:
+ case 1399:
/* Line 1787 of yacc.c */
-#line 8923 "gram.y"
+#line 9587 "gram.y"
{ (yyval.with) = (yyvsp[(1) - (1)].with); }
break;
- case 1329:
+ case 1400:
/* Line 1787 of yacc.c */
-#line 8924 "gram.y"
+#line 9588 "gram.y"
{ (yyval.with) = NULL; }
break;
- case 1330:
+ case 1401:
/* Line 1787 of yacc.c */
-#line 8929 "gram.y"
+#line 9593 "gram.y"
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[(2) - (2)].range);
@@ -31655,55 +34031,56 @@ yyreduce:
(yyval.into)->options = NIL;
(yyval.into)->onCommit = ONCOMMIT_NOOP;
(yyval.into)->tableSpaceName = NULL;
+ (yyval.into)->viewQuery = NULL;
(yyval.into)->skipData = false;
}
break;
- case 1331:
+ case 1402:
/* Line 1787 of yacc.c */
-#line 8939 "gram.y"
+#line 9604 "gram.y"
{ (yyval.into) = NULL; }
break;
- case 1332:
+ case 1403:
/* Line 1787 of yacc.c */
-#line 8948 "gram.y"
+#line 9613 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
break;
- case 1333:
+ case 1404:
/* Line 1787 of yacc.c */
-#line 8953 "gram.y"
+#line 9618 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
break;
- case 1334:
+ case 1405:
/* Line 1787 of yacc.c */
-#line 8958 "gram.y"
+#line 9623 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
break;
- case 1335:
+ case 1406:
/* Line 1787 of yacc.c */
-#line 8963 "gram.y"
+#line 9628 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
break;
- case 1336:
+ case 1407:
/* Line 1787 of yacc.c */
-#line 8968 "gram.y"
+#line 9633 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
@@ -31713,9 +34090,9 @@ yyreduce:
}
break;
- case 1337:
+ case 1408:
/* Line 1787 of yacc.c */
-#line 8976 "gram.y"
+#line 9641 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
@@ -31725,120 +34102,120 @@ yyreduce:
}
break;
- case 1338:
+ case 1409:
/* Line 1787 of yacc.c */
-#line 8984 "gram.y"
+#line 9649 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
}
break;
- case 1339:
+ case 1410:
/* Line 1787 of yacc.c */
-#line 8989 "gram.y"
+#line 9654 "gram.y"
{
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
}
break;
- case 1340:
+ case 1411:
/* Line 1787 of yacc.c */
-#line 8994 "gram.y"
+#line 9659 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
}
break;
- case 1341:
+ case 1412:
/* Line 1787 of yacc.c */
-#line 9000 "gram.y"
+#line 9665 "gram.y"
{}
break;
- case 1342:
+ case 1413:
/* Line 1787 of yacc.c */
-#line 9001 "gram.y"
+#line 9666 "gram.y"
{}
break;
- case 1343:
+ case 1414:
/* Line 1787 of yacc.c */
-#line 9004 "gram.y"
+#line 9669 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1344:
+ case 1415:
/* Line 1787 of yacc.c */
-#line 9005 "gram.y"
+#line 9670 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1345:
+ case 1416:
/* Line 1787 of yacc.c */
-#line 9006 "gram.y"
+#line 9671 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1346:
+ case 1417:
/* Line 1787 of yacc.c */
-#line 9013 "gram.y"
+#line 9678 "gram.y"
{ (yyval.list) = list_make1(NIL); }
break;
- case 1347:
+ case 1418:
/* Line 1787 of yacc.c */
-#line 9014 "gram.y"
+#line 9679 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); }
break;
- case 1348:
+ case 1419:
/* Line 1787 of yacc.c */
-#line 9015 "gram.y"
+#line 9680 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1349:
+ case 1420:
/* Line 1787 of yacc.c */
-#line 9016 "gram.y"
+#line 9681 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1350:
+ case 1421:
/* Line 1787 of yacc.c */
-#line 9020 "gram.y"
+#line 9685 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list);}
break;
- case 1351:
+ case 1422:
/* Line 1787 of yacc.c */
-#line 9021 "gram.y"
+#line 9686 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1352:
+ case 1423:
/* Line 1787 of yacc.c */
-#line 9025 "gram.y"
+#line 9690 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); }
break;
- case 1353:
+ case 1424:
/* Line 1787 of yacc.c */
-#line 9029 "gram.y"
+#line 9694 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); }
break;
- case 1354:
+ case 1425:
/* Line 1787 of yacc.c */
-#line 9030 "gram.y"
+#line 9695 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); }
break;
- case 1355:
+ case 1426:
/* Line 1787 of yacc.c */
-#line 9034 "gram.y"
+#line 9699 "gram.y"
{
(yyval.sortby) = makeNode(SortBy);
(yyval.sortby)->node = (yyvsp[(1) - (4)].node);
@@ -31849,9 +34226,9 @@ yyreduce:
}
break;
- case 1356:
+ case 1427:
/* Line 1787 of yacc.c */
-#line 9043 "gram.y"
+#line 9708 "gram.y"
{
(yyval.sortby) = makeNode(SortBy);
(yyval.sortby)->node = (yyvsp[(1) - (3)].node);
@@ -31862,51 +34239,51 @@ yyreduce:
}
break;
- case 1357:
+ case 1428:
/* Line 1787 of yacc.c */
-#line 9055 "gram.y"
+#line 9720 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (2)].node), (yyvsp[(1) - (2)].node)); }
break;
- case 1358:
+ case 1429:
/* Line 1787 of yacc.c */
-#line 9056 "gram.y"
+#line 9721 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); }
break;
- case 1359:
+ case 1430:
/* Line 1787 of yacc.c */
-#line 9057 "gram.y"
+#line 9722 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(1) - (1)].node)); }
break;
- case 1360:
+ case 1431:
/* Line 1787 of yacc.c */
-#line 9058 "gram.y"
+#line 9723 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (1)].node), NULL); }
break;
- case 1361:
+ case 1432:
/* Line 1787 of yacc.c */
-#line 9062 "gram.y"
+#line 9727 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 1362:
+ case 1433:
/* Line 1787 of yacc.c */
-#line 9063 "gram.y"
+#line 9728 "gram.y"
{ (yyval.list) = list_make2(NULL,NULL); }
break;
- case 1363:
+ case 1434:
/* Line 1787 of yacc.c */
-#line 9068 "gram.y"
+#line 9733 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1364:
+ case 1435:
/* Line 1787 of yacc.c */
-#line 9070 "gram.y"
+#line 9735 "gram.y"
{
/* Disabled because it was too confusing, bjm 2002-02-18 */
ereport(ERROR,
@@ -31917,192 +34294,204 @@ yyreduce:
}
break;
- case 1365:
+ case 1436:
/* Line 1787 of yacc.c */
-#line 9080 "gram.y"
+#line 9745 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (5)].node); }
break;
- case 1366:
+ case 1437:
/* Line 1787 of yacc.c */
-#line 9085 "gram.y"
+#line 9750 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1367:
+ case 1438:
/* Line 1787 of yacc.c */
-#line 9088 "gram.y"
+#line 9753 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); }
break;
- case 1368:
+ case 1439:
/* Line 1787 of yacc.c */
-#line 9092 "gram.y"
+#line 9757 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1369:
+ case 1440:
/* Line 1787 of yacc.c */
-#line 9094 "gram.y"
+#line 9759 "gram.y"
{
/* LIMIT ALL is represented as a NULL constant */
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
}
break;
- case 1370:
+ case 1441:
/* Line 1787 of yacc.c */
-#line 9101 "gram.y"
+#line 9766 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1371:
+ case 1442:
/* Line 1787 of yacc.c */
-#line 9111 "gram.y"
+#line 9776 "gram.y"
{ (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); }
break;
- case 1372:
+ case 1443:
/* Line 1787 of yacc.c */
-#line 9112 "gram.y"
+#line 9777 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); }
break;
- case 1373:
+ case 1444:
/* Line 1787 of yacc.c */
-#line 9113 "gram.y"
+#line 9778 "gram.y"
{ (yyval.node) = makeIntConst(1, -1); }
break;
- case 1374:
+ case 1445:
/* Line 1787 of yacc.c */
-#line 9121 "gram.y"
+#line 9786 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1375:
+ case 1446:
/* Line 1787 of yacc.c */
-#line 9125 "gram.y"
+#line 9790 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1376:
+ case 1447:
/* Line 1787 of yacc.c */
-#line 9126 "gram.y"
+#line 9791 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1377:
+ case 1448:
/* Line 1787 of yacc.c */
-#line 9129 "gram.y"
+#line 9794 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1378:
+ case 1449:
/* Line 1787 of yacc.c */
-#line 9130 "gram.y"
+#line 9795 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 1379:
+ case 1450:
/* Line 1787 of yacc.c */
-#line 9135 "gram.y"
+#line 9800 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); }
break;
- case 1380:
+ case 1451:
/* Line 1787 of yacc.c */
-#line 9136 "gram.y"
+#line 9801 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1381:
+ case 1452:
/* Line 1787 of yacc.c */
-#line 9140 "gram.y"
+#line 9805 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1382:
+ case 1453:
/* Line 1787 of yacc.c */
-#line 9141 "gram.y"
+#line 9806 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1383:
+ case 1454:
/* Line 1787 of yacc.c */
-#line 9145 "gram.y"
+#line 9810 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 1384:
+ case 1455:
/* Line 1787 of yacc.c */
-#line 9146 "gram.y"
+#line 9811 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1385:
+ case 1456:
/* Line 1787 of yacc.c */
-#line 9150 "gram.y"
+#line 9815 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 1386:
+ case 1457:
/* Line 1787 of yacc.c */
-#line 9151 "gram.y"
+#line 9816 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1387:
+ case 1458:
/* Line 1787 of yacc.c */
-#line 9155 "gram.y"
+#line 9820 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 1388:
+ case 1459:
/* Line 1787 of yacc.c */
-#line 9156 "gram.y"
+#line 9821 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
break;
- case 1389:
+ case 1460:
/* Line 1787 of yacc.c */
-#line 9161 "gram.y"
+#line 9826 "gram.y"
{
LockingClause *n = makeNode(LockingClause);
- n->lockedRels = (yyvsp[(3) - (4)].list);
- n->forUpdate = TRUE;
- n->noWait = (yyvsp[(4) - (4)].boolean);
+ n->lockedRels = (yyvsp[(2) - (3)].list);
+ n->strength = (yyvsp[(1) - (3)].ival);
+ n->noWait = (yyvsp[(3) - (3)].boolean);
(yyval.node) = (Node *) n;
}
break;
- case 1390:
+ case 1461:
/* Line 1787 of yacc.c */
-#line 9169 "gram.y"
- {
- LockingClause *n = makeNode(LockingClause);
- n->lockedRels = (yyvsp[(3) - (4)].list);
- n->forUpdate = FALSE;
- n->noWait = (yyvsp[(4) - (4)].boolean);
- (yyval.node) = (Node *) n;
- }
+#line 9836 "gram.y"
+ { (yyval.ival) = LCS_FORUPDATE; }
break;
- case 1391:
+ case 1462:
+/* Line 1787 of yacc.c */
+#line 9837 "gram.y"
+ { (yyval.ival) = LCS_FORNOKEYUPDATE; }
+ break;
+
+ case 1463:
+/* Line 1787 of yacc.c */
+#line 9838 "gram.y"
+ { (yyval.ival) = LCS_FORSHARE; }
+ break;
+
+ case 1464:
+/* Line 1787 of yacc.c */
+#line 9839 "gram.y"
+ { (yyval.ival) = LCS_FORKEYSHARE; }
+ break;
+
+ case 1465:
/* Line 1787 of yacc.c */
-#line 9179 "gram.y"
+#line 9843 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 1392:
+ case 1466:
/* Line 1787 of yacc.c */
-#line 9180 "gram.y"
+#line 9844 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1393:
+ case 1467:
/* Line 1787 of yacc.c */
-#line 9186 "gram.y"
+#line 9850 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[(2) - (2)].list));
@@ -32110,9 +34499,9 @@ yyreduce:
}
break;
- case 1394:
+ case 1468:
/* Line 1787 of yacc.c */
-#line 9192 "gram.y"
+#line 9856 "gram.y"
{
SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (3)].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[(3) - (3)].list));
@@ -32120,113 +34509,70 @@ yyreduce:
}
break;
- case 1395:
+ case 1469:
/* Line 1787 of yacc.c */
-#line 9209 "gram.y"
+#line 9873 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 1396:
+ case 1470:
/* Line 1787 of yacc.c */
-#line 9210 "gram.y"
+#line 9874 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1397:
+ case 1471:
/* Line 1787 of yacc.c */
-#line 9214 "gram.y"
+#line 9878 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 1398:
+ case 1472:
/* Line 1787 of yacc.c */
-#line 9215 "gram.y"
+#line 9879 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 1399:
-/* Line 1787 of yacc.c */
-#line 9226 "gram.y"
- {
- (yyval.node) = (Node *) (yyvsp[(1) - (1)].range);
- }
- break;
-
- case 1400:
+ case 1473:
/* Line 1787 of yacc.c */
-#line 9230 "gram.y"
+#line 9886 "gram.y"
{
(yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) (yyvsp[(1) - (2)].range);
}
break;
- case 1401:
-/* Line 1787 of yacc.c */
-#line 9235 "gram.y"
- {
- RangeFunction *n = makeNode(RangeFunction);
- n->funccallnode = (yyvsp[(1) - (1)].node);
- n->coldeflist = NIL;
- (yyval.node) = (Node *) n;
- }
- break;
-
- case 1402:
-/* Line 1787 of yacc.c */
-#line 9242 "gram.y"
- {
- RangeFunction *n = makeNode(RangeFunction);
- n->funccallnode = (yyvsp[(1) - (2)].node);
- n->alias = (yyvsp[(2) - (2)].alias);
- n->coldeflist = NIL;
- (yyval.node) = (Node *) n;
- }
- break;
-
- case 1403:
-/* Line 1787 of yacc.c */
-#line 9250 "gram.y"
- {
- RangeFunction *n = makeNode(RangeFunction);
- n->funccallnode = (yyvsp[(1) - (5)].node);
- n->coldeflist = (yyvsp[(4) - (5)].list);
- (yyval.node) = (Node *) n;
- }
- break;
-
- case 1404:
+ case 1474:
/* Line 1787 of yacc.c */
-#line 9257 "gram.y"
+#line 9891 "gram.y"
{
- RangeFunction *n = makeNode(RangeFunction);
- Alias *a = makeNode(Alias);
- n->funccallnode = (yyvsp[(1) - (6)].node);
- a->aliasname = (yyvsp[(3) - (6)].str);
- n->alias = a;
- n->coldeflist = (yyvsp[(5) - (6)].list);
+ RangeFunction *n = (RangeFunction *) (yyvsp[(1) - (2)].node);
+ n->alias = linitial((yyvsp[(2) - (2)].list));
+ n->coldeflist = lsecond((yyvsp[(2) - (2)].list));
(yyval.node) = (Node *) n;
}
break;
- case 1405:
+ case 1475:
/* Line 1787 of yacc.c */
-#line 9267 "gram.y"
+#line 9898 "gram.y"
{
- RangeFunction *n = makeNode(RangeFunction);
- Alias *a = makeNode(Alias);
- n->funccallnode = (yyvsp[(1) - (5)].node);
- a->aliasname = (yyvsp[(2) - (5)].str);
- n->alias = a;
- n->coldeflist = (yyvsp[(4) - (5)].list);
+ RangeFunction *n = (RangeFunction *) (yyvsp[(2) - (3)].node);
+ n->lateral = true;
+ n->alias = linitial((yyvsp[(3) - (3)].list));
+ n->coldeflist = lsecond((yyvsp[(3) - (3)].list));
(yyval.node) = (Node *) n;
}
break;
- case 1406:
+ case 1476:
/* Line 1787 of yacc.c */
-#line 9277 "gram.y"
+#line 9906 "gram.y"
{
+ RangeSubselect *n = makeNode(RangeSubselect);
+ n->lateral = false;
+ n->subquery = (yyvsp[(1) - (2)].node);
+ n->alias = (yyvsp[(2) - (2)].alias);
/*
* The SQL spec does not permit a subselect
* (<derived_table>) without an alias clause,
@@ -32238,62 +34584,83 @@ yyreduce:
* However, it does seem like a good idea to emit
* an error message that's better than "syntax error".
*/
- if (IsA((yyvsp[(1) - (1)].node), SelectStmt) &&
- ((SelectStmt *) (yyvsp[(1) - (1)].node))->valuesLists)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("VALUES in FROM must have an alias"),
- errhint("For example, FROM (VALUES ...) [AS] foo."),
- parser_errposition((yylsp[(1) - (1)]))));
- else
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("subquery in FROM must have an alias"),
- errhint("For example, FROM (SELECT ...) [AS] foo."),
- parser_errposition((yylsp[(1) - (1)]))));
- (yyval.node) = NULL;
+ if ((yyvsp[(2) - (2)].alias) == NULL)
+ {
+ if (IsA((yyvsp[(1) - (2)].node), SelectStmt) &&
+ ((SelectStmt *) (yyvsp[(1) - (2)].node))->valuesLists)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("VALUES in FROM must have an alias"),
+ errhint("For example, FROM (VALUES ...) [AS] foo."),
+ parser_errposition((yylsp[(1) - (2)]))));
+ else
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("subquery in FROM must have an alias"),
+ errhint("For example, FROM (SELECT ...) [AS] foo."),
+ parser_errposition((yylsp[(1) - (2)]))));
+ }
+ (yyval.node) = (Node *) n;
}
break;
- case 1407:
+ case 1477:
/* Line 1787 of yacc.c */
-#line 9305 "gram.y"
+#line 9941 "gram.y"
{
RangeSubselect *n = makeNode(RangeSubselect);
- n->subquery = (yyvsp[(1) - (2)].node);
- n->alias = (yyvsp[(2) - (2)].alias);
+ n->lateral = true;
+ n->subquery = (yyvsp[(2) - (3)].node);
+ n->alias = (yyvsp[(3) - (3)].alias);
+ /* same coment as above */
+ if ((yyvsp[(3) - (3)].alias) == NULL)
+ {
+ if (IsA((yyvsp[(2) - (3)].node), SelectStmt) &&
+ ((SelectStmt *) (yyvsp[(2) - (3)].node))->valuesLists)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("VALUES in FROM must have an alias"),
+ errhint("For example, FROM (VALUES ...) [AS] foo."),
+ parser_errposition((yylsp[(2) - (3)]))));
+ else
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("subquery in FROM must have an alias"),
+ errhint("For example, FROM (SELECT ...) [AS] foo."),
+ parser_errposition((yylsp[(2) - (3)]))));
+ }
(yyval.node) = (Node *) n;
}
break;
- case 1408:
+ case 1478:
/* Line 1787 of yacc.c */
-#line 9312 "gram.y"
+#line 9966 "gram.y"
{
(yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr);
}
break;
- case 1409:
+ case 1479:
/* Line 1787 of yacc.c */
-#line 9316 "gram.y"
+#line 9970 "gram.y"
{
(yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias);
(yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr);
}
break;
- case 1410:
+ case 1480:
/* Line 1787 of yacc.c */
-#line 9342 "gram.y"
+#line 9996 "gram.y"
{
(yyval.jexpr) = (yyvsp[(2) - (3)].jexpr);
}
break;
- case 1411:
+ case 1481:
/* Line 1787 of yacc.c */
-#line 9346 "gram.y"
+#line 10000 "gram.y"
{
/* CROSS JOIN is same as unqualified inner join */
JoinExpr *n = makeNode(JoinExpr);
@@ -32307,9 +34674,9 @@ yyreduce:
}
break;
- case 1412:
+ case 1482:
/* Line 1787 of yacc.c */
-#line 9358 "gram.y"
+#line 10012 "gram.y"
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[(2) - (5)].jtype);
@@ -32324,9 +34691,9 @@ yyreduce:
}
break;
- case 1413:
+ case 1483:
/* Line 1787 of yacc.c */
-#line 9371 "gram.y"
+#line 10025 "gram.y"
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
@@ -32342,9 +34709,9 @@ yyreduce:
}
break;
- case 1414:
+ case 1484:
/* Line 1787 of yacc.c */
-#line 9385 "gram.y"
+#line 10039 "gram.y"
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[(3) - (5)].jtype);
@@ -32357,9 +34724,9 @@ yyreduce:
}
break;
- case 1415:
+ case 1485:
/* Line 1787 of yacc.c */
-#line 9396 "gram.y"
+#line 10050 "gram.y"
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
@@ -32373,9 +34740,9 @@ yyreduce:
}
break;
- case 1416:
+ case 1486:
/* Line 1787 of yacc.c */
-#line 9411 "gram.y"
+#line 10065 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (5)].str);
@@ -32383,18 +34750,18 @@ yyreduce:
}
break;
- case 1417:
+ case 1487:
/* Line 1787 of yacc.c */
-#line 9417 "gram.y"
+#line 10071 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
}
break;
- case 1418:
+ case 1488:
/* Line 1787 of yacc.c */
-#line 9422 "gram.y"
+#line 10076 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (4)].str);
@@ -32402,66 +34769,122 @@ yyreduce:
}
break;
- case 1419:
+ case 1489:
/* Line 1787 of yacc.c */
-#line 9428 "gram.y"
+#line 10082 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (1)].str);
}
break;
- case 1420:
+ case 1490:
/* Line 1787 of yacc.c */
-#line 9434 "gram.y"
+#line 10088 "gram.y"
+ { (yyval.alias) = (yyvsp[(1) - (1)].alias); }
+ break;
+
+ case 1491:
+/* Line 1787 of yacc.c */
+#line 10089 "gram.y"
+ { (yyval.alias) = NULL; }
+ break;
+
+ case 1492:
+/* Line 1787 of yacc.c */
+#line 10098 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL);
+ }
+ break;
+
+ case 1493:
+/* Line 1787 of yacc.c */
+#line 10102 "gram.y"
+ {
+ (yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list));
+ }
+ break;
+
+ case 1494:
+/* Line 1787 of yacc.c */
+#line 10106 "gram.y"
+ {
+ Alias *a = makeNode(Alias);
+ a->aliasname = (yyvsp[(2) - (5)].str);
+ (yyval.list) = list_make2(a, (yyvsp[(4) - (5)].list));
+ }
+ break;
+
+ case 1495:
+/* Line 1787 of yacc.c */
+#line 10112 "gram.y"
+ {
+ Alias *a = makeNode(Alias);
+ a->aliasname = (yyvsp[(1) - (4)].str);
+ (yyval.list) = list_make2(a, (yyvsp[(3) - (4)].list));
+ }
+ break;
+
+ case 1496:
+/* Line 1787 of yacc.c */
+#line 10118 "gram.y"
+ {
+ (yyval.list) = list_make2(NULL, NIL);
+ }
+ break;
+
+ case 1497:
+/* Line 1787 of yacc.c */
+#line 10123 "gram.y"
{ (yyval.jtype) = JOIN_FULL; }
break;
- case 1421:
+ case 1498:
/* Line 1787 of yacc.c */
-#line 9435 "gram.y"
+#line 10124 "gram.y"
{ (yyval.jtype) = JOIN_LEFT; }
break;
- case 1422:
+ case 1499:
/* Line 1787 of yacc.c */
-#line 9436 "gram.y"
+#line 10125 "gram.y"
{ (yyval.jtype) = JOIN_RIGHT; }
break;
- case 1423:
+ case 1500:
/* Line 1787 of yacc.c */
-#line 9437 "gram.y"
+#line 10126 "gram.y"
{ (yyval.jtype) = JOIN_INNER; }
break;
- case 1424:
+ case 1501:
/* Line 1787 of yacc.c */
-#line 9441 "gram.y"
+#line 10130 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1425:
+ case 1502:
/* Line 1787 of yacc.c */
-#line 9442 "gram.y"
+#line 10131 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1426:
+ case 1503:
/* Line 1787 of yacc.c */
-#line 9454 "gram.y"
+#line 10143 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(3) - (4)].list); }
break;
- case 1427:
+ case 1504:
/* Line 1787 of yacc.c */
-#line 9455 "gram.y"
+#line 10144 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1428:
+ case 1505:
/* Line 1787 of yacc.c */
-#line 9461 "gram.y"
+#line 10150 "gram.y"
{
/* default inheritance */
(yyval.range) = (yyvsp[(1) - (1)].range);
@@ -32470,9 +34893,9 @@ yyreduce:
}
break;
- case 1429:
+ case 1506:
/* Line 1787 of yacc.c */
-#line 9468 "gram.y"
+#line 10157 "gram.y"
{
/* inheritance query */
(yyval.range) = (yyvsp[(1) - (2)].range);
@@ -32481,9 +34904,9 @@ yyreduce:
}
break;
- case 1430:
+ case 1507:
/* Line 1787 of yacc.c */
-#line 9475 "gram.y"
+#line 10164 "gram.y"
{
/* no inheritance */
(yyval.range) = (yyvsp[(2) - (2)].range);
@@ -32492,9 +34915,9 @@ yyreduce:
}
break;
- case 1431:
+ case 1508:
/* Line 1787 of yacc.c */
-#line 9482 "gram.y"
+#line 10171 "gram.y"
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[(3) - (4)].range);
@@ -32503,29 +34926,29 @@ yyreduce:
}
break;
- case 1432:
+ case 1509:
/* Line 1787 of yacc.c */
-#line 9492 "gram.y"
+#line 10181 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); }
break;
- case 1433:
+ case 1510:
/* Line 1787 of yacc.c */
-#line 9493 "gram.y"
+#line 10182 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); }
break;
- case 1434:
+ case 1511:
/* Line 1787 of yacc.c */
-#line 9507 "gram.y"
+#line 10196 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
}
break;
- case 1435:
+ case 1512:
/* Line 1787 of yacc.c */
-#line 9511 "gram.y"
+#line 10200 "gram.y"
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[(2) - (2)].str);
@@ -32534,9 +34957,9 @@ yyreduce:
}
break;
- case 1436:
+ case 1513:
/* Line 1787 of yacc.c */
-#line 9518 "gram.y"
+#line 10207 "gram.y"
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[(3) - (3)].str);
@@ -32545,33 +34968,97 @@ yyreduce:
}
break;
- case 1437:
+ case 1514:
/* Line 1787 of yacc.c */
-#line 9527 "gram.y"
- { (yyval.node) = (yyvsp[(1) - (1)].node); }
+#line 10228 "gram.y"
+ {
+ RangeFunction *n = makeNode(RangeFunction);
+ n->lateral = false;
+ n->ordinality = (yyvsp[(2) - (2)].boolean);
+ n->is_rowsfrom = false;
+ n->functions = list_make1(list_make2((yyvsp[(1) - (2)].node), NIL));
+ /* alias and coldeflist are set by table_ref production */
+ (yyval.node) = (Node *) n;
+ }
break;
- case 1438:
+ case 1515:
/* Line 1787 of yacc.c */
-#line 9532 "gram.y"
+#line 10238 "gram.y"
+ {
+ RangeFunction *n = makeNode(RangeFunction);
+ n->lateral = false;
+ n->ordinality = (yyvsp[(6) - (6)].boolean);
+ n->is_rowsfrom = true;
+ n->functions = (yyvsp[(4) - (6)].list);
+ /* alias and coldeflist are set by table_ref production */
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 1516:
+/* Line 1787 of yacc.c */
+#line 10250 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); }
+ break;
+
+ case 1517:
+/* Line 1787 of yacc.c */
+#line 10254 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); }
+ break;
+
+ case 1518:
+/* Line 1787 of yacc.c */
+#line 10255 "gram.y"
+ { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); }
+ break;
+
+ case 1519:
+/* Line 1787 of yacc.c */
+#line 10258 "gram.y"
+ { (yyval.list) = (yyvsp[(3) - (4)].list); }
+ break;
+
+ case 1520:
+/* Line 1787 of yacc.c */
+#line 10259 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 1521:
+/* Line 1787 of yacc.c */
+#line 10262 "gram.y"
+ { (yyval.boolean) = true; }
+ break;
+
+ case 1522:
+/* Line 1787 of yacc.c */
+#line 10263 "gram.y"
+ { (yyval.boolean) = false; }
+ break;
+
+ case 1523:
+/* Line 1787 of yacc.c */
+#line 10268 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1439:
+ case 1524:
/* Line 1787 of yacc.c */
-#line 9533 "gram.y"
+#line 10269 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1440:
+ case 1525:
/* Line 1787 of yacc.c */
-#line 9538 "gram.y"
+#line 10274 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1441:
+ case 1526:
/* Line 1787 of yacc.c */
-#line 9540 "gram.y"
+#line 10276 "gram.y"
{
CurrentOfExpr *n = makeNode(CurrentOfExpr);
/* cvarno is filled in by parse analysis */
@@ -32581,43 +35068,43 @@ yyreduce:
}
break;
- case 1442:
+ case 1527:
/* Line 1787 of yacc.c */
-#line 9547 "gram.y"
+#line 10283 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1443:
+ case 1528:
/* Line 1787 of yacc.c */
-#line 9552 "gram.y"
+#line 10288 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 1444:
+ case 1529:
/* Line 1787 of yacc.c */
-#line 9553 "gram.y"
+#line 10289 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1445:
+ case 1530:
/* Line 1787 of yacc.c */
-#line 9558 "gram.y"
+#line 10294 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
}
break;
- case 1446:
+ case 1531:
/* Line 1787 of yacc.c */
-#line 9562 "gram.y"
+#line 10298 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
}
break;
- case 1447:
+ case 1532:
/* Line 1787 of yacc.c */
-#line 9568 "gram.y"
+#line 10304 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (3)].str);
@@ -32632,22 +35119,23 @@ yyreduce:
n->collClause = (CollateClause *) (yyvsp[(3) - (3)].node);
n->collOid = InvalidOid;
n->constraints = NIL;
+ n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *)n;
}
break;
- case 1448:
+ case 1533:
/* Line 1787 of yacc.c */
-#line 9597 "gram.y"
+#line 10334 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list);
}
break;
- case 1449:
+ case 1534:
/* Line 1787 of yacc.c */
-#line 9602 "gram.y"
+#line 10339 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list);
@@ -32655,18 +35143,18 @@ yyreduce:
}
break;
- case 1450:
+ case 1535:
/* Line 1787 of yacc.c */
-#line 9609 "gram.y"
+#line 10346 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (5)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival)));
}
break;
- case 1451:
+ case 1536:
/* Line 1787 of yacc.c */
-#line 9614 "gram.y"
+#line 10351 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (6)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival)));
@@ -32674,18 +35162,18 @@ yyreduce:
}
break;
- case 1452:
+ case 1537:
/* Line 1787 of yacc.c */
-#line 9620 "gram.y"
+#line 10357 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
}
break;
- case 1453:
+ case 1538:
/* Line 1787 of yacc.c */
-#line 9625 "gram.y"
+#line 10362 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
@@ -32693,66 +35181,66 @@ yyreduce:
}
break;
- case 1454:
+ case 1539:
/* Line 1787 of yacc.c */
-#line 9634 "gram.y"
+#line 10371 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); }
break;
- case 1455:
+ case 1540:
/* Line 1787 of yacc.c */
-#line 9636 "gram.y"
+#line 10373 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); }
break;
- case 1456:
+ case 1541:
/* Line 1787 of yacc.c */
-#line 9638 "gram.y"
+#line 10375 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1457:
+ case 1542:
/* Line 1787 of yacc.c */
-#line 9642 "gram.y"
+#line 10379 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1458:
+ case 1543:
/* Line 1787 of yacc.c */
-#line 9643 "gram.y"
+#line 10380 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1459:
+ case 1544:
/* Line 1787 of yacc.c */
-#line 9644 "gram.y"
+#line 10381 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1460:
+ case 1545:
/* Line 1787 of yacc.c */
-#line 9645 "gram.y"
+#line 10382 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1461:
+ case 1546:
/* Line 1787 of yacc.c */
-#line 9646 "gram.y"
+#line 10383 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1462:
+ case 1547:
/* Line 1787 of yacc.c */
-#line 9648 "gram.y"
+#line 10385 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
}
break;
- case 1463:
+ case 1548:
/* Line 1787 of yacc.c */
-#line 9653 "gram.y"
+#line 10390 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (5)].typnam);
if ((yyvsp[(5) - (5)].list) != NIL)
@@ -32770,33 +35258,33 @@ yyreduce:
}
break;
- case 1464:
+ case 1549:
/* Line 1787 of yacc.c */
-#line 9682 "gram.y"
+#line 10419 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1465:
+ case 1550:
/* Line 1787 of yacc.c */
-#line 9683 "gram.y"
+#line 10420 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1466:
+ case 1551:
/* Line 1787 of yacc.c */
-#line 9684 "gram.y"
+#line 10421 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1467:
+ case 1552:
/* Line 1787 of yacc.c */
-#line 9685 "gram.y"
+#line 10422 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); }
break;
- case 1468:
+ case 1553:
/* Line 1787 of yacc.c */
-#line 9697 "gram.y"
+#line 10434 "gram.y"
{
(yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str));
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
@@ -32804,9 +35292,9 @@ yyreduce:
}
break;
- case 1469:
+ case 1554:
/* Line 1787 of yacc.c */
-#line 9703 "gram.y"
+#line 10440 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(2) - (3)].list)));
(yyval.typnam)->typmods = (yyvsp[(3) - (3)].list);
@@ -32814,84 +35302,84 @@ yyreduce:
}
break;
- case 1470:
+ case 1555:
/* Line 1787 of yacc.c */
-#line 9710 "gram.y"
+#line 10447 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 1471:
+ case 1556:
/* Line 1787 of yacc.c */
-#line 9711 "gram.y"
+#line 10448 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1472:
+ case 1557:
/* Line 1787 of yacc.c */
-#line 9718 "gram.y"
+#line 10455 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
}
break;
- case 1473:
+ case 1558:
/* Line 1787 of yacc.c */
-#line 9723 "gram.y"
+#line 10460 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
}
break;
- case 1474:
+ case 1559:
/* Line 1787 of yacc.c */
-#line 9728 "gram.y"
+#line 10465 "gram.y"
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
}
break;
- case 1475:
+ case 1560:
/* Line 1787 of yacc.c */
-#line 9733 "gram.y"
+#line 10470 "gram.y"
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
}
break;
- case 1476:
+ case 1561:
/* Line 1787 of yacc.c */
-#line 9738 "gram.y"
+#line 10475 "gram.y"
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
}
break;
- case 1477:
+ case 1562:
/* Line 1787 of yacc.c */
-#line 9743 "gram.y"
+#line 10480 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (2)].typnam);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
}
break;
- case 1478:
+ case 1563:
/* Line 1787 of yacc.c */
-#line 9748 "gram.y"
+#line 10485 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
}
break;
- case 1479:
+ case 1564:
/* Line 1787 of yacc.c */
-#line 9753 "gram.y"
+#line 10490 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
@@ -32899,9 +35387,9 @@ yyreduce:
}
break;
- case 1480:
+ case 1565:
/* Line 1787 of yacc.c */
-#line 9759 "gram.y"
+#line 10496 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
@@ -32909,9 +35397,9 @@ yyreduce:
}
break;
- case 1481:
+ case 1566:
/* Line 1787 of yacc.c */
-#line 9765 "gram.y"
+#line 10502 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
@@ -32919,18 +35407,18 @@ yyreduce:
}
break;
- case 1482:
+ case 1567:
/* Line 1787 of yacc.c */
-#line 9771 "gram.y"
+#line 10508 "gram.y"
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
}
break;
- case 1483:
+ case 1568:
/* Line 1787 of yacc.c */
-#line 9778 "gram.y"
+#line 10515 "gram.y"
{
/*
* Check FLOAT() precision limits assuming IEEE floating
@@ -32953,50 +35441,50 @@ yyreduce:
}
break;
- case 1484:
+ case 1569:
/* Line 1787 of yacc.c */
-#line 9799 "gram.y"
+#line 10536 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
}
break;
- case 1485:
+ case 1570:
/* Line 1787 of yacc.c */
-#line 9809 "gram.y"
+#line 10546 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
}
break;
- case 1486:
+ case 1571:
/* Line 1787 of yacc.c */
-#line 9813 "gram.y"
+#line 10550 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
}
break;
- case 1487:
+ case 1572:
/* Line 1787 of yacc.c */
-#line 9821 "gram.y"
+#line 10558 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
}
break;
- case 1488:
+ case 1573:
/* Line 1787 of yacc.c */
-#line 9825 "gram.y"
+#line 10562 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
(yyval.typnam)->typmods = NIL;
}
break;
- case 1489:
+ case 1574:
/* Line 1787 of yacc.c */
-#line 9833 "gram.y"
+#line 10570 "gram.y"
{
char *typname;
@@ -33007,9 +35495,9 @@ yyreduce:
}
break;
- case 1490:
+ case 1575:
/* Line 1787 of yacc.c */
-#line 9845 "gram.y"
+#line 10582 "gram.y"
{
/* bit defaults to bit(1), varbit to no limit */
if ((yyvsp[(2) - (2)].boolean))
@@ -33025,36 +35513,36 @@ yyreduce:
}
break;
- case 1491:
+ case 1576:
/* Line 1787 of yacc.c */
-#line 9866 "gram.y"
+#line 10603 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
}
break;
- case 1492:
+ case 1577:
/* Line 1787 of yacc.c */
-#line 9870 "gram.y"
+#line 10607 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
}
break;
- case 1493:
+ case 1578:
/* Line 1787 of yacc.c */
-#line 9876 "gram.y"
+#line 10613 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
}
break;
- case 1494:
+ case 1579:
/* Line 1787 of yacc.c */
-#line 9880 "gram.y"
+#line 10617 "gram.y"
{
/* Length was not specified so allow to be unrestricted.
- * This handles problems with fixed-length (char) strings
+ * This handles problems with fixed-length (bpchar) strings
* which in column definitions must default to a length
* of one, but should not be constrained if the length
* was not specified.
@@ -33064,20 +35552,12 @@ yyreduce:
}
break;
- case 1495:
+ case 1580:
/* Line 1787 of yacc.c */
-#line 9893 "gram.y"
+#line 10630 "gram.y"
{
if (((yyvsp[(5) - (5)].str) != NULL) && (strcmp((yyvsp[(5) - (5)].str), "sql_text") != 0))
- {
- char *type;
-
- type = palloc(strlen((yyvsp[(1) - (5)].str)) + 1 + strlen((yyvsp[(5) - (5)].str)) + 1);
- strcpy(type, (yyvsp[(1) - (5)].str));
- strcat(type, "_");
- strcat(type, (yyvsp[(5) - (5)].str));
- (yyvsp[(1) - (5)].str) = type;
- }
+ (yyvsp[(1) - (5)].str) = psprintf("%s_%s", (yyvsp[(1) - (5)].str), (yyvsp[(5) - (5)].str));
(yyval.typnam) = SystemTypeName((yyvsp[(1) - (5)].str));
(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
@@ -33085,94 +35565,86 @@ yyreduce:
}
break;
- case 1496:
+ case 1581:
/* Line 1787 of yacc.c */
-#line 9912 "gram.y"
+#line 10641 "gram.y"
{
if (((yyvsp[(2) - (2)].str) != NULL) && (strcmp((yyvsp[(2) - (2)].str), "sql_text") != 0))
- {
- char *type;
-
- type = palloc(strlen((yyvsp[(1) - (2)].str)) + 1 + strlen((yyvsp[(2) - (2)].str)) + 1);
- strcpy(type, (yyvsp[(1) - (2)].str));
- strcat(type, "_");
- strcat(type, (yyvsp[(2) - (2)].str));
- (yyvsp[(1) - (2)].str) = type;
- }
+ (yyvsp[(1) - (2)].str) = psprintf("%s_%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
(yyval.typnam) = SystemTypeName((yyvsp[(1) - (2)].str));
/* char defaults to char(1), varchar to no limit */
- if (strcmp((yyvsp[(1) - (2)].str), "char") == 0)
+ if (strcmp((yyvsp[(1) - (2)].str), "bpchar") == 0)
(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
(yyval.typnam)->location = (yylsp[(1) - (2)]);
}
break;
- case 1497:
+ case 1582:
/* Line 1787 of yacc.c */
-#line 9935 "gram.y"
- { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "char"; }
+#line 10656 "gram.y"
+ { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; }
break;
- case 1498:
+ case 1583:
/* Line 1787 of yacc.c */
-#line 9937 "gram.y"
- { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "char"; }
+#line 10658 "gram.y"
+ { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; }
break;
- case 1499:
+ case 1584:
/* Line 1787 of yacc.c */
-#line 9939 "gram.y"
+#line 10660 "gram.y"
{ (yyval.str) = "varchar"; }
break;
- case 1500:
+ case 1585:
/* Line 1787 of yacc.c */
-#line 9941 "gram.y"
- { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "char"; }
+#line 10662 "gram.y"
+ { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; }
break;
- case 1501:
+ case 1586:
/* Line 1787 of yacc.c */
-#line 9943 "gram.y"
- { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "char"; }
+#line 10664 "gram.y"
+ { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; }
break;
- case 1502:
+ case 1587:
/* Line 1787 of yacc.c */
-#line 9945 "gram.y"
- { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "char"; }
+#line 10666 "gram.y"
+ { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; }
break;
- case 1503:
+ case 1588:
/* Line 1787 of yacc.c */
-#line 9949 "gram.y"
+#line 10670 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1504:
+ case 1589:
/* Line 1787 of yacc.c */
-#line 9950 "gram.y"
+#line 10671 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1505:
+ case 1590:
/* Line 1787 of yacc.c */
-#line 9954 "gram.y"
+#line 10675 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); }
break;
- case 1506:
+ case 1591:
/* Line 1787 of yacc.c */
-#line 9955 "gram.y"
+#line 10676 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 1507:
+ case 1592:
/* Line 1787 of yacc.c */
-#line 9963 "gram.y"
+#line 10684 "gram.y"
{
if ((yyvsp[(5) - (5)].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
@@ -33183,9 +35655,9 @@ yyreduce:
}
break;
- case 1508:
+ case 1593:
/* Line 1787 of yacc.c */
-#line 9972 "gram.y"
+#line 10693 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
@@ -33195,9 +35667,9 @@ yyreduce:
}
break;
- case 1509:
+ case 1594:
/* Line 1787 of yacc.c */
-#line 9980 "gram.y"
+#line 10701 "gram.y"
{
if ((yyvsp[(5) - (5)].boolean))
(yyval.typnam) = SystemTypeName("timetz");
@@ -33208,9 +35680,9 @@ yyreduce:
}
break;
- case 1510:
+ case 1595:
/* Line 1787 of yacc.c */
-#line 9989 "gram.y"
+#line 10710 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timetz");
@@ -33220,90 +35692,90 @@ yyreduce:
}
break;
- case 1511:
+ case 1596:
/* Line 1787 of yacc.c */
-#line 10000 "gram.y"
+#line 10721 "gram.y"
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
}
break;
- case 1512:
+ case 1597:
/* Line 1787 of yacc.c */
-#line 10007 "gram.y"
+#line 10728 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1513:
+ case 1598:
/* Line 1787 of yacc.c */
-#line 10008 "gram.y"
+#line 10729 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1514:
+ case 1599:
/* Line 1787 of yacc.c */
-#line 10009 "gram.y"
+#line 10730 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1515:
+ case 1600:
/* Line 1787 of yacc.c */
-#line 10014 "gram.y"
+#line 10735 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); }
break;
- case 1516:
+ case 1601:
/* Line 1787 of yacc.c */
-#line 10016 "gram.y"
+#line 10737 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); }
break;
- case 1517:
+ case 1602:
/* Line 1787 of yacc.c */
-#line 10018 "gram.y"
+#line 10739 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); }
break;
- case 1518:
+ case 1603:
/* Line 1787 of yacc.c */
-#line 10020 "gram.y"
+#line 10741 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); }
break;
- case 1519:
+ case 1604:
/* Line 1787 of yacc.c */
-#line 10022 "gram.y"
+#line 10743 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); }
break;
- case 1520:
+ case 1605:
/* Line 1787 of yacc.c */
-#line 10024 "gram.y"
+#line 10745 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 1521:
+ case 1606:
/* Line 1787 of yacc.c */
-#line 10026 "gram.y"
+#line 10747 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
INTERVAL_MASK(MONTH), (yylsp[(1) - (3)])));
}
break;
- case 1522:
+ case 1607:
/* Line 1787 of yacc.c */
-#line 10031 "gram.y"
+#line 10752 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR), (yylsp[(1) - (3)])));
}
break;
- case 1523:
+ case 1608:
/* Line 1787 of yacc.c */
-#line 10036 "gram.y"
+#line 10757 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
@@ -33311,9 +35783,9 @@ yyreduce:
}
break;
- case 1524:
+ case 1609:
/* Line 1787 of yacc.c */
-#line 10042 "gram.y"
+#line 10763 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
@@ -33323,18 +35795,18 @@ yyreduce:
}
break;
- case 1525:
+ case 1610:
/* Line 1787 of yacc.c */
-#line 10050 "gram.y"
+#line 10771 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
}
break;
- case 1526:
+ case 1611:
/* Line 1787 of yacc.c */
-#line 10055 "gram.y"
+#line 10776 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
@@ -33343,9 +35815,9 @@ yyreduce:
}
break;
- case 1527:
+ case 1612:
/* Line 1787 of yacc.c */
-#line 10062 "gram.y"
+#line 10783 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
@@ -33353,44 +35825,44 @@ yyreduce:
}
break;
- case 1528:
+ case 1613:
/* Line 1787 of yacc.c */
-#line 10068 "gram.y"
+#line 10789 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1529:
+ case 1614:
/* Line 1787 of yacc.c */
-#line 10073 "gram.y"
+#line 10794 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)])));
}
break;
- case 1530:
+ case 1615:
/* Line 1787 of yacc.c */
-#line 10077 "gram.y"
+#line 10798 "gram.y"
{
(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])),
makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
}
break;
- case 1531:
+ case 1616:
/* Line 1787 of yacc.c */
-#line 10106 "gram.y"
+#line 10827 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1532:
+ case 1617:
/* Line 1787 of yacc.c */
-#line 10108 "gram.y"
+#line 10829 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); }
break;
- case 1533:
+ case 1618:
/* Line 1787 of yacc.c */
-#line 10110 "gram.y"
+#line 10831 "gram.y"
{
CollateClause *n = makeNode(CollateClause);
n->arg = (yyvsp[(1) - (3)].node);
@@ -33400,288 +35872,233 @@ yyreduce:
}
break;
- case 1534:
+ case 1619:
/* Line 1787 of yacc.c */
-#line 10118 "gram.y"
+#line 10839 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("timezone");
- n->args = list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (5)]);
- (yyval.node) = (Node *) n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
+ list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)),
+ (yylsp[(2) - (5)]));
}
break;
- case 1535:
+ case 1620:
/* Line 1787 of yacc.c */
-#line 10140 "gram.y"
+#line 10854 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
break;
- case 1536:
+ case 1621:
/* Line 1787 of yacc.c */
-#line 10142 "gram.y"
+#line 10856 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
break;
- case 1537:
+ case 1622:
/* Line 1787 of yacc.c */
-#line 10144 "gram.y"
+#line 10858 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1538:
+ case 1623:
/* Line 1787 of yacc.c */
-#line 10146 "gram.y"
+#line 10860 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1539:
+ case 1624:
/* Line 1787 of yacc.c */
-#line 10148 "gram.y"
+#line 10862 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1540:
+ case 1625:
/* Line 1787 of yacc.c */
-#line 10150 "gram.y"
+#line 10864 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1541:
+ case 1626:
/* Line 1787 of yacc.c */
-#line 10152 "gram.y"
+#line 10866 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1542:
+ case 1627:
/* Line 1787 of yacc.c */
-#line 10154 "gram.y"
+#line 10868 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1543:
+ case 1628:
/* Line 1787 of yacc.c */
-#line 10156 "gram.y"
+#line 10870 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1544:
+ case 1629:
/* Line 1787 of yacc.c */
-#line 10158 "gram.y"
+#line 10872 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1545:
+ case 1630:
/* Line 1787 of yacc.c */
-#line 10160 "gram.y"
+#line 10874 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1546:
+ case 1631:
/* Line 1787 of yacc.c */
-#line 10163 "gram.y"
+#line 10877 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1547:
+ case 1632:
/* Line 1787 of yacc.c */
-#line 10165 "gram.y"
+#line 10879 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
break;
- case 1548:
+ case 1633:
/* Line 1787 of yacc.c */
-#line 10167 "gram.y"
+#line 10881 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); }
break;
- case 1549:
+ case 1634:
/* Line 1787 of yacc.c */
-#line 10170 "gram.y"
+#line 10884 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1550:
+ case 1635:
/* Line 1787 of yacc.c */
-#line 10172 "gram.y"
+#line 10886 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1551:
+ case 1636:
/* Line 1787 of yacc.c */
-#line 10174 "gram.y"
+#line 10888 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
break;
- case 1552:
+ case 1637:
/* Line 1787 of yacc.c */
-#line 10177 "gram.y"
+#line 10891 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1553:
+ case 1638:
/* Line 1787 of yacc.c */
-#line 10179 "gram.y"
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("like_escape");
- n->args = list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (5)]);
+#line 10893 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
+ (yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
}
break;
- case 1554:
+ case 1639:
/* Line 1787 of yacc.c */
-#line 10192 "gram.y"
+#line 10900 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); }
break;
- case 1555:
+ case 1640:
/* Line 1787 of yacc.c */
-#line 10194 "gram.y"
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("like_escape");
- n->args = list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (6)]);
+#line 10902 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
+ (yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
}
break;
- case 1556:
+ case 1641:
/* Line 1787 of yacc.c */
-#line 10207 "gram.y"
+#line 10909 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1557:
+ case 1642:
/* Line 1787 of yacc.c */
-#line 10209 "gram.y"
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("like_escape");
- n->args = list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (5)]);
+#line 10911 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
+ (yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
}
break;
- case 1558:
+ case 1643:
/* Line 1787 of yacc.c */
-#line 10222 "gram.y"
+#line 10918 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); }
break;
- case 1559:
+ case 1644:
/* Line 1787 of yacc.c */
-#line 10224 "gram.y"
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("like_escape");
- n->args = list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (6)]);
+#line 10920 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
+ (yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
}
break;
- case 1560:
+ case 1645:
/* Line 1787 of yacc.c */
-#line 10238 "gram.y"
+#line 10928 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2((yyvsp[(4) - (4)].node), makeNullAConst(-1));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (4)]);
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
+ list_make2((yyvsp[(4) - (4)].node), makeNullAConst(-1)),
+ (yylsp[(2) - (4)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", (yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)]));
}
break;
- case 1561:
+ case 1646:
/* Line 1787 of yacc.c */
-#line 10251 "gram.y"
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (6)]);
+#line 10935 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
+ list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
+ (yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
}
break;
- case 1562:
+ case 1647:
/* Line 1787 of yacc.c */
-#line 10264 "gram.y"
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2((yyvsp[(5) - (5)].node), makeNullAConst(-1));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (5)]);
+#line 10942 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
+ list_make2((yyvsp[(5) - (5)].node), makeNullAConst(-1)),
+ (yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
}
break;
- case 1563:
+ case 1648:
/* Line 1787 of yacc.c */
-#line 10277 "gram.y"
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(2) - (7)]);
+#line 10949 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
+ list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
+ (yylsp[(2) - (7)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", (yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)]));
}
break;
- case 1564:
+ case 1649:
/* Line 1787 of yacc.c */
-#line 10300 "gram.y"
+#line 10966 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[(1) - (3)].node);
@@ -33690,9 +36107,9 @@ yyreduce:
}
break;
- case 1565:
+ case 1650:
/* Line 1787 of yacc.c */
-#line 10307 "gram.y"
+#line 10973 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[(1) - (2)].node);
@@ -33701,9 +36118,9 @@ yyreduce:
}
break;
- case 1566:
+ case 1651:
/* Line 1787 of yacc.c */
-#line 10314 "gram.y"
+#line 10980 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[(1) - (4)].node);
@@ -33712,9 +36129,9 @@ yyreduce:
}
break;
- case 1567:
+ case 1652:
/* Line 1787 of yacc.c */
-#line 10321 "gram.y"
+#line 10987 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[(1) - (2)].node);
@@ -33723,17 +36140,29 @@ yyreduce:
}
break;
- case 1568:
+ case 1653:
/* Line 1787 of yacc.c */
-#line 10328 "gram.y"
+#line 10994 "gram.y"
{
- (yyval.node) = (Node *)makeOverlaps((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list), (yylsp[(2) - (3)]), yyscanner);
+ if (list_length((yyvsp[(1) - (3)].list)) != 2)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("wrong number of parameters on left side of OVERLAPS expression"),
+ parser_errposition((yylsp[(1) - (3)]))));
+ if (list_length((yyvsp[(3) - (3)].list)) != 2)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("wrong number of parameters on right side of OVERLAPS expression"),
+ parser_errposition((yylsp[(3) - (3)]))));
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
+ list_concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)),
+ (yylsp[(2) - (3)]));
}
break;
- case 1569:
+ case 1654:
/* Line 1787 of yacc.c */
-#line 10332 "gram.y"
+#line 11010 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (3)].node);
@@ -33742,9 +36171,9 @@ yyreduce:
}
break;
- case 1570:
+ case 1655:
/* Line 1787 of yacc.c */
-#line 10339 "gram.y"
+#line 11017 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (4)].node);
@@ -33753,9 +36182,9 @@ yyreduce:
}
break;
- case 1571:
+ case 1656:
/* Line 1787 of yacc.c */
-#line 10346 "gram.y"
+#line 11024 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (3)].node);
@@ -33764,9 +36193,9 @@ yyreduce:
}
break;
- case 1572:
+ case 1657:
/* Line 1787 of yacc.c */
-#line 10353 "gram.y"
+#line 11031 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (4)].node);
@@ -33775,9 +36204,9 @@ yyreduce:
}
break;
- case 1573:
+ case 1658:
/* Line 1787 of yacc.c */
-#line 10360 "gram.y"
+#line 11038 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (3)].node);
@@ -33786,9 +36215,9 @@ yyreduce:
}
break;
- case 1574:
+ case 1659:
/* Line 1787 of yacc.c */
-#line 10367 "gram.y"
+#line 11045 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[(1) - (4)].node);
@@ -33797,17 +36226,17 @@ yyreduce:
}
break;
- case 1575:
+ case 1660:
/* Line 1787 of yacc.c */
-#line 10374 "gram.y"
+#line 11052 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
}
break;
- case 1576:
+ case 1661:
/* Line 1787 of yacc.c */
-#line 10378 "gram.y"
+#line 11056 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL,
(Node *) makeSimpleA_Expr(AEXPR_DISTINCT,
@@ -33817,25 +36246,25 @@ yyreduce:
}
break;
- case 1577:
+ case 1662:
/* Line 1787 of yacc.c */
-#line 10386 "gram.y"
+#line 11064 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
}
break;
- case 1578:
+ case 1663:
/* Line 1787 of yacc.c */
-#line 10390 "gram.y"
+#line 11068 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
}
break;
- case 1579:
+ case 1664:
/* Line 1787 of yacc.c */
-#line 10400 "gram.y"
+#line 11078 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL,
(Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node), (yylsp[(2) - (6)])),
@@ -33844,9 +36273,9 @@ yyreduce:
}
break;
- case 1580:
+ case 1665:
/* Line 1787 of yacc.c */
-#line 10407 "gram.y"
+#line 11085 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL,
(Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (7)].node), (yyvsp[(5) - (7)].node), (yylsp[(2) - (7)])),
@@ -33855,9 +36284,9 @@ yyreduce:
}
break;
- case 1581:
+ case 1666:
/* Line 1787 of yacc.c */
-#line 10414 "gram.y"
+#line 11092 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL,
(Node *) makeA_Expr(AEXPR_AND, NIL,
@@ -33872,9 +36301,9 @@ yyreduce:
}
break;
- case 1582:
+ case 1667:
/* Line 1787 of yacc.c */
-#line 10427 "gram.y"
+#line 11105 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL,
(Node *) makeA_Expr(AEXPR_OR, NIL,
@@ -33889,9 +36318,9 @@ yyreduce:
}
break;
- case 1583:
+ case 1668:
/* Line 1787 of yacc.c */
-#line 10440 "gram.y"
+#line 11118 "gram.y"
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[(3) - (3)].node), SubLink))
@@ -33912,9 +36341,9 @@ yyreduce:
}
break;
- case 1584:
+ case 1669:
/* Line 1787 of yacc.c */
-#line 10459 "gram.y"
+#line 11137 "gram.y"
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[(4) - (4)].node), SubLink))
@@ -33937,9 +36366,9 @@ yyreduce:
}
break;
- case 1585:
+ case 1670:
/* Line 1787 of yacc.c */
-#line 10480 "gram.y"
+#line 11158 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = (yyvsp[(3) - (4)].ival);
@@ -33951,9 +36380,9 @@ yyreduce:
}
break;
- case 1586:
+ case 1671:
/* Line 1787 of yacc.c */
-#line 10490 "gram.y"
+#line 11168 "gram.y"
{
if ((yyvsp[(3) - (6)].ival) == ANY_SUBLINK)
(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)]));
@@ -33962,9 +36391,9 @@ yyreduce:
}
break;
- case 1587:
+ case 1672:
/* Line 1787 of yacc.c */
-#line 10497 "gram.y"
+#line 11175 "gram.y"
{
/* Not sure how to get rid of the parentheses
* but there are lots of shift/reduce errors without them.
@@ -33982,18 +36411,18 @@ yyreduce:
}
break;
- case 1588:
+ case 1673:
/* Line 1787 of yacc.c */
-#line 10513 "gram.y"
+#line 11191 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
}
break;
- case 1589:
+ case 1674:
/* Line 1787 of yacc.c */
-#line 10518 "gram.y"
+#line 11196 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL,
makeXmlExpr(IS_DOCUMENT, NULL, NIL,
@@ -34002,147 +36431,147 @@ yyreduce:
}
break;
- case 1590:
+ case 1675:
/* Line 1787 of yacc.c */
-#line 10536 "gram.y"
+#line 11214 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1591:
+ case 1676:
/* Line 1787 of yacc.c */
-#line 10538 "gram.y"
+#line 11216 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); }
break;
- case 1592:
+ case 1677:
/* Line 1787 of yacc.c */
-#line 10540 "gram.y"
+#line 11218 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
break;
- case 1593:
+ case 1678:
/* Line 1787 of yacc.c */
-#line 10542 "gram.y"
+#line 11220 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
break;
- case 1594:
+ case 1679:
/* Line 1787 of yacc.c */
-#line 10544 "gram.y"
+#line 11222 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1595:
+ case 1680:
/* Line 1787 of yacc.c */
-#line 10546 "gram.y"
+#line 11224 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1596:
+ case 1681:
/* Line 1787 of yacc.c */
-#line 10548 "gram.y"
+#line 11226 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1597:
+ case 1682:
/* Line 1787 of yacc.c */
-#line 10550 "gram.y"
+#line 11228 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1598:
+ case 1683:
/* Line 1787 of yacc.c */
-#line 10552 "gram.y"
+#line 11230 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1599:
+ case 1684:
/* Line 1787 of yacc.c */
-#line 10554 "gram.y"
+#line 11232 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1600:
+ case 1685:
/* Line 1787 of yacc.c */
-#line 10556 "gram.y"
+#line 11234 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1601:
+ case 1686:
/* Line 1787 of yacc.c */
-#line 10558 "gram.y"
+#line 11236 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1602:
+ case 1687:
/* Line 1787 of yacc.c */
-#line 10560 "gram.y"
+#line 11238 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1603:
+ case 1688:
/* Line 1787 of yacc.c */
-#line 10562 "gram.y"
+#line 11240 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); }
break;
- case 1604:
+ case 1689:
/* Line 1787 of yacc.c */
-#line 10564 "gram.y"
+#line 11242 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); }
break;
- case 1605:
+ case 1690:
/* Line 1787 of yacc.c */
-#line 10566 "gram.y"
+#line 11244 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); }
break;
- case 1606:
+ case 1691:
/* Line 1787 of yacc.c */
-#line 10568 "gram.y"
+#line 11246 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
}
break;
- case 1607:
+ case 1692:
/* Line 1787 of yacc.c */
-#line 10572 "gram.y"
+#line 11250 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL,
NULL, (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])), (yylsp[(2) - (6)]));
}
break;
- case 1608:
+ case 1693:
/* Line 1787 of yacc.c */
-#line 10577 "gram.y"
+#line 11255 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
}
break;
- case 1609:
+ case 1694:
/* Line 1787 of yacc.c */
-#line 10581 "gram.y"
+#line 11259 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
}
break;
- case 1610:
+ case 1695:
/* Line 1787 of yacc.c */
-#line 10585 "gram.y"
+#line 11263 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
}
break;
- case 1611:
+ case 1696:
/* Line 1787 of yacc.c */
-#line 10590 "gram.y"
+#line 11268 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL,
makeXmlExpr(IS_DOCUMENT, NULL, NIL,
@@ -34151,21 +36580,21 @@ yyreduce:
}
break;
- case 1612:
+ case 1697:
/* Line 1787 of yacc.c */
-#line 10606 "gram.y"
+#line 11284 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1613:
+ case 1698:
/* Line 1787 of yacc.c */
-#line 10607 "gram.y"
+#line 11285 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1614:
+ case 1699:
/* Line 1787 of yacc.c */
-#line 10609 "gram.y"
+#line 11287 "gram.y"
{
ParamRef *p = makeNode(ParamRef);
p->number = (yyvsp[(1) - (2)].ival);
@@ -34182,9 +36611,9 @@ yyreduce:
}
break;
- case 1615:
+ case 1700:
/* Line 1787 of yacc.c */
-#line 10624 "gram.y"
+#line 11302 "gram.y"
{
if ((yyvsp[(4) - (4)].list))
{
@@ -34198,21 +36627,21 @@ yyreduce:
}
break;
- case 1616:
+ case 1701:
/* Line 1787 of yacc.c */
-#line 10636 "gram.y"
+#line 11314 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1617:
+ case 1702:
/* Line 1787 of yacc.c */
-#line 10638 "gram.y"
+#line 11316 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1618:
+ case 1703:
/* Line 1787 of yacc.c */
-#line 10640 "gram.y"
+#line 11318 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = EXPR_SUBLINK;
@@ -34224,9 +36653,9 @@ yyreduce:
}
break;
- case 1619:
+ case 1704:
/* Line 1787 of yacc.c */
-#line 10650 "gram.y"
+#line 11328 "gram.y"
{
/*
* Because the select_with_parens nonterminal is designed
@@ -34251,9 +36680,9 @@ yyreduce:
}
break;
- case 1620:
+ case 1705:
/* Line 1787 of yacc.c */
-#line 10673 "gram.y"
+#line 11351 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = EXISTS_SUBLINK;
@@ -34265,9 +36694,9 @@ yyreduce:
}
break;
- case 1621:
+ case 1706:
/* Line 1787 of yacc.c */
-#line 10683 "gram.y"
+#line 11361 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = ARRAY_SUBLINK;
@@ -34279,9 +36708,9 @@ yyreduce:
}
break;
- case 1622:
+ case 1707:
/* Line 1787 of yacc.c */
-#line 10693 "gram.y"
+#line 11371 "gram.y"
{
A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[(2) - (2)].node);
Assert(IsA(n, A_ArrayExpr));
@@ -34291,9 +36720,9 @@ yyreduce:
}
break;
- case 1623:
+ case 1708:
/* Line 1787 of yacc.c */
-#line 10701 "gram.y"
+#line 11379 "gram.y"
{
RowExpr *r = makeNode(RowExpr);
r->args = (yyvsp[(1) - (1)].list);
@@ -34304,176 +36733,161 @@ yyreduce:
}
break;
- case 1624:
+ case 1709:
/* Line 1787 of yacc.c */
-#line 10720 "gram.y"
+#line 11390 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[(1) - (4)].list);
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = (yyvsp[(4) - (4)].windef);
- n->location = (yylsp[(1) - (4)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, (yylsp[(1) - (3)]));
}
break;
- case 1625:
+ case 1710:
/* Line 1787 of yacc.c */
-#line 10733 "gram.y"
+#line 11394 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[(1) - (5)].list);
- n->args = (yyvsp[(3) - (5)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = (yyvsp[(5) - (5)].windef);
- n->location = (yylsp[(1) - (5)]);
+ FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list), (yylsp[(1) - (5)]));
+ n->agg_order = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *)n;
}
break;
- case 1626:
+ case 1711:
/* Line 1787 of yacc.c */
-#line 10746 "gram.y"
+#line 11400 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[(1) - (6)].list);
- n->args = list_make1((yyvsp[(4) - (6)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
+ FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)), (yylsp[(1) - (6)]));
n->func_variadic = TRUE;
- n->over = (yyvsp[(6) - (6)].windef);
- n->location = (yylsp[(1) - (6)]);
+ n->agg_order = (yyvsp[(5) - (6)].list);
(yyval.node) = (Node *)n;
}
break;
- case 1627:
+ case 1712:
/* Line 1787 of yacc.c */
-#line 10759 "gram.y"
+#line 11407 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[(1) - (8)].list);
- n->args = lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
+ FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)), (yylsp[(1) - (8)]));
n->func_variadic = TRUE;
- n->over = (yyvsp[(8) - (8)].windef);
- n->location = (yylsp[(1) - (8)]);
- (yyval.node) = (Node *)n;
- }
- break;
-
- case 1628:
-/* Line 1787 of yacc.c */
-#line 10772 "gram.y"
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[(1) - (6)].list);
- n->args = (yyvsp[(3) - (6)].list);
- n->agg_order = (yyvsp[(4) - (6)].list);
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = (yyvsp[(6) - (6)].windef);
- n->location = (yylsp[(1) - (6)]);
+ n->agg_order = (yyvsp[(7) - (8)].list);
(yyval.node) = (Node *)n;
}
break;
- case 1629:
+ case 1713:
/* Line 1787 of yacc.c */
-#line 10785 "gram.y"
+#line 11414 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[(1) - (7)].list);
- n->args = (yyvsp[(4) - (7)].list);
- n->agg_order = (yyvsp[(5) - (7)].list);
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
+ FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
+ n->agg_order = (yyvsp[(5) - (6)].list);
/* Ideally we'd mark the FuncCall node to indicate
* "must be an aggregate", but there's no provision
* for that in FuncCall at the moment.
*/
- n->func_variadic = FALSE;
- n->over = (yyvsp[(7) - (7)].windef);
- n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *)n;
}
break;
- case 1630:
+ case 1714:
/* Line 1787 of yacc.c */
-#line 10802 "gram.y"
+#line 11424 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[(1) - (7)].list);
- n->args = (yyvsp[(4) - (7)].list);
- n->agg_order = (yyvsp[(5) - (7)].list);
- n->agg_star = FALSE;
+ FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
+ n->agg_order = (yyvsp[(5) - (6)].list);
n->agg_distinct = TRUE;
- n->func_variadic = FALSE;
- n->over = (yyvsp[(7) - (7)].windef);
- n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *)n;
}
break;
- case 1631:
+ case 1715:
/* Line 1787 of yacc.c */
-#line 10815 "gram.y"
+#line 11431 "gram.y"
{
/*
* We consider AGGREGATE(*) to invoke a parameterless
* aggregate. This does the right thing for COUNT(*),
- * and there are no other aggregates in SQL92 that accept
+ * and there are no other aggregates in SQL that accept
* '*' as parameter.
*
* The FuncCall node is also marked agg_star = true,
* so that later processing can detect what the argument
* really was.
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[(1) - (5)].list);
- n->args = NIL;
- n->agg_order = NIL;
+ FuncCall *n = makeFuncCall((yyvsp[(1) - (4)].list), NIL, (yylsp[(1) - (4)]));
n->agg_star = TRUE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = (yyvsp[(5) - (5)].windef);
- n->location = (yylsp[(1) - (5)]);
(yyval.node) = (Node *)n;
}
break;
- case 1632:
+ case 1716:
/* Line 1787 of yacc.c */
-#line 10838 "gram.y"
+#line 11459 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("pg_collation_for");
- n->args = list_make1((yyvsp[(4) - (5)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (5)]);
- (yyval.node) = (Node *)n;
+ FuncCall *n = (FuncCall *) (yyvsp[(1) - (4)].node);
+ /*
+ * The order clause for WITHIN GROUP and the one for
+ * plain-aggregate ORDER BY share a field, so we have to
+ * check here that at most one is present. We also check
+ * for DISTINCT and VARIADIC here to give a better error
+ * location. Other consistency checks are deferred to
+ * parse analysis.
+ */
+ if ((yyvsp[(2) - (4)].list) != NIL)
+ {
+ if (n->agg_order != NIL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
+ parser_errposition((yylsp[(2) - (4)]))));
+ if (n->agg_distinct)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("cannot use DISTINCT with WITHIN GROUP"),
+ parser_errposition((yylsp[(2) - (4)]))));
+ if (n->func_variadic)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("cannot use VARIADIC with WITHIN GROUP"),
+ parser_errposition((yylsp[(2) - (4)]))));
+ n->agg_order = (yyvsp[(2) - (4)].list);
+ n->agg_within_group = TRUE;
+ }
+ n->agg_filter = (yyvsp[(3) - (4)].node);
+ n->over = (yyvsp[(4) - (4)].windef);
+ (yyval.node) = (Node *) n;
}
break;
- case 1633:
+ case 1717:
+/* Line 1787 of yacc.c */
+#line 11494 "gram.y"
+ { (yyval.node) = (yyvsp[(1) - (1)].node); }
+ break;
+
+ case 1718:
+/* Line 1787 of yacc.c */
+#line 11504 "gram.y"
+ { (yyval.node) = (yyvsp[(1) - (1)].node); }
+ break;
+
+ case 1719:
+/* Line 1787 of yacc.c */
+#line 11505 "gram.y"
+ { (yyval.node) = (yyvsp[(1) - (1)].node); }
+ break;
+
+ case 1720:
+/* Line 1787 of yacc.c */
+#line 11513 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
+ list_make1((yyvsp[(4) - (5)].node)),
+ (yylsp[(1) - (5)]));
+ }
+ break;
+
+ case 1721:
/* Line 1787 of yacc.c */
-#line 10851 "gram.y"
+#line 11519 "gram.y"
{
/*
* Translate as "'now'::text::date".
@@ -34489,30 +36903,35 @@ yyreduce:
* of type-input conversion functions. (As of PG 7.3
* that is actually possible, but not clear that we want
* to rely on it.)
+ *
+ * The token location is attached to the run-time
+ * typecast, not to the Const, for the convenience of
+ * pg_stat_statements (which doesn't want these constructs
+ * to appear to be replaceable constants).
*/
Node *n;
- n = makeStringConstCast("now", (yylsp[(1) - (1)]), SystemTypeName("text"));
- (yyval.node) = makeTypeCast(n, SystemTypeName("date"), -1);
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
+ (yyval.node) = makeTypeCast(n, SystemTypeName("date"), (yylsp[(1) - (1)]));
}
break;
- case 1634:
+ case 1722:
/* Line 1787 of yacc.c */
-#line 10872 "gram.y"
+#line 11545 "gram.y"
{
/*
* Translate as "'now'::text::timetz".
* See comments for CURRENT_DATE.
*/
Node *n;
- n = makeStringConstCast("now", (yylsp[(1) - (1)]), SystemTypeName("text"));
- (yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), -1);
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
+ (yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), (yylsp[(1) - (1)]));
}
break;
- case 1635:
+ case 1723:
/* Line 1787 of yacc.c */
-#line 10882 "gram.y"
+#line 11555 "gram.y"
{
/*
* Translate as "'now'::text::timetz(n)".
@@ -34520,37 +36939,28 @@ yyreduce:
*/
Node *n;
TypeName *d;
- n = makeStringConstCast("now", (yylsp[(1) - (4)]), SystemTypeName("text"));
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timetz");
d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
- (yyval.node) = makeTypeCast(n, d, -1);
+ (yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
}
break;
- case 1636:
+ case 1724:
/* Line 1787 of yacc.c */
-#line 10895 "gram.y"
+#line 11568 "gram.y"
{
/*
* Translate as "now()", since we have a function that
* does exactly what is needed.
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("now");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (1)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("now"), NIL, (yylsp[(1) - (1)]));
}
break;
- case 1637:
+ case 1725:
/* Line 1787 of yacc.c */
-#line 10912 "gram.y"
+#line 11576 "gram.y"
{
/*
* Translate as "'now'::text::timestamptz(n)".
@@ -34558,30 +36968,30 @@ yyreduce:
*/
Node *n;
TypeName *d;
- n = makeStringConstCast("now", (yylsp[(1) - (4)]), SystemTypeName("text"));
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timestamptz");
d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
- (yyval.node) = makeTypeCast(n, d, -1);
+ (yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
}
break;
- case 1638:
+ case 1726:
/* Line 1787 of yacc.c */
-#line 10925 "gram.y"
+#line 11589 "gram.y"
{
/*
* Translate as "'now'::text::time".
* See comments for CURRENT_DATE.
*/
Node *n;
- n = makeStringConstCast("now", (yylsp[(1) - (1)]), SystemTypeName("text"));
- (yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), -1);
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
+ (yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), (yylsp[(1) - (1)]));
}
break;
- case 1639:
+ case 1727:
/* Line 1787 of yacc.c */
-#line 10935 "gram.y"
+#line 11599 "gram.y"
{
/*
* Translate as "'now'::text::time(n)".
@@ -34589,30 +36999,30 @@ yyreduce:
*/
Node *n;
TypeName *d;
- n = makeStringConstCast("now", (yylsp[(1) - (4)]), SystemTypeName("text"));
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("time");
d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
- (yyval.node) = makeTypeCast((Node *)n, d, -1);
+ (yyval.node) = makeTypeCast((Node *)n, d, (yylsp[(1) - (4)]));
}
break;
- case 1640:
+ case 1728:
/* Line 1787 of yacc.c */
-#line 10948 "gram.y"
+#line 11612 "gram.y"
{
/*
* Translate as "'now'::text::timestamp".
* See comments for CURRENT_DATE.
*/
Node *n;
- n = makeStringConstCast("now", (yylsp[(1) - (1)]), SystemTypeName("text"));
- (yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), -1);
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
+ (yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), (yylsp[(1) - (1)]));
}
break;
- case 1641:
+ case 1729:
/* Line 1787 of yacc.c */
-#line 10958 "gram.y"
+#line 11622 "gram.y"
{
/*
* Translate as "'now'::text::timestamp(n)".
@@ -34620,306 +37030,173 @@ yyreduce:
*/
Node *n;
TypeName *d;
- n = makeStringConstCast("now", (yylsp[(1) - (4)]), SystemTypeName("text"));
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timestamp");
d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
- (yyval.node) = makeTypeCast(n, d, -1);
+ (yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
}
break;
- case 1642:
+ case 1730:
/* Line 1787 of yacc.c */
-#line 10971 "gram.y"
+#line 11635 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (1)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
}
break;
- case 1643:
+ case 1731:
/* Line 1787 of yacc.c */
-#line 10984 "gram.y"
+#line 11639 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (1)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
}
break;
- case 1644:
+ case 1732:
/* Line 1787 of yacc.c */
-#line 10997 "gram.y"
+#line 11643 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("session_user");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (1)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("session_user"), NIL, (yylsp[(1) - (1)]));
}
break;
- case 1645:
+ case 1733:
/* Line 1787 of yacc.c */
-#line 11010 "gram.y"
+#line 11647 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (1)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
}
break;
- case 1646:
+ case 1734:
/* Line 1787 of yacc.c */
-#line 11023 "gram.y"
+#line 11651 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_database");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (1)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_database"), NIL, (yylsp[(1) - (1)]));
}
break;
- case 1647:
+ case 1735:
/* Line 1787 of yacc.c */
-#line 11036 "gram.y"
+#line 11655 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_schema");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (1)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_schema"), NIL, (yylsp[(1) - (1)]));
}
break;
- case 1648:
+ case 1736:
/* Line 1787 of yacc.c */
-#line 11049 "gram.y"
+#line 11659 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); }
break;
- case 1649:
+ case 1737:
/* Line 1787 of yacc.c */
-#line 11051 "gram.y"
+#line 11661 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("date_part");
- n->args = (yyvsp[(3) - (4)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (4)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
}
break;
- case 1650:
+ case 1738:
/* Line 1787 of yacc.c */
-#line 11064 "gram.y"
+#line 11665 "gram.y"
{
/* overlay(A PLACING B FROM C FOR D) is converted to
* overlay(A, B, C, D)
* overlay(A PLACING B FROM C) is converted to
* overlay(A, B, C)
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("overlay");
- n->args = (yyvsp[(3) - (4)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (4)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
}
break;
- case 1651:
+ case 1739:
/* Line 1787 of yacc.c */
-#line 11082 "gram.y"
+#line 11674 "gram.y"
{
/* position(A in B) is converted to position(B, A) */
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("position");
- n->args = (yyvsp[(3) - (4)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (4)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
}
break;
- case 1652:
+ case 1740:
/* Line 1787 of yacc.c */
-#line 11096 "gram.y"
+#line 11679 "gram.y"
{
/* substring(A from B for C) is converted to
* substring(A, B, C) - thomas 2000-11-28
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("substring");
- n->args = (yyvsp[(3) - (4)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (4)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
}
break;
- case 1653:
+ case 1741:
/* Line 1787 of yacc.c */
-#line 11112 "gram.y"
+#line 11686 "gram.y"
{
/* TREAT(expr AS target) converts expr of a particular type to target,
* which is defined to be a subtype of the original expression.
* In SQL99, this is intended for use with structured UDTs,
* but let's make this a generally useful form allowing stronger
* coercions than are handled by implicit casting.
- */
- FuncCall *n = makeNode(FuncCall);
- /* Convert SystemTypeName() to SystemFuncName() even though
+ *
+ * Convert SystemTypeName() to SystemFuncName() even though
* at the moment they result in the same thing.
*/
- n->funcname = SystemFuncName(((Value *)llast((yyvsp[(5) - (6)].typnam)->names))->val.str);
- n->args = list_make1((yyvsp[(3) - (6)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (6)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[(5) - (6)].typnam)->names))->val.str),
+ list_make1((yyvsp[(3) - (6)].node)),
+ (yylsp[(1) - (6)]));
}
break;
- case 1654:
+ case 1742:
/* Line 1787 of yacc.c */
-#line 11134 "gram.y"
+#line 11701 "gram.y"
{
- /* various trim expressions are defined in SQL92
+ /* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("btrim");
- n->args = (yyvsp[(4) - (5)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (5)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
}
break;
- case 1655:
+ case 1743:
/* Line 1787 of yacc.c */
-#line 11150 "gram.y"
+#line 11708 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("ltrim");
- n->args = (yyvsp[(4) - (5)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (5)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
}
break;
- case 1656:
+ case 1744:
/* Line 1787 of yacc.c */
-#line 11163 "gram.y"
+#line 11712 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("rtrim");
- n->args = (yyvsp[(4) - (5)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (5)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
}
break;
- case 1657:
+ case 1745:
/* Line 1787 of yacc.c */
-#line 11176 "gram.y"
+#line 11716 "gram.y"
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("btrim");
- n->args = (yyvsp[(3) - (4)].list);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (4)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
}
break;
- case 1658:
+ case 1746:
/* Line 1787 of yacc.c */
-#line 11189 "gram.y"
+#line 11720 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)]));
}
break;
- case 1659:
+ case 1747:
/* Line 1787 of yacc.c */
-#line 11193 "gram.y"
+#line 11724 "gram.y"
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[(3) - (4)].list);
@@ -34928,9 +37205,9 @@ yyreduce:
}
break;
- case 1660:
+ case 1748:
/* Line 1787 of yacc.c */
-#line 11200 "gram.y"
+#line 11731 "gram.y"
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[(3) - (4)].list);
@@ -34940,9 +37217,9 @@ yyreduce:
}
break;
- case 1661:
+ case 1749:
/* Line 1787 of yacc.c */
-#line 11208 "gram.y"
+#line 11739 "gram.y"
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[(3) - (4)].list);
@@ -34952,76 +37229,67 @@ yyreduce:
}
break;
- case 1662:
+ case 1750:
/* Line 1787 of yacc.c */
-#line 11216 "gram.y"
+#line 11747 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
}
break;
- case 1663:
+ case 1751:
/* Line 1787 of yacc.c */
-#line 11220 "gram.y"
+#line 11751 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)]));
}
break;
- case 1664:
+ case 1752:
/* Line 1787 of yacc.c */
-#line 11224 "gram.y"
+#line 11755 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)]));
}
break;
- case 1665:
+ case 1753:
/* Line 1787 of yacc.c */
-#line 11228 "gram.y"
+#line 11759 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)]));
}
break;
- case 1666:
+ case 1754:
/* Line 1787 of yacc.c */
-#line 11232 "gram.y"
+#line 11763 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)]));
}
break;
- case 1667:
+ case 1755:
/* Line 1787 of yacc.c */
-#line 11236 "gram.y"
+#line 11767 "gram.y"
{
/* xmlexists(A PASSING [BY REF] B [BY REF]) is
* converted to xmlexists(A, B)*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("xmlexists");
- n->args = list_make2((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = (yylsp[(1) - (5)]);
- (yyval.node) = (Node *)n;
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)), (yylsp[(1) - (5)]));
}
break;
- case 1668:
+ case 1756:
/* Line 1787 of yacc.c */
-#line 11251 "gram.y"
+#line 11773 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)]));
}
break;
- case 1669:
+ case 1757:
/* Line 1787 of yacc.c */
-#line 11255 "gram.y"
+#line 11777 "gram.y"
{
XmlExpr *x = (XmlExpr *)
makeXmlExpr(IS_XMLPARSE, NULL, NIL,
@@ -35032,34 +37300,34 @@ yyreduce:
}
break;
- case 1670:
+ case 1758:
/* Line 1787 of yacc.c */
-#line 11264 "gram.y"
+#line 11786 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)]));
}
break;
- case 1671:
+ case 1759:
/* Line 1787 of yacc.c */
-#line 11268 "gram.y"
+#line 11790 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
}
break;
- case 1672:
+ case 1760:
/* Line 1787 of yacc.c */
-#line 11272 "gram.y"
+#line 11794 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
list_make3((yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
}
break;
- case 1673:
+ case 1761:
/* Line 1787 of yacc.c */
-#line 11277 "gram.y"
+#line 11799 "gram.y"
{
XmlSerialize *n = makeNode(XmlSerialize);
n->xmloption = (yyvsp[(3) - (7)].ival);
@@ -35070,63 +37338,63 @@ yyreduce:
}
break;
- case 1674:
+ case 1762:
/* Line 1787 of yacc.c */
-#line 11291 "gram.y"
+#line 11813 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1675:
+ case 1763:
/* Line 1787 of yacc.c */
-#line 11293 "gram.y"
+#line 11815 "gram.y"
{ (yyval.node) = makeNullAConst(-1); }
break;
- case 1676:
+ case 1764:
/* Line 1787 of yacc.c */
-#line 11297 "gram.y"
+#line 11819 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
break;
- case 1677:
+ case 1765:
/* Line 1787 of yacc.c */
-#line 11299 "gram.y"
+#line 11821 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
break;
- case 1678:
+ case 1766:
/* Line 1787 of yacc.c */
-#line 11301 "gram.y"
+#line 11823 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
break;
- case 1679:
+ case 1767:
/* Line 1787 of yacc.c */
-#line 11303 "gram.y"
+#line 11825 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
break;
- case 1680:
+ case 1768:
/* Line 1787 of yacc.c */
-#line 11306 "gram.y"
+#line 11828 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); }
break;
- case 1681:
+ case 1769:
/* Line 1787 of yacc.c */
-#line 11309 "gram.y"
+#line 11831 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
break;
- case 1682:
+ case 1770:
/* Line 1787 of yacc.c */
-#line 11310 "gram.y"
+#line 11832 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); }
break;
- case 1683:
+ case 1771:
/* Line 1787 of yacc.c */
-#line 11314 "gram.y"
+#line 11836 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(3) - (3)].str);
@@ -35136,9 +37404,9 @@ yyreduce:
}
break;
- case 1684:
+ case 1772:
/* Line 1787 of yacc.c */
-#line 11322 "gram.y"
+#line 11844 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
@@ -35148,95 +37416,119 @@ yyreduce:
}
break;
- case 1685:
+ case 1773:
/* Line 1787 of yacc.c */
-#line 11331 "gram.y"
+#line 11853 "gram.y"
{ (yyval.ival) = XMLOPTION_DOCUMENT; }
break;
- case 1686:
+ case 1774:
/* Line 1787 of yacc.c */
-#line 11332 "gram.y"
+#line 11854 "gram.y"
{ (yyval.ival) = XMLOPTION_CONTENT; }
break;
- case 1687:
+ case 1775:
/* Line 1787 of yacc.c */
-#line 11335 "gram.y"
+#line 11857 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1688:
+ case 1776:
/* Line 1787 of yacc.c */
-#line 11336 "gram.y"
+#line 11858 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1689:
+ case 1777:
/* Line 1787 of yacc.c */
-#line 11337 "gram.y"
+#line 11859 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1690:
+ case 1778:
/* Line 1787 of yacc.c */
-#line 11343 "gram.y"
+#line 11865 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (2)].node);
}
break;
- case 1691:
+ case 1779:
/* Line 1787 of yacc.c */
-#line 11347 "gram.y"
+#line 11869 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (4)].node);
}
break;
- case 1692:
+ case 1780:
/* Line 1787 of yacc.c */
-#line 11351 "gram.y"
+#line 11873 "gram.y"
{
(yyval.node) = (yyvsp[(4) - (4)].node);
}
break;
- case 1693:
+ case 1781:
/* Line 1787 of yacc.c */
-#line 11355 "gram.y"
+#line 11877 "gram.y"
{
(yyval.node) = (yyvsp[(4) - (6)].node);
}
break;
- case 1694:
+ case 1782:
+/* Line 1787 of yacc.c */
+#line 11887 "gram.y"
+ { (yyval.list) = (yyvsp[(4) - (5)].list); }
+ break;
+
+ case 1783:
+/* Line 1787 of yacc.c */
+#line 11888 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 1784:
/* Line 1787 of yacc.c */
-#line 11365 "gram.y"
+#line 11892 "gram.y"
+ { (yyval.node) = (yyvsp[(4) - (5)].node); }
+ break;
+
+ case 1785:
+/* Line 1787 of yacc.c */
+#line 11893 "gram.y"
+ { (yyval.node) = NULL; }
+ break;
+
+ case 1786:
+/* Line 1787 of yacc.c */
+#line 11901 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 1695:
+ case 1787:
/* Line 1787 of yacc.c */
-#line 11366 "gram.y"
+#line 11902 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1696:
+ case 1788:
/* Line 1787 of yacc.c */
-#line 11370 "gram.y"
+#line 11906 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); }
break;
- case 1697:
+ case 1789:
/* Line 1787 of yacc.c */
-#line 11372 "gram.y"
+#line 11908 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); }
break;
- case 1698:
+ case 1790:
/* Line 1787 of yacc.c */
-#line 11377 "gram.y"
+#line 11913 "gram.y"
{
WindowDef *n = (yyvsp[(3) - (3)].windef);
n->name = (yyvsp[(1) - (3)].str);
@@ -35244,15 +37536,15 @@ yyreduce:
}
break;
- case 1699:
+ case 1791:
/* Line 1787 of yacc.c */
-#line 11385 "gram.y"
+#line 11921 "gram.y"
{ (yyval.windef) = (yyvsp[(2) - (2)].windef); }
break;
- case 1700:
+ case 1792:
/* Line 1787 of yacc.c */
-#line 11387 "gram.y"
+#line 11923 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->name = (yyvsp[(2) - (2)].str);
@@ -35267,15 +37559,15 @@ yyreduce:
}
break;
- case 1701:
+ case 1793:
/* Line 1787 of yacc.c */
-#line 11400 "gram.y"
+#line 11936 "gram.y"
{ (yyval.windef) = NULL; }
break;
- case 1702:
+ case 1794:
/* Line 1787 of yacc.c */
-#line 11405 "gram.y"
+#line 11941 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->name = NULL;
@@ -35291,33 +37583,33 @@ yyreduce:
}
break;
- case 1703:
+ case 1795:
/* Line 1787 of yacc.c */
-#line 11430 "gram.y"
+#line 11966 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1704:
+ case 1796:
/* Line 1787 of yacc.c */
-#line 11431 "gram.y"
+#line 11967 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 1705:
+ case 1797:
/* Line 1787 of yacc.c */
-#line 11434 "gram.y"
+#line 11970 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); }
break;
- case 1706:
+ case 1798:
/* Line 1787 of yacc.c */
-#line 11435 "gram.y"
+#line 11971 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1707:
+ case 1799:
/* Line 1787 of yacc.c */
-#line 11447 "gram.y"
+#line 11983 "gram.y"
{
WindowDef *n = (yyvsp[(2) - (2)].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
@@ -35337,9 +37629,9 @@ yyreduce:
}
break;
- case 1708:
+ case 1800:
/* Line 1787 of yacc.c */
-#line 11465 "gram.y"
+#line 12001 "gram.y"
{
WindowDef *n = (yyvsp[(2) - (2)].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
@@ -35347,9 +37639,9 @@ yyreduce:
}
break;
- case 1709:
+ case 1801:
/* Line 1787 of yacc.c */
-#line 11471 "gram.y"
+#line 12007 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_DEFAULTS;
@@ -35359,9 +37651,9 @@ yyreduce:
}
break;
- case 1710:
+ case 1802:
/* Line 1787 of yacc.c */
-#line 11481 "gram.y"
+#line 12017 "gram.y"
{
WindowDef *n = (yyvsp[(1) - (1)].windef);
/* reject invalid cases */
@@ -35380,9 +37672,9 @@ yyreduce:
}
break;
- case 1711:
+ case 1803:
/* Line 1787 of yacc.c */
-#line 11498 "gram.y"
+#line 12034 "gram.y"
{
WindowDef *n1 = (yyvsp[(2) - (4)].windef);
WindowDef *n2 = (yyvsp[(4) - (4)].windef);
@@ -35421,9 +37713,9 @@ yyreduce:
}
break;
- case 1712:
+ case 1804:
/* Line 1787 of yacc.c */
-#line 11543 "gram.y"
+#line 12079 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
@@ -35433,9 +37725,9 @@ yyreduce:
}
break;
- case 1713:
+ case 1805:
/* Line 1787 of yacc.c */
-#line 11551 "gram.y"
+#line 12087 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
@@ -35445,9 +37737,9 @@ yyreduce:
}
break;
- case 1714:
+ case 1806:
/* Line 1787 of yacc.c */
-#line 11559 "gram.y"
+#line 12095 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
@@ -35457,9 +37749,9 @@ yyreduce:
}
break;
- case 1715:
+ case 1807:
/* Line 1787 of yacc.c */
-#line 11567 "gram.y"
+#line 12103 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING;
@@ -35469,9 +37761,9 @@ yyreduce:
}
break;
- case 1716:
+ case 1808:
/* Line 1787 of yacc.c */
-#line 11575 "gram.y"
+#line 12111 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING;
@@ -35481,211 +37773,211 @@ yyreduce:
}
break;
- case 1717:
+ case 1809:
/* Line 1787 of yacc.c */
-#line 11595 "gram.y"
+#line 12131 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); }
break;
- case 1718:
+ case 1810:
/* Line 1787 of yacc.c */
-#line 11596 "gram.y"
+#line 12132 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1719:
+ case 1811:
/* Line 1787 of yacc.c */
-#line 11597 "gram.y"
+#line 12133 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); }
break;
- case 1720:
+ case 1812:
/* Line 1787 of yacc.c */
-#line 11600 "gram.y"
+#line 12136 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; }
break;
- case 1721:
+ case 1813:
/* Line 1787 of yacc.c */
-#line 11601 "gram.y"
+#line 12137 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; }
break;
- case 1722:
+ case 1814:
/* Line 1787 of yacc.c */
-#line 11602 "gram.y"
+#line 12138 "gram.y"
{ (yyval.ival) = ALL_SUBLINK; }
break;
- case 1723:
+ case 1815:
/* Line 1787 of yacc.c */
-#line 11605 "gram.y"
+#line 12141 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1724:
+ case 1816:
/* Line 1787 of yacc.c */
-#line 11606 "gram.y"
+#line 12142 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1725:
+ case 1817:
/* Line 1787 of yacc.c */
-#line 11609 "gram.y"
+#line 12145 "gram.y"
{ (yyval.str) = "+"; }
break;
- case 1726:
+ case 1818:
/* Line 1787 of yacc.c */
-#line 11610 "gram.y"
+#line 12146 "gram.y"
{ (yyval.str) = "-"; }
break;
- case 1727:
+ case 1819:
/* Line 1787 of yacc.c */
-#line 11611 "gram.y"
+#line 12147 "gram.y"
{ (yyval.str) = "*"; }
break;
- case 1728:
+ case 1820:
/* Line 1787 of yacc.c */
-#line 11612 "gram.y"
+#line 12148 "gram.y"
{ (yyval.str) = "/"; }
break;
- case 1729:
+ case 1821:
/* Line 1787 of yacc.c */
-#line 11613 "gram.y"
+#line 12149 "gram.y"
{ (yyval.str) = "%"; }
break;
- case 1730:
+ case 1822:
/* Line 1787 of yacc.c */
-#line 11614 "gram.y"
+#line 12150 "gram.y"
{ (yyval.str) = "^"; }
break;
- case 1731:
+ case 1823:
/* Line 1787 of yacc.c */
-#line 11615 "gram.y"
+#line 12151 "gram.y"
{ (yyval.str) = "<"; }
break;
- case 1732:
+ case 1824:
/* Line 1787 of yacc.c */
-#line 11616 "gram.y"
+#line 12152 "gram.y"
{ (yyval.str) = ">"; }
break;
- case 1733:
+ case 1825:
/* Line 1787 of yacc.c */
-#line 11617 "gram.y"
+#line 12153 "gram.y"
{ (yyval.str) = "="; }
break;
- case 1734:
+ case 1826:
/* Line 1787 of yacc.c */
-#line 11621 "gram.y"
+#line 12157 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 1735:
+ case 1827:
/* Line 1787 of yacc.c */
-#line 11623 "gram.y"
+#line 12159 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); }
break;
- case 1736:
+ case 1828:
/* Line 1787 of yacc.c */
-#line 11628 "gram.y"
+#line 12164 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 1737:
+ case 1829:
/* Line 1787 of yacc.c */
-#line 11630 "gram.y"
+#line 12166 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); }
break;
- case 1738:
+ case 1830:
/* Line 1787 of yacc.c */
-#line 11635 "gram.y"
+#line 12171 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 1739:
+ case 1831:
/* Line 1787 of yacc.c */
-#line 11637 "gram.y"
+#line 12173 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); }
break;
- case 1740:
+ case 1832:
/* Line 1787 of yacc.c */
-#line 11639 "gram.y"
+#line 12175 "gram.y"
{ (yyval.list) = list_make1(makeString("~~")); }
break;
- case 1741:
+ case 1833:
/* Line 1787 of yacc.c */
-#line 11641 "gram.y"
+#line 12177 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~")); }
break;
- case 1742:
+ case 1834:
/* Line 1787 of yacc.c */
-#line 11643 "gram.y"
+#line 12179 "gram.y"
{ (yyval.list) = list_make1(makeString("~~*")); }
break;
- case 1743:
+ case 1835:
/* Line 1787 of yacc.c */
-#line 11645 "gram.y"
+#line 12181 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~*")); }
break;
- case 1744:
+ case 1836:
/* Line 1787 of yacc.c */
-#line 11657 "gram.y"
+#line 12193 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
}
break;
- case 1745:
+ case 1837:
/* Line 1787 of yacc.c */
-#line 11661 "gram.y"
+#line 12197 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
}
break;
- case 1746:
+ case 1838:
/* Line 1787 of yacc.c */
-#line 11668 "gram.y"
+#line 12204 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
}
break;
- case 1747:
+ case 1839:
/* Line 1787 of yacc.c */
-#line 11672 "gram.y"
+#line 12208 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
}
break;
- case 1748:
+ case 1840:
/* Line 1787 of yacc.c */
-#line 11678 "gram.y"
+#line 12214 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
}
break;
- case 1749:
+ case 1841:
/* Line 1787 of yacc.c */
-#line 11682 "gram.y"
+#line 12218 "gram.y"
{
NamedArgExpr *na = makeNode(NamedArgExpr);
na->name = (yyvsp[(1) - (3)].str);
@@ -35696,178 +37988,178 @@ yyreduce:
}
break;
- case 1750:
+ case 1842:
/* Line 1787 of yacc.c */
-#line 11692 "gram.y"
+#line 12228 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); }
break;
- case 1751:
+ case 1843:
/* Line 1787 of yacc.c */
-#line 11693 "gram.y"
+#line 12229 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); }
break;
- case 1752:
+ case 1844:
/* Line 1787 of yacc.c */
-#line 11697 "gram.y"
+#line 12233 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
}
break;
- case 1753:
+ case 1845:
/* Line 1787 of yacc.c */
-#line 11701 "gram.y"
+#line 12237 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
}
break;
- case 1754:
+ case 1846:
/* Line 1787 of yacc.c */
-#line 11705 "gram.y"
+#line 12241 "gram.y"
{
(yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)]));
}
break;
- case 1755:
+ case 1847:
/* Line 1787 of yacc.c */
-#line 11710 "gram.y"
+#line 12246 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 1756:
+ case 1848:
/* Line 1787 of yacc.c */
-#line 11711 "gram.y"
+#line 12247 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 1757:
+ case 1849:
/* Line 1787 of yacc.c */
-#line 11717 "gram.y"
+#line 12253 "gram.y"
{
(yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
}
break;
- case 1758:
+ case 1850:
/* Line 1787 of yacc.c */
-#line 11720 "gram.y"
+#line 12256 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1759:
+ case 1851:
/* Line 1787 of yacc.c */
-#line 11727 "gram.y"
+#line 12263 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1760:
+ case 1852:
/* Line 1787 of yacc.c */
-#line 11728 "gram.y"
+#line 12264 "gram.y"
{ (yyval.str) = "year"; }
break;
- case 1761:
+ case 1853:
/* Line 1787 of yacc.c */
-#line 11729 "gram.y"
+#line 12265 "gram.y"
{ (yyval.str) = "month"; }
break;
- case 1762:
+ case 1854:
/* Line 1787 of yacc.c */
-#line 11730 "gram.y"
+#line 12266 "gram.y"
{ (yyval.str) = "day"; }
break;
- case 1763:
+ case 1855:
/* Line 1787 of yacc.c */
-#line 11731 "gram.y"
+#line 12267 "gram.y"
{ (yyval.str) = "hour"; }
break;
- case 1764:
+ case 1856:
/* Line 1787 of yacc.c */
-#line 11732 "gram.y"
+#line 12268 "gram.y"
{ (yyval.str) = "minute"; }
break;
- case 1765:
+ case 1857:
/* Line 1787 of yacc.c */
-#line 11733 "gram.y"
+#line 12269 "gram.y"
{ (yyval.str) = "second"; }
break;
- case 1766:
+ case 1858:
/* Line 1787 of yacc.c */
-#line 11734 "gram.y"
+#line 12270 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1767:
+ case 1859:
/* Line 1787 of yacc.c */
-#line 11745 "gram.y"
+#line 12281 "gram.y"
{
(yyval.list) = list_make4((yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
}
break;
- case 1768:
+ case 1860:
/* Line 1787 of yacc.c */
-#line 11749 "gram.y"
+#line 12285 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
}
break;
- case 1769:
+ case 1861:
/* Line 1787 of yacc.c */
-#line 11756 "gram.y"
+#line 12292 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1770:
+ case 1862:
/* Line 1787 of yacc.c */
-#line 11762 "gram.y"
+#line 12298 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); }
break;
- case 1771:
+ case 1863:
/* Line 1787 of yacc.c */
-#line 11763 "gram.y"
+#line 12299 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1772:
+ case 1864:
/* Line 1787 of yacc.c */
-#line 11780 "gram.y"
+#line 12316 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
}
break;
- case 1773:
+ case 1865:
/* Line 1787 of yacc.c */
-#line 11784 "gram.y"
+#line 12320 "gram.y"
{
/* not legal per SQL99, but might as well allow it */
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yyvsp[(2) - (3)].node));
}
break;
- case 1774:
+ case 1866:
/* Line 1787 of yacc.c */
-#line 11789 "gram.y"
+#line 12325 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
}
break;
- case 1775:
+ case 1867:
/* Line 1787 of yacc.c */
-#line 11793 "gram.y"
+#line 12329 "gram.y"
{
/*
* Since there are no cases where this syntax allows
@@ -35884,53 +38176,53 @@ yyreduce:
}
break;
- case 1776:
+ case 1868:
/* Line 1787 of yacc.c */
-#line 11808 "gram.y"
+#line 12344 "gram.y"
{
(yyval.list) = (yyvsp[(1) - (1)].list);
}
break;
- case 1777:
+ case 1869:
/* Line 1787 of yacc.c */
-#line 11812 "gram.y"
+#line 12348 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1778:
+ case 1870:
/* Line 1787 of yacc.c */
-#line 11816 "gram.y"
+#line 12352 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1779:
+ case 1871:
/* Line 1787 of yacc.c */
-#line 11819 "gram.y"
+#line 12355 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1780:
+ case 1872:
/* Line 1787 of yacc.c */
-#line 11822 "gram.y"
+#line 12358 "gram.y"
{ (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); }
break;
- case 1781:
+ case 1873:
/* Line 1787 of yacc.c */
-#line 11823 "gram.y"
+#line 12359 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); }
break;
- case 1782:
+ case 1874:
/* Line 1787 of yacc.c */
-#line 11824 "gram.y"
+#line 12360 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); }
break;
- case 1783:
+ case 1875:
/* Line 1787 of yacc.c */
-#line 11828 "gram.y"
+#line 12364 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = (yyvsp[(1) - (1)].node);
@@ -35939,15 +38231,15 @@ yyreduce:
}
break;
- case 1784:
+ case 1876:
/* Line 1787 of yacc.c */
-#line 11834 "gram.y"
+#line 12370 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(2) - (3)].list); }
break;
- case 1785:
+ case 1877:
/* Line 1787 of yacc.c */
-#line 11845 "gram.y"
+#line 12381 "gram.y"
{
CaseExpr *c = makeNode(CaseExpr);
c->casetype = InvalidOid; /* not analyzed yet */
@@ -35959,21 +38251,21 @@ yyreduce:
}
break;
- case 1786:
+ case 1878:
/* Line 1787 of yacc.c */
-#line 11858 "gram.y"
+#line 12394 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 1787:
+ case 1879:
/* Line 1787 of yacc.c */
-#line 11859 "gram.y"
+#line 12395 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
break;
- case 1788:
+ case 1880:
/* Line 1787 of yacc.c */
-#line 11864 "gram.y"
+#line 12400 "gram.y"
{
CaseWhen *w = makeNode(CaseWhen);
w->expr = (Expr *) (yyvsp[(2) - (4)].node);
@@ -35983,65 +38275,65 @@ yyreduce:
}
break;
- case 1789:
+ case 1881:
/* Line 1787 of yacc.c */
-#line 11874 "gram.y"
+#line 12410 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); }
break;
- case 1790:
+ case 1882:
/* Line 1787 of yacc.c */
-#line 11875 "gram.y"
+#line 12411 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1791:
+ case 1883:
/* Line 1787 of yacc.c */
-#line 11878 "gram.y"
+#line 12414 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); }
break;
- case 1792:
+ case 1884:
/* Line 1787 of yacc.c */
-#line 11879 "gram.y"
+#line 12415 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1793:
+ case 1885:
/* Line 1787 of yacc.c */
-#line 11883 "gram.y"
+#line 12419 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner);
}
break;
- case 1794:
+ case 1886:
/* Line 1787 of yacc.c */
-#line 11887 "gram.y"
+#line 12423 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
}
break;
- case 1795:
+ case 1887:
/* Line 1787 of yacc.c */
-#line 11894 "gram.y"
+#line 12430 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str));
}
break;
- case 1796:
+ case 1888:
/* Line 1787 of yacc.c */
-#line 11898 "gram.y"
+#line 12434 "gram.y"
{
(yyval.node) = (Node *) makeNode(A_Star);
}
break;
- case 1797:
+ case 1889:
/* Line 1787 of yacc.c */
-#line 11902 "gram.y"
+#line 12438 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = NULL;
@@ -36050,9 +38342,9 @@ yyreduce:
}
break;
- case 1798:
+ case 1890:
/* Line 1787 of yacc.c */
-#line 11909 "gram.y"
+#line 12445 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = (yyvsp[(2) - (5)].node);
@@ -36061,39 +38353,39 @@ yyreduce:
}
break;
- case 1799:
+ case 1891:
/* Line 1787 of yacc.c */
-#line 11918 "gram.y"
+#line 12454 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 1800:
+ case 1892:
/* Line 1787 of yacc.c */
-#line 11919 "gram.y"
+#line 12455 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
break;
- case 1801:
+ case 1893:
/* Line 1787 of yacc.c */
-#line 11923 "gram.y"
+#line 12459 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1802:
+ case 1894:
/* Line 1787 of yacc.c */
-#line 11924 "gram.y"
+#line 12460 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); }
break;
- case 1805:
+ case 1897:
/* Line 1787 of yacc.c */
-#line 11939 "gram.y"
+#line 12475 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); }
break;
- case 1806:
+ case 1898:
/* Line 1787 of yacc.c */
-#line 11941 "gram.y"
+#line 12477 "gram.y"
{
SetToDefault *n = makeNode(SetToDefault);
n->location = (yylsp[(1) - (1)]);
@@ -36101,39 +38393,51 @@ yyreduce:
}
break;
- case 1807:
+ case 1899:
/* Line 1787 of yacc.c */
-#line 11949 "gram.y"
+#line 12485 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); }
break;
- case 1808:
+ case 1900:
/* Line 1787 of yacc.c */
-#line 11950 "gram.y"
+#line 12486 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); }
break;
- case 1809:
+ case 1901:
/* Line 1787 of yacc.c */
-#line 11958 "gram.y"
+#line 12494 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); }
break;
- case 1810:
+ case 1902:
+/* Line 1787 of yacc.c */
+#line 12504 "gram.y"
+ { (yyval.list) = (yyvsp[(1) - (1)].list); }
+ break;
+
+ case 1903:
+/* Line 1787 of yacc.c */
+#line 12505 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 1904:
/* Line 1787 of yacc.c */
-#line 11969 "gram.y"
+#line 12509 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); }
break;
- case 1811:
+ case 1905:
/* Line 1787 of yacc.c */
-#line 11970 "gram.y"
+#line 12510 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); }
break;
- case 1812:
+ case 1906:
/* Line 1787 of yacc.c */
-#line 11974 "gram.y"
+#line 12514 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(3) - (3)].str);
@@ -36143,9 +38447,9 @@ yyreduce:
}
break;
- case 1813:
+ case 1907:
/* Line 1787 of yacc.c */
-#line 11990 "gram.y"
+#line 12530 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(2) - (2)].str);
@@ -36155,9 +38459,9 @@ yyreduce:
}
break;
- case 1814:
+ case 1908:
/* Line 1787 of yacc.c */
-#line 11998 "gram.y"
+#line 12538 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
@@ -36167,9 +38471,9 @@ yyreduce:
}
break;
- case 1815:
+ case 1909:
/* Line 1787 of yacc.c */
-#line 12006 "gram.y"
+#line 12546 "gram.y"
{
ColumnRef *n = makeNode(ColumnRef);
n->fields = list_make1(makeNode(A_Star));
@@ -36183,29 +38487,29 @@ yyreduce:
}
break;
- case 1816:
+ case 1910:
/* Line 1787 of yacc.c */
-#line 12027 "gram.y"
+#line 12567 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); }
break;
- case 1817:
+ case 1911:
/* Line 1787 of yacc.c */
-#line 12028 "gram.y"
+#line 12568 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); }
break;
- case 1818:
+ case 1912:
/* Line 1787 of yacc.c */
-#line 12040 "gram.y"
+#line 12580 "gram.y"
{
(yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
}
break;
- case 1819:
+ case 1913:
/* Line 1787 of yacc.c */
-#line 12044 "gram.y"
+#line 12584 "gram.y"
{
check_qualified_name((yyvsp[(2) - (2)].list), yyscanner);
(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[(1) - (2)]));
@@ -36232,104 +38536,104 @@ yyreduce:
}
break;
- case 1820:
+ case 1914:
/* Line 1787 of yacc.c */
-#line 12071 "gram.y"
+#line 12611 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 1821:
+ case 1915:
/* Line 1787 of yacc.c */
-#line 12073 "gram.y"
+#line 12613 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
break;
- case 1822:
+ case 1916:
/* Line 1787 of yacc.c */
-#line 12077 "gram.y"
+#line 12617 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1823:
+ case 1917:
/* Line 1787 of yacc.c */
-#line 12080 "gram.y"
+#line 12620 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1824:
+ case 1918:
/* Line 1787 of yacc.c */
-#line 12083 "gram.y"
+#line 12623 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1825:
+ case 1919:
/* Line 1787 of yacc.c */
-#line 12085 "gram.y"
+#line 12625 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1826:
+ case 1920:
/* Line 1787 of yacc.c */
-#line 12087 "gram.y"
+#line 12627 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1827:
+ case 1921:
/* Line 1787 of yacc.c */
-#line 12089 "gram.y"
+#line 12629 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1828:
+ case 1922:
/* Line 1787 of yacc.c */
-#line 12100 "gram.y"
+#line 12640 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
break;
- case 1829:
+ case 1923:
/* Line 1787 of yacc.c */
-#line 12102 "gram.y"
+#line 12642 "gram.y"
{
(yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
yyscanner);
}
break;
- case 1830:
+ case 1924:
/* Line 1787 of yacc.c */
-#line 12113 "gram.y"
+#line 12653 "gram.y"
{
(yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
}
break;
- case 1831:
+ case 1925:
/* Line 1787 of yacc.c */
-#line 12117 "gram.y"
+#line 12657 "gram.y"
{
(yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
}
break;
- case 1832:
+ case 1926:
/* Line 1787 of yacc.c */
-#line 12121 "gram.y"
+#line 12661 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
}
break;
- case 1833:
+ case 1927:
/* Line 1787 of yacc.c */
-#line 12125 "gram.y"
+#line 12665 "gram.y"
{
(yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
}
break;
- case 1834:
+ case 1928:
/* Line 1787 of yacc.c */
-#line 12129 "gram.y"
+#line 12669 "gram.y"
{
/* This is a bit constant per SQL99:
* Without Feature F511, "BIT data type",
@@ -36340,9 +38644,9 @@ yyreduce:
}
break;
- case 1835:
+ case 1929:
/* Line 1787 of yacc.c */
-#line 12138 "gram.y"
+#line 12678 "gram.y"
{
/* generic type 'literal' syntax */
TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list));
@@ -36351,20 +38655,21 @@ yyreduce:
}
break;
- case 1836:
+ case 1930:
/* Line 1787 of yacc.c */
-#line 12145 "gram.y"
+#line 12685 "gram.y"
{
/* generic syntax with a type modifier */
- TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (5)].list));
+ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (6)].list));
ListCell *lc;
/*
- * We must use func_arg_list in the production to avoid
- * reduce/reduce conflicts, but we don't actually wish
- * to allow NamedArgExpr in this context.
+ * We must use func_arg_list and opt_sort_clause in the
+ * production to avoid reduce/reduce conflicts, but we
+ * don't actually wish to allow NamedArgExpr in this
+ * context, nor ORDER BY.
*/
- foreach(lc, (yyvsp[(3) - (5)].list))
+ foreach(lc, (yyvsp[(3) - (6)].list))
{
NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
@@ -36374,23 +38679,29 @@ yyreduce:
errmsg("type modifier cannot have parameter name"),
parser_errposition(arg->location)));
}
- t->typmods = (yyvsp[(3) - (5)].list);
- t->location = (yylsp[(1) - (5)]);
- (yyval.node) = makeStringConstCast((yyvsp[(5) - (5)].str), (yylsp[(5) - (5)]), t);
+ if ((yyvsp[(4) - (6)].list) != NIL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("type modifier cannot have ORDER BY"),
+ parser_errposition((yylsp[(4) - (6)]))));
+
+ t->typmods = (yyvsp[(3) - (6)].list);
+ t->location = (yylsp[(1) - (6)]);
+ (yyval.node) = makeStringConstCast((yyvsp[(6) - (6)].str), (yylsp[(6) - (6)]), t);
}
break;
- case 1837:
+ case 1931:
/* Line 1787 of yacc.c */
-#line 12170 "gram.y"
+#line 12717 "gram.y"
{
(yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
}
break;
- case 1838:
+ case 1932:
/* Line 1787 of yacc.c */
-#line 12174 "gram.y"
+#line 12721 "gram.y"
{
TypeName *t = (yyvsp[(1) - (3)].typnam);
t->typmods = (yyvsp[(3) - (3)].list);
@@ -36398,9 +38709,9 @@ yyreduce:
}
break;
- case 1839:
+ case 1933:
/* Line 1787 of yacc.c */
-#line 12180 "gram.y"
+#line 12727 "gram.y"
{
TypeName *t = (yyvsp[(1) - (6)].typnam);
if ((yyvsp[(6) - (6)].list) != NIL)
@@ -36419,135 +38730,171 @@ yyreduce:
}
break;
- case 1840:
+ case 1934:
/* Line 1787 of yacc.c */
-#line 12197 "gram.y"
+#line 12744 "gram.y"
{
(yyval.node) = makeBoolAConst(TRUE, (yylsp[(1) - (1)]));
}
break;
- case 1841:
+ case 1935:
/* Line 1787 of yacc.c */
-#line 12201 "gram.y"
+#line 12748 "gram.y"
{
(yyval.node) = makeBoolAConst(FALSE, (yylsp[(1) - (1)]));
}
break;
- case 1842:
+ case 1936:
/* Line 1787 of yacc.c */
-#line 12205 "gram.y"
+#line 12752 "gram.y"
{
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
}
break;
- case 1843:
+ case 1937:
/* Line 1787 of yacc.c */
-#line 12210 "gram.y"
+#line 12757 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); }
break;
- case 1844:
+ case 1938:
/* Line 1787 of yacc.c */
-#line 12211 "gram.y"
+#line 12758 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1845:
+ case 1939:
/* Line 1787 of yacc.c */
-#line 12212 "gram.y"
+#line 12759 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1846:
+ case 1940:
/* Line 1787 of yacc.c */
-#line 12214 "gram.y"
+#line 12762 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); }
+ break;
+
+ case 1941:
+/* Line 1787 of yacc.c */
+#line 12764 "gram.y"
+ { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); }
+ break;
+
+ case 1942:
+/* Line 1787 of yacc.c */
+#line 12767 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); }
break;
- case 1847:
+ case 1943:
/* Line 1787 of yacc.c */
-#line 12215 "gram.y"
+#line 12768 "gram.y"
{ (yyval.ival) = + (yyvsp[(2) - (2)].ival); }
break;
- case 1848:
+ case 1944:
/* Line 1787 of yacc.c */
-#line 12216 "gram.y"
+#line 12769 "gram.y"
{ (yyval.ival) = - (yyvsp[(2) - (2)].ival); }
break;
- case 1849:
+ case 1945:
/* Line 1787 of yacc.c */
-#line 12232 "gram.y"
+#line 12785 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1850:
+ case 1946:
/* Line 1787 of yacc.c */
-#line 12233 "gram.y"
+#line 12786 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
break;
- case 1851:
+ case 1947:
/* Line 1787 of yacc.c */
-#line 12234 "gram.y"
+#line 12787 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
break;
- case 1852:
+ case 1948:
/* Line 1787 of yacc.c */
-#line 12239 "gram.y"
+#line 12792 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1853:
+ case 1949:
/* Line 1787 of yacc.c */
-#line 12240 "gram.y"
+#line 12793 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
break;
- case 1854:
+ case 1950:
/* Line 1787 of yacc.c */
-#line 12241 "gram.y"
+#line 12794 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
break;
- case 1855:
+ case 1951:
/* Line 1787 of yacc.c */
-#line 12247 "gram.y"
+#line 12799 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
- case 1856:
+ case 1952:
/* Line 1787 of yacc.c */
-#line 12248 "gram.y"
+#line 12800 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
break;
- case 1857:
+ case 1953:
/* Line 1787 of yacc.c */
-#line 12249 "gram.y"
+#line 12801 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
break;
- case 1858:
+ case 1954:
/* Line 1787 of yacc.c */
-#line 12250 "gram.y"
+#line 12802 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
break;
- case 1859:
+ case 1955:
+/* Line 1787 of yacc.c */
+#line 12808 "gram.y"
+ { (yyval.str) = (yyvsp[(1) - (1)].str); }
+ break;
+
+ case 1956:
+/* Line 1787 of yacc.c */
+#line 12809 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+ break;
+
+ case 1957:
+/* Line 1787 of yacc.c */
+#line 12810 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+ break;
+
+ case 1958:
+/* Line 1787 of yacc.c */
+#line 12811 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
+ break;
+
+ case 1959:
/* Line 1787 of yacc.c */
-#line 12251 "gram.y"
+#line 12812 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); }
break;
/* Line 1787 of yacc.c */
-#line 36551 "gram.c"
+#line 38898 "gram.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -36786,7 +39133,7 @@ yyreturn:
/* Line 2050 of yacc.c */
-#line 12704 "gram.y"
+#line 13274 "gram.y"
/*
@@ -36968,39 +39315,6 @@ makeBoolAConst(bool state, int location)
return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
}
-/* makeOverlaps()
- * Create and populate a FuncCall node to support the OVERLAPS operator.
- */
-static FuncCall *
-makeOverlaps(List *largs, List *rargs, int location, core_yyscan_t yyscanner)
-{
- FuncCall *n = makeNode(FuncCall);
-
- n->funcname = SystemFuncName("overlaps");
- if (list_length(largs) == 1)
- largs = lappend(largs, largs);
- else if (list_length(largs) != 2)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("wrong number of parameters on left side of OVERLAPS expression"),
- parser_errposition(location)));
- if (list_length(rargs) == 1)
- rargs = lappend(rargs, rargs);
- else if (list_length(rargs) != 2)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("wrong number of parameters on right side of OVERLAPS expression"),
- parser_errposition(location)));
- n->args = list_concat(largs, rargs);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = location;
- return n;
-}
-
/* check_qualified_name --- check the result of qualified_name production
*
* It's easiest to let the grammar production for qualified_name allow
@@ -37079,6 +39393,55 @@ extractArgTypes(List *parameters)
return result;
}
+/* extractAggrArgTypes()
+ * As above, but work from the output of the aggr_args production.
+ */
+static List *
+extractAggrArgTypes(List *aggrargs)
+{
+ Assert(list_length(aggrargs) == 2);
+ return extractArgTypes((List *) linitial(aggrargs));
+}
+
+/* makeOrderedSetArgs()
+ * Build the result of the aggr_args production (which see the comments for).
+ * This handles only the case where both given lists are nonempty, so that
+ * we have to deal with multiple VARIADIC arguments.
+ */
+static List *
+makeOrderedSetArgs(List *directargs, List *orderedargs,
+ core_yyscan_t yyscanner)
+{
+ FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
+ int ndirectargs;
+
+ /* No restriction unless last direct arg is VARIADIC */
+ if (lastd->mode == FUNC_PARAM_VARIADIC)
+ {
+ FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
+
+ /*
+ * We ignore the names, though the aggr_arg production allows them;
+ * it doesn't allow default values, so those need not be checked.
+ */
+ if (list_length(orderedargs) != 1 ||
+ firsto->mode != FUNC_PARAM_VARIADIC)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
+ parser_errposition(exprLocation((Node *) firsto))));
+
+ /* OK, drop the duplicate VARIADIC argument from the internal form */
+ orderedargs = NIL;
+ }
+
+ /* don't merge into the next line, as list_concat changes directargs */
+ ndirectargs = list_length(directargs);
+
+ return list_make2(list_concat(directargs, orderedargs),
+ makeInteger(ndirectargs));
+}
+
/* insertSelectOptions()
* Insert ORDER BY, etc into an already-constructed SelectStmt.
*
@@ -37220,13 +39583,7 @@ doNegateFloat(Value *v)
if (*oldval == '-')
v->val.str = oldval+1; /* just strip the '-' */
else
- {
- char *newval = (char *) palloc(strlen(oldval) + 2);
-
- *newval = '-';
- strcpy(newval+1, oldval);
- v->val.str = newval;
- }
+ v->val.str = psprintf("-%s", oldval);
}
static Node *
@@ -37461,6 +39818,66 @@ processCASbits(int cas_bits, int location, const char *constrType,
}
}
+/*----------
+ * Recursive view transformation
+ *
+ * Convert
+ *
+ * CREATE RECURSIVE VIEW relname (aliases) AS query
+ *
+ * to
+ *
+ * CREATE VIEW relname (aliases) AS
+ * WITH RECURSIVE relname (aliases) AS (query)
+ * SELECT aliases FROM relname
+ *
+ * Actually, just the WITH ... part, which is then inserted into the original
+ * view definition as the query.
+ * ----------
+ */
+static Node *
+makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
+{
+ SelectStmt *s = makeNode(SelectStmt);
+ WithClause *w = makeNode(WithClause);
+ CommonTableExpr *cte = makeNode(CommonTableExpr);
+ List *tl = NIL;
+ ListCell *lc;
+
+ /* create common table expression */
+ cte->ctename = relname;
+ cte->aliascolnames = aliases;
+ cte->ctequery = query;
+ cte->location = -1;
+
+ /* create WITH clause and attach CTE */
+ w->recursive = true;
+ w->ctes = list_make1(cte);
+ w->location = -1;
+
+ /* create target list for the new SELECT from the alias list of the
+ * recursive view specification */
+ foreach (lc, aliases)
+ {
+ ResTarget *rt = makeNode(ResTarget);
+
+ rt->name = NULL;
+ rt->indirection = NIL;
+ rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
+ rt->location = -1;
+
+ tl = lappend(tl, rt);
+ }
+
+ /* create new SELECT combining WITH clause, target list, and fake FROM
+ * clause */
+ s->withClause = w;
+ s->targetList = tl;
+ s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
+
+ return (Node *) s;
+}
+
/* parser_init()
* Initialize to parse one query string
*/
@@ -37470,18 +39887,17 @@ parser_init(base_yy_extra_type *yyext)
yyext->parsetree = NIL; /* in case grammar forgets to set it */
}
-
/*
* Create a DefElem setting "oids" to the specified value.
*/
static DefElem *
defWithOids(bool value)
{
- DefElem *f = makeNode(DefElem);
-
- f->defname = "oids";
- f->arg = (Node *) makeInteger(value);
- return f;
+ DefElem *f = makeNode(DefElem);
+
+ f->defname = "oids";
+ f->arg = (Node *) makeInteger(value);
+ return f;
}
/*
diff --git a/src/parser/gram.y b/src/parser/gram.y
index 0147e01..23a73b0 100644
--- a/src/parser/gram.y
+++ b/src/parser/gram.y
@@ -6,8 +6,8 @@
* gram.y
* POSTGRESQL BISON rules/actions
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
@@ -22,8 +22,6 @@
* NOTES
* CAPITALS are used to represent terminal symbols.
* non-capitals are used to represent non-terminals.
- * SQL92-specific syntax is separated from plain SQL/Postgres syntax
- * to help isolate the non-extensible portions of the parser.
*
* In general, nothing in this file should initiate database accesses
* nor depend on changeable state (such as SET variables). If you do
@@ -47,6 +45,7 @@
*
*-------------------------------------------------------------------------
*/
+
#include "pool_parser.h"
#include "utils/elog.h"
#include "utils/palloc.h"
@@ -66,27 +65,66 @@
#include "pg_trigger.h"
-/* for XML data type */
+/*
+ * Definition taken from
+ * postgreSQL source code file: src/include/commands/trigger.h
+ */
+#define TRIGGER_FIRES_ON_ORIGIN 'O'
+#define TRIGGER_FIRES_ALWAYS 'A'
+#define TRIGGER_FIRES_ON_REPLICA 'R'
+#define TRIGGER_DISABLED 'D'
+
+/*
+ * Definition taken from
+ * postgreSQL source code file: src/include/catalog/pg_class.h
+ */
+
+#define REPLICA_IDENTITY_DEFAULT 'd'
+#define REPLICA_IDENTITY_NOTHING 'n'
+#define REPLICA_IDENTITY_FULL 'f'
+#define REPLICA_IDENTITY_INDEX 'i'
+
+/*
+ * Definition taken from
+ * postgreSQL source code file: src/include/utils/xml.h
+ */
typedef enum
{
- XML_STANDALONE_YES,
- XML_STANDALONE_NO,
- XML_STANDALONE_NO_VALUE,
- XML_STANDALONE_OMITTED
+ XML_STANDALONE_YES,
+ XML_STANDALONE_NO,
+ XML_STANDALONE_NO_VALUE,
+ XML_STANDALONE_OMITTED
} XmlStandaloneType;
static DefElem *defWithOids(bool value);
-
-/* Location tracking support --- simpler than bison's default */
+/*
+ * Location tracking support --- simpler than bison's default, since we only
+ * want to track the start position not the end position of each nonterminal.
+ */
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
- if (N) \
+ if ((N) > 0) \
(Current) = (Rhs)[1]; \
else \
- (Current) = (Rhs)[0]; \
+ (Current) = (-1); \
} while (0)
/*
+ * The above macro assigns -1 (unknown) as the parse location of any
+ * nonterminal that was reduced from an empty rule. This is problematic
+ * for nonterminals defined like
+ * OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
+ * because we'll set -1 as the location during the first reduction and then
+ * copy it during each subsequent reduction, leaving us with -1 for the
+ * location even when the list is not empty. To fix that, do this in the
+ * action for the nonempty rule(s):
+ * if (@$ < 0) @$ = @2;
+ * (Although we have many nonterminals that follow this pattern, we only
+ * bother with fixing @$ like this when the nonterminal's parse location
+ * is actually referenced in some rule.)
+ */
+
+/*
* Bison doesn't allocate anything that needs to live across parser calls,
* so we can easily have it use palloc instead of malloc. This prevents
* memory leaks if we error out during parsing. Note this only works with
@@ -130,12 +168,13 @@ static Node *makeBitStringConst(char *str, int location);
static Node *makeNullAConst(int location);
static Node *makeAConst(Value *v, int location);
static Node *makeBoolAConst(bool state, int location);
-static FuncCall *makeOverlaps(List *largs, List *rargs,
- int location, core_yyscan_t yyscanner);
static void check_qualified_name(List *names, core_yyscan_t yyscanner);
static List *check_func_name(List *names, core_yyscan_t yyscanner);
static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
static List *extractArgTypes(List *parameters);
+static List *extractAggrArgTypes(List *aggrargs);
+static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
+ core_yyscan_t yyscanner);
static void insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
Node *limitOffset, Node *limitCount,
@@ -156,6 +195,7 @@ static void SplitColQualList(List *qualList,
static void processCASbits(int cas_bits, int location, const char *constrType,
bool *deferrable, bool *initdeferred, bool *not_valid,
bool *no_inherit, core_yyscan_t yyscanner);
+static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
%}
@@ -206,10 +246,11 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
}
%type <node> stmt schema_stmt
+ AlterEventTrigStmt
AlterDatabaseStmt AlterDatabaseSetStmt AlterDomainStmt AlterEnumStmt
AlterFdwStmt AlterForeignServerStmt AlterGroupStmt
- AlterObjectSchemaStmt AlterOwnerStmt AlterSeqStmt AlterTableStmt
- AlterExtensionStmt AlterExtensionContentsStmt AlterForeignTableStmt
+ AlterObjectSchemaStmt AlterOwnerStmt AlterSeqStmt AlterSystemStmt AlterTableStmt
+ AlterTblSpcStmt AlterExtensionStmt AlterExtensionContentsStmt AlterForeignTableStmt
AlterCompositeTypeStmt AlterUserStmt AlterUserMappingStmt AlterUserSetStmt
AlterRoleStmt AlterRoleSetStmt
AlterDefaultPrivilegesStmt DefACLAction
@@ -219,7 +260,7 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
CreateOpFamilyStmt AlterOpFamilyStmt CreatePLangStmt
CreateSchemaStmt CreateSeqStmt CreateStmt CreateTableSpaceStmt
CreateFdwStmt CreateForeignServerStmt CreateForeignTableStmt
- CreateAssertStmt CreateTrigStmt
+ CreateAssertStmt CreateTrigStmt CreateEventTrigStmt
CreateUserStmt CreateUserMappingStmt CreateRoleStmt
CreatedbStmt DeclareCursorStmt DefineStmt DeleteStmt DiscardStmt DoStmt
DropGroupStmt DropOpClassStmt DropOpFamilyStmt DropPLangStmt DropStmt
@@ -238,6 +279,7 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
DeallocateStmt PrepareStmt ExecuteStmt
DropOwnedStmt ReassignOwnedStmt
AlterTSConfigurationStmt AlterTSDictionaryStmt
+ CreateMatViewStmt RefreshMatViewStmt
%type <node> select_no_parens select_with_parens select_clause
simple_select values_clause
@@ -246,6 +288,7 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <ival> add_drop opt_asc_desc opt_nulls_order
%type <node> alter_table_cmd alter_type_cmd opt_collate_clause
+ replica_identity
%type <list> alter_table_cmds alter_type_cmds
%type <dbehavior> opt_drop_behavior
@@ -280,6 +323,10 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <value> TriggerFuncArg
%type <node> TriggerWhen
+%type <list> event_trigger_when_list event_trigger_value_list
+%type <defelt> event_trigger_when_item
+%type <chr> enable_trigger
+
%type <str> copy_file_name
database_name access_method_clause access_method attr_name
name cursor_name file_name
@@ -308,19 +355,19 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <list> stmtblock stmtmulti
OptTableElementList TableElementList OptInherit definition
OptTypedTableElementList TypedTableElementList
- OptForeignTableElementList ForeignTableElementList
reloptions opt_reloptions
OptWith opt_distinct opt_definition func_args func_args_list
func_args_with_defaults func_args_with_defaults_list
+ aggr_args aggr_args_list
func_as createfunc_opt_list alterfunc_opt_list
- aggr_args old_aggr_definition old_aggr_list
+ old_aggr_definition old_aggr_list
oper_argtypes RuleActionList RuleActionMulti
opt_column_list columnList opt_name_list
sort_clause opt_sort_clause sortby_list index_params
- name_list from_clause from_list opt_array_bounds
+ name_list role_list from_clause from_list opt_array_bounds
qualified_name_list any_name any_name_list
any_operator expr_list attrs
- target_list insert_column_list set_target_list
+ target_list opt_target_list insert_column_list set_target_list
set_clause_list set_clause multiple_set_clause
ctext_expr_list ctext_row def_list indirection opt_indirection
reloption_list group_clause TriggerFuncArgs select_limit
@@ -337,17 +384,19 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <defelt> fdw_option
%type <range> OptTempTableName
-%type <into> into_clause create_as_target
+%type <into> into_clause create_as_target create_mv_target
%type <defelt> createfunc_opt_item common_func_opt_item dostmt_opt_item
-%type <fun_param> func_arg func_arg_with_default table_func_column
+%type <fun_param> func_arg func_arg_with_default table_func_column aggr_arg
%type <fun_param_mode> arg_class
%type <typnam> func_return func_type
%type <boolean> opt_trusted opt_restart_seqs
%type <ival> OptTemp
+%type <ival> OptNoLog
%type <oncommit> OnCommitOption
+%type <ival> for_locking_strength
%type <node> for_locking_item
%type <list> for_locking_clause opt_for_locking_clause for_locking_items
%type <list> locked_rels_list
@@ -366,7 +415,7 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <boolean> opt_freeze opt_default opt_recheck
%type <defelt> opt_binary opt_oids copy_delimiter
-%type <boolean> copy_from
+%type <boolean> copy_from opt_program
%type <ival> opt_column event cursor_options opt_hold opt_set_data
%type <objtype> reindex_type drop_type comment_type security_label_type
@@ -381,16 +430,17 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <istmt> insert_rest
-%type <vsetstmt> set_rest set_rest_more SetResetClause FunctionSetResetClause
+%type <vsetstmt> generic_set set_rest set_rest_more SetResetClause FunctionSetResetClause
%type <node> TableElement TypedTableElement ConstraintElem TableFuncElement
- ForeignTableElement
%type <node> columnDef columnOptions
%type <defelt> def_elem reloption_elem old_aggr_elem
%type <node> def_arg columnElem where_clause where_or_current_clause
- a_expr b_expr c_expr func_expr AexprConst indirection_el
+ a_expr b_expr c_expr AexprConst indirection_el
columnref in_expr having_clause func_table array_expr
ExclusionWhereClause
+%type <list> rowsfrom_item rowsfrom_list opt_col_def_list
+%type <boolean> opt_ordinality
%type <list> ExclusionConstraintList ExclusionConstraintElem
%type <list> func_arg_list
%type <node> func_arg_expr
@@ -401,7 +451,8 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <node> ctext_expr
%type <value> NumericOnly
%type <list> NumericOnly_list
-%type <alias> alias_clause
+%type <alias> alias_clause opt_alias_clause
+%type <list> func_alias_clause
%type <sortby> sortby
%type <ielem> index_elem
%type <node> table_ref
@@ -436,9 +487,10 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <ival> Iconst SignedIconst
%type <str> Sconst comment_text notify_payload
-%type <str> RoleId opt_granted_by opt_boolean_or_string ColId_or_Sconst
+%type <str> RoleId opt_granted_by opt_boolean_or_string
%type <list> var_list
%type <str> ColId ColLabel var_name type_function_name param_name
+%type <str> NonReservedWord NonReservedWord_or_Sconst
%type <node> var_value zone_value
%type <keyword> unreserved_keyword type_func_name_keyword
@@ -455,7 +507,7 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <list> constraints_set_list
%type <boolean> constraints_set_mode
%type <str> OptTableSpace OptConsTableSpace OptTableSpaceOwner
-%type <list> opt_check_option
+%type <ival> opt_check_option
%type <str> opt_provider security_label
@@ -466,15 +518,19 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
%type <ival> document_or_content
%type <boolean> xml_whitespace_option
+%type <node> func_application func_expr_common_subexpr
+%type <node> func_expr func_expr_windowless
%type <node> common_table_expr
%type <with> with_clause opt_with_clause
%type <list> cte_list
+%type <list> within_group_clause
+%type <node> filter_clause
%type <list> window_clause window_definition_list opt_partition_clause
%type <windef> window_definition over_clause window_specification
opt_frame_clause frame_extent frame_bound
%type <str> opt_existing_window_name
-
+%type <boolean> opt_if_not_exists
/*
* Non-keyword token types. These are hard-wired into the "flex" lexer.
@@ -517,12 +573,12 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
DEFERRABLE DEFERRED DEFINER DELETE_P DELIMITER DELIMITERS DESC
DICTIONARY DISABLE_P DISCARD DISTINCT DO DOCUMENT_P DOMAIN_P DOUBLE_P DROP
- EACH ELSE ENABLE_P ENCODING ENCRYPTED END_P ENUM_P ESCAPE EXCEPT
+ EACH ELSE ENABLE_P ENCODING ENCRYPTED END_P ENUM_P ESCAPE EVENT EXCEPT
EXCLUDE EXCLUDING EXCLUSIVE EXECUTE EXISTS EXPLAIN
EXTENSION EXTERNAL EXTRACT
- FALSE_P FAMILY FETCH FIRST_P FLOAT_P FOLLOWING FOR FORCE FOREIGN FORWARD
- FREEZE FROM FULL FUNCTION FUNCTIONS
+ FALSE_P FAMILY FETCH FILTER FIRST_P FLOAT_P FOLLOWING FOR
+ FORCE FOREIGN FORWARD FREEZE FROM FULL FUNCTION FUNCTIONS
GLOBAL GRANT GRANTED GREATEST GROUP_P
@@ -537,26 +593,26 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
KEY
- LABEL LANGUAGE LARGE_P LAST_P LC_COLLATE_P LC_CTYPE_P LEADING LEAKPROOF
- LEAST LEFT LEVEL LIKE LIMIT LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP
- LOCATION LOCK_P
+ LABEL LANGUAGE LARGE_P LAST_P LATERAL_P LC_COLLATE_P LC_CTYPE_P
+ LEADING LEAKPROOF LEAST LEFT LEVEL LIKE LIMIT LISTEN LOAD LOCAL
+ LOCALTIME LOCALTIMESTAMP LOCATION LOCK_P
- MAPPING MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
+ MAPPING MATCH MATERIALIZED MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
NAME_P NAMES NATIONAL NATURAL NCHAR NEXT NO NONE
NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLIF
NULLS_P NUMERIC
OBJECT_P OF OFF OFFSET OIDS ON ONLY OPERATOR OPTION OPTIONS OR
- ORDER OUT_P OUTER_P OVER OVERLAPS OVERLAY OWNED OWNER
+ ORDER ORDINALITY OUT_P OUTER_P OVER OVERLAPS OVERLAY OWNED OWNER
PARSER PARTIAL PARTITION PASSING PASSWORD PLACING PLANS POSITION
PRECEDING PRECISION PRESERVE PREPARE PREPARED PRIMARY
- PRIOR PRIVILEGES PROCEDURAL PROCEDURE
+ PRIOR PRIVILEGES PROCEDURAL PROCEDURE PROGRAM
QUOTE
- RANGE READ REAL REASSIGN RECHECK RECURSIVE REF REFERENCES REINDEX
+ RANGE READ REAL REASSIGN RECHECK RECURSIVE REF REFERENCES REFRESH REINDEX
RELATIVE_P RELEASE RENAME REPEATABLE REPLACE REPLICA
RESET RESTART RESTRICT RETURNING RETURNS REVOKE RIGHT ROLE ROLLBACK
ROW ROWS RULE
@@ -575,9 +631,9 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
UNTIL UPDATE USER USING
VACUUM VALID VALIDATE VALIDATOR VALUE_P VALUES VARCHAR VARIADIC VARYING
- VERBOSE VERSION_P VIEW VOLATILE
+ VERBOSE VERSION_P VIEW VIEWS VOLATILE
- WHEN WHERE WHITESPACE_P WINDOW WITH WITHOUT WORK WRAPPER WRITE
+ WHEN WHERE WHITESPACE_P WINDOW WITH WITHIN WITHOUT WORK WRAPPER WRITE
XML_P XMLATTRIBUTES XMLCONCAT XMLELEMENT XMLEXISTS XMLFOREST XMLPARSE
XMLPI XMLROOT XMLSERIALIZE
@@ -591,7 +647,7 @@ static void processCASbits(int cas_bits, int location, const char *constrType,
* list and so can never be entered directly. The filter in parser.c
* creates these tokens when required.
*/
-%token NULLS_FIRST NULLS_LAST WITH_TIME
+%token NULLS_FIRST NULLS_LAST WITH_ORDINALITY WITH_TIME
/* Precedence: lowest to highest */
@@ -686,7 +742,8 @@ stmtmulti: stmtmulti ';' stmt
;
stmt :
- AlterDatabaseStmt
+ AlterEventTrigStmt
+ | AlterDatabaseStmt
| AlterDatabaseSetStmt
| AlterDefaultPrivilegesStmt
| AlterDomainStmt
@@ -701,7 +758,9 @@ stmt :
| AlterObjectSchemaStmt
| AlterOwnerStmt
| AlterSeqStmt
+ | AlterSystemStmt
| AlterTableStmt
+ | AlterTblSpcStmt
| AlterCompositeTypeStmt
| AlterRoleSetStmt
| AlterRoleStmt
@@ -728,6 +787,7 @@ stmt :
| CreateForeignTableStmt
| CreateFunctionStmt
| CreateGroupStmt
+ | CreateMatViewStmt
| CreateOpClassStmt
| CreateOpFamilyStmt
| AlterOpFamilyStmt
@@ -737,6 +797,7 @@ stmt :
| CreateStmt
| CreateTableSpaceStmt
| CreateTrigStmt
+ | CreateEventTrigStmt
| CreateRoleStmt
| CreateUserStmt
| CreateUserMappingStmt
@@ -772,6 +833,7 @@ stmt :
| IndexStmt
| InsertStmt
| ListenStmt
+ | RefreshMatViewStmt
| LoadStmt
| LockStmt
| NotifyStmt
@@ -870,7 +932,7 @@ AlterOptRoleElem:
$$ = makeDefElem("validUntil", (Node *)makeString($3));
}
/* Supported but not documented for roles, for use by ALTER GROUP. */
- | USER name_list
+ | USER role_list
{
$$ = makeDefElem("rolemembers", (Node *)$2);
}
@@ -934,19 +996,19 @@ CreateOptRoleElem:
{
$$ = makeDefElem("sysid", (Node *)makeInteger($2));
}
- | ADMIN name_list
+ | ADMIN role_list
{
$$ = makeDefElem("adminmembers", (Node *)$2);
}
- | ROLE name_list
+ | ROLE role_list
{
$$ = makeDefElem("rolemembers", (Node *)$2);
}
- | IN_P ROLE name_list
+ | IN_P ROLE role_list
{
$$ = makeDefElem("addroleto", (Node *)$3);
}
- | IN_P GROUP_P name_list
+ | IN_P GROUP_P role_list
{
$$ = makeDefElem("addroleto", (Node *)$3);
}
@@ -1002,6 +1064,14 @@ AlterRoleSetStmt:
n->setstmt = $5;
$$ = (Node *)n;
}
+ | ALTER ROLE ALL opt_in_database SetResetClause
+ {
+ AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
+ n->role = NULL;
+ n->database = $4;
+ n->setstmt = $5;
+ $$ = (Node *)n;
+ }
;
@@ -1045,14 +1115,14 @@ AlterUserSetStmt:
*****************************************************************************/
DropRoleStmt:
- DROP ROLE name_list
+ DROP ROLE role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = $3;
$$ = (Node *)n;
}
- | DROP ROLE IF_P EXISTS name_list
+ | DROP ROLE IF_P EXISTS role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
@@ -1071,14 +1141,14 @@ DropRoleStmt:
*****************************************************************************/
DropUserStmt:
- DROP USER name_list
+ DROP USER role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = $3;
$$ = (Node *)n;
}
- | DROP USER IF_P EXISTS name_list
+ | DROP USER IF_P EXISTS role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = $5;
@@ -1113,7 +1183,7 @@ CreateGroupStmt:
*****************************************************************************/
AlterGroupStmt:
- ALTER GROUP_P RoleId add_drop USER name_list
+ ALTER GROUP_P RoleId add_drop USER role_list
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = $3;
@@ -1137,14 +1207,14 @@ add_drop: ADD_P { $$ = +1; }
*****************************************************************************/
DropGroupStmt:
- DROP GROUP_P name_list
+ DROP GROUP_P role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = $3;
$$ = (Node *)n;
}
- | DROP GROUP_P IF_P EXISTS name_list
+ | DROP GROUP_P IF_P EXISTS role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
@@ -1171,6 +1241,7 @@ CreateSchemaStmt:
n->schemaname = $5;
n->authid = $5;
n->schemaElts = $6;
+ n->if_not_exists = false;
$$ = (Node *)n;
}
| CREATE SCHEMA ColId OptSchemaEltList
@@ -1180,6 +1251,40 @@ CreateSchemaStmt:
n->schemaname = $3;
n->authid = NULL;
n->schemaElts = $4;
+ n->if_not_exists = false;
+ $$ = (Node *)n;
+ }
+ | CREATE SCHEMA IF_P NOT EXISTS OptSchemaName AUTHORIZATION RoleId OptSchemaEltList
+ {
+ CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
+ /* One can omit the schema name or the authorization id. */
+ if ($6 != NULL)
+ n->schemaname = $6;
+ else
+ n->schemaname = $8;
+ n->authid = $8;
+ if ($9 != NIL)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
+ parser_errposition(@9)));
+ n->schemaElts = $9;
+ n->if_not_exists = true;
+ $$ = (Node *)n;
+ }
+ | CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList
+ {
+ CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
+ /* ...but not both */
+ n->schemaname = $6;
+ n->authid = NULL;
+ if ($7 != NIL)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
+ parser_errposition(@7)));
+ n->schemaElts = $7;
+ n->if_not_exists = true;
$$ = (Node *)n;
}
;
@@ -1190,8 +1295,14 @@ OptSchemaName:
;
OptSchemaEltList:
- OptSchemaEltList schema_stmt { $$ = lappend($1, $2); }
- | /* EMPTY */ { $$ = NIL; }
+ OptSchemaEltList schema_stmt
+ {
+ if (@$ < 0) /* see comments for YYLLOC_DEFAULT */
+ @$ = @2;
+ $$ = lappend($1, $2);
+ }
+ | /* EMPTY */
+ { $$ = NIL; }
;
/*
@@ -1212,7 +1323,7 @@ schema_stmt:
*
* Set PG internal variable
* SET name TO 'var_value'
- * Include SQL92 syntax (thomas 1997-10-22):
+ * Include SQL syntax (thomas 1997-10-22):
* SET TIME ZONE 'var_value'
*
*****************************************************************************/
@@ -1258,7 +1369,7 @@ set_rest:
| set_rest_more
;
-set_rest_more: /* Generic SET syntaxes: */
+generic_set:
var_name TO var_list
{
VariableSetStmt *n = makeNode(VariableSetStmt);
@@ -1289,6 +1400,9 @@ set_rest_more: /* Generic SET syntaxes: */
n->name = $1;
$$ = n;
}
+
+set_rest_more: /* Generic SET syntaxes: */
+ generic_set {$$ = $1;}
| var_name FROM CURRENT_P
{
VariableSetStmt *n = makeNode(VariableSetStmt);
@@ -1335,7 +1449,7 @@ set_rest_more: /* Generic SET syntaxes: */
n->kind = VAR_SET_DEFAULT;
$$ = n;
}
- | ROLE ColId_or_Sconst
+ | ROLE NonReservedWord_or_Sconst
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -1343,7 +1457,7 @@ set_rest_more: /* Generic SET syntaxes: */
n->args = list_make1(makeStringConst($2, @2));
$$ = n;
}
- | SESSION AUTHORIZATION ColId_or_Sconst
+ | SESSION AUTHORIZATION NonReservedWord_or_Sconst
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -1379,10 +1493,7 @@ set_rest_more: /* Generic SET syntaxes: */
var_name: ColId { $$ = $1; }
| var_name '.' ColId
- {
- $$ = palloc(strlen($1) + strlen($3) + 2);
- sprintf($$, "%s.%s", $1, $3);
- }
+ { $$ = psprintf("%s.%s", $1, $3); }
;
var_list: var_value { $$ = list_make1($1); }
@@ -1406,11 +1517,11 @@ opt_boolean_or_string:
| FALSE_P { $$ = "false"; }
| ON { $$ = "on"; }
/*
- * OFF is also accepted as a boolean value, but is handled
- * by the ColId rule below. The action for booleans and strings
+ * OFF is also accepted as a boolean value, but is handled by
+ * the NonReservedWord rule. The action for booleans and strings
* is the same, so we don't need to distinguish them here.
*/
- | ColId_or_Sconst { $$ = $1; }
+ | NonReservedWord_or_Sconst { $$ = $1; }
;
/* Timezone values can be:
@@ -1479,8 +1590,8 @@ opt_encoding:
| /*EMPTY*/ { $$ = NULL; }
;
-ColId_or_Sconst:
- ColId { $$ = $1; }
+NonReservedWord_or_Sconst:
+ NonReservedWord { $$ = $1; }
| Sconst { $$ = $1; }
;
@@ -1603,7 +1714,7 @@ CheckPointStmt:
/*****************************************************************************
*
- * DISCARD { ALL | TEMP | PLANS }
+ * DISCARD { ALL | TEMP | PLANS | SEQUENCES }
*
*****************************************************************************/
@@ -1632,14 +1743,21 @@ DiscardStmt:
n->target = DISCARD_PLANS;
$$ = (Node *) n;
}
+ | DISCARD SEQUENCES
+ {
+ DiscardStmt *n = makeNode(DiscardStmt);
+ n->target = DISCARD_SEQUENCES;
+ $$ = (Node *) n;
+ }
+
;
/*****************************************************************************
*
- * ALTER [ TABLE | INDEX | SEQUENCE | VIEW ] variations
+ * ALTER [ TABLE | INDEX | SEQUENCE | VIEW | MATERIALIZED VIEW ] variations
*
- * Note: we accept all subcommands for each of the four variants, and sort
+ * Note: we accept all subcommands for each of the five variants, and sort
* out what's really legal at execution time.
*****************************************************************************/
@@ -1716,6 +1834,24 @@ AlterTableStmt:
n->missing_ok = true;
$$ = (Node *)n;
}
+ | ALTER MATERIALIZED VIEW qualified_name alter_table_cmds
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+ n->relation = $4;
+ n->cmds = $5;
+ n->relkind = OBJECT_MATVIEW;
+ n->missing_ok = false;
+ $$ = (Node *)n;
+ }
+ | ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+ n->relation = $6;
+ n->cmds = $7;
+ n->relkind = OBJECT_MATVIEW;
+ n->missing_ok = true;
+ $$ = (Node *)n;
+ }
;
alter_table_cmds:
@@ -1832,10 +1968,11 @@ alter_table_cmd:
n->subtype = AT_AlterColumnType;
n->name = $3;
n->def = (Node *) def;
- /* We only use these three fields of the ColumnDef node */
+ /* We only use these fields of the ColumnDef node */
def->typeName = $6;
def->collClause = (CollateClause *) $7;
def->raw_default = $8;
+ def->location = @3;
$$ = (Node *)n;
}
/* ALTER FOREIGN TABLE <name> ALTER [COLUMN] <colname> OPTIONS */
@@ -1855,6 +1992,21 @@ alter_table_cmd:
n->def = $2;
$$ = (Node *)n;
}
+ /* ALTER TABLE <name> ALTER CONSTRAINT ... */
+ | ALTER CONSTRAINT name ConstraintAttributeSpec
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ Constraint *c = makeNode(Constraint);
+ n->subtype = AT_AlterConstraint;
+ n->def = (Node *) c;
+ c->contype = CONSTR_FOREIGN; /* others not supported, yet */
+ c->conname = $3;
+ processCASbits($4, @4, "ALTER CONSTRAINT statement",
+ &c->deferrable,
+ &c->initdeferred,
+ NULL, NULL, yyscanner);
+ $$ = (Node *)n;
+ }
/* ALTER TABLE <name> VALIDATE CONSTRAINT ... */
| VALIDATE CONSTRAINT name
{
@@ -2070,6 +2222,14 @@ alter_table_cmd:
n->def = (Node *)$2;
$$ = (Node *)n;
}
+ /* ALTER TABLE <name> REPLICA IDENTITY */
+ | REPLICA IDENTITY_P replica_identity
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ n->subtype = AT_ReplicaIdentity;
+ n->def = $3;
+ $$ = (Node *)n;
+ }
| alter_generic_options
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -2107,6 +2267,37 @@ alter_using:
| /* EMPTY */ { $$ = NULL; }
;
+replica_identity:
+ NOTHING
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+ n->identity_type = REPLICA_IDENTITY_NOTHING;
+ n->name = NULL;
+ $$ = (Node *) n;
+ }
+ | FULL
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+ n->identity_type = REPLICA_IDENTITY_FULL;
+ n->name = NULL;
+ $$ = (Node *) n;
+ }
+ | DEFAULT
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+ n->identity_type = REPLICA_IDENTITY_DEFAULT;
+ n->name = NULL;
+ $$ = (Node *) n;
+ }
+ | USING INDEX name
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+ n->identity_type = REPLICA_IDENTITY_INDEX;
+ n->name = $3;
+ $$ = (Node *) n;
+ }
+;
+
reloptions:
'(' reloption_list ')' { $$ = $2; }
;
@@ -2206,10 +2397,11 @@ alter_type_cmd:
n->name = $3;
n->def = (Node *) def;
n->behavior = $8;
- /* We only use these three fields of the ColumnDef node */
+ /* We only use these fields of the ColumnDef node */
def->typeName = $6;
def->collClause = (CollateClause *) $7;
def->raw_default = NULL;
+ def->location = @3;
$$ = (Node *)n;
}
;
@@ -2242,7 +2434,10 @@ ClosePortalStmt:
*
* QUERY :
* COPY relname [(columnList)] FROM/TO file [WITH] [(options)]
- * COPY ( SELECT ... ) TO file [WITH] [(options)]
+ * COPY ( SELECT ... ) TO file [WITH] [(options)]
+ *
+ * where 'file' can be one of:
+ * { PROGRAM 'command' | STDIN | STDOUT | 'filename' }
*
* In the preferred syntax the options are comma-separated
* and use generic identifiers instead of keywords. The pre-9.0
@@ -2257,14 +2452,21 @@ ClosePortalStmt:
*****************************************************************************/
CopyStmt: COPY opt_binary qualified_name opt_column_list opt_oids
- copy_from copy_file_name copy_delimiter opt_with copy_options
+ copy_from opt_program copy_file_name copy_delimiter opt_with copy_options
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = $3;
n->query = NULL;
n->attlist = $4;
n->is_from = $6;
- n->filename = $7;
+ n->is_program = $7;
+ n->filename = $8;
+
+ if (n->is_program && n->filename == NULL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("STDIN/STDOUT not allowed with PROGRAM"),
+ parser_errposition(@8)));
n->options = NIL;
/* Concatenate user-supplied flags */
@@ -2272,21 +2474,29 @@ CopyStmt: COPY opt_binary qualified_name opt_column_list opt_oids
n->options = lappend(n->options, $2);
if ($5)
n->options = lappend(n->options, $5);
- if ($8)
- n->options = lappend(n->options, $8);
- if ($10)
- n->options = list_concat(n->options, $10);
+ if ($9)
+ n->options = lappend(n->options, $9);
+ if ($11)
+ n->options = list_concat(n->options, $11);
$$ = (Node *)n;
}
- | COPY select_with_parens TO copy_file_name opt_with copy_options
+ | COPY select_with_parens TO opt_program copy_file_name opt_with copy_options
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = NULL;
n->query = $2;
n->attlist = NIL;
n->is_from = false;
- n->filename = $4;
- n->options = $6;
+ n->is_program = $4;
+ n->filename = $5;
+ n->options = $7;
+
+ if (n->is_program && n->filename == NULL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("STDIN/STDOUT not allowed with PROGRAM"),
+ parser_errposition(@5)));
+
$$ = (Node *)n;
}
;
@@ -2296,6 +2506,11 @@ copy_from:
| TO { $$ = FALSE; }
;
+opt_program:
+ PROGRAM { $$ = TRUE; }
+ | /* EMPTY */ { $$ = FALSE; }
+ ;
+
/*
* copy_file_name NULL indicates stdio is used. Whether stdin or stdout is
* used depends on the direction. (It really doesn't make sense to copy from
@@ -2326,6 +2541,10 @@ copy_opt_item:
{
$$ = makeDefElem("oids", (Node *)makeInteger(TRUE));
}
+ | FREEZE
+ {
+ $$ = makeDefElem("freeze", (Node *)makeInteger(TRUE));
+ }
| DELIMITER opt_as Sconst
{
$$ = makeDefElem("delimiter", (Node *)makeString($3));
@@ -2362,6 +2581,10 @@ copy_opt_item:
{
$$ = makeDefElem("force_not_null", (Node *)$4);
}
+ | FORCE NULL_P columnList
+ {
+ $$ = makeDefElem("force_null", (Node *)$3);
+ }
| ENCODING Sconst
{
$$ = makeDefElem("encoding", (Node *)makeString($2));
@@ -2607,6 +2830,7 @@ columnDef: ColId Typename create_generic_options ColQualList
n->fdwoptions = $3;
SplitColQualList($4, &n->constraints, &n->collClause,
yyscanner);
+ n->location = @1;
$$ = (Node *)n;
}
;
@@ -2626,6 +2850,7 @@ columnOptions: ColId WITH OPTIONS ColQualList
n->collOid = InvalidOid;
SplitColQualList($4, &n->constraints, &n->collClause,
yyscanner);
+ n->location = @1;
$$ = (Node *)n;
}
;
@@ -2666,7 +2891,7 @@ ColConstraint:
* to make it explicit.
* - thomas 1998-09-13
*
- * WITH NULL and NULL are not SQL92-standard syntax elements,
+ * WITH NULL and NULL are not SQL-standard syntax elements,
* so leave them out. Use DEFAULT NULL to explicitly indicate
* that a column may have that value. WITH NULL leads to
* shift/reduce conflicts with WITH TIME ZONE anyway.
@@ -2983,11 +3208,11 @@ key_match: MATCH FULL
}
| MATCH SIMPLE
{
- $$ = FKCONSTR_MATCH_UNSPECIFIED;
+ $$ = FKCONSTR_MATCH_SIMPLE;
}
| /*EMPTY*/
{
- $$ = FKCONSTR_MATCH_UNSPECIFIED;
+ $$ = FKCONSTR_MATCH_SIMPLE;
}
;
@@ -3092,6 +3317,7 @@ CreateAsStmt:
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = $6;
ctas->into = $4;
+ ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
/* cram additional flags into the IntoClause */
$4->rel->relpersistence = $2;
@@ -3109,6 +3335,7 @@ create_as_target:
$$->options = $3;
$$->onCommit = $4;
$$->tableSpaceName = $5;
+ $$->viewQuery = NULL;
$$->skipData = false; /* might get changed later */
}
;
@@ -3123,6 +3350,66 @@ opt_with_data:
/*****************************************************************************
*
* QUERY :
+ * CREATE MATERIALIZED VIEW relname AS SelectStmt
+ *
+ *****************************************************************************/
+
+CreateMatViewStmt:
+ CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data
+ {
+ CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
+ ctas->query = $7;
+ ctas->into = $5;
+ ctas->relkind = OBJECT_MATVIEW;
+ ctas->is_select_into = false;
+ /* cram additional flags into the IntoClause */
+ $5->rel->relpersistence = $2;
+ $5->skipData = !($8);
+ $$ = (Node *) ctas;
+ }
+ ;
+
+create_mv_target:
+ qualified_name opt_column_list opt_reloptions OptTableSpace
+ {
+ $$ = makeNode(IntoClause);
+ $$->rel = $1;
+ $$->colNames = $2;
+ $$->options = $3;
+ $$->onCommit = ONCOMMIT_NOOP;
+ $$->tableSpaceName = $4;
+ $$->viewQuery = NULL; /* filled at analysis time */
+ $$->skipData = false; /* might get changed later */
+ }
+ ;
+
+OptNoLog: UNLOGGED { $$ = RELPERSISTENCE_UNLOGGED; }
+ | /*EMPTY*/ { $$ = RELPERSISTENCE_PERMANENT; }
+ ;
+
+
+/*****************************************************************************
+ *
+ * QUERY :
+ * REFRESH MATERIALIZED VIEW qualified_name
+ *
+ *****************************************************************************/
+
+RefreshMatViewStmt:
+ REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data
+ {
+ RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
+ n->concurrent = $4;
+ n->relation = $5;
+ n->skipData = !($6);
+ $$ = (Node *) n;
+ }
+ ;
+
+
+/*****************************************************************************
+ *
+ * QUERY :
* CREATE SEQUENCE seqname
* ALTER SEQUENCE seqname
*
@@ -3245,7 +3532,7 @@ NumericOnly_list: NumericOnly { $$ = list_make1($1); }
*****************************************************************************/
CreatePLangStmt:
- CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE ColId_or_Sconst
+ CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE NonReservedWord_or_Sconst
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
n->replace = $2;
@@ -3257,7 +3544,7 @@ CreatePLangStmt:
n->pltrusted = false;
$$ = (Node *)n;
}
- | CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE ColId_or_Sconst
+ | CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE NonReservedWord_or_Sconst
HANDLER handler_name opt_inline_handler opt_validator
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
@@ -3301,7 +3588,7 @@ opt_validator:
;
DropPLangStmt:
- DROP opt_procedural LANGUAGE ColId_or_Sconst opt_drop_behavior
+ DROP opt_procedural LANGUAGE NonReservedWord_or_Sconst opt_drop_behavior
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
@@ -3312,7 +3599,7 @@ DropPLangStmt:
n->concurrent = false;
$$ = (Node *)n;
}
- | DROP opt_procedural LANGUAGE IF_P EXISTS ColId_or_Sconst opt_drop_behavior
+ | DROP opt_procedural LANGUAGE IF_P EXISTS NonReservedWord_or_Sconst opt_drop_behavior
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
@@ -3336,12 +3623,13 @@ opt_procedural:
*
*****************************************************************************/
-CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION Sconst
+CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION Sconst opt_reloptions
{
CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
n->tablespacename = $3;
n->owner = $4;
n->location = $6;
+ n->options = $7;
$$ = (Node *) n;
}
;
@@ -3414,11 +3702,11 @@ create_extension_opt_item:
{
$$ = makeDefElem("schema", (Node *)makeString($2));
}
- | VERSION_P ColId_or_Sconst
+ | VERSION_P NonReservedWord_or_Sconst
{
$$ = makeDefElem("new_version", (Node *)makeString($2));
}
- | FROM ColId_or_Sconst
+ | FROM NonReservedWord_or_Sconst
{
$$ = makeDefElem("old_version", (Node *)makeString($2));
}
@@ -3447,7 +3735,7 @@ alter_extension_opt_list:
;
alter_extension_opt_item:
- TO ColId_or_Sconst
+ TO NonReservedWord_or_Sconst
{
$$ = makeDefElem("new_version", (Node *)makeString($2));
}
@@ -3467,7 +3755,7 @@ AlterExtensionContentsStmt:
n->action = $4;
n->objtype = OBJECT_AGGREGATE;
n->objname = $6;
- n->objargs = $7;
+ n->objargs = extractAggrArgTypes($7);
$$ = (Node *)n;
}
| ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')'
@@ -3565,6 +3853,15 @@ AlterExtensionContentsStmt:
n->objname = list_make1(makeString($6));
$$ = (Node *)n;
}
+ | ALTER EXTENSION name add_drop EVENT TRIGGER name
+ {
+ AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
+ n->extname = $3;
+ n->action = $4;
+ n->objtype = OBJECT_EVENT_TRIGGER;
+ n->objname = list_make1(makeString($7));
+ $$ = (Node *)n;
+ }
| ALTER EXTENSION name add_drop TABLE any_name
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
@@ -3628,6 +3925,15 @@ AlterExtensionContentsStmt:
n->objname = $6;
$$ = (Node *)n;
}
+ | ALTER EXTENSION name add_drop MATERIALIZED VIEW any_name
+ {
+ AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
+ n->extname = $3;
+ n->action = $4;
+ n->objtype = OBJECT_MATVIEW;
+ n->objname = $7;
+ $$ = (Node *)n;
+ }
| ALTER EXTENSION name add_drop FOREIGN TABLE any_name
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
@@ -3719,7 +4025,7 @@ DropFdwStmt: DROP FOREIGN DATA_P WRAPPER name opt_drop_behavior
$$ = (Node *) n;
}
| DROP FOREIGN DATA_P WRAPPER IF_P EXISTS name opt_drop_behavior
- {
+ {
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FDW;
n->objects = list_make1(list_make1(makeString($7)));
@@ -3881,7 +4187,7 @@ DropForeignServerStmt: DROP SERVER name opt_drop_behavior
$$ = (Node *) n;
}
| DROP SERVER IF_P EXISTS name opt_drop_behavior
- {
+ {
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FOREIGN_SERVER;
n->objects = list_make1(list_make1(makeString($5)));
@@ -3935,57 +4241,37 @@ AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_o
CreateForeignTableStmt:
CREATE FOREIGN TABLE qualified_name
- OptForeignTableElementList
+ '(' OptTableElementList ')'
SERVER name create_generic_options
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
$4->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = $4;
- n->base.tableElts = $5;
+ n->base.tableElts = $6;
n->base.inhRelations = NIL;
n->base.if_not_exists = false;
/* FDW-specific data */
- n->servername = $7;
- n->options = $8;
+ n->servername = $9;
+ n->options = $10;
$$ = (Node *) n;
}
| CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name
- OptForeignTableElementList
+ '(' OptTableElementList ')'
SERVER name create_generic_options
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
$7->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = $7;
- n->base.tableElts = $8;
+ n->base.tableElts = $9;
n->base.inhRelations = NIL;
n->base.if_not_exists = true;
/* FDW-specific data */
- n->servername = $10;
- n->options = $11;
+ n->servername = $12;
+ n->options = $13;
$$ = (Node *) n;
}
;
-OptForeignTableElementList:
- '(' ForeignTableElementList ')' { $$ = $2; }
- | '(' ')' { $$ = NIL; }
- ;
-
-ForeignTableElementList:
- ForeignTableElement
- {
- $$ = list_make1($1);
- }
- | ForeignTableElementList ',' ForeignTableElement
- {
- $$ = lappend($1, $3);
- }
- ;
-
-ForeignTableElement:
- columnDef { $$ = $1; }
- ;
-
/*****************************************************************************
*
* QUERY:
@@ -4297,6 +4583,74 @@ DropTrigStmt:
/*****************************************************************************
*
* QUERIES :
+ * CREATE EVENT TRIGGER ...
+ * ALTER EVENT TRIGGER ...
+ *
+ *****************************************************************************/
+
+CreateEventTrigStmt:
+ CREATE EVENT TRIGGER name ON ColLabel
+ EXECUTE PROCEDURE func_name '(' ')'
+ {
+ CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
+ n->trigname = $4;
+ n->eventname = $6;
+ n->whenclause = NULL;
+ n->funcname = $9;
+ $$ = (Node *)n;
+ }
+ | CREATE EVENT TRIGGER name ON ColLabel
+ WHEN event_trigger_when_list
+ EXECUTE PROCEDURE func_name '(' ')'
+ {
+ CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
+ n->trigname = $4;
+ n->eventname = $6;
+ n->whenclause = $8;
+ n->funcname = $11;
+ $$ = (Node *)n;
+ }
+ ;
+
+event_trigger_when_list:
+ event_trigger_when_item
+ { $$ = list_make1($1); }
+ | event_trigger_when_list AND event_trigger_when_item
+ { $$ = lappend($1, $3); }
+ ;
+
+event_trigger_when_item:
+ ColId IN_P '(' event_trigger_value_list ')'
+ { $$ = makeDefElem($1, (Node *) $4); }
+ ;
+
+event_trigger_value_list:
+ SCONST
+ { $$ = list_make1(makeString($1)); }
+ | event_trigger_value_list ',' SCONST
+ { $$ = lappend($1, makeString($3)); }
+ ;
+
+AlterEventTrigStmt:
+ ALTER EVENT TRIGGER name enable_trigger
+ {
+ AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
+ n->trigname = $4;
+ n->tgenabled = $5;
+ $$ = (Node *) n;
+ }
+ ;
+
+enable_trigger:
+ ENABLE_P { $$ = TRIGGER_FIRES_ON_ORIGIN; }
+ | ENABLE_P REPLICA { $$ = TRIGGER_FIRES_ON_REPLICA; }
+ | ENABLE_P ALWAYS { $$ = TRIGGER_FIRES_ALWAYS; }
+ | DISABLE_P { $$ = TRIGGER_DISABLED; }
+ ;
+
+/*****************************************************************************
+ *
+ * QUERIES :
* CREATE ASSERTION ...
* DROP ASSERTION ...
*
@@ -4502,10 +4856,6 @@ def_arg: func_type { $$ = (Node *)$1; }
| Sconst { $$ = (Node *)makeString($1); }
;
-aggr_args: '(' type_list ')' { $$ = $2; }
- | '(' '*' ')' { $$ = NIL; }
- ;
-
old_aggr_definition: '(' old_aggr_list ')' { $$ = $2; }
;
@@ -4542,35 +4892,42 @@ enum_val_list: Sconst
*****************************************************************************/
AlterEnumStmt:
- ALTER TYPE_P any_name ADD_P VALUE_P Sconst
+ ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = $3;
- n->newVal = $6;
+ n->newVal = $7;
n->newValNeighbor = NULL;
n->newValIsAfter = true;
+ n->skipIfExists = $6;
$$ = (Node *) n;
}
- | ALTER TYPE_P any_name ADD_P VALUE_P Sconst BEFORE Sconst
+ | ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst BEFORE Sconst
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = $3;
- n->newVal = $6;
- n->newValNeighbor = $8;
+ n->newVal = $7;
+ n->newValNeighbor = $9;
n->newValIsAfter = false;
+ n->skipIfExists = $6;
$$ = (Node *) n;
}
- | ALTER TYPE_P any_name ADD_P VALUE_P Sconst AFTER Sconst
+ | ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst AFTER Sconst
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = $3;
- n->newVal = $6;
- n->newValNeighbor = $8;
+ n->newVal = $7;
+ n->newValNeighbor = $9;
n->newValIsAfter = true;
+ n->skipIfExists = $6;
$$ = (Node *) n;
}
;
+opt_if_not_exists: IF_P NOT EXISTS { $$ = true; }
+ | /* empty */ { $$ = false; }
+ ;
+
/*****************************************************************************
*
@@ -4800,7 +5157,7 @@ DropOpFamilyStmt:
*
*****************************************************************************/
DropOwnedStmt:
- DROP OWNED BY name_list opt_drop_behavior
+ DROP OWNED BY role_list opt_drop_behavior
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = $4;
@@ -4810,7 +5167,7 @@ DropOwnedStmt:
;
ReassignOwnedStmt:
- REASSIGN OWNED BY name_list TO name
+ REASSIGN OWNED BY role_list TO name
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = $4;
@@ -4878,8 +5235,10 @@ DropStmt: DROP drop_type IF_P EXISTS any_name_list opt_drop_behavior
drop_type: TABLE { $$ = OBJECT_TABLE; }
| SEQUENCE { $$ = OBJECT_SEQUENCE; }
| VIEW { $$ = OBJECT_VIEW; }
+ | MATERIALIZED VIEW { $$ = OBJECT_MATVIEW; }
| INDEX { $$ = OBJECT_INDEX; }
| FOREIGN TABLE { $$ = OBJECT_FOREIGN_TABLE; }
+ | EVENT TRIGGER { $$ = OBJECT_EVENT_TRIGGER; }
| TYPE_P { $$ = OBJECT_TYPE; }
| DOMAIN_P { $$ = OBJECT_DOMAIN; }
| COLLATION { $$ = OBJECT_COLLATION; }
@@ -4937,19 +5296,25 @@ opt_restart_seqs:
* The COMMENT ON statement can take different forms based upon the type of
* the object associated with the comment. The form of the statement is:
*
- * COMMENT ON [ [ DATABASE | DOMAIN | INDEX | SEQUENCE | TABLE | TYPE | VIEW |
- * COLLATION | CONVERSION | LANGUAGE | OPERATOR CLASS |
- * LARGE OBJECT | CAST | COLUMN | SCHEMA | TABLESPACE |
- * EXTENSION | ROLE | TEXT SEARCH PARSER |
- * TEXT SEARCH DICTIONARY | TEXT SEARCH TEMPLATE |
- * TEXT SEARCH CONFIGURATION | FOREIGN TABLE |
- * FOREIGN DATA WRAPPER | SERVER ] <objname> |
+ * COMMENT ON [ [ CONVERSION | COLLATION | DATABASE | DOMAIN |
+ * EXTENSION | EVENT TRIGGER | FOREIGN DATA WRAPPER |
+ * FOREIGN TABLE | INDEX | [PROCEDURAL] LANGUAGE |
+ * MATERIALIZED VIEW | ROLE | SCHEMA | SEQUENCE |
+ * SERVER | TABLE | TABLESPACE |
+ * TEXT SEARCH CONFIGURATION | TEXT SEARCH DICTIONARY |
+ * TEXT SEARCH PARSER | TEXT SEARCH TEMPLATE | TYPE |
+ * VIEW] <objname> |
* AGGREGATE <aggname> (arg1, ...) |
+ * CAST (<src type> AS <dst type>) |
+ * COLUMN <relname>.<colname> |
+ * CONSTRAINT <constraintname> ON <relname> |
* FUNCTION <funcname> (arg1, arg2, ...) |
+ * LARGE OBJECT <oid> |
* OPERATOR <op> (leftoperand_typ, rightoperand_typ) |
- * TRIGGER <triggername> ON <relname> |
- * CONSTRAINT <constraintname> ON <relname> |
- * RULE <rulename> ON <relname> ]
+ * OPERATOR CLASS <name> USING <access-method> |
+ * OPERATOR FAMILY <name> USING <access-method> |
+ * RULE <rulename> ON <relname> |
+ * TRIGGER <triggername> ON <relname> ]
* IS 'text'
*
*****************************************************************************/
@@ -4969,7 +5334,7 @@ CommentStmt:
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_AGGREGATE;
n->objname = $4;
- n->objargs = $5;
+ n->objargs = extractAggrArgTypes($5);
n->comment = $7;
$$ = (Node *) n;
}
@@ -5073,38 +5438,6 @@ CommentStmt:
n->comment = $7;
$$ = (Node *) n;
}
- | COMMENT ON TEXT_P SEARCH PARSER any_name IS comment_text
- {
- CommentStmt *n = makeNode(CommentStmt);
- n->objtype = OBJECT_TSPARSER;
- n->objname = $6;
- n->comment = $8;
- $$ = (Node *) n;
- }
- | COMMENT ON TEXT_P SEARCH DICTIONARY any_name IS comment_text
- {
- CommentStmt *n = makeNode(CommentStmt);
- n->objtype = OBJECT_TSDICTIONARY;
- n->objname = $6;
- n->comment = $8;
- $$ = (Node *) n;
- }
- | COMMENT ON TEXT_P SEARCH TEMPLATE any_name IS comment_text
- {
- CommentStmt *n = makeNode(CommentStmt);
- n->objtype = OBJECT_TSTEMPLATE;
- n->objname = $6;
- n->comment = $8;
- $$ = (Node *) n;
- }
- | COMMENT ON TEXT_P SEARCH CONFIGURATION any_name IS comment_text
- {
- CommentStmt *n = makeNode(CommentStmt);
- n->objtype = OBJECT_TSCONFIGURATION;
- n->objname = $6;
- n->comment = $8;
- $$ = (Node *) n;
- }
;
comment_type:
@@ -5117,6 +5450,7 @@ comment_type:
| DOMAIN_P { $$ = OBJECT_DOMAIN; }
| TYPE_P { $$ = OBJECT_TYPE; }
| VIEW { $$ = OBJECT_VIEW; }
+ | MATERIALIZED VIEW { $$ = OBJECT_MATVIEW; }
| COLLATION { $$ = OBJECT_COLLATION; }
| CONVERSION_P { $$ = OBJECT_CONVERSION; }
| TABLESPACE { $$ = OBJECT_TABLESPACE; }
@@ -5125,6 +5459,11 @@ comment_type:
| FOREIGN TABLE { $$ = OBJECT_FOREIGN_TABLE; }
| SERVER { $$ = OBJECT_FOREIGN_SERVER; }
| FOREIGN DATA_P WRAPPER { $$ = OBJECT_FDW; }
+ | EVENT TRIGGER { $$ = OBJECT_EVENT_TRIGGER; }
+ | TEXT_P SEARCH CONFIGURATION { $$ = OBJECT_TSCONFIGURATION; }
+ | TEXT_P SEARCH DICTIONARY { $$ = OBJECT_TSDICTIONARY; }
+ | TEXT_P SEARCH PARSER { $$ = OBJECT_TSPARSER; }
+ | TEXT_P SEARCH TEMPLATE { $$ = OBJECT_TSTEMPLATE; }
;
comment_text:
@@ -5161,7 +5500,7 @@ SecLabelStmt:
n->provider = $3;
n->objtype = OBJECT_AGGREGATE;
n->objname = $6;
- n->objargs = $7;
+ n->objargs = extractAggrArgTypes($7);
n->label = $9;
$$ = (Node *) n;
}
@@ -5200,13 +5539,14 @@ SecLabelStmt:
}
;
-opt_provider: FOR ColId_or_Sconst { $$ = $2; }
- | /* empty */ { $$ = NULL; }
+opt_provider: FOR NonReservedWord_or_Sconst { $$ = $2; }
+ | /* empty */ { $$ = NULL; }
;
security_label_type:
COLUMN { $$ = OBJECT_COLUMN; }
| DATABASE { $$ = OBJECT_DATABASE; }
+ | EVENT TRIGGER { $$ = OBJECT_EVENT_TRIGGER; }
| FOREIGN TABLE { $$ = OBJECT_FOREIGN_TABLE; }
| SCHEMA { $$ = OBJECT_SCHEMA; }
| SEQUENCE { $$ = OBJECT_SEQUENCE; }
@@ -5216,6 +5556,7 @@ security_label_type:
| TABLESPACE { $$ = OBJECT_TABLESPACE; }
| TYPE_P { $$ = OBJECT_TYPE; }
| VIEW { $$ = OBJECT_VIEW; }
+ | MATERIALIZED VIEW { $$ = OBJECT_MATVIEW; }
;
security_label: Sconst { $$ = $1; }
@@ -5692,7 +6033,7 @@ function_with_argtypes:
*****************************************************************************/
GrantRoleStmt:
- GRANT privilege_list TO name_list opt_grant_admin_option opt_granted_by
+ GRANT privilege_list TO role_list opt_grant_admin_option opt_granted_by
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
@@ -5705,7 +6046,7 @@ GrantRoleStmt:
;
RevokeRoleStmt:
- REVOKE privilege_list FROM name_list opt_granted_by opt_drop_behavior
+ REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
@@ -5715,7 +6056,7 @@ RevokeRoleStmt:
n->behavior = $6;
$$ = (Node*)n;
}
- | REVOKE ADMIN OPTION FOR privilege_list FROM name_list opt_granted_by opt_drop_behavior
+ | REVOKE ADMIN OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
@@ -5761,11 +6102,11 @@ DefACLOption:
{
$$ = makeDefElem("schemas", (Node *)$3);
}
- | FOR ROLE name_list
+ | FOR ROLE role_list
{
$$ = makeDefElem("roles", (Node *)$3);
}
- | FOR USER name_list
+ | FOR USER role_list
{
$$ = makeDefElem("roles", (Node *)$3);
}
@@ -5901,7 +6242,7 @@ index_elem: ColId opt_collate opt_class opt_asc_desc opt_nulls_order
$$->ordering = $4;
$$->nulls_ordering = $5;
}
- | func_expr opt_collate opt_class opt_asc_desc opt_nulls_order
+ | func_expr_windowless opt_collate opt_class opt_asc_desc opt_nulls_order
{
$$ = makeNode(IndexElem);
$$->name = NULL;
@@ -6146,6 +6487,71 @@ func_arg_with_default:
}
;
+/* Aggregate args can be most things that function args can be */
+aggr_arg: func_arg
+ {
+ if (!($1->mode == FUNC_PARAM_IN ||
+ $1->mode == FUNC_PARAM_VARIADIC))
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("aggregates cannot have output arguments"),
+ parser_errposition(@1)));
+ $$ = $1;
+ }
+ ;
+
+/*
+ * The SQL standard offers no guidance on how to declare aggregate argument
+ * lists, since it doesn't have CREATE AGGREGATE etc. We accept these cases:
+ *
+ * (*) - normal agg with no args
+ * (aggr_arg,...) - normal agg with args
+ * (ORDER BY aggr_arg,...) - ordered-set agg with no direct args
+ * (aggr_arg,... ORDER BY aggr_arg,...) - ordered-set agg with direct args
+ *
+ * The zero-argument case is spelled with '*' for consistency with COUNT(*).
+ *
+ * An additional restriction is that if the direct-args list ends in a
+ * VARIADIC item, the ordered-args list must contain exactly one item that
+ * is also VARIADIC with the same type. This allows us to collapse the two
+ * VARIADIC items into one, which is necessary to represent the aggregate in
+ * pg_proc. We check this at the grammar stage so that we can return a list
+ * in which the second VARIADIC item is already discarded, avoiding extra work
+ * in cases such as DROP AGGREGATE.
+ *
+ * The return value of this production is a two-element list, in which the
+ * first item is a sublist of FunctionParameter nodes (with any duplicate
+ * VARIADIC item already dropped, as per above) and the second is an integer
+ * Value node, containing -1 if there was no ORDER BY and otherwise the number
+ * of argument declarations before the ORDER BY. (If this number is equal
+ * to the first sublist's length, then we dropped a duplicate VARIADIC item.)
+ * This representation is passed as-is to CREATE AGGREGATE; for operations
+ * on existing aggregates, we can just apply extractArgTypes to the first
+ * sublist.
+ */
+aggr_args: '(' '*' ')'
+ {
+ $$ = list_make2(NIL, makeInteger(-1));
+ }
+ | '(' aggr_args_list ')'
+ {
+ $$ = list_make2($2, makeInteger(-1));
+ }
+ | '(' ORDER BY aggr_args_list ')'
+ {
+ $$ = list_make2($4, makeInteger(0));
+ }
+ | '(' aggr_args_list ORDER BY aggr_args_list ')'
+ {
+ /* this is the only case requiring consistency checking */
+ $$ = makeOrderedSetArgs($2, $5, yyscanner);
+ }
+ ;
+
+aggr_args_list:
+ aggr_arg { $$ = list_make1($1); }
+ | aggr_args_list ',' aggr_arg { $$ = lappend($1, $3); }
+ ;
createfunc_opt_list:
/* Must be at least one to prevent conflict */
@@ -6225,7 +6631,7 @@ createfunc_opt_item:
{
$$ = makeDefElem("as", (Node *)$2);
}
- | LANGUAGE ColId_or_Sconst
+ | LANGUAGE NonReservedWord_or_Sconst
{
$$ = makeDefElem("language", (Node *)makeString($2));
}
@@ -6345,7 +6751,7 @@ RemoveAggrStmt:
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = list_make1($3);
- n->arguments = list_make1($4);
+ n->arguments = list_make1(extractAggrArgTypes($4));
n->behavior = $5;
n->missing_ok = false;
n->concurrent = false;
@@ -6356,7 +6762,7 @@ RemoveAggrStmt:
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = list_make1($5);
- n->arguments = list_make1($6);
+ n->arguments = list_make1(extractAggrArgTypes($6));
n->behavior = $7;
n->missing_ok = true;
n->concurrent = false;
@@ -6440,7 +6846,7 @@ dostmt_opt_item:
{
$$ = makeDefElem("as", (Node *)makeString($1));
}
- | LANGUAGE ColId_or_Sconst
+ | LANGUAGE NonReservedWord_or_Sconst
{
$$ = makeDefElem("language", (Node *)makeString($2));
}
@@ -6563,6 +6969,128 @@ opt_force: FORCE { $$ = TRUE; }
/*****************************************************************************
*
+ * ALTER TABLESPACE
+ *
+ *****************************************************************************/
+
+AlterTblSpcStmt: ALTER TABLESPACE name MOVE ALL TO name opt_nowait
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = $3;
+ n->objtype = -1;
+ n->move_all = true;
+ n->roles = NIL;
+ n->new_tablespacename = $7;
+ n->nowait = $8;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name MOVE TABLES TO name opt_nowait
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = $3;
+ n->objtype = OBJECT_TABLE;
+ n->move_all = false;
+ n->roles = NIL;
+ n->new_tablespacename = $7;
+ n->nowait = $8;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name MOVE INDEXES TO name opt_nowait
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = $3;
+ n->objtype = OBJECT_INDEX;
+ n->move_all = false;
+ n->roles = NIL;
+ n->new_tablespacename = $7;
+ n->nowait = $8;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name MOVE MATERIALIZED VIEWS TO name opt_nowait
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = $3;
+ n->objtype = OBJECT_MATVIEW;
+ n->move_all = false;
+ n->roles = NIL;
+ n->new_tablespacename = $8;
+ n->nowait = $9;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name MOVE ALL OWNED BY role_list TO name opt_nowait
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = $3;
+ n->objtype = -1;
+ n->move_all = true;
+ n->roles = $8;
+ n->new_tablespacename = $10;
+ n->nowait = $11;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name MOVE TABLES OWNED BY role_list TO name opt_nowait
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = $3;
+ n->objtype = OBJECT_TABLE;
+ n->move_all = false;
+ n->roles = $8;
+ n->new_tablespacename = $10;
+ n->nowait = $11;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name MOVE INDEXES OWNED BY role_list TO name opt_nowait
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = $3;
+ n->objtype = OBJECT_INDEX;
+ n->move_all = false;
+ n->roles = $8;
+ n->new_tablespacename = $10;
+ n->nowait = $11;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name MOVE MATERIALIZED VIEWS OWNED BY role_list TO name opt_nowait
+ {
+ AlterTableSpaceMoveStmt *n =
+ makeNode(AlterTableSpaceMoveStmt);
+ n->orig_tablespacename = $3;
+ n->objtype = OBJECT_MATVIEW;
+ n->move_all = false;
+ n->roles = $9;
+ n->new_tablespacename = $11;
+ n->nowait = $12;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name SET reloptions
+ {
+ AlterTableSpaceOptionsStmt *n =
+ makeNode(AlterTableSpaceOptionsStmt);
+ n->tablespacename = $3;
+ n->options = $5;
+ n->isReset = FALSE;
+ $$ = (Node *)n;
+ }
+ | ALTER TABLESPACE name RESET reloptions
+ {
+ AlterTableSpaceOptionsStmt *n =
+ makeNode(AlterTableSpaceOptionsStmt);
+ n->tablespacename = $3;
+ n->options = $5;
+ n->isReset = TRUE;
+ $$ = (Node *)n;
+ }
+ ;
+
+/*****************************************************************************
+ *
* ALTER THING name RENAME TO newname
*
*****************************************************************************/
@@ -6572,7 +7100,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_AGGREGATE;
n->object = $3;
- n->objarg = $4;
+ n->objarg = extractAggrArgTypes($4);
n->newname = $7;
n->missing_ok = false;
$$ = (Node *)n;
@@ -6627,7 +7155,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FDW;
- n->subname = $5;
+ n->object = list_make1(makeString($5));
n->newname = $8;
n->missing_ok = false;
$$ = (Node *)n;
@@ -6655,7 +7183,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_LANGUAGE;
- n->subname = $4;
+ n->object = list_make1(makeString($4));
n->newname = $7;
n->missing_ok = false;
$$ = (Node *)n;
@@ -6665,7 +7193,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPCLASS;
n->object = $4;
- n->subname = $6;
+ n->objarg = list_make1(makeString($6));
n->newname = $9;
n->missing_ok = false;
$$ = (Node *)n;
@@ -6675,7 +7203,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPFAMILY;
n->object = $4;
- n->subname = $6;
+ n->objarg = list_make1(makeString($6));
n->newname = $9;
n->missing_ok = false;
$$ = (Node *)n;
@@ -6693,7 +7221,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_SERVER;
- n->subname = $3;
+ n->object = list_make1(makeString($3));
n->newname = $6;
n->missing_ok = false;
$$ = (Node *)n;
@@ -6758,6 +7286,26 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->missing_ok = true;
$$ = (Node *)n;
}
+ | ALTER MATERIALIZED VIEW qualified_name RENAME TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_MATVIEW;
+ n->relation = $4;
+ n->subname = NULL;
+ n->newname = $7;
+ n->missing_ok = false;
+ $$ = (Node *)n;
+ }
+ | ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_MATVIEW;
+ n->relation = $6;
+ n->subname = NULL;
+ n->newname = $9;
+ n->missing_ok = true;
+ $$ = (Node *)n;
+ }
| ALTER INDEX qualified_name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
@@ -6820,6 +7368,28 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->missing_ok = true;
$$ = (Node *)n;
}
+ | ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_COLUMN;
+ n->relationType = OBJECT_MATVIEW;
+ n->relation = $4;
+ n->subname = $7;
+ n->newname = $9;
+ n->missing_ok = false;
+ $$ = (Node *)n;
+ }
+ | ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_COLUMN;
+ n->relationType = OBJECT_MATVIEW;
+ n->relation = $6;
+ n->subname = $9;
+ n->newname = $11;
+ n->missing_ok = true;
+ $$ = (Node *)n;
+ }
| ALTER TABLE relation_expr RENAME CONSTRAINT name TO name
{
RenameStmt *n = makeNode(RenameStmt);
@@ -6852,6 +7422,16 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->missing_ok = true;
$$ = (Node *)n;
}
+ | ALTER RULE name ON qualified_name RENAME TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_RULE;
+ n->relation = $5;
+ n->subname = $3;
+ n->newname = $8;
+ n->missing_ok = false;
+ $$ = (Node *)n;
+ }
| ALTER TRIGGER name ON qualified_name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
@@ -6862,6 +7442,14 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->missing_ok = false;
$$ = (Node *)n;
}
+ | ALTER EVENT TRIGGER name RENAME TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_EVENT_TRIGGER;
+ n->object = list_make1(makeString($4));
+ n->newname = $7;
+ $$ = (Node *)n;
+ }
| ALTER ROLE RoleId RENAME TO RoleId
{
RenameStmt *n = makeNode(RenameStmt);
@@ -6889,24 +7477,6 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->missing_ok = false;
$$ = (Node *)n;
}
- | ALTER TABLESPACE name SET reloptions
- {
- AlterTableSpaceOptionsStmt *n =
- makeNode(AlterTableSpaceOptionsStmt);
- n->tablespacename = $3;
- n->options = $5;
- n->isReset = FALSE;
- $$ = (Node *)n;
- }
- | ALTER TABLESPACE name RESET reloptions
- {
- AlterTableSpaceOptionsStmt *n =
- makeNode(AlterTableSpaceOptionsStmt);
- n->tablespacename = $3;
- n->options = $5;
- n->isReset = TRUE;
- $$ = (Node *)n;
- }
| ALTER TEXT_P SEARCH PARSER any_name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
@@ -6986,7 +7556,7 @@ AlterObjectSchemaStmt:
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = $3;
- n->objarg = $4;
+ n->objarg = extractAggrArgTypes($4);
n->newschema = $7;
n->missing_ok = false;
$$ = (Node *)n;
@@ -7052,7 +7622,7 @@ AlterObjectSchemaStmt:
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPCLASS;
n->object = $4;
- n->addname = $6;
+ n->objarg = list_make1(makeString($6));
n->newschema = $9;
n->missing_ok = false;
$$ = (Node *)n;
@@ -7062,7 +7632,7 @@ AlterObjectSchemaStmt:
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = $4;
- n->addname = $6;
+ n->objarg = list_make1(makeString($6));
n->newschema = $9;
n->missing_ok = false;
$$ = (Node *)n;
@@ -7157,6 +7727,24 @@ AlterObjectSchemaStmt:
n->missing_ok = true;
$$ = (Node *)n;
}
+ | ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name
+ {
+ AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
+ n->objectType = OBJECT_MATVIEW;
+ n->relation = $4;
+ n->newschema = $7;
+ n->missing_ok = false;
+ $$ = (Node *)n;
+ }
+ | ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name
+ {
+ AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
+ n->objectType = OBJECT_MATVIEW;
+ n->relation = $6;
+ n->newschema = $9;
+ n->missing_ok = true;
+ $$ = (Node *)n;
+ }
| ALTER FOREIGN TABLE relation_expr SET SCHEMA name
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
@@ -7197,7 +7785,7 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = $3;
- n->objarg = $4;
+ n->objarg = extractAggrArgTypes($4);
n->newowner = $7;
$$ = (Node *)n;
}
@@ -7272,7 +7860,7 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPCLASS;
n->object = $4;
- n->addname = $6;
+ n->objarg = list_make1(makeString($6));
n->newowner = $9;
$$ = (Node *)n;
}
@@ -7281,7 +7869,7 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = $4;
- n->addname = $6;
+ n->objarg = list_make1(makeString($6));
n->newowner = $9;
$$ = (Node *)n;
}
@@ -7341,6 +7929,14 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
n->newowner = $6;
$$ = (Node *)n;
}
+ | ALTER EVENT TRIGGER name OWNER TO RoleId
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+ n->objectType = OBJECT_EVENT_TRIGGER;
+ n->object = list_make1(makeString($4));
+ n->newowner = $7;
+ $$ = (Node *)n;
+ }
;
@@ -7659,6 +8255,7 @@ ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions
n->query = $8;
n->replace = false;
n->options = $6;
+ n->withCheckOption = $9;
$$ = (Node *) n;
}
| CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions
@@ -7671,30 +8268,52 @@ ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions
n->query = $10;
n->replace = true;
n->options = $8;
+ n->withCheckOption = $11;
$$ = (Node *) n;
}
- ;
-
-opt_check_option:
- WITH CHECK OPTION
- {
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("WITH CHECK OPTION is not implemented")));
- }
- | WITH CASCADED CHECK OPTION
+ | CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions
+ AS SelectStmt opt_check_option
{
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("WITH CHECK OPTION is not implemented")));
+ ViewStmt *n = makeNode(ViewStmt);
+ n->view = $5;
+ n->view->relpersistence = $2;
+ n->aliases = $7;
+ n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, $11);
+ n->replace = false;
+ n->options = $9;
+ n->withCheckOption = $12;
+ if (n->withCheckOption != NO_CHECK_OPTION)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("WITH CHECK OPTION not supported on recursive views"),
+ parser_errposition(@12)));
+ $$ = (Node *) n;
}
- | WITH LOCAL CHECK OPTION
+ | CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions
+ AS SelectStmt opt_check_option
{
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("WITH CHECK OPTION is not implemented")));
+ ViewStmt *n = makeNode(ViewStmt);
+ n->view = $7;
+ n->view->relpersistence = $4;
+ n->aliases = $9;
+ n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, $13);
+ n->replace = true;
+ n->options = $11;
+ n->withCheckOption = $14;
+ if (n->withCheckOption != NO_CHECK_OPTION)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("WITH CHECK OPTION not supported on recursive views"),
+ parser_errposition(@14)));
+ $$ = (Node *) n;
}
- | /* EMPTY */ { $$ = NIL; }
+ ;
+
+opt_check_option:
+ WITH CHECK OPTION { $$ = CASCADED_CHECK_OPTION; }
+ | WITH CASCADED CHECK OPTION { $$ = CASCADED_CHECK_OPTION; }
+ | WITH LOCAL CHECK OPTION { $$ = LOCAL_CHECK_OPTION; }
+ | /* EMPTY */ { $$ = NO_CHECK_OPTION; }
;
/*****************************************************************************
@@ -7884,6 +8503,23 @@ DropdbStmt: DROP DATABASE database_name
/*****************************************************************************
*
+ * ALTER SYSTEM SET
+ *
+ * This is used to change configuration parameters persistently.
+ *****************************************************************************/
+
+AlterSystemStmt:
+ ALTER SYSTEM_P SET generic_set
+ {
+ AlterSystemStmt *n = makeNode(AlterSystemStmt);
+ n->setstmt = $4;
+ $$ = (Node *)n;
+ }
+ ;
+
+
+/*****************************************************************************
+ *
* Manipulate a domain
*
*****************************************************************************/
@@ -8133,6 +8769,8 @@ VacuumStmt: VACUUM opt_full opt_freeze opt_verbose
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = $3 ? 0 : -1;
n->freeze_table_age = $3 ? 0 : -1;
+ n->multixact_freeze_min_age = $3 ? 0 : -1;
+ n->multixact_freeze_table_age = $3 ? 0 : -1;
n->relation = NULL;
n->va_cols = NIL;
$$ = (Node *)n;
@@ -8147,6 +8785,8 @@ VacuumStmt: VACUUM opt_full opt_freeze opt_verbose
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = $3 ? 0 : -1;
n->freeze_table_age = $3 ? 0 : -1;
+ n->multixact_freeze_min_age = $3 ? 0 : -1;
+ n->multixact_freeze_table_age = $3 ? 0 : -1;
n->relation = $5;
n->va_cols = NIL;
$$ = (Node *)n;
@@ -8161,6 +8801,8 @@ VacuumStmt: VACUUM opt_full opt_freeze opt_verbose
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = $3 ? 0 : -1;
n->freeze_table_age = $3 ? 0 : -1;
+ n->multixact_freeze_min_age = $3 ? 0 : -1;
+ n->multixact_freeze_table_age = $3 ? 0 : -1;
$$ = (Node *)n;
}
| VACUUM '(' vacuum_option_list ')'
@@ -8168,9 +8810,17 @@ VacuumStmt: VACUUM opt_full opt_freeze opt_verbose
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM | $3;
if (n->options & VACOPT_FREEZE)
+ {
n->freeze_min_age = n->freeze_table_age = 0;
+ n->multixact_freeze_min_age = 0;
+ n->multixact_freeze_table_age = 0;
+ }
else
+ {
n->freeze_min_age = n->freeze_table_age = -1;
+ n->multixact_freeze_min_age = -1;
+ n->multixact_freeze_table_age = -1;
+ }
n->relation = NULL;
n->va_cols = NIL;
$$ = (Node *) n;
@@ -8180,9 +8830,17 @@ VacuumStmt: VACUUM opt_full opt_freeze opt_verbose
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM | $3;
if (n->options & VACOPT_FREEZE)
+ {
n->freeze_min_age = n->freeze_table_age = 0;
+ n->multixact_freeze_min_age = 0;
+ n->multixact_freeze_table_age = 0;
+ }
else
+ {
n->freeze_min_age = n->freeze_table_age = -1;
+ n->multixact_freeze_min_age = -1;
+ n->multixact_freeze_table_age = -1;
+ }
n->relation = $5;
n->va_cols = $6;
if (n->va_cols != NIL) /* implies analyze */
@@ -8212,6 +8870,8 @@ AnalyzeStmt:
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = -1;
n->freeze_table_age = -1;
+ n->multixact_freeze_min_age = -1;
+ n->multixact_freeze_table_age = -1;
n->relation = NULL;
n->va_cols = NIL;
$$ = (Node *)n;
@@ -8224,6 +8884,8 @@ AnalyzeStmt:
n->options |= VACOPT_VERBOSE;
n->freeze_min_age = -1;
n->freeze_table_age = -1;
+ n->multixact_freeze_min_age = -1;
+ n->multixact_freeze_table_age = -1;
n->relation = $3;
n->va_cols = $4;
$$ = (Node *)n;
@@ -8303,6 +8965,8 @@ ExplainableStmt:
| DeleteStmt
| DeclareCursorStmt
| CreateAsStmt
+ | CreateMatViewStmt
+ | RefreshMatViewStmt
| ExecuteStmt /* by default all are $$=$1 */
;
@@ -8325,9 +8989,8 @@ explain_option_elem:
;
explain_option_name:
- ColId { $$ = $1; }
+ NonReservedWord { $$ = $1; }
| analyze_keyword { $$ = "analyze"; }
- | VERBOSE { $$ = "verbose"; }
;
explain_option_arg:
@@ -8387,6 +9050,7 @@ ExecuteStmt: EXECUTE name execute_param_clause
n->params = $8;
ctas->query = (Node *) n;
ctas->into = $4;
+ ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
/* cram additional flags into the IntoClause */
$4->rel->relpersistence = $2;
@@ -8735,9 +9399,10 @@ select_with_parens:
* The duplicative productions are annoying, but hard to get rid of without
* creating shift/reduce conflicts.
*
- * FOR UPDATE/SHARE may be before or after LIMIT/OFFSET.
+ * The locking clause (FOR UPDATE etc) may be before or after LIMIT/OFFSET.
* In <=7.2.X, LIMIT/OFFSET had to be after FOR UPDATE
- * We now support both orderings, but prefer LIMIT/OFFSET before FOR UPDATE/SHARE
+ * We now support both orderings, but prefer LIMIT/OFFSET before the locking
+ * clause.
* 2002-08-28 bjm
*/
select_no_parens:
@@ -8813,7 +9478,7 @@ select_clause:
* As with select_no_parens, simple_select cannot have outer parentheses,
* but can have parenthesized subclauses.
*
- * Note that sort clauses cannot be included at this level --- SQL92 requires
+ * Note that sort clauses cannot be included at this level --- SQL requires
* SELECT foo UNION SELECT bar ORDER BY baz
* to be parsed as
* (SELECT foo UNION SELECT bar) ORDER BY baz
@@ -8828,7 +9493,7 @@ select_clause:
* However, this is not checked by the grammar; parse analysis must check it.
*/
simple_select:
- SELECT opt_distinct target_list
+ SELECT opt_distinct opt_target_list
into_clause from_clause where_clause
group_clause having_clause window_clause
{
@@ -8932,6 +9597,7 @@ into_clause:
$$->options = NIL;
$$->onCommit = ONCOMMIT_NOOP;
$$->tableSpaceName = NULL;
+ $$->viewQuery = NULL;
$$->skipData = false;
}
| /*EMPTY*/
@@ -9156,24 +9822,23 @@ for_locking_items:
;
for_locking_item:
- FOR UPDATE locked_rels_list opt_nowait
- {
- LockingClause *n = makeNode(LockingClause);
- n->lockedRels = $3;
- n->forUpdate = TRUE;
- n->noWait = $4;
- $$ = (Node *) n;
- }
- | FOR SHARE locked_rels_list opt_nowait
+ for_locking_strength locked_rels_list opt_nowait
{
LockingClause *n = makeNode(LockingClause);
- n->lockedRels = $3;
- n->forUpdate = FALSE;
- n->noWait = $4;
+ n->lockedRels = $2;
+ n->strength = $1;
+ n->noWait = $3;
$$ = (Node *) n;
}
;
+for_locking_strength:
+ FOR UPDATE { $$ = LCS_FORUPDATE; }
+ | FOR NO KEY UPDATE { $$ = LCS_FORNOKEYUPDATE; }
+ | FOR SHARE { $$ = LCS_FORSHARE; }
+ | FOR KEY SHARE { $$ = LCS_FORKEYSHARE; }
+ ;
+
locked_rels_list:
OF qualified_name_list { $$ = $2; }
| /* EMPTY */ { $$ = NIL; }
@@ -9215,65 +9880,34 @@ from_list:
;
/*
- * table_ref is where an alias clause can be attached. Note we cannot make
- * alias_clause have an empty production because that causes parse conflicts
- * between table_ref := '(' joined_table ')' alias_clause
- * and joined_table := '(' joined_table ')'. So, we must have the
- * redundant-looking productions here instead.
+ * table_ref is where an alias clause can be attached.
*/
-table_ref: relation_expr
- {
- $$ = (Node *) $1;
- }
- | relation_expr alias_clause
+table_ref: relation_expr opt_alias_clause
{
$1->alias = $2;
$$ = (Node *) $1;
}
- | func_table
- {
- RangeFunction *n = makeNode(RangeFunction);
- n->funccallnode = $1;
- n->coldeflist = NIL;
- $$ = (Node *) n;
- }
- | func_table alias_clause
- {
- RangeFunction *n = makeNode(RangeFunction);
- n->funccallnode = $1;
- n->alias = $2;
- n->coldeflist = NIL;
- $$ = (Node *) n;
- }
- | func_table AS '(' TableFuncElementList ')'
+ | func_table func_alias_clause
{
- RangeFunction *n = makeNode(RangeFunction);
- n->funccallnode = $1;
- n->coldeflist = $4;
+ RangeFunction *n = (RangeFunction *) $1;
+ n->alias = linitial($2);
+ n->coldeflist = lsecond($2);
$$ = (Node *) n;
}
- | func_table AS ColId '(' TableFuncElementList ')'
+ | LATERAL_P func_table func_alias_clause
{
- RangeFunction *n = makeNode(RangeFunction);
- Alias *a = makeNode(Alias);
- n->funccallnode = $1;
- a->aliasname = $3;
- n->alias = a;
- n->coldeflist = $5;
+ RangeFunction *n = (RangeFunction *) $2;
+ n->lateral = true;
+ n->alias = linitial($3);
+ n->coldeflist = lsecond($3);
$$ = (Node *) n;
}
- | func_table ColId '(' TableFuncElementList ')'
- {
- RangeFunction *n = makeNode(RangeFunction);
- Alias *a = makeNode(Alias);
- n->funccallnode = $1;
- a->aliasname = $2;
- n->alias = a;
- n->coldeflist = $4;
- $$ = (Node *) n;
- }
- | select_with_parens
+ | select_with_parens opt_alias_clause
{
+ RangeSubselect *n = makeNode(RangeSubselect);
+ n->lateral = false;
+ n->subquery = $1;
+ n->alias = $2;
/*
* The SQL spec does not permit a subselect
* (<derived_table>) without an alias clause,
@@ -9285,26 +9919,47 @@ table_ref: relation_expr
* However, it does seem like a good idea to emit
* an error message that's better than "syntax error".
*/
- if (IsA($1, SelectStmt) &&
- ((SelectStmt *) $1)->valuesLists)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("VALUES in FROM must have an alias"),
- errhint("For example, FROM (VALUES ...) [AS] foo."),
- parser_errposition(@1)));
- else
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("subquery in FROM must have an alias"),
- errhint("For example, FROM (SELECT ...) [AS] foo."),
- parser_errposition(@1)));
- $$ = NULL;
+ if ($2 == NULL)
+ {
+ if (IsA($1, SelectStmt) &&
+ ((SelectStmt *) $1)->valuesLists)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("VALUES in FROM must have an alias"),
+ errhint("For example, FROM (VALUES ...) [AS] foo."),
+ parser_errposition(@1)));
+ else
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("subquery in FROM must have an alias"),
+ errhint("For example, FROM (SELECT ...) [AS] foo."),
+ parser_errposition(@1)));
+ }
+ $$ = (Node *) n;
}
- | select_with_parens alias_clause
+ | LATERAL_P select_with_parens opt_alias_clause
{
RangeSubselect *n = makeNode(RangeSubselect);
- n->subquery = $1;
- n->alias = $2;
+ n->lateral = true;
+ n->subquery = $2;
+ n->alias = $3;
+ /* same coment as above */
+ if ($3 == NULL)
+ {
+ if (IsA($2, SelectStmt) &&
+ ((SelectStmt *) $2)->valuesLists)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("VALUES in FROM must have an alias"),
+ errhint("For example, FROM (VALUES ...) [AS] foo."),
+ parser_errposition(@2)));
+ else
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("subquery in FROM must have an alias"),
+ errhint("For example, FROM (SELECT ...) [AS] foo."),
+ parser_errposition(@2)));
+ }
$$ = (Node *) n;
}
| joined_table
@@ -9321,7 +9976,7 @@ table_ref: relation_expr
/*
* It may seem silly to separate joined_table from table_ref, but there is
- * method in SQL92's madness: if you don't do it this way you get reduce-
+ * method in SQL's madness: if you don't do it this way you get reduce-
* reduce conflicts, because it's not clear to the parser generator whether
* to expect alias_clause after ')' or not. For the same reason we must
* treat 'JOIN' and 'join_type JOIN' separately, rather than allowing
@@ -9430,6 +10085,41 @@ alias_clause:
}
;
+opt_alias_clause: alias_clause { $$ = $1; }
+ | /*EMPTY*/ { $$ = NULL; }
+ ;
+
+/*
+ * func_alias_clause can include both an Alias and a coldeflist, so we make it
+ * return a 2-element list that gets disassembled by calling production.
+ */
+func_alias_clause:
+ alias_clause
+ {
+ $$ = list_make2($1, NIL);
+ }
+ | AS '(' TableFuncElementList ')'
+ {
+ $$ = list_make2(NULL, $3);
+ }
+ | AS ColId '(' TableFuncElementList ')'
+ {
+ Alias *a = makeNode(Alias);
+ a->aliasname = $2;
+ $$ = list_make2(a, $4);
+ }
+ | ColId '(' TableFuncElementList ')'
+ {
+ Alias *a = makeNode(Alias);
+ a->aliasname = $1;
+ $$ = list_make2(a, $3);
+ }
+ | /*EMPTY*/
+ {
+ $$ = list_make2(NULL, NIL);
+ }
+ ;
+
join_type: FULL join_outer { $$ = JOIN_FULL; }
| LEFT join_outer { $$ = JOIN_LEFT; }
| RIGHT join_outer { $$ = JOIN_RIGHT; }
@@ -9522,8 +10212,55 @@ relation_expr_opt_alias: relation_expr %prec UMINUS
}
;
+/*
+ * func_table represents a function invocation in a FROM list. It can be
+ * a plain function call, like "foo(...)", or a ROWS FROM expression with
+ * one or more function calls, "ROWS FROM (foo(...), bar(...))",
+ * optionally with WITH ORDINALITY attached.
+ * In the ROWS FROM syntax, a column definition list can be given for each
+ * function, for example:
+ * ROWS FROM (foo() AS (foo_res_a text, foo_res_b text),
+ * bar() AS (bar_res_a text, bar_res_b text))
+ * It's also possible to attach a column definition list to the RangeFunction
+ * as a whole, but that's handled by the table_ref production.
+ */
+func_table: func_expr_windowless opt_ordinality
+ {
+ RangeFunction *n = makeNode(RangeFunction);
+ n->lateral = false;
+ n->ordinality = $2;
+ n->is_rowsfrom = false;
+ n->functions = list_make1(list_make2($1, NIL));
+ /* alias and coldeflist are set by table_ref production */
+ $$ = (Node *) n;
+ }
+ | ROWS FROM '(' rowsfrom_list ')' opt_ordinality
+ {
+ RangeFunction *n = makeNode(RangeFunction);
+ n->lateral = false;
+ n->ordinality = $6;
+ n->is_rowsfrom = true;
+ n->functions = $4;
+ /* alias and coldeflist are set by table_ref production */
+ $$ = (Node *) n;
+ }
+ ;
+
+rowsfrom_item: func_expr_windowless opt_col_def_list
+ { $$ = list_make2($1, $2); }
+ ;
+
+rowsfrom_list:
+ rowsfrom_item { $$ = list_make1($1); }
+ | rowsfrom_list ',' rowsfrom_item { $$ = lappend($1, $3); }
+ ;
-func_table: func_expr { $$ = $1; }
+opt_col_def_list: AS '(' TableFuncElementList ')' { $$ = $3; }
+ | /*EMPTY*/ { $$ = NIL; }
+ ;
+
+opt_ordinality: WITH_ORDINALITY { $$ = true; }
+ | /*EMPTY*/ { $$ = false; }
;
@@ -9578,6 +10315,7 @@ TableFuncElement: ColId Typename opt_collate_clause
n->collClause = (CollateClause *) $3;
n->collOid = InvalidOid;
n->constraints = NIL;
+ n->location = @1;
$$ = (Node *)n;
}
;
@@ -9585,7 +10323,7 @@ TableFuncElement: ColId Typename opt_collate_clause
/*****************************************************************************
*
* Type syntax
- * SQL92 introduces a large amount of type-specific syntax.
+ * SQL introduces a large amount of type-specific syntax.
* Define individual clauses to handle these cases, and use
* the generic case to handle regular type-extensible Postgres syntax.
* - thomas 1997-10-10
@@ -9711,7 +10449,7 @@ opt_type_modifiers: '(' expr_list ')' { $$ = $2; }
;
/*
- * SQL92 numeric data types
+ * SQL numeric data types
*/
Numeric: INT_P
{
@@ -9801,7 +10539,7 @@ opt_float: '(' Iconst ')'
;
/*
- * SQL92 bit-field data types
+ * SQL bit-field data types
* The following implements BIT() and BIT VARYING().
*/
Bit: BitWithLength
@@ -9858,7 +10596,7 @@ BitWithoutLength:
/*
- * SQL92 character data types
+ * SQL character data types
* The following implements CHAR() and VARCHAR().
*/
Character: CharacterWithLength
@@ -9878,7 +10616,7 @@ ConstCharacter: CharacterWithLength
| CharacterWithoutLength
{
/* Length was not specified so allow to be unrestricted.
- * This handles problems with fixed-length (char) strings
+ * This handles problems with fixed-length (bpchar) strings
* which in column definitions must default to a length
* of one, but should not be constrained if the length
* was not specified.
@@ -9891,15 +10629,7 @@ ConstCharacter: CharacterWithLength
CharacterWithLength: character '(' Iconst ')' opt_charset
{
if (($5 != NULL) && (strcmp($5, "sql_text") != 0))
- {
- char *type;
-
- type = palloc(strlen($1) + 1 + strlen($5) + 1);
- strcpy(type, $1);
- strcat(type, "_");
- strcat(type, $5);
- $1 = type;
- }
+ $1 = psprintf("%s_%s", $1, $5);
$$ = SystemTypeName($1);
$$->typmods = list_make1(makeIntConst($3, @3));
@@ -9910,20 +10640,12 @@ CharacterWithLength: character '(' Iconst ')' opt_charset
CharacterWithoutLength: character opt_charset
{
if (($2 != NULL) && (strcmp($2, "sql_text") != 0))
- {
- char *type;
-
- type = palloc(strlen($1) + 1 + strlen($2) + 1);
- strcpy(type, $1);
- strcat(type, "_");
- strcat(type, $2);
- $1 = type;
- }
+ $1 = psprintf("%s_%s", $1, $2);
$$ = SystemTypeName($1);
/* char defaults to char(1), varchar to no limit */
- if (strcmp($1, "char") == 0)
+ if (strcmp($1, "bpchar") == 0)
$$->typmods = list_make1(makeIntConst(1, -1));
$$->location = @1;
@@ -9931,17 +10653,17 @@ CharacterWithoutLength: character opt_charset
;
character: CHARACTER opt_varying
- { $$ = $2 ? "varchar": "char"; }
+ { $$ = $2 ? "varchar": "bpchar"; }
| CHAR_P opt_varying
- { $$ = $2 ? "varchar": "char"; }
+ { $$ = $2 ? "varchar": "bpchar"; }
| VARCHAR
{ $$ = "varchar"; }
| NATIONAL CHARACTER opt_varying
- { $$ = $3 ? "varchar": "char"; }
+ { $$ = $3 ? "varchar": "bpchar"; }
| NATIONAL CHAR_P opt_varying
- { $$ = $3 ? "varchar": "char"; }
+ { $$ = $3 ? "varchar": "bpchar"; }
| NCHAR opt_varying
- { $$ = $2 ? "varchar": "char"; }
+ { $$ = $2 ? "varchar": "bpchar"; }
;
opt_varying:
@@ -9955,7 +10677,7 @@ opt_charset:
;
/*
- * SQL92 date/time types
+ * SQL date/time types
*/
ConstDatetime:
TIMESTAMP '(' Iconst ')' opt_timezone
@@ -10115,16 +10837,9 @@ a_expr: c_expr { $$ = $1; }
}
| a_expr AT TIME ZONE a_expr %prec AT
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("timezone");
- n->args = list_make2($5, $1);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
- $$ = (Node *) n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("timezone"),
+ list_make2($5, $1),
+ @2);
}
/*
* These operators must be called out explicitly in order to make use
@@ -10176,118 +10891,70 @@ a_expr: c_expr { $$ = $1; }
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", $1, $3, @2); }
| a_expr LIKE a_expr ESCAPE a_expr
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("like_escape");
- n->args = list_make2($3, $5);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2($3, $5),
+ @2);
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", $1, (Node *) n, @2);
}
| a_expr NOT LIKE a_expr
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", $1, $4, @2); }
| a_expr NOT LIKE a_expr ESCAPE a_expr
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("like_escape");
- n->args = list_make2($4, $6);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2($4, $6),
+ @2);
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", $1, (Node *) n, @2);
}
| a_expr ILIKE a_expr
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", $1, $3, @2); }
| a_expr ILIKE a_expr ESCAPE a_expr
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("like_escape");
- n->args = list_make2($3, $5);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2($3, $5),
+ @2);
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", $1, (Node *) n, @2);
}
| a_expr NOT ILIKE a_expr
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", $1, $4, @2); }
| a_expr NOT ILIKE a_expr ESCAPE a_expr
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("like_escape");
- n->args = list_make2($4, $6);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2($4, $6),
+ @2);
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", $1, (Node *) n, @2);
}
| a_expr SIMILAR TO a_expr %prec SIMILAR
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2($4, makeNullAConst(-1));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
+ list_make2($4, makeNullAConst(-1)),
+ @2);
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", $1, (Node *) n, @2);
}
| a_expr SIMILAR TO a_expr ESCAPE a_expr
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2($4, $6);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
+ list_make2($4, $6),
+ @2);
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", $1, (Node *) n, @2);
}
| a_expr NOT SIMILAR TO a_expr %prec SIMILAR
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2($5, makeNullAConst(-1));
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
+ list_make2($5, makeNullAConst(-1)),
+ @2);
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2);
}
| a_expr NOT SIMILAR TO a_expr ESCAPE a_expr
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2($5, $7);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @2;
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
+ list_make2($5, $7),
+ @2);
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2);
}
/* NullTest clause
- * Define SQL92-style Null test clause.
+ * Define SQL-style Null test clause.
* Allow two forms described in the standard:
* a IS NULL
* a IS NOT NULL
@@ -10325,7 +10992,19 @@ a_expr: c_expr { $$ = $1; }
}
| row OVERLAPS row
{
- $$ = (Node *)makeOverlaps($1, $3, @2, yyscanner);
+ if (list_length($1) != 2)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("wrong number of parameters on left side of OVERLAPS expression"),
+ parser_errposition(@1)));
+ if (list_length($3) != 2)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("wrong number of parameters on right side of OVERLAPS expression"),
+ parser_errposition(@3)));
+ $$ = (Node *) makeFuncCall(SystemFuncName("overlaps"),
+ list_concat($1, $3),
+ @2);
}
| a_expr IS TRUE_P %prec IS
{
@@ -10707,144 +11386,134 @@ c_expr: columnref { $$ = $1; }
}
;
-/*
- * func_expr is split out from c_expr just so that we have a classification
- * for "everything that is a function call or looks like one". This isn't
- * very important, but it saves us having to document which variants are
- * legal in the backwards-compatible functional-index syntax for CREATE INDEX.
- * (Note that many of the special SQL functions wouldn't actually make any
- * sense as functional index entries, but we ignore that consideration here.)
- */
-func_expr: func_name '(' ')' over_clause
+func_application: func_name '(' ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = $1;
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = $4;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall($1, NIL, @1);
}
- | func_name '(' func_arg_list ')' over_clause
+ | func_name '(' func_arg_list opt_sort_clause ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = $1;
- n->args = $3;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = $5;
- n->location = @1;
+ FuncCall *n = makeFuncCall($1, $3, @1);
+ n->agg_order = $4;
$$ = (Node *)n;
}
- | func_name '(' VARIADIC func_arg_expr ')' over_clause
+ | func_name '(' VARIADIC func_arg_expr opt_sort_clause ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = $1;
- n->args = list_make1($4);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
+ FuncCall *n = makeFuncCall($1, list_make1($4), @1);
n->func_variadic = TRUE;
- n->over = $6;
- n->location = @1;
+ n->agg_order = $5;
$$ = (Node *)n;
}
- | func_name '(' func_arg_list ',' VARIADIC func_arg_expr ')' over_clause
+ | func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = $1;
- n->args = lappend($3, $6);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
+ FuncCall *n = makeFuncCall($1, lappend($3, $6), @1);
n->func_variadic = TRUE;
- n->over = $8;
- n->location = @1;
- $$ = (Node *)n;
- }
- | func_name '(' func_arg_list sort_clause ')' over_clause
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = $1;
- n->args = $3;
- n->agg_order = $4;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = $6;
- n->location = @1;
+ n->agg_order = $7;
$$ = (Node *)n;
}
- | func_name '(' ALL func_arg_list opt_sort_clause ')' over_clause
+ | func_name '(' ALL func_arg_list opt_sort_clause ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = $1;
- n->args = $4;
+ FuncCall *n = makeFuncCall($1, $4, @1);
n->agg_order = $5;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
/* Ideally we'd mark the FuncCall node to indicate
* "must be an aggregate", but there's no provision
* for that in FuncCall at the moment.
*/
- n->func_variadic = FALSE;
- n->over = $7;
- n->location = @1;
$$ = (Node *)n;
}
- | func_name '(' DISTINCT func_arg_list opt_sort_clause ')' over_clause
+ | func_name '(' DISTINCT func_arg_list opt_sort_clause ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = $1;
- n->args = $4;
+ FuncCall *n = makeFuncCall($1, $4, @1);
n->agg_order = $5;
- n->agg_star = FALSE;
n->agg_distinct = TRUE;
- n->func_variadic = FALSE;
- n->over = $7;
- n->location = @1;
$$ = (Node *)n;
}
- | func_name '(' '*' ')' over_clause
+ | func_name '(' '*' ')'
{
/*
* We consider AGGREGATE(*) to invoke a parameterless
* aggregate. This does the right thing for COUNT(*),
- * and there are no other aggregates in SQL92 that accept
+ * and there are no other aggregates in SQL that accept
* '*' as parameter.
*
* The FuncCall node is also marked agg_star = true,
* so that later processing can detect what the argument
* really was.
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = $1;
- n->args = NIL;
- n->agg_order = NIL;
+ FuncCall *n = makeFuncCall($1, NIL, @1);
n->agg_star = TRUE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = $5;
- n->location = @1;
$$ = (Node *)n;
}
- | COLLATION FOR '(' a_expr ')'
+ ;
+
+
+/*
+ * func_expr and its cousin func_expr_windowless are split out from c_expr just
+ * so that we have classifications for "everything that is a function call or
+ * looks like one". This isn't very important, but it saves us having to
+ * document which variants are legal in places like "FROM function()" or the
+ * backwards-compatible functional-index syntax for CREATE INDEX.
+ * (Note that many of the special SQL functions wouldn't actually make any
+ * sense as functional index entries, but we ignore that consideration here.)
+ */
+func_expr: func_application within_group_clause filter_clause over_clause
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("pg_collation_for");
- n->args = list_make1($4);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ FuncCall *n = (FuncCall *) $1;
+ /*
+ * The order clause for WITHIN GROUP and the one for
+ * plain-aggregate ORDER BY share a field, so we have to
+ * check here that at most one is present. We also check
+ * for DISTINCT and VARIADIC here to give a better error
+ * location. Other consistency checks are deferred to
+ * parse analysis.
+ */
+ if ($2 != NIL)
+ {
+ if (n->agg_order != NIL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
+ parser_errposition(@2)));
+ if (n->agg_distinct)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("cannot use DISTINCT with WITHIN GROUP"),
+ parser_errposition(@2)));
+ if (n->func_variadic)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("cannot use VARIADIC with WITHIN GROUP"),
+ parser_errposition(@2)));
+ n->agg_order = $2;
+ n->agg_within_group = TRUE;
+ }
+ n->agg_filter = $3;
+ n->over = $4;
+ $$ = (Node *) n;
+ }
+ | func_expr_common_subexpr
+ { $$ = $1; }
+ ;
+
+/*
+ * As func_expr but does not accept WINDOW functions directly
+ * (but they can still be contained in arguments for functions etc).
+ * Use this when window expressions are not allowed, where needed to
+ * disambiguate the grammar (e.g. in CREATE INDEX).
+ */
+func_expr_windowless:
+ func_application { $$ = $1; }
+ | func_expr_common_subexpr { $$ = $1; }
+ ;
+
+/*
+ * Special expressions that are considered to be functions.
+ */
+func_expr_common_subexpr:
+ COLLATION FOR '(' a_expr ')'
+ {
+ $$ = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
+ list_make1($4),
+ @1);
}
| CURRENT_DATE
{
@@ -10862,10 +11531,15 @@ func_expr: func_name '(' ')' over_clause
* of type-input conversion functions. (As of PG 7.3
* that is actually possible, but not clear that we want
* to rely on it.)
+ *
+ * The token location is attached to the run-time
+ * typecast, not to the Const, for the convenience of
+ * pg_stat_statements (which doesn't want these constructs
+ * to appear to be replaceable constants).
*/
Node *n;
- n = makeStringConstCast("now", @1, SystemTypeName("text"));
- $$ = makeTypeCast(n, SystemTypeName("date"), -1);
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
+ $$ = makeTypeCast(n, SystemTypeName("date"), @1);
}
| CURRENT_TIME
{
@@ -10874,8 +11548,8 @@ func_expr: func_name '(' ')' over_clause
* See comments for CURRENT_DATE.
*/
Node *n;
- n = makeStringConstCast("now", @1, SystemTypeName("text"));
- $$ = makeTypeCast(n, SystemTypeName("timetz"), -1);
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
+ $$ = makeTypeCast(n, SystemTypeName("timetz"), @1);
}
| CURRENT_TIME '(' Iconst ')'
{
@@ -10885,10 +11559,10 @@ func_expr: func_name '(' ')' over_clause
*/
Node *n;
TypeName *d;
- n = makeStringConstCast("now", @1, SystemTypeName("text"));
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timetz");
d->typmods = list_make1(makeIntConst($3, @3));
- $$ = makeTypeCast(n, d, -1);
+ $$ = makeTypeCast(n, d, @1);
}
| CURRENT_TIMESTAMP
{
@@ -10896,16 +11570,7 @@ func_expr: func_name '(' ')' over_clause
* Translate as "now()", since we have a function that
* does exactly what is needed.
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("now");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("now"), NIL, @1);
}
| CURRENT_TIMESTAMP '(' Iconst ')'
{
@@ -10915,10 +11580,10 @@ func_expr: func_name '(' ')' over_clause
*/
Node *n;
TypeName *d;
- n = makeStringConstCast("now", @1, SystemTypeName("text"));
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timestamptz");
d->typmods = list_make1(makeIntConst($3, @3));
- $$ = makeTypeCast(n, d, -1);
+ $$ = makeTypeCast(n, d, @1);
}
| LOCALTIME
{
@@ -10927,8 +11592,8 @@ func_expr: func_name '(' ')' over_clause
* See comments for CURRENT_DATE.
*/
Node *n;
- n = makeStringConstCast("now", @1, SystemTypeName("text"));
- $$ = makeTypeCast((Node *)n, SystemTypeName("time"), -1);
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
+ $$ = makeTypeCast((Node *)n, SystemTypeName("time"), @1);
}
| LOCALTIME '(' Iconst ')'
{
@@ -10938,10 +11603,10 @@ func_expr: func_name '(' ')' over_clause
*/
Node *n;
TypeName *d;
- n = makeStringConstCast("now", @1, SystemTypeName("text"));
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("time");
d->typmods = list_make1(makeIntConst($3, @3));
- $$ = makeTypeCast((Node *)n, d, -1);
+ $$ = makeTypeCast((Node *)n, d, @1);
}
| LOCALTIMESTAMP
{
@@ -10950,8 +11615,8 @@ func_expr: func_name '(' ')' over_clause
* See comments for CURRENT_DATE.
*/
Node *n;
- n = makeStringConstCast("now", @1, SystemTypeName("text"));
- $$ = makeTypeCast(n, SystemTypeName("timestamp"), -1);
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
+ $$ = makeTypeCast(n, SystemTypeName("timestamp"), @1);
}
| LOCALTIMESTAMP '(' Iconst ')'
{
@@ -10961,103 +11626,40 @@ func_expr: func_name '(' ')' over_clause
*/
Node *n;
TypeName *d;
- n = makeStringConstCast("now", @1, SystemTypeName("text"));
+ n = makeStringConstCast("now", -1, SystemTypeName("text"));
d = SystemTypeName("timestamp");
d->typmods = list_make1(makeIntConst($3, @3));
- $$ = makeTypeCast(n, d, -1);
+ $$ = makeTypeCast(n, d, @1);
}
| CURRENT_ROLE
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, @1);
}
| CURRENT_USER
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, @1);
}
| SESSION_USER
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("session_user");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("session_user"), NIL, @1);
}
| USER
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, @1);
}
| CURRENT_CATALOG
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_database");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("current_database"), NIL, @1);
}
| CURRENT_SCHEMA
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_schema");
- n->args = NIL;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("current_schema"), NIL, @1);
}
| CAST '(' a_expr AS Typename ')'
{ $$ = makeTypeCast($3, $5, @1); }
| EXTRACT '(' extract_list ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("date_part");
- n->args = $3;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("date_part"), $3, @1);
}
| OVERLAY '(' overlay_list ')'
{
@@ -11066,46 +11668,19 @@ func_expr: func_name '(' ')' over_clause
* overlay(A PLACING B FROM C) is converted to
* overlay(A, B, C)
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("overlay");
- n->args = $3;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("overlay"), $3, @1);
}
| POSITION '(' position_list ')'
{
/* position(A in B) is converted to position(B, A) */
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("position");
- n->args = $3;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("position"), $3, @1);
}
| SUBSTRING '(' substr_list ')'
{
/* substring(A from B for C) is converted to
* substring(A, B, C) - thomas 2000-11-28
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("substring");
- n->args = $3;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("substring"), $3, @1);
}
| TREAT '(' a_expr AS Typename ')'
{
@@ -11114,75 +11689,32 @@ func_expr: func_name '(' ')' over_clause
* In SQL99, this is intended for use with structured UDTs,
* but let's make this a generally useful form allowing stronger
* coercions than are handled by implicit casting.
- */
- FuncCall *n = makeNode(FuncCall);
- /* Convert SystemTypeName() to SystemFuncName() even though
+ *
+ * Convert SystemTypeName() to SystemFuncName() even though
* at the moment they result in the same thing.
*/
- n->funcname = SystemFuncName(((Value *)llast($5->names))->val.str);
- n->args = list_make1($3);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName(((Value *)llast($5->names))->val.str),
+ list_make1($3),
+ @1);
}
| TRIM '(' BOTH trim_list ')'
{
- /* various trim expressions are defined in SQL92
+ /* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("btrim");
- n->args = $4;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("btrim"), $4, @1);
}
| TRIM '(' LEADING trim_list ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("ltrim");
- n->args = $4;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("ltrim"), $4, @1);
}
| TRIM '(' TRAILING trim_list ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("rtrim");
- n->args = $4;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("rtrim"), $4, @1);
}
| TRIM '(' trim_list ')'
{
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("btrim");
- n->args = $3;
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("btrim"), $3, @1);
}
| NULLIF '(' a_expr ',' a_expr ')'
{
@@ -11235,16 +11767,7 @@ func_expr: func_name '(' ')' over_clause
{
/* xmlexists(A PASSING [BY REF] B [BY REF]) is
* converted to xmlexists(A, B)*/
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("xmlexists");
- n->args = list_make2($3, $4);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = @1;
- $$ = (Node *)n;
+ $$ = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2($3, $4), @1);
}
| XMLFOREST '(' xml_attribute_list ')'
{
@@ -11358,6 +11881,20 @@ xmlexists_argument:
/*
+ * Aggregate decoration clauses
+ */
+within_group_clause:
+ WITHIN GROUP_P '(' sort_clause ')' { $$ = $4; }
+ | /*EMPTY*/ { $$ = NIL; }
+ ;
+
+filter_clause:
+ FILTER '(' WHERE a_expr ')' { $$ = $4; }
+ | /*EMPTY*/ { $$ = NULL; }
+ ;
+
+
+/*
* Window Definitions
*/
window_clause:
@@ -11834,7 +12371,7 @@ in_expr: select_with_parens
;
/*
- * Define SQL92-style case clause.
+ * Define SQL-style CASE clause.
* - Full specification
* CASE WHEN a = b THEN c ... ELSE d END
* - Implicit argument
@@ -11964,6 +12501,10 @@ ctext_row: '(' ctext_expr_list ')' { $$ = $2; }
*
*****************************************************************************/
+opt_target_list: target_list { $$ = $1; }
+ | /* EMPTY */ { $$ = NIL; }
+ ;
+
target_list:
target_el { $$ = list_make1($1); }
| target_list ',' target_el { $$ = lappend($1, $3); }
@@ -12140,16 +12681,17 @@ AexprConst: Iconst
t->location = @1;
$$ = makeStringConstCast($2, @2, t);
}
- | func_name '(' func_arg_list ')' Sconst
+ | func_name '(' func_arg_list opt_sort_clause ')' Sconst
{
/* generic syntax with a type modifier */
TypeName *t = makeTypeNameFromNameList($1);
ListCell *lc;
/*
- * We must use func_arg_list in the production to avoid
- * reduce/reduce conflicts, but we don't actually wish
- * to allow NamedArgExpr in this context.
+ * We must use func_arg_list and opt_sort_clause in the
+ * production to avoid reduce/reduce conflicts, but we
+ * don't actually wish to allow NamedArgExpr in this
+ * context, nor ORDER BY.
*/
foreach(lc, $3)
{
@@ -12161,9 +12703,15 @@ AexprConst: Iconst
errmsg("type modifier cannot have parameter name"),
parser_errposition(arg->location)));
}
+ if ($4 != NIL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("type modifier cannot have ORDER BY"),
+ parser_errposition(@4)));
+
t->typmods = $3;
t->location = @1;
- $$ = makeStringConstCast($5, @5, t);
+ $$ = makeStringConstCast($6, @6, t);
}
| ConstTypename Sconst
{
@@ -12208,7 +12756,13 @@ AexprConst: Iconst
Iconst: ICONST { $$ = $1; };
Sconst: SCONST { $$ = $1; };
-RoleId: ColId { $$ = $1; };
+RoleId: NonReservedWord { $$ = $1; };
+
+role_list: RoleId
+ { $$ = list_make1(makeString($1)); }
+ | role_list ',' RoleId
+ { $$ = lappend($1, makeString($3)); }
+ ;
SignedIconst: Iconst { $$ = $1; }
| '+' Iconst { $$ = + $2; }
@@ -12240,6 +12794,14 @@ type_function_name: IDENT { $$ = $1; }
| type_func_name_keyword { $$ = pstrdup($1); }
;
+/* Any not-fully-reserved word --- these names can be, eg, role names.
+ */
+NonReservedWord: IDENT { $$ = $1; }
+ | unreserved_keyword { $$ = pstrdup($1); }
+ | col_name_keyword { $$ = pstrdup($1); }
+ | type_func_name_keyword { $$ = pstrdup($1); }
+ ;
+
/* Column label --- allowed labels in "AS" clauses.
* This presently includes *all* Postgres keywords.
*/
@@ -12337,6 +12899,7 @@ unreserved_keyword:
| ENCRYPTED
| ENUM_P
| ESCAPE
+ | EVENT
| EXCLUDE
| EXCLUDING
| EXCLUSIVE
@@ -12345,6 +12908,7 @@ unreserved_keyword:
| EXTENSION
| EXTERNAL
| FAMILY
+ | FILTER
| FIRST_P
| FOLLOWING
| FORCE
@@ -12391,6 +12955,7 @@ unreserved_keyword:
| LOCK_P
| MAPPING
| MATCH
+ | MATERIALIZED
| MAXVALUE
| MINUTE_P
| MINVALUE
@@ -12412,6 +12977,8 @@ unreserved_keyword:
| OPERATOR
| OPTION
| OPTIONS
+ | ORDINALITY
+ | OVER
| OWNED
| OWNER
| PARSER
@@ -12428,6 +12995,7 @@ unreserved_keyword:
| PRIVILEGES
| PROCEDURAL
| PROCEDURE
+ | PROGRAM
| QUOTE
| RANGE
| READ
@@ -12435,6 +13003,7 @@ unreserved_keyword:
| RECHECK
| RECURSIVE
| REF
+ | REFRESH
| REINDEX
| RELATIVE_P
| RELEASE
@@ -12507,8 +13076,10 @@ unreserved_keyword:
| VARYING
| VERSION_P
| VIEW
+ | VIEWS
| VOLATILE
| WHITESPACE_P
+ | WITHIN
| WITHOUT
| WORK
| WRAPPER
@@ -12608,7 +13179,6 @@ type_func_name_keyword:
| NATURAL
| NOTNULL
| OUTER_P
- | OVER
| OVERLAPS
| RIGHT
| SIMILAR
@@ -12665,6 +13235,7 @@ reserved_keyword:
| INITIALLY
| INTERSECT
| INTO
+ | LATERAL_P
| LEADING
| LIMIT
| LOCALTIME
@@ -12881,39 +13452,6 @@ makeBoolAConst(bool state, int location)
return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
}
-/* makeOverlaps()
- * Create and populate a FuncCall node to support the OVERLAPS operator.
- */
-static FuncCall *
-makeOverlaps(List *largs, List *rargs, int location, core_yyscan_t yyscanner)
-{
- FuncCall *n = makeNode(FuncCall);
-
- n->funcname = SystemFuncName("overlaps");
- if (list_length(largs) == 1)
- largs = lappend(largs, largs);
- else if (list_length(largs) != 2)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("wrong number of parameters on left side of OVERLAPS expression"),
- parser_errposition(location)));
- if (list_length(rargs) == 1)
- rargs = lappend(rargs, rargs);
- else if (list_length(rargs) != 2)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("wrong number of parameters on right side of OVERLAPS expression"),
- parser_errposition(location)));
- n->args = list_concat(largs, rargs);
- n->agg_order = NIL;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->func_variadic = FALSE;
- n->over = NULL;
- n->location = location;
- return n;
-}
-
/* check_qualified_name --- check the result of qualified_name production
*
* It's easiest to let the grammar production for qualified_name allow
@@ -12992,6 +13530,55 @@ extractArgTypes(List *parameters)
return result;
}
+/* extractAggrArgTypes()
+ * As above, but work from the output of the aggr_args production.
+ */
+static List *
+extractAggrArgTypes(List *aggrargs)
+{
+ Assert(list_length(aggrargs) == 2);
+ return extractArgTypes((List *) linitial(aggrargs));
+}
+
+/* makeOrderedSetArgs()
+ * Build the result of the aggr_args production (which see the comments for).
+ * This handles only the case where both given lists are nonempty, so that
+ * we have to deal with multiple VARIADIC arguments.
+ */
+static List *
+makeOrderedSetArgs(List *directargs, List *orderedargs,
+ core_yyscan_t yyscanner)
+{
+ FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
+ int ndirectargs;
+
+ /* No restriction unless last direct arg is VARIADIC */
+ if (lastd->mode == FUNC_PARAM_VARIADIC)
+ {
+ FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
+
+ /*
+ * We ignore the names, though the aggr_arg production allows them;
+ * it doesn't allow default values, so those need not be checked.
+ */
+ if (list_length(orderedargs) != 1 ||
+ firsto->mode != FUNC_PARAM_VARIADIC)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
+ parser_errposition(exprLocation((Node *) firsto))));
+
+ /* OK, drop the duplicate VARIADIC argument from the internal form */
+ orderedargs = NIL;
+ }
+
+ /* don't merge into the next line, as list_concat changes directargs */
+ ndirectargs = list_length(directargs);
+
+ return list_make2(list_concat(directargs, orderedargs),
+ makeInteger(ndirectargs));
+}
+
/* insertSelectOptions()
* Insert ORDER BY, etc into an already-constructed SelectStmt.
*
@@ -13133,13 +13720,7 @@ doNegateFloat(Value *v)
if (*oldval == '-')
v->val.str = oldval+1; /* just strip the '-' */
else
- {
- char *newval = (char *) palloc(strlen(oldval) + 2);
-
- *newval = '-';
- strcpy(newval+1, oldval);
- v->val.str = newval;
- }
+ v->val.str = psprintf("-%s", oldval);
}
static Node *
@@ -13374,6 +13955,66 @@ processCASbits(int cas_bits, int location, const char *constrType,
}
}
+/*----------
+ * Recursive view transformation
+ *
+ * Convert
+ *
+ * CREATE RECURSIVE VIEW relname (aliases) AS query
+ *
+ * to
+ *
+ * CREATE VIEW relname (aliases) AS
+ * WITH RECURSIVE relname (aliases) AS (query)
+ * SELECT aliases FROM relname
+ *
+ * Actually, just the WITH ... part, which is then inserted into the original
+ * view definition as the query.
+ * ----------
+ */
+static Node *
+makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
+{
+ SelectStmt *s = makeNode(SelectStmt);
+ WithClause *w = makeNode(WithClause);
+ CommonTableExpr *cte = makeNode(CommonTableExpr);
+ List *tl = NIL;
+ ListCell *lc;
+
+ /* create common table expression */
+ cte->ctename = relname;
+ cte->aliascolnames = aliases;
+ cte->ctequery = query;
+ cte->location = -1;
+
+ /* create WITH clause and attach CTE */
+ w->recursive = true;
+ w->ctes = list_make1(cte);
+ w->location = -1;
+
+ /* create target list for the new SELECT from the alias list of the
+ * recursive view specification */
+ foreach (lc, aliases)
+ {
+ ResTarget *rt = makeNode(ResTarget);
+
+ rt->name = NULL;
+ rt->indirection = NIL;
+ rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
+ rt->location = -1;
+
+ tl = lappend(tl, rt);
+ }
+
+ /* create new SELECT combining WITH clause, target list, and fake FROM
+ * clause */
+ s->withClause = w;
+ s->targetList = tl;
+ s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
+
+ return (Node *) s;
+}
+
/* parser_init()
* Initialize to parse one query string
*/
@@ -13383,18 +14024,17 @@ parser_init(base_yy_extra_type *yyext)
yyext->parsetree = NIL; /* in case grammar forgets to set it */
}
-
/*
* Create a DefElem setting "oids" to the specified value.
*/
static DefElem *
defWithOids(bool value)
{
- DefElem *f = makeNode(DefElem);
-
- f->defname = "oids";
- f->arg = (Node *) makeInteger(value);
- return f;
+ DefElem *f = makeNode(DefElem);
+
+ f->defname = "oids";
+ f->arg = (Node *) makeInteger(value);
+ return f;
}
/*
diff --git a/src/parser/list.c b/src/parser/list.c
index 7818e47..75b703a 100644
--- a/src/parser/list.c
+++ b/src/parser/list.c
@@ -4,8 +4,8 @@
* implementation for PostgreSQL generic linked list package
*
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
@@ -14,14 +14,15 @@
*
*-------------------------------------------------------------------------
*/
-/*#include "postgres.h"*/
+
+/* see pg_list.h */
+//#define PG_LIST_INCLUDE_DEFINITIONS
+
#include "utils/elog.h"
#include <stdlib.h>
#include "utils/palloc.h"
#include "pg_list.h"
-
-
/*
* Routines to simplify writing assertions about the type of a list; a
* NIL list is considered to be an empty list of any type.
@@ -30,7 +31,33 @@
#define IsIntegerList(l) ((l) == NIL || IsA((l), IntList))
#define IsOidList(l) ((l) == NIL || IsA((l), OidList))
+#ifdef USE_ASSERT_CHECKING
+/*
+ * Check that the specified List is valid (so far as we can tell).
+ */
+static void
+check_list_invariants(const List *list)
+{
+ if (list == NIL)
+ return;
+
+ Assert(list->length > 0);
+ Assert(list->head != NULL);
+ Assert(list->tail != NULL);
+
+ Assert(list->type == T_List ||
+ list->type == T_IntList ||
+ list->type == T_OidList);
+
+ if (list->length == 1)
+ Assert(list->head == list->tail);
+ if (list->length == 2)
+ Assert(list->head->next == list->tail);
+ Assert(list->tail->next == NULL);
+}
+#else
#define check_list_invariants(l)
+#endif /* USE_ASSERT_CHECKING */
/*
* Return a freshly allocated List. Since empty non-NIL lists are
@@ -105,6 +132,8 @@ new_tail_cell(List *list)
List *
lappend(List *list, void *datum)
{
+ Assert(IsPointerList(list));
+
if (list == NIL)
list = new_list(T_List);
else
@@ -121,6 +150,8 @@ lappend(List *list, void *datum)
List *
lappend_int(List *list, int datum)
{
+ Assert(IsIntegerList(list));
+
if (list == NIL)
list = new_list(T_IntList);
else
@@ -137,6 +168,8 @@ lappend_int(List *list, int datum)
List *
lappend_oid(List *list, Oid datum)
{
+ Assert(IsOidList(list));
+
if (list == NIL)
list = new_list(T_OidList);
else
@@ -182,6 +215,8 @@ lappend_cell(List *list, ListCell *prev, void *datum)
{
ListCell *new_cell;
+ Assert(IsPointerList(list));
+
new_cell = add_new_cell(list, prev);
lfirst(new_cell) = datum;
check_list_invariants(list);
@@ -193,6 +228,8 @@ lappend_cell_int(List *list, ListCell *prev, int datum)
{
ListCell *new_cell;
+ Assert(IsIntegerList(list));
+
new_cell = add_new_cell(list, prev);
lfirst_int(new_cell) = datum;
check_list_invariants(list);
@@ -204,6 +241,8 @@ lappend_cell_oid(List *list, ListCell *prev, Oid datum)
{
ListCell *new_cell;
+ Assert(IsOidList(list));
+
new_cell = add_new_cell(list, prev);
lfirst_oid(new_cell) = datum;
check_list_invariants(list);
@@ -224,6 +263,8 @@ lappend_cell_oid(List *list, ListCell *prev, Oid datum)
List *
lcons(void *datum, List *list)
{
+ Assert(IsPointerList(list));
+
if (list == NIL)
list = new_list(T_List);
else
@@ -240,6 +281,8 @@ lcons(void *datum, List *list)
List *
lcons_int(int datum, List *list)
{
+ Assert(IsIntegerList(list));
+
if (list == NIL)
list = new_list(T_IntList);
else
@@ -256,6 +299,8 @@ lcons_int(int datum, List *list)
List *
lcons_oid(Oid datum, List *list)
{
+ Assert(IsOidList(list));
+
if (list == NIL)
list = new_list(T_OidList);
else
@@ -287,6 +332,8 @@ list_concat(List *list1, List *list2)
if (list1 == list2)
elog(ERROR, "cannot list_concat() a list to itself");
+ Assert(list1->type == list2->type);
+
list1->length += list2->length;
list1->tail->next = list2->head;
list1->tail = list2->tail;
@@ -332,6 +379,7 @@ list_truncate(List *list, int new_size)
}
/* keep the compiler quiet; never reached */
+ Assert(false);
return list;
}
@@ -344,6 +392,9 @@ list_nth_cell(const List *list, int n)
{
ListCell *match;
+ Assert(list != NIL);
+ Assert(n >= 0);
+ Assert(n < list->length);
check_list_invariants(list);
/* Does the caller actually mean to fetch the tail? */
@@ -363,6 +414,7 @@ list_nth_cell(const List *list, int n)
void *
list_nth(const List *list, int n)
{
+ Assert(IsPointerList(list));
return lfirst(list_nth_cell(list, n));
}
@@ -373,6 +425,7 @@ list_nth(const List *list, int n)
int
list_nth_int(const List *list, int n)
{
+ Assert(IsIntegerList(list));
return lfirst_int(list_nth_cell(list, n));
}
@@ -383,10 +436,10 @@ list_nth_int(const List *list, int n)
Oid
list_nth_oid(const List *list, int n)
{
+ Assert(IsOidList(list));
return lfirst_oid(list_nth_cell(list, n));
}
-
-#if 0
+#ifdef NOT_USED_IN_PGPOOL
/*
* Return true iff 'datum' is a member of the list. Equality is
* determined via equal(), so callers should ensure that they pass a
@@ -397,6 +450,7 @@ list_member(const List *list, const void *datum)
{
const ListCell *cell;
+ Assert(IsPointerList(list));
check_list_invariants(list);
foreach(cell, list)
@@ -407,8 +461,7 @@ list_member(const List *list, const void *datum)
return false;
}
-#endif
-
+#endif /*NOT_USED_IN_PGPOOL*/
/*
* Return true iff 'datum' is a member of the list. Equality is
* determined by using simple pointer comparison.
@@ -418,6 +471,7 @@ list_member_ptr(const List *list, const void *datum)
{
const ListCell *cell;
+ Assert(IsPointerList(list));
check_list_invariants(list);
foreach(cell, list)
@@ -437,6 +491,7 @@ list_member_int(const List *list, int datum)
{
const ListCell *cell;
+ Assert(IsIntegerList(list));
check_list_invariants(list);
foreach(cell, list)
@@ -456,6 +511,7 @@ list_member_oid(const List *list, Oid datum)
{
const ListCell *cell;
+ Assert(IsOidList(list));
check_list_invariants(list);
foreach(cell, list)
@@ -477,6 +533,7 @@ List *
list_delete_cell(List *list, ListCell *cell, ListCell *prev)
{
check_list_invariants(list);
+ Assert(prev != NULL ? lnext(prev) == cell : list_head(list) == cell);
/*
* If we're about to delete the last node from the list, free the whole
@@ -507,7 +564,8 @@ list_delete_cell(List *list, ListCell *cell, ListCell *prev)
return list;
}
-#if 0
+#ifdef NOT_USED_IN_PGPOOL
+
/*
* Delete the first cell in list that matches datum, if any.
* Equality is determined via equal().
@@ -518,6 +576,7 @@ list_delete(List *list, void *datum)
ListCell *cell;
ListCell *prev;
+ Assert(IsPointerList(list));
check_list_invariants(list);
prev = NULL;
@@ -532,7 +591,8 @@ list_delete(List *list, void *datum)
/* Didn't find a match: return the list unmodified */
return list;
}
-#endif
+
+#endif /*NOT_USED_IN_PGPOOL*/
/* As above, but use simple pointer equality */
List *
@@ -541,6 +601,7 @@ list_delete_ptr(List *list, void *datum)
ListCell *cell;
ListCell *prev;
+ Assert(IsPointerList(list));
check_list_invariants(list);
prev = NULL;
@@ -563,6 +624,7 @@ list_delete_int(List *list, int datum)
ListCell *cell;
ListCell *prev;
+ Assert(IsIntegerList(list));
check_list_invariants(list);
prev = NULL;
@@ -585,6 +647,7 @@ list_delete_oid(List *list, Oid datum)
ListCell *cell;
ListCell *prev;
+ Assert(IsOidList(list));
check_list_invariants(list);
prev = NULL;
@@ -619,7 +682,7 @@ list_delete_first(List *list)
return list_delete_cell(list, list_head(list), NULL);
}
-#if 0
+#ifdef NOT_USED_IN_PGPOOL
/*
* Generate the union of two lists. This is calculated by copying
* list1 via list_copy(), then adding to it all the members of list2
@@ -646,6 +709,9 @@ list_union(const List *list1, const List *list2)
List *result;
const ListCell *cell;
+ Assert(IsPointerList(list1));
+ Assert(IsPointerList(list2));
+
result = list_copy(list1);
foreach(cell, list2)
{
@@ -656,7 +722,7 @@ list_union(const List *list1, const List *list2)
check_list_invariants(result);
return result;
}
-#endif
+#endif /*NOT_USED_IN_PGPOOL*/
/*
* This variant of list_union() determines duplicates via simple
@@ -668,6 +734,9 @@ list_union_ptr(const List *list1, const List *list2)
List *result;
const ListCell *cell;
+ Assert(IsPointerList(list1));
+ Assert(IsPointerList(list2));
+
result = list_copy(list1);
foreach(cell, list2)
{
@@ -688,6 +757,9 @@ list_union_int(const List *list1, const List *list2)
List *result;
const ListCell *cell;
+ Assert(IsIntegerList(list1));
+ Assert(IsIntegerList(list2));
+
result = list_copy(list1);
foreach(cell, list2)
{
@@ -708,6 +780,9 @@ list_union_oid(const List *list1, const List *list2)
List *result;
const ListCell *cell;
+ Assert(IsOidList(list1));
+ Assert(IsOidList(list2));
+
result = list_copy(list1);
foreach(cell, list2)
{
@@ -719,7 +794,43 @@ list_union_oid(const List *list1, const List *list2)
return result;
}
-#if 0
+#ifdef NOT_USED_IN_PGPOOL
+/*
+ * Return a list that contains all the cells that are in both list1 and
+ * list2. The returned list is freshly allocated via palloc(), but the
+ * cells themselves point to the same objects as the cells of the
+ * input lists.
+ *
+ * Duplicate entries in list1 will not be suppressed, so it's only a true
+ * "intersection" if list1 is known unique beforehand.
+ *
+ * This variant works on lists of pointers, and determines list
+ * membership via equal(). Note that the list1 member will be pointed
+ * to in the result.
+ */
+List *
+list_intersection(const List *list1, const List *list2)
+{
+ List *result;
+ const ListCell *cell;
+
+ if (list1 == NIL || list2 == NIL)
+ return NIL;
+
+ Assert(IsPointerList(list1));
+ Assert(IsPointerList(list2));
+
+ result = NIL;
+ foreach(cell, list1)
+ {
+ if (list_member(list2, lfirst(cell)))
+ result = lappend(result, lfirst(cell));
+ }
+
+ check_list_invariants(result);
+ return result;
+}
+
/*
* Return a list that contains all the cells in list1 that are not in
* list2. The returned list is freshly allocated via palloc(), but the
@@ -735,6 +846,9 @@ list_difference(const List *list1, const List *list2)
const ListCell *cell;
List *result = NIL;
+ Assert(IsPointerList(list1));
+ Assert(IsPointerList(list2));
+
if (list2 == NIL)
return list_copy(list1);
@@ -747,7 +861,7 @@ list_difference(const List *list1, const List *list2)
check_list_invariants(result);
return result;
}
-#endif
+#endif /*NOT_USED_IN_PGPOOL*/
/*
* This variant of list_difference() determines list membership via
@@ -759,6 +873,9 @@ list_difference_ptr(const List *list1, const List *list2)
const ListCell *cell;
List *result = NIL;
+ Assert(IsPointerList(list1));
+ Assert(IsPointerList(list2));
+
if (list2 == NIL)
return list_copy(list1);
@@ -781,6 +898,9 @@ list_difference_int(const List *list1, const List *list2)
const ListCell *cell;
List *result = NIL;
+ Assert(IsIntegerList(list1));
+ Assert(IsIntegerList(list2));
+
if (list2 == NIL)
return list_copy(list1);
@@ -803,6 +923,9 @@ list_difference_oid(const List *list1, const List *list2)
const ListCell *cell;
List *result = NIL;
+ Assert(IsOidList(list1));
+ Assert(IsOidList(list2));
+
if (list2 == NIL)
return list_copy(list1);
@@ -816,7 +939,8 @@ list_difference_oid(const List *list1, const List *list2)
return result;
}
-#if 0
+#ifdef NOT_USED_IN_PGPOOL
+
/*
* Append datum to list, but only if it isn't already in the list.
*
@@ -831,7 +955,8 @@ list_append_unique(List *list, void *datum)
else
return lappend(list, datum);
}
-#endif
+
+#endif /*NOT_USED_IN_PGPOOL*/
/*
* This variant of list_append_unique() determines list membership via
@@ -870,7 +995,7 @@ list_append_unique_oid(List *list, Oid datum)
return lappend_oid(list, datum);
}
-#if 0
+#ifdef NOT_USED_IN_PGPOOL
/*
* Append to list1 each member of list2 that isn't already in list1.
*
@@ -878,7 +1003,7 @@ list_append_unique_oid(List *list, Oid datum)
* via equal().
*
* This is almost the same functionality as list_union(), but list1 is
- * modified in-place rather than being copied. Note also that list2's cells
+ * modified in-place rather than being copied. Note also that list2's cells
* are not inserted in list1, so the analogy to list_concat() isn't perfect.
*/
List *
@@ -886,6 +1011,9 @@ list_concat_unique(List *list1, List *list2)
{
ListCell *cell;
+ Assert(IsPointerList(list1));
+ Assert(IsPointerList(list2));
+
foreach(cell, list2)
{
if (!list_member(list1, lfirst(cell)))
@@ -895,7 +1023,7 @@ list_concat_unique(List *list1, List *list2)
check_list_invariants(list1);
return list1;
}
-#endif
+#endif /*NOT_USED_IN_PGPOOL*/
/*
* This variant of list_concat_unique() determines list membership via
@@ -906,6 +1034,9 @@ list_concat_unique_ptr(List *list1, List *list2)
{
ListCell *cell;
+ Assert(IsPointerList(list1));
+ Assert(IsPointerList(list2));
+
foreach(cell, list2)
{
if (!list_member_ptr(list1, lfirst(cell)))
@@ -924,6 +1055,9 @@ list_concat_unique_int(List *list1, List *list2)
{
ListCell *cell;
+ Assert(IsIntegerList(list1));
+ Assert(IsIntegerList(list2));
+
foreach(cell, list2)
{
if (!list_member_int(list1, lfirst_int(cell)))
@@ -942,6 +1076,9 @@ list_concat_unique_oid(List *list1, List *list2)
{
ListCell *cell;
+ Assert(IsOidList(list1));
+ Assert(IsOidList(list2));
+
foreach(cell, list2)
{
if (!list_member_oid(list1, lfirst_oid(cell)))
@@ -1005,6 +1142,7 @@ list_free_deep(List *list)
/*
* A "deep" free operation only makes sense on a list of pointers.
*/
+ Assert(IsPointerList(list));
list_free_private(list, true);
}
@@ -1105,33 +1243,6 @@ list_copy_tail(const List *oldlist, int nskip)
}
/*
- * When using non-GCC compilers, we can't define these as inline
- * functions in pg_list.h, so they are defined here.
- *
- * TODO: investigate supporting inlining for some non-GCC compilers.
- */
-#ifndef __GNUC__
-
-ListCell *
-list_head(const List *l)
-{
- return l ? l->head : NULL;
-}
-
-ListCell *
-list_tail(List *l)
-{
- return l ? l->tail : NULL;
-}
-
-int
-list_length(const List *l)
-{
- return l ? l->length : 0;
-}
-#endif /* ! __GNUC__ */
-
-/*
* Temporary compatibility functions
*
* In order to avoid warnings for these function definitions, we need
@@ -1152,5 +1263,5 @@ int length(const List *list);
int
length(const List *list)
{
- return list_length((List *)list);
+ return list_length(list);
}
diff --git a/src/parser/makefuncs.c b/src/parser/makefuncs.c
index 69ff203..0f15e0b 100644
--- a/src/parser/makefuncs.c
+++ b/src/parser/makefuncs.c
@@ -4,8 +4,8 @@
* creator functions for primitive nodes. The functions here are for
* the most frequently created nodes.
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
@@ -25,6 +25,8 @@
#define BOOLOID 16 /* XXX */
+
+
/*
* makeA_Expr -
* makes an A_Expr node
@@ -126,7 +128,7 @@ makeVarFromTargetEntry(Index varno,
* a rowtype; either a named composite type, or RECORD. This function
* encapsulates the logic for determining the correct rowtype OID to use.
*
- * If allowScalar is true, then for the case where the RTE is a function
+ * If allowScalar is true, then for the case where the RTE is a single function
* returning a non-composite result type, we produce a normal Var referencing
* the function's result directly, instead of the single-column composite
* value that the whole-row notation might otherwise suggest.
@@ -139,6 +141,7 @@ makeWholeRowVar(RangeTblEntry *rte,
{
Var *result;
Oid toid;
+ Node *fexpr;
switch (rte->rtekind)
{
@@ -155,8 +158,28 @@ makeWholeRowVar(RangeTblEntry *rte,
InvalidOid,
varlevelsup);
break;
+
case RTE_FUNCTION:
- toid = exprType(rte->funcexpr);
+
+ /*
+ * If there's more than one function, or ordinality is requested,
+ * force a RECORD result, since there's certainly more than one
+ * column involved and it can't be a known named type.
+ */
+ if (rte->funcordinality || list_length(rte->functions) != 1)
+ {
+ /* always produces an anonymous RECORD result */
+ result = makeVar(varno,
+ InvalidAttrNumber,
+ RECORDOID,
+ -1,
+ InvalidOid,
+ varlevelsup);
+ break;
+ }
+
+ fexpr = ((RangeTblFunction *) linitial(rte->functions))->funcexpr;
+ toid = exprType(fexpr);
if (type_is_rowtype(toid))
{
/* func returns composite; same as relation case */
@@ -174,7 +197,7 @@ makeWholeRowVar(RangeTblEntry *rte,
1,
toid,
-1,
- exprCollation(rte->funcexpr),
+ exprCollation(fexpr),
varlevelsup);
}
else
@@ -188,6 +211,7 @@ makeWholeRowVar(RangeTblEntry *rte,
varlevelsup);
}
break;
+
default:
/*
@@ -207,6 +231,7 @@ makeWholeRowVar(RangeTblEntry *rte,
return result;
}
+
#endif
/*
@@ -320,9 +345,7 @@ makeNullConst(Oid consttype, int32 consttypmod, Oid constcollid)
true,
typByVal);
}
-#endif
-#if 0
/*
* makeBoolConst -
* creates a Const node representing a boolean value (can be NULL too)
@@ -334,6 +357,7 @@ makeBoolConst(bool value, bool isnull)
return (Node *) makeConst(BOOLOID, -1, InvalidOid, 1,
BoolGetDatum(value), isnull, true);
}
+
#endif
/*
@@ -470,6 +494,7 @@ makeFuncExpr(Oid funcid, Oid rettype, List *args,
funcexpr->funcid = funcid;
funcexpr->funcresulttype = rettype;
funcexpr->funcretset = false; /* only allowed case here */
+ funcexpr->funcvariadic = false; /* only allowed case here */
funcexpr->funcformat = fformat;
funcexpr->funccollid = funccollid;
funcexpr->inputcollid = inputcollid;
@@ -516,3 +541,27 @@ makeDefElemExtended(char *nameSpace, char *name, Node *arg,
return res;
}
+
+/*
+ * makeFuncCall -
+ *
+ * Initialize a FuncCall struct with the information every caller must
+ * supply. Any non-default parameters have to be inserted by the caller.
+ */
+FuncCall *
+makeFuncCall(List *name, List *args, int location)
+{
+ FuncCall *n = makeNode(FuncCall);
+
+ n->funcname = name;
+ n->args = args;
+ n->agg_order = NIL;
+ n->agg_filter = NULL;
+ n->agg_within_group = false;
+ n->agg_star = false;
+ n->agg_distinct = false;
+ n->func_variadic = false;
+ n->over = NULL;
+ n->location = location;
+ return n;
+}
diff --git a/src/parser/outfuncs.c b/src/parser/outfuncs.c
index 3b72f92..58abe2c 100644
--- a/src/parser/outfuncs.c
+++ b/src/parser/outfuncs.c
@@ -107,7 +107,7 @@ static void _outUpdateStmt(String *str, UpdateStmt *node);
static void _outDeleteStmt(String *str, DeleteStmt *node);
static void _outTransactionStmt(String *str, TransactionStmt *node);
static void _outTruncateStmt(String *str, TruncateStmt *node);
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
/* 9.0 does have this */
static void _outVacuumStmt(String *str, VacuumStmt *node);
#endif
@@ -1137,10 +1137,21 @@ _outLockingClause(String *str, LockingClause *node)
if (node == NULL)
return;
- if (node->forUpdate == TRUE)
- string_append_char(str, " FOR UPDATE");
- else
- string_append_char(str, " FOR SHARED");
+ switch(node->strength)
+ {
+ case LCS_FORKEYSHARE:
+ string_append_char(str, " FOR KEY SHARE");
+ break;
+ case LCS_FORSHARE:
+ string_append_char(str, " FOR SHARE");
+ break;
+ case LCS_FORNOKEYUPDATE:
+ string_append_char(str, " FOR NO KEY UPDATE");
+ break;
+ case LCS_FORUPDATE:
+ string_append_char(str, " FOR UPDATE");
+ break;
+ }
_outNode(str, node->lockedRels);
@@ -2113,7 +2124,7 @@ static void _outTruncateStmt(String *str, TruncateStmt *node)
_outNode(str, node->relations);
}
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
/* 9.0 does not have */
static void _outVacuumStmt(String *str, VacuumStmt *node)
{
@@ -2932,7 +2943,7 @@ _outAlterTableCmd(String *str, AlterTableCmd *node)
string_append_char(str, node->name);
string_append_char(str, "\" TYPE ");
_outNode(str, node->def);
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
if (node->transform)
{
string_append_char(str, " USING ");
@@ -4023,7 +4034,7 @@ _outAlterFunctionStmt(String *str, AlterFunctionStmt *node)
_outFuncOptList(str, node->actions);
}
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
static void
_outRemoveFuncStmt(String *str, RemoveFuncStmt *node)
{
@@ -4265,7 +4276,7 @@ _outAlterOwnerStmt(String *str, AlterOwnerStmt *node)
string_append_char(str, "OPERATOR CLASS ");
_outFuncName(str, node->object);
string_append_char(str, " USING ");
- string_append_char(str, node->addname);
+ string_append_char(str, strVal(linitial(node->objarg)));
string_append_char(str, " OWNER TO \"");
string_append_char(str, node->newowner);
string_append_char(str, "\"");
@@ -4275,7 +4286,7 @@ _outAlterOwnerStmt(String *str, AlterOwnerStmt *node)
string_append_char(str, "OPERATOR FAMILY ");
_outFuncName(str, node->object);
string_append_char(str, " USING ");
- string_append_char(str, node->addname);
+ string_append_char(str, strVal(linitial(node->objarg)));
string_append_char(str, " OWNER TO \"");
string_append_char(str, node->newowner);
string_append_char(str, "\"");
@@ -4625,7 +4636,7 @@ _outPrepareStmt(String *str, PrepareStmt *node)
static void
_outExecuteStmt(String *str, ExecuteStmt *node)
{
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
if (node->into)
{
IntoClause *into = node->into;
@@ -4872,10 +4883,11 @@ _outRangeSubselect(String *str, RangeSubselect *node)
_outNode(str, node->alias);
}
+/*TODO*/
static void
_outRangeFunction(String *str, RangeFunction *node)
{
- _outNode(str, node->funccallnode);
+ _outNode(str, node->functions); //TODO
if (node->alias)
{
_outNode(str, node->alias);
@@ -4926,7 +4938,7 @@ _outAlterOpFamilyStmt(String *str, AlterOpFamilyStmt *node)
{
}
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
static void
_outRemoveOpFamilyStmt(String *str, RemoveOpFamilyStmt *node)
{
@@ -5472,7 +5484,7 @@ _outNode(String *str, void *obj)
_outTruncateStmt(str, obj);
break;
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
/* 9.0 does not have this */
case T_VacuumStmt:
_outVacuumStmt(str, obj);
@@ -5571,7 +5583,7 @@ _outNode(String *str, void *obj)
_outCreatePLangStmt(str, obj);
break;
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
case T_DropPLangStmt:
_outDropPLangStmt(str, obj);
break;
@@ -5601,7 +5613,7 @@ _outNode(String *str, void *obj)
_outCreateOpClassItem(str, obj);
break;
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
case T_RemoveOpClassStmt:
_outRemoveOpClassStmt(str, obj);
break;
@@ -5643,7 +5655,7 @@ _outNode(String *str, void *obj)
_outAlterFunctionStmt(str, obj);
break;
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
case T_RemoveFuncStmt:
_outRemoveFuncStmt(str, obj);
break;
@@ -5652,7 +5664,7 @@ _outNode(String *str, void *obj)
case T_CreateCastStmt:
_outCreateCastStmt(str, obj);
break;
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
case T_DropCastStmt:
_outDropCastStmt(str, obj);
break;
@@ -5736,7 +5748,7 @@ _outNode(String *str, void *obj)
case T_AlterOpFamilyStmt:
_outAlterOpFamilyStmt(str, obj);
break;
-#ifdef NOT_USED
+#ifdef NOT_USED_IN_PGPOOL
case T_RemoveOpFamilyStmt:
_outRemoveOpFamilyStmt(str, obj);
break;
@@ -5772,19 +5784,18 @@ _outNode(String *str, void *obj)
}
}
-
/*
* nodeToString -
* returns the ascii representation of the Node as a palloc'd string
*/
char *
-nodeToString(void *obj)
+nodeToString(const void *obj)
{
String *str;
char *p;
str = init_string("");
- _outNode(str, obj);
+ _outNode(str, (void *)obj);
p = palloc(str->len+1);
memcpy(p, str->data, str->len);
*(p+str->len) = '\0';
diff --git a/src/parser/parser.c b/src/parser/parser.c
index b6b10de..806490b 100644
--- a/src/parser/parser.c
+++ b/src/parser/parser.c
@@ -10,8 +10,8 @@
* analyze.c and related files.
*
*
- * Portions Copyright (c) 2003-2009, PgPool Global Development Group
- * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
@@ -38,6 +38,7 @@ static bool in_parser_context = false;
static int
parse_version(const char *versionString);
+
/*
* raw_parser
* Given a query in string form, do lexical and grammatical analysis.
@@ -51,16 +52,16 @@ raw_parser(const char *str)
base_yy_extra_type yyextra;
int yyresult;
MemoryContext oldContext = CurrentMemoryContext;
-
+
parsetree = NIL; /* in case grammar forgets to set it */
-
+
/* initialize the flex scanner */
yyscanner = scanner_init(str, &yyextra.core_yy_extra,
ScanKeywords, NumScanKeywords);
-
+
/* base_yylex() only needs this much initialization */
yyextra.have_lookahead = false;
-
+
/* initialize the bison parser */
parser_init(&yyextra);
in_parser_context = true;
@@ -84,15 +85,13 @@ raw_parser(const char *str)
return yyextra.parsetree;
}
-void free_parser(void)
-{
-}
+
/*
- * Intermediate filter between parser and base lexer (base_yylex in scan.l).
+ * Intermediate filter between parser and core lexer (core_yylex in scan.l).
*
* The filter is needed because in some cases the standard SQL grammar
- * requires more than one token lookahead. We reduce these cases to one-token
+ * requires more than one token lookahead. We reduce these cases to one-token
* lookahead by combining tokens here, in order to keep the grammar LALR(1).
*
* Using a filter is simpler than trying to recognize multiword tokens
@@ -160,7 +159,7 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner)
case WITH:
/*
- * WITH TIME must be reduced to one token
+ * WITH TIME and WITH ORDINALITY must each be reduced to one token
*/
cur_yylval = lvalp->core_yystype;
cur_yylloc = *llocp;
@@ -170,6 +169,9 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner)
case TIME:
cur_token = WITH_TIME;
break;
+ case ORDINALITY:
+ cur_token = WITH_ORDINALITY;
+ break;
default:
/* save the lookahead token for next time */
yyextra->lookahead_token = next_token;
@@ -190,23 +192,22 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner)
return cur_token;
}
-
static int
parse_version(const char *versionString)
{
int cnt;
int vmaj,
- vmin,
- vrev;
-
+ vmin,
+ vrev;
+
cnt = sscanf(versionString, "%d.%d.%d", &vmaj, &vmin, &vrev);
-
+
if (cnt < 2)
return -1;
-
+
if (cnt == 2)
vrev = 0;
-
+
return (100 * vmaj + vmin) * 100 + vrev;
}
@@ -244,3 +245,4 @@ pg_mblen(const char *mbstr)
{
return pg_utf_mblen((const unsigned char *) mbstr);
}
+
diff --git a/src/parser/scan.c b/src/parser/scan.c
index 7343180..37d7c92 100644
--- a/src/parser/scan.c
+++ b/src/parser/scan.c
@@ -358,8 +358,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 67
-#define YY_END_OF_BUFFER 68
+#define YY_NUM_RULES 74
+#define YY_END_OF_BUFFER 75
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -367,50 +367,38 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[389] =
+static yyconst flex_int16_t yy_accept[281] =
{ 0,
0, 0, 12, 12, 0, 0, 0, 0, 11, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 68, 66, 1, 1, 57, 45, 66, 56,
- 19, 56, 56, 56, 56, 59, 56, 65, 65, 65,
- 65, 65, 65, 12, 9, 5, 5, 6, 6, 51,
- 47, 11, 16, 28, 28, 22, 38, 27, 22, 42,
- 42, 44, 48, 24, 31, 32, 31, 1, 57, 39,
- 58, 40, 1, 54, 60, 2, 60, 59, 63, 53,
- 55, 65, 8, 20, 18, 52, 15, 12, 9, 9,
- 10, 5, 7, 4, 3, 51, 50, 11, 16, 16,
-
- 17, 28, 22, 22, 26, 23, 34, 35, 33, 33,
- 34, 27, 42, 41, 43, 48, 48, 48, 24, 24,
- 24, 24, 33, 33, 40, 1, 1, 2, 61, 60,
- 64, 62, 46, 21, 9, 14, 10, 9, 3, 16,
- 13, 17, 16, 22, 37, 23, 22, 35, 33, 33,
- 36, 43, 48, 48, 24, 24, 24, 24, 33, 33,
- 9, 9, 9, 9, 16, 16, 16, 16, 22, 22,
- 22, 22, 35, 33, 33, 36, 48, 48, 48, 48,
- 48, 24, 24, 24, 24, 24, 24, 33, 33, 9,
- 9, 9, 9, 9, 16, 16, 16, 16, 16, 22,
-
- 22, 22, 22, 22, 33, 33, 48, 48, 48, 24,
- 24, 24, 24, 24, 24, 24, 24, 33, 33, 9,
- 16, 22, 33, 29, 48, 48, 24, 24, 24, 24,
- 33, 30, 33, 48, 48, 24, 24, 24, 33, 33,
- 48, 48, 24, 24, 24, 33, 33, 48, 48, 48,
- 48, 24, 24, 24, 24, 24, 33, 48, 48, 48,
- 24, 24, 24, 24, 48, 48, 48, 48, 49, 48,
- 48, 48, 48, 24, 24, 24, 24, 24, 25, 24,
- 24, 24, 24, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 24, 24, 24, 24, 24,
-
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 24, 24, 24, 24, 24, 24, 24, 24,
- 25, 24, 24, 24, 24, 24, 24, 24, 48, 48,
- 48, 48, 48, 48, 48, 48, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 48, 48, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 48, 24, 24, 24, 48, 24, 24,
- 48, 24, 24, 48, 24, 24, 24, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 55, 55,
+ 0, 0, 28, 28, 0, 0, 75, 73, 1, 1,
+ 64, 49, 73, 63, 19, 63, 63, 63, 63, 66,
+ 63, 72, 72, 72, 72, 72, 72, 12, 9, 5,
+ 5, 6, 6, 58, 51, 11, 16, 32, 32, 22,
+ 42, 31, 22, 46, 46, 48, 52, 54, 53, 53,
+ 54, 54, 24, 27, 26, 26, 27, 27, 35, 36,
+ 35, 1, 64, 43, 65, 44, 1, 61, 67, 2,
+ 67, 66, 70, 60, 62, 72, 8, 20, 18, 59,
+
+ 15, 12, 9, 9, 10, 5, 7, 4, 3, 58,
+ 57, 11, 16, 16, 17, 32, 22, 22, 30, 23,
+ 38, 39, 37, 37, 38, 31, 46, 45, 47, 53,
+ 53, 55, 24, 24, 25, 26, 26, 28, 37, 37,
+ 44, 1, 1, 2, 68, 67, 71, 69, 50, 21,
+ 9, 14, 10, 9, 3, 16, 13, 17, 16, 22,
+ 41, 23, 22, 39, 37, 37, 40, 47, 53, 55,
+ 24, 25, 24, 26, 28, 37, 37, 9, 9, 9,
+ 9, 16, 16, 16, 16, 22, 22, 22, 22, 39,
+ 37, 37, 40, 55, 24, 24, 24, 24, 28, 37,
+
+ 37, 9, 9, 9, 9, 9, 16, 16, 16, 16,
+ 16, 22, 22, 22, 22, 22, 37, 37, 55, 24,
+ 24, 24, 24, 24, 28, 37, 37, 9, 16, 22,
+ 37, 33, 55, 24, 28, 37, 34, 37, 55, 28,
+ 37, 37, 55, 55, 55, 28, 28, 28, 37, 37,
+ 55, 55, 28, 28, 37, 56, 55, 55, 55, 55,
+ 29, 28, 28, 28, 28, 55, 55, 55, 55, 55,
+ 28, 28, 28, 28, 28, 55, 55, 28, 28, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -453,576 +441,354 @@ static yyconst flex_int32_t yy_meta[35] =
10, 11, 10, 10
} ;
-static yyconst flex_int16_t yy_base[462] =
+static yyconst flex_int16_t yy_base[348] =
{ 0,
- 0, 0, 616, 615, 30, 46, 616, 613, 608, 597,
- 37, 38, 596, 594, 42, 49, 597, 596, 591, 590,
- 33, 50, 599, 2032, 69, 72, 0, 2032, 50, 0,
- 2032, 2032, 584, 46, 585, 62, 64, 0, 586, 584,
- 583, 581, 577, 0, 86, 0, 0, 69, 574, 0,
- 569, 0, 89, 0, 0, 92, 80, 0, 105, 0,
- 0, 567, 118, 150, 2032, 2032, 68, 114, 0, 2032,
- 87, 565, 179, 2032, 108, 0, 112, 121, 127, 2032,
- 2032, 0, 2032, 2032, 2032, 125, 2032, 0, 153, 159,
- 557, 0, 131, 2032, 0, 0, 2032, 0, 168, 175,
-
- 556, 0, 172, 194, 2032, 555, 2032, 551, 0, 0,
- 0, 0, 0, 2032, 560, 560, 551, 539, 552, 207,
- 547, 533, 0, 0, 548, 0, 236, 0, 2032, 141,
- 94, 132, 2032, 2032, 210, 2032, 540, 224, 0, 229,
- 2032, 529, 232, 251, 2032, 528, 255, 523, 0, 0,
- 0, 532, 268, 508, 0, 522, 300, 506, 0, 0,
- 260, 264, 273, 277, 281, 286, 303, 306, 309, 322,
- 325, 338, 2032, 0, 0, 2032, 351, 383, 415, 447,
- 511, 479, 511, 543, 575, 607, 510, 0, 0, 342,
- 345, 358, 374, 387, 390, 396, 418, 421, 438, 451,
-
- 454, 460, 482, 485, 0, 0, 109, 165, 510, 639,
- 671, 0, 703, 735, 191, 177, 509, 0, 0, 488,
- 502, 515, 0, 2032, 178, 498, 193, 190, 200, 496,
- 0, 2032, 0, 226, 486, 269, 272, 485, 0, 0,
- 140, 518, 294, 271, 546, 0, 0, 483, 549, 0,
- 493, 293, 478, 578, 0, 487, 0, 767, 490, 581,
- 473, 791, 487, 610, 815, 839, 871, 318, 2032, 613,
- 642, 645, 674, 903, 927, 951, 983, 344, 2032, 677,
- 706, 709, 738, 481, 306, 312, 1015, 357, 484, 1047,
- 741, 770, 786, 800, 818, 1079, 0, 1103, 349, 0,
-
- 0, 465, 325, 341, 468, 401, 466, 1135, 834, 848,
- 853, 874, 888, 1167, 450, 0, 0, 1199, 459, 446,
- 906, 0, 354, 370, 459, 513, 457, 1231, 1263, 441,
- 2032, 1295, 0, 1327, 446, 422, 922, 0, 429, 429,
- 428, 427, 324, 402, 422, 405, 408, 0, 0, 1359,
- 416, 389, 395, 394, 395, 386, 373, 392, 421, 361,
- 344, 1391, 347, 347, 276, 263, 393, 434, 246, 213,
- 1423, 0, 207, 208, 1455, 199, 179, 153, 121, 100,
- 74, 58, 53, 0, 12, 0, 0, 2032, 1488, 1499,
- 1510, 1521, 1532, 1543, 1554, 1565, 1574, 1577, 1583, 1593,
-
- 1604, 1615, 1626, 1637, 1647, 1658, 1669, 1676, 1682, 1692,
- 1701, 1706, 1706, 1708, 1710, 1715, 1718, 1720, 1729, 1740,
- 1751, 1755, 1757, 1759, 1768, 1779, 1783, 1785, 1794, 1805,
- 1816, 1820, 1822, 1831, 1835, 1837, 1839, 1841, 1843, 1845,
- 1847, 1849, 1851, 1853, 1855, 1857, 1866, 1877, 1888, 1899,
- 1910, 1921, 1932, 1943, 1954, 1965, 1976, 1987, 1998, 2009,
- 2020
+ 0, 0, 526, 525, 30, 46, 524, 517, 512, 511,
+ 37, 38, 506, 499, 42, 49, 502, 501, 69, 101,
+ 492, 485, 133, 165, 33, 50, 494, 1142, 72, 75,
+ 0, 1142, 50, 0, 1142, 1142, 479, 46, 476, 69,
+ 61, 0, 471, 470, 469, 465, 454, 0, 86, 0,
+ 0, 79, 430, 0, 414, 0, 94, 0, 0, 107,
+ 89, 0, 110, 0, 0, 391, 370, 1142, 123, 126,
+ 349, 325, 136, 1142, 139, 149, 323, 299, 1142, 1142,
+ 115, 152, 0, 1142, 75, 304, 194, 1142, 140, 0,
+ 155, 159, 168, 1142, 1142, 0, 1142, 1142, 1142, 154,
+
+ 1142, 0, 186, 209, 257, 0, 159, 1142, 0, 0,
+ 1142, 0, 190, 214, 248, 0, 218, 223, 1142, 244,
+ 1142, 237, 0, 0, 0, 0, 0, 1142, 246, 227,
+ 0, 219, 232, 237, 231, 240, 0, 209, 0, 0,
+ 208, 0, 247, 0, 1142, 232, 115, 144, 1142, 1142,
+ 262, 1142, 195, 266, 0, 271, 1142, 191, 275, 280,
+ 1142, 187, 284, 180, 0, 0, 0, 189, 0, 168,
+ 289, 173, 293, 0, 160, 0, 0, 298, 302, 306,
+ 311, 315, 319, 324, 328, 332, 337, 341, 345, 1142,
+ 0, 0, 1142, 157, 350, 354, 358, 363, 138, 0,
+
+ 0, 367, 371, 376, 380, 385, 389, 393, 398, 402,
+ 407, 411, 415, 420, 424, 429, 0, 0, 121, 433,
+ 437, 442, 446, 451, 116, 0, 0, 455, 459, 464,
+ 0, 1142, 93, 468, 91, 0, 1142, 0, 473, 482,
+ 0, 0, 487, 0, 93, 496, 0, 87, 0, 0,
+ 75, 501, 27, 510, 0, 1142, 515, 524, 529, 538,
+ 1142, 543, 552, 557, 566, 571, 580, 585, 594, 599,
+ 608, 613, 622, 627, 636, 641, 0, 650, 0, 1142,
+ 664, 675, 686, 697, 708, 719, 730, 741, 752, 763,
+ 772, 775, 781, 791, 802, 813, 824, 835, 845, 856,
+
+ 867, 874, 880, 890, 899, 904, 904, 906, 908, 913,
+ 923, 934, 938, 940, 949, 960, 971, 975, 977, 979,
+ 988, 992, 994, 1003, 1014, 1025, 1029, 1031, 1040, 1044,
+ 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064,
+ 1073, 1084, 1088, 1097, 1108, 1119, 1130
} ;
-static yyconst flex_int16_t yy_def[462] =
+static yyconst flex_int16_t yy_def[348] =
{ 0,
- 388, 1, 389, 389, 390, 390, 391, 391, 392, 392,
- 393, 393, 394, 394, 395, 395, 391, 391, 394, 394,
- 396, 396, 388, 388, 388, 388, 397, 388, 398, 397,
- 388, 388, 397, 388, 397, 388, 388, 399, 399, 399,
- 399, 399, 399, 400, 388, 401, 401, 388, 388, 402,
- 388, 403, 388, 404, 404, 388, 405, 406, 388, 407,
- 407, 408, 388, 388, 388, 388, 388, 388, 397, 388,
- 388, 409, 410, 388, 388, 411, 388, 388, 388, 388,
- 388, 399, 388, 388, 388, 388, 388, 400, 388, 388,
- 388, 401, 388, 388, 412, 402, 388, 403, 388, 388,
-
- 388, 404, 388, 388, 388, 388, 388, 388, 413, 414,
- 415, 406, 407, 388, 416, 63, 388, 388, 64, 388,
- 388, 388, 417, 418, 409, 410, 410, 411, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 419, 412, 388,
- 388, 388, 420, 388, 388, 388, 421, 388, 422, 423,
- 424, 416, 425, 388, 120, 388, 426, 388, 427, 428,
- 429, 419, 419, 419, 430, 420, 420, 420, 431, 421,
- 421, 421, 388, 432, 433, 388, 425, 425, 425, 425,
- 388, 434, 426, 426, 426, 426, 388, 435, 436, 429,
- 429, 388, 429, 419, 430, 430, 388, 430, 420, 431,
-
- 431, 388, 431, 421, 437, 438, 180, 180, 388, 434,
- 434, 120, 434, 434, 186, 186, 388, 439, 440, 429,
- 430, 431, 441, 388, 180, 388, 214, 214, 186, 388,
- 442, 388, 443, 180, 388, 214, 186, 388, 444, 445,
- 180, 388, 214, 186, 388, 446, 438, 180, 388, 447,
- 388, 214, 186, 388, 448, 388, 440, 180, 388, 449,
- 214, 186, 388, 450, 180, 388, 451, 180, 388, 449,
- 449, 452, 449, 214, 186, 388, 453, 186, 388, 450,
- 450, 454, 450, 388, 180, 180, 388, 180, 180, 455,
- 449, 449, 388, 449, 449, 214, 276, 456, 214, 276,
-
- 448, 388, 186, 186, 120, 186, 186, 457, 450, 450,
- 388, 450, 450, 455, 180, 314, 314, 458, 314, 314,
- 452, 447, 214, 214, 120, 214, 214, 459, 459, 186,
- 388, 457, 332, 460, 332, 332, 454, 448, 314, 314,
- 314, 266, 314, 314, 314, 314, 214, 329, 329, 461,
- 329, 329, 329, 332, 332, 332, 276, 332, 332, 332,
- 332, 458, 314, 329, 329, 276, 329, 329, 329, 329,
- 460, 448, 332, 314, 461, 329, 332, 314, 329, 332,
- 314, 329, 332, 314, 329, 332, 329, 0, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
-
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388
+ 280, 1, 281, 281, 282, 282, 283, 283, 284, 284,
+ 285, 285, 286, 286, 287, 287, 283, 283, 288, 288,
+ 286, 286, 289, 289, 290, 290, 280, 280, 280, 280,
+ 291, 280, 292, 291, 280, 280, 291, 280, 291, 280,
+ 280, 293, 293, 293, 293, 293, 293, 294, 280, 295,
+ 295, 280, 280, 296, 280, 297, 280, 298, 298, 280,
+ 299, 300, 280, 301, 301, 302, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 291, 280, 280, 303, 304, 280, 280, 305,
+ 280, 280, 280, 280, 280, 293, 280, 280, 280, 280,
+
+ 280, 294, 280, 280, 280, 295, 280, 280, 306, 296,
+ 280, 297, 280, 280, 280, 298, 280, 280, 280, 280,
+ 280, 280, 307, 308, 309, 300, 301, 280, 310, 280,
+ 311, 280, 280, 280, 280, 280, 312, 280, 313, 314,
+ 303, 304, 304, 305, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 315, 306, 280, 280, 280, 316, 280,
+ 280, 280, 317, 280, 318, 319, 320, 310, 311, 280,
+ 280, 280, 321, 312, 280, 322, 323, 324, 315, 315,
+ 315, 325, 316, 316, 316, 326, 317, 317, 317, 280,
+ 327, 328, 280, 280, 329, 321, 321, 321, 280, 330,
+
+ 331, 324, 324, 280, 324, 315, 325, 325, 280, 325,
+ 316, 326, 326, 280, 326, 317, 332, 333, 280, 329,
+ 329, 280, 329, 321, 280, 334, 335, 324, 325, 326,
+ 336, 280, 280, 329, 280, 337, 280, 338, 280, 280,
+ 339, 340, 280, 341, 280, 280, 342, 280, 343, 333,
+ 280, 344, 280, 345, 335, 280, 344, 344, 346, 344,
+ 280, 345, 345, 347, 345, 344, 344, 280, 344, 344,
+ 345, 345, 280, 345, 345, 346, 341, 347, 342, 0,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280
} ;
-static yyconst flex_int16_t yy_nxt[2067] =
+static yyconst flex_int16_t yy_nxt[1177] =
{ 0,
- 24, 25, 26, 25, 27, 28, 29, 30, 27, 31,
- 32, 30, 30, 33, 34, 35, 36, 36, 37, 30,
- 38, 39, 38, 38, 40, 38, 41, 38, 38, 42,
- 43, 24, 42, 43, 47, 66, 387, 47, 47, 55,
- 55, 48, 47, 47, 61, 49, 56, 56, 62, 47,
- 47, 61, 66, 47, 47, 62, 70, 48, 47, 47,
- 74, 49, 75, 75, 67, 47, 71, 71, 57, 57,
- 68, 68, 68, 68, 68, 68, 77, 386, 78, 78,
- 93, 67, 80, 81, 94, 385, 79, 89, 90, 90,
- 99, 100, 100, 103, 104, 104, 108, 123, 384, 91,
-
- 124, 105, 101, 71, 71, 106, 103, 104, 104, 109,
- 132, 132, 110, 111, 105, 68, 68, 68, 106, 116,
- 116, 116, 207, 97, 75, 75, 129, 383, 130, 130,
- 133, 117, 79, 177, 134, 77, 79, 78, 78, 131,
- 131, 382, 93, 132, 132, 79, 94, 118, 132, 132,
- 118, 119, 120, 120, 89, 90, 90, 130, 130, 105,
- 135, 135, 135, 121, 177, 79, 91, 248, 136, 99,
- 100, 100, 137, 103, 104, 104, 140, 140, 140, 122,
- 381, 101, 122, 127, 141, 106, 127, 127, 142, 177,
- 127, 127, 127, 225, 127, 144, 144, 144, 127, 380,
-
- 234, 183, 177, 145, 215, 229, 227, 146, 155, 155,
- 155, 135, 135, 135, 210, 183, 145, 210, 236, 136,
- 156, 379, 237, 137, 183, 163, 90, 90, 378, 377,
- 140, 140, 140, 167, 100, 100, 122, 164, 141, 122,
- 127, 376, 142, 127, 127, 168, 241, 127, 127, 127,
- 177, 127, 144, 144, 144, 127, 171, 104, 104, 369,
- 145, 191, 192, 192, 146, 163, 90, 90, 172, 178,
- 116, 116, 372, 193, 163, 90, 90, 164, 163, 90,
- 90, 179, 196, 197, 197, 375, 164, 167, 100, 100,
- 194, 243, 244, 210, 198, 183, 183, 180, 253, 168,
-
- 180, 184, 120, 120, 167, 100, 100, 167, 100, 100,
- 201, 202, 202, 185, 252, 315, 168, 210, 210, 199,
- 261, 315, 203, 171, 104, 104, 171, 104, 104, 186,
- 177, 290, 186, 362, 330, 172, 177, 345, 172, 171,
- 104, 104, 177, 191, 192, 192, 191, 192, 192, 183,
- 330, 204, 178, 116, 116, 193, 375, 308, 193, 135,
- 135, 135, 328, 347, 179, 183, 315, 136, 183, 374,
- 207, 137, 373, 210, 360, 191, 192, 192, 210, 347,
- 180, 177, 372, 180, 178, 116, 116, 220, 163, 90,
- 90, 196, 197, 197, 210, 371, 179, 196, 197, 197,
-
- 194, 371, 375, 198, 371, 360, 369, 360, 369, 198,
- 330, 362, 180, 370, 215, 180, 178, 116, 116, 140,
- 140, 140, 196, 197, 197, 183, 346, 141, 207, 369,
- 371, 142, 210, 363, 221, 345, 322, 362, 362, 167,
- 100, 100, 345, 375, 180, 361, 361, 180, 178, 116,
- 116, 199, 201, 202, 202, 201, 202, 202, 370, 360,
- 179, 144, 144, 144, 203, 183, 347, 203, 331, 145,
- 346, 208, 345, 146, 177, 330, 180, 331, 329, 180,
- 211, 212, 212, 201, 202, 202, 171, 104, 104, 191,
- 192, 192, 213, 315, 314, 222, 279, 274, 204, 269,
-
- 264, 220, 262, 196, 197, 197, 260, 258, 214, 245,
- 242, 214, 184, 120, 120, 221, 201, 202, 202, 249,
- 249, 249, 347, 238, 185, 235, 227, 250, 222, 230,
- 226, 251, 217, 209, 187, 182, 181, 210, 114, 173,
- 186, 169, 165, 186, 184, 120, 120, 254, 254, 254,
- 249, 249, 249, 161, 70, 255, 185, 158, 250, 256,
- 157, 388, 251, 154, 153, 388, 114, 148, 147, 143,
- 138, 70, 186, 114, 97, 186, 184, 120, 120, 254,
- 254, 254, 271, 249, 249, 95, 87, 255, 215, 86,
- 272, 256, 85, 84, 273, 83, 76, 73, 388, 64,
-
- 64, 63, 63, 59, 186, 59, 53, 186, 184, 120,
- 120, 281, 254, 254, 271, 249, 249, 53, 51, 282,
- 185, 51, 272, 283, 45, 45, 273, 388, 388, 388,
- 388, 216, 388, 388, 388, 388, 186, 388, 388, 186,
- 211, 212, 212, 271, 249, 249, 292, 293, 293, 388,
- 388, 272, 213, 388, 272, 273, 388, 388, 294, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 214, 388,
- 388, 214, 211, 212, 212, 271, 249, 249, 281, 254,
- 254, 388, 388, 272, 213, 388, 282, 295, 388, 388,
- 283, 388, 388, 388, 388, 388, 388, 388, 388, 388,
-
- 214, 388, 388, 214, 211, 212, 212, 281, 254, 254,
- 310, 311, 311, 388, 388, 282, 227, 388, 282, 283,
- 388, 388, 312, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 214, 388, 388, 214, 211, 212, 212, 281,
- 254, 254, 271, 249, 249, 388, 388, 282, 213, 388,
- 321, 313, 388, 388, 273, 388, 388, 388, 388, 228,
- 388, 388, 388, 388, 214, 388, 388, 214, 265, 266,
- 266, 271, 249, 249, 388, 388, 267, 388, 388, 321,
- 268, 388, 388, 273, 388, 388, 388, 249, 249, 249,
- 388, 177, 275, 276, 276, 322, 388, 388, 388, 251,
-
- 277, 271, 249, 249, 278, 388, 388, 388, 388, 321,
- 388, 388, 388, 295, 388, 183, 265, 266, 266, 271,
- 249, 249, 388, 388, 267, 388, 388, 272, 268, 388,
- 388, 295, 388, 388, 388, 281, 254, 254, 388, 177,
- 266, 266, 266, 337, 388, 388, 388, 283, 250, 281,
- 254, 254, 284, 388, 254, 254, 254, 337, 388, 388,
- 388, 283, 338, 388, 388, 388, 256, 388, 118, 388,
- 388, 118, 286, 287, 287, 281, 254, 254, 388, 388,
- 177, 388, 388, 337, 288, 388, 388, 313, 388, 281,
- 254, 254, 388, 388, 388, 388, 388, 282, 388, 388,
-
- 289, 313, 388, 289, 296, 297, 297, 292, 293, 293,
- 388, 388, 298, 388, 388, 272, 299, 388, 388, 294,
- 388, 388, 388, 310, 311, 311, 388, 210, 275, 276,
- 276, 282, 388, 388, 388, 312, 277, 388, 388, 388,
- 278, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 183, 300, 300, 300, 388, 388, 388, 388, 388,
- 301, 388, 388, 388, 302, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 122, 388, 388, 122, 304, 305, 305, 388, 388, 388,
- 388, 388, 183, 388, 388, 388, 306, 388, 388, 388,
-
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 307, 388, 388, 307, 116, 116, 116, 388,
- 388, 388, 388, 388, 269, 388, 388, 388, 117, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 118, 388, 388, 118, 317, 266,
- 266, 388, 388, 388, 388, 388, 318, 388, 388, 388,
- 319, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 320, 388, 388, 320,
- 296, 297, 297, 388, 388, 388, 388, 388, 298, 388,
- 388, 388, 299, 388, 388, 388, 388, 388, 388, 388,
-
- 388, 388, 388, 210, 324, 325, 325, 388, 388, 388,
- 388, 388, 210, 388, 388, 388, 326, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 327, 388, 388, 327, 333, 276, 276, 388,
- 388, 388, 388, 388, 334, 388, 388, 388, 335, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 336, 388, 388, 336, 317, 266,
- 266, 388, 388, 388, 388, 388, 318, 388, 388, 388,
- 339, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 320, 388, 388, 320,
-
- 341, 342, 342, 388, 388, 388, 388, 388, 318, 388,
- 388, 388, 343, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 344, 388,
- 388, 344, 349, 297, 297, 388, 388, 388, 388, 388,
- 350, 388, 388, 388, 351, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 352, 388, 388, 352, 349, 297, 297, 388, 388, 388,
- 388, 388, 350, 388, 388, 388, 353, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 352, 388, 388, 352, 333, 276, 276, 388,
-
- 388, 388, 388, 388, 334, 388, 388, 388, 354, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 336, 388, 388, 336, 356, 357,
- 357, 388, 388, 388, 388, 388, 334, 388, 388, 388,
- 358, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 359, 388, 388, 359,
- 365, 366, 366, 388, 388, 388, 388, 388, 350, 388,
- 388, 388, 367, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 368, 388,
- 388, 368, 341, 342, 342, 388, 388, 388, 388, 388,
-
- 318, 388, 388, 388, 343, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 344, 388, 388, 344, 356, 357, 357, 388, 388, 388,
- 388, 388, 334, 388, 388, 388, 358, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 359, 388, 388, 359, 365, 366, 366, 388,
- 388, 388, 388, 388, 350, 388, 388, 388, 367, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 368, 388, 388, 368, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 46,
-
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
- 50, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 65, 65, 65, 65, 65,
- 65, 65, 65, 65, 65, 65, 69, 388, 388, 388,
- 69, 72, 388, 388, 72, 72, 72, 82, 388, 388,
- 82, 82, 82, 88, 88, 88, 88, 88, 388, 88,
-
- 88, 88, 88, 88, 92, 92, 92, 92, 92, 92,
- 388, 92, 92, 92, 92, 96, 96, 96, 388, 96,
- 96, 96, 96, 96, 96, 96, 98, 98, 98, 98,
- 98, 388, 98, 98, 98, 98, 98, 102, 102, 102,
- 102, 102, 388, 102, 102, 102, 102, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 107, 107, 112, 112,
- 112, 112, 112, 388, 112, 112, 112, 112, 112, 113,
- 113, 113, 113, 388, 113, 113, 113, 113, 113, 113,
- 115, 388, 388, 388, 115, 115, 125, 388, 388, 125,
- 125, 125, 126, 388, 126, 126, 126, 126, 126, 126,
-
- 126, 126, 126, 128, 388, 388, 388, 128, 139, 388,
- 388, 388, 139, 149, 149, 150, 150, 151, 151, 152,
- 388, 388, 152, 152, 152, 159, 159, 160, 160, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 174, 174, 175, 175, 176, 176, 177, 177,
- 177, 177, 177, 177, 177, 177, 177, 177, 177, 183,
+ 28, 29, 30, 29, 31, 32, 33, 34, 31, 35,
+ 36, 34, 34, 37, 38, 39, 40, 40, 41, 34,
+ 42, 43, 42, 42, 44, 42, 45, 42, 42, 46,
+ 47, 28, 46, 47, 51, 80, 261, 51, 51, 59,
+ 59, 52, 51, 51, 65, 53, 60, 60, 66, 51,
+ 51, 65, 80, 51, 51, 66, 84, 52, 51, 51,
+ 88, 53, 89, 89, 81, 51, 85, 85, 61, 61,
+ 69, 70, 69, 82, 82, 82, 82, 82, 82, 94,
+ 95, 81, 71, 91, 256, 92, 92, 103, 104, 104,
+ 107, 85, 85, 93, 108, 113, 114, 114, 72, 105,
+
+ 254, 72, 69, 70, 69, 122, 252, 115, 117, 118,
+ 118, 117, 118, 118, 71, 240, 119, 239, 123, 119,
+ 120, 124, 125, 120, 130, 130, 130, 130, 130, 130,
+ 72, 148, 148, 72, 75, 76, 75, 133, 134, 134,
+ 136, 136, 136, 235, 139, 119, 77, 140, 233, 135,
+ 136, 136, 136, 82, 82, 82, 89, 89, 225, 149,
+ 148, 148, 78, 150, 93, 78, 75, 76, 75, 145,
+ 107, 146, 146, 91, 108, 92, 92, 219, 77, 93,
+ 147, 147, 199, 93, 148, 148, 195, 103, 104, 104,
+ 194, 113, 114, 114, 78, 128, 190, 78, 143, 105,
+
+ 186, 143, 143, 115, 182, 143, 143, 143, 178, 143,
+ 151, 151, 151, 143, 84, 156, 156, 156, 152, 117,
+ 118, 118, 153, 157, 160, 160, 160, 158, 130, 130,
+ 130, 120, 161, 133, 134, 134, 162, 175, 171, 171,
+ 171, 136, 136, 136, 173, 135, 161, 170, 146, 146,
+ 172, 143, 128, 164, 143, 143, 93, 163, 143, 143,
+ 143, 159, 143, 151, 151, 151, 143, 180, 104, 104,
+ 154, 152, 156, 156, 156, 153, 184, 114, 114, 181,
+ 157, 160, 160, 160, 158, 188, 118, 118, 185, 161,
+ 171, 171, 171, 162, 197, 134, 134, 189, 161, 203,
+
+ 204, 204, 172, 180, 104, 104, 198, 180, 104, 104,
+ 84, 205, 180, 104, 104, 181, 208, 209, 209, 181,
+ 184, 114, 114, 138, 206, 184, 114, 114, 210, 184,
+ 114, 114, 185, 213, 214, 214, 137, 185, 188, 118,
+ 118, 211, 188, 118, 118, 215, 188, 118, 118, 132,
+ 189, 221, 222, 222, 189, 197, 134, 134, 216, 197,
+ 134, 134, 131, 223, 197, 134, 134, 198, 203, 204,
+ 204, 198, 203, 204, 204, 111, 224, 151, 151, 151,
+ 205, 203, 204, 204, 205, 152, 180, 104, 104, 153,
+ 208, 209, 209, 228, 208, 209, 209, 128, 206, 156,
+
+ 156, 156, 210, 208, 209, 209, 210, 157, 184, 114,
+ 114, 158, 213, 214, 214, 229, 213, 214, 214, 111,
+ 211, 160, 160, 160, 215, 213, 214, 214, 215, 161,
+ 188, 118, 118, 162, 221, 222, 222, 230, 221, 222,
+ 222, 109, 216, 171, 171, 171, 223, 221, 222, 222,
+ 223, 161, 197, 134, 134, 172, 203, 204, 204, 234,
+ 208, 209, 209, 101, 224, 213, 214, 214, 228, 221,
+ 222, 222, 229, 100, 243, 243, 243, 230, 99, 98,
+ 97, 234, 244, 246, 246, 246, 245, 90, 243, 243,
+ 243, 247, 87, 280, 73, 248, 244, 246, 246, 246,
+
+ 245, 73, 258, 243, 243, 247, 67, 67, 63, 248,
+ 259, 263, 246, 246, 260, 63, 258, 243, 243, 264,
+ 57, 57, 55, 265, 259, 258, 243, 243, 260, 55,
+ 267, 268, 268, 259, 49, 49, 280, 260, 259, 258,
+ 243, 243, 269, 280, 263, 246, 246, 259, 280, 280,
+ 280, 270, 264, 263, 246, 246, 265, 280, 272, 273,
+ 273, 264, 280, 280, 280, 265, 264, 263, 246, 246,
+ 274, 280, 258, 243, 243, 264, 280, 280, 280, 275,
+ 276, 258, 243, 243, 260, 280, 243, 243, 243, 276,
+ 280, 280, 280, 260, 277, 258, 243, 243, 245, 280,
+
+ 258, 243, 243, 276, 280, 280, 280, 270, 259, 263,
+ 246, 246, 270, 280, 263, 246, 246, 278, 280, 280,
+ 280, 265, 278, 246, 246, 246, 265, 280, 263, 246,
+ 246, 279, 280, 280, 280, 248, 278, 263, 246, 246,
+ 275, 280, 267, 268, 268, 264, 280, 280, 280, 275,
+ 259, 272, 273, 273, 269, 280, 280, 280, 280, 264,
+ 280, 280, 280, 274, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 56, 56, 56,
+
+ 56, 56, 56, 56, 56, 56, 56, 56, 58, 58,
+ 58, 58, 58, 58, 58, 58, 58, 58, 58, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 74, 74, 74, 74, 74, 74, 74, 74,
+ 74, 74, 74, 79, 79, 79, 79, 79, 79, 79,
+ 79, 79, 79, 79, 83, 280, 280, 280, 83, 86,
+ 280, 280, 86, 86, 86, 96, 280, 280, 96, 96,
+ 96, 102, 102, 102, 102, 102, 280, 102, 102, 102,
+
+ 102, 102, 106, 106, 106, 106, 106, 106, 280, 106,
+ 106, 106, 106, 110, 110, 110, 280, 110, 110, 110,
+ 110, 110, 110, 110, 112, 112, 112, 112, 112, 280,
+ 112, 112, 112, 112, 112, 116, 116, 116, 116, 116,
+ 280, 116, 116, 116, 116, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 126, 126, 126, 126,
+ 126, 280, 126, 126, 126, 126, 126, 127, 127, 127,
+ 127, 280, 127, 127, 127, 127, 127, 127, 129, 280,
+ 280, 280, 129, 129, 141, 280, 280, 141, 141, 141,
+ 142, 280, 142, 142, 142, 142, 142, 142, 142, 142,
+
+ 142, 144, 280, 280, 280, 144, 155, 280, 280, 280,
+ 155, 165, 165, 166, 166, 167, 167, 168, 280, 280,
+ 168, 168, 168, 169, 280, 169, 169, 169, 169, 169,
+ 169, 169, 169, 169, 174, 280, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 176, 176, 177, 177, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 188, 188, 189, 189, 190, 190, 190, 190, 190, 190,
-
- 190, 190, 190, 190, 190, 195, 195, 195, 195, 195,
- 195, 195, 195, 195, 195, 195, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 205, 205, 206,
- 206, 210, 210, 210, 210, 210, 210, 210, 210, 210,
- 210, 210, 218, 218, 219, 219, 223, 223, 224, 224,
- 231, 231, 232, 232, 233, 233, 239, 239, 240, 240,
- 246, 246, 247, 247, 257, 257, 259, 259, 259, 259,
- 259, 388, 259, 259, 259, 259, 259, 263, 263, 263,
- 263, 263, 388, 263, 263, 263, 263, 263, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 280,
-
+ 183, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 191, 191, 192, 192, 193, 193, 196, 196,
+ 196, 196, 196, 196, 196, 196, 196, 196, 196, 200,
+
+ 200, 201, 201, 202, 202, 202, 202, 202, 202, 202,
+ 202, 202, 202, 202, 207, 207, 207, 207, 207, 207,
+ 207, 207, 207, 207, 207, 212, 212, 212, 212, 212,
+ 212, 212, 212, 212, 212, 212, 217, 217, 218, 218,
+ 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
+ 220, 226, 226, 227, 227, 231, 231, 232, 232, 236,
+ 236, 237, 237, 238, 238, 241, 241, 242, 242, 249,
+ 249, 250, 250, 251, 251, 251, 251, 251, 280, 251,
+ 251, 251, 251, 251, 253, 253, 253, 253, 253, 280,
+ 253, 253, 253, 253, 253, 255, 255, 257, 257, 257,
+
+ 257, 257, 257, 257, 257, 257, 257, 257, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 266,
+ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
+ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ 271, 27, 280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
- 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
- 285, 291, 291, 291, 291, 291, 291, 291, 291, 291,
- 291, 291, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 323, 323, 323, 323, 323,
- 323, 323, 323, 323, 323, 323, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 348, 348,
-
- 348, 348, 348, 348, 348, 348, 348, 348, 348, 355,
- 355, 355, 355, 355, 355, 355, 355, 355, 355, 355,
- 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
- 364, 23, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280
} ;
-static yyconst flex_int16_t yy_chk[2067] =
+static yyconst flex_int16_t yy_chk[1177] =
{ 0,
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, 5, 21, 385, 5, 5, 11,
+ 1, 1, 1, 1, 5, 25, 253, 5, 5, 11,
12, 5, 5, 5, 15, 5, 11, 12, 15, 5,
- 6, 16, 22, 6, 6, 16, 29, 6, 6, 6,
- 34, 6, 34, 34, 21, 6, 29, 29, 11, 12,
- 25, 25, 25, 26, 26, 26, 36, 383, 36, 36,
- 48, 22, 37, 37, 48, 382, 36, 45, 45, 45,
- 53, 53, 53, 56, 56, 56, 57, 67, 381, 45,
-
- 67, 56, 53, 71, 71, 56, 59, 59, 59, 57,
- 131, 131, 57, 57, 59, 68, 68, 68, 59, 63,
- 63, 63, 207, 63, 75, 75, 77, 380, 77, 77,
- 86, 63, 75, 207, 86, 78, 77, 78, 78, 79,
- 79, 379, 93, 79, 79, 78, 93, 63, 132, 132,
- 63, 64, 64, 64, 89, 89, 89, 130, 130, 64,
- 90, 90, 90, 64, 241, 130, 89, 241, 90, 99,
- 99, 99, 90, 103, 103, 103, 100, 100, 100, 64,
- 378, 99, 64, 73, 100, 103, 73, 73, 100, 208,
- 73, 73, 73, 208, 73, 104, 104, 104, 73, 377,
-
- 225, 216, 225, 104, 215, 216, 227, 104, 120, 120,
- 120, 135, 135, 135, 228, 215, 120, 227, 228, 135,
- 120, 376, 229, 135, 229, 138, 138, 138, 374, 373,
- 140, 140, 140, 143, 143, 143, 120, 138, 140, 120,
- 127, 370, 140, 127, 127, 143, 234, 127, 127, 127,
- 234, 127, 144, 144, 144, 127, 147, 147, 147, 369,
- 144, 161, 161, 161, 144, 162, 162, 162, 147, 153,
- 153, 153, 366, 161, 163, 163, 163, 162, 164, 164,
- 164, 153, 165, 165, 165, 365, 163, 166, 166, 166,
- 164, 236, 237, 236, 165, 244, 237, 153, 244, 166,
-
- 153, 157, 157, 157, 167, 167, 167, 168, 168, 168,
- 169, 169, 169, 157, 243, 285, 167, 252, 243, 168,
- 252, 286, 169, 170, 170, 170, 171, 171, 171, 157,
- 285, 268, 157, 343, 303, 170, 286, 343, 171, 172,
- 172, 172, 268, 190, 190, 190, 191, 191, 191, 303,
- 304, 172, 177, 177, 177, 190, 364, 278, 191, 192,
- 192, 192, 299, 323, 177, 304, 288, 192, 278, 363,
- 288, 192, 361, 299, 360, 193, 193, 193, 323, 324,
- 177, 288, 357, 177, 178, 178, 178, 193, 194, 194,
- 194, 195, 195, 195, 324, 356, 178, 196, 196, 196,
-
- 194, 358, 367, 195, 355, 358, 367, 354, 353, 196,
- 306, 344, 178, 352, 306, 178, 179, 179, 179, 197,
- 197, 197, 198, 198, 198, 306, 344, 197, 179, 351,
- 359, 197, 347, 346, 198, 345, 342, 341, 340, 199,
- 199, 199, 339, 368, 179, 359, 336, 179, 180, 180,
- 180, 199, 200, 200, 200, 201, 201, 201, 368, 335,
- 180, 202, 202, 202, 200, 330, 327, 201, 325, 202,
- 320, 180, 319, 202, 315, 307, 180, 305, 302, 180,
- 182, 182, 182, 203, 203, 203, 204, 204, 204, 220,
- 220, 220, 182, 289, 284, 203, 263, 261, 204, 259,
-
- 256, 220, 253, 221, 221, 221, 251, 248, 182, 238,
- 235, 182, 183, 183, 183, 221, 222, 222, 222, 242,
- 242, 242, 326, 230, 183, 226, 326, 242, 222, 217,
- 209, 242, 187, 181, 158, 156, 154, 326, 152, 148,
- 183, 146, 142, 183, 184, 184, 184, 245, 245, 245,
- 249, 249, 249, 137, 125, 245, 184, 122, 249, 245,
- 121, 119, 249, 118, 117, 116, 115, 108, 106, 101,
- 91, 72, 184, 62, 51, 184, 185, 185, 185, 254,
- 254, 254, 260, 260, 260, 49, 43, 254, 185, 42,
- 260, 254, 41, 40, 260, 39, 35, 33, 23, 20,
-
- 19, 18, 17, 14, 185, 13, 10, 185, 186, 186,
- 186, 264, 264, 264, 270, 270, 270, 9, 8, 264,
- 186, 7, 270, 264, 4, 3, 270, 0, 0, 0,
- 0, 186, 0, 0, 0, 0, 186, 0, 0, 186,
- 210, 210, 210, 271, 271, 271, 272, 272, 272, 0,
- 0, 271, 210, 0, 272, 271, 0, 0, 272, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 210, 0,
- 0, 210, 211, 211, 211, 273, 273, 273, 280, 280,
- 280, 0, 0, 273, 211, 0, 280, 273, 0, 0,
- 280, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 211, 0, 0, 211, 213, 213, 213, 281, 281, 281,
- 282, 282, 282, 0, 0, 281, 213, 0, 282, 281,
- 0, 0, 282, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 213, 0, 0, 213, 214, 214, 214, 283,
- 283, 283, 291, 291, 291, 0, 0, 283, 214, 0,
- 291, 283, 0, 0, 291, 0, 0, 0, 0, 214,
- 0, 0, 0, 0, 214, 0, 0, 214, 258, 258,
- 258, 292, 292, 292, 0, 0, 258, 0, 0, 292,
- 258, 0, 0, 292, 0, 0, 0, 293, 293, 293,
- 0, 258, 262, 262, 262, 293, 0, 0, 0, 293,
-
- 262, 294, 294, 294, 262, 0, 0, 0, 0, 294,
- 0, 0, 0, 294, 0, 262, 265, 265, 265, 295,
- 295, 295, 0, 0, 265, 0, 0, 295, 265, 0,
- 0, 295, 0, 0, 0, 309, 309, 309, 0, 265,
- 266, 266, 266, 309, 0, 0, 0, 309, 266, 310,
- 310, 310, 266, 0, 311, 311, 311, 310, 0, 0,
- 0, 310, 311, 0, 0, 0, 311, 0, 266, 0,
- 0, 266, 267, 267, 267, 312, 312, 312, 0, 0,
- 267, 0, 0, 312, 267, 0, 0, 312, 0, 313,
- 313, 313, 0, 0, 0, 0, 0, 313, 0, 0,
-
- 267, 313, 0, 267, 274, 274, 274, 321, 321, 321,
- 0, 0, 274, 0, 0, 321, 274, 0, 0, 321,
- 0, 0, 0, 337, 337, 337, 0, 274, 275, 275,
- 275, 337, 0, 0, 0, 337, 275, 0, 0, 0,
- 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 276, 276, 276, 0, 0, 0, 0, 0,
- 276, 0, 0, 0, 276, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 276, 0, 0, 276, 277, 277, 277, 0, 0, 0,
- 0, 0, 277, 0, 0, 0, 277, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 277, 0, 0, 277, 287, 287, 287, 0,
- 0, 0, 0, 0, 287, 0, 0, 0, 287, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 287, 0, 0, 287, 290, 290,
- 290, 0, 0, 0, 0, 0, 290, 0, 0, 0,
- 290, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 290, 0, 0, 290,
- 296, 296, 296, 0, 0, 0, 0, 0, 296, 0,
- 0, 0, 296, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 296, 298, 298, 298, 0, 0, 0,
- 0, 0, 298, 0, 0, 0, 298, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 298, 0, 0, 298, 308, 308, 308, 0,
- 0, 0, 0, 0, 308, 0, 0, 0, 308, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 308, 0, 0, 308, 314, 314,
- 314, 0, 0, 0, 0, 0, 314, 0, 0, 0,
- 314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 314, 0, 0, 314,
-
- 318, 318, 318, 0, 0, 0, 0, 0, 318, 0,
- 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 318, 0,
- 0, 318, 328, 328, 328, 0, 0, 0, 0, 0,
- 328, 0, 0, 0, 328, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 328, 0, 0, 328, 329, 329, 329, 0, 0, 0,
- 0, 0, 329, 0, 0, 0, 329, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 329, 0, 0, 329, 332, 332, 332, 0,
-
- 0, 0, 0, 0, 332, 0, 0, 0, 332, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 332, 0, 0, 332, 334, 334,
- 334, 0, 0, 0, 0, 0, 334, 0, 0, 0,
- 334, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 334, 0, 0, 334,
- 350, 350, 350, 0, 0, 0, 0, 0, 350, 0,
- 0, 0, 350, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 350, 0,
- 0, 350, 362, 362, 362, 0, 0, 0, 0, 0,
-
- 362, 0, 0, 0, 362, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 362, 0, 0, 362, 371, 371, 371, 0, 0, 0,
- 0, 0, 371, 0, 0, 0, 371, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 371, 0, 0, 371, 375, 375, 375, 0,
- 0, 0, 0, 0, 375, 0, 0, 0, 375, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 375, 0, 0, 375, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 390,
-
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 392, 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 393, 393, 393, 393, 393, 393, 393, 393,
- 393, 393, 393, 394, 394, 394, 394, 394, 394, 394,
- 394, 394, 394, 394, 395, 395, 395, 395, 395, 395,
- 395, 395, 395, 395, 395, 396, 396, 396, 396, 396,
- 396, 396, 396, 396, 396, 396, 397, 0, 0, 0,
- 397, 398, 0, 0, 398, 398, 398, 399, 0, 0,
- 399, 399, 399, 400, 400, 400, 400, 400, 0, 400,
-
- 400, 400, 400, 400, 401, 401, 401, 401, 401, 401,
- 0, 401, 401, 401, 401, 402, 402, 402, 0, 402,
- 402, 402, 402, 402, 402, 402, 403, 403, 403, 403,
- 403, 0, 403, 403, 403, 403, 403, 404, 404, 404,
- 404, 404, 0, 404, 404, 404, 404, 405, 405, 405,
- 405, 405, 405, 405, 405, 405, 405, 405, 406, 406,
- 406, 406, 406, 0, 406, 406, 406, 406, 406, 407,
- 407, 407, 407, 0, 407, 407, 407, 407, 407, 407,
- 408, 0, 0, 0, 408, 408, 409, 0, 0, 409,
- 409, 409, 410, 0, 410, 410, 410, 410, 410, 410,
-
- 410, 410, 410, 411, 0, 0, 0, 411, 412, 0,
- 0, 0, 412, 413, 413, 414, 414, 415, 415, 416,
- 0, 0, 416, 416, 416, 417, 417, 418, 418, 419,
- 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
- 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
- 420, 421, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 422, 422, 423, 423, 424, 424, 425, 425,
- 425, 425, 425, 425, 425, 425, 425, 425, 425, 426,
- 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
- 427, 427, 428, 428, 429, 429, 429, 429, 429, 429,
-
- 429, 429, 429, 429, 429, 430, 430, 430, 430, 430,
- 430, 430, 430, 430, 430, 430, 431, 431, 431, 431,
- 431, 431, 431, 431, 431, 431, 431, 432, 432, 433,
- 433, 434, 434, 434, 434, 434, 434, 434, 434, 434,
- 434, 434, 435, 435, 436, 436, 437, 437, 438, 438,
- 439, 439, 440, 440, 441, 441, 442, 442, 443, 443,
- 444, 444, 445, 445, 446, 446, 447, 447, 447, 447,
- 447, 0, 447, 447, 447, 447, 447, 448, 448, 448,
- 448, 448, 0, 448, 448, 448, 448, 448, 449, 449,
- 449, 449, 449, 449, 449, 449, 449, 449, 449, 450,
-
- 450, 450, 450, 450, 450, 450, 450, 450, 450, 450,
- 451, 451, 451, 451, 451, 451, 451, 451, 451, 451,
- 451, 452, 452, 452, 452, 452, 452, 452, 452, 452,
- 452, 452, 453, 453, 453, 453, 453, 453, 453, 453,
- 453, 453, 453, 454, 454, 454, 454, 454, 454, 454,
- 454, 454, 454, 454, 455, 455, 455, 455, 455, 455,
- 455, 455, 455, 455, 455, 456, 456, 456, 456, 456,
- 456, 456, 456, 456, 456, 456, 457, 457, 457, 457,
- 457, 457, 457, 457, 457, 457, 457, 458, 458, 458,
- 458, 458, 458, 458, 458, 458, 458, 458, 459, 459,
-
- 459, 459, 459, 459, 459, 459, 459, 459, 459, 460,
- 460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
- 461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
- 461, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388
+ 6, 16, 26, 6, 6, 16, 33, 6, 6, 6,
+ 38, 6, 38, 38, 25, 6, 33, 33, 11, 12,
+ 19, 19, 19, 29, 29, 29, 30, 30, 30, 41,
+ 41, 26, 19, 40, 251, 40, 40, 49, 49, 49,
+ 52, 85, 85, 40, 52, 57, 57, 57, 19, 49,
+
+ 248, 19, 20, 20, 20, 61, 245, 57, 60, 60,
+ 60, 63, 63, 63, 20, 235, 60, 233, 61, 63,
+ 60, 61, 61, 63, 69, 69, 69, 70, 70, 70,
+ 20, 147, 147, 20, 23, 23, 23, 73, 73, 73,
+ 75, 75, 75, 225, 81, 73, 23, 81, 219, 73,
+ 76, 76, 76, 82, 82, 82, 89, 89, 199, 100,
+ 148, 148, 23, 100, 89, 23, 24, 24, 24, 91,
+ 107, 91, 91, 92, 107, 92, 92, 194, 24, 91,
+ 93, 93, 175, 92, 93, 93, 172, 103, 103, 103,
+ 170, 113, 113, 113, 24, 168, 164, 24, 87, 103,
+
+ 162, 87, 87, 113, 158, 87, 87, 87, 153, 87,
+ 104, 104, 104, 87, 141, 114, 114, 114, 104, 117,
+ 117, 117, 104, 114, 118, 118, 118, 114, 130, 130,
+ 130, 117, 118, 133, 133, 133, 118, 138, 134, 134,
+ 134, 136, 136, 136, 135, 133, 134, 132, 146, 146,
+ 134, 143, 129, 122, 143, 143, 146, 120, 143, 143,
+ 143, 115, 143, 151, 151, 151, 143, 154, 154, 154,
+ 105, 151, 156, 156, 156, 151, 159, 159, 159, 154,
+ 156, 160, 160, 160, 156, 163, 163, 163, 159, 160,
+ 171, 171, 171, 160, 173, 173, 173, 163, 171, 178,
+
+ 178, 178, 171, 179, 179, 179, 173, 180, 180, 180,
+ 86, 178, 181, 181, 181, 179, 182, 182, 182, 180,
+ 183, 183, 183, 78, 181, 184, 184, 184, 182, 185,
+ 185, 185, 183, 186, 186, 186, 77, 184, 187, 187,
+ 187, 185, 188, 188, 188, 186, 189, 189, 189, 72,
+ 187, 195, 195, 195, 188, 196, 196, 196, 189, 197,
+ 197, 197, 71, 195, 198, 198, 198, 196, 202, 202,
+ 202, 197, 203, 203, 203, 67, 198, 204, 204, 204,
+ 202, 205, 205, 205, 203, 204, 206, 206, 206, 204,
+ 207, 207, 207, 205, 208, 208, 208, 66, 206, 209,
+
+ 209, 209, 207, 210, 210, 210, 208, 209, 211, 211,
+ 211, 209, 212, 212, 212, 210, 213, 213, 213, 55,
+ 211, 214, 214, 214, 212, 215, 215, 215, 213, 214,
+ 216, 216, 216, 214, 220, 220, 220, 215, 221, 221,
+ 221, 53, 216, 222, 222, 222, 220, 223, 223, 223,
+ 221, 222, 224, 224, 224, 222, 228, 228, 228, 223,
+ 229, 229, 229, 47, 224, 230, 230, 230, 228, 234,
+ 234, 234, 229, 46, 239, 239, 239, 230, 45, 44,
+ 43, 234, 239, 240, 240, 240, 239, 39, 243, 243,
+ 243, 240, 37, 27, 22, 240, 243, 246, 246, 246,
+
+ 243, 21, 252, 252, 252, 246, 18, 17, 14, 246,
+ 252, 254, 254, 254, 252, 13, 257, 257, 257, 254,
+ 10, 9, 8, 254, 257, 258, 258, 258, 257, 7,
+ 259, 259, 259, 258, 4, 3, 0, 258, 259, 260,
+ 260, 260, 259, 0, 262, 262, 262, 260, 0, 0,
+ 0, 260, 262, 263, 263, 263, 262, 0, 264, 264,
+ 264, 263, 0, 0, 0, 263, 264, 265, 265, 265,
+ 264, 0, 266, 266, 266, 265, 0, 0, 0, 265,
+ 266, 267, 267, 267, 266, 0, 268, 268, 268, 267,
+ 0, 0, 0, 267, 268, 269, 269, 269, 268, 0,
+
+ 270, 270, 270, 269, 0, 0, 0, 269, 270, 271,
+ 271, 271, 270, 0, 272, 272, 272, 271, 0, 0,
+ 0, 271, 272, 273, 273, 273, 272, 0, 274, 274,
+ 274, 273, 0, 0, 0, 273, 274, 275, 275, 275,
+ 274, 0, 276, 276, 276, 275, 0, 0, 0, 275,
+ 276, 278, 278, 278, 276, 0, 0, 0, 0, 278,
+ 0, 0, 0, 278, 281, 281, 281, 281, 281, 281,
+ 281, 281, 281, 281, 281, 282, 282, 282, 282, 282,
+ 282, 282, 282, 282, 282, 282, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 284, 284, 284,
+
+ 284, 284, 284, 284, 284, 284, 284, 284, 285, 285,
+ 285, 285, 285, 285, 285, 285, 285, 285, 285, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
+ 287, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 289, 289, 289, 289, 289, 289, 289, 289,
+ 289, 289, 289, 290, 290, 290, 290, 290, 290, 290,
+ 290, 290, 290, 290, 291, 0, 0, 0, 291, 292,
+ 0, 0, 292, 292, 292, 293, 0, 0, 293, 293,
+ 293, 294, 294, 294, 294, 294, 0, 294, 294, 294,
+
+ 294, 294, 295, 295, 295, 295, 295, 295, 0, 295,
+ 295, 295, 295, 296, 296, 296, 0, 296, 296, 296,
+ 296, 296, 296, 296, 297, 297, 297, 297, 297, 0,
+ 297, 297, 297, 297, 297, 298, 298, 298, 298, 298,
+ 0, 298, 298, 298, 298, 299, 299, 299, 299, 299,
+ 299, 299, 299, 299, 299, 299, 300, 300, 300, 300,
+ 300, 0, 300, 300, 300, 300, 300, 301, 301, 301,
+ 301, 0, 301, 301, 301, 301, 301, 301, 302, 0,
+ 0, 0, 302, 302, 303, 0, 0, 303, 303, 303,
+ 304, 0, 304, 304, 304, 304, 304, 304, 304, 304,
+
+ 304, 305, 0, 0, 0, 305, 306, 0, 0, 0,
+ 306, 307, 307, 308, 308, 309, 309, 310, 0, 0,
+ 310, 310, 310, 311, 0, 311, 311, 311, 311, 311,
+ 311, 311, 311, 311, 312, 0, 312, 312, 312, 312,
+ 312, 312, 312, 312, 312, 313, 313, 314, 314, 315,
+ 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 318, 318, 319, 319, 320, 320, 321, 321,
+ 321, 321, 321, 321, 321, 321, 321, 321, 321, 322,
+
+ 322, 323, 323, 324, 324, 324, 324, 324, 324, 324,
+ 324, 324, 324, 324, 325, 325, 325, 325, 325, 325,
+ 325, 325, 325, 325, 325, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 327, 327, 328, 328,
+ 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
+ 329, 330, 330, 331, 331, 332, 332, 333, 333, 334,
+ 334, 335, 335, 336, 336, 337, 337, 338, 338, 339,
+ 339, 340, 340, 341, 341, 341, 341, 341, 0, 341,
+ 341, 341, 341, 341, 342, 342, 342, 342, 342, 0,
+ 342, 342, 342, 342, 342, 343, 343, 344, 344, 344,
+
+ 344, 344, 344, 344, 344, 344, 344, 344, 345, 345,
+ 345, 345, 345, 345, 345, 345, 345, 345, 345, 346,
+ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
+ 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
+ 347, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280
} ;
/* The intent behind this definition is that it'll catch
@@ -1052,11 +818,12 @@ static yyconst flex_int16_t yy_chk[2067] =
* for handling float numbers and continued string literals. If you change
* the lexical rules, verify that you haven't broken the no-backtrack
* property by running flex with the "-b" option and checking that the
- * resulting "lex.backup" file says that no backing up is needed.
+ * resulting "lex.backup" file says that no backing up is needed. (As of
+ * Postgres 9.2, this check is made automatically by the Makefile.)
*
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
@@ -1068,26 +835,25 @@ static yyconst flex_int16_t yy_chk[2067] =
#include <ctype.h>
#include <unistd.h>
-#include <errno.h>
-#include <string.h>
-/* Not needed now that this file is compiled as part of gram.y */
-/* #include "parser/parse.h" */
-#include "parser.h"
-#include "gram.h"
+#include "parser.h" /* only needed for GUC variables */
#include "scanner.h"
#include "scansup.h"
-
-#include "utils/palloc.h"
#include "pg_wchar.h"
+#include "gram.h"
+#include "utils/palloc.h"
-
-#ifdef nouse
/* Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error) */
#undef fprintf
-#define fprintf(file, fmt, msg) ereport(ERROR, (errmsg_internal("%s", msg)))
-#endif
+#define fprintf(file, fmt, msg) fprintf_to_ereport(fmt, msg)
+
+static void
+fprintf_to_ereport(const char *fmt, const char *msg)
+{
+ ereport(ERROR, (errmsg_internal("%s", msg)));
+}
+
/*
* GUC variables. This is a DIRECT violation of the warning given at the
* head of gram.y, ie flex/bison code must not depend on any GUC variables;
@@ -1097,7 +863,7 @@ static yyconst flex_int16_t yy_chk[2067] =
*/
int backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING;
bool escape_string_warning = true;
-bool standard_conforming_strings = false;
+bool standard_conforming_strings = true;
/*
* Set the type of YYSTYPE.
@@ -1135,6 +901,7 @@ static bool is_utf16_surrogate_first(pg_wchar c);
static bool is_utf16_surrogate_second(pg_wchar c);
static pg_wchar surrogate_pair_to_codepoint(pg_wchar first, pg_wchar second);
static void addunicode(pg_wchar c, yyscan_t yyscanner);
+static bool check_uescapechar(unsigned char escape);
#define yyerror(msg) scanner_yyerror(msg, yyscanner)
@@ -1172,8 +939,13 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
* <xe> extended quoted strings (support backslash escape sequences)
* <xdolq> $foo$ quoted strings
* <xui> quoted identifier with Unicode escapes
+ * <xuiend> end of a quoted identifier with Unicode escapes, UESCAPE can follow
* <xus> quoted string with Unicode escapes
+ * <xusend> end of a quoted string with Unicode escapes, UESCAPE can follow
* <xeu> Unicode surrogate pair in extended quoted string
+ *
+ * Remember to add an <<EOF>> case whenever you add a new exclusive state!
+ * The default one is probably not the right thing.
*/
@@ -1185,6 +957,8 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
+
+
/*
* In order to make the world safe for Windows and Mac clients as well as
* Unix ones, we accept either \n or \r as a newline. A DOS-style \r\n
@@ -1248,6 +1022,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
/* error rule to avoid backup */
/* Quoted identifier with Unicode escapes */
/* Quoted string with Unicode escapes */
+/* Optional UESCAPE after a quoted string or identifier with Unicode escapes. */
/* error rule to avoid backup */
/* C-style comments
*
@@ -1298,7 +1073,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
* Note that xcstart must appear before operator, as explained above!
* Also whitespace (comment) must appear before operator.
*/
-#line 1302 "scan.c"
+#line 1077 "scan.c"
#define INITIAL 0
#define xb 1
@@ -1309,8 +1084,10 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
#define xq 6
#define xdolq 7
#define xui 8
-#define xus 9
-#define xeu 10
+#define xuiend 9
+#define xus 10
+#define xusend 11
+#define xeu 12
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
@@ -1552,10 +1329,10 @@ YY_DECL
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 381 "scan.l"
+#line 389 "scan.l"
-#line 1559 "scan.c"
+#line 1336 "scan.c"
yylval = yylval_param;
@@ -1612,13 +1389,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 >= 389 )
+ if ( yy_current_state >= 281 )
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_current_state != 388 );
+ while ( yy_current_state != 280 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1641,14 +1418,14 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
-#line 383 "scan.l"
+#line 391 "scan.l"
{
/* ignore */
}
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 387 "scan.l"
+#line 395 "scan.l"
{
/* Set location in case of syntax error in comment */
SET_YYLLOC();
@@ -1660,7 +1437,7 @@ YY_RULE_SETUP
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 396 "scan.l"
+#line 404 "scan.l"
{
(yyextra->xcdepth)++;
/* Put back any characters past slash-star; see above */
@@ -1669,7 +1446,7 @@ YY_RULE_SETUP
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 402 "scan.l"
+#line 410 "scan.l"
{
if (yyextra->xcdepth <= 0)
BEGIN(INITIAL);
@@ -1680,32 +1457,32 @@ YY_RULE_SETUP
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
-#line 409 "scan.l"
+#line 417 "scan.l"
{
/* ignore */
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 413 "scan.l"
+#line 421 "scan.l"
{
/* ignore */
}
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 417 "scan.l"
+#line 425 "scan.l"
{
/* ignore */
}
YY_BREAK
case YY_STATE_EOF(xc):
-#line 421 "scan.l"
+#line 429 "scan.l"
{ yyerror("unterminated /* comment"); }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 423 "scan.l"
+#line 431 "scan.l"
{
/* Binary bit type.
* At some point we should simply pass the string
@@ -1721,11 +1498,11 @@ YY_RULE_SETUP
YY_BREAK
case 9:
/* rule 9 can match eol */
-#line 436 "scan.l"
+#line 444 "scan.l"
case 10:
/* rule 10 can match eol */
YY_RULE_SETUP
-#line 436 "scan.l"
+#line 444 "scan.l"
{
yyless(1);
BEGIN(INITIAL);
@@ -1735,33 +1512,33 @@ YY_RULE_SETUP
YY_BREAK
case 11:
/* rule 11 can match eol */
-#line 443 "scan.l"
+#line 451 "scan.l"
case 12:
/* rule 12 can match eol */
YY_RULE_SETUP
-#line 443 "scan.l"
+#line 451 "scan.l"
{
addlit(yytext, yyleng, yyscanner);
}
YY_BREAK
case 13:
/* rule 13 can match eol */
-#line 447 "scan.l"
+#line 455 "scan.l"
case 14:
/* rule 14 can match eol */
YY_RULE_SETUP
-#line 447 "scan.l"
+#line 455 "scan.l"
{
/* ignore */
}
YY_BREAK
case YY_STATE_EOF(xb):
-#line 450 "scan.l"
+#line 458 "scan.l"
{ yyerror("unterminated bit string literal"); }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 452 "scan.l"
+#line 460 "scan.l"
{
/* Hexadecimal bit type.
* At some point we should simply pass the string
@@ -1777,11 +1554,11 @@ YY_RULE_SETUP
YY_BREAK
case 16:
/* rule 16 can match eol */
-#line 465 "scan.l"
+#line 473 "scan.l"
case 17:
/* rule 17 can match eol */
YY_RULE_SETUP
-#line 465 "scan.l"
+#line 473 "scan.l"
{
yyless(1);
BEGIN(INITIAL);
@@ -1790,12 +1567,12 @@ YY_RULE_SETUP
}
YY_BREAK
case YY_STATE_EOF(xh):
-#line 471 "scan.l"
+#line 479 "scan.l"
{ yyerror("unterminated hexadecimal string literal"); }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 473 "scan.l"
+#line 481 "scan.l"
{
/* National character.
* We will pass this along as a normal character string,
@@ -1824,7 +1601,7 @@ YY_RULE_SETUP
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 499 "scan.l"
+#line 507 "scan.l"
{
yyextra->warn_on_first_escape = true;
yyextra->saw_non_ascii = false;
@@ -1838,7 +1615,7 @@ YY_RULE_SETUP
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 509 "scan.l"
+#line 517 "scan.l"
{
yyextra->warn_on_first_escape = false;
yyextra->saw_non_ascii = false;
@@ -1849,7 +1626,7 @@ YY_RULE_SETUP
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 516 "scan.l"
+#line 524 "scan.l"
{
SET_YYLLOC();
if (!standard_conforming_strings)
@@ -1864,11 +1641,11 @@ YY_RULE_SETUP
YY_BREAK
case 22:
/* rule 22 can match eol */
-#line 528 "scan.l"
+#line 536 "scan.l"
case 23:
/* rule 23 can match eol */
YY_RULE_SETUP
-#line 528 "scan.l"
+#line 536 "scan.l"
{
yyless(1);
BEGIN(INITIAL);
@@ -1886,52 +1663,82 @@ YY_RULE_SETUP
YY_BREAK
case 24:
/* rule 24 can match eol */
+#line 551 "scan.l"
+case 25:
+/* rule 25 can match eol */
YY_RULE_SETUP
-#line 542 "scan.l"
+#line 551 "scan.l"
{
/* throw back all but the quote */
yyless(1);
+ /* xusend state looks for possible UESCAPE */
+ BEGIN(xusend);
+ }
+ YY_BREAK
+case 26:
+/* rule 26 can match eol */
+YY_RULE_SETUP
+#line 557 "scan.l"
+{ /* stay in xusend state over whitespace */ }
+ YY_BREAK
+case 27:
+#line 559 "scan.l"
+case 28:
+/* rule 28 can match eol */
+#line 560 "scan.l"
+case YY_STATE_EOF(xusend):
+#line 560 "scan.l"
+{
+ /* no UESCAPE after the quote, throw back everything */
+ yyless(0);
BEGIN(INITIAL);
yylval->str = litbuf_udeescape('\\', yyscanner);
return SCONST;
}
YY_BREAK
-case 25:
-/* rule 25 can match eol */
+case 29:
+/* rule 29 can match eol */
YY_RULE_SETUP
-#line 549 "scan.l"
+#line 567 "scan.l"
{
+ /* found UESCAPE after the end quote */
BEGIN(INITIAL);
+ if (!check_uescapechar(yytext[yyleng-2]))
+ {
+ SET_YYLLOC();
+ ADVANCE_YYLLOC(yyleng-2);
+ yyerror("invalid Unicode escape character");
+ }
yylval->str = litbuf_udeescape(yytext[yyleng-2], yyscanner);
return SCONST;
}
YY_BREAK
-case 26:
+case 30:
YY_RULE_SETUP
-#line 554 "scan.l"
+#line 579 "scan.l"
{
addlitchar('\'', yyscanner);
}
YY_BREAK
-case 27:
-/* rule 27 can match eol */
+case 31:
+/* rule 31 can match eol */
YY_RULE_SETUP
-#line 557 "scan.l"
+#line 582 "scan.l"
{
addlit(yytext, yyleng, yyscanner);
}
YY_BREAK
-case 28:
-/* rule 28 can match eol */
+case 32:
+/* rule 32 can match eol */
YY_RULE_SETUP
-#line 560 "scan.l"
+#line 585 "scan.l"
{
addlit(yytext, yyleng, yyscanner);
}
YY_BREAK
-case 29:
+case 33:
YY_RULE_SETUP
-#line 563 "scan.l"
+#line 588 "scan.l"
{
pg_wchar c = strtoul(yytext+2, NULL, 16);
@@ -1948,9 +1755,9 @@ YY_RULE_SETUP
addunicode(c, yyscanner);
}
YY_BREAK
-case 30:
+case 34:
YY_RULE_SETUP
-#line 578 "scan.l"
+#line 603 "scan.l"
{
pg_wchar c = strtoul(yytext+2, NULL, 16);
@@ -1964,24 +1771,24 @@ YY_RULE_SETUP
BEGIN(xe);
}
YY_BREAK
-case 31:
+case 35:
YY_RULE_SETUP
-#line 590 "scan.l"
+#line 615 "scan.l"
{ yyerror("invalid Unicode surrogate pair"); }
YY_BREAK
-case 32:
-/* rule 32 can match eol */
+case 36:
+/* rule 36 can match eol */
YY_RULE_SETUP
-#line 591 "scan.l"
+#line 616 "scan.l"
{ yyerror("invalid Unicode surrogate pair"); }
YY_BREAK
case YY_STATE_EOF(xeu):
-#line 592 "scan.l"
+#line 617 "scan.l"
{ yyerror("invalid Unicode surrogate pair"); }
YY_BREAK
-case 33:
+case 37:
YY_RULE_SETUP
-#line 593 "scan.l"
+#line 618 "scan.l"
{
ereport(ERROR,
(errcode(ERRCODE_INVALID_ESCAPE_SEQUENCE),
@@ -1990,10 +1797,10 @@ YY_RULE_SETUP
lexer_errposition()));
}
YY_BREAK
-case 34:
-/* rule 34 can match eol */
+case 38:
+/* rule 38 can match eol */
YY_RULE_SETUP
-#line 600 "scan.l"
+#line 625 "scan.l"
{
#ifdef PGPOOL_NOT_USED
if (yytext[1] == '\'')
@@ -2013,9 +1820,9 @@ YY_RULE_SETUP
yyscanner);
}
YY_BREAK
-case 35:
+case 39:
YY_RULE_SETUP
-#line 618 "scan.l"
+#line 643 "scan.l"
{
unsigned char c = strtoul(yytext+1, NULL, 8);
@@ -2025,9 +1832,9 @@ YY_RULE_SETUP
yyextra->saw_non_ascii = true;
}
YY_BREAK
-case 36:
+case 40:
YY_RULE_SETUP
-#line 626 "scan.l"
+#line 651 "scan.l"
{
unsigned char c = strtoul(yytext+2, NULL, 16);
@@ -2037,17 +1844,17 @@ YY_RULE_SETUP
yyextra->saw_non_ascii = true;
}
YY_BREAK
-case 37:
-/* rule 37 can match eol */
+case 41:
+/* rule 41 can match eol */
YY_RULE_SETUP
-#line 634 "scan.l"
+#line 659 "scan.l"
{
/* ignore */
}
YY_BREAK
-case 38:
+case 42:
YY_RULE_SETUP
-#line 637 "scan.l"
+#line 662 "scan.l"
{
/* This is only needed for \ just before EOF */
addlitchar(yytext[0], yyscanner);
@@ -2056,12 +1863,12 @@ YY_RULE_SETUP
case YY_STATE_EOF(xq):
case YY_STATE_EOF(xe):
case YY_STATE_EOF(xus):
-#line 641 "scan.l"
+#line 666 "scan.l"
{ yyerror("unterminated quoted string"); }
YY_BREAK
-case 39:
+case 43:
YY_RULE_SETUP
-#line 643 "scan.l"
+#line 668 "scan.l"
{
SET_YYLLOC();
yyextra->dolqstart = pstrdup(yytext);
@@ -2069,9 +1876,9 @@ YY_RULE_SETUP
startlit();
}
YY_BREAK
-case 40:
+case 44:
YY_RULE_SETUP
-#line 649 "scan.l"
+#line 674 "scan.l"
{
SET_YYLLOC();
/* throw back all but the initial "$" */
@@ -2080,9 +1887,9 @@ YY_RULE_SETUP
return yytext[0];
}
YY_BREAK
-case 41:
+case 45:
YY_RULE_SETUP
-#line 656 "scan.l"
+#line 681 "scan.l"
{
if (strcmp(yytext, yyextra->dolqstart) == 0)
{
@@ -2104,54 +1911,54 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 42:
-/* rule 42 can match eol */
+case 46:
+/* rule 46 can match eol */
YY_RULE_SETUP
-#line 676 "scan.l"
+#line 701 "scan.l"
{
addlit(yytext, yyleng, yyscanner);
}
YY_BREAK
-case 43:
+case 47:
YY_RULE_SETUP
-#line 679 "scan.l"
+#line 704 "scan.l"
{
addlit(yytext, yyleng, yyscanner);
}
YY_BREAK
-case 44:
+case 48:
YY_RULE_SETUP
-#line 682 "scan.l"
+#line 707 "scan.l"
{
/* This is only needed for $ inside the quoted text */
addlitchar(yytext[0], yyscanner);
}
YY_BREAK
case YY_STATE_EOF(xdolq):
-#line 686 "scan.l"
+#line 711 "scan.l"
{ yyerror("unterminated dollar-quoted string"); }
YY_BREAK
-case 45:
+case 49:
YY_RULE_SETUP
-#line 688 "scan.l"
+#line 713 "scan.l"
{
SET_YYLLOC();
BEGIN(xd);
startlit();
}
YY_BREAK
-case 46:
+case 50:
YY_RULE_SETUP
-#line 693 "scan.l"
+#line 718 "scan.l"
{
SET_YYLLOC();
BEGIN(xui);
startlit();
}
YY_BREAK
-case 47:
+case 51:
YY_RULE_SETUP
-#line 698 "scan.l"
+#line 723 "scan.l"
{
char *ident;
@@ -2165,65 +1972,95 @@ YY_RULE_SETUP
return IDENT;
}
YY_BREAK
-case 48:
-/* rule 48 can match eol */
+case 52:
YY_RULE_SETUP
-#line 710 "scan.l"
+#line 735 "scan.l"
{
- char *ident;
+ yyless(1);
+ /* xuiend state looks for possible UESCAPE */
+ BEGIN(xuiend);
+ }
+ YY_BREAK
+case 53:
+/* rule 53 can match eol */
+YY_RULE_SETUP
+#line 740 "scan.l"
+{ /* stay in xuiend state over whitespace */ }
+ YY_BREAK
+case 54:
+#line 742 "scan.l"
+case 55:
+/* rule 55 can match eol */
+#line 743 "scan.l"
+case YY_STATE_EOF(xuiend):
+#line 743 "scan.l"
+{
+ /* no UESCAPE after the quote, throw back everything */
+ char *ident;
+ int identlen;
+
+ yyless(0);
BEGIN(INITIAL);
if (yyextra->literallen == 0)
yyerror("zero-length delimited identifier");
ident = litbuf_udeescape('\\', yyscanner);
- if (yyextra->literallen >= NAMEDATALEN)
- truncate_identifier(ident, yyextra->literallen, true);
+ identlen = strlen(ident);
+ if (identlen >= NAMEDATALEN)
+ truncate_identifier(ident, identlen, true);
yylval->str = ident;
- /* throw back all but the quote */
- yyless(1);
return IDENT;
}
YY_BREAK
-case 49:
-/* rule 49 can match eol */
+case 56:
+/* rule 56 can match eol */
YY_RULE_SETUP
-#line 724 "scan.l"
+#line 760 "scan.l"
{
- char *ident;
+ /* found UESCAPE after the end quote */
+ char *ident;
+ int identlen;
BEGIN(INITIAL);
if (yyextra->literallen == 0)
yyerror("zero-length delimited identifier");
+ if (!check_uescapechar(yytext[yyleng-2]))
+ {
+ SET_YYLLOC();
+ ADVANCE_YYLLOC(yyleng-2);
+ yyerror("invalid Unicode escape character");
+ }
ident = litbuf_udeescape(yytext[yyleng - 2], yyscanner);
- if (yyextra->literallen >= NAMEDATALEN)
- truncate_identifier(ident, yyextra->literallen, true);
+ identlen = strlen(ident);
+ if (identlen >= NAMEDATALEN)
+ truncate_identifier(ident, identlen, true);
yylval->str = ident;
return IDENT;
}
YY_BREAK
-case 50:
+case 57:
YY_RULE_SETUP
-#line 736 "scan.l"
+#line 781 "scan.l"
{
addlitchar('"', yyscanner);
}
YY_BREAK
-case 51:
-/* rule 51 can match eol */
+case 58:
+/* rule 58 can match eol */
YY_RULE_SETUP
-#line 739 "scan.l"
+#line 784 "scan.l"
{
addlit(yytext, yyleng, yyscanner);
}
YY_BREAK
case YY_STATE_EOF(xd):
case YY_STATE_EOF(xui):
-#line 742 "scan.l"
+#line 787 "scan.l"
{ yyerror("unterminated quoted identifier"); }
YY_BREAK
-case 52:
+case 59:
YY_RULE_SETUP
-#line 744 "scan.l"
+#line 789 "scan.l"
{
char *ident;
@@ -2236,41 +2073,41 @@ YY_RULE_SETUP
return IDENT;
}
YY_BREAK
-case 53:
+case 60:
YY_RULE_SETUP
-#line 756 "scan.l"
+#line 801 "scan.l"
{
SET_YYLLOC();
return TYPECAST;
}
YY_BREAK
-case 54:
+case 61:
YY_RULE_SETUP
-#line 761 "scan.l"
+#line 806 "scan.l"
{
SET_YYLLOC();
return DOT_DOT;
}
YY_BREAK
-case 55:
+case 62:
YY_RULE_SETUP
-#line 766 "scan.l"
+#line 811 "scan.l"
{
SET_YYLLOC();
return COLON_EQUALS;
}
YY_BREAK
-case 56:
+case 63:
YY_RULE_SETUP
-#line 771 "scan.l"
+#line 816 "scan.l"
{
SET_YYLLOC();
return yytext[0];
}
YY_BREAK
-case 57:
+case 64:
YY_RULE_SETUP
-#line 776 "scan.l"
+#line 821 "scan.l"
{
/*
* Check for embedded slash-star or dash-dash; those
@@ -2351,35 +2188,35 @@ YY_RULE_SETUP
return Op;
}
YY_BREAK
-case 58:
+case 65:
YY_RULE_SETUP
-#line 856 "scan.l"
+#line 901 "scan.l"
{
SET_YYLLOC();
yylval->ival = atol(yytext + 1);
return PARAM;
}
YY_BREAK
-case 59:
+case 66:
YY_RULE_SETUP
-#line 862 "scan.l"
+#line 907 "scan.l"
{
SET_YYLLOC();
return process_integer_literal(yytext, yylval);
}
YY_BREAK
-case 60:
+case 67:
YY_RULE_SETUP
-#line 866 "scan.l"
+#line 911 "scan.l"
{
SET_YYLLOC();
yylval->str = pstrdup(yytext);
return FCONST;
}
YY_BREAK
-case 61:
+case 68:
YY_RULE_SETUP
-#line 871 "scan.l"
+#line 916 "scan.l"
{
/* throw back the .., and treat as integer */
yyless(yyleng-2);
@@ -2387,18 +2224,18 @@ YY_RULE_SETUP
return process_integer_literal(yytext, yylval);
}
YY_BREAK
-case 62:
+case 69:
YY_RULE_SETUP
-#line 877 "scan.l"
+#line 922 "scan.l"
{
SET_YYLLOC();
yylval->str = pstrdup(yytext);
return FCONST;
}
YY_BREAK
-case 63:
+case 70:
YY_RULE_SETUP
-#line 882 "scan.l"
+#line 927 "scan.l"
{
/*
* throw back the [Ee], and treat as {decimal}. Note
@@ -2412,9 +2249,9 @@ YY_RULE_SETUP
return FCONST;
}
YY_BREAK
-case 64:
+case 71:
YY_RULE_SETUP
-#line 894 "scan.l"
+#line 939 "scan.l"
{
/* throw back the [Ee][+-], and proceed as above */
yyless(yyleng-2);
@@ -2423,9 +2260,9 @@ YY_RULE_SETUP
return FCONST;
}
YY_BREAK
-case 65:
+case 72:
YY_RULE_SETUP
-#line 903 "scan.l"
+#line 948 "scan.l"
{
const ScanKeyword *keyword;
char *ident;
@@ -2451,27 +2288,27 @@ YY_RULE_SETUP
return IDENT;
}
YY_BREAK
-case 66:
+case 73:
YY_RULE_SETUP
-#line 928 "scan.l"
+#line 973 "scan.l"
{
SET_YYLLOC();
return yytext[0];
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 933 "scan.l"
+#line 978 "scan.l"
{
SET_YYLLOC();
yyterminate();
}
YY_BREAK
-case 67:
+case 74:
YY_RULE_SETUP
-#line 938 "scan.l"
+#line 983 "scan.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 2475 "scan.c"
+#line 2312 "scan.c"
case YY_END_OF_BUFFER:
{
@@ -2764,7 +2601,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
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 >= 389 )
+ if ( yy_current_state >= 281 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2793,11 +2630,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
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 >= 389 )
+ if ( yy_current_state >= 281 )
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 == 388);
+ yy_is_jam = (yy_current_state == 280);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -3585,7 +3422,7 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 938 "scan.l"
+#line 983 "scan.l"
@@ -3863,22 +3700,29 @@ addunicode(pg_wchar c, core_yyscan_t yyscanner)
addlit(buf, pg_mblen(buf), yyscanner);
}
-static char *
-litbuf_udeescape(unsigned char escape, core_yyscan_t yyscanner)
+/* is 'escape' acceptable as Unicode escape character (UESCAPE syntax) ? */
+static bool
+check_uescapechar(unsigned char escape)
{
- char *new;
- char *litbuf, *in, *out;
- pg_wchar pair_first = 0;
-
if (isxdigit(escape)
|| escape == '+'
|| escape == '\''
|| escape == '"'
|| scanner_isspace(escape))
{
- ADVANCE_YYLLOC(yyextra->literallen + yyleng + 1);
- yyerror("invalid Unicode escape character");
+ return false;
}
+ else
+ return true;
+}
+
+/* like litbufdup, but handle unicode escapes */
+static char *
+litbuf_udeescape(unsigned char escape, core_yyscan_t yyscanner)
+{
+ char *new;
+ char *litbuf, *in, *out;
+ pg_wchar pair_first = 0;
/* Make literalbuf null-terminated to simplify the scanning loop */
litbuf = yyextra->literalbuf;
diff --git a/src/parser/scan.l b/src/parser/scan.l
index 3495542..f2779a1 100644
--- a/src/parser/scan.l
+++ b/src/parser/scan.l
@@ -17,11 +17,12 @@
* for handling float numbers and continued string literals. If you change
* the lexical rules, verify that you haven't broken the no-backtrack
* property by running flex with the "-b" option and checking that the
- * resulting "lex.backup" file says that no backing up is needed.
+ * resulting "lex.backup" file says that no backing up is needed. (As of
+ * Postgres 9.2, this check is made automatically by the Makefile.)
*
*
- * Portions Copyright (c) 2003-2013, PgPool Global Development Group
- * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2014, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
@@ -33,26 +34,25 @@
#include <ctype.h>
#include <unistd.h>
-#include <errno.h>
-#include <string.h>
-/* Not needed now that this file is compiled as part of gram.y */
-/* #include "parser/parse.h" */
-#include "parser.h"
-#include "gram.h"
+#include "parser.h" /* only needed for GUC variables */
#include "scanner.h"
#include "scansup.h"
-
-#include "utils/palloc.h"
#include "pg_wchar.h"
+#include "gram.h"
+#include "utils/palloc.h"
-
-#ifdef nouse
/* Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error) */
#undef fprintf
-#define fprintf(file, fmt, msg) ereport(ERROR, (errmsg_internal("%s", msg)))
-#endif
+#define fprintf(file, fmt, msg) fprintf_to_ereport(fmt, msg)
+
+static void
+fprintf_to_ereport(const char *fmt, const char *msg)
+{
+ ereport(ERROR, (errmsg_internal("%s", msg)));
+}
+
/*
* GUC variables. This is a DIRECT violation of the warning given at the
* head of gram.y, ie flex/bison code must not depend on any GUC variables;
@@ -62,7 +62,7 @@
*/
int backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING;
bool escape_string_warning = true;
-bool standard_conforming_strings = false;
+bool standard_conforming_strings = true;
/*
* Set the type of YYSTYPE.
@@ -100,6 +100,7 @@ static bool is_utf16_surrogate_first(pg_wchar c);
static bool is_utf16_surrogate_second(pg_wchar c);
static pg_wchar surrogate_pair_to_codepoint(pg_wchar first, pg_wchar second);
static void addunicode(pg_wchar c, yyscan_t yyscanner);
+static bool check_uescapechar(unsigned char escape);
#define yyerror(msg) scanner_yyerror(msg, yyscanner)
@@ -153,8 +154,13 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
* <xe> extended quoted strings (support backslash escape sequences)
* <xdolq> $foo$ quoted strings
* <xui> quoted identifier with Unicode escapes
+ * <xuiend> end of a quoted identifier with Unicode escapes, UESCAPE can follow
* <xus> quoted string with Unicode escapes
+ * <xusend> end of a quoted string with Unicode escapes, UESCAPE can follow
* <xeu> Unicode surrogate pair in extended quoted string
+ *
+ * Remember to add an <<EOF>> case whenever you add a new exclusive state!
+ * The default one is probably not the right thing.
*/
%x xb
@@ -165,7 +171,9 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
%x xq
%x xdolq
%x xui
+%x xuiend
%x xus
+%x xusend
%x xeu
/*
@@ -282,17 +290,17 @@ xdinside [^"]+
/* Unicode escapes */
uescape [uU][eE][sS][cC][aA][pP][eE]{whitespace}*{quote}[^']{quote}
/* error rule to avoid backup */
-uescapefail ("-"|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*"-"|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*{quote}[^']|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*{quote}|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*|[uU][eE][sS][cC][aA][pP]|[uU][eE][sS][cC][aA]|[uU][eE][sS][cC]|[uU][eE][sS]|[uU][eE]|[uU])
+uescapefail [uU][eE][sS][cC][aA][pP][eE]{whitespace}*"-"|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*{quote}[^']|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*{quote}|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*|[uU][eE][sS][cC][aA][pP]|[uU][eE][sS][cC][aA]|[uU][eE][sS][cC]|[uU][eE][sS]|[uU][eE]|[uU]
/* Quoted identifier with Unicode escapes */
xuistart [uU]&{dquote}
-xuistop1 {dquote}{whitespace}*{uescapefail}?
-xuistop2 {dquote}{whitespace}*{uescape}
/* Quoted string with Unicode escapes */
xusstart [uU]&{quote}
-xusstop1 {quote}{whitespace}*{uescapefail}?
-xusstop2 {quote}{whitespace}*{uescape}
+
+/* Optional UESCAPE after a quoted string or identifier with Unicode escapes. */
+xustop1 {uescapefail}?
+xustop2 {uescape}
/* error rule to avoid backup */
xufailed [uU]&
@@ -539,15 +547,32 @@ other .
yylval->str = litbufdup(yyscanner);
return SCONST;
}
-<xus>{xusstop1} {
+<xus>{quotestop} |
+<xus>{quotefail} {
/* throw back all but the quote */
yyless(1);
+ /* xusend state looks for possible UESCAPE */
+ BEGIN(xusend);
+ }
+<xusend>{whitespace} { /* stay in xusend state over whitespace */ }
+<xusend>{other} |
+<xusend>{xustop1} |
+<xusend><<EOF>> {
+ /* no UESCAPE after the quote, throw back everything */
+ yyless(0);
BEGIN(INITIAL);
yylval->str = litbuf_udeescape('\\', yyscanner);
return SCONST;
}
-<xus>{xusstop2} {
+<xusend>{xustop2} {
+ /* found UESCAPE after the end quote */
BEGIN(INITIAL);
+ if (!check_uescapechar(yytext[yyleng-2]))
+ {
+ SET_YYLLOC();
+ ADVANCE_YYLLOC(yyleng-2);
+ yyerror("invalid Unicode escape character");
+ }
yylval->str = litbuf_udeescape(yytext[yyleng-2], yyscanner);
return SCONST;
}
@@ -707,29 +732,49 @@ other .
yylval->str = ident;
return IDENT;
}
-<xui>{xuistop1} {
- char *ident;
+<xui>{dquote} {
+ yyless(1);
+ /* xuiend state looks for possible UESCAPE */
+ BEGIN(xuiend);
+ }
+<xuiend>{whitespace} { /* stay in xuiend state over whitespace */ }
+<xuiend>{other} |
+<xuiend>{xustop1} |
+<xuiend><<EOF>> {
+ /* no UESCAPE after the quote, throw back everything */
+ char *ident;
+ int identlen;
+
+ yyless(0);
BEGIN(INITIAL);
if (yyextra->literallen == 0)
yyerror("zero-length delimited identifier");
ident = litbuf_udeescape('\\', yyscanner);
- if (yyextra->literallen >= NAMEDATALEN)
- truncate_identifier(ident, yyextra->literallen, true);
+ identlen = strlen(ident);
+ if (identlen >= NAMEDATALEN)
+ truncate_identifier(ident, identlen, true);
yylval->str = ident;
- /* throw back all but the quote */
- yyless(1);
return IDENT;
}
-<xui>{xuistop2} {
- char *ident;
+<xuiend>{xustop2} {
+ /* found UESCAPE after the end quote */
+ char *ident;
+ int identlen;
BEGIN(INITIAL);
if (yyextra->literallen == 0)
yyerror("zero-length delimited identifier");
+ if (!check_uescapechar(yytext[yyleng-2]))
+ {
+ SET_YYLLOC();
+ ADVANCE_YYLLOC(yyleng-2);
+ yyerror("invalid Unicode escape character");
+ }
ident = litbuf_udeescape(yytext[yyleng - 2], yyscanner);
- if (yyextra->literallen >= NAMEDATALEN)
- truncate_identifier(ident, yyextra->literallen, true);
+ identlen = strlen(ident);
+ if (identlen >= NAMEDATALEN)
+ truncate_identifier(ident, identlen, true);
yylval->str = ident;
return IDENT;
}
@@ -1211,22 +1256,29 @@ addunicode(pg_wchar c, core_yyscan_t yyscanner)
addlit(buf, pg_mblen(buf), yyscanner);
}
-static char *
-litbuf_udeescape(unsigned char escape, core_yyscan_t yyscanner)
+/* is 'escape' acceptable as Unicode escape character (UESCAPE syntax) ? */
+static bool
+check_uescapechar(unsigned char escape)
{
- char *new;
- char *litbuf, *in, *out;
- pg_wchar pair_first = 0;
-
if (isxdigit(escape)
|| escape == '+'
|| escape == '\''
|| escape == '"'
|| scanner_isspace(escape))
{
- ADVANCE_YYLLOC(yyextra->literallen + yyleng + 1);
- yyerror("invalid Unicode escape character");
+ return false;
}
+ else
+ return true;
+}
+
+/* like litbufdup, but handle unicode escapes */
+static char *
+litbuf_udeescape(unsigned char escape, core_yyscan_t yyscanner)
+{
+ char *new;
+ char *litbuf, *in, *out;
+ pg_wchar pair_first = 0;
/* Make literalbuf null-terminated to simplify the scanning loop */
litbuf = yyextra->literalbuf;
diff --git a/src/parser/wchar.c b/src/parser/wchar.c
index 634c10e..75d304c 100644
--- a/src/parser/wchar.c
+++ b/src/parser/wchar.c
@@ -17,7 +17,7 @@
#define DEF_ENC2NAME(name, codepage) { #name, PG_##name, codepage }
#endif
-pg_enc2name pg_enc2name_tbl[] =
+const pg_enc2name pg_enc2name_tbl[] =
{
DEF_ENC2NAME(SQL_ASCII, 0),
DEF_ENC2NAME(EUC_JP, 20932),
@@ -69,7 +69,7 @@ pg_enc2name pg_enc2name_tbl[] =
* This covers all encodings except MULE_INTERNAL, which is alien to gettext.
* ----------
*/
-pg_enc2gettext pg_enc2gettext_tbl[] =
+const pg_enc2gettext pg_enc2gettext_tbl[] =
{
{PG_SQL_ASCII, "US-ASCII"},
{PG_UTF8, "UTF-8"},
@@ -115,6 +115,7 @@ pg_enc2gettext pg_enc2gettext_tbl[] =
{0, NULL}
};
+
/*
* conversion to pg_wchar is done by "table driven."
* to add an encoding support, define mb2wchar_with_len(), mblen(), dsplen()
@@ -199,7 +200,7 @@ pg_euc2wchar_with_len(const unsigned char *from, pg_wchar *to, int len)
*to |= *from++;
len -= 2;
}
- else /* must be ASCII */
+ else /* must be ASCII */
{
*to = *from++;
len--;
@@ -614,7 +615,7 @@ pg_wchar2utf_with_len(const pg_wchar *from, unsigned char *to, int len)
while (len > 0 && *from)
{
- int char_len;
+ int char_len;
unicode_to_utf8(*from, to);
char_len = pg_utf_mblen(to);
@@ -986,6 +987,12 @@ pg_mule_dsplen(const unsigned char *s)
{
int len;
+ /*
+ * Note: it's not really appropriate to assume that all multibyte charsets
+ * are double-wide on screen. But this seems an okay approximation for
+ * the MULE charsets we currently support.
+ */
+
if (IS_LC1(*s))
len = 1;
else if (IS_LCPRV1(*s))
@@ -1607,7 +1614,7 @@ pg_utf8_islegal(const unsigned char *source, int length)
*
* Not knowing anything about the properties of the encoding in use, we just
* keep incrementing the last byte until we get a validly-encoded result,
- * or we run out of values to try. We don't bother to try incrementing
+ * or we run out of values to try. We don't bother to try incrementing
* higher-order bytes, so there's no growth in runtime for wider characters.
* (If we did try to do that, we'd need to consider the likelihood that 255
* is not a valid final byte in the encoding.)
@@ -1637,7 +1644,7 @@ pg_generic_charinc(unsigned char *charptr, int len)
* For a one-byte character less than 0x7F, we just increment the byte.
*
* For a multibyte character, every byte but the first must fall between 0x80
- * and 0xBF; and the first byte must be between 0xC0 and 0xF4. We increment
+ * and 0xBF; and the first byte must be between 0xC0 and 0xF4. We increment
* the last byte that's not already at its maximum value. If we can't find a
* byte that's less than the maximum allowable value, we simply fail. We also
* need some special-case logic to skip regions used for surrogate pair
@@ -1815,8 +1822,8 @@ pg_eucjp_increment(unsigned char *charptr, int length)
* XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h)
*-------------------------------------------------------------------
*/
-pg_wchar_tbl pg_wchar_table[] = {
- {pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifier, 1}, /* PG_SQL_ASCII */
+const pg_wchar_tbl pg_wchar_table[] = {
+ {pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifier, 1}, /* PG_SQL_ASCII */
{pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifier, 3}, /* PG_EUC_JP */
{pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifier, 2}, /* PG_EUC_CN */
{pg_euckr2wchar_with_len, pg_wchar2euc_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifier, 3}, /* PG_EUC_KR */
@@ -1851,13 +1858,13 @@ pg_wchar_tbl pg_wchar_table[] = {
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1255 */
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1257 */
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_KOI8U */
- {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifier, 2}, /* PG_SJIS */
- {0, 0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifier, 2}, /* PG_BIG5 */
- {0, 0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifier, 2}, /* PG_GBK */
- {0, 0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifier, 2}, /* PG_UHC */
- {0, 0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifier, 4}, /* PG_GB18030 */
- {0, 0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifier, 3}, /* PG_JOHAB */
- {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifier, 2} /* PG_SHIFT_JIS_2004 */
+ {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifier, 2}, /* PG_SJIS */
+ {0, 0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifier, 2}, /* PG_BIG5 */
+ {0, 0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifier, 2}, /* PG_GBK */
+ {0, 0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifier, 2}, /* PG_UHC */
+ {0, 0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifier, 4}, /* PG_GB18030 */
+ {0, 0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifier, 3}, /* PG_JOHAB */
+ {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifier, 2} /* PG_SHIFT_JIS_2004 */
};
/* returns the byte length of a word for mule internal code */
@@ -1873,10 +1880,7 @@ pg_mic_mblen(const unsigned char *mbstr)
int
pg_encoding_mblen(int encoding, const char *mbstr)
{
- Assert(PG_VALID_ENCODING(encoding));
-
- return ((encoding >= 0 &&
- encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ?
+ return (PG_VALID_ENCODING(encoding) ?
((*pg_wchar_table[encoding].mblen) ((const unsigned char *) mbstr)) :
((*pg_wchar_table[PG_SQL_ASCII].mblen) ((const unsigned char *) mbstr)));
}
@@ -1887,10 +1891,7 @@ pg_encoding_mblen(int encoding, const char *mbstr)
int
pg_encoding_dsplen(int encoding, const char *mbstr)
{
- Assert(PG_VALID_ENCODING(encoding));
-
- return ((encoding >= 0 &&
- encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ?
+ return (PG_VALID_ENCODING(encoding) ?
((*pg_wchar_table[encoding].dsplen) ((const unsigned char *) mbstr)) :
((*pg_wchar_table[PG_SQL_ASCII].dsplen) ((const unsigned char *) mbstr)));
}
@@ -1903,10 +1904,7 @@ pg_encoding_dsplen(int encoding, const char *mbstr)
int
pg_encoding_verifymb(int encoding, const char *mbstr, int len)
{
- Assert(PG_VALID_ENCODING(encoding));
-
- return ((encoding >= 0 &&
- encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ?
+ return (PG_VALID_ENCODING(encoding) ?
((*pg_wchar_table[encoding].mbverify) ((const unsigned char *) mbstr, len)) :
((*pg_wchar_table[PG_SQL_ASCII].mbverify) ((const unsigned char *) mbstr, len)));
}
diff --git a/src/rewrite/pool_timestamp.c b/src/rewrite/pool_timestamp.c
index f1e8104..aa99fc8 100644
--- a/src/rewrite/pool_timestamp.c
+++ b/src/rewrite/pool_timestamp.c
@@ -1180,7 +1180,7 @@ bool
{
RangeFunction *rf = (RangeFunction *) node;
- if (walker(rf->funccallnode, context))
+ if (walker(rf->functions, context))
return true;
if (walker(rf->alias, context))
return true;
More information about the pgpool-hackers
mailing list