Removing files not present on branch REL7_1_STABLE:
authorbranch-fixup <branch-fixup>
Sun, 6 May 2001 17:21:11 +0000 (17:21 +0000)
committerbranch-fixup <branch-fixup>
Sun, 6 May 2001 17:21:11 +0000 (17:21 +0000)
ChangeLogs/ChangeLog-7.1-7.1.1
src/backend/parser/gram.c
src/interfaces/ecpg/preproc/pgc.c
src/interfaces/ecpg/preproc/preproc.c
src/interfaces/ecpg/preproc/y.tab.h

ChangeLogs/ChangeLog-7.1-7.1.1 [deleted file]
src/backend/parser/gram.c [deleted file]
src/interfaces/ecpg/preproc/pgc.c [deleted file]
src/interfaces/ecpg/preproc/preproc.c [deleted file]
src/interfaces/ecpg/preproc/y.tab.h [deleted file]

diff --git a/ChangeLogs/ChangeLog-7.1-7.1.1 b/ChangeLogs/ChangeLog-7.1-7.1.1
deleted file mode 100644 (file)
index 9ebd902..0000000
+++ /dev/null
@@ -1,609 +0,0 @@
-2001-05-04 22:57  momjian
-
-       * HISTORY, register.txt, doc/src/sgml/release.sgml: UPdate for
-       release tomorrow.
-
-2001-05-04 19:11  tgl
-
-       * doc/src/sgml/runtime.sgml: COMMIT_DELAY and COMMIT_SIBLINGS were
-       missing from the list of WAL configuration parameters in chapter 3.
-
-2001-05-04 18:01  tgl
-
-       * src/backend/parser/Makefile: Makefile should have automatic
-       dependency for parser.o too, if it's going to have any at all.
-
-2001-05-04 14:39  tgl
-
-       * src/backend/access/transam/xact.c: Seems like we should not hold
-       off cancel/die interrupts while we are running deferred triggers. 
-       They are really part of the regular transaction, and they could
-       take awhile.
-
-2001-05-03 22:54  momjian
-
-       * doc/src/sgml/runtime.sgml: Add missing tag.
-
-2001-05-03 18:53  tgl
-
-       * src/: backend/utils/adt/datetime.c,
-       backend/utils/adt/formatting.c, backend/utils/adt/timestamp.c,
-       include/utils/datetime.h: Consolidate several near-identical uses
-       of mktime() into a single routine DetermineLocalTimeZone().  In
-       that routine, be more wary of broken mktime() implementations than
-       the original code was: don't allow mktime to change the already-set
-       y/m/d/h/m/s information, and don't use tm_gmtoff if mktime failed. 
-       Possibly this will resolve some of the complaints we've been
-       hearing from users of Middle Eastern timezones on RedHat.
-
-2001-05-03 17:38  momjian
-
-       * doc/src/sgml/charset.sgml,
-       src/backend/utils/mb/Unicode/KOI8_to_utf8.map,
-       src/backend/utils/mb/Unicode/utf8_to_KOI8.map,
-       src/include/mb/pg_wchar.h, src/interfaces/odbc/multibyte.h: BTW it
-       does not add encodign it just patches existing one (KOI8) to
-       support two - KOI8-R and KOI8-U (latter is superset of the former
-       if not to take to the account pseudographics)
-       
-       Andy Rysin
-
-2001-05-03 17:16  tgl
-
-       * src/backend/rewrite/rewriteDefine.c: Permission checking wasn't
-       quite right for insert/update/delete rules, either :-(.
-
-2001-05-03 16:39  momjian
-
-       * HISTORY, doc/src/sgml/release.sgml: pg_dump can dump 7.0
-       databases.
-
-2001-05-03 15:20  momjian
-
-       * src/test/locale/test-ctype.c: apply a little patch:
-       
-       Oleg Bartunov
-
-2001-05-03 15:00  tgl
-
-       * src/: backend/access/nbtree/nbtcompare.c,
-       backend/utils/adt/date.c, backend/utils/adt/float.c,
-       backend/utils/adt/nabstime.c, backend/utils/adt/numeric.c,
-       backend/utils/adt/timestamp.c, backend/utils/adt/varbit.c,
-       backend/utils/adt/varchar.c, backend/utils/adt/varlena.c,
-       include/utils/nabstime.h,
-       test/regress/expected/abstime-solaris-1947.out,
-       test/regress/expected/abstime.out,
-       test/regress/expected/timestamp.out: Ensure that btree sort
-       ordering functions and boolean comparison operators give consistent
-       results for all datatypes.  Types float4, float8, and numeric were
-       broken for NaN values; abstime, timestamp, and interval were broken
-       for INVALID values; timetz was just plain broken (some possible
-       pairs of values were neither < nor = nor >).  Also clean up text,
-       bpchar, varchar, and bit/varbit to eliminate duplicate code and
-       thereby reduce the probability of similar inconsistencies arising
-       in the future.
-
-2001-05-03 13:50  tgl
-
-       * doc/src/sgml/ref/create_table.sgml: Describe handling of
-       multiply-inherited fields correctly.
-
-2001-05-03 13:47  tgl
-
-       * src/backend/rewrite/rewriteHandler.c: Permissions were not
-       checked correctly when one view invokes another.  Per bug report
-       from Lieven Van Acker, 5/2/01.
-
-2001-05-03 13:28  momjian
-
-       * doc/src/sgml/runtime.sgml: Update shared memory docs.
-
-2001-05-03 13:20  momjian
-
-       * src/tools/RELEASE_CHANGES: Improve list.
-
-2001-05-03 13:17  momjian
-
-       * HISTORY, doc/src/sgml/release.sgml: Final stamp for 7.1.1.  All
-       done.
-
-2001-05-03 12:47  momjian
-
-       * src/: include/config.h.win32, interfaces/libpq/libpq.rc,
-       tools/RELEASE_CHANGES: Updates for 7.1.1.  Not done yet.
-
-2001-05-03 12:43  momjian
-
-       * configure: autoconf
-
-2001-05-03 12:26  momjian
-
-       * HISTORY, README, configure.in, register.txt, doc/bug.template,
-       doc/src/sgml/release.sgml: Some updates for 7.1.1.
-
-2001-05-03 12:18  tgl
-
-       * src/include/catalog/pg_type.h: Correct pg_description entry for
-       type macaddr.
-
-2001-05-03 12:07  tgl
-
-       * src/: interfaces/ecpg/include/sqlca.h,
-       interfaces/ecpg/test/Makefile, makefiles/Makefile.win: Fixes to
-       make ecpg work on Cygwin, from Jason Tishler
-       <[email protected]>.
-
-2001-05-03 08:32  darcy
-
-       * contrib/chkpass/: Makefile, README.chkpass, chkpass.c,
-       chkpass.sql: Initial checkin of a contributed type that handles
-       passwords efficiently.
-
-2001-05-02 16:35  momjian
-
-       * doc/src/sgml/ref/drop_aggregate.sgml: In the outputs section the
-       NOTICE reads: aggregate 'agg' for 'type' does not exist.
-       
-       Mismatch with synopsis, agg must be name here.
-       
-       Frank Wegmann
-
-2001-05-02 13:04  momjian
-
-       * doc/src/sgml/runtime.sgml: Added mention of SHMALL and removed
-       BSD/OS-specific table.
-
-2001-05-02 10:46  momjian
-
-       * doc/src/sgml/ref/createuser.sgml: description of the command line
-       option echo should read:
-       
-       Echo the queries that createuser generates and sends to the
-       backend.                        ^^^^^^^^^^
-       
-       Frank Wegmann
-
-2001-05-02 10:23  tgl
-
-       * src/interfaces/odbc/win32.mak: Previous commit mistakenly
-       converted all newlines to DOS style (CR/LF).  Convert back to Unix
-       style --- it seems some versions of nmake insist on this.
-
-2001-05-02 07:21  darcy
-
-       * src/interfaces/python/README: Add note explaining why inserts
-       take longer as tables grow.  Also suggest the way to handle this.
-
-2001-05-02 07:17  darcy
-
-       * src/interfaces/python/pgmodule.c: Change "|zzlzzzz" argument
-       specification to "|zzizzzz" so that the code works properly on 64
-       bit systems.
-       
-       Change submitted by Marc Poinot ([email protected])
-
-2001-05-01 06:50  petere
-
-       * doc/src/sgml/version.sgml: Bump version to 7.1.1.  Now run over
-       to hub to rebuild documentation before release...
-
-2001-05-01 06:48  petere
-
-       * doc/src/sgml/: libpq++.sgml, libpq.sgml: More markup fixes
-
-2001-04-30 23:00  tgl
-
-       * doc/src/sgml/runtime.sgml: Fix slightly confused description of
-       debug options.
-
-2001-04-30 22:33  tgl
-
-       * src/interfaces/ecpg/preproc/preproc.y: Synced gram.y and
-       preproc.y.
-
-2001-04-30 21:36  thomas
-
-       * src/backend/parser/gram.y: Allow a string argument to the
-       EXTRACT() function.   This is an extension to the SQL9x standard,
-       but is consistant with usage   of the underlying date_part()
-       function used to implement it.   Example: EXTRACT('YEAR',...)  No
-       impact on regression tests.
-
-2001-04-30 20:47  inoue
-
-       * src/interfaces/odbc/: parse.c, psqlodbc.h, psqlodbc.rc,
-       qresult.c: 1) fix bugs reported by Andrea Aime.  2) fix a bug
-       reported by Jan Wieck.  psqlodbc is 7.01.0005 now.
-
-2001-04-30 19:55  tgl
-
-       * doc/FAQ_HPUX: Update FAQ_HPUX now that we have reports of
-       out-of-the-box build on HPUX 11.
-
-2001-04-30 18:22  tgl
-
-       * doc/src/sgml/pltcl.sgml: Document pltcl's return_null command.
-
-2001-04-30 18:21  tgl
-
-       * doc/src/sgml/: libpq++.sgml, libpq.sgml: Repair freshly-broken
-       markup.
-
-2001-04-30 16:05  tgl
-
-       * src/pl/plpgsql/src/pl_exec.c: exec_move_row() should be more
-       forgiving of tuples with a different number of columns than it was
-       expecting, for reasons that are now documented in the code...
-
-2001-04-30 15:24  tgl
-
-       * src/backend/optimizer/plan/planner.c: Suppress pull-up of
-       subqueries that are in the nullable side of an outer join.  This is
-       needed to avoid improper evaluation of expressions that should be
-       nulled out, as in Victor Wagner's bug report of 4/27/01.  Pretty
-       ugly solution, but no time to do anything better for 7.1.1.
-
-2001-04-30 13:38  momjian
-
-       * doc/src/sgml/: libpq++.sgml, libpq.sgml: Break up PQexec() result
-       functions into subsections to be clearer.  Both libpq and libpq++
-       reorganized.
-
-2001-04-30 00:26  momjian
-
-       * doc/src/sgml/: libpgtcl.sgml, libpq++.sgml: Add mention of
-       libpgtcl's options to manual, libpq++ markup fixes.
-
-2001-04-29 03:27  ishii
-
-       * src/backend/utils/mb/: conv.c, Unicode/ALT_to_utf8.map,
-       Unicode/KOI8_to_utf8.map, Unicode/Makefile,
-       Unicode/UCS_to_cyrillic.pl, Unicode/WIN_to_utf8.map,
-       Unicode/utf8_to_ALT.map, Unicode/utf8_to_KOI8.map,
-       Unicode/utf8_to_WIN.map: Add missing Unicode support for Cyrillic
-       encodings.  Patches contributed by Victor Wagner.
-
-2001-04-28 09:59  momjian
-
-       * doc/src/sgml/ref/: create_function.sgml, drop_function.sgml: In
-       create_function there is a remark concerning SQL/PSM not being
-       ratified as yet. This is certainly no longer true, it wasn't even
-       true in Q2/1998 when I did a little research for Date's book. 
-       SQL/PSM had been published on 1996-12-15 as ISO/IEC 9075:4. So you
-       might want to update that section.
-       
-       Frank Wegmann
-
-2001-04-26 21:31  momjian
-
-       * doc/src/sgml/ref/pg_ctl-ref.sgml: A small patch for a small
-       option (for rel. 7.1).
-       
-       Jimmy Olgeni
-
-2001-04-26 20:55  momjian
-
-       * doc/: FAQ, src/FAQ/FAQ.html: Update FAQ.
-
-2001-04-26 20:21  momjian
-
-       * doc/: FAQ, src/FAQ/FAQ.html, FAQ, src/FAQ/FAQ.html: Update FAQ.
-
-2001-04-26 17:52  tgl
-
-       * src/backend/utils/adt/nabstime.c: Remove bogus Assert from
-       AbsoluteTimeIsBefore().  (If you don't think it's bogus, try
-       building a btree index on the regress tests' abstime_tbl.)
-
-2001-04-25 18:04  tgl
-
-       * src/backend/optimizer/path/costsize.c: Tweak nestloop costing to
-       weight restart cost of inner path more heavily.  Without this, it
-       was making some pretty silly decisions about whether an expensive
-       sub-SELECT should be the inner or outer side of a join...
-
-2001-04-25 03:03  pjw
-
-       * src/bin/pg_dump/: pg_backup.h, pg_backup_archiver.c,
-       pg_backup_archiver.h, pg_backup_custom.c, pg_backup_db.c,
-       pg_backup_tar.c, pg_dump.c, pg_dump.h: - Fixed CONSTRAINT TRIGGER
-       dump to record tgconstrelid properly - pgsql v7.0 compatbility
-
-2001-04-24 16:05  petere
-
-       * doc/FAQ_MSWIN: typological errors
-
-2001-04-23 20:08  tgl
-
-       * src/include/nodes/nodes.h: Undo pgindent brain damage, so that
-       node type numbers can once again be counted off by lines ...
-
-2001-04-23 19:36  tgl
-
-       * src/bin/pg_dump/pg_dump.c: Behave sanely when database name is
-       omitted from command line.
-
-2001-04-23 16:27  petere
-
-       * src/backend/Makefile: Send 'cd' output to /dev/null.
-
-2001-04-23 11:14  tgl
-
-       * configure, configure.in: Defend against ancient versions of zlib
-       by checking that zlib.h defines z_streamp.
-
-2001-04-23 00:32  tgl
-
-       * src/backend/parser/parse_oper.c: compatible_oper needs to do
-       ReleaseSysCache in one path to avoid complaints about 'Cache
-       reference leak'.  Per report from Don Baccus.
-
-2001-04-22 21:41  inoue
-
-       * src/interfaces/odbc/: columninfo.c, connection.c, convert.c,
-       execute.c, qresult.c: 1) Decrease the size of needlessly large
-       buffers. For example, it    resolved the stack over flow errors
-       reported by Johann Zuschlag.  2) Support {oj syntax for 71.
-       servers.
-
-2001-04-22 21:00  inoue
-
-       * src/interfaces/odbc/: bind.c, convert.c, execute.c, pgtypes.c,
-       pgtypes.h, statement.c, statement.h: A patch to fix the following
-       bugs.  1) [ODBC] Psqlodbc and Centura: here it is a patch        
-       posted by Matteo Cavalleli 2) [ODBC] pgsqODBC binding parameters II
-               posted by Ludek Finstrle 3) Invalid Page Fault in
-       PSQLODBC.DLL         personal mail from Johann Zuschlag
-       
-          Hiroki Kataoka   [email protected]
-
-2001-04-22 17:34  tgl
-
-       * src/bin/pg_dump/pg_dump.c: Don't bomb out on indexes on system
-       attributes other than 'oid'.  (Not sure such an index is actually
-       useful, but just because it's useless doesn't mean pg_dump should
-       coredump.)
-
-2001-04-21 14:29  tgl
-
-       * src/backend/: main/main.c, utils/init/findbe.c,
-       utils/init/postinit.c: Remove useless setuid() call, instead add a
-       check that real and effective userids are the same.  Per today's
-       pghackers discussion.
-
-2001-04-21 07:23  petere
-
-       * src/bin/pg_ctl/pg_ctl.sh: Make sure that the postmaster options
-       (from postmaster.opts[.default] or -o option) are properly
-       dequoted.  Also, always pass an explicit -D option to postmaster,
-       don't rely on it being set in postmaster.opts.
-
-2001-04-20 11:52  thomas
-
-       * doc/src/sgml/: Makefile, biblio.sgml, catalogs.sgml,
-       charset.sgml, docguide.sgml, func.sgml, geqo.sgml, libpgeasy.sgml,
-       mvcc.sgml, user-manag.sgml: Final markup for 7.1 hardcopy release.
-       Mostly typo and table-fitting  adjustments. Note that many tables
-       are being abused with *really* long  description columns. Should
-       probably shrink those columns to be more  concise, and move some of
-       the info to follow-on reference notes.
-
-2001-04-20 11:50  thomas
-
-       * doc/src/sgml/fixrtf: Add option --refentry to change \keepn (keep
-       with next paragraph) to  \keep (keep current paragraph together).
-       This fixes most troubles with  reference pages marked up with
-       <refentry> tags.  Use on reference.rtf, generated by "make
-       reference.rtf".
-
-2001-04-19 16:27  petere
-
-       * configure, configure.in: Remove libsfio check.
-
-2001-04-19 15:17  petere
-
-       * contrib/start-scripts/: freebsd, linux: Pass -D option to pg_ctl
-       because export PGDATA won't be preserved across 'su -l'.
-       
-       Reported by <[email protected]>.
-
-2001-04-19 15:09  petere
-
-       * src/backend/postmaster/postmaster.c: Add extern int optreset
-       declaration, per bug report from <[email protected]>.
-
-2001-04-19 15:01  petere
-
-       * src/backend/utils/adt/varchar.c: Fix "off by VARHDRSZ" bug in
-       (Cyrillic) recode support.
-
-2001-04-19 00:29  tgl
-
-       * src/backend/executor/execQual.c: Kluge solution for Alex
-       Pilosov's report of problems with whole-tuple function arguments in
-       join queries: copy the tuples into TransactionCommandContext so
-       they don't get recycled too soon.  This is horrid, but not any
-       worse than 7.0 or before, which also leaked such tuples until end
-       of query.  A proper fix will require allowing tuple datums to be
-       physically stored inside larger tuple datums, which opens up a
-       bunch of issues that can't realistically be solved for 7.1.1.
-
-2001-04-18 22:34  ishii
-
-       * src/backend/utils/mb/wchar.c: Add a crash gurard to
-       pg_encoding_mblen in case of an invalid encoding given.
-
-2001-04-18 18:25  tgl
-
-       * src/backend/parser/parse_func.c: Further tweaking of error
-       messages for cases involving attributes & functions of join or
-       subselect aliases.  It'd be awfully nice if this code knew for sure
-       whether it was dealing with 'x.f' or 'f(x)' syntax; maybe we can
-       fix that in a future cycle.
-
-2001-04-18 16:53  petere
-
-       * src/bin/psql/command.c: Repair misbehavior of \! with immediately
-       following argument that contains spaces (e.g., '\!ls -l').  Also
-       correct a comment.
-
-2001-04-18 16:42  tgl
-
-       * src/: backend/optimizer/plan/planner.c,
-       backend/optimizer/util/var.c, backend/rewrite/rewriteManip.c,
-       include/optimizer/var.h, pl/plpgsql/src/gram.y,
-       pl/plpgsql/src/pl_comp.c, pl/plpgsql/src/scan.l: Make the world
-       safe for passing whole rows of views to functions.  This already
-       worked fine for whole rows of tables, but not so well for views...
-
-2001-04-18 13:04  tgl
-
-       * src/backend/: parser/parse_relation.c, utils/adt/ruleutils.c:
-       Make rule lister do the right thing with Vars representing whole
-       tuples.
-
-2001-04-17 03:30  inoue
-
-       * src/interfaces/odbc/readme.txt: The renewal of README thanks to
-       Dave Page.
-
-2001-04-16 20:32  tgl
-
-       * src/backend/rewrite/rewriteHandler.c: Add some defenses to guard
-       against case where a rule refers to a table or view that's been
-       dropped and then recreated with the same name (but, perhaps,
-       different columns).  Eventually we'd like to support this but for
-       now all we can do is fail cleanly, rather than possibly coredumping
-       if we proceed using the obsolete rule.
-
-2001-04-16 15:44  tgl
-
-       * src/backend/optimizer/plan/initsplan.c: Avoid reversing
-       user-given order of WHERE clauses while attaching clauses to
-       specific base or join RelOptInfo nodes during planning.  This
-       preserves the more-intuitive behavior of 7.0.* --- if you write an
-       expensive clause (such as a sub-select) last, it should get
-       evaluated last.  Someday we ought to try to have some intelligence
-       about the order of evaluation of WHERE clauses, but for now we
-       should not override what the user wrote.
-
-2001-04-16 02:10  ishii
-
-       * src/backend/utils/mb/Unicode/: UCS_to_BIG5.pl, UCS_to_EUC_CN.pl,
-       UCS_to_EUC_JP.pl, UCS_to_EUC_KR.pl, UCS_to_EUC_TW.pl,
-       UCS_to_SJIS.pl, big5_to_utf8.map, euc_cn_to_utf8.map,
-       euc_jp_to_utf8.map, euc_kr_to_utf8.map, euc_tw_to_utf8.map,
-       sjis_to_utf8.map, utf8_to_big5.map, utf8_to_euc_cn.map,
-       utf8_to_euc_jp.map, utf8_to_euc_kr.map, utf8_to_euc_tw.map,
-       utf8_to_sjis.map: Correction for mathematical properties in Unicode
-       converison maps.  Patches contributed by Eiji Tokuya
-       ([email protected])
-
-2001-04-16 00:20  momjian
-
-       * doc/: FAQ_japanese, src/FAQ/FAQ_japanese.html: Update Japanese
-       FAQ's.
-
-2001-04-15 22:42  tgl
-
-       * src/backend/utils/: init/miscinit.c, mb/common.c, mb/mbutils.c:
-       getdatabaseencoding() and PG_encoding_to_char() were being sloppy
-       about converting char* strings to type 'name'.  Imagine my surprise
-       when 7.1 release coredumped upon start when compiled
-       --enable-multibyte ...
-
-2001-04-15 21:46  tgl
-
-       * src/backend/libpq/pqformat.c: Remove error report from
-       pq_endmessage when pq_putmessage fails.  The only possible failure
-       is in pq_flush, which will log a (better!) report anyway --- so
-       pq_endmessage is just cluttering the log with a redundant entry. 
-       This matters when a client crashes partway through a large query,
-       since we will emit many broken-pipe reports before finishing the
-       query and exiting.
-
-2001-04-14 23:25  tgl
-
-       * src/Makefile.shlib: Add LDFLAGS_SL to AIX shlib building command,
-       per report from Rocco Altier <[email protected]>.
-
-2001-04-14 23:14  tgl
-
-       * src/backend/utils/adt/ruleutils.c: Constant expressions that
-       appear in ORDER BY, GROUP BY, DISTINCT ON lists should be
-       reverse-compiled into targetlist index numbers, because that's the
-       only interpretation the parser allows for a constant in these
-       clauses.  (Ergo, the only way they could have gotten into the list
-       in the first place is to have come from the targetlist; so this
-       should always work.)  Per problem report from Peter E.
-
-2001-04-14 20:48  tgl
-
-       * src/backend/optimizer/path/joinpath.c: Prevent generation of
-       invalid plans for RIGHT or FULL joins with multiple join clauses. 
-       The mergejoin executor wants all the join clauses to appear as
-       merge quals, not as extra joinquals, for these kinds of joins.  But
-       the planner would consider plans in which partially-sorted input
-       paths were used, leading to only some of the join clauses becoming
-       merge quals.  This is fine for inner/left joins, not fine for
-       right/full joins.
-
-2001-04-14 20:43  petere
-
-       * src/bin/psql/common.c: If the password prompt goes to stderr,
-       then the trailing newline should also go there.
-
-2001-04-14 18:55  petere
-
-       * configure, configure.in, src/bin/psql/tab-complete.c,
-       src/include/config.h.in: Work with Readline 4.2.
-
-2001-04-14 15:11  momjian
-
-       * src/backend/tcop/postgres.c: Add debug_query_string global
-       variable for pgmonitor and debugging use.
-
-2001-04-14 09:11  pjw
-
-       * src/bin/pg_dump/: pg_backup_archiver.c, pg_backup_archiver.h,
-       pg_backup_tar.c, pg_dump.c, pg_dump.h: - Get view OID based on rule
-       OID not base table OID - Fix crash due to null string pointer in
-       some tar files with some libs
-
-2001-04-13 22:10  tgl
-
-       * src/backend/utils/adt/numeric.c: Another try at making numeric
-       MODULO operator produce the right answer.  Although it was now
-       using the right equation, it was making bogus choices of the
-       precision to compute intermediate results to.  I'm not sure this is
-       really right even yet, but it's better than before ...
-
-2001-04-13 19:32  tgl
-
-       * src/include/storage/s_lock.h: Suppress compiler warnings in Vax
-       and NS32K assembly code: 'register foo' is not a complete
-       declaration.
-
-2001-04-13 17:21  scrappy
-
-       * configure, configure.in, ChangeLogs/ChangeLog-7.1rc4-7.1: 
-       tag the source tree as REL7_1, renaming the old tag REL7_1_BETA
-       like it should have been done
-       
-       generate a new Changelog from rc4, which is nice and short ... one
-       python interface change
-       
-       tag configure as 7.1, for generating the packages ...
-       
-       This is it folks ... Release 7.1 is officially here ...
-
-2001-04-13 14:38  momjian
-
-       * HISTORY: Remove as-of from HISTORY file.
-
-2001-04-12 05:49  darcy
-
-       * src/interfaces/python/pgdb.py: I just noticed the beta comment. 
-       That's not actually true any more so I removed it.
-
diff --git a/src/backend/parser/gram.c b/src/backend/parser/gram.c
deleted file mode 100644 (file)
index 92f031c..0000000
+++ /dev/null
@@ -1,12088 +0,0 @@
-
-/*  A Bison parser, made from gram.y
- by  GNU Bison version 1.25
-  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-#define        ABSOLUTE        258
-#define        ACTION  259
-#define        ADD     260
-#define        ALL     261
-#define        ALTER   262
-#define        AND     263
-#define        ANY     264
-#define        AS      265
-#define        ASC     266
-#define        BEGIN_TRANS     267
-#define        BETWEEN 268
-#define        BOTH    269
-#define        BY      270
-#define        CASCADE 271
-#define        CASE    272
-#define        CAST    273
-#define        CHAR    274
-#define        CHARACTER       275
-#define        CHECK   276
-#define        CLOSE   277
-#define        COALESCE        278
-#define        COLLATE 279
-#define        COLUMN  280
-#define        COMMIT  281
-#define        CONSTRAINT      282
-#define        CREATE  283
-#define        CROSS   284
-#define        CURRENT 285
-#define        CURRENT_DATE    286
-#define        CURRENT_TIME    287
-#define        CURRENT_TIMESTAMP       288
-#define        CURRENT_USER    289
-#define        CURSOR  290
-#define        DAY_P   291
-#define        DECIMAL 292
-#define        DECLARE 293
-#define        DEFAULT 294
-#define        DELETE  295
-#define        DESC    296
-#define        DISTINCT        297
-#define        DOUBLE  298
-#define        DROP    299
-#define        ELSE    300
-#define        END_TRANS       301
-#define        EXCEPT  302
-#define        EXECUTE 303
-#define        EXISTS  304
-#define        EXTRACT 305
-#define        FALSE_P 306
-#define        FETCH   307
-#define        FLOAT   308
-#define        FOR     309
-#define        FOREIGN 310
-#define        FROM    311
-#define        FULL    312
-#define        GRANT   313
-#define        GROUP   314
-#define        HAVING  315
-#define        HOUR_P  316
-#define        IN      317
-#define        INNER_P 318
-#define        INSENSITIVE     319
-#define        INSERT  320
-#define        INTERSECT       321
-#define        INTERVAL        322
-#define        INTO    323
-#define        IS      324
-#define        ISOLATION       325
-#define        JOIN    326
-#define        KEY     327
-#define        LANGUAGE        328
-#define        LEADING 329
-#define        LEFT    330
-#define        LEVEL   331
-#define        LIKE    332
-#define        LOCAL   333
-#define        MATCH   334
-#define        MINUTE_P        335
-#define        MONTH_P 336
-#define        NAMES   337
-#define        NATIONAL        338
-#define        NATURAL 339
-#define        NCHAR   340
-#define        NEXT    341
-#define        NO      342
-#define        NOT     343
-#define        NULLIF  344
-#define        NULL_P  345
-#define        NUMERIC 346
-#define        OF      347
-#define        ON      348
-#define        ONLY    349
-#define        OPTION  350
-#define        OR      351
-#define        ORDER   352
-#define        OUTER_P 353
-#define        PARTIAL 354
-#define        POSITION        355
-#define        PRECISION       356
-#define        PRIMARY 357
-#define        PRIOR   358
-#define        PRIVILEGES      359
-#define        PROCEDURE       360
-#define        PUBLIC  361
-#define        READ    362
-#define        REFERENCES      363
-#define        RELATIVE        364
-#define        REVOKE  365
-#define        RIGHT   366
-#define        ROLLBACK        367
-#define        SCROLL  368
-#define        SECOND_P        369
-#define        SELECT  370
-#define        SET     371
-#define        SUBSTRING       372
-#define        TABLE   373
-#define        TEMP    374
-#define        TEMPORARY       375
-#define        THEN    376
-#define        TIME    377
-#define        TIMESTAMP       378
-#define        TIMEZONE_HOUR   379
-#define        TIMEZONE_MINUTE 380
-#define        TO      381
-#define        TRAILING        382
-#define        TRANSACTION     383
-#define        TRIM    384
-#define        TRUE_P  385
-#define        UNION   386
-#define        UNIQUE  387
-#define        UPDATE  388
-#define        USER    389
-#define        USING   390
-#define        VALUES  391
-#define        VARCHAR 392
-#define        VARYING 393
-#define        VIEW    394
-#define        WHEN    395
-#define        WHERE   396
-#define        WITH    397
-#define        WORK    398
-#define        YEAR_P  399
-#define        ZONE    400
-#define        TRIGGER 401
-#define        TYPE_P  402
-#define        ABORT_TRANS     403
-#define        AFTER   404
-#define        AGGREGATE       405
-#define        ANALYZE 406
-#define        BACKWARD        407
-#define        BEFORE  408
-#define        BINARY  409
-#define        CACHE   410
-#define        CLUSTER 411
-#define        COPY    412
-#define        CREATEDB        413
-#define        CREATEUSER      414
-#define        CYCLE   415
-#define        DATABASE        416
-#define        DELIMITERS      417
-#define        DO      418
-#define        EACH    419
-#define        ENCODING        420
-#define        EXPLAIN 421
-#define        EXTEND  422
-#define        FORWARD 423
-#define        FUNCTION        424
-#define        HANDLER 425
-#define        INCREMENT       426
-#define        INDEX   427
-#define        INHERITS        428
-#define        INSTEAD 429
-#define        ISNULL  430
-#define        LANCOMPILER     431
-#define        LIMIT   432
-#define        LISTEN  433
-#define        LOAD    434
-#define        LOCATION        435
-#define        LOCK_P  436
-#define        MAXVALUE        437
-#define        MINVALUE        438
-#define        MOVE    439
-#define        NEW     440
-#define        NOCREATEDB      441
-#define        NOCREATEUSER    442
-#define        NONE    443
-#define        NOTHING 444
-#define        NOTIFY  445
-#define        NOTNULL 446
-#define        OFFSET  447
-#define        OIDS    448
-#define        OPERATOR        449
-#define        PASSWORD        450
-#define        PROCEDURAL      451
-#define        RENAME  452
-#define        RESET   453
-#define        RETURNS 454
-#define        ROW     455
-#define        RULE    456
-#define        SEQUENCE        457
-#define        SERIAL  458
-#define        SETOF   459
-#define        SHOW    460
-#define        START   461
-#define        STATEMENT       462
-#define        STDIN   463
-#define        STDOUT  464
-#define        TRUSTED 465
-#define        UNLISTEN        466
-#define        UNTIL   467
-#define        VACUUM  468
-#define        VALID   469
-#define        VERBOSE 470
-#define        VERSION 471
-#define        IDENT   472
-#define        SCONST  473
-#define        Op      474
-#define        ICONST  475
-#define        PARAM   476
-#define        FCONST  477
-#define        OP      478
-#define        UMINUS  479
-#define        TYPECAST        480
-
-#line 1 "gram.y"
- /* -*-text-*- */
-
-/*#define YYDEBUG 1*/
-/*-------------------------------------------------------------------------
- *
- * gram.y
- *       POSTGRES SQL YACC rules/actions
- *
- * Copyright (c) 1994, Regents of the University of California
- *
- *
- * IDENTIFICATION
- *       $Header$
- *
- * HISTORY
- *       AUTHOR                        DATE                    MAJOR EVENT
- *       Andrew Yu                     Sept, 1994              POSTQUEL to SQL conversion
- *       Andrew Yu                     Oct, 1994               lispy code conversion
- *
- * 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.
- *
- *       if you use list, make sure the datum is a node so that the printing
- *       routines work
- *
- * WARNING
- *       sometimes we assign constants to makeStrings. Make sure we don't free
- *       those.
- *
- *-------------------------------------------------------------------------
- */
-#include <string.h>
-#include <ctype.h>
-
-#include "postgres.h"
-#include "nodes/parsenodes.h"
-#include "nodes/print.h"
-#include "parser/gramparse.h"
-#include "parser/parse_type.h"
-#include "utils/acl.h"
-#include "utils/palloc.h"
-#include "catalog/catname.h"
-#include "utils/elog.h"
-#include "access/xact.h"
-#include "storage/lmgr.h"
-#include "utils/numeric.h"
-#include "parser/analyze.h"
-#include "catalog/pg_type.h"
-
-#ifdef MULTIBYTE
-#include "mb/pg_wchar.h"
-#endif
-
-static char saved_relname[NAMEDATALEN];  /* need this for complex attributes */
-static bool QueryIsRule = FALSE;
-static List *saved_In_Expr = NIL;
-static Oid     *param_type_info;
-static int     pfunc_num_args;
-extern List *parsetree;
-
-
-/*
- * If you need access to certain yacc-generated variables and find that
- * they're static by default, uncomment the next line.  (this is not a
- * problem, yet.)
- */
-/*#define __YYSCLASS*/
-
-static char *xlateSqlFunc(char *);
-static char *xlateSqlType(char *);
-static Node *makeA_Expr(int oper, char *opname, Node *lexpr, Node *rexpr);
-static Node *makeRowExpr(char *opr, List *largs, List *rargs);
-static void mapTargetColumns(List *source, List *target);
-static List *makeConstantList( A_Const *node);
-static char *FlattenStringList(List *list);
-static char *fmtId(char *rawid);
-static Node *makeIndexable(char *opname, Node *lexpr, Node *rexpr);
-static void param_type_init(Oid *typev, int nargs);
-static Node *doNegate(Node *n);
-
-Oid    param_type(int t); /* used in parse_expr.c */
-
-/* old versions of flex define this as a macro */
-#if defined(yywrap)
-#undef yywrap
-#endif /* yywrap */
-
-#line 93 "gram.y"
-typedef union
-{
-       double                          dval;
-       int                                     ival;
-       char                            chr;
-       char                            *str;
-       bool                            boolean;
-       bool*                           pboolean;       /* for pg_shadow privileges */
-       List                            *list;
-       Node                            *node;
-       Value                           *value;
-
-       Attr                            *attr;
-
-       TypeName                        *typnam;
-       DefElem                         *defelt;
-       ParamString                     *param;
-       SortGroupBy                     *sortgroupby;
-       JoinExpr                        *joinexpr;
-       IndexElem                       *ielem;
-       RangeVar                        *range;
-       RelExpr                         *relexp;
-       A_Indices                       *aind;
-       ResTarget                       *target;
-       ParamNo                         *paramno;
-
-       VersionStmt                     *vstmt;
-       DefineStmt                      *dstmt;
-       RuleStmt                        *rstmt;
-       InsertStmt                      *astmt;
-} YYSTYPE;
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
-#endif
-
-
-
-#define        YYFINAL         1749
-#define        YYFLAG          -32768
-#define        YYNTBASE        243
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 480 ? yytranslate[x] : 517)
-
-static const short 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,   231,     2,     2,   241,
-   242,   229,   227,   240,   228,   236,   230,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,   233,   234,   225,
-   224,   226,     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,
-   237,     2,   238,     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,   232,     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,
-     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,     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,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
-     6,     7,     8,     9,    10,    11,    12,    13,    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,   235,   239
-};
-
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     2,     4,     8,    11,    13,    15,    17,    19,    21,
-    23,    25,    27,    29,    31,    33,    35,    37,    39,    41,
-    43,    45,    47,    49,    51,    53,    55,    57,    59,    61,
-    63,    65,    67,    69,    71,    73,    75,    77,    79,    81,
-    83,    85,    87,    89,    91,    93,    95,   104,   113,   117,
-   121,   122,   124,   126,   127,   129,   131,   132,   136,   138,
-   142,   143,   147,   148,   153,   158,   163,   170,   176,   180,
-   182,   184,   186,   188,   190,   193,   197,   202,   205,   209,
-   214,   220,   224,   229,   233,   240,   246,   249,   252,   260,
-   262,   264,   266,   268,   270,   272,   273,   276,   277,   281,
-   282,   291,   293,   295,   296,   300,   302,   303,   305,   307,
-   311,   315,   317,   318,   321,   323,   326,   327,   331,   333,
-   338,   341,   344,   347,   349,   352,   358,   362,   364,   366,
-   369,   373,   377,   381,   385,   389,   393,   397,   401,   404,
-   407,   410,   414,   421,   425,   429,   434,   438,   441,   444,
-   446,   448,   453,   455,   460,   462,   464,   468,   470,   475,
-   480,   486,   497,   501,   503,   505,   507,   509,   512,   516,
-   520,   524,   528,   532,   536,   540,   544,   547,   550,   553,
-   557,   564,   568,   572,   577,   581,   585,   590,   594,   598,
-   601,   604,   607,   610,   614,   617,   622,   626,   630,   635,
-   640,   646,   653,   659,   666,   670,   672,   674,   677,   680,
-   681,   684,   686,   687,   691,   695,   698,   700,   703,   706,
-   711,   712,   720,   724,   725,   729,   731,   733,   738,   741,
-   742,   745,   747,   750,   753,   756,   759,   761,   763,   765,
-   768,   770,   773,   783,   785,   786,   791,   806,   808,   810,
-   812,   816,   822,   824,   826,   828,   832,   834,   835,   837,
-   839,   841,   845,   846,   848,   850,   852,   854,   860,   864,
-   867,   869,   871,   873,   875,   877,   879,   881,   883,   887,
-   889,   893,   897,   899,   903,   905,   907,   909,   911,   914,
-   918,   922,   927,   932,   934,   936,   938,   940,   941,   943,
-   946,   948,   950,   952,   953,   956,   959,   960,   968,   971,
-   973,   975,   977,   981,   983,   985,   987,   989,   991,   993,
-   996,   998,  1002,  1003,  1010,  1022,  1024,  1025,  1028,  1029,
-  1031,  1033,  1037,  1039,  1046,  1050,  1053,  1056,  1057,  1059,
-  1062,  1063,  1068,  1080,  1083,  1084,  1088,  1091,  1093,  1097,
-  1100,  1102,  1103,  1107,  1109,  1111,  1113,  1115,  1120,  1122,
-  1124,  1129,  1136,  1138,  1140,  1142,  1144,  1146,  1148,  1150,
-  1152,  1154,  1156,  1158,  1162,  1166,  1170,  1180,  1182,  1183,
-  1185,  1186,  1187,  1201,  1203,  1205,  1207,  1211,  1215,  1217,
-  1219,  1222,  1226,  1229,  1231,  1233,  1235,  1237,  1241,  1243,
-  1245,  1247,  1249,  1251,  1253,  1254,  1257,  1260,  1263,  1266,
-  1269,  1272,  1275,  1278,  1281,  1283,  1285,  1286,  1292,  1295,
-  1302,  1306,  1310,  1311,  1315,  1316,  1318,  1320,  1321,  1323,
-  1325,  1326,  1330,  1335,  1339,  1345,  1347,  1348,  1350,  1351,
-  1355,  1356,  1358,  1362,  1366,  1368,  1370,  1372,  1374,  1376,
-  1378,  1383,  1388,  1391,  1393,  1401,  1406,  1410,  1411,  1415,
-  1417,  1420,  1425,  1429,  1438,  1446,  1453,  1455,  1456,  1463,
-  1471,  1473,  1475,  1477,  1480,  1481,  1484,  1485,  1488,  1491,
-  1494,  1499,  1503,  1505,  1509,  1514,  1518,  1527,  1532,  1533,
-  1535,  1536,  1538,  1539,  1541,  1545,  1547,  1548,  1552,  1553,
-  1555,  1559,  1562,  1565,  1568,  1571,  1573,  1575,  1576,  1581,
-  1586,  1589,  1594,  1597,  1598,  1600,  1602,  1604,  1606,  1608,
-  1610,  1611,  1613,  1615,  1619,  1623,  1624,  1627,  1628,  1632,
-  1633,  1636,  1637,  1640,  1641,  1645,  1647,  1649,  1653,  1655,
-  1659,  1662,  1664,  1666,  1671,  1674,  1677,  1679,  1684,  1689,
-  1693,  1696,  1699,  1702,  1704,  1706,  1707,  1709,  1710,  1715,
-  1718,  1722,  1724,  1726,  1729,  1730,  1732,  1735,  1739,  1744,
-  1745,  1749,  1754,  1755,  1758,  1761,  1763,  1765,  1767,  1769,
-  1771,  1773,  1775,  1778,  1781,  1784,  1787,  1789,  1792,  1794,
-  1796,  1800,  1801,  1807,  1811,  1812,  1818,  1822,  1823,  1828,
-  1830,  1835,  1838,  1840,  1844,  1847,  1849,  1850,  1854,  1855,
-  1858,  1859,  1861,  1864,  1866,  1869,  1871,  1873,  1875,  1877,
-  1879,  1881,  1885,  1886,  1888,  1892,  1896,  1900,  1904,  1908,
-  1912,  1916,  1917,  1919,  1921,  1929,  1938,  1947,  1955,  1963,
-  1967,  1971,  1973,  1975,  1977,  1979,  1981,  1983,  1985,  1987,
-  1989,  1991,  1993,  1995,  1998,  2000,  2002,  2004,  2007,  2010,
-  2013,  2017,  2021,  2025,  2029,  2033,  2037,  2041,  2045,  2049,
-  2053,  2056,  2059,  2062,  2066,  2073,  2077,  2081,  2085,  2090,
-  2093,  2096,  2101,  2105,  2110,  2112,  2114,  2119,  2121,  2126,
-  2128,  2130,  2135,  2140,  2145,  2150,  2156,  2162,  2168,  2173,
-  2176,  2180,  2183,  2188,  2192,  2197,  2201,  2206,  2212,  2219,
-  2220,  2227,  2228,  2236,  2242,  2248,  2254,  2260,  2266,  2272,
-  2278,  2284,  2290,  2297,  2304,  2311,  2318,  2325,  2332,  2339,
-  2346,  2353,  2360,  2367,  2374,  2381,  2388,  2395,  2402,  2409,
-  2416,  2420,  2424,  2427,  2429,  2432,  2434,  2436,  2439,  2442,
-  2445,  2449,  2453,  2457,  2461,  2465,  2468,  2471,  2474,  2478,
-  2485,  2489,  2493,  2496,  2499,  2503,  2508,  2510,  2512,  2517,
-  2519,  2524,  2526,  2528,  2533,  2538,  2544,  2550,  2556,  2561,
-  2566,  2573,  2574,  2576,  2580,  2584,  2588,  2589,  2591,  2593,
-  2595,  2599,  2600,  2603,  2605,  2608,  2612,  2616,  2620,  2624,
-  2628,  2631,  2635,  2642,  2646,  2650,  2653,  2656,  2658,  2662,
-  2667,  2672,  2677,  2683,  2689,  2695,  2700,  2704,  2705,  2708,
-  2709,  2712,  2713,  2717,  2720,  2722,  2724,  2726,  2728,  2732,
-  2734,  2736,  2738,  2742,  2748,  2755,  2760,  2763,  2765,  2770,
-  2773,  2774,  2777,  2779,  2780,  2784,  2788,  2790,  2794,  2798,
-  2802,  2804,  2806,  2811,  2814,  2818,  2822,  2824,  2828,  2830,
-  2834,  2836,  2838,  2839,  2841,  2843,  2845,  2847,  2849,  2851,
-  2853,  2855,  2857,  2859,  2861,  2863,  2865,  2868,  2870,  2872,
-  2874,  2877,  2879,  2881,  2883,  2885,  2887,  2889,  2891,  2893,
-  2895,  2897,  2899,  2901,  2903,  2905,  2907,  2909,  2911,  2913,
-  2915,  2917,  2919,  2921,  2923,  2925,  2927,  2929,  2931,  2933,
-  2935,  2937,  2939,  2941,  2943,  2945,  2947,  2949,  2951,  2953,
-  2955,  2957,  2959,  2961,  2963,  2965,  2967,  2969,  2971,  2973,
-  2975,  2977,  2979,  2981,  2983,  2985,  2987,  2989,  2991,  2993,
-  2995,  2997,  2999,  3001,  3003,  3005,  3007,  3009,  3011,  3013,
-  3015,  3017,  3019,  3021,  3023,  3025,  3027,  3029,  3031,  3033,
-  3035,  3037,  3039,  3041,  3043,  3045,  3047,  3049,  3051,  3053,
-  3055,  3057,  3059,  3061,  3063,  3065,  3067,  3069,  3071,  3073,
-  3075,  3077,  3079,  3081,  3083,  3085,  3087,  3089,  3091,  3093,
-  3095,  3097,  3099,  3101,  3103,  3105,  3107
-};
-
-static const short yyrhs[] = {   244,
-     0,   245,     0,   244,   245,   234,     0,   245,   234,     0,
-   260,     0,   247,     0,   262,     0,   263,     0,   269,     0,
-   292,     0,   296,     0,   302,     0,   305,     0,   246,     0,
-   385,     0,   315,     0,   323,     0,   304,     0,   314,     0,
-   248,     0,   344,     0,   391,     0,   324,     0,   328,     0,
-   335,     0,   373,     0,   374,     0,   399,     0,   345,     0,
-   353,     0,   356,     0,   355,     0,   351,     0,   360,     0,
-   334,     0,   392,     0,   363,     0,   375,     0,   377,     0,
-   378,     0,   379,     0,   384,     0,   386,     0,   255,     0,
-   258,     0,   259,     0,    28,   134,   512,   249,   250,   251,
-   253,   254,     0,     7,   134,   512,   249,   250,   251,   253,
-   254,     0,    44,   134,   512,     0,   142,   195,   512,     0,
-     0,   158,     0,   186,     0,     0,   159,     0,   187,     0,
-     0,   252,   240,   512,     0,   512,     0,    62,    59,   252,
-     0,     0,   214,   212,   218,     0,     0,   116,   514,   126,
-   256,     0,   116,   514,   224,   256,     0,   116,   122,   145,
-   257,     0,   116,   128,    70,    76,   107,   514,     0,   116,
-   128,    70,    76,   514,     0,   116,    82,   383,     0,   511,
-     0,    39,     0,   511,     0,    39,     0,    78,     0,   205,
-   514,     0,   205,   122,   145,     0,   205,   128,    70,    76,
-     0,   198,   514,     0,   198,   122,   145,     0,   198,   128,
-    70,    76,     0,     7,   118,   499,   421,   261,     0,     5,
-   362,   273,     0,     5,   241,   271,   242,     0,    44,   362,
-   514,     0,     7,   362,   514,   116,    39,   280,     0,     7,
-   362,   514,    44,    39,     0,     5,   282,     0,    22,   498,
-     0,   157,   266,   499,   267,   264,   265,   268,     0,   126,
-     0,    56,     0,   511,     0,   208,     0,   209,     0,   154,
-     0,     0,   142,   193,     0,     0,   135,   162,   511,     0,
-     0,    28,   270,   118,   499,   241,   271,   242,   291,     0,
-   119,     0,   120,     0,     0,   271,   240,   272,     0,   272,
-     0,     0,   273,     0,   281,     0,   514,   445,   274,     0,
-   514,   203,   276,     0,   275,     0,     0,   275,   277,     0,
-   277,     0,   102,    72,     0,     0,    27,   505,   278,     0,
-   278,     0,    21,   241,   284,   242,     0,    39,    90,     0,
-    39,   280,     0,    88,    90,     0,   132,     0,   102,    72,
-     0,   108,   514,   395,   287,   288,     0,   279,   240,   280,
-     0,   280,     0,   508,     0,   228,   280,     0,   280,   227,
-   280,     0,   280,   228,   280,     0,   280,   230,   280,     0,
-   280,   231,   280,     0,   280,   229,   280,     0,   280,   224,
-   280,     0,   280,   225,   280,     0,   280,   226,   280,     0,
-   233,   280,     0,   234,   280,     0,   232,   280,     0,   280,
-   239,   445,     0,    18,   241,   280,    10,   445,   242,     0,
-   241,   280,   242,     0,   506,   241,   242,     0,   506,   241,
-   279,   242,     0,   280,   219,   280,     0,   219,   280,     0,
-   280,   219,     0,    31,     0,    32,     0,    32,   241,   510,
-   242,     0,    33,     0,    33,   241,   510,   242,     0,    34,
-     0,   134,     0,    27,   505,   282,     0,   282,     0,    21,
-   241,   284,   242,     0,   132,   241,   396,   242,     0,   102,
-    72,   241,   396,   242,     0,    55,    72,   241,   396,   242,
-   108,   514,   395,   287,   288,     0,   283,   240,   284,     0,
-   284,     0,   508,     0,    90,     0,   514,     0,   228,   284,
-     0,   284,   227,   284,     0,   284,   228,   284,     0,   284,
-   230,   284,     0,   284,   231,   284,     0,   284,   229,   284,
-     0,   284,   224,   284,     0,   284,   225,   284,     0,   284,
-   226,   284,     0,   233,   284,     0,   234,   284,     0,   232,
-   284,     0,   284,   239,   445,     0,    18,   241,   284,    10,
-   445,   242,     0,   241,   284,   242,     0,   506,   241,   242,
-     0,   506,   241,   283,   242,     0,   284,   219,   284,     0,
-   284,    77,   284,     0,   284,    88,    77,   284,     0,   284,
-     8,   284,     0,   284,    96,   284,     0,    88,   284,     0,
-   219,   284,     0,   284,   219,     0,   284,   175,     0,   284,
-    69,    90,     0,   284,   191,     0,   284,    69,    88,    90,
-     0,   284,    69,   130,     0,   284,    69,    51,     0,   284,
-    69,    88,   130,     0,   284,    69,    88,    51,     0,   284,
-    62,   241,   285,   242,     0,   284,    88,    62,   241,   285,
-   242,     0,   284,    13,   286,     8,   286,     0,   284,    88,
-    13,   286,     8,   286,     0,   285,   240,   286,     0,   286,
-     0,   508,     0,    79,    57,     0,    79,    99,     0,     0,
-   289,   289,     0,   289,     0,     0,    93,    40,   290,     0,
-    93,   133,   290,     0,    87,     4,     0,    16,     0,   116,
-    39,     0,   116,    90,     0,   173,   241,   422,   242,     0,
-     0,    28,   270,   118,   499,   293,    10,   409,     0,   241,
-   294,   242,     0,     0,   294,   240,   295,     0,   295,     0,
-   514,     0,    28,   202,   499,   297,     0,   297,   298,     0,
-     0,   155,   301,     0,   160,     0,   171,   301,     0,   182,
-   301,     0,   183,   301,     0,   206,   301,     0,   300,     0,
-   301,     0,   222,     0,   228,   222,     0,   510,     0,   228,
-   510,     0,    28,   303,   196,    73,   511,   170,   318,   176,
-   511,     0,   210,     0,     0,    44,   196,    73,   511,     0,
-    28,   146,   505,   306,   307,    93,   499,   309,    48,   105,
-   505,   241,   312,   242,     0,   153,     0,   149,     0,   308,
-     0,   308,    96,   308,     0,   308,    96,   308,    96,   308,
-     0,    65,     0,    40,     0,   133,     0,    54,   310,   311,
-     0,   164,     0,     0,   200,     0,   207,     0,   313,     0,
-   312,   240,   313,     0,     0,   220,     0,   222,     0,   511,
-     0,   217,     0,    44,   146,   505,    93,   499,     0,    28,
-   317,   316,     0,   318,   319,     0,   194,     0,   147,     0,
-   150,     0,   105,     0,    71,     0,   514,     0,   358,     0,
-   219,     0,   241,   320,   242,     0,   321,     0,   320,   240,
-   321,     0,   318,   224,   322,     0,   318,     0,    39,   224,
-   322,     0,   514,     0,   357,     0,   299,     0,   511,     0,
-   204,   514,     0,    44,   118,   422,     0,    44,   202,   422,
-     0,    52,   325,   326,   327,     0,   184,   325,   326,   327,
-     0,   168,     0,   152,     0,   109,     0,     3,     0,     0,
-   510,     0,   228,   510,     0,     6,     0,    86,     0,   103,
-     0,     0,    62,   505,     0,    56,   505,     0,     0,    58,
-   329,    93,   422,   126,   332,   333,     0,     6,   104,     0,
-     6,     0,   330,     0,   331,     0,   330,   240,   331,     0,
-   115,     0,    65,     0,   133,     0,    40,     0,   201,     0,
-   106,     0,    59,   514,     0,   514,     0,   142,    58,    95,
-     0,     0,   110,   329,    93,   422,    56,   332,     0,    28,
-   336,   172,   504,    93,   499,   337,   241,   338,   242,   346,
-     0,   132,     0,     0,   135,   501,     0,     0,   339,     0,
-   340,     0,   339,   240,   341,     0,   341,     0,   506,   241,
-   423,   242,   342,   343,     0,   502,   342,   343,     0,   233,
-   445,     0,    54,   445,     0,     0,   503,     0,   135,   503,
-     0,     0,   167,   172,   504,   441,     0,    28,   169,   506,
-   347,   199,   349,   346,    10,   511,    73,   511,     0,   142,
-   319,     0,     0,   241,   348,   242,     0,   241,   242,     0,
-   513,     0,   348,   240,   513,     0,   350,   513,     0,   204,
-     0,     0,    44,   352,   505,     0,   147,     0,   172,     0,
-   201,     0,   139,     0,    44,   150,   505,   354,     0,   505,
-     0,   229,     0,    44,   169,   506,   347,     0,    44,   194,
-   357,   241,   359,   242,     0,   219,     0,   358,     0,   227,
-     0,   228,     0,   229,     0,   230,     0,   231,     0,   225,
-     0,   226,     0,   224,     0,   505,     0,   505,   240,   505,
-     0,   188,   240,   505,     0,   505,   240,   188,     0,     7,
-   118,   499,   421,   197,   362,   361,   126,   505,     0,   505,
-     0,     0,    25,     0,     0,     0,    28,   201,   505,    10,
-   364,    93,   370,   126,   369,   441,   163,   371,   365,     0,
-   189,     0,   407,     0,   368,     0,   237,   366,   238,     0,
-   241,   366,   242,     0,   367,     0,   368,     0,   367,   368,
-     0,   367,   368,   234,     0,   368,   234,     0,   393,     0,
-   401,     0,   398,     0,   372,     0,   499,   236,   502,     0,
-   499,     0,   115,     0,   133,     0,    40,     0,    65,     0,
-   174,     0,     0,   190,   499,     0,   178,   499,     0,   211,
-   499,     0,   211,   229,     0,   148,   376,     0,    12,   376,
-     0,    26,   376,     0,    46,   376,     0,   112,   376,     0,
-   143,     0,   128,     0,     0,    28,   139,   505,    10,   407,
-     0,   179,   507,     0,    28,   161,   500,   142,   380,   381,
-     0,    28,   161,   500,     0,   180,   224,   382,     0,     0,
-   165,   224,   383,     0,     0,   511,     0,    39,     0,     0,
-   511,     0,    39,     0,     0,    44,   161,   500,     0,   156,
-   504,    93,   499,     0,   213,   387,   388,     0,   213,   387,
-   388,   499,   389,     0,   215,     0,     0,   151,     0,     0,
-   241,   390,   242,     0,     0,   505,     0,   390,   240,   505,
-     0,   166,   387,   392,     0,   407,     0,   402,     0,   401,
-     0,   393,     0,   372,     0,   398,     0,    65,    68,   499,
-   394,     0,   136,   241,   496,   242,     0,    39,   136,     0,
-   407,     0,   241,   396,   242,   136,   241,   496,   242,     0,
-   241,   396,   242,   407,     0,   241,   396,   242,     0,     0,
-   396,   240,   397,     0,   397,     0,   514,   473,     0,    40,
-    56,   499,   441,     0,   181,   411,   499,     0,   181,   411,
-   499,    62,   400,   200,   217,   217,     0,   181,   411,   499,
-    62,   217,   217,   217,     0,   181,   411,   499,    62,   217,
-   217,     0,   217,     0,     0,   133,   499,   116,   494,   428,
-   441,     0,    38,   505,   403,    35,    54,   407,   404,     0,
-   154,     0,    64,     0,   113,     0,    64,   113,     0,     0,
-    54,   405,     0,     0,   107,    94,     0,   133,   406,     0,
-    92,   396,     0,   408,   414,   426,   418,     0,   241,   408,
-   242,     0,   409,     0,   408,    47,   408,     0,   408,   131,
-   412,   408,     0,   408,    66,   408,     0,   115,   413,   496,
-   410,   428,   441,   424,   425,     0,    68,   270,   411,   499,
-     0,     0,   118,     0,     0,     6,     0,     0,    42,     0,
-    42,    93,   514,     0,     6,     0,     0,    97,    15,   415,
-     0,     0,   416,     0,   415,   240,   416,     0,   469,   417,
-     0,   135,   219,     0,   135,   225,     0,   135,   226,     0,
-    11,     0,    41,     0,     0,   177,   419,   240,   420,     0,
-   177,   419,   192,   420,     0,   177,   419,     0,   192,   420,
-   177,   419,     0,   192,   420,     0,     0,   510,     0,     6,
-     0,   221,     0,   510,     0,   221,     0,   229,     0,     0,
-   423,     0,   505,     0,   423,   240,   505,     0,    59,    15,
-   474,     0,     0,    60,   469,     0,     0,    54,   133,   427,
-     0,     0,    92,   390,     0,     0,    56,   429,     0,     0,
-   241,   432,   242,     0,   433,     0,   430,     0,   430,   240,
-   431,     0,   431,     0,   442,    10,   515,     0,   442,   514,
-     0,   442,     0,   433,     0,   431,   131,    71,   431,     0,
-   431,   434,     0,   434,   435,     0,   435,     0,   436,    71,
-   431,   438,     0,    84,   436,    71,   431,     0,    29,    71,
-   431,     0,    57,   437,     0,    75,   437,     0,   111,   437,
-     0,    98,     0,    63,     0,     0,    98,     0,     0,   135,
-   241,   439,   242,     0,    93,   469,     0,   439,   240,   440,
-     0,   440,     0,   514,     0,   141,   469,     0,     0,   499,
-     0,   499,   229,     0,   237,   238,   444,     0,   237,   510,
-   238,   444,     0,     0,   237,   238,   444,     0,   237,   510,
-   238,   444,     0,     0,   446,   443,     0,   204,   446,     0,
-   447,     0,   459,     0,   449,     0,   454,     0,   448,     0,
-   217,     0,   147,     0,    53,   451,     0,    43,   101,     0,
-    37,   453,     0,    91,   452,     0,    53,     0,    43,   101,
-     0,    37,     0,    91,     0,   241,   510,   242,     0,     0,
-   241,   510,   240,   510,   242,     0,   241,   510,   242,     0,
-     0,   241,   510,   240,   510,   242,     0,   241,   510,   242,
-     0,     0,   455,   241,   510,   242,     0,   455,     0,    20,
-   456,   457,   458,     0,    19,   456,     0,   137,     0,    83,
-    20,   456,     0,    85,   456,     0,   138,     0,     0,    20,
-   116,   514,     0,     0,    24,   514,     0,     0,   460,     0,
-   123,   461,     0,   122,     0,    67,   462,     0,   144,     0,
-    81,     0,    36,     0,    61,     0,    80,     0,   114,     0,
-   142,   122,   145,     0,     0,   460,     0,   144,   126,    81,
-     0,    36,   126,    61,     0,    36,   126,    80,     0,    36,
-   126,   114,     0,    61,   126,    80,     0,    61,   126,   114,
-     0,    80,   126,   114,     0,     0,   469,     0,    90,     0,
-   241,   465,   242,    62,   241,   409,   242,     0,   241,   465,
-   242,    88,    62,   241,   409,   242,     0,   241,   465,   242,
-   467,   468,   241,   409,   242,     0,   241,   465,   242,   467,
-   241,   409,   242,     0,   241,   465,   242,   467,   241,   465,
-   242,     0,   466,   240,   469,     0,   466,   240,   469,     0,
-   469,     0,   219,     0,   225,     0,   224,     0,   226,     0,
-   227,     0,   228,     0,   229,     0,   230,     0,   231,     0,
-     9,     0,     6,     0,   492,   473,     0,   464,     0,   508,
-     0,   514,     0,   228,   469,     0,   231,   469,     0,   469,
-   231,     0,   469,   227,   469,     0,   469,   228,   469,     0,
-   469,   230,   469,     0,   469,   231,   469,     0,   469,   229,
-   469,     0,   469,   225,   469,     0,   469,   226,   469,     0,
-   469,   224,    90,     0,    90,   224,   469,     0,   469,   224,
-   469,     0,   233,   469,     0,   234,   469,     0,   232,   469,
-     0,   469,   239,   445,     0,    18,   241,   469,    10,   445,
-   242,     0,   241,   463,   242,     0,   469,   219,   469,     0,
-   469,    77,   469,     0,   469,    88,    77,   469,     0,   219,
-   469,     0,   469,   219,     0,   506,   241,   229,   242,     0,
-   506,   241,   242,     0,   506,   241,   474,   242,     0,    31,
-     0,    32,     0,    32,   241,   510,   242,     0,    33,     0,
-    33,   241,   510,   242,     0,    34,     0,   134,     0,    49,
-   241,   409,   242,     0,    50,   241,   475,   242,     0,   100,
-   241,   477,   242,     0,   117,   241,   479,   242,     0,   129,
-   241,    14,   482,   242,     0,   129,   241,    74,   482,   242,
-     0,   129,   241,   127,   482,   242,     0,   129,   241,   482,
-   242,     0,   469,   175,     0,   469,    69,    90,     0,   469,
-   191,     0,   469,    69,    88,    90,     0,   469,    69,   130,
-     0,   469,    69,    88,    51,     0,   469,    69,    51,     0,
-   469,    69,    88,   130,     0,   469,    13,   472,     8,   472,
-     0,   469,    88,    13,   472,     8,   472,     0,     0,   469,
-    62,   470,   241,   483,   242,     0,     0,   469,    88,    62,
-   471,   241,   485,   242,     0,   469,   219,   241,   409,   242,
-     0,   469,   227,   241,   409,   242,     0,   469,   228,   241,
-   409,   242,     0,   469,   230,   241,   409,   242,     0,   469,
-   231,   241,   409,   242,     0,   469,   229,   241,   409,   242,
-     0,   469,   225,   241,   409,   242,     0,   469,   226,   241,
-   409,   242,     0,   469,   224,   241,   409,   242,     0,   469,
-   219,     9,   241,   409,   242,     0,   469,   227,     9,   241,
-   409,   242,     0,   469,   228,     9,   241,   409,   242,     0,
-   469,   230,     9,   241,   409,   242,     0,   469,   231,     9,
-   241,   409,   242,     0,   469,   229,     9,   241,   409,   242,
-     0,   469,   225,     9,   241,   409,   242,     0,   469,   226,
-     9,   241,   409,   242,     0,   469,   224,     9,   241,   409,
-   242,     0,   469,   219,     6,   241,   409,   242,     0,   469,
-   227,     6,   241,   409,   242,     0,   469,   228,     6,   241,
-   409,   242,     0,   469,   230,     6,   241,   409,   242,     0,
-   469,   231,     6,   241,   409,   242,     0,   469,   229,     6,
-   241,   409,   242,     0,   469,   225,     6,   241,   409,   242,
-     0,   469,   226,     6,   241,   409,   242,     0,   469,   224,
-     6,   241,   409,   242,     0,   469,     8,   469,     0,   469,
-    96,   469,     0,    88,   469,     0,   487,     0,   492,   473,
-     0,   508,     0,   514,     0,   228,   472,     0,   231,   472,
-     0,   472,   231,     0,   472,   227,   472,     0,   472,   228,
-   472,     0,   472,   230,   472,     0,   472,   231,   472,     0,
-   472,   229,   472,     0,   233,   472,     0,   234,   472,     0,
-   232,   472,     0,   472,   239,   445,     0,    18,   241,   472,
-    10,   445,   242,     0,   241,   469,   242,     0,   472,   219,
-   472,     0,   219,   472,     0,   472,   219,     0,   506,   241,
-   242,     0,   506,   241,   474,   242,     0,    31,     0,    32,
-     0,    32,   241,   510,   242,     0,    33,     0,    33,   241,
-   510,   242,     0,    34,     0,   134,     0,   100,   241,   477,
-   242,     0,   117,   241,   479,   242,     0,   129,   241,    14,
-   482,   242,     0,   129,   241,    74,   482,   242,     0,   129,
-   241,   127,   482,   242,     0,   129,   241,   482,   242,     0,
-   237,   469,   238,   473,     0,   237,   469,   233,   469,   238,
-   473,     0,     0,   463,     0,   474,   240,   463,     0,   474,
-   135,   469,     0,   476,    56,   469,     0,     0,   460,     0,
-   124,     0,   125,     0,   478,    62,   478,     0,     0,   492,
-   473,     0,   508,     0,   228,   478,     0,   478,   227,   478,
-     0,   478,   228,   478,     0,   478,   230,   478,     0,   478,
-   231,   478,     0,   478,   229,   478,     0,   232,   478,     0,
-   478,   239,   445,     0,    18,   241,   478,    10,   445,   242,
-     0,   241,   478,   242,     0,   478,   219,   478,     0,   219,
-   478,     0,   478,   219,     0,   514,     0,   506,   241,   242,
-     0,   506,   241,   474,   242,     0,   100,   241,   477,   242,
-     0,   117,   241,   479,   242,     0,   129,   241,    14,   482,
-   242,     0,   129,   241,    74,   482,   242,     0,   129,   241,
-   127,   482,   242,     0,   129,   241,   482,   242,     0,   474,
-   480,   481,     0,     0,    56,   474,     0,     0,    54,   474,
-     0,     0,   469,    56,   474,     0,    56,   474,     0,   474,
-     0,   409,     0,   484,     0,   508,     0,   484,   240,   508,
-     0,   409,     0,   486,     0,   508,     0,   486,   240,   508,
-     0,    17,   491,   488,   490,    46,     0,    89,   241,   469,
-   240,   469,   242,     0,    23,   241,   474,   242,     0,   488,
-   489,     0,   489,     0,   140,   469,   121,   463,     0,    45,
-   463,     0,     0,   492,   473,     0,   514,     0,     0,   499,
-   236,   493,     0,   509,   236,   493,     0,   502,     0,   493,
-   236,   502,     0,   493,   236,   229,     0,   494,   240,   495,
-     0,   495,     0,   229,     0,   514,   473,   224,   463,     0,
-   492,   473,     0,   499,   236,   229,     0,   496,   240,   497,
-     0,   497,     0,   463,    10,   515,     0,   463,     0,   499,
-   236,   229,     0,   229,     0,   514,     0,     0,   516,     0,
-   514,     0,   514,     0,   217,     0,   514,     0,   217,     0,
-   514,     0,   514,     0,   514,     0,   511,     0,   510,     0,
-   222,     0,   511,     0,   445,   511,     0,   509,     0,   130,
-     0,    51,     0,   221,   473,     0,   220,     0,   218,     0,
-   217,     0,   514,     0,   450,     0,   455,     0,   217,     0,
-   460,     0,     3,     0,     4,     0,   149,     0,   150,     0,
-   152,     0,   153,     0,   155,     0,   158,     0,   159,     0,
-   160,     0,   161,     0,   162,     0,    43,     0,   164,     0,
-   165,     0,   168,     0,   169,     0,   170,     0,   171,     0,
-   172,     0,   173,     0,    64,     0,   174,     0,   175,     0,
-    72,     0,    73,     0,   176,     0,   180,     0,    79,     0,
-   182,     0,   183,     0,    86,     0,   186,     0,   187,     0,
-   189,     0,   191,     0,    92,     0,   193,     0,    94,     0,
-   194,     0,    95,     0,   195,     0,   103,     0,   104,     0,
-   196,     0,   107,     0,   109,     0,   197,     0,   199,     0,
-   200,     0,   201,     0,   113,     0,   202,     0,   203,     0,
-   206,     0,   207,     0,   208,     0,   209,     0,   122,     0,
-   123,     0,   124,     0,   125,     0,   146,     0,   210,     0,
-   147,     0,   214,     0,   216,     0,   145,     0,   514,     0,
-   148,     0,   151,     0,   154,     0,    17,     0,   156,     0,
-    23,     0,    27,     0,   157,     0,    30,     0,   163,     0,
-    45,     0,    46,     0,   166,     0,   167,     0,    51,     0,
-    55,     0,    59,     0,   178,     0,   179,     0,   181,     0,
-   184,     0,   185,     0,   188,     0,    89,     0,    97,     0,
-   100,     0,   101,     0,   198,     0,   204,     0,   205,     0,
-   118,     0,   121,     0,   128,     0,   130,     0,   213,     0,
-   215,     0,   140,     0,    30,     0,   185,     0
-};
-
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-   358,   360,   364,   373,   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,   428,   449,   470,   478,
-   479,   482,   488,   494,   497,   503,   509,   512,   516,   522,
-   523,   526,   527,   539,   546,   553,   560,   569,   578,   591,
-   592,   595,   596,   597,   600,   606,   612,   620,   626,   632,
-   648,   658,   662,   670,   672,   674,   676,   688,   705,   718,
-   720,   729,   730,   731,   734,   735,   738,   739,   745,   746,
-   757,   770,   772,   773,   776,   783,   790,   793,   794,   797,
-   807,   822,   823,   826,   833,   842,   851,   854,   861,   875,
-   884,   893,   902,   911,   920,   929,   936,   941,   954,   956,
-   958,   960,   962,   964,   966,   968,   970,   972,   974,   976,
-   978,   980,   985,   990,   992,   997,  1003,  1009,  1011,  1014,
-  1016,  1018,  1024,  1026,  1032,  1034,  1042,  1048,  1052,  1060,
-  1069,  1078,  1085,  1090,  1096,  1098,  1100,  1104,  1106,  1108,
-  1110,  1112,  1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,
-  1133,  1138,  1140,  1145,  1151,  1153,  1155,  1157,  1159,  1161,
-  1163,  1165,  1167,  1169,  1171,  1173,  1175,  1177,  1179,  1181,
-  1183,  1190,  1197,  1204,  1213,  1218,  1224,  1228,  1229,  1230,
-  1233,  1234,  1235,  1238,  1239,  1242,  1243,  1244,  1245,  1248,
-  1249,  1252,  1263,  1264,  1267,  1268,  1271,  1291,  1300,  1302,
-  1305,  1311,  1317,  1323,  1329,  1335,  1343,  1344,  1346,  1350,
-  1357,  1361,  1376,  1388,  1389,  1391,  1407,  1423,  1424,  1427,
-  1432,  1437,  1445,  1446,  1447,  1450,  1456,  1457,  1460,  1461,
-  1464,  1466,  1468,  1472,  1478,  1484,  1485,  1488,  1505,  1512,
-  1520,  1521,  1522,  1525,  1526,  1527,  1528,  1529,  1532,  1535,
-  1536,  1539,  1545,  1551,  1559,  1560,  1561,  1562,  1563,  1582,
-  1589,  1608,  1628,  1644,  1645,  1646,  1647,  1652,  1655,  1656,
-  1657,  1658,  1659,  1660,  1663,  1664,  1665,  1676,  1682,  1686,
-  1690,  1696,  1700,  1706,  1710,  1714,  1718,  1722,  1728,  1732,
-  1736,  1742,  1746,  1757,  1774,  1791,  1792,  1795,  1796,  1799,
-  1800,  1803,  1804,  1807,  1817,  1827,  1828,  1829,  1838,  1839,
-  1840,  1851,  1897,  1910,  1911,  1914,  1915,  1918,  1920,  1924,
-  1934,  1935,  1955,  1964,  1965,  1966,  1967,  1971,  1980,  1981,
-  1985,  1995,  2004,  2004,  2006,  2007,  2008,  2009,  2010,  2011,
-  2012,  2013,  2016,  2020,  2022,  2024,  2037,  2049,  2050,  2053,
-  2054,  2067,  2069,  2083,  2084,  2085,  2086,  2087,  2090,  2091,
-  2094,  2096,  2098,  2102,  2103,  2104,  2105,  2108,  2116,  2127,
-  2128,  2129,  2130,  2133,  2134,  2146,  2154,  2162,  2168,  2190,
-  2196,  2202,  2208,  2214,  2222,  2223,  2224,  2235,  2258,  2274,
-  2298,  2312,  2313,  2316,  2317,  2320,  2321,  2322,  2325,  2326,
-  2327,  2337,  2353,  2370,  2379,  2392,  2393,  2396,  2397,  2400,
-  2401,  2404,  2406,  2418,  2439,  2440,  2441,  2442,  2443,  2444,
-  2461,  2468,  2480,  2496,  2513,  2527,  2545,  2546,  2549,  2552,
-  2556,  2573,  2583,  2591,  2617,  2634,  2651,  2652,  2662,  2684,
-  2706,  2707,  2708,  2709,  2710,  2713,  2714,  2717,  2718,  2726,
-  2745,  2836,  2840,  2844,  2849,  2858,  2865,  2894,  2895,  2898,
-  2899,  2902,  2903,  2906,  2907,  2908,  2909,  2912,  2913,  2916,
-  2917,  2920,  2928,  2929,  2930,  2931,  2932,  2933,  2937,  2939,
-  2941,  2943,  2945,  2947,  2951,  2967,  2980,  2991,  3004,  3021,
-  3022,  3025,  3027,  3029,  3033,  3034,  3037,  3041,  3044,  3045,
-  3048,  3049,  3060,  3061,  3064,  3066,  3068,  3072,  3074,  3078,
-  3084,  3090,  3102,  3104,  3108,  3128,  3132,  3144,  3152,  3160,
-  3165,  3170,  3175,  3180,  3185,  3189,  3195,  3196,  3207,  3208,
-  3211,  3212,  3215,  3225,  3226,  3229,  3236,  3244,  3246,  3248,
-  3252,  3254,  3256,  3271,  3293,  3300,  3301,  3302,  3303,  3306,
-  3314,  3315,  3323,  3329,  3334,  3340,  3348,  3350,  3352,  3354,
-  3358,  3369,  3375,  3386,  3394,  3400,  3411,  3419,  3429,  3456,
-  3475,  3495,  3496,  3497,  3498,  3501,  3502,  3505,  3506,  3509,
-  3510,  3513,  3519,  3526,  3532,  3540,  3541,  3542,  3543,  3544,
-  3545,  3548,  3549,  3552,  3553,  3554,  3555,  3556,  3557,  3558,
-  3559,  3560,  3570,  3572,  3589,  3599,  3609,  3622,  3635,  3641,
-  3647,  3651,  3657,  3658,  3659,  3660,  3661,  3662,  3663,  3664,
-  3665,  3668,  3669,  3680,  3685,  3687,  3689,  3697,  3699,  3701,
-  3703,  3705,  3707,  3709,  3711,  3713,  3715,  3719,  3721,  3724,
-  3726,  3728,  3730,  3732,  3748,  3764,  3766,  3768,  3770,  3772,
-  3774,  3776,  3788,  3795,  3802,  3817,  3832,  3854,  3869,  3891,
-  3898,  3905,  3915,  3922,  3929,  3937,  3944,  3951,  3958,  3965,
-  3967,  3969,  3971,  3978,  3988,  3998,  4008,  4018,  4024,  4030,
-  4030,  4044,  4044,  4058,  4068,  4078,  4088,  4098,  4108,  4118,
-  4128,  4138,  4148,  4158,  4168,  4178,  4188,  4198,  4208,  4218,
-  4228,  4238,  4248,  4258,  4268,  4278,  4288,  4298,  4308,  4318,
-  4328,  4330,  4332,  4334,  4343,  4348,  4350,  4358,  4360,  4362,
-  4364,  4366,  4368,  4370,  4372,  4374,  4376,  4378,  4380,  4396,
-  4412,  4414,  4416,  4418,  4420,  4427,  4434,  4449,  4464,  4486,
-  4501,  4523,  4530,  4537,  4544,  4552,  4559,  4566,  4573,  4582,
-  4589,  4596,  4600,  4602,  4604,  4608,  4615,  4619,  4620,  4621,
-  4624,  4626,  4630,  4635,  4637,  4639,  4641,  4643,  4645,  4647,
-  4649,  4651,  4667,  4683,  4685,  4687,  4689,  4691,  4699,  4706,
-  4713,  4720,  4728,  4735,  4742,  4749,  4758,  4762,  4766,  4768,
-  4777,  4779,  4783,  4785,  4787,  4791,  4797,  4801,  4803,  4809,
-  4815,  4819,  4821,  4842,  4850,  4864,  4880,  4882,  4886,  4895,
-  4896,  4899,  4904,  4912,  4916,  4924,  4934,  4936,  4938,  4949,
-  4951,  4953,  4968,  4975,  4982,  5001,  5003,  5008,  5015,  5022,
-  5034,  5048,  5049,  5052,  5057,  5069,  5070,  5071,  5072,  5073,
-  5079,  5080,  5082,  5088,  5095,  5102,  5109,  5117,  5119,  5129,
-  5141,  5149,  5150,  5151,  5158,  5160,  5162,  5173,  5174,  5175,
-  5176,  5177,  5178,  5179,  5180,  5181,  5182,  5183,  5184,  5185,
-  5186,  5187,  5188,  5189,  5190,  5191,  5192,  5193,  5194,  5195,
-  5196,  5197,  5198,  5199,  5200,  5201,  5202,  5203,  5204,  5205,
-  5206,  5207,  5208,  5209,  5210,  5211,  5212,  5213,  5214,  5215,
-  5216,  5217,  5218,  5219,  5220,  5221,  5222,  5223,  5224,  5225,
-  5226,  5227,  5228,  5229,  5230,  5231,  5232,  5233,  5234,  5235,
-  5236,  5237,  5238,  5239,  5240,  5241,  5242,  5255,  5256,  5257,
-  5258,  5259,  5260,  5261,  5262,  5263,  5264,  5265,  5266,  5267,
-  5268,  5269,  5270,  5271,  5272,  5273,  5274,  5275,  5276,  5277,
-  5278,  5279,  5280,  5281,  5282,  5283,  5284,  5285,  5286,  5287,
-  5288,  5289,  5290,  5291,  5292,  5295,  5302
-};
-#endif
-
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = {   "$","error","$undefined.","ABSOLUTE",
-"ACTION","ADD","ALL","ALTER","AND","ANY","AS","ASC","BEGIN_TRANS","BETWEEN",
-"BOTH","BY","CASCADE","CASE","CAST","CHAR","CHARACTER","CHECK","CLOSE","COALESCE",
-"COLLATE","COLUMN","COMMIT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE",
-"CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DAY_P","DECIMAL",
-"DECLARE","DEFAULT","DELETE","DESC","DISTINCT","DOUBLE","DROP","ELSE","END_TRANS",
-"EXCEPT","EXECUTE","EXISTS","EXTRACT","FALSE_P","FETCH","FLOAT","FOR","FOREIGN",
-"FROM","FULL","GRANT","GROUP","HAVING","HOUR_P","IN","INNER_P","INSENSITIVE",
-"INSERT","INTERSECT","INTERVAL","INTO","IS","ISOLATION","JOIN","KEY","LANGUAGE",
-"LEADING","LEFT","LEVEL","LIKE","LOCAL","MATCH","MINUTE_P","MONTH_P","NAMES",
-"NATIONAL","NATURAL","NCHAR","NEXT","NO","NOT","NULLIF","NULL_P","NUMERIC","OF",
-"ON","ONLY","OPTION","OR","ORDER","OUTER_P","PARTIAL","POSITION","PRECISION",
-"PRIMARY","PRIOR","PRIVILEGES","PROCEDURE","PUBLIC","READ","REFERENCES","RELATIVE",
-"REVOKE","RIGHT","ROLLBACK","SCROLL","SECOND_P","SELECT","SET","SUBSTRING","TABLE",
-"TEMP","TEMPORARY","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE",
-"TO","TRAILING","TRANSACTION","TRIM","TRUE_P","UNION","UNIQUE","UPDATE","USER",
-"USING","VALUES","VARCHAR","VARYING","VIEW","WHEN","WHERE","WITH","WORK","YEAR_P",
-"ZONE","TRIGGER","TYPE_P","ABORT_TRANS","AFTER","AGGREGATE","ANALYZE","BACKWARD",
-"BEFORE","BINARY","CACHE","CLUSTER","COPY","CREATEDB","CREATEUSER","CYCLE","DATABASE",
-"DELIMITERS","DO","EACH","ENCODING","EXPLAIN","EXTEND","FORWARD","FUNCTION",
-"HANDLER","INCREMENT","INDEX","INHERITS","INSTEAD","ISNULL","LANCOMPILER","LIMIT",
-"LISTEN","LOAD","LOCATION","LOCK_P","MAXVALUE","MINVALUE","MOVE","NEW","NOCREATEDB",
-"NOCREATEUSER","NONE","NOTHING","NOTIFY","NOTNULL","OFFSET","OIDS","OPERATOR",
-"PASSWORD","PROCEDURAL","RENAME","RESET","RETURNS","ROW","RULE","SEQUENCE","SERIAL",
-"SETOF","SHOW","START","STATEMENT","STDIN","STDOUT","TRUSTED","UNLISTEN","UNTIL",
-"VACUUM","VALID","VERBOSE","VERSION","IDENT","SCONST","Op","ICONST","PARAM",
-"FCONST","OP","'='","'<'","'>'","'+'","'-'","'*'","'/'","'%'","'|'","':'","';'",
-"UMINUS","'.'","'['","']'","TYPECAST","','","'('","')'","stmtblock","stmtmulti",
-"stmt","CreateUserStmt","AlterUserStmt","DropUserStmt","user_passwd_clause",
-"user_createdb_clause","user_createuser_clause","user_group_list","user_group_clause",
-"user_valid_clause","VariableSetStmt","var_value","zone_value","VariableShowStmt",
-"VariableResetStmt","AddAttrStmt","alter_clause","ClosePortalStmt","CopyStmt",
-"copy_dirn","copy_file_name","opt_binary","opt_with_copy","copy_delimiter","CreateStmt",
-"OptTemp","OptTableElementList","OptTableElement","columnDef","ColQualifier",
-"ColQualList","ColPrimaryKey","ColConstraint","ColConstraintElem","default_list",
-"default_expr","TableConstraint","ConstraintElem","constraint_list","constraint_expr",
-"c_list","c_expr","key_match","key_actions","key_action","key_reference","OptInherit",
-"CreateAsStmt","OptCreateAs","CreateAsList","CreateAsElement","CreateSeqStmt",
-"OptSeqList","OptSeqElem","NumericOnly","FloatOnly","IntegerOnly","CreatePLangStmt",
-"PLangTrusted","DropPLangStmt","CreateTrigStmt","TriggerActionTime","TriggerEvents",
-"TriggerOneEvent","TriggerForSpec","TriggerForOpt","TriggerForType","TriggerFuncArgs",
-"TriggerFuncArg","DropTrigStmt","DefineStmt","def_rest","def_type","def_name",
-"definition","def_list","def_elem","def_arg","DestroyStmt","FetchStmt","opt_direction",
-"fetch_how_many","opt_portal_name","GrantStmt","privileges","operation_commalist",
-"operation","grantee","opt_with_grant","RevokeStmt","IndexStmt","index_opt_unique",
-"access_method_clause","index_params","index_list","func_index","index_elem",
-"opt_type","opt_class","ExtendStmt","ProcedureStmt","opt_with","func_args","func_args_list",
-"func_return","set_opt","RemoveStmt","remove_type","RemoveAggrStmt","aggr_argtype",
-"RemoveFuncStmt","RemoveOperStmt","all_Op","MathOp","oper_argtypes","RenameStmt",
-"opt_name","opt_column","RuleStmt","@1","RuleActionList","RuleActionBlock","RuleActionMulti",
-"RuleActionStmt","event_object","event","opt_instead","NotifyStmt","ListenStmt",
-"UnlistenStmt","TransactionStmt","opt_trans","ViewStmt","LoadStmt","CreatedbStmt",
-"opt_database1","opt_database2","location","encoding","DestroydbStmt","ClusterStmt",
-"VacuumStmt","opt_verbose","opt_analyze","opt_va_list","va_list","ExplainStmt",
-"OptimizableStmt","InsertStmt","insert_rest","opt_column_list","columnList",
-"columnElem","DeleteStmt","LockStmt","opt_lmode","UpdateStmt","CursorStmt","opt_cursor",
-"cursor_clause","opt_readonly","opt_of","SelectStmt","select_clause","SubSelect",
-"result","opt_table","opt_union","opt_unique","sort_clause","sortby_list","sortby",
-"OptUseOp","opt_select_limit","select_limit_value","select_offset_value","opt_inh_star",
-"relation_name_list","name_list","group_clause","having_clause","for_update_clause",
-"update_list","from_clause","from_expr","table_list","table_expr","join_clause_with_union",
-"join_clause","join_list","join_expr","join_type","join_outer","join_qual","using_list",
-"using_expr","where_clause","relation_expr","opt_array_bounds","nest_array_bounds",
-"Typename","Array","Generic","generic","Numeric","numeric","opt_float","opt_numeric",
-"opt_decimal","Character","character","opt_varying","opt_charset","opt_collate",
-"Datetime","datetime","opt_timezone","opt_interval","a_expr_or_null","row_expr",
-"row_descriptor","row_list","row_op","sub_type","a_expr","@2","@3","b_expr",
-"opt_indirection","expr_list","extract_list","extract_arg","position_list","position_expr",
-"substr_list","substr_from","substr_for","trim_list","in_expr","in_expr_nodes",
-"not_in_expr","not_in_expr_nodes","case_expr","when_clause_list","when_clause",
-"case_default","case_arg","attr","attrs","res_target_list","res_target_el","res_target_list2",
-"res_target_el2","opt_id","relation_name","database_name","access_method","attr_name",
-"class","index_name","name","func_name","file_name","AexprConst","ParamNo","Iconst",
-"Sconst","UserId","TypeId","ColId","ColLabel","SpecialRuleRelation", NULL
-};
-#endif
-
-static const short yyr1[] = {     0,
-   243,   243,   244,   244,   245,   245,   245,   245,   245,   245,
-   245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
-   245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
-   245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
-   245,   245,   245,   245,   245,   245,   246,   247,   248,   249,
-   249,   250,   250,   250,   251,   251,   251,   252,   252,   253,
-   253,   254,   254,   255,   255,   255,   255,   255,   255,   256,
-   256,   257,   257,   257,   258,   258,   258,   259,   259,   259,
-   260,   261,   261,   261,   261,   261,   261,   262,   263,   264,
-   264,   265,   265,   265,   266,   266,   267,   267,   268,   268,
-   269,   270,   270,   270,   271,   271,   271,   272,   272,   273,
-   273,   274,   274,   275,   275,   276,   276,   277,   277,   278,
-   278,   278,   278,   278,   278,   278,   279,   279,   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,   281,   281,   282,   282,
-   282,   282,   283,   283,   284,   284,   284,   284,   284,   284,
-   284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
-   284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
-   284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
-   284,   284,   284,   284,   285,   285,   286,   287,   287,   287,
-   288,   288,   288,   289,   289,   290,   290,   290,   290,   291,
-   291,   292,   293,   293,   294,   294,   295,   296,   297,   297,
-   298,   298,   298,   298,   298,   298,   299,   299,   300,   300,
-   301,   301,   302,   303,   303,   304,   305,   306,   306,   307,
-   307,   307,   308,   308,   308,   309,   310,   310,   311,   311,
-   312,   312,   312,   313,   313,   313,   313,   314,   315,   316,
-   317,   317,   317,   318,   318,   318,   318,   318,   319,   320,
-   320,   321,   321,   321,   322,   322,   322,   322,   322,   323,
-   323,   324,   324,   325,   325,   325,   325,   325,   326,   326,
-   326,   326,   326,   326,   327,   327,   327,   328,   329,   329,
-   329,   330,   330,   331,   331,   331,   331,   331,   332,   332,
-   332,   333,   333,   334,   335,   336,   336,   337,   337,   338,
-   338,   339,   339,   340,   341,   342,   342,   342,   343,   343,
-   343,   344,   345,   346,   346,   347,   347,   348,   348,   349,
-   350,   350,   351,   352,   352,   352,   352,   353,   354,   354,
-   355,   356,   357,   357,   358,   358,   358,   358,   358,   358,
-   358,   358,   359,   359,   359,   359,   360,   361,   361,   362,
-   362,   364,   363,   365,   365,   365,   365,   365,   366,   366,
-   367,   367,   367,   368,   368,   368,   368,   369,   369,   370,
-   370,   370,   370,   371,   371,   372,   373,   374,   374,   375,
-   375,   375,   375,   375,   376,   376,   376,   377,   378,   379,
-   379,   380,   380,   381,   381,   382,   382,   382,   383,   383,
-   383,   384,   385,   386,   386,   387,   387,   388,   388,   389,
-   389,   390,   390,   391,   392,   392,   392,   392,   392,   392,
-   393,   394,   394,   394,   394,   394,   395,   395,   396,   396,
-   397,   398,   399,   399,   399,   399,   400,   400,   401,   402,
-   403,   403,   403,   403,   403,   404,   404,   405,   405,   406,
-   407,   408,   408,   408,   408,   408,   409,   410,   410,   411,
-   411,   412,   412,   413,   413,   413,   413,   414,   414,   415,
-   415,   416,   417,   417,   417,   417,   417,   417,   418,   418,
-   418,   418,   418,   418,   419,   419,   419,   420,   420,   421,
-   421,   422,   423,   423,   424,   424,   425,   425,   426,   426,
-   427,   427,   428,   428,   429,   429,   429,   430,   430,   431,
-   431,   431,   432,   432,   433,   434,   434,   435,   435,   435,
-   436,   436,   436,   436,   436,   436,   437,   437,   438,   438,
-   439,   439,   440,   441,   441,   442,   442,   443,   443,   443,
-   444,   444,   444,   445,   445,   446,   446,   446,   446,   447,
-   448,   448,   449,   449,   449,   449,   450,   450,   450,   450,
-   451,   451,   452,   452,   452,   453,   453,   453,   454,   454,
-   455,   455,   455,   455,   455,   456,   456,   457,   457,   458,
-   458,   459,   459,   459,   459,   460,   460,   460,   460,   460,
-   460,   461,   461,   462,   462,   462,   462,   462,   462,   462,
-   462,   462,   463,   463,   464,   464,   464,   464,   464,   465,
-   466,   466,   467,   467,   467,   467,   467,   467,   467,   467,
-   467,   468,   468,   469,   469,   469,   469,   469,   469,   469,
-   469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
-   469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
-   469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
-   469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
-   469,   469,   469,   469,   469,   469,   469,   469,   469,   470,
-   469,   471,   469,   469,   469,   469,   469,   469,   469,   469,
-   469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
-   469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
-   469,   469,   469,   469,   472,   472,   472,   472,   472,   472,
-   472,   472,   472,   472,   472,   472,   472,   472,   472,   472,
-   472,   472,   472,   472,   472,   472,   472,   472,   472,   472,
-   472,   472,   472,   472,   472,   472,   472,   472,   472,   473,
-   473,   473,   474,   474,   474,   475,   475,   476,   476,   476,
-   477,   477,   478,   478,   478,   478,   478,   478,   478,   478,
-   478,   478,   478,   478,   478,   478,   478,   478,   478,   478,
-   478,   478,   478,   478,   478,   478,   479,   479,   480,   480,
-   481,   481,   482,   482,   482,   483,   483,   484,   484,   485,
-   485,   486,   486,   487,   487,   487,   488,   488,   489,   490,
-   490,   491,   491,   491,   492,   492,   493,   493,   493,   494,
-   494,   494,   495,   495,   495,   496,   496,   497,   497,   497,
-   497,   498,   498,   499,   499,   500,   501,   502,   503,   504,
-   505,   506,   507,   508,   508,   508,   508,   508,   508,   508,
-   509,   510,   511,   512,   513,   513,   513,   514,   514,   514,
-   514,   514,   514,   514,   514,   514,   514,   514,   514,   514,
-   514,   514,   514,   514,   514,   514,   514,   514,   514,   514,
-   514,   514,   514,   514,   514,   514,   514,   514,   514,   514,
-   514,   514,   514,   514,   514,   514,   514,   514,   514,   514,
-   514,   514,   514,   514,   514,   514,   514,   514,   514,   514,
-   514,   514,   514,   514,   514,   514,   514,   514,   514,   514,
-   514,   514,   514,   514,   514,   514,   514,   515,   515,   515,
-   515,   515,   515,   515,   515,   515,   515,   515,   515,   515,
-   515,   515,   515,   515,   515,   515,   515,   515,   515,   515,
-   515,   515,   515,   515,   515,   515,   515,   515,   515,   515,
-   515,   515,   515,   515,   515,   516,   516
-};
-
-static const short yyr2[] = {     0,
-     1,     1,     3,     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,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     8,     8,     3,     3,
-     0,     1,     1,     0,     1,     1,     0,     3,     1,     3,
-     0,     3,     0,     4,     4,     4,     6,     5,     3,     1,
-     1,     1,     1,     1,     2,     3,     4,     2,     3,     4,
-     5,     3,     4,     3,     6,     5,     2,     2,     7,     1,
-     1,     1,     1,     1,     1,     0,     2,     0,     3,     0,
-     8,     1,     1,     0,     3,     1,     0,     1,     1,     3,
-     3,     1,     0,     2,     1,     2,     0,     3,     1,     4,
-     2,     2,     2,     1,     2,     5,     3,     1,     1,     2,
-     3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
-     2,     3,     6,     3,     3,     4,     3,     2,     2,     1,
-     1,     4,     1,     4,     1,     1,     3,     1,     4,     4,
-     5,    10,     3,     1,     1,     1,     1,     2,     3,     3,
-     3,     3,     3,     3,     3,     3,     2,     2,     2,     3,
-     6,     3,     3,     4,     3,     3,     4,     3,     3,     2,
-     2,     2,     2,     3,     2,     4,     3,     3,     4,     4,
-     5,     6,     5,     6,     3,     1,     1,     2,     2,     0,
-     2,     1,     0,     3,     3,     2,     1,     2,     2,     4,
-     0,     7,     3,     0,     3,     1,     1,     4,     2,     0,
-     2,     1,     2,     2,     2,     2,     1,     1,     1,     2,
-     1,     2,     9,     1,     0,     4,    14,     1,     1,     1,
-     3,     5,     1,     1,     1,     3,     1,     0,     1,     1,
-     1,     3,     0,     1,     1,     1,     1,     5,     3,     2,
-     1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
-     3,     3,     1,     3,     1,     1,     1,     1,     2,     3,
-     3,     4,     4,     1,     1,     1,     1,     0,     1,     2,
-     1,     1,     1,     0,     2,     2,     0,     7,     2,     1,
-     1,     1,     3,     1,     1,     1,     1,     1,     1,     2,
-     1,     3,     0,     6,    11,     1,     0,     2,     0,     1,
-     1,     3,     1,     6,     3,     2,     2,     0,     1,     2,
-     0,     4,    11,     2,     0,     3,     2,     1,     3,     2,
-     1,     0,     3,     1,     1,     1,     1,     4,     1,     1,
-     4,     6,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     3,     3,     3,     9,     1,     0,     1,
-     0,     0,    13,     1,     1,     1,     3,     3,     1,     1,
-     2,     3,     2,     1,     1,     1,     1,     3,     1,     1,
-     1,     1,     1,     1,     0,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     1,     1,     0,     5,     2,     6,
-     3,     3,     0,     3,     0,     1,     1,     0,     1,     1,
-     0,     3,     4,     3,     5,     1,     0,     1,     0,     3,
-     0,     1,     3,     3,     1,     1,     1,     1,     1,     1,
-     4,     4,     2,     1,     7,     4,     3,     0,     3,     1,
-     2,     4,     3,     8,     7,     6,     1,     0,     6,     7,
-     1,     1,     1,     2,     0,     2,     0,     2,     2,     2,
-     4,     3,     1,     3,     4,     3,     8,     4,     0,     1,
-     0,     1,     0,     1,     3,     1,     0,     3,     0,     1,
-     3,     2,     2,     2,     2,     1,     1,     0,     4,     4,
-     2,     4,     2,     0,     1,     1,     1,     1,     1,     1,
-     0,     1,     1,     3,     3,     0,     2,     0,     3,     0,
-     2,     0,     2,     0,     3,     1,     1,     3,     1,     3,
-     2,     1,     1,     4,     2,     2,     1,     4,     4,     3,
-     2,     2,     2,     1,     1,     0,     1,     0,     4,     2,
-     3,     1,     1,     2,     0,     1,     2,     3,     4,     0,
-     3,     4,     0,     2,     2,     1,     1,     1,     1,     1,
-     1,     1,     2,     2,     2,     2,     1,     2,     1,     1,
-     3,     0,     5,     3,     0,     5,     3,     0,     4,     1,
-     4,     2,     1,     3,     2,     1,     0,     3,     0,     2,
-     0,     1,     2,     1,     2,     1,     1,     1,     1,     1,
-     1,     3,     0,     1,     3,     3,     3,     3,     3,     3,
-     3,     0,     1,     1,     7,     8,     8,     7,     7,     3,
-     3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     2,     1,     1,     1,     2,     2,     2,
-     3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-     2,     2,     2,     3,     6,     3,     3,     3,     4,     2,
-     2,     4,     3,     4,     1,     1,     4,     1,     4,     1,
-     1,     4,     4,     4,     4,     5,     5,     5,     4,     2,
-     3,     2,     4,     3,     4,     3,     4,     5,     6,     0,
-     6,     0,     7,     5,     5,     5,     5,     5,     5,     5,
-     5,     5,     6,     6,     6,     6,     6,     6,     6,     6,
-     6,     6,     6,     6,     6,     6,     6,     6,     6,     6,
-     3,     3,     2,     1,     2,     1,     1,     2,     2,     2,
-     3,     3,     3,     3,     3,     2,     2,     2,     3,     6,
-     3,     3,     2,     2,     3,     4,     1,     1,     4,     1,
-     4,     1,     1,     4,     4,     5,     5,     5,     4,     4,
-     6,     0,     1,     3,     3,     3,     0,     1,     1,     1,
-     3,     0,     2,     1,     2,     3,     3,     3,     3,     3,
-     2,     3,     6,     3,     3,     2,     2,     1,     3,     4,
-     4,     4,     5,     5,     5,     4,     3,     0,     2,     0,
-     2,     0,     3,     2,     1,     1,     1,     1,     3,     1,
-     1,     1,     3,     5,     6,     4,     2,     1,     4,     2,
-     0,     2,     1,     0,     3,     3,     1,     3,     3,     3,
-     1,     1,     4,     2,     3,     3,     1,     3,     1,     3,
-     1,     1,     0,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
-     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,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1
-};
-
-static const short yydefact[] = {     0,
-     0,   417,   863,   417,   104,     0,     0,     0,   417,   298,
-     0,     0,     0,   417,   497,     0,     0,   417,     0,    96,
-   437,     0,     0,     0,   491,   298,     0,     0,     0,     0,
-   437,     0,     1,     2,    14,     6,    20,    44,    45,    46,
-     5,     7,     8,     9,    10,    11,    12,    18,    13,    19,
-    16,    17,    23,    24,    35,    25,    21,    29,    33,    30,
-    32,    31,    34,    37,   449,    26,    27,    38,    39,    40,
-    41,    42,    15,    43,    22,    36,   448,   450,    28,   447,
-   446,   445,   499,   483,     0,     0,   416,   415,   411,   890,
-   891,   618,   902,   619,   911,   914,   915,   918,   620,   617,
-   921,   926,   928,   930,   932,   933,   935,   936,   941,   621,
-   948,   949,   950,   951,   616,   957,   952,   954,   892,   893,
-   894,   895,   896,   897,   898,   899,   900,   901,   903,   904,
-   905,   906,   907,   908,   909,   910,   912,   913,   916,   917,
-   919,   920,   922,   923,   924,   925,   927,   929,   931,   934,
-   937,   938,   939,   940,   942,   943,   944,   945,   946,   947,
-   953,   955,   956,   888,   889,    88,   862,   412,   102,   103,
-   326,     0,     0,     0,   272,   273,     0,     0,   271,     0,
-     0,   244,     0,     0,     0,     0,   475,   871,     0,     0,
-     0,   357,     0,   354,     0,     0,     0,   355,     0,     0,
-   356,     0,     0,   413,   297,   296,   295,   294,   304,   310,
-   317,   315,   314,   316,   318,     0,   311,   312,     0,     0,
-   414,   496,   494,     0,   431,   948,     0,     0,   996,   997,
-     0,   865,   864,   410,     0,   870,    95,     0,   436,     0,
-     0,   407,   883,   419,   873,   490,     0,   304,   406,   948,
-     0,    78,   948,     0,    75,   409,   408,   439,     0,     0,
-     4,     0,     0,     0,   493,   530,   521,   884,    51,    51,
-     0,     0,   421,   866,     0,   872,     0,   230,     0,     0,
-   275,   274,   278,   372,   370,   371,   365,   366,   367,   368,
-   369,   269,     0,   277,   276,     0,   472,   473,   471,     0,
-   565,   290,   522,   523,    49,     0,     0,   432,     0,   363,
-     0,   364,     0,   291,   353,   301,   302,   303,   882,     0,
-   307,   299,   309,     0,     0,     0,     0,     0,   844,     0,
-   607,   607,     0,   685,   686,   688,   690,   598,   902,     0,
-     0,   880,   592,   632,     0,   607,     0,     0,   634,   595,
-     0,     0,   948,   949,     0,   879,   691,   603,   954,     0,
-   888,     0,   782,   875,     0,   861,     0,     0,     0,     0,
-     0,     0,   570,   576,   580,   578,   579,   600,   577,   889,
-   859,   655,   633,   744,   782,   489,   857,     0,     0,   656,
-   878,   874,   876,   657,   430,    69,   429,     0,     0,     0,
-     0,     0,     0,    98,   444,   565,   463,   307,    79,     0,
-    76,     0,   438,   434,   482,     3,   484,   486,     0,   492,
-     0,     0,   514,   520,     0,     0,    54,    54,     0,   249,
-   248,     0,   423,     0,     0,   382,   228,   224,     0,     0,
-   270,     0,   474,     0,     0,   462,     0,     0,   360,   358,
-   359,   361,     0,   246,   300,     0,     0,   292,     0,   313,
-     0,     0,     0,   451,   454,     0,   495,     0,   782,     0,
-     0,   843,     0,   606,   602,   609,     0,     0,     0,     0,
-   585,   584,     0,   787,     0,   583,   618,   619,   620,   616,
-   624,   615,   607,   605,     0,   743,     0,     0,     0,   586,
-   792,   818,     0,   613,     0,     0,   614,   623,   582,   581,
-   575,   612,   680,     0,   881,   658,   659,   673,   671,   672,
-     0,     0,     0,   633,   877,     0,   574,     0,     0,     0,
-     0,   710,     0,     0,     0,     0,   700,   702,   681,     0,
-     0,     0,     0,     0,     0,     0,   660,     0,   654,   104,
-     0,   534,     0,     0,     0,    73,    74,    66,    72,     0,
-    71,    64,    70,    65,   852,   782,   534,   851,     0,   782,
-   433,     0,     0,   342,   468,   293,    80,    77,   441,   498,
-   500,   508,   485,   532,     0,     0,   481,   381,   381,   381,
-   381,    81,     0,    52,    53,    57,    57,   418,   254,   253,
-   255,     0,   250,     0,   425,   589,   902,   587,   590,   347,
-     0,   886,   887,   348,   885,   352,     0,     0,   232,     0,
-     0,     0,     0,   229,   107,     0,     0,     0,   283,     0,
-   280,     0,     0,   564,   524,   268,     0,     0,   373,   306,
-   305,     0,   453,     0,     0,   460,   782,     0,     0,   841,
-   838,   842,     0,     0,     0,   611,   783,     0,     0,     0,
-     0,     0,   789,   790,   788,     0,     0,     0,     0,     0,
-     0,     0,   604,     0,   669,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   782,     0,   794,   808,
-   820,     0,     0,     0,     0,     0,     0,   633,   825,     0,
-     0,   676,     0,     0,   573,     0,     0,   962,   964,   965,
-   967,   969,   970,   973,   974,   975,   982,   983,   984,   985,
-   989,   990,   991,   992,   995,   959,   960,   961,   963,   966,
-   968,   971,   972,   976,   977,   978,   979,   980,   981,   986,
-   987,   988,   993,   994,   958,   858,   741,     0,   767,   768,
-   770,   772,     0,     0,     0,   773,     0,     0,     0,     0,
-     0,     0,     0,     0,   782,     0,   746,   747,     0,   706,
-     0,   701,   704,   678,     0,   712,     0,   742,     0,     0,
-     0,   677,     0,     0,   668,     0,   670,     0,     0,     0,
-   666,     0,     0,     0,   667,     0,     0,     0,   661,     0,
-     0,     0,   662,     0,     0,     0,   665,     0,     0,     0,
-   663,     0,     0,     0,   664,   674,   491,   856,     0,   565,
-   860,   845,   847,   868,     0,   683,     0,   846,   935,    68,
-   854,     0,   565,     0,     0,    97,    91,    90,     0,   467,
-     0,     0,   435,     0,   506,   507,     0,   502,     0,   529,
-   516,   517,   511,   515,   519,   513,   518,     0,   380,     0,
-     0,     0,   107,    87,     0,     0,     0,   379,    50,    55,
-    56,    61,    61,     0,     0,   428,     0,   420,   588,     0,
-   346,   351,   345,     0,     0,     0,   231,   241,   233,   234,
-   235,   236,     0,     0,   106,   108,   109,   158,     0,   226,
-   227,     0,     0,     0,     0,     0,   279,   329,   477,     0,
-   362,     0,     0,   319,   323,   321,     0,     0,     0,   461,
-   324,     0,     0,   837,     0,     0,     0,     0,   601,     0,
-     0,   836,   687,   689,     0,   597,   692,   693,     0,   591,
-   626,   627,   628,   629,   630,   631,   625,     0,     0,   594,
-     0,   792,   818,     0,   806,   795,   801,     0,   694,     0,
-   807,     0,     0,     0,     0,     0,     0,   793,     0,     0,
-   822,   695,   622,     0,   824,     0,     0,     0,   699,     0,
-   782,     0,     0,   643,   645,   644,   646,   647,   648,   649,
-   650,   651,     0,   640,     0,   568,   573,   599,     0,     0,
-     0,   792,   818,     0,   763,   748,   749,   758,   756,   757,
-     0,     0,   764,     0,     0,     0,     0,   750,     0,   745,
-     0,     0,   705,   703,   707,     0,     0,   679,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   533,   537,   539,
-   536,   542,   566,   526,     0,   682,   684,    67,   850,   469,
-   855,     0,    93,    94,   100,    92,   466,     0,     0,   442,
-   501,   503,   504,   505,   531,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,    82,     0,    84,     0,   378,     0,
-    63,    63,     0,   251,   427,   422,   426,   431,   349,     0,
-     0,   350,   402,   403,   400,   401,     0,   242,     0,     0,
-   221,     0,   223,   117,   113,   222,     0,     0,   239,   366,
-   287,   237,   238,   284,   286,   288,   285,   282,   281,     0,
-     0,     0,   470,   375,   376,   374,   320,     0,   308,   452,
-   459,     0,   456,     0,   840,   834,     0,   608,   610,   785,
-   784,     0,   786,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   804,   791,   805,   796,   797,   800,   798,   799,
-   802,   809,     0,   819,     0,   817,   696,   697,   698,   823,
-     0,   780,     0,     0,   653,   652,     0,     0,   573,     0,
-   569,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   761,   708,   762,   751,   752,   755,   753,   754,   759,   765,
-     0,   826,     0,   827,   828,   878,     0,     0,     0,     0,
-   714,     0,     0,   722,     0,     0,   720,     0,     0,   721,
-     0,     0,   715,     0,     0,   716,     0,     0,   719,     0,
-     0,   717,     0,     0,   718,   488,   556,     0,   543,     0,
-     0,   558,   555,   558,   556,   554,   558,   545,   547,     0,
-     0,   541,   567,     0,   528,   849,   848,   853,     0,    89,
-   465,     0,     0,   440,   510,   509,   512,     0,     0,   166,
-     0,     0,     0,     0,     0,     0,     0,     0,   165,   167,
-     0,     0,     0,    83,     0,     0,     0,     0,     0,    48,
-    47,   258,     0,     0,   424,   344,     0,     0,   157,   105,
-     0,   101,   225,   227,     0,   111,     0,     0,     0,     0,
-     0,     0,   124,   110,   112,   115,   119,     0,   289,   240,
-   867,   328,     0,     0,     0,   476,     0,     0,   839,   675,
-   596,   835,   593,     0,   811,   812,     0,     0,     0,   816,
-   810,   821,   782,     0,     0,     0,     0,   642,     0,   571,
-   573,     0,   769,   771,   774,   775,     0,     0,     0,   779,
-   766,   711,     0,   709,   830,     0,   831,   832,   732,   723,
-   740,   731,   738,   729,   739,   730,   733,   724,   734,   725,
-   737,   728,   735,   726,   736,   727,     0,   535,   538,     0,
-   557,   551,   552,     0,   553,   546,     0,   540,     0,     0,
-   487,     0,   464,   443,     0,   190,   191,   168,   179,   177,
-   178,     0,     0,     0,     0,     0,     0,     0,     0,   193,
-   195,   192,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   159,     0,     0,     0,   160,    86,     0,   377,    60,
-    59,     0,   257,     0,     0,   252,     0,   565,   399,     0,
-   116,     0,     0,     0,   150,   151,   153,   155,   121,   156,
-     0,     0,     0,     0,     0,     0,   122,     0,   129,   123,
-   125,   458,   114,   243,     0,   330,   331,   333,   338,     0,
-   868,   478,     0,   479,   322,     0,     0,   813,   814,   815,
-   781,   635,     0,   638,   639,     0,   572,     0,   776,   777,
-   778,   829,   713,     0,     0,   550,     0,     0,   525,   527,
-    99,     0,   182,   188,     0,   207,     0,   198,     0,   194,
-   197,   186,     0,     0,     0,   189,   185,   174,   175,   176,
-   169,   170,   173,   171,   172,   180,   183,     0,   164,     0,
-   161,    85,     0,    62,   259,   260,   256,     0,     0,     0,
-     0,     0,     0,   118,     0,     0,     0,   148,   130,   141,
-   139,   140,     0,   149,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   210,   345,     0,     0,     0,
-   341,     0,   480,   455,   803,   636,   637,   760,   833,   544,
-   549,     0,     0,   548,     0,     0,     0,   206,   200,   196,
-   199,     0,     0,   187,     0,   184,     0,    58,     0,   343,
-   405,   398,   220,   120,     0,     0,     0,   144,   147,   136,
-   137,   138,   131,   132,   135,   133,   134,   142,   145,     0,
-   128,     0,     0,   213,   325,   332,   337,   336,     0,   869,
-   335,   339,     0,   560,     0,     0,   203,     0,   201,     0,
-     0,   163,   458,   263,   404,     0,     0,   152,   154,     0,
-   146,   457,   208,   209,     0,   126,   212,   340,   338,     0,
-   562,   563,   181,   205,   204,   202,   210,   267,   264,   265,
-     0,   261,   266,   384,     0,     0,   383,   386,   397,   394,
-   396,   395,   385,     0,   127,     0,     0,   211,   341,     0,
-   559,   213,     0,   247,     0,   389,   390,     0,   143,   217,
-     0,     0,   214,   215,   334,   561,   162,   262,   387,   391,
-   393,   388,   216,   218,   219,   392,     0,     0,     0
-};
-
-static const short yydefgoto[] = {  1747,
-    33,    34,    35,    36,    37,   427,   596,   872,  1460,  1101,
-  1310,    38,   562,   558,    39,    40,    41,   592,    42,    43,
-   839,  1075,   238,   573,  1280,    44,   183,   894,   895,   896,
-  1334,  1335,  1326,  1336,  1337,  1650,  1487,   897,   898,  1558,
-  1297,  1617,  1618,  1654,  1686,  1687,  1733,  1322,    45,   626,
-   899,   900,    46,   437,   624,  1131,  1132,  1133,    47,   184,
-    48,    49,   432,   602,   603,  1313,  1464,  1567,  1701,  1702,
-    50,    51,   292,   185,   629,   441,   630,   631,  1134,    52,
-    53,   209,   321,   458,    54,   216,   217,   218,   915,  1149,
-    55,    56,   186,  1141,  1495,  1496,  1497,  1498,  1601,  1661,
-    57,    58,  1111,   435,   611,   883,   884,    59,   203,    60,
-   450,    61,    62,  1135,   294,   638,    63,  1098,   865,    64,
-   617,  1707,  1725,  1726,  1727,  1468,  1117,  1676,  1709,    66,
-    67,    68,    89,    69,    70,    71,   605,   878,  1106,   396,
-    72,    73,    74,   240,   414,   843,  1079,    75,    76,  1710,
-   464,  1596,   645,   646,  1711,    79,   841,  1712,    81,   300,
-  1143,  1346,  1504,    82,    83,    84,   552,   247,   421,   224,
-   266,   580,   581,   848,   587,   853,   856,   425,   302,   303,
-  1275,  1421,   423,   850,   820,  1058,  1059,  1060,  1258,  1061,
-  1268,  1269,  1270,  1412,  1614,  1690,  1691,   446,  1062,   527,
-   996,   372,   373,   374,   375,   376,   612,   486,   500,   481,
-   377,   378,   475,   656,   929,   379,   380,   504,   492,   657,
-   382,   522,   523,   993,  1198,   383,   769,  1027,   764,   515,
-   699,   666,   667,   685,   686,   692,   971,  1186,   700,  1223,
-  1224,  1386,  1387,   384,   650,   651,   925,   468,   385,   822,
-   567,   568,   386,   387,   166,   470,   273,  1342,   823,  1662,
-   235,   304,   389,   244,   390,   391,   392,   393,   269,   614,
-   394,   746,   233
-};
-
-static const short yypact[] = {  2142,
-   100,   261, 15632,   261,  2466, 15632,    44,  1338,   261,   214,
-    86,   138,    86,   261,   255, 14232, 14407,   261, 15632,   102,
-    79,   135, 14407,   109,   231,   214, 14407, 14757, 14932, 12531,
-    79,   -45,  2142,   176,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   440,-32768, 14407,   184,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,   184, 15632, 15632,-32768,-32768, 15632, 15632,-32768, 15632,
- 14407,-32768,   295,   247, 12181,   260,     5,-32768, 14407, 15632,
-   184,-32768, 15632,-32768, 15632, 15632, 15632,-32768,  1108,   379,
--32768, 15632, 15632,-32768,-32768,-32768,-32768,-32768,    39,   367,
--32768,-32768,-32768,-32768,-32768,   375,   268,-32768, 14407,   402,
--32768,-32768,   408,  7288,     4,   371,   421,   -62,-32768,-32768,
-   405,-32768,-32768,-32768,   436,-32768,-32768, 14407,-32768,    51,
- 15632,-32768,-32768,-32768,-32768,-32768, 14407,    39,-32768,   403,
-   507,-32768,   410,   516,-32768,-32768,-32768,   411,   -28,   359,
--32768,   -45,   -45,   585,   595,   555,   381,-32768,   477,   477,
-   627,   275,   499,-32768,   401,-32768,   638,-32768, 14407,   591,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   441,-32768,-32768, 15632,   564,-32768,-32768,   633,
-   546,-32768,   443,-32768,-32768,   605, 12706,-32768,   401,-32768,
-   465,-32768,   109,-32768,-32768,-32768,-32768,-32768,-32768,   496,
-   365,-32768,-32768, 15632,   145,    -2, 15632, 15632, 13447,   471,
-   548,   548,   476,-32768,   488,   489,-32768,   494,   648,   511,
-   519,-32768,   579,   259,   730,   548,  8168,   584,   544,   587,
-   597,   603,   -85,   -61,   606,-32768,-32768,-32768,   110, 16222,
-   127,  8168,   551,-32768,  8168,-32768,  8168,  8168,  8168,  8168,
-  8388,   109,   565,-32768,-32768,-32768,-32768,   608,-32768,   149,
-   826,-32768, 11554,-32768,   551,   -19,-32768,   617,   613,-32768,
-   619,-32768,-32768,   161,-32768,-32768,-32768,    37,   781,     7,
-     7, 12356, 14407,   719,-32768,   546,   810,   365,-32768,   798,
--32768,   799,-32768, 14407,-32768,-32768,-32768,-32768,  8168,-32768,
-   -45,   740,   242,-32768,    52,   681,   171,   171,   -45,-32768,
--32768,   133,   702,  4875,   684,-32768,   685,   644,   109, 12006,
--32768,   793,-32768,   835,  8168,-32768, 15632, 14407,-32768,-32768,
--32768,-32768, 15107,-32768,-32768, 15632, 15632,-32768,   768,-32768,
-   759,   656, 11411,-32768,-32768,   848,-32768,   771,   551,   672,
-   619,   676,  8168,-32768,-32768,   893,  8388,   496,   496,   496,
--32768,-32768,   801,   690,   496,-32768,   788,   791,   796,   802,
--32768,-32768,   548,-32768,   544,  1439,  8168,  8168,   496,-32768,
- 10368,  8388,   822,-32768,  5076,   648,-32768,   779,-32768,-32768,
--32768,-32768,    71,  8168,-32768,   708,   708,   708,   708,   708,
-   712,   713,   683,  2353,-32768,  -130,-32768,   496, 13648,  8168,
-  9048,-32768,   319,  8168,    66,  8168,-32768,-32768,  8608,  5748,
-  5968,  6188,  6408,  6628,  6848,  7068,  8828, 16164,-32768,   166,
-  7288,   897, 12881,  3775, 15632,-32768,-32768,-32768,-32768, 15807,
--32768,-32768,-32768,-32768,-32768,   551,   -16,-32768,   733,   211,
--32768,   777,    15,-32768,   755,-32768,-32768,-32768,   732,   734,
--32768,  3097,-32768,   883,    16,   264,-32768,    47,   952,   952,
-   952,-32768,   184,-32768,-32768,   182,   182,-32768,-32768,-32768,
--32768,   886,   891,   767,   827,-32768,   896,-32768,-32768,-32768,
-   217,-32768,-32768,-32768,-32768,   794,   907,  -127,-32768,  -127,
-  -127,  -127,  -127,-32768, 14057,   992,   833,   780,   783,   257,
--32768, 14407,   -45, 11554,-32768,-32768,   765,   775,   778,-32768,
--32768, 14582,-32768,  7288,   290,-32768,   551, 14582,  8168,     6,
--32768,-32768, 15632,  3243,   903,   996,-32768,   -77,   787,   789,
-   311,   790,-32768,-32768,-32768,   806,   974,   808,   170,    -7,
-   919,   956,-32768,  2859,   924,   334,   811,   815,   819,   820,
- 10368, 10368, 10368, 10368,   809,   404,   551,   838,-32768,   161,
-     0,   842,   912,  7508,  8388,  7508,  7508,  3288,   -87,   843,
-  3178,-32768,   582,  8168,   851,   800,   850,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,  1439,   854,-32768,   855,
-   856,-32768,   859,   860,   861,-32768,  9048,  9048,  9048,  9048,
-  9048,  9048,  8168,   123,   551,   862,-32768,   161,   865,-32768,
-   228,-32768,-32768,  1021,  9048,-32768,  8168,  1628,   866,   867,
-  7728,    71,   869,   870,-32768,  7728,   924,   871,   872,  7728,
-  1860,   875,   879,  7728,  1860,   880,   888,  7728,   288,   889,
-   900,  7728,   288,   905,   906,  7728,   708,   915,   916,  7728,
-   708,   917,   918,  7728,   708,-32768,   231,-32768, 11236,   546,
--32768,   908,-32768,-32768,   885,-32768,     3,   908, 15632,-32768,
--32768, 13447,   546, 13056,   938,-32768,-32768,-32768,   221,   846,
-   964, 15632,-32768,  8168,-32768,-32768,   -14,-32768, 15632,-32768,
--32768,-32768,   -95,-32768,-32768,   988,-32768,   927,-32768,  1095,
-  1097,   929, 14057,-32768, 15632, 15632, 15632, 15632,-32768,-32768,
--32768,  1110,  1110, 14407,   133,     8,   949,-32768,-32768, 13856,
--32768,-32768,  1032, 13856,   132,   496,-32768,-32768,-32768,-32768,
--32768,-32768, 15632,   342,-32768,-32768,-32768,-32768,   350,-32768,
- 16106,   801, 12181, 11798, 11798, 12006,-32768,  1049,  1132, 15632,
--32768, 15282, 15632,-32768,  1045,-32768,   364, 15632,   -37,-32768,
--32768,  3414,  8388,-32768,  1142, 16164, 15632, 15632,-32768,  8168,
-  8388,-32768,-32768,-32768,   496,-32768,-32768,-32768,  8168,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,  8168,   496,-32768,
- 10368, 10368,  8388,  5302,   432,   950,   950,   547,-32768, 10368,
- 10588, 10368, 10368, 10368, 10368, 10368, 16164,-32768,  3995,  8388,
-  1136,-32768,-32768,   951,   -87,   953,   962,  8388,-32768,  8168,
-   551,   957,  1130,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,    27,  2977,   167,-32768,   851,-32768,  9048,   496,
-   496, 10368,  8388,  5528,   509,   966,   966,   966,   966,   966,
-   427,  9048,  9268,  9048,  9048,  9048,  9048,  9488, 16164,-32768,
-  4215, 15992,-32768,-32768,-32768,   187,   965,  1021,   801,   801,
-   967,   801,   801,   971,   801,   801,   973,   801,   801,   975,
-   801,   801,   980,   801,   801,   981,   801,   801,   983,   801,
-   801,   984,   801,   801,   985, 14407, 14407,-32768,   976,   821,
--32768, 15457,   999,  1170, 13231,-32768,-32768,-32768,-32768,-32768,
--32768,  8388,-32768,-32768,  1096,-32768,  1013,  1015,   388,-32768,
--32768,-32768,-32768,-32768,   993,   264,   264,    16, 10808,   994,
-   995, 15632,   398, 16106,-32768,    31,-32768,  1111,-32768,  1179,
-  1025,  1025,  1187,  1147,-32768,-32768,-32768,     4,-32768,   441,
-  1235,-32768,-32768,-32768,-32768,-32768,  1118,-32768,   236, 14057,
-  1073, 15632,-32768,  1151,   473,-32768,  1078, 15632,-32768,   481,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1038,
-  1017,   173,-32768,-32768,-32768,-32768,-32768,  1198,-32768,-32768,
--32768,  1018,-32768,  8388,-32768,-32768,  1019,-32768,-32768, 11554,
--32768,  1020, 11554,  1234,  1022,   480,  1023,  1024,  7508,  7508,
-  7508,  1027,-32768,   737,   432,   492,   492,   950,   950,   950,
--32768,-32768,   148,   -87,  8388,-32768,-32768,-32768,-32768,   -87,
-  3488,-32768,   801,  1026,-32768,-32768,  7948,  1029,   851,  1034,
--32768,   534,  1033,  1035,  1036,  1037,  7508,  7508,  7508,  1039,
--32768,   972,   509,   561,   561,   966,   966,   966,-32768,-32768,
-   154,-32768,  1040,  1043,-32768,-32768,  9048, 15992,  1042,  1052,
--32768,  1053,  1055,-32768,  1059,  1060,-32768,  1063,  1064,-32768,
-  1065,  1066,-32768,  1067,  1068,-32768,  1070,  1071,-32768,  1074,
-  1075,-32768,  1076,  1077,-32768,-32768,   795,  1081,-32768, 14407,
-  1192,  1176,-32768,  1176,   510,-32768,  1176,   821,-32768,  1214,
- 13648,-32768,-32768,  1272,  1260,-32768,-32768,-32768,  1162,-32768,
--32768,  1114, 15632,-32768,-32768,-32768,-32768,  1087, 10808,-32768,
- 10808, 10808, 10808, 10808, 10808, 10808,  1549,  1100,-32768,  1103,
- 15632, 15632,   407,-32768,  1306,  1307, 15632,   184,  1135,-32768,
--32768,  1184,  1301,   133,-32768,-32768,   109, 14407,-32768,-32768,
-  1109,-32768,-32768,-32768,  1280,-32768,  1112, 15632,  9708,  1264,
-  1283, 15632,-32768,-32768,   473,-32768,-32768,   109,-32768,-32768,
--32768,-32768, 15632,  1262,  1265,-32768,  1263,  7288,-32768,-32768,
--32768,-32768,-32768, 16164,-32768,-32768,  1117,  1120,  1121,-32768,
--32768,   -87,   551,  1124,   801,  1125,  1128, 11554,   801,-32768,
-   851, 16164,-32768,-32768,-32768,-32768,  1131,  1133,  1137,-32768,
--32768,-32768, 16018,   972,-32768,  1140,  1134,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,  1289,-32768,-32768, 14407,
--32768,-32768,-32768,  1312,-32768,-32768, 14407,-32768,  8388,  8168,
--32768,   109,-32768,-32768, 10808, 11579,   445,  1138,  1138,  1138,
-  1138,  1774, 10808, 16018,  1148,   419, 10808,    92, 10808,-32768,
--32768, 11028, 10808, 10808, 10808, 10808, 10808, 10808, 10808, 10808,
- 16164,-32768,  4655,   425,   462,-32768,-32768,  9928,-32768,  1150,
--32768,  1160,-32768,   251,  1286,-32768,  1319,   546,  1161, 15632,
--32768, 10808,    56,  1155,-32768,  1157,  1158,-32768,-32768,-32768,
-  9928,  9928,  9928,  9928,  9928,  9928,   816,  1159,-32768,-32768,
--32768,  1163,-32768,-32768,  1166,  1172,-32768,-32768,    -4,  1174,
-  1103,-32768, 15632,-32768,-32768,   485,  1171,-32768,-32768,-32768,
--32768,-32768,  1175,-32768,-32768,  1177,-32768,  1178,-32768,-32768,
--32768,-32768,-32768, 16018, 14407,-32768, 14407,     1,   -87, 11554,
--32768, 11454,-32768, 11579,  1393,-32768, 16018,-32768,   308,-32768,
--32768,  2225, 16018,  1180, 10808,  2420,   445,  1685, 13274, 13274,
-   588,   588,  1138,  1138,  1138,-32768,-32768,   527, 11625,  1294,
--32768,   816,   184,-32768,-32768,-32768,-32768, 15632,   109,  1240,
- 15632,  1181,  2163,-32768,  9928,   496,   496,   711,  1185,  1185,
-  1185,  1185,   797, 10148,  9928,  9928,  9928,  9928,  9928,  9928,
-  9928,  9928, 16164,  4435, 15632,  1337,  1032, 15632, 16164, 16164,
-   -26, 15632,  1186,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,  8168,  1190,-32768, 16164, 16018,   539,-32768,-32768,-32768,
--32768,  1410, 16018,  2225, 10808,-32768, 15632,-32768,  1194,-32768,
-  1254,-32768,-32768,-32768,   466,  1195,  1206,-32768,   711,   816,
-   839,   839,   612,   612,  1185,  1185,  1185,-32768,-32768,   542,
-   816,   545,   103,  1340,-32768,-32768,-32768,-32768,  1232,-32768,
--32768,-32768,   563, 11554, 15632,  1209,-32768, 16018,-32768, 16018,
-   581, 11625,  1163,   346,-32768,    74, 16164,-32768,-32768,  9928,
--32768,-32768,-32768,-32768,    48,-32768,  1340,-32768,    -4,   590,
--32768,-32768,-32768,-32768,-32768,-32768,  1337,-32768,-32768,-32768,
-   593,-32768,-32768,-32768,   279,   115,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,  1212,   816,    45,    45,-32768,   -26, 15632,
--32768,  1340,   346,-32768,  1228,   279,  1237,  1226,-32768,-32768,
-  1470,    21,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1241,
--32768,-32768,-32768,-32768,-32768,-32768,  1486,  1489,-32768
-};
-
-static const short yypgoto[] = {-32768,
--32768,  1457,-32768,-32768,-32768,  1221,  1069,   895,-32768,   620,
-   392,-32768,  1094,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,   946,   639,   383,   640,
--32768,-32768,-32768,   169,    33,-32768,  -409,-32768,  -573,-32768,
-  -311,  -114, -1393,  -186,  -210,  -174,  -200,-32768,-32768,-32768,
--32768,   399,-32768,-32768,-32768,-32768,-32768,   313,-32768,-32768,
--32768,-32768,-32768,-32768,  -858,-32768,-32768,-32768,-32768,  -209,
--32768,-32768,-32768,-32768,  -179,   413,-32768,   622,   621,-32768,
--32768,  1499,  1281,  1122,-32768,  1518,-32768,  1208,   890,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,   -57,  -153,  -182,
--32768,-32768,   -54,  1236,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,  1345,  -191,-32768,-32768,-32768,    36,-32768,
--32768,-32768,  -159,-32768, -1578,-32768,-32768,-32768,    29,-32768,
--32768,-32768,   474,-32768,-32768,-32768,-32768,-32768,-32768,   442,
--32768,-32768,-32768,  1517,-32768,-32768,   700,-32768,  1313,    30,
--32768,  -119, -1048,   637,    32,-32768,-32768,    34,-32768,-32768,
--32768,-32768,-32768,  -325,   -30,   928,-32768,   739,-32768,-32768,
--32768,-32768,   714,-32768,-32768,   472,  -517,-32768,  -197,   -43,
--32768,-32768,-32768,-32768,   997,-32768,-32768, -1045,-32768,   504,
--32768,   298,   302,  -904,-32768,-32768,  -157,  -397,-32768,-32768,
-  -979,  -506,  1213,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,  -403,  -266,-32768,-32768,-32768,  1191,-32768,-32768,  -203,
--32768,   372,-32768,-32768,-32768,  2355,-32768,-32768,  -638,  -357,
-  -467,-32768,-32768,  -846,  -629,  -836,-32768,-32768,  -611,-32768,
--32768,-32768,-32768,-32768,-32768,   925,-32768,-32768,  -219,  1041,
--32768,   742,  -633,  1028,-32768,   286,  1380,-32768, -1026,   -82,
-  -167,    78,   926,-32768,  2165,  1392,    -6,   -17,  -168,  -438,
-    -3,   307,-32768
-};
-
-
-#define        YYLAST          16439
-
-
-static const short yytable[] = {   167,
-   465,   259,   188,   270,   314,   293,   245,   312,   574,   658,
-   917,  1257,   228,   232,   864,   236,  1104,  1201,   262,   232,
-   381,   851,   305,   232,   252,   255,   232,   549,    65,    77,
-   613,    78,  1195,    80,   691,  1196,   461,   263,  1277,   819,
-  1535,   816,   395,  1303,   316,   561,  1105,   930,   550,  1599,
-   923,   955,   956,   957,   958,   970,   588,   930,   589,  1744,
-  1730,    65,    77,   400,    78,   476,    80,   858,   297,    15,
-   837,   859,   944,   406,  1305,   556,  1327,    15,   775,   494,
-   503,   232,   974,   187,   976,   977,   827,  1716,     6,   319,
-     7,   210,   319,  1612,  1329,   590,  1086,  1708,  1152,   189,
-   886,   860,   265,   598,  1543,  1167,   945,   705,  1659,   469,
-  1745,   652,    15,     7,   557,    12,  1168,   298,  1005,  1006,
-  1007,  1008,  1009,  1010,   317,   211,   459,   776,   442,   466,
-  1012,  1731,  -614,   462,   930,  1613,  1026,   930,    12,   533,
-   838,   318,   777,  1330,  1087,   649,  1306,  1740,   861,  1622,
-   212,  -614,   931,  1544,     7,  1205,  -623,  1331,   299,  1683,
-  1732,   401,   931,  1332,   932,    15,  1206,   521,  1545,   188,
-   188,  1113,   599,   274,   276,  -623,   188,   232,   862,    12,
-  1717,   295,   566,    17,   211,   232,   188,  1333,    15,   188,
-  1660,   188,   274,   276,  1227,    32,  1114,   600,   188,   188,
-   213,  1684,   322,    32,  1082,   219,    17,   397,   831,   212,
-  1083,  1084,   835,   415,  1409,   232,   205,    85,   214,  1370,
-   551,   243,  1667,   832,   243,   243,   673,   975,  1600,    15,
-   941,   417,   418,    86,   232,   319,   852,   236,   463,   931,
-    27,   322,   931,   232,  1067,   537,  1115,    17,   591,   942,
-   271,   272,  1454,  1455,   243,   237,   858,   277,   319,   213,
-   222,   538,  1704,    27,  1116,   601,   320,  1197,    65,    77,
-   306,    78,   307,    80,  1694,   232,  1695,   214,  1023,  1344,
-   315,   687,   930,   943,   169,   170,   215,   863,   930,   920,
-   860,    32,   236,   239,   487,   454,   223,   543,   544,   545,
-   546,   547,   231,   188,    27,  1345,   241,   909,   242,   548,
-  1705,   765,   249,   455,  1706,   257,  1499,  1024,     7,   488,
-   188,  1166,   206,   188,   467,   472,   243,  -582,   594,   968,
-  1174,  1175,  1176,  1177,  1178,  1179,  1180,   861,   489,   100,
-   870,  1013,  1172,    12,  -581,   215,  -582,   381,   246,  1014,
-  1015,  1016,  1017,  1018,   525,    32,   595,  1025,  1619,  1413,
-  1202,  1019,  1415,  -581,  1526,   207,  -612,   862,   871,   770,
-   267,  1528,   110,  1212,  1213,  1214,  1215,  1216,  1217,  1218,
-   559,   208,   563,   563,   451,  -612,   319,   931,    87,  1361,
-   583,  1517,  1210,   931,  1125,  1381,  -865,  1620,   570,   232,
-   268,  -872,   490,    88,  1199,  1013,   771,  1020,   772,   261,
-   232,    17,   279,  1014,  1015,  1016,  1017,  1018,   585,  1157,
-   456,   627,  1064,   430,   869,  1019,   457,   431,  1073,  1074,
-   615,   296,   259,   586,   530,  1070,   295,  1621,   243,   531,
-   381,  1109,   280,   188,   232,  1112,  -865,   514,   773,   188,
-  1565,   313,   188,   188,  1603,  1466,   880,  1566,   881,   647,
-  1181,   687,   687,   687,   687,   960,   278,   324,    27,  1538,
-   323,   659,   660,   661,   301,  1677,   613,   168,   668,  1610,
-   613,  1611,   204,   319,   855,   691,   262,   221,   532,  1354,
-   399,   234,   676,  1327,   327,   533,   906,   690,   907,  1328,
-   328,  1183,  1184,   534,   326,   263,  1539,   325,  1540,   388,
-  1190,  1329,  1219,  1436,   535,   398,   545,   546,   547,   706,
-   402,   707,   536,   404,   635,   745,   548,   768,   403,   918,
-   639,   919,   407,   640,   641,   691,   264,   765,   765,   765,
-   765,   765,   765,  1372,  1632,  1319,  1652,   409,  1541,   824,
-   935,   824,   936,  1221,   411,   765,   830,  1357,  1358,  1359,
-  1330,   413,  1698,   243,   438,  1699,  1262,  1700,  1285,  1286,
-   265,  1499,  1263,   949,  1331,   950,   410,   521,   854,   857,
-  1332,  1120,   521,  1121,  1264,   412,   521,  1125,  1384,  1122,
-   521,  1123,   416,  1153,   521,  1377,  1378,  1379,   521,   419,
-   420,   537,   521,   551,  1333,  1150,   521,  1266,   422,   424,
-   521,   888,   566,   888,   888,   888,   888,   538,   426,  1440,
-  1267,   901,   961,  1192,   866,   867,   868,  1283,   232,  1284,
-   962,   963,   964,   965,   966,  1441,   429,  1120,   916,  1304,
-   433,   434,   967,   982,   916,   539,   918,   436,  1456,   824,
-   540,   541,   542,   543,   544,   545,   546,   547,   962,   963,
-   964,   965,   966,   439,   918,   548,  1560,   444,  1211,   983,
-   967,  1446,  1447,  1448,  1449,  1450,   443,   690,   690,   690,
-   690,   440,   447,  1451,  1584,   474,   445,   569,   571,  1585,
-  1586,  1587,  1588,  1589,  1590,  1591,  1592,   448,   961,   579,
-   319,   918,  1340,  1561,  1593,   453,   962,   963,   964,   965,
-   966,   473,   312,   312,  1506,   319,   477,  1362,   967,  1155,
-   964,   965,   966,  1127,   551,    92,  1604,  1161,   478,   479,
-   967,   687,   687,   636,   480,  1014,  1015,  1016,  1017,  1018,
-   687,   687,   687,   687,   687,   687,   687,  1019,   482,   493,
-    94,   483,  1013,   768,   768,   768,   768,   768,   768,   484,
-  1014,  1015,  1016,  1017,  1018,   961,  1625,   498,  1626,    99,
-   100,   768,  1019,   962,   963,   964,   965,   966,  1668,   765,
-  1669,  1680,   687,  1681,   918,   967,  1682,   514,  1173,  1016,
-  1017,  1018,   765,   765,   765,   765,   765,   765,   765,  1019,
-   984,   526,   447,   110,  1689,   985,   986,   987,   988,   989,
-   990,   991,   992,   663,   664,   232,  1448,  1449,  1450,   485,
-  1668,  1076,  1696,  1261,   497,  1068,  1451,   499,   570,  1720,
-   824,  1721,  1723,   115,  1724,   529,   388,   501,   188,   618,
-  1590,  1591,  1592,   502,   619,   188,   505,  1507,   528,  1261,
-  1593,  1262,   553,   554,   555,   620,   560,  1263,  1107,  1094,
-   572,  1094,  1096,  1097,   188,  1518,   621,   622,  1278,  1264,
-   232,   575,   584,   577,   578,   593,   615,  1262,  1265,  1118,
-   615,   604,   616,  1263,   625,   632,  1136,  1136,   633,   188,
-   623,  -556,  1266,   642,   643,  1264,   644,   888,   888,   295,
-  1137,  1137,   295,   648,  1265,  1267,   188,   653,   188,  1147,
-   649,  -865,   655,   669,   647,    15,   670,   908,  1266,  1080,
-   503,   671,   704,  1158,  1159,  1407,  1080,   672,  1162,   388,
-   887,  1267,   889,   890,   891,   892,   531,  1588,  1589,  1590,
-  1591,  1592,  1165,   693,  1556,  1099,   548,   690,   690,  1593,
-  1349,  1529,   819,   702,   703,   961,   690,   690,   690,   690,
-   690,   690,   690,   962,   963,   964,   965,   966,   834,   836,
-  1119,   840,   842,   844,   849,   967,   859,  1426,   874,  1427,
-  1428,  1429,  1430,  1431,  1432,   532,   875,  1144,  1200,  1146,
-   876,   877,   533,  1203,  1204,   768,   879,   882,   690,   885,
-   534,   902,   903,   904,   910,  1511,   905,   765,   768,   768,
-   768,   768,   768,   768,   768,  1584,   911,   912,   927,   928,
-  1585,  1586,  1587,  1588,  1589,  1590,  1591,  1592,   933,   939,
-   934,   937,   946,   531,  1584,  1593,   947,   997,  1638,  1585,
-  1586,  1587,  1588,  1589,  1590,  1591,  1592,   938,  1562,   940,
-   959,   951,   232,   232,  1593,   952,   973,  1584,  1272,   953,
-   954,   824,  1077,-32768,-32768,  1588,  1589,  1590,  1591,  1592,
-  1570,  1578,  1579,  1580,  1581,  1582,  1583,  1593,   969,   857,
-   857,   854,   532,   972,   979,  1300,  1648,   995,   647,   533,
-   397,   998,  1657,  1658,   999,  1000,  1001,-32768,   537,  1002,
-  1003,  1004,  1021,   275,  1063,  1022,  1029,  1030,  1666,  1032,
-  1033,  1035,  1036,  1532,   538,  1038,  1094,   569,  1324,  1039,
-  1041,  1534,   309,  1118,  1339,  1542,  1066,  1546,  1042,  1044,
-  1547,  1548,  1549,  1550,  1551,  1552,  1553,  1554,  1555,  1461,
-  1045,  1559,   539,  1065,   381,  1047,  1048,   540,   541,   542,
-   543,   544,   545,   546,   547,  1050,  1051,  1053,  1054,  1103,
-  1573,  1072,   548,  1078,  1088,  1635,  1090,  1089,  1091,  1092,
-  1714,  1100,  1108,  1110,  1639,  1640,  1641,  1642,  1643,  1644,
-  1645,  1646,  1647,  1140,  1651,  1142,  1148,  1156,   967,  1185,
-  1013,  1194,  1187,   165,  1188,   537,   165,  1193,  1014,  1015,
-  1016,  1017,  1018,  1189,  1019,  1228,   165,   165,  1231,   165,
-  1019,   538,  1234,   165,  1237,  1260,  1240,   165,   165,   165,
-   165,  1243,  1246,   768,  1249,  1252,  1255,  1273,  1274,  1281,
-  1279,  1282,  1283,  1624,  1301,  1302,  1307,  1308,  1309,   539,
-  1312,   530,  1314,  1318,  1317,  1321,   531,   543,   544,   545,
-   546,   547,  1325,  1338,  1341,  1347,   232,  1343,  1348,   548,
-  1350,  1351,  1410,  1353,  1355,  1356,  1365,   745,  1360,  1369,
-  1715,  1371,  1572,  1411,  1373,   165,  1374,  1375,  1376,   188,
-  1380,  1382,  1383,  1389,  1417,  1300,  1419,  1300,  1300,  1300,
-  1300,  1300,  1300,  1390,  1391,   532,  1392,   647,   647,  1467,
-  1393,  1394,   533,   188,  1395,  1396,  1397,  1398,  1399,  1400,
-   534,  1401,  1402,  1672,   232,  1403,  1404,  1405,  1406,  1420,
-  1494,   535,  1408,  1422,   188,   276,   310,  1425,  1492,   536,
-  1423,   284,   285,   286,   287,   288,   289,   290,   291,  1501,
-  1453,  1256,  1063,  -872,  1457,  1458,  1462,  1463,  1465,  1470,
-  1713,  1471,  1472,  1490,  1491,  1502,  1503,  1505,  1508,  1525,
-  1424,  1509,  1510,   165,   165,  1512,  1514,   165,   165,  1515,
-   165,   165,  1519,  1524,  1520,   165,  1451,  1564,  1521,   165,
-   165,  1523,  1527,   165,  1459,   165,   165,   165,  1537,  1563,
-  1568,  1569,   165,   165,  1628,  1575,  1571,  1576,  1577,  1594,
-  1616,  1627,  1631,  1595,  1531,  1473,   232,  1597,   537,   165,
-   662,  1598,  1605,   232,  1602,  1653,  1606,  1670,  1607,  1608,
-  1623,  1300,  1633,  1593,   538,   918,   688,  1675,   165,  1300,
-  1665,   165,  1685,  1300,  1674,  1300,  1678,   165,  1300,  1300,
-  1300,  1300,  1300,  1300,  1300,  1300,  1300,  1679,  1660,  1300,
-  1693,   531,   539,  1729,   276,   190,   766,   540,   541,   542,
-   543,   544,   545,   546,   547,  1739,   188,  1742,  1300,   165,
-  1741,   191,   548,  1743,  1746,  1352,   192,   276,   276,   276,
-   276,   276,   276,   193,   194,  1748,   165,   195,  1749,   260,
-   428,   873,  1102,  1311,   564,   817,   597,   165,   196,   647,
-   532,  1093,  1320,  1493,  1095,  1574,   197,   533,  1671,   198,
-  1722,  1737,  1718,  1738,   165,   534,  1734,   165,   165,   165,
-  1323,   232,  1316,   232,   248,  1138,   535,  1139,   408,   576,
-   220,   199,   460,   200,   491,  1719,  1735,   921,   201,   202,
-  1656,  1300,  1655,   311,   452,  1063,  1728,   258,  1085,  1315,
-   512,  1630,   405,  1697,  1151,  1056,  1433,  1081,  1663,  1287,
-  1259,  1434,  1736,   833,   188,  1416,  1414,   824,  1367,  1636,
-  1637,   276,   511,  1069,   924,   308,  1688,  1418,   818,     0,
-   276,   276,   276,   276,   276,   276,   276,   276,   276,     0,
-   276,   647,   165,   165,   824,   828,     0,     0,   188,     0,
-     0,     0,     0,  1469,   165,     0,   688,   688,   688,   688,
-  1435,     0,     0,   537,     0,     0,     0,  1436,     0,     0,
-     0,  1300,     0,  1673,   165,  1437,     0,     0,     0,   538,
-   165,     0,     0,   388,     0,   530,  1438,   165,   165,     0,
-   531,     0,     0,   165,  1439,  1629,   165,   165,     0,     0,
-     0,     0,     0,   165,     0,     0,  1703,   539,     0,     0,
-     0,  1692,   540,   541,   542,   543,   544,   545,   546,   547,
-     0,     0,     0,     0,   665,   259,   276,   548,     0,     0,
-     0,     0,   766,   766,   766,   766,   766,   766,     0,   532,
-     0,     0,     0,     0,     0,  1063,   533,  1434,     0,     0,
-   766,     0,  1063,     0,   534,  1703,     0,     0,  1031,     0,
-     0,     0,     0,  1034,     0,   535,  1692,  1037,     0,   165,
-   471,  1040,     0,  1440,     0,  1043,     0,     0,     0,  1046,
-     0,     0,     0,  1049,     0,     0,     0,  1052,   512,  1441,
-     0,  1055,     0,   165,     0,   165,  1435,     0,     0,     0,
-   165,     0,     0,  1436,     0,     0,     0,     0,     0,     0,
-     0,  1437,     0,     0,     0,     0,     0,  1442,     0,     0,
-     0,     0,  1443,  1444,  1445,  1446,  1447,  1448,  1449,  1450,
-     0,  1433,     0,     0,     0,     0,  1434,  1451,     0,     0,
-  1452,     0,     0,   471,     0,     0,     0,     0,     0,     0,
-     0,     0,   537,     0,     0,     0,     0,     0,     0,     0,
-  1063,     0,  1063,     0,     0,   165,     0,     0,   538,     0,
-     0,     0,   165,     0,     0,     0,     0,     0,     0,  1126,
-     0,     0,   165,     0,     0,  1435,     0,     0,   165,     0,
-     0,     0,  1436,   165,     0,     0,   539,     0,     0,     0,
-  1437,   540,   541,   542,   543,   544,   545,   546,   547,  1440,
-     0,  1438,     0,     0,     0,     0,   548,     0,     0,  1439,
-     0,     0,   531,     0,     0,  1441,   688,   688,     0,     0,
-     0,     0,     0,     0,     0,   688,   688,   688,   688,   688,
-   688,   688,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,  1442,     0,     0,     0,     0,  1443,  1444,
-  1445,  1446,  1447,  1448,  1449,  1450,     0,     0,     0,     0,
-     0,   532,     0,  1451,   766,     0,     0,   688,   533,     0,
-     0,     0,     0,     0,     0,     0,   534,   766,   766,   766,
-   766,   766,   766,   766,     0,     0,     0,     0,  1440,  1222,
-     0,     0,     0,     0,     0,     0,  1229,  1230,     0,  1232,
-  1233,     0,  1235,  1236,  1441,  1238,  1239,     0,  1241,  1242,
-     0,  1244,  1245,     0,  1247,  1248,     0,  1250,  1251,     0,
-  1253,  1254,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,  1442,     0,     0,     0,     0,  1443,  1444,  1445,
-  1446,  1447,  1448,  1449,  1450,     0,     0,     0,     0,   165,
-     0,     0,  1451,     0,  1298,  1533,     0,     0,     0,   165,
-     0,     0,   165,     0,   165,     0,     0,     0,     0,     0,
-     0,     0,   165,     0,   537,     0,     0,     0,     0,   165,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   538,     0,     0,   165,     0,   165,   165,   165,   165,     0,
-     0,     0,     0,     0,   165,     0,     0,     0,     0,     0,
-   165,     0,     0,     0,   165,     0,     0,     0,   539,     0,
-     0,     0,     0,   165,-32768,-32768,   543,   544,   545,   546,
-   547,   512,     0,   165,   165,   165,   165,     0,   548,     0,
-   165,     0,   165,   165,     0,     0,     0,     0,   165,     0,
-     0,     0,     0,     0,     0,     0,   512,   165,   165,     0,
-  1364,     0,     0,     0,  1366,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
-     0,     0,   766,     2,     0,  1385,     0,   512,     0,     0,
-     0,     0,     0,     3,     0,     0,     0,     4,     0,     5,
-  1433,     0,     0,     0,     0,  1434,     0,     0,     0,     6,
-     0,     7,     0,     0,     0,     8,     0,     9,     0,     0,
-     0,     0,     0,    10,     0,     0,     0,     0,     0,    11,
-     0,     0,     0,     0,     0,     0,    12,     0,     0,   512,
-     0,     0,   512,     0,  1298,     0,  1298,  1298,  1298,  1298,
-  1298,  1298,     0,   471,  1435,     0,     0,     0,     0,     0,
-     0,  1436,     0,     0,     0,     0,     0,  1434,     0,  1437,
-     0,     0,     0,     0,     0,     0,   165,   165,     0,     0,
-  1438,    13,   165,    14,  1488,   165,    15,    16,  1439,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,  1500,     0,
-     0,     0,     0,     0,    17,     0,     0,     0,     0,     0,
-     0,     0,   165,     0,   512,     0,  1435,     0,     0,    18,
-     0,     0,  1513,  1436,     0,     0,  1516,    19,    20,     0,
-     0,-32768,     0,     0,     0,     0,     0,    21,    22,     0,
-   165,     0,   165,     0,     0,     0,     0,     0,   165,    23,
-    24,     0,    25,     0,     0,    26,     0,     0,     0,     0,
-     0,    27,     0,     0,     0,     0,     0,  1440,     0,    28,
-     0,     0,     0,     0,     0,     0,    29,     0,     0,     0,
-  1298,     0,    30,  1441,    31,     0,     0,     0,  1298,     0,
-   530,     0,  1298,     0,  1298,   531,     0,  1298,  1298,  1298,
-  1298,  1298,  1298,  1298,  1298,  1298,     0,     0,  1298,     0,
-     0,  1442,    32,  1488,     0,     0,  1443,  1444,  1445,  1446,
-  1447,  1448,  1449,  1450,     0,     0,     0,  1298,     0,  1440,
-     0,  1451,     0,     0,  1634,     0,  1488,  1488,  1488,  1488,
-  1488,  1488,     0,  1226,   532,  1441,     0,     0,   512,     0,
-     0,   533,     0,     0,     0,     0,     0,  1433,     0,   534,
-     0,     0,  1434,     0,     0,     0,     0,     0,     0,     0,
-   535,     0,     0,  1442,     0,     0,     0,     0,   536,     0,
-   165,  1446,  1447,  1448,  1449,  1450,     0,     0,     0,     0,
-     0,   165,     0,  1451,     0,     0,     0,     0,     0,     0,
-  1298,     0,     0,   165,     0,     0,     0,     0,     0,     0,
-  1226,  1435,     0,     0,     0,     0,     0,     0,  1436,     0,
-     0,   165,   165,     0,     0,     0,  1437,   165,     0,     0,
-  1488,     0,     0,     0,     0,     0,     0,  1438,   165,  1488,
-  1488,  1488,  1488,  1488,  1488,  1488,  1488,  1488,   165,  1488,
-     0,     0,   165,     0,     0,     0,     0,   537,     0,     0,
-     0,     0,     0,   165,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   538,   512,     0,     0,     0,     0,     0,
-  1298,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   512,     0,     0,     0,     0,     0,     0,     0,
-     0,   539,     0,   512,     0,     0,   540,   541,   542,   543,
-   544,   545,   546,   547,   169,   170,     0,     0,     0,     0,
-     0,   548,  -642,     0,  1440,     0,     0,   171,     0,   172,
-   165,     0,     0,     0,   173,  1488,     0,   165,     0,     0,
-  1441,   174,   175,     0,     0,   176,     0,     0,     0,  1226,
-     0,     0,     0,     0,   512,     0,   177,     0,     0,     0,
-     0,     0,     0,     0,   178,     0,     0,  -327,  1442,     0,
-     0,   512,     0,  1443,  1444,  1445,  1446,  1447,  1448,  1449,
-  1450,     0,     0,     0,     0,     0,     0,     0,  1451,   179,
-   165,  -245,     0,     0,     0,   689,   180,   181,     0,     0,
-     0,     0,     0,     0,     0,   182,     0,     0,     0,     0,
-  1226,     0,  1226,  1226,  1226,  1226,  1226,  1226,     0,     0,
-     0,     0,     0,   165,     0,   767,     0,     0,     0,     0,
-     0,   496,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   512,   165,   513,   165,     0,   516,
-  1226,   517,   518,   519,   520,   524,     0,   512,     0,     0,
-     0,     0,     0,   512,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   165,     0,
-     0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   582,  1226,     0,     0,     0,     0,     0,
-     0,     0,     0,   512,     0,   165,     0,     0,   165,   512,
-   512,     0,   165,     0,     0,     0,     0,     0,     0,   634,
-     0,     0,     0,     0,     0,   512,   512,     0,     0,     0,
-     0,     0,     0,   512,     0,     0,  1226,   165,     0,     0,
-     0,     0,     0,     0,  1226,  1226,     0,   654,  1226,     0,
-  1226,     0,     0,  1226,  1226,  1226,  1226,  1226,  1226,  1226,
-  1226,  1226,     0,     0,  1226,   689,   689,   689,   689,  1226,
-     0,   674,   675,     0,     0,   165,     0,     0,   512,   698,
-   512,     0,     0,  1226,     0,     0,   530,   512,   701,     0,
-     0,   531,  1226,  1226,  1226,  1226,  1226,  1226,     0,     0,
-     0,     0,     0,     0,   747,     0,     0,     0,   774,     0,
-   778,     0,     0,   782,   787,   791,   795,   799,   803,   807,
-   811,   815,     0,     0,     0,     0,     0,     0,     0,     0,
-   165,     0,     0,     0,     0,  1226,     0,     0,     0,     0,
-   532,   767,   767,   767,   767,   767,   767,   533,  1226,     0,
-     0,     0,     0,     0,  1226,   534,  1226,     0,     0,   767,
-     0,     0,     0,     0,     0,     0,   535,     0,     0,     0,
-     0,     0,     0,     0,   536,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,  1226,     0,     0,     0,
-     0,     0,     0,     0,     0,  1226,  1226,  1226,  1226,  1226,
-  1226,  1226,  1226,  1226,   530,  1226,     0,     0,     0,   531,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   922,     0,     0,     0,  1226,     0,     0,
-     0,     0,     0,     0,  1226,     0,  1226,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   537,     0,     0,     0,     0,   532,     0,
-     0,     0,     0,     0,     0,   533,     0,     0,   698,   538,
-   698,   698,     0,   534,     0,     0,     0,     0,   994,  1226,
-     0,  1226,     0,     0,   535,     0,     0,     0,     0,     0,
-     0,  1226,   536,     0,     0,     0,     0,   539,     0,     0,
-     0,     0,   540,   541,   542,   543,   544,   545,   546,   547,
-     0,     0,     0,     0,     0,     0,     0,   548,   948,     0,
-     0,     0,     0,     0,   530,     0,     0,   845,     0,   531,
-     0,     0,     0,     0,     0,   689,   689,  1011,     0,     0,
-     0,     0,     0,     0,   689,   689,   689,   689,   689,   689,
-   689,  1028,     0,     0,     0,   524,     0,   846,     0,     0,
-   524,     0,     0,     0,   524,     0,     0,     0,   524,     0,
-     0,   537,   524,     0,     0,     0,   524,     0,   532,     0,
-   524,     0,     0,   767,   524,   533,   689,   538,   524,     0,
-     0,     0,     0,   534,     0,     0,   767,   767,   767,   767,
-   767,   767,   767,     0,   535,   530,  1225,     0,     0,     0,
-   531,     0,   536,     0,     0,   539,     0,     0,   582,     0,
-   540,   541,   542,   543,   544,   545,   546,   547,     0,     0,
-     0,     0,     0,     0,     0,   548,  -641,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   847,     0,     0,     0,     0,     0,     0,     0,   532,
-     0,     0,     0,     0,     0,     0,   533,     0,     0,     0,
-   530,     0,   926,  1299,   534,   531,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   535,     0,     0,     0,     0,
-     0,   537,     0,   536,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,  1160,     0,     0,   538,     0,     0,
-     0,     0,     0,  1163,     0,   530,     0,     0,     0,     0,
-   531,     0,  1164,     0,   532,     0,     0,     0,   698,     0,
-     0,   533,     0,     0,     0,   539,     0,     0,     0,   534,
-   540,   541,   542,   543,   544,   545,   546,   547,     0,     0,
-   535,     0,     0,     0,  1191,   548,     0,     0,   536,     0,
-     0,     0,     0,   978,     0,     0,     0,     0,     0,   532,
-     0,     0,   537,     0,     0,     0,   533,     0,   698,     0,
-     0,     0,     0,     0,   534,     0,     0,     0,   538,     0,
-     0,     0,     0,     0,     0,   535,     0,     0,     0,     0,
-     0,     0,     0,   536,     0,     0,     0,     0,     0,     0,
-     0,   767,  1388,     0,     0,     0,   539,     0,     0,     0,
-     0,   540,   541,   542,   543,   544,   545,   546,   547,     0,
-   980,     0,     0,     0,     0,   981,   548,   537,     0,     0,
-     0,   530,     0,     0,     0,     0,   531,     0,     0,     0,
-     0,     0,     0,   538,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,  1299,     0,  1299,  1299,  1299,  1299,  1299,
-  1299,   539,   537,     0,     0,     0,   540,   541,   542,   543,
-   544,   545,   546,   547,     0,   532,     0,     0,   538,     0,
-     0,   548,   533,     0,     0,     0,     0,     0,     0,     0,
-   534,     0,     0,  1489,     0,   530,     0,     0,     0,     0,
-   531,   535,     0,     0,     0,     0,   539,     0,     0,   536,
-     0,   540,   541,   542,   543,   544,   545,   546,   547,     0,
-     0,     0,     0,   698,   698,   698,   548,     0,     0,     0,
-     0,     0,     0,     0,  1154,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,  1522,     0,   532,
-     0,  1368,     0,     0,     0,     0,   533,     0,     0,     0,
-     0,   698,   698,   698,   534,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   535,     0,     0,     0,     0,
-     0,     0,     0,   536,     0,     0,     0,     0,   537,  1299,
-     0,     0,     0,     0,     0,     0,     0,  1299,  1536,     0,
-     0,  1299,     0,  1299,   538,     0,  1299,  1299,  1299,  1299,
-  1299,  1299,  1299,  1299,  1299,     0,     0,  1299,     0,     0,
-     0,     0,  1489,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   539,     0,     0,     0,  1299,   540,   541,   542,
-   543,   544,   545,   546,   547,  1489,  1489,  1489,  1489,  1489,
-  1489,     0,   548,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   537,     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,  1609,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,  1536,     0,     0,     0,     0,   539,  1536,     0,  1299,
-     0,   540,   541,   542,   543,   544,   545,   546,   547,     0,
-     0,     0,     0,     0,     0,  1363,   548,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,  1489,
-     0,     0,     0,     0,     0,     0,     0,     0,  1489,  1489,
-  1489,  1489,  1489,  1489,  1489,  1489,  1489,     0,  1489,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,  1530,     0,     0,    90,    91,     0,
-  1536,     0,     0,     0,     0,     0,     0,  1536,     0,  1299,
-     0,   329,   330,   331,   332,     0,     0,   333,     0,     0,
-     0,     0,     0,     0,   229,   334,   335,   336,   337,     0,
-    92,   338,     0,     0,     0,     0,     0,   339,     0,     0,
-     0,     0,     0,   340,   341,   342,     0,   343,     0,     0,
-     0,     0,  1536,     0,  1536,    94,     0,     0,    95,     0,
-     0,   344,     0,     0,  1489,     0,    96,    97,     0,     0,
-     0,     0,     0,    98,    99,   100,     0,   345,     0,   346,
-   101,     0,   347,   348,   349,   350,   102,     0,   103,   104,
-     0,     0,     0,     0,   351,     0,     0,   105,   106,     0,
-     0,   107,     0,   108,     0,     0,     0,   109,   110,     0,
-     0,   352,     0,     0,     0,     0,   353,   354,   113,   114,
-     0,     0,     0,   355,   356,     0,     0,     0,   357,     0,
-     0,   358,     0,     0,     0,     0,     0,     0,   115,   116,
-   117,   359,     0,   119,   120,     0,   121,   122,     0,   123,
-     0,     0,   124,   125,   126,   127,   128,     0,   129,   130,
-     0,     0,   131,   132,   133,   134,   135,   136,   137,   138,
-   139,     0,     0,     0,   140,     0,   141,   142,     0,   230,
-   143,   144,     0,   145,     0,   146,  1664,   147,   148,   149,
-   150,   151,     0,   152,   153,   154,   155,   156,   360,     0,
-   157,   158,   159,   160,   161,     0,     0,     0,   162,     0,
-   163,   361,   243,   362,   319,   363,   364,    90,    91,     0,
-     0,     0,   365,   825,     0,   367,   368,   369,   370,     0,
-     0,   329,   330,   331,   332,   371,   826,   333,     0,     0,
-     0,     0,     0,     0,   229,   334,   335,   336,   337,     0,
-    92,   338,     0,     0,     0,     0,     0,   339,     0,     0,
-     0,     0,     0,   340,   341,   342,     0,   343,     0,     0,
-     0,     0,     0,     0,     0,    94,     0,     0,    95,     0,
-     0,   344,     0,     0,     0,     0,    96,    97,     0,     0,
-     0,     0,     0,    98,    99,   100,     0,   345,     0,   346,
-   101,     0,   347,   348,   349,   350,   102,     0,   103,   104,
-     0,     0,     0,     0,   351,     0,     0,   105,   106,     0,
-     0,   107,     0,   108,     0,     0,     0,   109,   110,     0,
-     0,   352,     0,     0,     0,     0,   353,   354,   113,   114,
-     0,     0,     0,   355,   356,     0,     0,     0,   357,     0,
-     0,   358,     0,     0,     0,     0,     0,     0,   115,   116,
-   117,   359,     0,   119,   120,     0,   121,   122,     0,   123,
-     0,     0,   124,   125,   126,   127,   128,     0,   129,   130,
-     0,     0,   131,   132,   133,   134,   135,   136,   137,   138,
-   139,     0,     0,     0,   140,     0,   141,   142,     0,   230,
-   143,   144,     0,   145,     0,   146,     0,   147,   148,   149,
-   150,   151,     0,   152,   153,   154,   155,   156,   360,     0,
-   157,   158,   159,   160,   161,     0,     0,     0,   162,     0,
-   163,   361,   243,   362,   319,   363,   364,    90,    91,     0,
-     0,     0,   365,     0,     0,   367,   368,   369,   370,     0,
-     0,   329,   330,   331,   332,   371,  1182,   333,     0,     0,
-     0,     0,     0,     0,   229,   334,   335,   336,   337,     0,
-    92,   338,     0,     0,     0,     0,     0,   339,     0,     0,
-     0,     0,     0,   340,   341,   342,     0,   343,     0,     0,
-     0,     0,     0,     0,     0,    94,     0,     0,    95,     0,
-     0,   344,     0,     0,     0,     0,    96,    97,     0,     0,
-     0,     0,     0,    98,    99,   100,     0,   345,     0,   346,
-   101,     0,   347,   348,   349,   350,   102,     0,   103,   104,
-     0,     0,     0,     0,   351,     0,     0,   105,   106,     0,
-     0,   107,     0,   108,     0,     0,     0,   109,   110,     0,
-     0,   352,     0,     0,     0,     0,   353,   354,   113,   114,
-     0,     0,     0,   355,   356,     0,     0,     0,   357,     0,
-     0,   358,     0,     0,     0,     0,     0,     0,   115,   116,
-   117,   359,     0,   119,   120,     0,   121,   122,     0,   123,
-     0,     0,   124,   125,   126,   127,   128,     0,   129,   130,
-     0,     0,   131,   132,   133,   134,   135,   136,   137,   138,
-   139,     0,     0,     0,   140,     0,   141,   142,     0,   230,
-   143,   144,     0,   145,     0,   146,     0,   147,   148,   149,
-   150,   151,     0,   152,   153,   154,   155,   156,   360,     0,
-   157,   158,   159,   160,   161,     0,     0,     0,   162,     0,
-   163,   361,   243,   362,   319,   363,   364,    90,    91,     0,
-     0,     0,   365,     0,     0,   367,   368,   369,   370,     0,
-     0,     0,  1474,   331,   332,   371,  1220,     0,     0,     0,
-     0,     0,     0,     0,     0,  1475,  1476,  1477,  1478,     0,
-    92,   338,     0,     0,     0,     0,     0,   339,     0,     0,
-     0,     0,     0,     0,     0,   342,     0,   343,     0,     0,
-     0,     0,     0,     0,     0,    94,     0,     0,    95,     0,
-     0,   344,     0,     0,     0,     0,    96,    97,     0,     0,
-     0,     0,     0,    98,    99,   100,     0,   345,     0,   346,
-   101,     0,     0,     0,     0,   350,   102,     0,   103,   104,
-     0,     0,     0,     0,     0,     0,     0,   105,   106,     0,
-     0,   107,     0,   108,     0,     0,     0,   109,   110,     0,
-     0,     0,     0,     0,     0,     0,   353,   354,   113,   114,
-     0,     0,     0,     0,   356,     0,     0,     0,  1480,     0,
-     0,   358,     0,     0,     0,     0,     0,     0,   115,   116,
-   117,   359,     0,   119,   120,     0,   121,   122,     0,   123,
-     0,     0,   124,   125,   126,   127,   128,     0,   129,   130,
-     0,     0,   131,   132,   133,   134,   135,   136,   137,   138,
-   139,     0,     0,     0,   140,     0,   141,   142,     0,     0,
-   143,   144,     0,   145,     0,   146,     0,   147,   148,   149,
-   150,   151,     0,   152,   153,   154,   155,   156,   360,     0,
-   157,   158,   159,   160,   161,     0,     0,     0,   162,     0,
-   163,   361,   243,  1481,   319,   363,   364,    90,    91,     0,
-     0,     0,  1482,     0,     0,     0,  1483,  1484,  1485,     0,
-     0,     0,  1288,   331,   332,  1486,  1649,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    92,   338,     0,     0,     0,     0,     0,   339,     0,     0,
-     0,     0,     0,     0,     0,   342,     0,   343,     0,     0,
-     0,     0,     0,     0,     0,    94,     0,     0,    95,     0,
-     0,   344,     0,     0,     0,     0,    96,    97,     0,     0,
-     0,     0,     0,    98,    99,   100,     0,   345,     0,   346,
-   101,     0,  1289,     0,  1290,   350,   102,     0,   103,   104,
-     0,     0,     0,     0,     0,     0,     0,   105,   106,     0,
-     0,   107,     0,   108,     0,     0,     0,   109,   110,     0,
-     0,     0,     0,     0,     0,     0,   353,   354,   113,   114,
-     0,     0,     0,     0,   356,     0,     0,     0,     0,     0,
-     0,   358,     0,     0,     0,     0,     0,     0,   115,   116,
-   117,   359,     0,   119,   120,     0,   121,   122,     0,   123,
-     0,     0,   124,   125,   126,   127,   128,     0,   129,   130,
-     0,     0,   131,   132,   133,   134,   135,   136,   137,   138,
-   139,     0,     0,     0,   140,     0,   141,   142,     0,     0,
-   143,   144,     0,   145,     0,   146,     0,   147,   148,   149,
-   150,   151,     0,   152,   153,   154,   155,   156,   360,     0,
-   157,   158,   159,   160,   161,     0,     0,     0,   162,     0,
-   163,   361,   243,  1291,   319,   363,   364,    90,    91,     0,
-     0,     0,  1292,     0,     0,     0,  1293,  1294,  1295,     0,
-     0,     0,     0,   331,   332,  1296,  1557,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    92,   606,     0,     0,     0,     0,     0,   607,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   608,     0,     0,
-     0,     0,     0,     0,     0,    94,     0,     0,    95,     0,
-     0,     0,     0,     0,     0,     0,    96,    97,     0,     0,
-     0,     0,     0,    98,    99,   100,     0,   345,     0,   346,
-   101,     0,     0,     0,     0,   609,   102,     0,   103,   104,
-     0,     0,     0,     0,     0,     0,     0,   105,   106,     0,
-     0,   107,     0,   108,     0,     0,     0,   109,   110,     0,
-     0,     0,     0,     0,     0,     0,   111,   112,   113,   114,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   358,     0,     0,     0,     0,     0,     0,   115,   116,
-   117,   118,     0,   119,   120,     0,   121,   122,     0,   123,
-     0,     0,   124,   125,   126,   127,   128,     0,   129,   130,
-     0,     0,   131,   132,   133,   134,   135,   136,   137,   138,
-   139,     0,     0,     0,   140,     0,   141,   142,     0,     0,
-   143,   144,     0,   145,     0,   146,     0,   147,   148,   149,
-   150,   151,     0,   152,   153,   154,   155,   156,    90,    91,
-   157,   158,   159,   160,   161,     0,     0,     0,   162,   694,
-   163,   164,   329,   330,   331,   332,     0,     0,   333,     0,
-     0,     0,     0,     0,     0,   229,   334,   335,   336,   337,
-     0,    92,   338,     0,     0,     0,   610,     0,   339,     0,
-     0,     0,     0,     0,   340,   341,   342,     0,   343,     0,
-     0,   695,     0,     0,     0,     0,    94,     0,     0,    95,
-     0,     0,   344,     0,     0,     0,     0,    96,    97,   696,
-     0,     0,     0,     0,    98,    99,   100,     0,   345,     0,
-   346,   101,     0,   347,   348,   349,   350,   102,     0,   103,
-   104,     0,     0,     0,     0,   351,     0,     0,   105,   106,
-     0,     0,   107,     0,   108,     0,     0,     0,   109,   110,
-     0,     0,   352,     0,     0,     0,     0,   353,   354,   113,
-   114,     0,   697,     0,   355,   356,     0,     0,     0,   357,
-     0,     0,   358,     0,     0,     0,     0,     0,     0,   115,
-   116,   117,   359,     0,   119,   120,     0,   121,   122,     0,
-   123,     0,     0,   124,   125,   126,   127,   128,     0,   129,
-   130,     0,     0,   131,   132,   133,   134,   135,   136,   137,
-   138,   139,     0,     0,     0,   140,     0,   141,   142,     0,
-   230,   143,   144,     0,   145,     0,   146,     0,   147,   148,
-   149,   150,   151,     0,   152,   153,   154,   155,   156,   360,
-     0,   157,   158,   159,   160,   161,     0,     0,     0,   162,
-     0,   163,   361,   243,   362,   319,   363,   364,     0,     0,
-     0,     0,     0,   365,    90,    91,   367,   368,   369,   370,
-     0,     0,     0,     0,     0,  1169,   371,     0,   329,   330,
-   331,   332,     0,     0,   333,     0,     0,     0,     0,     0,
-     0,   229,   334,   335,   336,   337,     0,    92,   338,     0,
-     0,     0,     0,     0,   339,     0,     0,     0,     0,     0,
-   340,   341,   342,     0,   343,     0,     0,   695,     0,     0,
-     0,     0,    94,     0,     0,    95,     0,     0,   344,     0,
-     0,     0,     0,    96,    97,  1170,     0,     0,     0,     0,
-    98,    99,   100,     0,   345,     0,   346,   101,     0,   347,
-   348,   349,   350,   102,     0,   103,   104,     0,     0,     0,
-     0,   351,     0,     0,   105,   106,     0,     0,   107,     0,
-   108,     0,     0,     0,   109,   110,     0,     0,   352,     0,
-     0,     0,     0,   353,   354,   113,   114,     0,  1171,     0,
-   355,   356,     0,     0,     0,   357,     0,     0,   358,     0,
-     0,     0,     0,     0,     0,   115,   116,   117,   359,     0,
-   119,   120,     0,   121,   122,     0,   123,     0,     0,   124,
-   125,   126,   127,   128,     0,   129,   130,     0,     0,   131,
-   132,   133,   134,   135,   136,   137,   138,   139,     0,     0,
-     0,   140,     0,   141,   142,     0,   230,   143,   144,     0,
-   145,     0,   146,     0,   147,   148,   149,   150,   151,     0,
-   152,   153,   154,   155,   156,   360,     0,   157,   158,   159,
-   160,   161,     0,     0,     0,   162,     0,   163,   361,   243,
-   362,   319,   363,   364,     0,     0,     0,     0,     0,   365,
-    90,    91,   367,   368,   369,   370,     0,     0,     0,     0,
-     0,  1207,   371,     0,   329,   330,   331,   332,     0,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,   695,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,  1208,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   349,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,  1209,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,   783,     0,   365,   784,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   371,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   785,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,   788,     0,   365,   789,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   786,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,   792,     0,   365,   793,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   790,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,   796,     0,   365,   797,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   794,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,   800,     0,   365,   801,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   798,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,   804,     0,   365,   805,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   802,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,   808,     0,   365,   809,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   806,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,     0,     0,   365,     0,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   810,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   349,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,     0,     0,   365,   366,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   371,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,   695,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   349,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,     0,     0,   365,     0,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   371,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   349,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,    15,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,     0,     0,   365,     0,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   371,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,    15,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,     0,     0,   365,     0,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   371,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,     0,     0,   365,     0,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   371,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,   347,   348,   349,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   362,   319,   363,   364,
-    90,    91,     0,   779,     0,   365,   780,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   371,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,     0,   319,   363,   364,
-    90,    91,     0,   812,     0,   365,   813,     0,   367,   368,
-   369,   370,     0,     0,   329,   330,   331,   332,   781,     0,
-   333,     0,     0,     0,     0,     0,     0,   229,   334,   335,
-   336,   337,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,   340,   341,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,   348,   495,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   351,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   352,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   355,   356,     0,     0,
-     0,   357,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,     0,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,     0,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,     0,   319,   363,   364,
-    90,    91,     0,     0,     0,     0,     0,     0,     0,   368,
-   369,   370,     0,     0,     0,   748,   331,   332,   814,     0,
-     0,     0,     0,     0,     0,     0,     0,   229,   749,   750,
-   751,   752,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,     0,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   753,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   754,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   755,   356,     0,     0,
-     0,   756,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   757,   319,   363,   364,
-    90,    91,     0,     0,     0,   758,     0,     0,   759,   760,
-   761,   762,     0,     0,     0,   748,   331,   332,   763,     0,
-     0,     0,     0,     0,     0,     0,     0,   229,   749,   750,
-   751,   752,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,     0,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   753,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   754,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   755,   356,     0,     0,
-     0,   756,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,     0,   319,   363,   364,
-    90,    91,     0,     0,     0,   758,     0,     0,   759,   760,
-   761,   762,     0,     0,     0,   748,   331,   332,   763,     0,
-     0,     0,     0,     0,     0,     0,     0,   229,   749,   750,
-   751,   752,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,     0,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   753,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   754,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   755,   356,     0,     0,
-     0,   756,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,     0,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,     0,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,     0,   319,   363,   364,
-    90,    91,     0,     0,     0,     0,     0,     0,     0,   760,
-   761,   762,     0,     0,     0,  1474,   331,   332,   763,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,  1475,  1476,
-  1477,  1478,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,  1479,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,     0,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,     0,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,     0,   356,     0,     0,
-     0,  1480,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,     0,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,  1481,   319,   363,   364,
-    90,    91,     0,     0,     0,  1482,     0,     0,     0,  1483,
-  1484,  1485,     0,     0,     0,  1474,   331,   332,  1486,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,  1475,  1476,
-  1477,  1478,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,     0,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,     0,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,     0,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,     0,   356,     0,     0,
-     0,  1480,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,     0,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,  1481,   319,   363,   364,
-    90,    91,     0,     0,     0,  1482,     0,     0,     0,  1483,
-  1484,  1485,     0,     0,     0,  1474,   331,   332,  1486,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,  1475,  1476,
-  1477,  1478,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,     0,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,     0,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,     0,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,     0,   356,     0,     0,
-     0,  1480,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,     0,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,     0,   319,   363,   364,
-    90,    91,     0,     0,     0,  1482,     0,     0,     0,  1483,
-  1484,  1485,     0,     0,     0,   677,   331,   332,  1486,     0,
-     0,     0,     0,     0,     0,     0,     0,   229,     0,     0,
-     0,     0,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,     0,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   678,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   679,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   680,   356,     0,     0,
-     0,     0,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,   681,   319,   363,   364,
-    90,    91,     0,     0,     0,   682,     0,     0,     0,   683,
-     0,     0,     0,     0,     0,   677,   331,   332,   684,     0,
-     0,     0,     0,     0,     0,     0,     0,   229,     0,     0,
-     0,     0,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,     0,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,   678,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,   679,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,   680,   356,     0,     0,
-     0,     0,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,   230,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,     0,   319,   363,   364,
-    90,    91,     0,     0,     0,   682,     0,     0,     0,   683,
-     0,     0,     0,     0,     0,  1288,   331,   332,   684,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,  1289,     0,  1290,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,     0,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,     0,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,     0,   356,     0,     0,
-     0,     0,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,     0,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,     0,     0,
-     0,   162,     0,   163,   361,   243,  1291,   319,   363,   364,
-    90,    91,     0,     0,     0,  1292,     0,     0,     0,  1293,
-  1294,  1295,     0,     0,     0,  1288,   331,   332,  1296,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    92,   338,     0,     0,     0,     0,     0,
-   339,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,     0,     0,     0,     0,     0,     0,     0,    94,     0,
-     0,    95,     0,     0,   344,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-   345,     0,   346,   101,     0,     0,     0,  1290,   350,   102,
-     0,   103,   104,     0,     0,     0,     0,     0,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,     0,     0,     0,     0,     0,   353,
-   354,   113,   114,     0,     0,     0,     0,   356,     0,     0,
-     0,     0,     0,     0,   358,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   359,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,     0,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,   360,     0,   157,   158,   159,   160,   161,    90,    91,
-     0,   162,     0,   163,   361,   243,     0,   319,   363,   364,
-     0,     0,     0,     0,     0,  1292,     0,     0,     0,  1293,
-  1294,  1295,     0,     0,     0,   229,     0,     0,  1296,     0,
-     0,    92,     0,     0,     0,     0,     0,     0,    93,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    94,     0,     0,    95,
-     0,     0,     0,     0,     0,     0,     0,    96,    97,     0,
-     0,     0,     0,     0,    98,    99,   100,     0,     0,     0,
-     0,   101,     0,     0,     0,     0,     0,   102,     0,   103,
-   104,     0,     0,     0,     0,     0,     0,     0,   105,   106,
-     0,     0,   107,     0,   108,     0,     0,     0,   109,   110,
-     0,     0,     0,     0,     0,     0,     0,   111,   112,   113,
-   114,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   115,
-   116,   117,   118,     0,   119,   120,     0,   121,   122,     0,
-   123,     0,     0,   124,   125,   126,   127,   128,     0,   129,
-   130,     0,     0,   131,   132,   133,   134,   135,   136,   137,
-   138,   139,     0,    90,    91,   140,     0,   141,   142,     0,
-   230,   143,   144,     0,   145,     0,   146,     0,   147,   148,
-   149,   150,   151,     0,   152,   153,   154,   155,   156,     0,
-     0,   157,   158,   159,   160,   161,    92,     0,     0,   162,
-     0,   163,   164,    93,     0,     0,     0,     0,     0,     0,
-     0,  1433,     0,  1615,     0,     0,  1434,     0,     0,     0,
-     0,    94,     0,     0,    95,     0,  1057,     0,     0,     0,
-     0,     0,    96,    97,     0,     0,     0,     0,     0,    98,
-    99,   100,     0,     0,     0,     0,   101,     0,     0,     0,
-     0,     0,   102,     0,   103,   104,     0,     0,     0,     0,
-     0,     0,     0,   105,   106,  1435,     0,   107,     0,   108,
-     0,     0,  1436,   109,   110,    15,     0,     0,     0,     0,
-  1437,     0,   111,   112,   113,   114,     0,     0,     0,     0,
-     0,  1438,     0,     0,     0,     0,     0,     0,     0,  1439,
-     0,     0,     0,     0,   115,   116,   117,   118,     0,   119,
-   120,   530,   121,   122,     0,   123,   531,     0,   124,   125,
-   126,   127,   128,     0,   129,   130,     0,     0,   131,   132,
-   133,   134,   135,   136,   137,   138,   139,     0,     0,     0,
-   140,  1434,   141,   142,     0,     0,   143,   144,     0,   145,
-     0,   146,     0,   147,   148,   149,   150,   151,     0,   152,
-   153,   154,   155,   156,     0,   532,   157,   158,   159,   160,
-   161,     0,   533,     0,   162,     0,   163,   164,  1440,     0,
-   534,     0,  1433,     0,     0,     0,     0,  1434,     0,     0,
-  1435,   535,     0,     0,  1441,     0,     0,  1436,     0,   536,
-     0,    32,     0,     0,     0,  1437,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,  1438,     0,     0,     0,
-     0,     0,  1442,     0,     0,     0,     0,  1443,  1444,  1445,
-  1446,  1447,  1448,  1449,  1450,     0,  1435,     0,     0,     0,
-     0,     0,  1451,  1436,     0,     0,     0,     0,     0,     0,
-     0,  1437,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,  1438,     0,     0,     0,     0,     0,     0,     0,
-  1439,     0,     0,     0,     0,     0,     0,     0,   537,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   538,     0,     0,     0,     0,     0,
-     0,     0,     0,  1440,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,  1441,
-     0,     0,   539,     0,     0,     0,     0,   540,   541,   542,
-   543,   544,   545,   546,   547,     0,     0,     0,     0,     0,
-     0,     0,   548,     0,     0,     0,     0,  1442,     0,  1440,
-    90,    91,  1443,  1444,  1445,  1446,  1447,  1448,  1449,  1450,
-     0,     0,     0,     0,     0,  1441,     0,  1451,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    92,     0,     0,     0,     0,     0,     0,
-    93,     0,     0,  1442,     0,     0,     0,     0,  1443,  1444,
-  1445,  1446,  1447,  1448,  1449,  1450,     0,     0,    94,     0,
-     0,    95,     0,  1451,     0,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-     0,     0,     0,   101,     0,     0,     0,     0,     0,   102,
-     0,   103,   104,     0,     0,     0,     0,     0,     0,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,     0,     0,     0,     0,     0,   111,
-   112,   113,   114,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   115,   116,   117,   118,     0,   119,   120,     0,   121,
-   122,     0,   123,     0,     0,   124,   125,   126,   127,   128,
-     0,   129,   130,     0,     0,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,     0,     0,   140,     0,   141,
-   142,     0,     0,   143,   144,     0,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,     0,   152,   153,   154,   155,
-   156,  1128,     0,   157,   158,   159,   160,   161,    90,    91,
-     0,   162,     0,   163,   164,   243,   310,   319,     0,  1129,
-     0,   284,   285,   286,   287,  1130,   289,   290,   291,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    92,     0,     0,   628,     0,     0,     0,    93,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    94,     0,     0,    95,
-     0,     0,     0,     0,     0,     0,   281,    96,    97,     0,
-     0,     0,     0,     0,    98,    99,   100,     0,     0,     0,
-     0,   101,     0,     0,     0,     0,     0,   102,     0,   103,
-   104,     0,     0,     0,     0,     0,     0,     0,   105,   106,
-   282,     0,   107,     0,   108,     0,     0,     0,   109,   110,
-     0,     0,     0,     0,     0,     0,     0,   111,   112,   113,
-   114,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   115,
-   116,   117,   118,     0,   119,   120,     0,   121,   122,     0,
-   123,     0,     0,   124,   125,   126,   127,   128,     0,   129,
-   130,     0,     0,   131,   132,   133,   134,   135,   136,   137,
-   138,   139,     0,    90,    91,   140,     0,   141,   142,     0,
-     0,   143,   144,     0,   145,     0,   146,     0,   147,   148,
-   149,   150,   151,     0,   152,   153,   154,   155,   156,     0,
-     0,   157,   158,   159,   160,   161,    92,     0,     0,   162,
-     0,   163,   164,    93,   283,     0,     0,     0,     0,   284,
-   285,   286,   287,   288,   289,   290,   291,     0,     0,     0,
-     0,    94,     0,     0,    95,     0,     0,     0,     0,     0,
-     0,   281,    96,    97,     0,     0,     0,     0,     0,    98,
-    99,   100,     0,     0,     0,     0,   101,     0,     0,     0,
-     0,     0,   102,     0,   103,   104,     0,     0,     0,     0,
-     0,     0,     0,   105,   106,   282,     0,   107,     0,   108,
-     0,     0,     0,   109,   110,     0,     0,     0,     0,     0,
-     0,     0,   111,   112,   113,   114,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   115,   116,   117,   118,     0,   119,
-   120,     0,   121,   122,     0,   123,     0,     0,   124,   125,
-   126,   127,   128,     0,   129,   130,     0,     0,   131,   132,
-   133,   134,   135,   136,   137,   138,   139,     0,    90,    91,
-   140,     0,   141,   142,     0,     0,   143,   144,     0,   145,
-     0,   146,     0,   147,   148,   149,   150,   151,     0,   152,
-   153,   154,   155,   156,     0,   229,   157,   158,   159,   160,
-   161,    92,     0,     0,   162,     0,   163,   164,    93,   283,
-     0,     0,     0,     0,   284,   285,   286,   287,   288,   289,
-   290,   291,     0,     0,     0,     0,    94,     0,     0,    95,
-     0,     0,     0,     0,     0,     0,     0,    96,    97,     0,
-     0,     0,     0,     0,    98,    99,   100,     0,     0,     0,
-     0,   101,     0,     0,     0,     0,     0,   102,     0,   103,
-   104,     0,     0,     0,     0,     0,     0,     0,   105,   106,
-     0,     0,   107,     0,   108,     0,     0,     0,   109,   110,
-     0,     0,     0,     0,     0,     0,     0,   111,   112,   113,
-   114,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   115,
-   116,   117,   118,     0,   119,   120,     0,   121,   122,     0,
-   123,     0,     0,   124,   125,   126,   127,   128,     0,   129,
-   130,     0,     0,   131,   132,   133,   134,   135,   136,   137,
-   138,   139,     0,    90,    91,   140,     0,   141,   142,     0,
-   230,   143,   144,     0,   145,     0,   146,     0,   147,   148,
-   149,   150,   151,     0,   152,   153,   154,   155,   156,     0,
-   229,   157,   158,   159,   160,   161,    92,     0,     0,   162,
-     0,   163,   164,    93,     0,     0,   363,     0,     0,     0,
-     0,     0,     0,     0,   565,     0,     0,     0,     0,     0,
-     0,    94,     0,     0,    95,     0,     0,     0,     0,     0,
-     0,     0,    96,    97,     0,     0,     0,     0,     0,    98,
-    99,   100,     0,     0,     0,     0,   101,     0,     0,     0,
-     0,     0,   102,     0,   103,   104,     0,     0,     0,     0,
-     0,     0,     0,   105,   106,     0,     0,   107,     0,   108,
-     0,     0,     0,   109,   110,     0,     0,     0,     0,     0,
-     0,     0,   111,   112,   113,   114,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   115,   116,   117,   118,     0,   119,
-   120,     0,   121,   122,     0,   123,     0,     0,   124,   125,
-   126,   127,   128,     0,   129,   130,     0,     0,   131,   132,
-   133,   134,   135,   136,   137,   138,   139,     0,    90,    91,
-   140,     0,   141,   142,     0,   230,   143,   144,     0,   145,
-     0,   146,     0,   147,   148,   149,   150,   151,     0,   152,
-   153,   154,   155,   156,     0,     0,   157,   158,   159,   160,
-   161,    92,     0,     0,   162,     0,   163,   164,    93,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   256,
-     0,     0,     0,     0,     0,     0,    94,     0,     0,    95,
-     0,     0,     0,     0,     0,     0,     0,    96,    97,     0,
-     0,     0,     0,     0,    98,    99,   100,     0,     0,     0,
-     0,   101,     0,     0,     0,     0,     0,   102,     0,   103,
-   104,     0,     0,     0,     0,     0,     0,     0,   105,   106,
-     0,     0,   107,     0,   108,     0,     0,     0,   109,   110,
-     0,     0,     0,     0,     0,     0,     0,   111,   112,   113,
-   114,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   115,
-   116,   117,   118,     0,   119,   120,     0,   121,   122,     0,
-   123,     0,     0,   124,   125,   126,   127,   128,     0,   129,
-   130,     0,     0,   131,   132,   133,   134,   135,   136,   137,
-   138,   139,     0,    90,    91,   140,     0,   141,   142,     0,
-     0,   143,   144,     0,   145,     0,   146,     0,   147,   148,
-   149,   150,   151,     0,   152,   153,   154,   155,   156,     0,
-     0,   157,   158,   159,   160,   161,    92,     0,     0,   162,
-     0,   163,   164,    93,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   449,     0,     0,     0,     0,     0,
-     0,    94,     0,     0,    95,     0,     0,     0,     0,     0,
-     0,     0,    96,    97,     0,     0,     0,     0,     0,    98,
-    99,   100,     0,     0,     0,     0,   101,     0,     0,     0,
-     0,     0,   102,     0,   103,   104,     0,     0,     0,     0,
-     0,     0,     0,   105,   106,     0,     0,   107,     0,   108,
-     0,     0,     0,   109,   110,     0,     0,     0,     0,     0,
-     0,     0,   111,   112,   113,   114,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   115,   116,   117,   118,     0,   119,
-   120,     0,   121,   122,     0,   123,     0,     0,   124,   125,
-   126,   127,   128,     0,   129,   130,     0,     0,   131,   132,
-   133,   134,   135,   136,   137,   138,   139,     0,    90,    91,
-   140,     0,   141,   142,     0,     0,   143,   144,     0,   145,
-     0,   146,     0,   147,   148,   149,   150,   151,     0,   152,
-   153,   154,   155,   156,     0,     0,   157,   158,   159,   160,
-   161,    92,     0,     0,   162,     0,   163,   164,    93,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   821,
-     0,     0,     0,     0,     0,     0,    94,     0,     0,    95,
-     0,     0,     0,     0,     0,     0,     0,    96,    97,     0,
-     0,     0,     0,     0,    98,    99,   100,     0,     0,     0,
-     0,   101,     0,     0,     0,     0,     0,   102,     0,   103,
-   104,     0,     0,     0,     0,     0,     0,     0,   105,   106,
-     0,     0,   107,     0,   108,     0,     0,     0,   109,   110,
-     0,     0,     0,     0,     0,     0,     0,   111,   112,   113,
-   114,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   115,
-   116,   117,   118,     0,   119,   120,     0,   121,   122,     0,
-   123,     0,     0,   124,   125,   126,   127,   128,     0,   129,
-   130,     0,     0,   131,   132,   133,   134,   135,   136,   137,
-   138,   139,     0,    90,    91,   140,     0,   141,   142,     0,
-     0,   143,   144,     0,   145,     0,   146,     0,   147,   148,
-   149,   150,   151,     0,   152,   153,   154,   155,   156,     0,
-     0,   157,   158,   159,   160,   161,    92,     0,     0,   162,
-     0,   163,   164,    93,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,  1071,     0,  1434,     0,     0,     0,
-     0,    94,     0,     0,    95,     0,     0,     0,     0,     0,
-     0,     0,    96,    97,     0,     0,     0,     0,     0,    98,
-    99,   100,     0,     0,     0,     0,   101,     0,     0,     0,
-     0,     0,   102,     0,   103,   104,     0,     0,     0,     0,
-     0,     0,     0,   105,   106,  1435,     0,   107,     0,   108,
-     0,     0,  1436,   109,   110,     0,     0,     0,     0,     0,
-  1437,     0,   111,   112,   113,   114,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   115,   116,   117,   118,     0,   119,
-   120,     0,   121,   122,     0,   123,     0,     0,   124,   125,
-   126,   127,   128,     0,   129,   130,     0,     0,   131,   132,
-   133,   134,   135,   136,   137,   138,   139,     0,     0,     0,
-   140,     0,   141,   142,     0,     0,   143,   144,     0,   145,
-     0,   146,     0,   147,   148,   149,   150,   151,     0,   152,
-   153,   154,   155,   156,     0,     0,   157,   158,   159,   160,
-   161,     0,     0,     0,   162,     0,   163,   164,  1440,    90,
-    91,     0,     0,     0,     0,     0,     0,     0,     0,  1276,
-     0,     0,     0,     0,  1441,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   229,     0,     0,     0,
-     0,     0,    92,     0,     0,     0,     0,     0,     0,    93,
-     0,     0,  1442,     0,     0,     0,     0,     0,-32768,-32768,
-  1446,  1447,  1448,  1449,  1450,     0,     0,    94,     0,     0,
-    95,     0,  1451,     0,     0,     0,     0,     0,    96,    97,
-     0,     0,     0,     0,     0,    98,    99,   100,     0,     0,
-     0,     0,   101,     0,     0,     0,     0,     0,   102,     0,
-   103,   104,     0,     0,     0,     0,     0,     0,     0,   105,
-   106,     0,     0,   107,     0,   108,     0,     0,     0,   109,
-   110,     0,     0,     0,     0,     0,     0,     0,   111,   112,
-   113,   114,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   115,   116,   117,   118,     0,   119,   120,     0,   121,   122,
-     0,   123,     0,     0,   124,   125,   126,   127,   128,     0,
-   129,   130,     0,     0,   131,   132,   133,   134,   135,   136,
-   137,   138,   139,     0,     0,     0,   140,     0,   141,   142,
-     0,   230,   143,   144,     0,   145,     0,   146,     0,   147,
-   148,   149,   150,   151,     0,   152,   153,   154,   155,   156,
-    90,    91,   157,   158,   159,   160,   161,     0,     0,     0,
-   162,     0,   163,   164,   708,     0,     0,   363,     0,     0,
-   709,     0,     0,     0,   710,     0,     0,   711,     0,     0,
-     0,     0,     0,    92,     0,     0,     0,     0,     0,     0,
-    93,     0,   712,   713,     0,     0,     0,     0,   714,     0,
-     0,     0,   715,     0,     0,     0,   716,     0,    94,     0,
-     0,    95,     0,     0,     0,     0,     0,     0,     0,    96,
-    97,     0,     0,     0,     0,     0,    98,    99,   100,     0,
-     0,     0,     0,   101,     0,     0,   717,     0,     0,   102,
-     0,   103,   104,     0,   718,     0,     0,   719,   720,     0,
-   105,   106,     0,     0,   107,     0,   108,     0,     0,     0,
-   109,   110,     0,     0,     0,   721,     0,     0,   722,   111,
-   112,   113,   114,     0,     0,   723,     0,   724,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   725,     0,     0,
-     0,   115,   116,   117,   118,   726,   119,   120,   727,   121,
-   122,   728,   123,   729,   730,   124,   125,   126,   127,   128,
-   731,   129,   130,   732,   733,   131,   132,   133,   134,   135,
-   136,   137,   138,   139,     0,   734,   735,   140,   736,   141,
-   142,   737,   738,   143,   144,   739,   145,     0,   146,     0,
-   147,   148,   149,   150,   151,   740,   152,   153,   154,   155,
-   156,   741,   742,   157,   158,   159,   160,   161,    90,    91,
-   743,   162,   744,   163,   164,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   331,   332,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    92,   606,     0,     0,     0,     0,     0,   607,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   608,     0,
-     0,     0,     0,     0,     0,     0,    94,     0,     0,    95,
-     0,     0,     0,     0,     0,     0,     0,    96,    97,     0,
-     0,     0,     0,     0,    98,    99,   100,     0,   345,     0,
-   346,   101,     0,     0,     0,     0,   609,   102,     0,   103,
-   104,     0,     0,     0,     0,     0,     0,     0,   105,   106,
-     0,     0,   107,     0,   108,     0,     0,     0,   109,   110,
-     0,     0,     0,     0,     0,     0,     0,   111,   112,   113,
-   114,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   358,     0,     0,     0,     0,     0,     0,   115,
-   116,   117,   118,     0,   119,   120,     0,   121,   122,     0,
-   123,     0,     0,   124,   125,   126,   127,   128,     0,   129,
-   130,     0,     0,   131,   132,   133,   134,   135,   136,   137,
-   138,   139,     0,     0,     0,   140,     0,   141,   142,     0,
-     0,   143,   144,     0,   145,     0,   146,     0,   147,   148,
-   149,   150,   151,     0,   152,   153,   154,   155,   156,    90,
-    91,   157,   158,   159,   160,   161,     0,     0,     0,   162,
-     0,   163,   164,     0,     0,     0,     0,   858,     0,     0,
-     0,     0,     0,   893,     0,     0,     0,     0,     0,     0,
-     0,     0,    92,     0,     0,     0,     0,     0,     0,    93,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   860,     0,     0,     0,     0,     0,    94,     0,     0,
-    95,     0,     0,     0,     0,     0,     0,     0,    96,    97,
-     0,     0,     0,     0,     0,    98,    99,   100,     0,     0,
-     0,     0,   101,     0,     0,     0,     0,     0,   102,     0,
-   103,   104,     0,     0,     0,     0,     0,     0,   861,   105,
-   106,     0,     0,   107,     0,   108,     0,     0,     0,   109,
-   110,     0,     0,     0,     0,     0,     0,     0,   111,   112,
-   113,   114,     0,     0,     0,     0,     0,     0,   862,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   115,   116,   117,   118,     0,   119,   120,     0,   121,   122,
-     0,   123,     0,     0,   124,   125,   126,   127,   128,     0,
-   129,   130,     0,     0,   131,   132,   133,   134,   135,   136,
-   137,   138,   139,     0,    90,    91,   140,     0,   141,   142,
-     0,     0,   143,   144,     0,   145,     0,   146,     0,   147,
-   148,   149,   150,   151,     0,   152,   153,   154,   155,   156,
-     0,     0,   157,   158,   159,   160,   161,    92,     0,     0,
-   162,     0,   163,   164,    93,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,    94,     0,     0,    95,     0,     0,     0,     0,
-     0,     0,     0,    96,    97,     0,     0,     0,     0,     0,
-    98,    99,   100,   225,     0,     0,     0,   101,     0,     0,
-     0,     0,     0,   102,     0,   103,   104,     0,     0,     0,
-     0,     0,     0,     0,   105,   106,     0,     0,   107,     0,
-   108,     0,     0,     0,   109,   110,     0,     0,     0,     0,
-     0,     0,     0,   226,   112,   113,   114,     0,     0,   227,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   115,   116,   117,   118,     0,
-   119,   120,     0,   121,   122,     0,   123,     0,     0,   124,
-   125,   126,   127,   128,     0,   129,   130,     0,     0,   131,
-   132,   133,   134,   135,   136,   137,   138,   139,     0,    90,
-    91,   140,     0,   141,   142,     0,     0,   143,   144,     0,
-   145,     0,   146,     0,   147,   148,   149,   150,   151,     0,
-   152,   153,   154,   155,   156,     0,   229,   157,   158,   159,
-   160,   161,    92,     0,     0,   162,     0,   163,   164,    93,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    94,     0,     0,
-    95,     0,     0,     0,     0,     0,     0,     0,    96,    97,
-     0,     0,     0,     0,     0,    98,    99,   100,     0,     0,
-     0,     0,   101,     0,     0,     0,     0,     0,   102,     0,
-   103,   104,     0,     0,     0,     0,     0,     0,     0,   105,
-   106,     0,     0,   107,     0,   108,     0,     0,     0,   109,
-   110,     0,     0,     0,     0,     0,     0,     0,   111,   112,
-   113,   114,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   115,   116,   117,   118,     0,   119,   120,     0,   121,   122,
-     0,   123,     0,     0,   124,   125,   126,   127,   128,     0,
-   129,   130,     0,     0,   131,   132,   133,   134,   135,   136,
-   137,   138,   139,     0,    90,    91,   140,     0,   141,   142,
-     0,   230,   143,   144,     0,   145,     0,   146,     0,   147,
-   148,   149,   150,   151,     0,   152,   153,   154,   155,   156,
-     0,     0,   157,   158,   159,   160,   161,    92,     0,     0,
-   162,     0,   163,   164,    93,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   913,     0,    94,     0,     0,    95,     0,     0,     0,     0,
-     0,     0,     0,    96,    97,     0,     0,     0,     0,     0,
-    98,    99,   100,     0,     0,     0,     0,   101,     0,     0,
-     0,     0,     0,   102,     0,   103,   104,     0,     0,     0,
-     0,     0,     0,     0,   105,   106,     0,   914,   107,     0,
-   108,     0,     0,     0,   109,   110,     0,     0,     0,     0,
-     0,     0,     0,   111,   112,   113,   114,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   115,   116,   117,   118,     0,
-   119,   120,     0,   121,   122,     0,   123,     0,     0,   124,
-   125,   126,   127,   128,     0,   129,   130,     0,     0,   131,
-   132,   133,   134,   135,   136,   137,   138,   139,     0,    90,
-    91,   140,     0,   141,   142,     0,     0,   143,   144,     0,
-   145,     0,   146,     0,   147,   148,   149,   150,   151,     0,
-   152,   153,   154,   155,   156,     0,     0,   157,   158,   159,
-   160,   161,    92,     0,     0,   162,     0,   163,   164,    93,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    94,     0,     0,
-    95,     0,     0,     0,     0,     0,     0,     0,    96,    97,
-     0,     0,     0,     0,     0,    98,    99,   100,     0,     0,
-     0,     0,   101,     0,     0,     0,     0,     0,   102,     0,
-   103,   104,     0,     0,     0,     0,     0,     0,     0,   105,
-   106,     0,     0,   107,     0,   108,     0,     0,     0,   109,
-   110,     0,     0,     0,     0,     0,     0,     0,   250,   112,
-   113,   114,     0,     0,   251,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   115,   116,   117,   118,     0,   119,   120,     0,   121,   122,
-     0,   123,     0,     0,   124,   125,   126,   127,   128,     0,
-   129,   130,     0,     0,   131,   132,   133,   134,   135,   136,
-   137,   138,   139,     0,    90,    91,   140,     0,   141,   142,
-     0,     0,   143,   144,     0,   145,     0,   146,     0,   147,
-   148,   149,   150,   151,     0,   152,   153,   154,   155,   156,
-     0,     0,   157,   158,   159,   160,   161,    92,     0,     0,
-   162,     0,   163,   164,    93,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,    94,     0,     0,    95,     0,     0,     0,     0,
-     0,     0,     0,    96,    97,     0,     0,     0,     0,     0,
-    98,    99,   100,     0,     0,     0,     0,   101,     0,     0,
-     0,     0,     0,   102,     0,   103,   104,     0,     0,     0,
-     0,     0,     0,     0,   105,   106,     0,     0,   107,     0,
-   108,     0,     0,     0,   109,   110,     0,     0,     0,     0,
-     0,     0,     0,   253,   112,   113,   114,     0,     0,   254,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   115,   116,   117,   118,     0,
-   119,   120,     0,   121,   122,     0,   123,     0,     0,   124,
-   125,   126,   127,   128,     0,   129,   130,     0,     0,   131,
-   132,   133,   134,   135,   136,   137,   138,   139,     0,    90,
-    91,   140,     0,   141,   142,     0,     0,   143,   144,     0,
-   145,     0,   146,     0,   147,   148,   149,   150,   151,     0,
-   152,   153,   154,   155,   156,     0,     0,   157,   158,   159,
-   160,   161,    92,     0,     0,   162,     0,   163,   164,    93,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    94,     0,     0,
-    95,     0,     0,     0,     0,     0,     0,     0,    96,    97,
-     0,     0,     0,     0,     0,    98,    99,   100,     0,     0,
-     0,     0,   101,     0,     0,     0,     0,     0,   102,     0,
-   103,   104,     0,     0,     0,     0,     0,     0,     0,   105,
-   106,     0,     0,   107,     0,   108,     0,     0,     0,   109,
-   110,     0,     0,     0,     0,     0,     0,     0,   111,   112,
-   113,   114,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   115,   116,   117,   118,     0,   119,   120,     0,   121,   122,
-     0,   123,     0,     0,   124,   125,   126,   127,   128,     0,
-   129,   130,     0,     0,   131,   132,   133,   134,   135,   136,
-   137,   138,   139,     0,    90,    91,   140,     0,   141,   142,
-     0,     0,   143,   144,   637,   145,     0,   146,     0,   147,
-   148,   149,   150,   151,     0,   152,   153,   154,   155,   156,
-     0,     0,   157,   158,   159,   160,   161,    92,     0,     0,
-   162,     0,   163,   164,    93,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,    94,     0,     0,    95,     0,     0,     0,     0,
-     0,     0,     0,    96,    97,     0,     0,     0,     0,     0,
-    98,    99,   100,     0,     0,     0,     0,   101,     0,     0,
-     0,     0,     0,   102,     0,   103,   104,     0,     0,     0,
-     0,     0,     0,     0,   105,   106,     0,     0,   107,     0,
-   108,     0,     0,     0,   109,   110,     0,     0,     0,     0,
-     0,     0,     0,   111,   112,   113,   114,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   115,   116,   117,   118,     0,
-   119,   120,     0,   121,   122,     0,   123,     0,     0,   124,
-   125,   126,   127,   128,     0,   129,   130,     0,     0,   131,
-   132,   133,   134,   135,   136,   137,   138,   139,     0,    90,
-    91,   140,     0,   141,   142,     0,  1271,   143,   144,  1145,
-   145,     0,   146,     0,   147,   148,   149,   150,   151,     0,
-   152,   153,   154,   155,   156,     0,     0,   157,   158,   159,
-   160,   161,    92,     0,     0,   162,     0,   163,   164,    93,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    94,     0,     0,
-    95,     0,     0,     0,     0,     0,     0,     0,    96,    97,
-     0,     0,     0,     0,     0,    98,    99,   100,     0,     0,
-     0,     0,   101,     0,     0,     0,     0,     0,   102,     0,
-   103,   104,     0,     0,     0,     0,     0,     0,     0,   105,
-   106,     0,     0,   107,     0,   108,     0,     0,     0,   109,
-   110,     0,     0,     0,     0,     0,     0,     0,   111,   112,
-   113,   114,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   115,   116,   117,   118,     0,   119,   120,     0,   121,   122,
-     0,   123,     0,     0,   124,   125,   126,   127,   128,     0,
-   129,   130,     0,     0,   131,   132,   133,   134,   135,   136,
-   137,   138,   139,     0,    90,    91,   140,     0,   141,   142,
-     0,     0,   143,   144,     0,   145,     0,   146,     0,   147,
-   148,   149,   150,   151,     0,   152,   153,   154,   155,   156,
-     0,     0,   157,   158,   159,   160,   161,    92,     0,     0,
-   162,     0,   163,   164,    93,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,    94,     0,     0,    95,     0,     0,     0,     0,
-     0,     0,     0,    96,    97,     0,     0,     0,     0,     0,
-    98,    99,   100,     0,     0,     0,     0,   101,     0,     0,
-     0,     0,     0,   102,     0,   103,   104,     0,     0,     0,
-     0,     0,     0,     0,   105,   106,     0,     0,   107,     0,
-   108,     0,     0,     0,   109,   110,     0,     0,     0,     0,
-     0,     0,     0,   111,   112,   113,   114,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   115,   116,   117,   118,     0,
-   119,   120,     0,   121,   122,     0,   123,     0,     0,   124,
-   125,   126,   127,   128,     0,   129,   130,     0,     0,   131,
-   132,   133,   134,   135,   136,   137,   138,   139,     0,    90,
-    91,   140,     0,   141,   142,     0,     0,   143,   144,     0,
-   145,     0,   146,     0,   147,   148,   149,   150,   151,     0,
-   152,   153,   154,   155,   156,     0,     0,   157,   158,   159,
-   160,   161,    92,     0,     0,   162,     0,   163,   164,    93,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    94,     0,     0,
-    95,     0,     0,     0,     0,     0,     0,     0,    96,    97,
-     0,     0,     0,     0,     0,    98,    99,   100,     0,     0,
-     0,     0,   101,     0,     0,     0,     0,     0,   102,     0,
-   103,   104,     0,     0,     0,     0,     0,     0,     0,   105,
-   106,     0,     0,   829,     0,   108,     0,     0,     0,   109,
-   110,     0,     0,     0,     0,     0,     0,     0,   111,   112,
-   113,   114,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   115,   116,   117,   118,     0,   119,   120,     0,   121,   122,
-     0,   123,     0,     0,   124,   125,   126,   127,   128,     0,
-   129,   130,     0,     0,   131,   132,   133,   134,   135,   136,
-   137,   138,   139,     0,     0,     0,   140,     0,   141,   142,
-     0,     0,   143,   144,     0,   145,     0,   146,     0,   147,
-   148,   149,   150,   151,     0,   152,   153,   154,   155,   156,
-   331,   332,   157,   158,   159,   160,   161,     0,     0,     0,
-   162,     0,   163,   164,     0,     0,     0,    92,   338,     0,
-     0,     0,     0,     0,   506,     0,   331,   332,     0,     0,
-     0,     0,   342,     0,   343,     0,     0,     0,     0,     0,
-     0,     0,    94,    92,   338,     0,     0,     0,   344,     0,
-   506,     0,     0,     0,     0,     0,     0,     0,   342,     0,
-   343,    99,   100,     0,   345,     0,   346,     0,    94,     0,
-     0,     0,   350,     0,   344,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    99,   100,     0,
-   345,     0,   346,     0,     0,   110,    15,     0,   350,     0,
-     0,     0,     0,   507,   508,     0,     0,     0,     0,     0,
-     0,   356,     0,     0,   331,   332,     0,     0,   358,     0,
-     0,   110,     0,     0,     0,   115,     0,     0,   509,   507,
-   508,    92,   338,     0,     0,     0,     0,   356,   506,     0,
-     0,     0,     0,     0,   358,     0,     0,     0,   343,     0,
-     0,   115,     0,     0,   509,     0,    94,     0,     0,     0,
-     0,     0,   344,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   331,   332,     0,    99,   100,     0,   345,     0,
-   346,     0,     0,     0,     0,   360,   350,     0,     0,    92,
-   338,     0,     0,     0,     0,     0,   506,     0,   510,   243,
-     0,   319,   363,   364,     0,     0,   343,     0,     0,   110,
-     0,   360,     0,     0,    94,     0,     0,   507,   508,     0,
-   344,     0,     0,     0,   510,   243,     0,   319,   363,   364,
-   331,   332,   358,    99,   100,     0,   345,     0,   346,   115,
-     0,     0,   509,     0,   350,     0,     0,    92,   338,     0,
-     0,     0,     0,     0,   506,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   343,     0,     0,   110,     0,     0,
-     0,     0,    94,     0,     0,   507,   508,     0,   344,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   358,    99,   100,     0,   345,     0,   346,   115,  1124,   360,
-   509,     0,   350,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   510,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   110,     0,     0,     0,     0,
-     0,     0,     0,   507,   508,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   358,     0,
-     0,     0,     0,     0,     0,   115,     0,   360,   509,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   510,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   510
-};
-
-static const short yycheck[] = {     3,
-   326,    32,     6,   172,   202,   185,    24,   199,   406,   477,
-   644,  1057,    16,    17,   588,    19,   875,   997,    47,    23,
-   224,     6,   191,    27,    28,    29,    30,   385,     0,     0,
-   434,     0,     6,     0,   502,     9,    39,    66,  1065,    56,
-  1434,   548,    39,  1092,     6,    39,    39,   135,    68,    54,
-    45,   681,   682,   683,   684,    56,     5,   135,     7,    39,
-    16,    33,    33,   126,    33,   332,    33,    21,    64,   115,
-    56,    25,    80,   241,    44,    39,    21,   115,    13,   346,
-   142,    85,   694,     6,   696,   697,   554,    40,    38,   220,
-    40,     6,   220,    93,    39,    44,   192,  1676,   136,    56,
-   228,    55,   131,   429,    13,   952,   114,   238,   135,   329,
-    90,   469,   115,    40,    78,    65,   953,   113,   757,   758,
-   759,   760,   761,   762,    86,    40,   324,    62,   296,   327,
-     8,    87,   218,   136,   135,   135,   775,   135,    65,    69,
-   126,   103,    77,    88,   240,   140,   116,  1726,   102,  1543,
-    65,   237,   240,    62,    40,  1002,   218,   102,   154,    57,
-   116,   224,   240,   108,   242,   115,  1003,   371,    77,   173,
-   174,    40,    40,   177,   178,   237,   180,   181,   132,    65,
-   133,   185,   402,   133,    40,   189,   190,   132,   115,   193,
-   217,   195,   196,   197,     8,   241,    65,    65,   202,   203,
-   115,    99,   209,   241,   219,    68,   133,   225,   566,    65,
-   225,   226,   570,   242,  1260,   219,     3,   118,   133,  1199,
-   240,   218,  1616,   240,   218,   218,   493,   695,   233,   115,
-    61,   262,   263,   134,   238,   220,   221,   241,   241,   240,
-   190,   248,   240,   247,   242,   175,   115,   133,   197,    80,
-   173,   174,  1301,  1302,   218,   154,    21,   180,   220,   115,
-     6,   191,   189,   190,   133,   133,   228,   241,   240,   240,
-   193,   240,   195,   240,  1668,   279,  1670,   133,    51,   107,
-   203,   501,   135,   114,   119,   120,   201,   241,   135,   647,
-    55,   241,   296,   215,    36,   313,    42,   227,   228,   229,
-   230,   231,    17,   307,   190,   133,   172,   633,    23,   239,
-   237,   531,    27,   320,   241,    30,  1343,    90,    40,    61,
-   324,   951,   109,   327,   328,   329,   218,   218,   158,   687,
-   960,   961,   962,   963,   964,   965,   966,   102,    80,    81,
-   159,   219,   954,    65,   218,   201,   237,   551,   118,   227,
-   228,   229,   230,   231,   372,   241,   186,   130,    51,  1264,
-   999,   239,  1267,   237,  1410,   152,   218,   132,   187,    51,
-    85,  1417,   114,  1012,  1013,  1014,  1015,  1016,  1017,  1018,
-   398,   168,   400,   401,   307,   237,   220,   240,   128,   242,
-   421,  1371,  1004,   240,   901,   242,   236,    90,   402,   403,
-   217,   241,   144,   143,   238,   219,    88,   765,    90,   234,
-   414,   133,   118,   227,   228,   229,   230,   231,   177,   926,
-    56,   439,   820,   149,   593,   239,    62,   153,   208,   209,
-   434,   172,   463,   192,     8,   833,   440,   130,   218,    13,
-   644,   880,   196,   447,   448,   884,   236,   237,   130,   453,
-   200,    73,   456,   457,  1503,  1314,   240,   207,   242,   463,
-   967,   681,   682,   683,   684,    62,   181,    93,   190,    51,
-   104,   478,   479,   480,   189,    10,   880,     4,   485,  1525,
-   884,  1527,     9,   220,   221,   953,    47,    14,    62,    10,
-    70,    18,   499,    21,    93,    69,   240,   501,   242,    27,
-    93,   969,   970,    77,   219,    66,    88,   240,    90,   224,
-   978,    39,  1019,    69,    88,   145,   229,   230,   231,   526,
-   116,   528,    96,   238,   447,   529,   239,   531,    93,   240,
-   453,   242,   247,   456,   457,  1003,    97,   757,   758,   759,
-   760,   761,   762,    10,  1571,  1119,  1595,   145,   130,   553,
-   240,   555,   242,  1021,   145,   775,   560,  1169,  1170,  1171,
-    88,   151,   217,   218,   279,   220,    57,   222,  1086,  1087,
-   131,  1598,    63,   240,   102,   242,    70,   781,   585,   586,
-   108,   240,   786,   242,    75,    70,   790,  1094,  1227,   240,
-   794,   242,   234,   919,   798,  1207,  1208,  1209,   802,    15,
-     6,   175,   806,   240,   132,   242,   810,    98,    54,   229,
-   814,   618,   832,   620,   621,   622,   623,   191,   142,   175,
-   111,   625,   219,   981,   589,   590,   591,   240,   632,   242,
-   227,   228,   229,   230,   231,   191,    10,   240,   642,   242,
-   142,   241,   239,    62,   648,   219,   240,    10,   242,   653,
-   224,   225,   226,   227,   228,   229,   230,   231,   227,   228,
-   229,   230,   231,    73,   240,   239,   242,    35,   242,    88,
-   239,   227,   228,   229,   230,   231,   113,   681,   682,   683,
-   684,   241,   240,   239,   219,   138,   141,   402,   403,   224,
-   225,   226,   227,   228,   229,   230,   231,    93,   219,   414,
-   220,   240,   222,   242,   239,   241,   227,   228,   229,   230,
-   231,   241,   904,   905,  1348,   220,   241,  1185,   239,   923,
-   229,   230,   231,   903,   240,    36,   242,   931,   241,   241,
-   239,   951,   952,   448,   241,   227,   228,   229,   230,   231,
-   960,   961,   962,   963,   964,   965,   966,   239,   101,    20,
-    61,   241,   219,   757,   758,   759,   760,   761,   762,   241,
-   227,   228,   229,   230,   231,   219,   240,   224,   242,    80,
-    81,   775,   239,   227,   228,   229,   230,   231,   240,   999,
-   242,   240,  1002,   242,   240,   239,   242,   237,   242,   229,
-   230,   231,  1012,  1013,  1014,  1015,  1016,  1017,  1018,   239,
-   219,   237,   240,   114,   242,   224,   225,   226,   227,   228,
-   229,   230,   231,   124,   125,   819,   229,   230,   231,   241,
-   240,   839,   242,    29,   241,   829,   239,   241,   832,   240,
-   834,   242,   240,   144,   242,    10,   551,   241,   842,   155,
-   229,   230,   231,   241,   160,   849,   241,  1354,   241,    29,
-   239,    57,   236,   241,   236,   171,    76,    63,   876,   863,
-   142,   865,   866,   867,   868,  1372,   182,   183,  1072,    75,
-   874,    62,   133,    76,    76,   195,   880,    57,    84,   886,
-   884,   180,   199,    63,   241,    93,   904,   905,    54,   893,
-   206,    71,    98,   126,   136,    75,   241,   904,   905,   903,
-   904,   905,   906,    56,    84,   111,   910,   236,   912,   913,
-   140,   236,    20,   126,   918,   115,   126,   632,    98,   842,
-   142,   126,   240,   927,   928,   131,   849,   126,   935,   644,
-   618,   111,   620,   621,   622,   623,    13,   227,   228,   229,
-   230,   231,   949,   122,  1451,   868,   239,   951,   952,   239,
-  1154,  1419,    56,   242,   242,   219,   960,   961,   962,   963,
-   964,   965,   966,   227,   228,   229,   230,   231,   236,   193,
-   893,   217,   241,   240,    92,   239,    25,  1289,    93,  1291,
-  1292,  1293,  1294,  1295,  1296,    62,    96,   910,   995,   912,
-   224,   165,    69,  1000,  1001,   999,   101,   204,  1002,    93,
-    77,    10,   170,   224,   240,  1363,   224,  1227,  1012,  1013,
-  1014,  1015,  1016,  1017,  1018,   219,   242,   240,   116,    24,
-   224,   225,   226,   227,   228,   229,   230,   231,   242,    56,
-   242,   242,   114,    13,   219,   239,    81,   238,   242,   224,
-   225,   226,   227,   228,   229,   230,   231,   242,  1458,   242,
-   242,   241,  1056,  1057,   239,   241,   145,   219,  1062,   241,
-   241,  1065,   217,   225,   226,   227,   228,   229,   230,   231,
-  1468,  1481,  1482,  1483,  1484,  1485,  1486,   239,   241,  1086,
-  1087,  1088,    62,   242,   242,  1089,  1593,   237,  1092,    69,
-  1108,   242,  1599,  1600,   241,   241,   241,    77,   175,   241,
-   241,   241,   241,   178,   819,   241,   241,   241,  1615,   241,
-   241,   241,   241,  1425,   191,   241,  1120,   832,  1122,   241,
-   241,  1433,   197,  1130,  1128,  1437,   242,  1439,   241,   241,
-  1442,  1443,  1444,  1445,  1446,  1447,  1448,  1449,  1450,  1308,
-   241,  1453,   219,   236,  1348,   241,   241,   224,   225,   226,
-   227,   228,   229,   230,   231,   241,   241,   241,   241,   874,
-  1472,   224,   239,   200,   177,  1575,    72,   241,    72,   241,
-  1677,    62,   224,   142,  1584,  1585,  1586,  1587,  1588,  1589,
-  1590,  1591,  1592,   135,  1594,    54,   142,    46,   239,    54,
-   219,    62,   242,     3,   242,   175,     6,   241,   227,   228,
-   229,   230,   231,   242,   239,   241,    16,    17,   242,    19,
-   239,   191,   242,    23,   242,   240,   242,    27,    28,    29,
-    30,   242,   242,  1227,   242,   242,   242,   229,    59,   217,
-   135,   217,   240,  1545,   241,   241,   126,    59,   214,   219,
-    54,     8,    96,   126,    10,   173,    13,   227,   228,   229,
-   230,   231,   102,   176,   217,    58,  1260,   241,   241,   239,
-   242,   242,    71,   242,   242,   242,   241,  1271,   242,   241,
-  1680,   238,  1470,    98,   242,    85,   242,   242,   242,  1283,
-   242,   242,   240,   242,    71,  1289,    15,  1291,  1292,  1293,
-  1294,  1295,  1296,   242,   242,    62,   242,  1301,  1302,  1317,
-   242,   242,    69,  1307,   242,   242,   242,   242,   242,   242,
-    77,   242,   242,  1625,  1318,   242,   242,   242,   242,    60,
-  1338,    88,   242,   162,  1328,  1329,   219,   241,  1332,    96,
-   217,   224,   225,   226,   227,   228,   229,   230,   231,  1343,
-   241,  1056,  1057,   241,    39,    39,   212,   164,    48,   241,
-  1676,    72,   241,    90,    72,    94,    92,    95,   242,    71,
-  1283,   242,   242,   173,   174,   242,   242,   177,   178,   242,
-   180,   181,   242,   240,   242,   185,   239,   218,   242,   189,
-   190,   242,    71,   193,  1307,   195,   196,   197,   241,   240,
-   105,    73,   202,   203,  1563,   241,   236,   241,   241,   241,
-     8,   108,   163,   241,  1422,  1328,  1410,   242,   175,   219,
-   483,   240,   242,  1417,   241,    79,   242,     8,   242,   242,
-   241,  1425,   242,   239,   191,   240,   501,   174,   238,  1433,
-   241,   241,    93,  1437,   241,  1439,   242,   247,  1442,  1443,
-  1444,  1445,  1446,  1447,  1448,  1449,  1450,   242,   217,  1453,
-   242,    13,   219,   242,  1458,   118,   531,   224,   225,   226,
-   227,   228,   229,   230,   231,   238,  1470,   242,  1472,   279,
-   234,   134,   239,     4,   234,   242,   139,  1481,  1482,  1483,
-  1484,  1485,  1486,   146,   147,     0,   296,   150,     0,    33,
-   270,   597,   873,  1102,   401,   550,   428,   307,   161,  1503,
-    62,   863,  1120,  1335,   865,  1473,   169,    69,  1623,   172,
-  1697,  1722,  1687,  1723,   324,    77,  1717,   327,   328,   329,
-  1122,  1525,  1110,  1527,    26,   905,    88,   906,   248,   408,
-    13,   194,   325,   196,   344,  1689,  1719,   648,   201,   202,
-  1598,  1545,  1597,   199,   309,  1260,  1706,    31,   849,  1108,
-   360,  1569,   240,  1673,   918,   817,     8,   844,  1602,  1088,
-  1057,    13,  1720,   567,  1568,  1268,  1265,  1571,  1197,  1576,
-  1577,  1575,   360,   832,   650,   196,  1659,  1271,   551,    -1,
-  1584,  1585,  1586,  1587,  1588,  1589,  1590,  1591,  1592,    -1,
-  1594,  1595,   402,   403,  1598,   555,    -1,    -1,  1602,    -1,
-    -1,    -1,    -1,  1318,   414,    -1,   681,   682,   683,   684,
-    62,    -1,    -1,   175,    -1,    -1,    -1,    69,    -1,    -1,
-    -1,  1625,    -1,  1627,   434,    77,    -1,    -1,    -1,   191,
-   440,    -1,    -1,  1348,    -1,     8,    88,   447,   448,    -1,
-    13,    -1,    -1,   453,    96,  1568,   456,   457,    -1,    -1,
-    -1,    -1,    -1,   463,    -1,    -1,  1674,   219,    -1,    -1,
-    -1,  1665,   224,   225,   226,   227,   228,   229,   230,   231,
-    -1,    -1,    -1,    -1,   484,  1706,  1680,   239,    -1,    -1,
-    -1,    -1,   757,   758,   759,   760,   761,   762,    -1,    62,
-    -1,    -1,    -1,    -1,    -1,  1410,    69,    13,    -1,    -1,
-   775,    -1,  1417,    -1,    77,  1723,    -1,    -1,   781,    -1,
-    -1,    -1,    -1,   786,    -1,    88,  1720,   790,    -1,   529,
-   329,   794,    -1,   175,    -1,   798,    -1,    -1,    -1,   802,
-    -1,    -1,    -1,   806,    -1,    -1,    -1,   810,   548,   191,
-    -1,   814,    -1,   553,    -1,   555,    62,    -1,    -1,    -1,
-   560,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    77,    -1,    -1,    -1,    -1,    -1,   219,    -1,    -1,
-    -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
-    -1,     8,    -1,    -1,    -1,    -1,    13,   239,    -1,    -1,
-   242,    -1,    -1,   402,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   175,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-  1525,    -1,  1527,    -1,    -1,   625,    -1,    -1,   191,    -1,
-    -1,    -1,   632,    -1,    -1,    -1,    -1,    -1,    -1,   902,
-    -1,    -1,   642,    -1,    -1,    62,    -1,    -1,   648,    -1,
-    -1,    -1,    69,   653,    -1,    -1,   219,    -1,    -1,    -1,
-    77,   224,   225,   226,   227,   228,   229,   230,   231,   175,
-    -1,    88,    -1,    -1,    -1,    -1,   239,    -1,    -1,    96,
-    -1,    -1,    13,    -1,    -1,   191,   951,   952,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   960,   961,   962,   963,   964,
-   965,   966,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   219,    -1,    -1,    -1,    -1,   224,   225,
-   226,   227,   228,   229,   230,   231,    -1,    -1,    -1,    -1,
-    -1,    62,    -1,   239,   999,    -1,    -1,  1002,    69,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    77,  1012,  1013,  1014,
-  1015,  1016,  1017,  1018,    -1,    -1,    -1,    -1,   175,  1022,
-    -1,    -1,    -1,    -1,    -1,    -1,  1029,  1030,    -1,  1032,
-  1033,    -1,  1035,  1036,   191,  1038,  1039,    -1,  1041,  1042,
-    -1,  1044,  1045,    -1,  1047,  1048,    -1,  1050,  1051,    -1,
-  1053,  1054,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   219,    -1,    -1,    -1,    -1,   224,   225,   226,
-   227,   228,   229,   230,   231,    -1,    -1,    -1,    -1,   819,
-    -1,    -1,   239,    -1,  1089,   242,    -1,    -1,    -1,   829,
-    -1,    -1,   832,    -1,   834,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   842,    -1,   175,    -1,    -1,    -1,    -1,   849,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   191,    -1,    -1,   863,    -1,   865,   866,   867,   868,    -1,
-    -1,    -1,    -1,    -1,   874,    -1,    -1,    -1,    -1,    -1,
-   880,    -1,    -1,    -1,   884,    -1,    -1,    -1,   219,    -1,
-    -1,    -1,    -1,   893,   225,   226,   227,   228,   229,   230,
-   231,   901,    -1,   903,   904,   905,   906,    -1,   239,    -1,
-   910,    -1,   912,   913,    -1,    -1,    -1,    -1,   918,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   926,   927,   928,    -1,
-  1193,    -1,    -1,    -1,  1197,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,    -1,
-    -1,    -1,  1227,    12,    -1,  1228,    -1,   967,    -1,    -1,
-    -1,    -1,    -1,    22,    -1,    -1,    -1,    26,    -1,    28,
-     8,    -1,    -1,    -1,    -1,    13,    -1,    -1,    -1,    38,
-    -1,    40,    -1,    -1,    -1,    44,    -1,    46,    -1,    -1,
-    -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,    58,
-    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,  1019,
-    -1,    -1,  1022,    -1,  1289,    -1,  1291,  1292,  1293,  1294,
-  1295,  1296,    -1,   832,    62,    -1,    -1,    -1,    -1,    -1,
-    -1,    69,    -1,    -1,    -1,    -1,    -1,    13,    -1,    77,
-    -1,    -1,    -1,    -1,    -1,    -1,  1056,  1057,    -1,    -1,
-    88,   110,  1062,   112,  1329,  1065,   115,   116,    96,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1343,    -1,
-    -1,    -1,    -1,    -1,   133,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,  1092,    -1,  1094,    -1,    62,    -1,    -1,   148,
-    -1,    -1,  1365,    69,    -1,    -1,  1369,   156,   157,    -1,
-    -1,    77,    -1,    -1,    -1,    -1,    -1,   166,   167,    -1,
-  1120,    -1,  1122,    -1,    -1,    -1,    -1,    -1,  1128,   178,
-   179,    -1,   181,    -1,    -1,   184,    -1,    -1,    -1,    -1,
-    -1,   190,    -1,    -1,    -1,    -1,    -1,   175,    -1,   198,
-    -1,    -1,    -1,    -1,    -1,    -1,   205,    -1,    -1,    -1,
-  1425,    -1,   211,   191,   213,    -1,    -1,    -1,  1433,    -1,
-     8,    -1,  1437,    -1,  1439,    13,    -1,  1442,  1443,  1444,
-  1445,  1446,  1447,  1448,  1449,  1450,    -1,    -1,  1453,    -1,
-    -1,   219,   241,  1458,    -1,    -1,   224,   225,   226,   227,
-   228,   229,   230,   231,    -1,    -1,    -1,  1472,    -1,   175,
-    -1,   239,    -1,    -1,   242,    -1,  1481,  1482,  1483,  1484,
-  1485,  1486,    -1,  1022,    62,   191,    -1,    -1,  1228,    -1,
-    -1,    69,    -1,    -1,    -1,    -1,    -1,     8,    -1,    77,
-    -1,    -1,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    88,    -1,    -1,   219,    -1,    -1,    -1,    -1,    96,    -1,
-  1260,   227,   228,   229,   230,   231,    -1,    -1,    -1,    -1,
-    -1,  1271,    -1,   239,    -1,    -1,    -1,    -1,    -1,    -1,
-  1545,    -1,    -1,  1283,    -1,    -1,    -1,    -1,    -1,    -1,
-  1089,    62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
-    -1,  1301,  1302,    -1,    -1,    -1,    77,  1307,    -1,    -1,
-  1575,    -1,    -1,    -1,    -1,    -1,    -1,    88,  1318,  1584,
-  1585,  1586,  1587,  1588,  1589,  1590,  1591,  1592,  1328,  1594,
-    -1,    -1,  1332,    -1,    -1,    -1,    -1,   175,    -1,    -1,
-    -1,    -1,    -1,  1343,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   191,  1354,    -1,    -1,    -1,    -1,    -1,
-  1625,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,  1372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   219,    -1,  1383,    -1,    -1,   224,   225,   226,   227,
-   228,   229,   230,   231,   119,   120,    -1,    -1,    -1,    -1,
-    -1,   239,   240,    -1,   175,    -1,    -1,   132,    -1,   134,
-  1410,    -1,    -1,    -1,   139,  1680,    -1,  1417,    -1,    -1,
-   191,   146,   147,    -1,    -1,   150,    -1,    -1,    -1,  1228,
-    -1,    -1,    -1,    -1,  1434,    -1,   161,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   169,    -1,    -1,   172,   219,    -1,
-    -1,  1451,    -1,   224,   225,   226,   227,   228,   229,   230,
-   231,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,   194,
-  1470,   196,    -1,    -1,    -1,   501,   201,   202,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,
-  1289,    -1,  1291,  1292,  1293,  1294,  1295,  1296,    -1,    -1,
-    -1,    -1,    -1,  1503,    -1,   531,    -1,    -1,    -1,    -1,
-    -1,   347,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,  1524,  1525,   362,  1527,    -1,   365,
-  1329,   367,   368,   369,   370,   371,    -1,  1537,    -1,    -1,
-    -1,    -1,    -1,  1543,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1568,    -1,
-    -1,  1571,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   419,  1383,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,  1593,    -1,  1595,    -1,    -1,  1598,  1599,
-  1600,    -1,  1602,    -1,    -1,    -1,    -1,    -1,    -1,   445,
-    -1,    -1,    -1,    -1,    -1,  1615,  1616,    -1,    -1,    -1,
-    -1,    -1,    -1,  1623,    -1,    -1,  1425,  1627,    -1,    -1,
-    -1,    -1,    -1,    -1,  1433,  1434,    -1,   473,  1437,    -1,
-  1439,    -1,    -1,  1442,  1443,  1444,  1445,  1446,  1447,  1448,
-  1449,  1450,    -1,    -1,  1453,   681,   682,   683,   684,  1458,
-    -1,   497,   498,    -1,    -1,  1665,    -1,    -1,  1668,   505,
-  1670,    -1,    -1,  1472,    -1,    -1,     8,  1677,   514,    -1,
-    -1,    13,  1481,  1482,  1483,  1484,  1485,  1486,    -1,    -1,
-    -1,    -1,    -1,    -1,   530,    -1,    -1,    -1,   534,    -1,
-   536,    -1,    -1,   539,   540,   541,   542,   543,   544,   545,
-   546,   547,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-  1720,    -1,    -1,    -1,    -1,  1524,    -1,    -1,    -1,    -1,
-    62,   757,   758,   759,   760,   761,   762,    69,  1537,    -1,
-    -1,    -1,    -1,    -1,  1543,    77,  1545,    -1,    -1,   775,
-    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,  1575,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,  1584,  1585,  1586,  1587,  1588,
-  1589,  1590,  1591,  1592,     8,  1594,    -1,    -1,    -1,    13,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   649,    -1,    -1,    -1,  1616,    -1,    -1,
-    -1,    -1,    -1,    -1,  1623,    -1,  1625,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   175,    -1,    -1,    -1,    -1,    62,    -1,
-    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,   694,   191,
-   696,   697,    -1,    77,    -1,    -1,    -1,    -1,   704,  1668,
-    -1,  1670,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,
-    -1,  1680,    96,    -1,    -1,    -1,    -1,   219,    -1,    -1,
-    -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,   240,    -1,
-    -1,    -1,    -1,    -1,     8,    -1,    -1,    11,    -1,    13,
-    -1,    -1,    -1,    -1,    -1,   951,   952,   763,    -1,    -1,
-    -1,    -1,    -1,    -1,   960,   961,   962,   963,   964,   965,
-   966,   777,    -1,    -1,    -1,   781,    -1,    41,    -1,    -1,
-   786,    -1,    -1,    -1,   790,    -1,    -1,    -1,   794,    -1,
-    -1,   175,   798,    -1,    -1,    -1,   802,    -1,    62,    -1,
-   806,    -1,    -1,   999,   810,    69,  1002,   191,   814,    -1,
-    -1,    -1,    -1,    77,    -1,    -1,  1012,  1013,  1014,  1015,
-  1016,  1017,  1018,    -1,    88,     8,  1022,    -1,    -1,    -1,
-    13,    -1,    96,    -1,    -1,   219,    -1,    -1,   844,    -1,
-   224,   225,   226,   227,   228,   229,   230,   231,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   239,   240,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   135,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
-    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
-     8,    -1,    10,  1089,    77,    13,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,
-    -1,   175,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   930,    -1,    -1,   191,    -1,    -1,
-    -1,    -1,    -1,   939,    -1,     8,    -1,    -1,    -1,    -1,
-    13,    -1,   948,    -1,    62,    -1,    -1,    -1,   954,    -1,
-    -1,    69,    -1,    -1,    -1,   219,    -1,    -1,    -1,    77,
-   224,   225,   226,   227,   228,   229,   230,   231,    -1,    -1,
-    88,    -1,    -1,    -1,   980,   239,    -1,    -1,    96,    -1,
-    -1,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,
-    -1,    -1,   175,    -1,    -1,    -1,    69,    -1,  1004,    -1,
-    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,   191,    -1,
-    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,  1227,  1228,    -1,    -1,    -1,   219,    -1,    -1,    -1,
-    -1,   224,   225,   226,   227,   228,   229,   230,   231,    -1,
-   233,    -1,    -1,    -1,    -1,   238,   239,   175,    -1,    -1,
-    -1,     8,    -1,    -1,    -1,    -1,    13,    -1,    -1,    -1,
-    -1,    -1,    -1,   191,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,  1289,    -1,  1291,  1292,  1293,  1294,  1295,
-  1296,   219,   175,    -1,    -1,    -1,   224,   225,   226,   227,
-   228,   229,   230,   231,    -1,    62,    -1,    -1,   191,    -1,
-    -1,   239,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    77,    -1,    -1,  1329,    -1,     8,    -1,    -1,    -1,    -1,
-    13,    88,    -1,    -1,    -1,    -1,   219,    -1,    -1,    96,
-    -1,   224,   225,   226,   227,   228,   229,   230,   231,    -1,
-    -1,    -1,    -1,  1169,  1170,  1171,   239,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1383,    -1,    62,
-    -1,  1197,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
-    -1,  1207,  1208,  1209,    77,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,   175,  1425,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1433,  1434,    -1,
-    -1,  1437,    -1,  1439,   191,    -1,  1442,  1443,  1444,  1445,
-  1446,  1447,  1448,  1449,  1450,    -1,    -1,  1453,    -1,    -1,
-    -1,    -1,  1458,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   219,    -1,    -1,    -1,  1472,   224,   225,   226,
-   227,   228,   229,   230,   231,  1481,  1482,  1483,  1484,  1485,
-  1486,    -1,   239,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   175,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1524,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,  1537,    -1,    -1,    -1,    -1,   219,  1543,    -1,  1545,
-    -1,   224,   225,   226,   227,   228,   229,   230,   231,    -1,
-    -1,    -1,    -1,    -1,    -1,   238,   239,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1575,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1584,  1585,
-  1586,  1587,  1588,  1589,  1590,  1591,  1592,    -1,  1594,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,  1420,    -1,    -1,     3,     4,    -1,
-  1616,    -1,    -1,    -1,    -1,    -1,    -1,  1623,    -1,  1625,
-    -1,    17,    18,    19,    20,    -1,    -1,    23,    -1,    -1,
-    -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    -1,
-    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,
-    -1,    -1,    -1,    49,    50,    51,    -1,    53,    -1,    -1,
-    -1,    -1,  1668,    -1,  1670,    61,    -1,    -1,    64,    -1,
-    -1,    67,    -1,    -1,  1680,    -1,    72,    73,    -1,    -1,
-    -1,    -1,    -1,    79,    80,    81,    -1,    83,    -1,    85,
-    86,    -1,    88,    89,    90,    91,    92,    -1,    94,    95,
-    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,   104,    -1,
-    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,    -1,
-    -1,   117,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
-    -1,    -1,    -1,   129,   130,    -1,    -1,    -1,   134,    -1,
-    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,   144,   145,
-   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,   155,
-    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,   165,
-    -1,    -1,   168,   169,   170,   171,   172,   173,   174,   175,
-   176,    -1,    -1,    -1,   180,    -1,   182,   183,    -1,   185,
-   186,   187,    -1,   189,    -1,   191,  1612,   193,   194,   195,
-   196,   197,    -1,   199,   200,   201,   202,   203,   204,    -1,
-   206,   207,   208,   209,   210,    -1,    -1,    -1,   214,    -1,
-   216,   217,   218,   219,   220,   221,   222,     3,     4,    -1,
-    -1,    -1,   228,   229,    -1,   231,   232,   233,   234,    -1,
-    -1,    17,    18,    19,    20,   241,   242,    23,    -1,    -1,
-    -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    -1,
-    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,
-    -1,    -1,    -1,    49,    50,    51,    -1,    53,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,    -1,
-    -1,    67,    -1,    -1,    -1,    -1,    72,    73,    -1,    -1,
-    -1,    -1,    -1,    79,    80,    81,    -1,    83,    -1,    85,
-    86,    -1,    88,    89,    90,    91,    92,    -1,    94,    95,
-    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,   104,    -1,
-    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,    -1,
-    -1,   117,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
-    -1,    -1,    -1,   129,   130,    -1,    -1,    -1,   134,    -1,
-    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,   144,   145,
-   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,   155,
-    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,   165,
-    -1,    -1,   168,   169,   170,   171,   172,   173,   174,   175,
-   176,    -1,    -1,    -1,   180,    -1,   182,   183,    -1,   185,
-   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,   195,
-   196,   197,    -1,   199,   200,   201,   202,   203,   204,    -1,
-   206,   207,   208,   209,   210,    -1,    -1,    -1,   214,    -1,
-   216,   217,   218,   219,   220,   221,   222,     3,     4,    -1,
-    -1,    -1,   228,    -1,    -1,   231,   232,   233,   234,    -1,
-    -1,    17,    18,    19,    20,   241,   242,    23,    -1,    -1,
-    -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,    -1,
-    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,
-    -1,    -1,    -1,    49,    50,    51,    -1,    53,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,    -1,
-    -1,    67,    -1,    -1,    -1,    -1,    72,    73,    -1,    -1,
-    -1,    -1,    -1,    79,    80,    81,    -1,    83,    -1,    85,
-    86,    -1,    88,    89,    90,    91,    92,    -1,    94,    95,
-    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,   104,    -1,
-    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,    -1,
-    -1,   117,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
-    -1,    -1,    -1,   129,   130,    -1,    -1,    -1,   134,    -1,
-    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,   144,   145,
-   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,   155,
-    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,   165,
-    -1,    -1,   168,   169,   170,   171,   172,   173,   174,   175,
-   176,    -1,    -1,    -1,   180,    -1,   182,   183,    -1,   185,
-   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,   195,
-   196,   197,    -1,   199,   200,   201,   202,   203,   204,    -1,
-   206,   207,   208,   209,   210,    -1,    -1,    -1,   214,    -1,
-   216,   217,   218,   219,   220,   221,   222,     3,     4,    -1,
-    -1,    -1,   228,    -1,    -1,   231,   232,   233,   234,    -1,
-    -1,    -1,    18,    19,    20,   241,   242,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    31,    32,    33,    34,    -1,
-    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,    -1,
-    -1,    67,    -1,    -1,    -1,    -1,    72,    73,    -1,    -1,
-    -1,    -1,    -1,    79,    80,    81,    -1,    83,    -1,    85,
-    86,    -1,    -1,    -1,    -1,    91,    92,    -1,    94,    95,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,    -1,
-    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
-    -1,    -1,    -1,    -1,   130,    -1,    -1,    -1,   134,    -1,
-    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,   144,   145,
-   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,   155,
-    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,   165,
-    -1,    -1,   168,   169,   170,   171,   172,   173,   174,   175,
-   176,    -1,    -1,    -1,   180,    -1,   182,   183,    -1,    -1,
-   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,   195,
-   196,   197,    -1,   199,   200,   201,   202,   203,   204,    -1,
-   206,   207,   208,   209,   210,    -1,    -1,    -1,   214,    -1,
-   216,   217,   218,   219,   220,   221,   222,     3,     4,    -1,
-    -1,    -1,   228,    -1,    -1,    -1,   232,   233,   234,    -1,
-    -1,    -1,    18,    19,    20,   241,   242,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,    -1,
-    -1,    67,    -1,    -1,    -1,    -1,    72,    73,    -1,    -1,
-    -1,    -1,    -1,    79,    80,    81,    -1,    83,    -1,    85,
-    86,    -1,    88,    -1,    90,    91,    92,    -1,    94,    95,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,    -1,
-    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
-    -1,    -1,    -1,    -1,   130,    -1,    -1,    -1,    -1,    -1,
-    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,   144,   145,
-   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,   155,
-    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,   165,
-    -1,    -1,   168,   169,   170,   171,   172,   173,   174,   175,
-   176,    -1,    -1,    -1,   180,    -1,   182,   183,    -1,    -1,
-   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,   195,
-   196,   197,    -1,   199,   200,   201,   202,   203,   204,    -1,
-   206,   207,   208,   209,   210,    -1,    -1,    -1,   214,    -1,
-   216,   217,   218,   219,   220,   221,   222,     3,     4,    -1,
-    -1,    -1,   228,    -1,    -1,    -1,   232,   233,   234,    -1,
-    -1,    -1,    -1,    19,    20,   241,   242,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,    -1,    -1,
-    -1,    -1,    -1,    79,    80,    81,    -1,    83,    -1,    85,
-    86,    -1,    -1,    -1,    -1,    91,    92,    -1,    94,    95,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,    -1,
-    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,   144,   145,
-   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,   155,
-    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,   165,
-    -1,    -1,   168,   169,   170,   171,   172,   173,   174,   175,
-   176,    -1,    -1,    -1,   180,    -1,   182,   183,    -1,    -1,
-   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,   195,
-   196,   197,    -1,   199,   200,   201,   202,   203,     3,     4,
-   206,   207,   208,   209,   210,    -1,    -1,    -1,   214,    14,
-   216,   217,    17,    18,    19,    20,    -1,    -1,    23,    -1,
-    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33,    34,
-    -1,    36,    37,    -1,    -1,    -1,   242,    -1,    43,    -1,
-    -1,    -1,    -1,    -1,    49,    50,    51,    -1,    53,    -1,
-    -1,    56,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,
-    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    73,    74,
-    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    83,    -1,
-    85,    86,    -1,    88,    89,    90,    91,    92,    -1,    94,
-    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,   104,
-    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,
-    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,   123,   124,
-   125,    -1,   127,    -1,   129,   130,    -1,    -1,    -1,   134,
-    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,   144,
-   145,   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,
-   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,
-   165,    -1,    -1,   168,   169,   170,   171,   172,   173,   174,
-   175,   176,    -1,    -1,    -1,   180,    -1,   182,   183,    -1,
-   185,   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,
-   195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
-    -1,   206,   207,   208,   209,   210,    -1,    -1,    -1,   214,
-    -1,   216,   217,   218,   219,   220,   221,   222,    -1,    -1,
-    -1,    -1,    -1,   228,     3,     4,   231,   232,   233,   234,
-    -1,    -1,    -1,    -1,    -1,    14,   241,    -1,    17,    18,
-    19,    20,    -1,    -1,    23,    -1,    -1,    -1,    -1,    -1,
-    -1,    30,    31,    32,    33,    34,    -1,    36,    37,    -1,
-    -1,    -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,    -1,
-    49,    50,    51,    -1,    53,    -1,    -1,    56,    -1,    -1,
-    -1,    -1,    61,    -1,    -1,    64,    -1,    -1,    67,    -1,
-    -1,    -1,    -1,    72,    73,    74,    -1,    -1,    -1,    -1,
-    79,    80,    81,    -1,    83,    -1,    85,    86,    -1,    88,
-    89,    90,    91,    92,    -1,    94,    95,    -1,    -1,    -1,
-    -1,   100,    -1,    -1,   103,   104,    -1,    -1,   107,    -1,
-   109,    -1,    -1,    -1,   113,   114,    -1,    -1,   117,    -1,
-    -1,    -1,    -1,   122,   123,   124,   125,    -1,   127,    -1,
-   129,   130,    -1,    -1,    -1,   134,    -1,    -1,   137,    -1,
-    -1,    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,
-   149,   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,
-   159,   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,
-   169,   170,   171,   172,   173,   174,   175,   176,    -1,    -1,
-    -1,   180,    -1,   182,   183,    -1,   185,   186,   187,    -1,
-   189,    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,
-   199,   200,   201,   202,   203,   204,    -1,   206,   207,   208,
-   209,   210,    -1,    -1,    -1,   214,    -1,   216,   217,   218,
-   219,   220,   221,   222,    -1,    -1,    -1,    -1,    -1,   228,
-     3,     4,   231,   232,   233,   234,    -1,    -1,    -1,    -1,
-    -1,    14,   241,    -1,    17,    18,    19,    20,    -1,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    56,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    74,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,   127,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,   229,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    56,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,   115,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,   115,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,    -1,   220,   221,   222,
-     3,     4,    -1,     6,    -1,   228,     9,    -1,   231,   232,
-   233,   234,    -1,    -1,    17,    18,    19,    20,   241,    -1,
-    23,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    89,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,    -1,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,    -1,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,    -1,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   232,
-   233,   234,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,   231,   232,
-   233,   234,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,    -1,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,   231,   232,
-   233,   234,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,    -1,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,    -1,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,    -1,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   232,
-   233,   234,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,    -1,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,    -1,   232,
-   233,   234,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,    -1,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,    -1,   232,
-   233,   234,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    31,    32,
-    33,    34,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,    -1,   130,    -1,    -1,
-    -1,   134,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,    -1,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,    -1,   232,
-   233,   234,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    -1,    -1,
-    -1,    -1,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,    -1,   232,
-    -1,    -1,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    -1,    -1,
-    -1,    -1,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,
-    -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,    -1,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,    -1,   232,
-    -1,    -1,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    88,    -1,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,    -1,   130,    -1,    -1,
-    -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
-    -1,   214,    -1,   216,   217,   218,   219,   220,   221,   222,
-     3,     4,    -1,    -1,    -1,   228,    -1,    -1,    -1,   232,
-   233,   234,    -1,    -1,    -1,    18,    19,    20,   241,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    83,    -1,    85,    86,    -1,    -1,    -1,    90,    91,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,    -1,   130,    -1,    -1,
-    -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,     3,     4,
-    -1,   214,    -1,   216,   217,   218,    -1,   220,   221,   222,
-    -1,    -1,    -1,    -1,    -1,   228,    -1,    -1,    -1,   232,
-   233,   234,    -1,    -1,    -1,    30,    -1,    -1,   241,    -1,
-    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    43,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,    -1,
-    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,    -1,
-    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,    94,
-    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
-    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
-   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,
-   145,   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,
-   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,
-   165,    -1,    -1,   168,   169,   170,   171,   172,   173,   174,
-   175,   176,    -1,     3,     4,   180,    -1,   182,   183,    -1,
-   185,   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,
-   195,   196,   197,    -1,   199,   200,   201,   202,   203,    -1,
-    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,   214,
-    -1,   216,   217,    43,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,     8,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,
-    -1,    61,    -1,    -1,    64,    -1,   241,    -1,    -1,    -1,
-    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
-    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,
-    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   103,   104,    62,    -1,   107,    -1,   109,
-    -1,    -1,    69,   113,   114,   115,    -1,    -1,    -1,    -1,
-    77,    -1,   122,   123,   124,   125,    -1,    -1,    -1,    -1,
-    -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,
-    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,   149,
-   150,     8,   152,   153,    -1,   155,    13,    -1,   158,   159,
-   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,   169,
-   170,   171,   172,   173,   174,   175,   176,    -1,    -1,    -1,
-   180,    13,   182,   183,    -1,    -1,   186,   187,    -1,   189,
-    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,   199,
-   200,   201,   202,   203,    -1,    62,   206,   207,   208,   209,
-   210,    -1,    69,    -1,   214,    -1,   216,   217,   175,    -1,
-    77,    -1,     8,    -1,    -1,    -1,    -1,    13,    -1,    -1,
-    62,    88,    -1,    -1,   191,    -1,    -1,    69,    -1,    96,
-    -1,   241,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,
-    -1,    -1,   219,    -1,    -1,    -1,    -1,   224,   225,   226,
-   227,   228,   229,   230,   231,    -1,    62,    -1,    -1,    -1,
-    -1,    -1,   239,    69,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   175,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   175,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,
-    -1,    -1,   219,    -1,    -1,    -1,    -1,   224,   225,   226,
-   227,   228,   229,   230,   231,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   239,    -1,    -1,    -1,    -1,   219,    -1,   175,
-     3,     4,   224,   225,   226,   227,   228,   229,   230,   231,
-    -1,    -1,    -1,    -1,    -1,   191,    -1,   239,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    -1,   219,    -1,    -1,    -1,    -1,   224,   225,
-   226,   227,   228,   229,   230,   231,    -1,    -1,    61,    -1,
-    -1,    64,    -1,   239,    -1,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    -1,    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,
-    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
-   123,   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   144,   145,   146,   147,    -1,   149,   150,    -1,   152,
-   153,    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,
-    -1,   164,   165,    -1,    -1,   168,   169,   170,   171,   172,
-   173,   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,
-   183,    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
-   203,   204,    -1,   206,   207,   208,   209,   210,     3,     4,
-    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,   222,
-    -1,   224,   225,   226,   227,   228,   229,   230,   231,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    36,    -1,    -1,    39,    -1,    -1,    -1,    43,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,
-    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
-    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,    -1,
-    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,    94,
-    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
-   105,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
-   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,
-   145,   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,
-   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,
-   165,    -1,    -1,   168,   169,   170,   171,   172,   173,   174,
-   175,   176,    -1,     3,     4,   180,    -1,   182,   183,    -1,
-    -1,   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,
-   195,   196,   197,    -1,   199,   200,   201,   202,   203,    -1,
-    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,   214,
-    -1,   216,   217,    43,   219,    -1,    -1,    -1,    -1,   224,
-   225,   226,   227,   228,   229,   230,   231,    -1,    -1,    -1,
-    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
-    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
-    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,
-    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   103,   104,   105,    -1,   107,    -1,   109,
-    -1,    -1,    -1,   113,   114,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   122,   123,   124,   125,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,   149,
-   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,   159,
-   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,   169,
-   170,   171,   172,   173,   174,   175,   176,    -1,     3,     4,
-   180,    -1,   182,   183,    -1,    -1,   186,   187,    -1,   189,
-    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,   199,
-   200,   201,   202,   203,    -1,    30,   206,   207,   208,   209,
-   210,    36,    -1,    -1,   214,    -1,   216,   217,    43,   219,
-    -1,    -1,    -1,    -1,   224,   225,   226,   227,   228,   229,
-   230,   231,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,    -1,
-    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,    -1,
-    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,    94,
-    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
-    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
-   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,
-   145,   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,
-   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,
-   165,    -1,    -1,   168,   169,   170,   171,   172,   173,   174,
-   175,   176,    -1,     3,     4,   180,    -1,   182,   183,    -1,
-   185,   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,
-   195,   196,   197,    -1,   199,   200,   201,   202,   203,    -1,
-    30,   206,   207,   208,   209,   210,    36,    -1,    -1,   214,
-    -1,   216,   217,    43,    -1,    -1,   221,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   229,    -1,    -1,    -1,    -1,    -1,
-    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
-    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,
-    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   103,   104,    -1,    -1,   107,    -1,   109,
-    -1,    -1,    -1,   113,   114,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   122,   123,   124,   125,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,   149,
-   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,   159,
-   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,   169,
-   170,   171,   172,   173,   174,   175,   176,    -1,     3,     4,
-   180,    -1,   182,   183,    -1,   185,   186,   187,    -1,   189,
-    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,   199,
-   200,   201,   202,   203,    -1,    -1,   206,   207,   208,   209,
-   210,    36,    -1,    -1,   214,    -1,   216,   217,    43,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   229,
-    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,    -1,
-    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,    -1,
-    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,    94,
-    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
-    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
-   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,
-   145,   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,
-   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,
-   165,    -1,    -1,   168,   169,   170,   171,   172,   173,   174,
-   175,   176,    -1,     3,     4,   180,    -1,   182,   183,    -1,
-    -1,   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,
-   195,   196,   197,    -1,   199,   200,   201,   202,   203,    -1,
-    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,   214,
-    -1,   216,   217,    43,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   229,    -1,    -1,    -1,    -1,    -1,
-    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
-    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,
-    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   103,   104,    -1,    -1,   107,    -1,   109,
-    -1,    -1,    -1,   113,   114,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   122,   123,   124,   125,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,   149,
-   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,   159,
-   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,   169,
-   170,   171,   172,   173,   174,   175,   176,    -1,     3,     4,
-   180,    -1,   182,   183,    -1,    -1,   186,   187,    -1,   189,
-    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,   199,
-   200,   201,   202,   203,    -1,    -1,   206,   207,   208,   209,
-   210,    36,    -1,    -1,   214,    -1,   216,   217,    43,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   229,
-    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,    -1,
-    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,    -1,
-    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,    94,
-    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
-    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
-   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,
-   145,   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,
-   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,
-   165,    -1,    -1,   168,   169,   170,   171,   172,   173,   174,
-   175,   176,    -1,     3,     4,   180,    -1,   182,   183,    -1,
-    -1,   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,
-   195,   196,   197,    -1,   199,   200,   201,   202,   203,    -1,
-    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,   214,
-    -1,   216,   217,    43,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   229,    -1,    13,    -1,    -1,    -1,
-    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
-    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,
-    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   103,   104,    62,    -1,   107,    -1,   109,
-    -1,    -1,    69,   113,   114,    -1,    -1,    -1,    -1,    -1,
-    77,    -1,   122,   123,   124,   125,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,   149,
-   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,   159,
-   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,   169,
-   170,   171,   172,   173,   174,   175,   176,    -1,    -1,    -1,
-   180,    -1,   182,   183,    -1,    -1,   186,   187,    -1,   189,
-    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,   199,
-   200,   201,   202,   203,    -1,    -1,   206,   207,   208,   209,
-   210,    -1,    -1,    -1,   214,    -1,   216,   217,   175,     3,
-     4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   229,
-    -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    30,    -1,    -1,    -1,
-    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    43,
-    -1,    -1,   219,    -1,    -1,    -1,    -1,    -1,   225,   226,
-   227,   228,   229,   230,   231,    -1,    -1,    61,    -1,    -1,
-    64,    -1,   239,    -1,    -1,    -1,    -1,    -1,    72,    73,
-    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
-    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,
-    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
-   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,
-   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
-   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   144,   145,   146,   147,    -1,   149,   150,    -1,   152,   153,
-    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,
-   164,   165,    -1,    -1,   168,   169,   170,   171,   172,   173,
-   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,   183,
-    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,   193,
-   194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
-     3,     4,   206,   207,   208,   209,   210,    -1,    -1,    -1,
-   214,    -1,   216,   217,    17,    -1,    -1,   221,    -1,    -1,
-    23,    -1,    -1,    -1,    27,    -1,    -1,    30,    -1,    -1,
-    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,
-    43,    -1,    45,    46,    -1,    -1,    -1,    -1,    51,    -1,
-    -1,    -1,    55,    -1,    -1,    -1,    59,    -1,    61,    -1,
-    -1,    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,
-    73,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,
-    -1,    -1,    -1,    86,    -1,    -1,    89,    -1,    -1,    92,
-    -1,    94,    95,    -1,    97,    -1,    -1,   100,   101,    -1,
-   103,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,
-   113,   114,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
-   123,   124,   125,    -1,    -1,   128,    -1,   130,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,    -1,    -1,
-    -1,   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,    -1,   178,   179,   180,   181,   182,
-   183,   184,   185,   186,   187,   188,   189,    -1,   191,    -1,
-   193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
-   203,   204,   205,   206,   207,   208,   209,   210,     3,     4,
-   213,   214,   215,   216,   217,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    19,    20,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    64,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,    -1,
-    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    83,    -1,
-    85,    86,    -1,    -1,    -1,    -1,    91,    92,    -1,    94,
-    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
-    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,   114,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
-   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,   144,
-   145,   146,   147,    -1,   149,   150,    -1,   152,   153,    -1,
-   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,   164,
-   165,    -1,    -1,   168,   169,   170,   171,   172,   173,   174,
-   175,   176,    -1,    -1,    -1,   180,    -1,   182,   183,    -1,
-    -1,   186,   187,    -1,   189,    -1,   191,    -1,   193,   194,
-   195,   196,   197,    -1,   199,   200,   201,   202,   203,     3,
-     4,   206,   207,   208,   209,   210,    -1,    -1,    -1,   214,
-    -1,   216,   217,    -1,    -1,    -1,    -1,    21,    -1,    -1,
-    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    43,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    55,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
-    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,
-    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
-    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,
-    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,   102,   103,
-   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,
-   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
-   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,   132,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   144,   145,   146,   147,    -1,   149,   150,    -1,   152,   153,
-    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,
-   164,   165,    -1,    -1,   168,   169,   170,   171,   172,   173,
-   174,   175,   176,    -1,     3,     4,   180,    -1,   182,   183,
-    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,   193,
-   194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
-    -1,    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,
-   214,    -1,   216,   217,    43,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
-    79,    80,    81,    82,    -1,    -1,    -1,    86,    -1,    -1,
-    -1,    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   103,   104,    -1,    -1,   107,    -1,
-   109,    -1,    -1,    -1,   113,   114,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   122,   123,   124,   125,    -1,    -1,   128,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,
-   149,   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,
-   159,   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,
-   169,   170,   171,   172,   173,   174,   175,   176,    -1,     3,
-     4,   180,    -1,   182,   183,    -1,    -1,   186,   187,    -1,
-   189,    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,
-   199,   200,   201,   202,   203,    -1,    30,   206,   207,   208,
-   209,   210,    36,    -1,    -1,   214,    -1,   216,   217,    43,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
-    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,
-    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
-    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,
-    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
-   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,
-   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
-   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   144,   145,   146,   147,    -1,   149,   150,    -1,   152,   153,
-    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,
-   164,   165,    -1,    -1,   168,   169,   170,   171,   172,   173,
-   174,   175,   176,    -1,     3,     4,   180,    -1,   182,   183,
-    -1,   185,   186,   187,    -1,   189,    -1,   191,    -1,   193,
-   194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
-    -1,    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,
-   214,    -1,   216,   217,    43,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    59,    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
-    79,    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,
-    -1,    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   103,   104,    -1,   106,   107,    -1,
-   109,    -1,    -1,    -1,   113,   114,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   122,   123,   124,   125,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,
-   149,   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,
-   159,   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,
-   169,   170,   171,   172,   173,   174,   175,   176,    -1,     3,
-     4,   180,    -1,   182,   183,    -1,    -1,   186,   187,    -1,
-   189,    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,
-   199,   200,   201,   202,   203,    -1,    -1,   206,   207,   208,
-   209,   210,    36,    -1,    -1,   214,    -1,   216,   217,    43,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
-    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,
-    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
-    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,
-    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
-   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,
-   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
-   124,   125,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   144,   145,   146,   147,    -1,   149,   150,    -1,   152,   153,
-    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,
-   164,   165,    -1,    -1,   168,   169,   170,   171,   172,   173,
-   174,   175,   176,    -1,     3,     4,   180,    -1,   182,   183,
-    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,   193,
-   194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
-    -1,    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,
-   214,    -1,   216,   217,    43,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
-    79,    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,
-    -1,    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   103,   104,    -1,    -1,   107,    -1,
-   109,    -1,    -1,    -1,   113,   114,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   122,   123,   124,   125,    -1,    -1,   128,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,
-   149,   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,
-   159,   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,
-   169,   170,   171,   172,   173,   174,   175,   176,    -1,     3,
-     4,   180,    -1,   182,   183,    -1,    -1,   186,   187,    -1,
-   189,    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,
-   199,   200,   201,   202,   203,    -1,    -1,   206,   207,   208,
-   209,   210,    36,    -1,    -1,   214,    -1,   216,   217,    43,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
-    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,
-    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
-    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,
-    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
-   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,
-   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
-   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   144,   145,   146,   147,    -1,   149,   150,    -1,   152,   153,
-    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,
-   164,   165,    -1,    -1,   168,   169,   170,   171,   172,   173,
-   174,   175,   176,    -1,     3,     4,   180,    -1,   182,   183,
-    -1,    -1,   186,   187,   188,   189,    -1,   191,    -1,   193,
-   194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
-    -1,    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,
-   214,    -1,   216,   217,    43,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
-    79,    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,
-    -1,    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   103,   104,    -1,    -1,   107,    -1,
-   109,    -1,    -1,    -1,   113,   114,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   122,   123,   124,   125,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,
-   149,   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,
-   159,   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,
-   169,   170,   171,   172,   173,   174,   175,   176,    -1,     3,
-     4,   180,    -1,   182,   183,    -1,    10,   186,   187,   188,
-   189,    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,
-   199,   200,   201,   202,   203,    -1,    -1,   206,   207,   208,
-   209,   210,    36,    -1,    -1,   214,    -1,   216,   217,    43,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
-    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,
-    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
-    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,
-    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
-   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,
-   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
-   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   144,   145,   146,   147,    -1,   149,   150,    -1,   152,   153,
-    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,
-   164,   165,    -1,    -1,   168,   169,   170,   171,   172,   173,
-   174,   175,   176,    -1,     3,     4,   180,    -1,   182,   183,
-    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,   193,
-   194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
-    -1,    -1,   206,   207,   208,   209,   210,    36,    -1,    -1,
-   214,    -1,   216,   217,    43,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    61,    -1,    -1,    64,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
-    79,    80,    81,    -1,    -1,    -1,    -1,    86,    -1,    -1,
-    -1,    -1,    -1,    92,    -1,    94,    95,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   103,   104,    -1,    -1,   107,    -1,
-   109,    -1,    -1,    -1,   113,   114,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   122,   123,   124,   125,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,
-   149,   150,    -1,   152,   153,    -1,   155,    -1,    -1,   158,
-   159,   160,   161,   162,    -1,   164,   165,    -1,    -1,   168,
-   169,   170,   171,   172,   173,   174,   175,   176,    -1,     3,
-     4,   180,    -1,   182,   183,    -1,    -1,   186,   187,    -1,
-   189,    -1,   191,    -1,   193,   194,   195,   196,   197,    -1,
-   199,   200,   201,   202,   203,    -1,    -1,   206,   207,   208,
-   209,   210,    36,    -1,    -1,   214,    -1,   216,   217,    43,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
-    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,
-    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    -1,    -1,
-    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,    92,    -1,
-    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
-   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,
-   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
-   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   144,   145,   146,   147,    -1,   149,   150,    -1,   152,   153,
-    -1,   155,    -1,    -1,   158,   159,   160,   161,   162,    -1,
-   164,   165,    -1,    -1,   168,   169,   170,   171,   172,   173,
-   174,   175,   176,    -1,    -1,    -1,   180,    -1,   182,   183,
-    -1,    -1,   186,   187,    -1,   189,    -1,   191,    -1,   193,
-   194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
-    19,    20,   206,   207,   208,   209,   210,    -1,    -1,    -1,
-   214,    -1,   216,   217,    -1,    -1,    -1,    36,    37,    -1,
-    -1,    -1,    -1,    -1,    43,    -1,    19,    20,    -1,    -1,
-    -1,    -1,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    61,    36,    37,    -1,    -1,    -1,    67,    -1,
-    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
-    53,    80,    81,    -1,    83,    -1,    85,    -1,    61,    -1,
-    -1,    -1,    91,    -1,    67,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    -1,
-    83,    -1,    85,    -1,    -1,   114,   115,    -1,    91,    -1,
-    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,
-    -1,   130,    -1,    -1,    19,    20,    -1,    -1,   137,    -1,
-    -1,   114,    -1,    -1,    -1,   144,    -1,    -1,   147,   122,
-   123,    36,    37,    -1,    -1,    -1,    -1,   130,    43,    -1,
-    -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,    53,    -1,
-    -1,   144,    -1,    -1,   147,    -1,    61,    -1,    -1,    -1,
-    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    19,    20,    -1,    80,    81,    -1,    83,    -1,
-    85,    -1,    -1,    -1,    -1,   204,    91,    -1,    -1,    36,
-    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,   217,   218,
-    -1,   220,   221,   222,    -1,    -1,    53,    -1,    -1,   114,
-    -1,   204,    -1,    -1,    61,    -1,    -1,   122,   123,    -1,
-    67,    -1,    -1,    -1,   217,   218,    -1,   220,   221,   222,
-    19,    20,   137,    80,    81,    -1,    83,    -1,    85,   144,
-    -1,    -1,   147,    -1,    91,    -1,    -1,    36,    37,    -1,
-    -1,    -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    53,    -1,    -1,   114,    -1,    -1,
-    -1,    -1,    61,    -1,    -1,   122,   123,    -1,    67,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   137,    80,    81,    -1,    83,    -1,    85,   144,   203,   204,
-   147,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   137,    -1,
-    -1,    -1,    -1,    -1,    -1,   144,    -1,   204,   147,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   217
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/misc/bison.simple"
-
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 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 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, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-#ifndef alloca
-#ifdef __GNUC__
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
-#include <alloca.h>
-#else /* not sparc */
-#if defined (MSDOS) && !defined (__TURBOC__)
-#include <malloc.h>
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-#include <malloc.h>
- #pragma alloca
-#else /* not MSDOS, __TURBOC__, or _AIX */
-#ifdef __hpux
-#ifdef __cplusplus
-extern "C" {
-void *alloca (unsigned int);
-};
-#else /* not __cplusplus */
-void *alloca ();
-#endif /* not __cplusplus */
-#endif /* __hpux */
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc.  */
-#endif /* not GNU C.  */
-#endif /* alloca not defined.  */
-
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       return(0)
-#define YYABORT        return(1)
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    { yychar = (token), yylval = (value);                      \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    { yyerror ("syntax error: cannot back up"); YYERROR; }     \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-#ifndef YYPURE
-#define YYLEX          yylex()
-#endif
-
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX          yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX          yylex(&yylval, &yylloc)
-#endif
-#else /* not YYLSP_NEEDED */
-#ifdef YYLEX_PARAM
-#define YYLEX          yylex(&yylval, YYLEX_PARAM)
-#else
-#define YYLEX          yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
-#endif
-
-/* If nonreentrant, generate the variables here */
-
-#ifndef YYPURE
-
-int    yychar;                 /*  the lookahead symbol                */
-YYSTYPE        yylval;                 /*  the semantic value of the           */
-                               /*  lookahead symbol                    */
-
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;                        /*  location data for the lookahead     */
-                               /*  symbol                              */
-#endif
-
-int yynerrs;                   /*  number of parse errors so far       */
-#endif  /* not YYPURE */
-
-#if YYDEBUG != 0
-int yydebug;                   /*  nonzero means print parse trace     */
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
-#endif
-
-/*  YYINITDEPTH indicates the initial size of the parser's stacks      */
-
-#ifndef        YYINITDEPTH
-#define YYINITDEPTH 200
-#endif
-
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
-
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
-#endif
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-int yyparse (void);
-#endif
-\f
-#if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)     __builtin_memcpy(TO,FROM,COUNT)
-#else                          /* not GNU C or C++ */
-#ifndef __cplusplus
-
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     int count;
-{
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
-
-  while (i-- > 0)
-    *t++ = *f++;
-}
-
-#else /* __cplusplus */
-
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (char *to, char *from, int count)
-{
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
-
-  while (i-- > 0)
-    *t++ = *f++;
-}
-
-#endif
-#endif
-\f
-#line 196 "/usr/share/misc/bison.simple"
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-int
-yyparse(YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  register int yystate;
-  register int yyn;
-  register short *yyssp;
-  register YYSTYPE *yyvsp;
-  int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;             /*  lookahead token as an internal (translated) token number */
-
-  short        yyssa[YYINITDEPTH];     /*  the state stack                     */
-  YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
-
-  short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
-
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-#define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  int yystacksize = YYINITDEPTH;
-
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
-#endif
-#endif
-
-  YYSTYPE yyval;               /*  the variable used to return         */
-                               /*  semantic values from the action     */
-                               /*  routines                            */
-
-  int yylen;
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Starting parse\n");
-#endif
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss - 1;
-  yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
-
-  *++yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Give user a chance to reallocate the stack */
-      /* Use copies of these so that the &'s don't force the real ones into memory. */
-      YYSTYPE *yyvs1 = yyvs;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
-
-      /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-        the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-        but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow("parser stack overflow",
-                &yyss1, size * sizeof (*yyssp),
-                &yyvs1, size * sizeof (*yyvsp),
-                &yyls1, size * sizeof (*yylsp),
-                &yystacksize);
-#else
-      yyoverflow("parser stack overflow",
-                &yyss1, size * sizeof (*yyssp),
-                &yyvs1, size * sizeof (*yyvsp),
-                &yystacksize);
-#endif
-
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
-#else /* no yyoverflow */
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       {
-         yyerror("parser stack overflow");
-         return 2;
-       }
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-      yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
-      yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
-#endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
-
-#if YYDEBUG != 0
-      if (yydebug)
-       fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Entering state %d\n", yystate);
-#endif
-
-  goto yybackup;
- yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-#if YYDEBUG != 0
-      if (yydebug)
-       fprintf(stderr, "Reading a token: ");
-#endif
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
-      if (yydebug)
-       fprintf(stderr, "Now at end of input.\n");
-#endif
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE(yychar);
-
-#if YYDEBUG != 0
-      if (yydebug)
-       {
-         fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise meaning
-            of a token, for further debugging info.  */
-#ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-#endif
-         fprintf (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-/* Do the default action for the current state.  */
-yydefault:
-
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
-yyreduce:
-  yylen = yyr2[yyn];
-  if (yylen > 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      int i;
-
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-              yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
-       fprintf (stderr, "%s ", yytname[yyrhs[i]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-
-  switch (yyn) {
-
-case 1:
-#line 359 "gram.y"
-{ parsetree = yyvsp[0].list; ;
-    break;}
-case 2:
-#line 361 "gram.y"
-{ parsetree = lcons(yyvsp[0].node,NIL); ;
-    break;}
-case 3:
-#line 365 "gram.y"
-{ yyval.list = lappend(yyvsp[-2].list, yyvsp[-1].node); ;
-    break;}
-case 4:
-#line 374 "gram.y"
-{ yyval.list = lcons(yyvsp[-1].node,NIL); ;
-    break;}
-case 47:
-#line 430 "gram.y"
-{
-                                       CreateUserStmt *n = makeNode(CreateUserStmt);
-                                       n->user = yyvsp[-5].str;
-                                       n->password = yyvsp[-4].str;
-                                       n->createdb = yyvsp[-3].pboolean;
-                                       n->createuser = yyvsp[-2].pboolean;
-                                       n->groupElts = yyvsp[-1].list;
-                                       n->validUntil = yyvsp[0].str;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 48:
-#line 451 "gram.y"
-{
-                                       AlterUserStmt *n = makeNode(AlterUserStmt);
-                                       n->user = yyvsp[-5].str;
-                                       n->password = yyvsp[-4].str;
-                                       n->createdb = yyvsp[-3].pboolean;
-                                       n->createuser = yyvsp[-2].pboolean;
-                                       n->groupElts = yyvsp[-1].list;
-                                       n->validUntil = yyvsp[0].str;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 49:
-#line 471 "gram.y"
-{
-                                       DropUserStmt *n = makeNode(DropUserStmt);
-                                       n->user = yyvsp[0].str;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 50:
-#line 478 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 51:
-#line 479 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 52:
-#line 483 "gram.y"
-{
-                                       bool*  b;
-                                       yyval.pboolean = (b = (bool*)palloc(sizeof(bool)));
-                                       *b = true;
-                               ;
-    break;}
-case 53:
-#line 489 "gram.y"
-{
-                                       bool*  b;
-                                       yyval.pboolean = (b = (bool*)palloc(sizeof(bool)));
-                                       *b = false;
-                               ;
-    break;}
-case 54:
-#line 494 "gram.y"
-{ yyval.pboolean = NULL; ;
-    break;}
-case 55:
-#line 498 "gram.y"
-{
-                                       bool*  b;
-                                       yyval.pboolean = (b = (bool*)palloc(sizeof(bool)));
-                                       *b = true;
-                               ;
-    break;}
-case 56:
-#line 504 "gram.y"
-{
-                                       bool*  b;
-                                       yyval.pboolean = (b = (bool*)palloc(sizeof(bool)));
-                                       *b = false;
-                               ;
-    break;}
-case 57:
-#line 509 "gram.y"
-{ yyval.pboolean = NULL; ;
-    break;}
-case 58:
-#line 513 "gram.y"
-{
-                                       yyval.list = lcons((void*)makeString(yyvsp[0].str), yyvsp[-2].list);
-                               ;
-    break;}
-case 59:
-#line 517 "gram.y"
-{
-                                       yyval.list = lcons((void*)makeString(yyvsp[0].str), NIL);
-                               ;
-    break;}
-case 60:
-#line 522 "gram.y"
-{ yyval.list = yyvsp[0].list; ;
-    break;}
-case 61:
-#line 523 "gram.y"
-{ yyval.list = NULL; ;
-    break;}
-case 62:
-#line 526 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 63:
-#line 527 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 64:
-#line 540 "gram.y"
-{
-                                       VariableSetStmt *n = makeNode(VariableSetStmt);
-                                       n->name  = yyvsp[-2].str;
-                                       n->value = yyvsp[0].str;
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 65:
-#line 547 "gram.y"
-{
-                                       VariableSetStmt *n = makeNode(VariableSetStmt);
-                                       n->name  = yyvsp[-2].str;
-                                       n->value = yyvsp[0].str;
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 66:
-#line 554 "gram.y"
-{
-                                       VariableSetStmt *n = makeNode(VariableSetStmt);
-                                       n->name  = "timezone";
-                                       n->value = yyvsp[0].str;
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 67:
-#line 561 "gram.y"
-{
-                                       VariableSetStmt *n = makeNode(VariableSetStmt);
-                                       n->name  = "XactIsoLevel";
-                                       n->value = yyvsp[0].str;
-                                       if (strcasecmp(n->value, "COMMITTED"))
-                                               elog(ERROR,"parser: syntax error at or near \"%s\"", n->value);
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 68:
-#line 570 "gram.y"
-{
-                                       VariableSetStmt *n = makeNode(VariableSetStmt);
-                                       n->name  = "XactIsoLevel";
-                                       n->value = yyvsp[0].str;
-                                       if (strcasecmp(n->value, "SERIALIZABLE"))
-                                               elog(ERROR,"parser: syntax error at or near \"%s\"", n->value);
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 69:
-#line 579 "gram.y"
-{
-#ifdef MB
-                                       VariableSetStmt *n = makeNode(VariableSetStmt);
-                                       n->name  = "client_encoding";
-                                       n->value = yyvsp[0].str;
-                                       yyval.node = (Node *) n;
-#else
-                                       elog(ERROR, "SET NAMES is not supported");
-#endif
-                               ;
-    break;}
-case 70:
-#line 591 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 71:
-#line 592 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 72:
-#line 595 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 73:
-#line 596 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 74:
-#line 597 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 75:
-#line 601 "gram.y"
-{
-                                       VariableShowStmt *n = makeNode(VariableShowStmt);
-                                       n->name  = yyvsp[0].str;
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 76:
-#line 607 "gram.y"
-{
-                                       VariableShowStmt *n = makeNode(VariableShowStmt);
-                                       n->name  = "timezone";
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 77:
-#line 613 "gram.y"
-{
-                                       VariableShowStmt *n = makeNode(VariableShowStmt);
-                                       n->name  = "XactIsoLevel";
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 78:
-#line 621 "gram.y"
-{
-                                       VariableResetStmt *n = makeNode(VariableResetStmt);
-                                       n->name  = yyvsp[0].str;
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 79:
-#line 627 "gram.y"
-{
-                                       VariableResetStmt *n = makeNode(VariableResetStmt);
-                                       n->name  = "timezone";
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 80:
-#line 633 "gram.y"
-{
-                                       VariableResetStmt *n = makeNode(VariableResetStmt);
-                                       n->name  = "XactIsoLevel";
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 81:
-#line 649 "gram.y"
-{
-                                       AddAttrStmt *n = makeNode(AddAttrStmt);
-                                       n->relname = yyvsp[-2].str;
-                                       n->inh = yyvsp[-1].boolean;
-                                       n->colDef = yyvsp[0].node;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 82:
-#line 659 "gram.y"
-{
-                                       yyval.node = yyvsp[0].node;
-                               ;
-    break;}
-case 83:
-#line 663 "gram.y"
-{
-                                       Node *lp = lfirst(yyvsp[-1].list);
-
-                                       if (length(yyvsp[-1].list) != 1)
-                                               elog(ERROR,"ALTER TABLE/ADD() allows one column only");
-                                       yyval.node = lp;
-                               ;
-    break;}
-case 84:
-#line 671 "gram.y"
-{      elog(ERROR,"ALTER TABLE/DROP COLUMN not yet implemented"); ;
-    break;}
-case 85:
-#line 673 "gram.y"
-{      elog(ERROR,"ALTER TABLE/ALTER COLUMN/SET DEFAULT not yet implemented"); ;
-    break;}
-case 86:
-#line 675 "gram.y"
-{      elog(ERROR,"ALTER TABLE/ALTER COLUMN/DROP DEFAULT not yet implemented"); ;
-    break;}
-case 87:
-#line 677 "gram.y"
-{      elog(ERROR,"ALTER TABLE/ADD CONSTRAINT not yet implemented"); ;
-    break;}
-case 88:
-#line 689 "gram.y"
-{
-                                       ClosePortalStmt *n = makeNode(ClosePortalStmt);
-                                       n->portalname = yyvsp[0].str;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 89:
-#line 706 "gram.y"
-{
-                                       CopyStmt *n = makeNode(CopyStmt);
-                                       n->binary = yyvsp[-5].boolean;
-                                       n->relname = yyvsp[-4].str;
-                                       n->oids = yyvsp[-3].boolean;
-                                       n->direction = yyvsp[-2].ival;
-                                       n->filename = yyvsp[-1].str;
-                                       n->delimiter = yyvsp[0].str;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 90:
-#line 719 "gram.y"
-{ yyval.ival = TO; ;
-    break;}
-case 91:
-#line 721 "gram.y"
-{ yyval.ival = FROM; ;
-    break;}
-case 92:
-#line 729 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 93:
-#line 730 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 94:
-#line 731 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 95:
-#line 734 "gram.y"
-{ yyval.boolean = TRUE; ;
-    break;}
-case 96:
-#line 735 "gram.y"
-{ yyval.boolean = FALSE; ;
-    break;}
-case 97:
-#line 738 "gram.y"
-{ yyval.boolean = TRUE; ;
-    break;}
-case 98:
-#line 739 "gram.y"
-{ yyval.boolean = FALSE; ;
-    break;}
-case 99:
-#line 745 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 100:
-#line 746 "gram.y"
-{ yyval.str = "\t"; ;
-    break;}
-case 101:
-#line 759 "gram.y"
-{
-                                       CreateStmt *n = makeNode(CreateStmt);
-                                       n->istemp = yyvsp[-6].boolean;
-                                       n->relname = yyvsp[-4].str;
-                                       n->tableElts = yyvsp[-2].list;
-                                       n->inhRelnames = yyvsp[0].list;
-                                       n->constraints = NIL;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 102:
-#line 771 "gram.y"
-{ yyval.boolean = TRUE; ;
-    break;}
-case 103:
-#line 772 "gram.y"
-{ yyval.boolean = TRUE; ;
-    break;}
-case 104:
-#line 773 "gram.y"
-{ yyval.boolean = FALSE; ;
-    break;}
-case 105:
-#line 777 "gram.y"
-{
-                                       if (yyvsp[0].node != NULL)
-                                               yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
-                                       else
-                                               yyval.list = yyvsp[-2].list;
-                               ;
-    break;}
-case 106:
-#line 784 "gram.y"
-{
-                                       if (yyvsp[0].node != NULL)
-                                               yyval.list = lcons(yyvsp[0].node, NIL);
-                                       else
-                                               yyval.list = NULL;
-                               ;
-    break;}
-case 107:
-#line 790 "gram.y"
-{ yyval.list = NULL; ;
-    break;}
-case 108:
-#line 793 "gram.y"
-{ yyval.node = yyvsp[0].node; ;
-    break;}
-case 109:
-#line 794 "gram.y"
-{ yyval.node = yyvsp[0].node; ;
-    break;}
-case 110:
-#line 798 "gram.y"
-{
-                                       ColumnDef *n = makeNode(ColumnDef);
-                                       n->colname = yyvsp[-2].str;
-                                       n->typename = yyvsp[-1].typnam;
-                                       n->defval = NULL;
-                                       n->is_not_null = FALSE;
-                                       n->constraints = yyvsp[0].list;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 111:
-#line 808 "gram.y"
-{
-                                       ColumnDef *n = makeNode(ColumnDef);
-                                       n->colname = yyvsp[-2].str;
-                                       n->typename = makeNode(TypeName);
-                                       n->typename->name = xlateSqlType("integer");
-                                       n->defval = NULL;
-                                       n->is_not_null = TRUE;
-                                       n->is_sequence = TRUE;
-                                       n->constraints = yyvsp[0].list;
-
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 112:
-#line 822 "gram.y"
-{ yyval.list = yyvsp[0].list; ;
-    break;}
-case 113:
-#line 823 "gram.y"
-{ yyval.list = NULL; ;
-    break;}
-case 114:
-#line 827 "gram.y"
-{
-                                       if (yyvsp[0].node != NULL)
-                                               yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node);
-                                       else
-                                               yyval.list = yyvsp[-1].list;
-                               ;
-    break;}
-case 115:
-#line 834 "gram.y"
-{
-                                       if (yyvsp[0].node != NULL)
-                                               yyval.list = lcons(yyvsp[0].node, NIL);
-                                       else
-                                               yyval.list = NULL;
-                               ;
-    break;}
-case 116:
-#line 843 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_PRIMARY;
-                                       n->name = NULL;
-                                       n->def = NULL;
-                                       n->keys = NULL;
-                                       yyval.list = lcons((Node *)n, NIL);
-                               ;
-    break;}
-case 117:
-#line 851 "gram.y"
-{ yyval.list = NULL; ;
-    break;}
-case 118:
-#line 856 "gram.y"
-{
-                                               Constraint *n = (Constraint *)yyvsp[0].node;
-                                               if (n != NULL) n->name = fmtId(yyvsp[-1].str);
-                                               yyval.node = yyvsp[0].node;
-                               ;
-    break;}
-case 119:
-#line 862 "gram.y"
-{ yyval.node = yyvsp[0].node; ;
-    break;}
-case 120:
-#line 876 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_CHECK;
-                                       n->name = NULL;
-                                       n->def = FlattenStringList(yyvsp[-1].list);
-                                       n->keys = NULL;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 121:
-#line 885 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_DEFAULT;
-                                       n->name = NULL;
-                                       n->def = NULL;
-                                       n->keys = NULL;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 122:
-#line 894 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_DEFAULT;
-                                       n->name = NULL;
-                                       n->def = FlattenStringList(yyvsp[0].list);
-                                       n->keys = NULL;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 123:
-#line 903 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_NOTNULL;
-                                       n->name = NULL;
-                                       n->def = NULL;
-                                       n->keys = NULL;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 124:
-#line 912 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_UNIQUE;
-                                       n->name = NULL;
-                                       n->def = NULL;
-                                       n->keys = NULL;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 125:
-#line 921 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_PRIMARY;
-                                       n->name = NULL;
-                                       n->def = NULL;
-                                       n->keys = NULL;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 126:
-#line 930 "gram.y"
-{
-                                       elog(NOTICE,"CREATE TABLE/FOREIGN KEY clause ignored; not yet implemented");
-                                       yyval.node = NULL;
-                               ;
-    break;}
-case 127:
-#line 937 "gram.y"
-{
-                                       yyval.list = lappend(yyvsp[-2].list,makeString(","));
-                                       yyval.list = nconc(yyval.list, yyvsp[0].list);
-                               ;
-    break;}
-case 128:
-#line 942 "gram.y"
-{
-                                       yyval.list = yyvsp[0].list;
-                               ;
-    break;}
-case 129:
-#line 955 "gram.y"
-{      yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ;
-    break;}
-case 130:
-#line 957 "gram.y"
-{      yyval.list = lcons( makeString( "-"), yyvsp[0].list); ;
-    break;}
-case 131:
-#line 959 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "+"), yyvsp[0].list)); ;
-    break;}
-case 132:
-#line 961 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "-"), yyvsp[0].list)); ;
-    break;}
-case 133:
-#line 963 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "/"), yyvsp[0].list)); ;
-    break;}
-case 134:
-#line 965 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "%"), yyvsp[0].list)); ;
-    break;}
-case 135:
-#line 967 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "*"), yyvsp[0].list)); ;
-    break;}
-case 136:
-#line 969 "gram.y"
-{      elog(ERROR,"boolean expressions not supported in DEFAULT"); ;
-    break;}
-case 137:
-#line 971 "gram.y"
-{      elog(ERROR,"boolean expressions not supported in DEFAULT"); ;
-    break;}
-case 138:
-#line 973 "gram.y"
-{      elog(ERROR,"boolean expressions not supported in DEFAULT"); ;
-    break;}
-case 139:
-#line 975 "gram.y"
-{      yyval.list = lcons( makeString( ":"), yyvsp[0].list); ;
-    break;}
-case 140:
-#line 977 "gram.y"
-{      yyval.list = lcons( makeString( ";"), yyvsp[0].list); ;
-    break;}
-case 141:
-#line 979 "gram.y"
-{      yyval.list = lcons( makeString( "|"), yyvsp[0].list); ;
-    break;}
-case 142:
-#line 981 "gram.y"
-{
-                                       yyvsp[0].typnam->name = fmtId(yyvsp[0].typnam->name);
-                                       yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-2].list), makeList( makeString("AS"), yyvsp[0].typnam, -1));
-                               ;
-    break;}
-case 143:
-#line 986 "gram.y"
-{
-                                       yyvsp[-1].typnam->name = fmtId(yyvsp[-1].typnam->name);
-                                       yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-3].list), makeList( makeString("AS"), yyvsp[-1].typnam, -1));
-                               ;
-    break;}
-case 144:
-#line 991 "gram.y"
-{      yyval.list = lappend( lcons( makeString( "("), yyvsp[-1].list), makeString( ")")); ;
-    break;}
-case 145:
-#line 993 "gram.y"
-{
-                                       yyval.list = makeList( makeString(yyvsp[-2].str), makeString("("), -1);
-                                       yyval.list = lappend( yyval.list, makeString(")"));
-                               ;
-    break;}
-case 146:
-#line 998 "gram.y"
-{
-                                       yyval.list = makeList( makeString(yyvsp[-3].str), makeString("("), -1);
-                                       yyval.list = nconc( yyval.list, yyvsp[-1].list);
-                                       yyval.list = lappend( yyval.list, makeString(")"));
-                               ;
-    break;}
-case 147:
-#line 1004 "gram.y"
-{
-                                       if (!strcmp("<=", yyvsp[-1].str) || !strcmp(">=", yyvsp[-1].str))
-                                               elog(ERROR,"boolean expressions not supported in DEFAULT");
-                                       yyval.list = nconc( yyvsp[-2].list, lcons( makeString( yyvsp[-1].str), yyvsp[0].list));
-                               ;
-    break;}
-case 148:
-#line 1010 "gram.y"
-{      yyval.list = lcons( makeString( yyvsp[-1].str), yyvsp[0].list); ;
-    break;}
-case 149:
-#line 1012 "gram.y"
-{      yyval.list = lappend( yyvsp[-1].list, makeString( yyvsp[0].str)); ;
-    break;}
-case 150:
-#line 1015 "gram.y"
-{      yyval.list = lcons( makeString( "date( 'current'::datetime + '0 sec')"), NIL); ;
-    break;}
-case 151:
-#line 1017 "gram.y"
-{      yyval.list = lcons( makeString( "'now'::time"), NIL); ;
-    break;}
-case 152:
-#line 1019 "gram.y"
-{
-                                       if (yyvsp[-1].ival != 0)
-                                               elog(NOTICE,"CURRENT_TIME(%d) precision not implemented; zero used instead",yyvsp[-1].ival);
-                                       yyval.list = lcons( makeString( "'now'::time"), NIL);
-                               ;
-    break;}
-case 153:
-#line 1025 "gram.y"
-{      yyval.list = lcons( makeString( "now()"), NIL); ;
-    break;}
-case 154:
-#line 1027 "gram.y"
-{
-                                       if (yyvsp[-1].ival != 0)
-                                               elog(NOTICE,"CURRENT_TIMESTAMP(%d) precision not implemented; zero used instead",yyvsp[-1].ival);
-                                       yyval.list = lcons( makeString( "now()"), NIL);
-                               ;
-    break;}
-case 155:
-#line 1033 "gram.y"
-{      yyval.list = lcons( makeString( "CURRENT_USER"), NIL); ;
-    break;}
-case 156:
-#line 1035 "gram.y"
-{      yyval.list = lcons( makeString( "USER"), NIL); ;
-    break;}
-case 157:
-#line 1043 "gram.y"
-{
-                                               Constraint *n = (Constraint *)yyvsp[0].node;
-                                               if (n != NULL) n->name = fmtId(yyvsp[-1].str);
-                                               yyval.node = yyvsp[0].node;
-                               ;
-    break;}
-case 158:
-#line 1049 "gram.y"
-{ yyval.node = yyvsp[0].node; ;
-    break;}
-case 159:
-#line 1053 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_CHECK;
-                                       n->name = NULL;
-                                       n->def = FlattenStringList(yyvsp[-1].list);
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 160:
-#line 1061 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_UNIQUE;
-                                       n->name = NULL;
-                                       n->def = NULL;
-                                       n->keys = yyvsp[-1].list;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 161:
-#line 1070 "gram.y"
-{
-                                       Constraint *n = makeNode(Constraint);
-                                       n->contype = CONSTR_PRIMARY;
-                                       n->name = NULL;
-                                       n->def = NULL;
-                                       n->keys = yyvsp[-1].list;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 162:
-#line 1079 "gram.y"
-{
-                                       elog(NOTICE,"CREATE TABLE/FOREIGN KEY clause ignored; not yet implemented");
-                                       yyval.node = NULL;
-                               ;
-    break;}
-case 163:
-#line 1086 "gram.y"
-{
-                                       yyval.list = lappend(yyvsp[-2].list,makeString(","));
-                                       yyval.list = nconc(yyval.list, yyvsp[0].list);
-                               ;
-    break;}
-case 164:
-#line 1091 "gram.y"
-{
-                                       yyval.list = yyvsp[0].list;
-                               ;
-    break;}
-case 165:
-#line 1097 "gram.y"
-{      yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ;
-    break;}
-case 166:
-#line 1099 "gram.y"
-{      yyval.list = lcons( makeString("NULL"), NIL); ;
-    break;}
-case 167:
-#line 1101 "gram.y"
-{
-                                       yyval.list = lcons( makeString(fmtId(yyvsp[0].str)), NIL);
-                               ;
-    break;}
-case 168:
-#line 1105 "gram.y"
-{      yyval.list = lcons( makeString( "-"), yyvsp[0].list); ;
-    break;}
-case 169:
-#line 1107 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "+"), yyvsp[0].list)); ;
-    break;}
-case 170:
-#line 1109 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "-"), yyvsp[0].list)); ;
-    break;}
-case 171:
-#line 1111 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "/"), yyvsp[0].list)); ;
-    break;}
-case 172:
-#line 1113 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "%"), yyvsp[0].list)); ;
-    break;}
-case 173:
-#line 1115 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "*"), yyvsp[0].list)); ;
-    break;}
-case 174:
-#line 1117 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "="), yyvsp[0].list)); ;
-    break;}
-case 175:
-#line 1119 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "<"), yyvsp[0].list)); ;
-    break;}
-case 176:
-#line 1121 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( ">"), yyvsp[0].list)); ;
-    break;}
-case 177:
-#line 1123 "gram.y"
-{      yyval.list = lcons( makeString( ":"), yyvsp[0].list); ;
-    break;}
-case 178:
-#line 1125 "gram.y"
-{      yyval.list = lcons( makeString( ";"), yyvsp[0].list); ;
-    break;}
-case 179:
-#line 1127 "gram.y"
-{      yyval.list = lcons( makeString( "|"), yyvsp[0].list); ;
-    break;}
-case 180:
-#line 1129 "gram.y"
-{
-                                       yyvsp[0].typnam->name = fmtId(yyvsp[0].typnam->name);
-                                       yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-2].list), makeList( makeString("AS"), yyvsp[0].typnam, -1));
-                               ;
-    break;}
-case 181:
-#line 1134 "gram.y"
-{
-                                       yyvsp[-1].typnam->name = fmtId(yyvsp[-1].typnam->name);
-                                       yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-3].list), makeList( makeString("AS"), yyvsp[-1].typnam, -1));
-                               ;
-    break;}
-case 182:
-#line 1139 "gram.y"
-{      yyval.list = lappend( lcons( makeString( "("), yyvsp[-1].list), makeString( ")")); ;
-    break;}
-case 183:
-#line 1141 "gram.y"
-{
-                                       yyval.list = makeList( makeString(yyvsp[-2].str), makeString("("), -1);
-                                       yyval.list = lappend( yyval.list, makeString(")"));
-                               ;
-    break;}
-case 184:
-#line 1146 "gram.y"
-{
-                                       yyval.list = makeList( makeString(yyvsp[-3].str), makeString("("), -1);
-                                       yyval.list = nconc( yyval.list, yyvsp[-1].list);
-                                       yyval.list = lappend( yyval.list, makeString(")"));
-                               ;
-    break;}
-case 185:
-#line 1152 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( yyvsp[-1].str), yyvsp[0].list)); ;
-    break;}
-case 186:
-#line 1154 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "LIKE"), yyvsp[0].list)); ;
-    break;}
-case 187:
-#line 1156 "gram.y"
-{      yyval.list = nconc( yyvsp[-3].list, lcons( makeString( "NOT LIKE"), yyvsp[0].list)); ;
-    break;}
-case 188:
-#line 1158 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "AND"), yyvsp[0].list)); ;
-    break;}
-case 189:
-#line 1160 "gram.y"
-{      yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "OR"), yyvsp[0].list)); ;
-    break;}
-case 190:
-#line 1162 "gram.y"
-{      yyval.list = lcons( makeString( "NOT"), yyvsp[0].list); ;
-    break;}
-case 191:
-#line 1164 "gram.y"
-{      yyval.list = lcons( makeString( yyvsp[-1].str), yyvsp[0].list); ;
-    break;}
-case 192:
-#line 1166 "gram.y"
-{      yyval.list = lappend( yyvsp[-1].list, makeString( yyvsp[0].str)); ;
-    break;}
-case 193:
-#line 1168 "gram.y"
-{      yyval.list = lappend( yyvsp[-1].list, makeString( "IS NULL")); ;
-    break;}
-case 194:
-#line 1170 "gram.y"
-{      yyval.list = lappend( yyvsp[-2].list, makeString( "IS NULL")); ;
-    break;}
-case 195:
-#line 1172 "gram.y"
-{      yyval.list = lappend( yyvsp[-1].list, makeString( "IS NOT NULL")); ;
-    break;}
-case 196:
-#line 1174 "gram.y"
-{      yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT NULL")); ;
-    break;}
-case 197:
-#line 1176 "gram.y"
-{      yyval.list = lappend( yyvsp[-2].list, makeString( "IS TRUE")); ;
-    break;}
-case 198:
-#line 1178 "gram.y"
-{      yyval.list = lappend( yyvsp[-2].list, makeString( "IS FALSE")); ;
-    break;}
-case 199:
-#line 1180 "gram.y"
-{      yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT TRUE")); ;
-    break;}
-case 200:
-#line 1182 "gram.y"
-{      yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT FALSE")); ;
-    break;}
-case 201:
-#line 1184 "gram.y"
-{
-                                       yyval.list = lappend( yyvsp[-4].list, makeString("IN"));
-                                       yyval.list = lappend( yyval.list, makeString("("));
-                                       yyval.list = nconc( yyval.list, yyvsp[-1].list);
-                                       yyval.list = lappend( yyval.list, makeString(")"));
-                               ;
-    break;}
-case 202:
-#line 1191 "gram.y"
-{
-                                       yyval.list = lappend( yyvsp[-5].list, makeString("NOT IN"));
-                                       yyval.list = lappend( yyval.list, makeString("("));
-                                       yyval.list = nconc( yyval.list, yyvsp[-1].list);
-                                       yyval.list = lappend( yyval.list, makeString(")"));
-                               ;
-    break;}
-case 203:
-#line 1198 "gram.y"
-{
-                                       yyval.list = lappend( yyvsp[-4].list, makeString("BETWEEN"));
-                                       yyval.list = nconc( yyval.list, yyvsp[-2].list);
-                                       yyval.list = lappend( yyval.list, makeString("AND"));
-                                       yyval.list = nconc( yyval.list, yyvsp[0].list);
-                               ;
-    break;}
-case 204:
-#line 1205 "gram.y"
-{
-                                       yyval.list = lappend( yyvsp[-5].list, makeString("NOT BETWEEN"));
-                                       yyval.list = nconc( yyval.list, yyvsp[-2].list);
-                                       yyval.list = lappend( yyval.list, makeString("AND"));
-                                       yyval.list = nconc( yyval.list, yyvsp[0].list);
-                               ;
-    break;}
-case 205:
-#line 1214 "gram.y"
-{
-                                       yyval.list = lappend(yyvsp[-2].list, makeString(","));
-                                       yyval.list = nconc(yyval.list, yyvsp[0].list);
-                               ;
-    break;}
-case 206:
-#line 1219 "gram.y"
-{
-                                       yyval.list = yyvsp[0].list;
-                               ;
-    break;}
-case 207:
-#line 1225 "gram.y"
-{      yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ;
-    break;}
-case 208:
-#line 1228 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 209:
-#line 1229 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 210:
-#line 1230 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 211:
-#line 1233 "gram.y"
-{ yyval.list = NIL; ;
-    break;}
-case 212:
-#line 1234 "gram.y"
-{ yyval.list = NIL; ;
-    break;}
-case 213:
-#line 1235 "gram.y"
-{ yyval.list = NIL; ;
-    break;}
-case 214:
-#line 1238 "gram.y"
-{ yyval.list = NIL; ;
-    break;}
-case 215:
-#line 1239 "gram.y"
-{ yyval.list = NIL; ;
-    break;}
-case 216:
-#line 1242 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 217:
-#line 1243 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 218:
-#line 1244 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 219:
-#line 1245 "gram.y"
-{ yyval.str = NULL; ;
-    break;}
-case 220:
-#line 1248 "gram.y"
-{ yyval.list = yyvsp[-1].list; ;
-    break;}
-case 221:
-#line 1249 "gram.y"
-{ yyval.list = NIL; ;
-    break;}
-case 222:
-#line 1253 "gram.y"
-{
-                                       SelectStmt *n = (SelectStmt *)yyvsp[0].node;
-                                       if (yyvsp[-2].list != NIL)
-                                               mapTargetColumns(yyvsp[-2].list, n->targetList);
-                                       n->istemp = yyvsp[-5].boolean;
-                                       n->into = yyvsp[-3].str;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 223:
-#line 1263 "gram.y"
-{ yyval.list = yyvsp[-1].list; ;
-    break;}
-case 224:
-#line 1264 "gram.y"
-{ yyval.list = NULL; ;
-    break;}
-case 225:
-#line 1267 "gram.y"
-{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ;
-    break;}
-case 226:
-#line 1268 "gram.y"
-{ yyval.list = lcons(yyvsp[0].node, NIL); ;
-    break;}
-case 227:
-#line 1272 "gram.y"
-{
-                                       ColumnDef *n = makeNode(ColumnDef);
-                                       n->colname = yyvsp[0].str;
-                                       n->typename = NULL;
-                                       n->defval = NULL;
-                                       n->is_not_null = FALSE;
-                                       n->constraints = NULL;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 228:
-#line 1292 "gram.y"
-{
-                                       CreateSeqStmt *n = makeNode(CreateSeqStmt);
-                                       n->seqname = yyvsp[-1].str;
-                                       n->options = yyvsp[0].list;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 229:
-#line 1301 "gram.y"
-{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); ;
-    break;}
-case 230:
-#line 1302 "gram.y"
-{ yyval.list = NIL; ;
-    break;}
-case 231:
-#line 1306 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = "cache";
-                                       yyval.defelt->arg = (Node *)yyvsp[0].value;
-                               ;
-    break;}
-case 232:
-#line 1312 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = "cycle";
-                                       yyval.defelt->arg = (Node *)NULL;
-                               ;
-    break;}
-case 233:
-#line 1318 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = "increment";
-                                       yyval.defelt->arg = (Node *)yyvsp[0].value;
-                               ;
-    break;}
-case 234:
-#line 1324 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = "maxvalue";
-                                       yyval.defelt->arg = (Node *)yyvsp[0].value;
-                               ;
-    break;}
-case 235:
-#line 1330 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = "minvalue";
-                                       yyval.defelt->arg = (Node *)yyvsp[0].value;
-                               ;
-    break;}
-case 236:
-#line 1336 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = "start";
-                                       yyval.defelt->arg = (Node *)yyvsp[0].value;
-                               ;
-    break;}
-case 237:
-#line 1343 "gram.y"
-{ yyval.value = yyvsp[0].value; ;
-    break;}
-case 238:
-#line 1344 "gram.y"
-{ yyval.value = yyvsp[0].value; ;
-    break;}
-case 239:
-#line 1347 "gram.y"
-{
-                                       yyval.value = makeFloat(yyvsp[0].dval);
-                               ;
-    break;}
-case 240:
-#line 1351 "gram.y"
-{
-                                       yyval.value = makeFloat(yyvsp[0].dval);
-                                       yyval.value->val.dval = - yyval.value->val.dval;
-                               ;
-    break;}
-case 241:
-#line 1358 "gram.y"
-{
-                                       yyval.value = makeInteger(yyvsp[0].ival);
-                               ;
-    break;}
-case 242:
-#line 1362 "gram.y"
-{
-                                       yyval.value = makeInteger(yyvsp[0].ival);
-                                       yyval.value->val.ival = - yyval.value->val.ival;
-                               ;
-    break;}
-case 243:
-#line 1378 "gram.y"
-{
-                               CreatePLangStmt *n = makeNode(CreatePLangStmt);
-                               n->plname = yyvsp[-4].str;
-                               n->plhandler = yyvsp[-2].str;
-                               n->plcompiler = yyvsp[0].str;
-                               n->pltrusted = yyvsp[-7].boolean;
-                               yyval.node = (Node *)n;
-                       ;
-    break;}
-case 244:
-#line 1388 "gram.y"
-{ yyval.boolean = TRUE; ;
-    break;}
-case 245:
-#line 1389 "gram.y"
-{ yyval.boolean = FALSE; ;
-    break;}
-case 246:
-#line 1392 "gram.y"
-{
-                               DropPLangStmt *n = makeNode(DropPLangStmt);
-                               n->plname = yyvsp[0].str;
-                               yyval.node = (Node *)n;
-                       ;
-    break;}
-case 247:
-#line 1410 "gram.y"
-{
-                                       CreateTrigStmt *n = makeNode(CreateTrigStmt);
-                                       n->trigname = yyvsp[-11].str;
-                                       n->relname = yyvsp[-7].str;
-                                       n->funcname = yyvsp[-3].str;
-                                       n->args = yyvsp[-1].list;
-                                       n->before = yyvsp[-10].boolean;
-                                       n->row = yyvsp[-6].boolean;
-                                       memcpy (n->actions, yyvsp[-9].str, 4);
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 248:
-#line 1423 "gram.y"
-{ yyval.boolean = TRUE; ;
-    break;}
-case 249:
-#line 1424 "gram.y"
-{ yyval.boolean = FALSE; ;
-    break;}
-case 250:
-#line 1428 "gram.y"
-{
-                                       char *e = palloc (4);
-                                       e[0] = yyvsp[0].chr; e[1] = 0; yyval.str = e;
-                               ;
-    break;}
-case 251:
-#line 1433 "gram.y"
-{
-                                       char *e = palloc (4);
-                                       e[0] = yyvsp[-2].chr; e[1] = yyvsp[0].chr; e[2] = 0; yyval.str = e;
-                               ;
-    break;}
-case 252:
-#line 1438 "gram.y"
-{
-                                       char *e = palloc (4);
-                                       e[0] = yyvsp[-4].chr; e[1] = yyvsp[-2].chr; e[2] = yyvsp[0].chr; e[3] = 0;
-                                       yyval.str = e;
-                               ;
-    break;}
-case 253:
-#line 1445 "gram.y"
-{ yyval.chr = 'i'; ;
-    break;}
-case 254:
-#line 1446 "gram.y"
-{ yyval.chr = 'd'; ;
-    break;}
-case 255:
-#line 1447 "gram.y"
-{ yyval.chr = 'u'; ;
-    break;}
-case 256:
-#line 1451 "gram.y"
-{
-                                       yyval.boolean = yyvsp[0].boolean;
-                               ;
-    break;}
-case 257:
-#line 1456 "gram.y"
-{ yyval.boolean = TRUE; ;
-    break;}
-case 258:
-#line 1457 "gram.y"
-{ yyval.boolean = FALSE; ;
-    break;}
-case 259:
-#line 1460 "gram.y"
-{ yyval.boolean = TRUE; ;
-    break;}
-case 260:
-#line 1461 "gram.y"
-{ yyval.boolean = FALSE; ;
-    break;}
-case 261:
-#line 1465 "gram.y"
-{ yyval.list = lcons(yyvsp[0].str, NIL); ;
-    break;}
-case 262:
-#line 1467 "gram.y"
-{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].str); ;
-    break;}
-case 263:
-#line 1469 "gram.y"
-{ yyval.list = NIL; ;
-    break;}
-case 264:
-#line 1473 "gram.y"
-{
-                                       char *s = (char *) palloc (256);
-                                       sprintf (s, "%d", yyvsp[0].ival);
-                                       yyval.str = s;
-                               ;
-    break;}
-case 265:
-#line 1479 "gram.y"
-{
-                                       char *s = (char *) palloc (256);
-                                       sprintf (s, "%g", yyvsp[0].dval);
-                                       yyval.str = s;
-                               ;
-    break;}
-case 266:
-#line 1484 "gram.y"
-{  yyval.str = yyvsp[0].str; ;
-    break;}
-case 267:
-#line 1485 "gram.y"
-{  yyval.str = yyvsp[0].str; ;
-    break;}
-case 268:
-#line 1489 "gram.y"
-{
-                                       DropTrigStmt *n = makeNode(DropTrigStmt);
-                                       n->trigname = yyvsp[-2].str;
-                                       n->relname = yyvsp[0].str;
-                                       yyval.node = (Node *) n;
-                               ;
-    break;}
-case 269:
-#line 1506 "gram.y"
-{
-                                       yyvsp[0].dstmt->defType = yyvsp[-1].ival;
-                                       yyval.node = (Node *)yyvsp[0].dstmt;
-                               ;
-    break;}
-case 270:
-#line 1513 "gram.y"
-{
-                                       yyval.dstmt = makeNode(DefineStmt);
-                                       yyval.dstmt->defname = yyvsp[-1].str;
-                                       yyval.dstmt->definition = yyvsp[0].list;
-                               ;
-    break;}
-case 271:
-#line 1520 "gram.y"
-{ yyval.ival = OPERATOR; ;
-    break;}
-case 272:
-#line 1521 "gram.y"
-{ yyval.ival = TYPE_P; ;
-    break;}
-case 273:
-#line 1522 "gram.y"
-{ yyval.ival = AGGREGATE; ;
-    break;}
-case 274:
-#line 1525 "gram.y"
-{ yyval.str = "procedure"; ;
-    break;}
-case 275:
-#line 1526 "gram.y"
-{ yyval.str = "join"; ;
-    break;}
-case 276:
-#line 1527 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 277:
-#line 1528 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 278:
-#line 1529 "gram.y"
-{ yyval.str = yyvsp[0].str; ;
-    break;}
-case 279:
-#line 1532 "gram.y"
-{ yyval.list = yyvsp[-1].list; ;
-    break;}
-case 280:
-#line 1535 "gram.y"
-{ yyval.list = lcons(yyvsp[0].defelt, NIL); ;
-    break;}
-case 281:
-#line 1536 "gram.y"
-{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].defelt); ;
-    break;}
-case 282:
-#line 1540 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = yyvsp[-2].str;
-                                       yyval.defelt->arg = (Node *)yyvsp[0].node;
-                               ;
-    break;}
-case 283:
-#line 1546 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = yyvsp[0].str;
-                                       yyval.defelt->arg = (Node *)NULL;
-                               ;
-    break;}
-case 284:
-#line 1552 "gram.y"
-{
-                                       yyval.defelt = makeNode(DefElem);
-                                       yyval.defelt->defname = "default";
-                                       yyval.defelt->arg = (Node *)yyvsp[0].node;
-                               ;
-    break;}
-case 285:
-#line 1559 "gram.y"
-{  yyval.node = (Node *)makeString(yyvsp[0].str); ;
-    break;}
-case 286:
-#line 1560 "gram.y"
-{  yyval.node = (Node *)makeString(yyvsp[0].str); ;
-    break;}
-case 287:
-#line 1561 "gram.y"
-{  yyval.node = (Node *)yyvsp[0].value; ;
-    break;}
-case 288:
-#line 1562 "gram.y"
-{  yyval.node = (Node *)makeString(yyvsp[0].str); ;
-    break;}
-case 289:
-#line 1564 "gram.y"
-{
-                                       TypeName *n = makeNode(TypeName);
-                                       n->name = yyvsp[0].str;
-                                       n->setof = TRUE;
-                                       n->arrayBounds = NULL;
-                                       n->typmod = -1;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 290:
-#line 1583 "gram.y"
-{
-                                       DestroyStmt *n = makeNode(DestroyStmt);
-                                       n->relNames = yyvsp[0].list;
-                                       n->sequence = FALSE;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 291:
-#line 1590 "gram.y"
-{
-                                       DestroyStmt *n = makeNode(DestroyStmt);
-                                       n->relNames = yyvsp[0].list;
-                                       n->sequence = TRUE;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 292:
-#line 1609 "gram.y"
-{
-                                       FetchStmt *n = makeNode(FetchStmt);
-                                       if (yyvsp[-2].ival == RELATIVE)
-                                       {
-                                               if (yyvsp[-1].ival == 0)
-                                                       elog(ERROR,"FETCH/RELATIVE at current position is not supported");
-                                               yyvsp[-2].ival = FORWARD;
-                                       }
-                                       if (yyvsp[-1].ival < 0)
-                                       {
-                                               yyvsp[-1].ival = -yyvsp[-1].ival;
-                                               yyvsp[-2].ival = ((yyvsp[-2].ival == FORWARD)? BACKWARD: FORWARD);
-                                       }
-                                       n->direction = yyvsp[-2].ival;
-                                       n->howMany = yyvsp[-1].ival;
-                                       n->portalname = yyvsp[0].str;
-                                       n->ismove = false;
-                                       yyval.node = (Node *)n;
-                               ;
-    break;}
-case 293:
-#line 1629 "gram.y"
-{
-                                       FetchStmt *n = makeNode(FetchStmt);
-                                      &nbs