pgpool2.git / summary / log / commit / refs
commit fd382bff97e33d4db966fcc50864b7f993352504
Author: Tatsuo Ishii <ishii at sraoss.co.jp>
Date: Thu Jul 30 14:44:21 2009 +0000
Adopt PostgreSQL 8.4 parser. Patch contributed by Akio Ishida.
parser/Makefile.am | 2 +-
parser/Makefile.in | 6 +-
parser/copyfuncs.c | 468 +-
parser/gram.c | 34819 +++++++++++++++++++---------------
parser/gram.h | 1437 +-
parser/gram.y | 2764 ++-
parser/keywords.c | 468 +-
parser/keywords.h | 13 +-
parser/makefuncs.c | 47 +-
parser/makefuncs.h | 12 +-
parser/nodes.c | 1 +
parser/nodes.h | 126 +-
parser/outfuncs.c | 567 +-
parser/parsenodes.h | 591 +-
parser/parser.c | 34 +-
parser/pool_memory.h | 3 +-
parser/pool_parser.h | 24 +-
parser/primnodes.h | 129 +-
pool_process_query.c | 3 +-
pool_rewrite_outfuncs.c | 337 +-
pool_type.h | 16 +-
test/parser/Makefile | 8 +-
test/parser/expected/copy.out | 2 +-
test/parser/expected/create.out | 50 +-
test/parser/expected/cursor.out | 12 +-
test/parser/expected/delete.out | 4 +-
test/parser/expected/insert.out | 4 +-
test/parser/expected/misc.out | 6 +-
test/parser/expected/prepare.out | 2 +-
test/parser/expected/privileges.out | 2 +-
test/parser/expected/select.out | 124 +-
test/parser/expected/update.out | 2 +-
32 files changed, 23662 insertions(+), 18421 deletions(-)
diff --git a/parser/Makefile.am b/parser/Makefile.am
index d44a740b3..783976281 100644
--- a/parser/Makefile.am
+++ b/parser/Makefile.am
@@ -1,6 +1,6 @@
noinst_LIBRARIES = libsql-parser.a
-libsql_parser_a_SOURCES = gram.y gramparse.h list.c makefuncs.c makefuncs.h memnodes.h nodes.h nodes.c parsenodes.h parser.c parser.h pg_list.h pool_memory.c pool_memory.h pool_string.c pool_string.h primnodes.h scansup.h value.c value.h keywords.h keywords.c pool_parser.h outfuncs.c copyfuncs.c
+libsql_parser_a_SOURCES = gram.y gramparse.h list.c makefuncs.c makefuncs.h memnodes.h nodes.h nodes.c parsenodes.h parser.c parser.h pg_list.h pool_memory.c pool_memory.h pool_string.c pool_string.h primnodes.h scansup.h value.c value.h keywords.h keywords.c pool_parser.h outfuncs.c copyfuncs.c kwlist.h kwlookup.c
EXTRA_DIST = scan.c scan.l
diff --git a/parser/Makefile.in b/parser/Makefile.in
index ca0cd55f5..3ccb1f395 100644
--- a/parser/Makefile.in
+++ b/parser/Makefile.in
@@ -54,7 +54,8 @@ libsql_parser_a_LIBADD =
am_libsql_parser_a_OBJECTS = gram.$(OBJEXT) list.$(OBJEXT) \
makefuncs.$(OBJEXT) nodes.$(OBJEXT) parser.$(OBJEXT) \
pool_memory.$(OBJEXT) pool_string.$(OBJEXT) value.$(OBJEXT) \
- keywords.$(OBJEXT) outfuncs.$(OBJEXT) copyfuncs.$(OBJEXT)
+ keywords.$(OBJEXT) outfuncs.$(OBJEXT) copyfuncs.$(OBJEXT) \
+ kwlookup.$(OBJEXT)
libsql_parser_a_OBJECTS = $(am_libsql_parser_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -181,7 +182,7 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
noinst_LIBRARIES = libsql-parser.a
-libsql_parser_a_SOURCES = gram.y gramparse.h list.c makefuncs.c makefuncs.h memnodes.h nodes.h nodes.c parsenodes.h parser.c parser.h pg_list.h pool_memory.c pool_memory.h pool_string.c pool_string.h primnodes.h scansup.h value.c value.h keywords.h keywords.c pool_parser.h outfuncs.c copyfuncs.c
+libsql_parser_a_SOURCES = gram.y gramparse.h list.c makefuncs.c makefuncs.h memnodes.h nodes.h nodes.c parsenodes.h parser.c parser.h pg_list.h pool_memory.c pool_memory.h pool_string.c pool_string.h primnodes.h scansup.h value.c value.h keywords.h keywords.c pool_parser.h outfuncs.c copyfuncs.c kwlist.h kwlookup.c
EXTRA_DIST = scan.c scan.l
AM_CPPFLAGS = -D_GNU_SOURCE -I .. -I @PGSQL_INCLUDE_DIR@
AM_YFLAGS = -d
@@ -240,6 +241,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copyfuncs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gram.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keywords.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kwlookup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/makefuncs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nodes.Po@am__quote@
diff --git a/parser/copyfuncs.c b/parser/copyfuncs.c
index 961c3401c..070a8a807 100644
--- a/parser/copyfuncs.c
+++ b/parser/copyfuncs.c
@@ -11,12 +11,12 @@
* be handled easily in a simple depth-first traversal.
*
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.382 2007/09/03 18:46:30 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.432 2009/06/18 01:27:02 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -24,8 +24,10 @@
#include "pool.h"
#include <string.h>
+#include <stddef.h>
#include "pool_memory.h"
#include "parsenodes.h"
+#define Assert
/*
@@ -59,6 +61,11 @@
memcpy(newnode->fldname, from->fldname, _size); \
} while (0)
+/* Copy a parse location field (for Copy, this is same as scalar case) */
+#define COPY_LOCATION_FIELD(fldname) \
+ (newnode->fldname = from->fldname)
+
+
/* ****************************************************************
* primnodes.h copy functions
@@ -93,6 +100,7 @@ _copyRangeVar(RangeVar *from)
COPY_SCALAR_FIELD(inhOpt);
COPY_SCALAR_FIELD(istemp);
COPY_NODE_FIELD(alias);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -103,7 +111,7 @@ _copyRangeVar(RangeVar *from)
static IntoClause *
_copyIntoClause(IntoClause *from)
{
- IntoClause *newnode = makeNode(IntoClause);
+ IntoClause *newnode = makeNode(IntoClause);
COPY_NODE_FIELD(rel);
COPY_NODE_FIELD(colNames);
@@ -136,6 +144,7 @@ _copyVar(Var *from)
COPY_SCALAR_FIELD(varlevelsup);
COPY_SCALAR_FIELD(varnoold);
COPY_SCALAR_FIELD(varoattno);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -190,6 +199,7 @@ _copyParam(Param *from)
COPY_SCALAR_FIELD(paramid);
COPY_SCALAR_FIELD(paramtype);
COPY_SCALAR_FIELD(paramtypmod);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -208,6 +218,26 @@ _copyAggref(Aggref *from)
COPY_SCALAR_FIELD(agglevelsup);
COPY_SCALAR_FIELD(aggstar);
COPY_SCALAR_FIELD(aggdistinct);
+ COPY_LOCATION_FIELD(location);
+
+ return newnode;
+}
+
+/*
+ * _copyWindowFunc
+ */
+static WindowFunc *
+_copyWindowFunc(WindowFunc *from)
+{
+ WindowFunc *newnode = makeNode(WindowFunc);
+
+ COPY_SCALAR_FIELD(winfnoid);
+ COPY_SCALAR_FIELD(wintype);
+ COPY_NODE_FIELD(args);
+ COPY_SCALAR_FIELD(winref);
+ COPY_SCALAR_FIELD(winstar);
+ COPY_SCALAR_FIELD(winagg);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -244,6 +274,7 @@ _copyFuncExpr(FuncExpr *from)
COPY_SCALAR_FIELD(funcretset);
COPY_SCALAR_FIELD(funcformat);
COPY_NODE_FIELD(args);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -261,6 +292,7 @@ _copyOpExpr(OpExpr *from)
COPY_SCALAR_FIELD(opresulttype);
COPY_SCALAR_FIELD(opretset);
COPY_NODE_FIELD(args);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -278,6 +310,7 @@ _copyDistinctExpr(DistinctExpr *from)
COPY_SCALAR_FIELD(opresulttype);
COPY_SCALAR_FIELD(opretset);
COPY_NODE_FIELD(args);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -294,6 +327,7 @@ _copyScalarArrayOpExpr(ScalarArrayOpExpr *from)
COPY_SCALAR_FIELD(opfuncid);
COPY_SCALAR_FIELD(useOr);
COPY_NODE_FIELD(args);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -308,6 +342,7 @@ _copyBoolExpr(BoolExpr *from)
COPY_SCALAR_FIELD(boolop);
COPY_NODE_FIELD(args);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -324,6 +359,7 @@ _copySubLink(SubLink *from)
COPY_NODE_FIELD(testexpr);
COPY_NODE_FIELD(operName);
COPY_NODE_FIELD(subselect);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -340,12 +376,29 @@ _copySubPlan(SubPlan *from)
COPY_NODE_FIELD(testexpr);
COPY_NODE_FIELD(paramIds);
COPY_SCALAR_FIELD(plan_id);
+ COPY_STRING_FIELD(plan_name);
COPY_SCALAR_FIELD(firstColType);
+ COPY_SCALAR_FIELD(firstColTypmod);
COPY_SCALAR_FIELD(useHashTable);
COPY_SCALAR_FIELD(unknownEqFalse);
COPY_NODE_FIELD(setParam);
COPY_NODE_FIELD(parParam);
COPY_NODE_FIELD(args);
+ COPY_SCALAR_FIELD(startup_cost);
+ COPY_SCALAR_FIELD(per_call_cost);
+
+ return newnode;
+}
+
+/*
+ * _copyAlternativeSubPlan
+ */
+static AlternativeSubPlan *
+_copyAlternativeSubPlan(AlternativeSubPlan *from)
+{
+ AlternativeSubPlan *newnode = makeNode(AlternativeSubPlan);
+
+ COPY_NODE_FIELD(subplans);
return newnode;
}
@@ -394,6 +447,7 @@ _copyRelabelType(RelabelType *from)
COPY_SCALAR_FIELD(resulttype);
COPY_SCALAR_FIELD(resulttypmod);
COPY_SCALAR_FIELD(relabelformat);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -404,11 +458,12 @@ _copyRelabelType(RelabelType *from)
static CoerceViaIO *
_copyCoerceViaIO(CoerceViaIO *from)
{
- CoerceViaIO *newnode = makeNode(CoerceViaIO);
+ CoerceViaIO *newnode = makeNode(CoerceViaIO);
COPY_NODE_FIELD(arg);
COPY_SCALAR_FIELD(resulttype);
COPY_SCALAR_FIELD(coerceformat);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -419,7 +474,7 @@ _copyCoerceViaIO(CoerceViaIO *from)
static ArrayCoerceExpr *
_copyArrayCoerceExpr(ArrayCoerceExpr *from)
{
- ArrayCoerceExpr *newnode = makeNode(ArrayCoerceExpr);
+ ArrayCoerceExpr *newnode = makeNode(ArrayCoerceExpr);
COPY_NODE_FIELD(arg);
COPY_SCALAR_FIELD(elemfuncid);
@@ -427,6 +482,7 @@ _copyArrayCoerceExpr(ArrayCoerceExpr *from)
COPY_SCALAR_FIELD(resulttypmod);
COPY_SCALAR_FIELD(isExplicit);
COPY_SCALAR_FIELD(coerceformat);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -442,6 +498,7 @@ _copyConvertRowtypeExpr(ConvertRowtypeExpr *from)
COPY_NODE_FIELD(arg);
COPY_SCALAR_FIELD(resulttype);
COPY_SCALAR_FIELD(convertformat);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -458,6 +515,7 @@ _copyCaseExpr(CaseExpr *from)
COPY_NODE_FIELD(arg);
COPY_NODE_FIELD(args);
COPY_NODE_FIELD(defresult);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -472,6 +530,7 @@ _copyCaseWhen(CaseWhen *from)
COPY_NODE_FIELD(expr);
COPY_NODE_FIELD(result);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -502,6 +561,7 @@ _copyArrayExpr(ArrayExpr *from)
COPY_SCALAR_FIELD(element_typeid);
COPY_NODE_FIELD(elements);
COPY_SCALAR_FIELD(multidims);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -517,6 +577,8 @@ _copyRowExpr(RowExpr *from)
COPY_NODE_FIELD(args);
COPY_SCALAR_FIELD(row_typeid);
COPY_SCALAR_FIELD(row_format);
+ COPY_NODE_FIELD(colnames);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -548,6 +610,7 @@ _copyCoalesceExpr(CoalesceExpr *from)
COPY_SCALAR_FIELD(coalescetype);
COPY_NODE_FIELD(args);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -563,6 +626,7 @@ _copyMinMaxExpr(MinMaxExpr *from)
COPY_SCALAR_FIELD(minmaxtype);
COPY_SCALAR_FIELD(op);
COPY_NODE_FIELD(args);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -573,7 +637,7 @@ _copyMinMaxExpr(MinMaxExpr *from)
static XmlExpr *
_copyXmlExpr(XmlExpr *from)
{
- XmlExpr *newnode = makeNode(XmlExpr);
+ XmlExpr *newnode = makeNode(XmlExpr);
COPY_SCALAR_FIELD(op);
COPY_STRING_FIELD(name);
@@ -583,6 +647,7 @@ _copyXmlExpr(XmlExpr *from)
COPY_SCALAR_FIELD(xmloption);
COPY_SCALAR_FIELD(type);
COPY_SCALAR_FIELD(typmod);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -600,6 +665,7 @@ _copyNullIfExpr(NullIfExpr *from)
COPY_SCALAR_FIELD(opresulttype);
COPY_SCALAR_FIELD(opretset);
COPY_NODE_FIELD(args);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -644,6 +710,7 @@ _copyCoerceToDomain(CoerceToDomain *from)
COPY_SCALAR_FIELD(resulttype);
COPY_SCALAR_FIELD(resulttypmod);
COPY_SCALAR_FIELD(coercionformat);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -658,6 +725,7 @@ _copyCoerceToDomainValue(CoerceToDomainValue *from)
COPY_SCALAR_FIELD(typeId);
COPY_SCALAR_FIELD(typeMod);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -672,6 +740,7 @@ _copySetToDefault(SetToDefault *from)
COPY_SCALAR_FIELD(typeId);
COPY_SCALAR_FIELD(typeMod);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -757,6 +826,7 @@ _copyFromExpr(FromExpr *from)
return newnode;
}
+
/* ****************************************************************
* parsenodes.h copy functions
* ****************************************************************
@@ -770,18 +840,25 @@ _copyRangeTblEntry(RangeTblEntry *from)
COPY_SCALAR_FIELD(rtekind);
COPY_SCALAR_FIELD(relid);
COPY_NODE_FIELD(subquery);
+ COPY_SCALAR_FIELD(jointype);
+ COPY_NODE_FIELD(joinaliasvars);
COPY_NODE_FIELD(funcexpr);
COPY_NODE_FIELD(funccoltypes);
COPY_NODE_FIELD(funccoltypmods);
COPY_NODE_FIELD(values_lists);
- COPY_SCALAR_FIELD(jointype);
- COPY_NODE_FIELD(joinaliasvars);
+ COPY_STRING_FIELD(ctename);
+ COPY_SCALAR_FIELD(ctelevelsup);
+ COPY_SCALAR_FIELD(self_reference);
+ COPY_NODE_FIELD(ctecoltypes);
+ COPY_NODE_FIELD(ctecoltypmods);
COPY_NODE_FIELD(alias);
COPY_NODE_FIELD(eref);
COPY_SCALAR_FIELD(inh);
COPY_SCALAR_FIELD(inFromCl);
COPY_SCALAR_FIELD(requiredPerms);
COPY_SCALAR_FIELD(checkAsUser);
+ COPY_BITMAPSET_FIELD(selectedCols);
+ COPY_BITMAPSET_FIELD(modifiedCols);
return newnode;
}
@@ -805,26 +882,31 @@ _copyFkConstraint(FkConstraint *from)
return newnode;
}
-static SortClause *
-_copySortClause(SortClause *from)
+static SortGroupClause *
+_copySortGroupClause(SortGroupClause *from)
{
- SortClause *newnode = makeNode(SortClause);
+ SortGroupClause *newnode = makeNode(SortGroupClause);
COPY_SCALAR_FIELD(tleSortGroupRef);
+ COPY_SCALAR_FIELD(eqop);
COPY_SCALAR_FIELD(sortop);
COPY_SCALAR_FIELD(nulls_first);
return newnode;
}
-static GroupClause *
-_copyGroupClause(GroupClause *from)
+static WindowClause *
+_copyWindowClause(WindowClause *from)
{
- GroupClause *newnode = makeNode(GroupClause);
+ WindowClause *newnode = makeNode(WindowClause);
- COPY_SCALAR_FIELD(tleSortGroupRef);
- COPY_SCALAR_FIELD(sortop);
- COPY_SCALAR_FIELD(nulls_first);
+ COPY_STRING_FIELD(name);
+ COPY_STRING_FIELD(refname);
+ COPY_NODE_FIELD(partitionClause);
+ COPY_NODE_FIELD(orderClause);
+ COPY_SCALAR_FIELD(frameOptions);
+ COPY_SCALAR_FIELD(winref);
+ COPY_SCALAR_FIELD(copiedOrder);
return newnode;
}
@@ -835,8 +917,40 @@ _copyRowMarkClause(RowMarkClause *from)
RowMarkClause *newnode = makeNode(RowMarkClause);
COPY_SCALAR_FIELD(rti);
+ COPY_SCALAR_FIELD(prti);
COPY_SCALAR_FIELD(forUpdate);
COPY_SCALAR_FIELD(noWait);
+ COPY_SCALAR_FIELD(isParent);
+
+ return newnode;
+}
+
+static WithClause *
+_copyWithClause(WithClause *from)
+{
+ WithClause *newnode = makeNode(WithClause);
+
+ COPY_NODE_FIELD(ctes);
+ COPY_SCALAR_FIELD(recursive);
+ COPY_LOCATION_FIELD(location);
+
+ return newnode;
+}
+
+static CommonTableExpr *
+_copyCommonTableExpr(CommonTableExpr *from)
+{
+ CommonTableExpr *newnode = makeNode(CommonTableExpr);
+
+ COPY_STRING_FIELD(ctename);
+ COPY_NODE_FIELD(aliascolnames);
+ COPY_NODE_FIELD(ctequery);
+ COPY_LOCATION_FIELD(location);
+ COPY_SCALAR_FIELD(cterecursive);
+ COPY_SCALAR_FIELD(cterefcount);
+ COPY_NODE_FIELD(ctecolnames);
+ COPY_NODE_FIELD(ctecoltypes);
+ COPY_NODE_FIELD(ctecoltypmods);
return newnode;
}
@@ -850,7 +964,7 @@ _copyAExpr(A_Expr *from)
COPY_NODE_FIELD(name);
COPY_NODE_FIELD(lexpr);
COPY_NODE_FIELD(rexpr);
- COPY_SCALAR_FIELD(location);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -861,7 +975,7 @@ _copyColumnRef(ColumnRef *from)
ColumnRef *newnode = makeNode(ColumnRef);
COPY_NODE_FIELD(fields);
- COPY_SCALAR_FIELD(location);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -872,6 +986,7 @@ _copyParamRef(ParamRef *from)
ParamRef *newnode = makeNode(ParamRef);
COPY_SCALAR_FIELD(number);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -902,7 +1017,7 @@ _copyAConst(A_Const *from)
break;
}
- COPY_NODE_FIELD(typename);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -916,7 +1031,17 @@ _copyFuncCall(FuncCall *from)
COPY_NODE_FIELD(args);
COPY_SCALAR_FIELD(agg_star);
COPY_SCALAR_FIELD(agg_distinct);
- COPY_SCALAR_FIELD(location);
+ COPY_SCALAR_FIELD(func_variadic);
+ COPY_NODE_FIELD(over);
+ COPY_LOCATION_FIELD(location);
+
+ return newnode;
+}
+
+static A_Star *
+_copyAStar(A_Star *from)
+{
+ A_Star *newnode = makeNode(A_Star);
return newnode;
}
@@ -943,6 +1068,17 @@ _copyA_Indirection(A_Indirection *from)
return newnode;
}
+static A_ArrayExpr *
+_copyA_ArrayExpr(A_ArrayExpr *from)
+{
+ A_ArrayExpr *newnode = makeNode(A_ArrayExpr);
+
+ COPY_NODE_FIELD(elements);
+ COPY_LOCATION_FIELD(location);
+
+ return newnode;
+}
+
static ResTarget *
_copyResTarget(ResTarget *from)
{
@@ -951,7 +1087,7 @@ _copyResTarget(ResTarget *from)
COPY_STRING_FIELD(name);
COPY_NODE_FIELD(indirection);
COPY_NODE_FIELD(val);
- COPY_SCALAR_FIELD(location);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -963,13 +1099,12 @@ _copyTypeName(TypeName *from)
COPY_NODE_FIELD(names);
COPY_SCALAR_FIELD(typeid);
- COPY_SCALAR_FIELD(timezone);
COPY_SCALAR_FIELD(setof);
COPY_SCALAR_FIELD(pct_type);
COPY_NODE_FIELD(typmods);
COPY_SCALAR_FIELD(typemod);
COPY_NODE_FIELD(arrayBounds);
- COPY_SCALAR_FIELD(location);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -979,10 +1114,26 @@ _copySortBy(SortBy *from)
{
SortBy *newnode = makeNode(SortBy);
+ COPY_NODE_FIELD(node);
COPY_SCALAR_FIELD(sortby_dir);
COPY_SCALAR_FIELD(sortby_nulls);
COPY_NODE_FIELD(useOp);
- COPY_NODE_FIELD(node);
+ COPY_LOCATION_FIELD(location);
+
+ return newnode;
+}
+
+static WindowDef *
+_copyWindowDef(WindowDef *from)
+{
+ WindowDef *newnode = makeNode(WindowDef);
+
+ COPY_STRING_FIELD(name);
+ COPY_STRING_FIELD(refname);
+ COPY_NODE_FIELD(partitionClause);
+ COPY_NODE_FIELD(orderClause);
+ COPY_SCALAR_FIELD(frameOptions);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -1017,6 +1168,7 @@ _copyTypeCast(TypeCast *from)
COPY_NODE_FIELD(arg);
COPY_NODE_FIELD(typename);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -1073,8 +1225,10 @@ _copyDefElem(DefElem *from)
{
DefElem *newnode = makeNode(DefElem);
+ COPY_STRING_FIELD(defnamespace);
COPY_STRING_FIELD(defname);
COPY_NODE_FIELD(arg);
+ COPY_SCALAR_FIELD(defaction);
return newnode;
}
@@ -1099,6 +1253,7 @@ _copyXmlSerialize(XmlSerialize *from)
COPY_SCALAR_FIELD(xmloption);
COPY_NODE_FIELD(expr);
COPY_NODE_FIELD(typename);
+ COPY_LOCATION_FIELD(location);
return newnode;
}
@@ -1115,13 +1270,18 @@ _copyQuery(Query *from)
COPY_SCALAR_FIELD(resultRelation);
COPY_NODE_FIELD(intoClause);
COPY_SCALAR_FIELD(hasAggs);
+ COPY_SCALAR_FIELD(hasWindowFuncs);
COPY_SCALAR_FIELD(hasSubLinks);
+ COPY_SCALAR_FIELD(hasDistinctOn);
+ COPY_SCALAR_FIELD(hasRecursive);
+ COPY_NODE_FIELD(cteList);
COPY_NODE_FIELD(rtable);
COPY_NODE_FIELD(jointree);
COPY_NODE_FIELD(targetList);
COPY_NODE_FIELD(returningList);
COPY_NODE_FIELD(groupClause);
COPY_NODE_FIELD(havingQual);
+ COPY_NODE_FIELD(windowClause);
COPY_NODE_FIELD(distinctClause);
COPY_NODE_FIELD(sortClause);
COPY_NODE_FIELD(limitOffset);
@@ -1184,6 +1344,8 @@ _copySelectStmt(SelectStmt *from)
COPY_NODE_FIELD(whereClause);
COPY_NODE_FIELD(groupClause);
COPY_NODE_FIELD(havingClause);
+ COPY_NODE_FIELD(windowClause);
+ COPY_NODE_FIELD(withClause);
COPY_NODE_FIELD(valuesLists);
COPY_NODE_FIELD(sortClause);
COPY_NODE_FIELD(limitOffset);
@@ -1208,6 +1370,7 @@ _copySetOperationStmt(SetOperationStmt *from)
COPY_NODE_FIELD(rarg);
COPY_NODE_FIELD(colTypes);
COPY_NODE_FIELD(colTypmods);
+ COPY_NODE_FIELD(groupClauses);
return newnode;
}
@@ -1289,6 +1452,17 @@ _copyFuncWithArgs(FuncWithArgs *from)
return newnode;
}
+static AccessPriv *
+_copyAccessPriv(AccessPriv *from)
+{
+ AccessPriv *newnode = makeNode(AccessPriv);
+
+ COPY_STRING_FIELD(priv_name);
+ COPY_NODE_FIELD(cols);
+
+ return newnode;
+}
+
static GrantRoleStmt *
_copyGrantRoleStmt(GrantRoleStmt *from)
{
@@ -1333,6 +1507,7 @@ _copyClusterStmt(ClusterStmt *from)
COPY_NODE_FIELD(relation);
COPY_STRING_FIELD(indexname);
+ COPY_SCALAR_FIELD(verbose);
return newnode;
}
@@ -1412,6 +1587,7 @@ _copyTruncateStmt(TruncateStmt *from)
TruncateStmt *newnode = makeNode(TruncateStmt);
COPY_NODE_FIELD(relations);
+ COPY_SCALAR_FIELD(restart_seqs);
COPY_SCALAR_FIELD(behavior);
return newnode;
@@ -1454,7 +1630,6 @@ _copyIndexStmt(IndexStmt *from)
COPY_STRING_FIELD(tableSpace);
COPY_NODE_FIELD(indexParams);
COPY_NODE_FIELD(options);
- COPY_STRING_FIELD(src_options);
COPY_NODE_FIELD(whereClause);
COPY_SCALAR_FIELD(unique);
COPY_SCALAR_FIELD(primary);
@@ -1487,6 +1662,7 @@ _copyFunctionParameter(FunctionParameter *from)
COPY_STRING_FIELD(name);
COPY_NODE_FIELD(argType);
COPY_SCALAR_FIELD(mode);
+ COPY_NODE_FIELD(defexpr);
return newnode;
}
@@ -1608,7 +1784,7 @@ _copyNotifyStmt(NotifyStmt *from)
{
NotifyStmt *newnode = makeNode(NotifyStmt);
- COPY_NODE_FIELD(relation);
+ COPY_STRING_FIELD(conditionname);
return newnode;
}
@@ -1618,7 +1794,7 @@ _copyListenStmt(ListenStmt *from)
{
ListenStmt *newnode = makeNode(ListenStmt);
- COPY_NODE_FIELD(relation);
+ COPY_STRING_FIELD(conditionname);
return newnode;
}
@@ -1628,7 +1804,7 @@ _copyUnlistenStmt(UnlistenStmt *from)
{
UnlistenStmt *newnode = makeNode(UnlistenStmt);
- COPY_NODE_FIELD(relation);
+ COPY_STRING_FIELD(conditionname);
return newnode;
}
@@ -1726,7 +1902,6 @@ _copyCreateOpClassItem(CreateOpClassItem *from)
COPY_NODE_FIELD(name);
COPY_NODE_FIELD(args);
COPY_SCALAR_FIELD(number);
- COPY_SCALAR_FIELD(recheck);
COPY_NODE_FIELD(class_args);
COPY_NODE_FIELD(storedtype);
@@ -1811,6 +1986,7 @@ _copyVacuumStmt(VacuumStmt *from)
COPY_SCALAR_FIELD(analyze);
COPY_SCALAR_FIELD(verbose);
COPY_SCALAR_FIELD(freeze_min_age);
+ COPY_SCALAR_FIELD(freeze_table_age);
COPY_NODE_FIELD(relation);
COPY_NODE_FIELD(va_cols);
@@ -1907,6 +2083,118 @@ _copyDropTableSpaceStmt(DropTableSpaceStmt *from)
return newnode;
}
+static CreateFdwStmt *
+_copyCreateFdwStmt(CreateFdwStmt *from)
+{
+ CreateFdwStmt *newnode = makeNode(CreateFdwStmt);
+
+ COPY_STRING_FIELD(fdwname);
+ COPY_NODE_FIELD(validator);
+ COPY_NODE_FIELD(options);
+
+ return newnode;
+}
+
+static AlterFdwStmt *
+_copyAlterFdwStmt(AlterFdwStmt *from)
+{
+ AlterFdwStmt *newnode = makeNode(AlterFdwStmt);
+
+ COPY_STRING_FIELD(fdwname);
+ COPY_NODE_FIELD(validator);
+ COPY_SCALAR_FIELD(change_validator);
+ COPY_NODE_FIELD(options);
+
+ return newnode;
+}
+
+static DropFdwStmt *
+_copyDropFdwStmt(DropFdwStmt *from)
+{
+ DropFdwStmt *newnode = makeNode(DropFdwStmt);
+
+ COPY_STRING_FIELD(fdwname);
+ COPY_SCALAR_FIELD(missing_ok);
+ COPY_SCALAR_FIELD(behavior);
+
+ return newnode;
+}
+
+static CreateForeignServerStmt *
+_copyCreateForeignServerStmt(CreateForeignServerStmt *from)
+{
+ CreateForeignServerStmt *newnode = makeNode(CreateForeignServerStmt);
+
+ COPY_STRING_FIELD(servername);
+ COPY_STRING_FIELD(servertype);
+ COPY_STRING_FIELD(version);
+ COPY_STRING_FIELD(fdwname);
+ COPY_NODE_FIELD(options);
+
+ return newnode;
+}
+
+static AlterForeignServerStmt *
+_copyAlterForeignServerStmt(AlterForeignServerStmt *from)
+{
+ AlterForeignServerStmt *newnode = makeNode(AlterForeignServerStmt);
+
+ COPY_STRING_FIELD(servername);
+ COPY_STRING_FIELD(version);
+ COPY_NODE_FIELD(options);
+ COPY_SCALAR_FIELD(has_version);
+
+ return newnode;
+}
+
+static DropForeignServerStmt *
+_copyDropForeignServerStmt(DropForeignServerStmt *from)
+{
+ DropForeignServerStmt *newnode = makeNode(DropForeignServerStmt);
+
+ COPY_STRING_FIELD(servername);
+ COPY_SCALAR_FIELD(missing_ok);
+ COPY_SCALAR_FIELD(behavior);
+
+ return newnode;
+}
+
+static CreateUserMappingStmt *
+_copyCreateUserMappingStmt(CreateUserMappingStmt *from)
+{
+ CreateUserMappingStmt *newnode = makeNode(CreateUserMappingStmt);
+
+ COPY_STRING_FIELD(username);
+ COPY_STRING_FIELD(servername);
+ COPY_NODE_FIELD(options);
+
+ return newnode;
+}
+
+static AlterUserMappingStmt *
+_copyAlterUserMappingStmt(AlterUserMappingStmt *from)
+{
+ AlterUserMappingStmt *newnode = makeNode(AlterUserMappingStmt);
+
+ COPY_STRING_FIELD(username);
+ COPY_STRING_FIELD(servername);
+ COPY_NODE_FIELD(options);
+
+ return newnode;
+}
+
+static DropUserMappingStmt *
+_copyDropUserMappingStmt(DropUserMappingStmt *from)
+{
+ DropUserMappingStmt *newnode = makeNode(DropUserMappingStmt);
+
+ COPY_STRING_FIELD(username);
+ COPY_STRING_FIELD(servername);
+ COPY_SCALAR_FIELD(missing_ok);
+
+ return newnode;
+}
+
static CreateTrigStmt *
_copyCreateTrigStmt(CreateTrigStmt *from)
{
@@ -1918,7 +2206,7 @@ _copyCreateTrigStmt(CreateTrigStmt *from)
COPY_NODE_FIELD(args);
COPY_SCALAR_FIELD(before);
COPY_SCALAR_FIELD(row);
- strcpy(newnode->actions, from->actions); /* in-line string field */
+ COPY_SCALAR_FIELD(events);
COPY_SCALAR_FIELD(isconstraint);
COPY_SCALAR_FIELD(deferrable);
COPY_SCALAR_FIELD(initdeferred);
@@ -2084,6 +2372,7 @@ _copyCreateCastStmt(CreateCastStmt *from)
COPY_NODE_FIELD(targettype);
COPY_NODE_FIELD(func);
COPY_SCALAR_FIELD(context);
+ COPY_SCALAR_FIELD(inout);
return newnode;
}
@@ -2157,6 +2446,32 @@ _copyReassignOwnedStmt(ReassignOwnedStmt *from)
return newnode;
}
+static AlterTSDictionaryStmt *
+_copyAlterTSDictionaryStmt(AlterTSDictionaryStmt *from)
+{
+ AlterTSDictionaryStmt *newnode = makeNode(AlterTSDictionaryStmt);
+
+ COPY_NODE_FIELD(dictname);
+ COPY_NODE_FIELD(options);
+
+ return newnode;
+}
+
+static AlterTSConfigurationStmt *
+_copyAlterTSConfigurationStmt(AlterTSConfigurationStmt *from)
+{
+ AlterTSConfigurationStmt *newnode = makeNode(AlterTSConfigurationStmt);
+
+ COPY_NODE_FIELD(cfgname);
+ COPY_NODE_FIELD(tokentype);
+ COPY_NODE_FIELD(dicts);
+ COPY_SCALAR_FIELD(override);
+ COPY_SCALAR_FIELD(replace);
+ COPY_SCALAR_FIELD(missing_ok);
+
+ return newnode;
+}
+
/* ****************************************************************
* pg_list.h copy functions
* ****************************************************************
@@ -2178,6 +2493,8 @@ _copyList(List *from)
ListCell *curr_old;
ListCell *prev_new;
+ Assert(list_length(from) >= 1);
+
new = makeNode(List);
new->length = from->length;
@@ -2267,6 +2584,9 @@ copyObject(void *from)
case T_Aggref:
retval = _copyAggref(from);
break;
+ case T_WindowFunc:
+ retval = _copyWindowFunc(from);
+ break;
case T_ArrayRef:
retval = _copyArrayRef(from);
break;
@@ -2291,6 +2611,9 @@ copyObject(void *from)
case T_SubPlan:
retval = _copySubPlan(from);
break;
+ case T_AlternativeSubPlan:
+ retval = _copyAlternativeSubPlan(from);
+ break;
case T_FieldSelect:
retval = _copyFieldSelect(from);
break;
@@ -2577,6 +2900,33 @@ copyObject(void *from)
case T_DropTableSpaceStmt:
retval = _copyDropTableSpaceStmt(from);
break;
+ case T_CreateFdwStmt:
+ retval = _copyCreateFdwStmt(from);
+ break;
+ case T_AlterFdwStmt:
+ retval = _copyAlterFdwStmt(from);
+ break;
+ case T_DropFdwStmt:
+ retval = _copyDropFdwStmt(from);
+ break;
+ case T_CreateForeignServerStmt:
+ retval = _copyCreateForeignServerStmt(from);
+ break;
+ case T_AlterForeignServerStmt:
+ retval = _copyAlterForeignServerStmt(from);
+ break;
+ case T_DropForeignServerStmt:
+ retval = _copyDropForeignServerStmt(from);
+ break;
+ case T_CreateUserMappingStmt:
+ retval = _copyCreateUserMappingStmt(from);
+ break;
+ case T_AlterUserMappingStmt:
+ retval = _copyAlterUserMappingStmt(from);
+ break;
+ case T_DropUserMappingStmt:
+ retval = _copyDropUserMappingStmt(from);
+ break;
case T_CreateTrigStmt:
retval = _copyCreateTrigStmt(from);
break;
@@ -2640,6 +2990,12 @@ copyObject(void *from)
case T_ReassignOwnedStmt:
retval = _copyReassignOwnedStmt(from);
break;
+ case T_AlterTSDictionaryStmt:
+ retval = _copyAlterTSDictionaryStmt(from);
+ break;
+ case T_AlterTSConfigurationStmt:
+ retval = _copyAlterTSConfigurationStmt(from);
+ break;
case T_A_Expr:
retval = _copyAExpr(from);
@@ -2656,12 +3012,18 @@ copyObject(void *from)
case T_FuncCall:
retval = _copyFuncCall(from);
break;
+ case T_A_Star:
+ retval = _copyAStar(from);
+ break;
case T_A_Indices:
retval = _copyAIndices(from);
break;
case T_A_Indirection:
retval = _copyA_Indirection(from);
break;
+ case T_A_ArrayExpr:
+ retval = _copyA_ArrayExpr(from);
+ break;
case T_ResTarget:
retval = _copyResTarget(from);
break;
@@ -2671,6 +3033,9 @@ copyObject(void *from)
case T_SortBy:
retval = _copySortBy(from);
break;
+ case T_WindowDef:
+ retval = _copyWindowDef(from);
+ break;
case T_RangeSubselect:
retval = _copyRangeSubselect(from);
break;
@@ -2698,15 +3063,21 @@ copyObject(void *from)
case T_RangeTblEntry:
retval = _copyRangeTblEntry(from);
break;
- case T_SortClause:
- retval = _copySortClause(from);
+ case T_SortGroupClause:
+ retval = _copySortGroupClause(from);
break;
- case T_GroupClause:
- retval = _copyGroupClause(from);
+ case T_WindowClause:
+ retval = _copyWindowClause(from);
break;
case T_RowMarkClause:
retval = _copyRowMarkClause(from);
break;
+ case T_WithClause:
+ retval = _copyWithClause(from);
+ break;
+ case T_CommonTableExpr:
+ retval = _copyCommonTableExpr(from);
+ break;
case T_FkConstraint:
retval = _copyFkConstraint(from);
break;
@@ -2716,6 +3087,9 @@ copyObject(void *from)
case T_FuncWithArgs:
retval = _copyFuncWithArgs(from);
break;
+ case T_AccessPriv:
+ retval = _copyAccessPriv(from);
+ break;
case T_XmlSerialize:
retval = _copyXmlSerialize(from);
break;
@@ -2728,3 +3102,25 @@ copyObject(void *from)
return retval;
}
+
+/* from backend/nodes/bitmapset.c start */
+#define BITMAPSET_SIZE(nwords) \
+ (offsetof(Bitmapset, words) + (nwords) * sizeof(bitmapword))
+
+/*
+ * bms_copy - make a palloc'd copy of a bitmapset
+ */
+Bitmapset *
+bms_copy(const Bitmapset *a)
+{
+ Bitmapset *result;
+ size_t size;
+
+ if (a == NULL)
+ return NULL;
+ size = BITMAPSET_SIZE(a->nwords);
+ result = (Bitmapset *) palloc(size);
+ memcpy(result, a, size);
+ return result;
+}
+/* from backend/nodes/bitmapset.c end */
diff --git a/parser/gram.c b/parser/gram.c
index a3e68692d..653a309e9 100644
--- a/parser/gram.c
+++ b/parser/gram.c
@@ -104,354 +104,372 @@
CASCADED = 295,
CASE = 296,
CAST = 297,
- CHAIN = 298,
- CHAR_P = 299,
- CHARACTER = 300,
- CHARACTERISTICS = 301,
- CHECK = 302,
- CHECKPOINT = 303,
- CLASS = 304,
- CLOSE = 305,
- CLUSTER = 306,
- COALESCE = 307,
- COLLATE = 308,
- COLUMN = 309,
- COMMENT = 310,
- COMMIT = 311,
- COMMITTED = 312,
- CONCURRENTLY = 313,
- CONFIGURATION = 314,
- CONNECTION = 315,
- CONSTRAINT = 316,
- CONSTRAINTS = 317,
- CONTENT_P = 318,
- CONVERSION_P = 319,
- COPY = 320,
- COST = 321,
- CREATE = 322,
- CREATEDB = 323,
- CREATEROLE = 324,
- CREATEUSER = 325,
- CROSS = 326,
- CSV = 327,
- CURRENT_P = 328,
- CURRENT_DATE = 329,
- CURRENT_ROLE = 330,
- CURRENT_TIME = 331,
- CURRENT_TIMESTAMP = 332,
- CURRENT_USER = 333,
- CURSOR = 334,
- CYCLE = 335,
- DATABASE = 336,
- DAY_P = 337,
- DEALLOCATE = 338,
- DEC = 339,
- DECIMAL_P = 340,
- DECLARE = 341,
- DEFAULT = 342,
- DEFAULTS = 343,
- DEFERRABLE = 344,
- DEFERRED = 345,
- DEFINER = 346,
- DELETE_P = 347,
- DELIMITER = 348,
- DELIMITERS = 349,
- DESC = 350,
- DICTIONARY = 351,
- DISABLE_P = 352,
- DISCARD = 353,
- DISTINCT = 354,
- DO = 355,
- DOCUMENT_P = 356,
- DOMAIN_P = 357,
- DOUBLE_P = 358,
- DROP = 359,
- EACH = 360,
- ELSE = 361,
- ENABLE_P = 362,
- ENCODING = 363,
- ENCRYPTED = 364,
- END_P = 365,
- ENUM_P = 366,
- ESCAPE = 367,
- EXCEPT = 368,
- EXCLUDING = 369,
- EXCLUSIVE = 370,
- EXECUTE = 371,
- EXISTS = 372,
- EXPLAIN = 373,
- EXTERNAL = 374,
- EXTRACT = 375,
- FALSE_P = 376,
- FAMILY = 377,
- FETCH = 378,
- FIRST_P = 379,
- FLOAT_P = 380,
- FOR = 381,
- FORCE = 382,
- FOREIGN = 383,
- FORWARD = 384,
- FREEZE = 385,
- FROM = 386,
- FULL = 387,
- FUNCTION = 388,
- GLOBAL = 389,
- GRANT = 390,
- GRANTED = 391,
- GREATEST = 392,
- GROUP_P = 393,
- HANDLER = 394,
- HAVING = 395,
- HEADER_P = 396,
- HOLD = 397,
- HOUR_P = 398,
- IF_P = 399,
- ILIKE = 400,
- IMMEDIATE = 401,
- IMMUTABLE = 402,
- IMPLICIT_P = 403,
- IN_P = 404,
- INCLUDING = 405,
- INCREMENT = 406,
- INDEX = 407,
- INDEXES = 408,
- INHERIT = 409,
- INHERITS = 410,
- INITIALLY = 411,
- INNER_P = 412,
- INOUT = 413,
- INPUT_P = 414,
- INSENSITIVE = 415,
- INSERT = 416,
- INSTEAD = 417,
- INT_P = 418,
- INTEGER = 419,
- INTERSECT = 420,
- INTERVAL = 421,
- INTO = 422,
- INVOKER = 423,
- IS = 424,
- ISNULL = 425,
- ISOLATION = 426,
- JOIN = 427,
- KEY = 428,
- LANCOMPILER = 429,
- LANGUAGE = 430,
- LARGE_P = 431,
- LAST_P = 432,
- LEADING = 433,
- LEAST = 434,
- LEFT = 435,
- LEVEL = 436,
- LIKE = 437,
- LIMIT = 438,
- LISTEN = 439,
- LOAD = 440,
- LOCAL = 441,
- LOCALTIME = 442,
- LOCALTIMESTAMP = 443,
- LOCATION = 444,
- LOCK_P = 445,
- LOGIN_P = 446,
- MAPPING = 447,
- MATCH = 448,
- MAXVALUE = 449,
- MINUTE_P = 450,
- MINVALUE = 451,
- MODE = 452,
- MONTH_P = 453,
- MOVE = 454,
- NAME_P = 455,
- NAMES = 456,
- NATIONAL = 457,
- NATURAL = 458,
- NCHAR = 459,
- NEW = 460,
- NEXT = 461,
- NO = 462,
- NOCREATEDB = 463,
- NOCREATEROLE = 464,
- NOCREATEUSER = 465,
- NOINHERIT = 466,
- NOLOGIN_P = 467,
- NONE = 468,
- NOSUPERUSER = 469,
- NOT = 470,
- NOTHING = 471,
- NOTIFY = 472,
- NOTNULL = 473,
- NOWAIT = 474,
- NULL_P = 475,
- NULLIF = 476,
- NULLS_P = 477,
- NUMERIC = 478,
- OBJECT_P = 479,
- OF = 480,
- OFF = 481,
- OFFSET = 482,
- OIDS = 483,
- OLD = 484,
- ON = 485,
- ONLY = 486,
- OPERATOR = 487,
- OPTION = 488,
- OR = 489,
- ORDER = 490,
- OUT_P = 491,
- OUTER_P = 492,
- OVERLAPS = 493,
- OVERLAY = 494,
- OWNED = 495,
- OWNER = 496,
- PARSER = 497,
- PARTIAL = 498,
- PASSWORD = 499,
- PLACING = 500,
- PLANS = 501,
- POSITION = 502,
- PRECISION = 503,
- PRESERVE = 504,
- PREPARE = 505,
- PREPARED = 506,
- PRIMARY = 507,
- PRIOR = 508,
- PRIVILEGES = 509,
- PROCEDURAL = 510,
- PROCEDURE = 511,
- QUOTE = 512,
- READ = 513,
- REAL = 514,
- REASSIGN = 515,
- RECHECK = 516,
- REFERENCES = 517,
- REINDEX = 518,
- RELATIVE_P = 519,
- RELEASE = 520,
- RENAME = 521,
- REPEATABLE = 522,
- REPLACE = 523,
- REPLICA = 524,
- RESET = 525,
- RESTART = 526,
- RESTRICT = 527,
- RETURNING = 528,
- RETURNS = 529,
- REVOKE = 530,
- RIGHT = 531,
- ROLE = 532,
- ROLLBACK = 533,
- ROW = 534,
- ROWS = 535,
- RULE = 536,
- SAVEPOINT = 537,
- SCHEMA = 538,
- SCROLL = 539,
- SEARCH = 540,
- SECOND_P = 541,
- SECURITY = 542,
- SELECT = 543,
- SEQUENCE = 544,
- SERIALIZABLE = 545,
- SESSION = 546,
- SESSION_USER = 547,
- SET = 548,
- SETOF = 549,
- SHARE = 550,
- SHOW = 551,
- SIMILAR = 552,
- SIMPLE = 553,
- SMALLINT = 554,
- SOME = 555,
- STABLE = 556,
- STANDALONE_P = 557,
- START = 558,
- STATEMENT = 559,
- STATISTICS = 560,
- STDIN = 561,
- STDOUT = 562,
- STORAGE = 563,
- STRICT_P = 564,
- STRIP_P = 565,
- SUBSTRING = 566,
- SUPERUSER_P = 567,
- SYMMETRIC = 568,
- SYSID = 569,
- SYSTEM_P = 570,
- TABLE = 571,
- TABLESPACE = 572,
- TEMP = 573,
- TEMPLATE = 574,
- TEMPORARY = 575,
- TEXT_P = 576,
- THEN = 577,
- TIME = 578,
- TIMESTAMP = 579,
- TO = 580,
- TRAILING = 581,
- TRANSACTION = 582,
- TREAT = 583,
- TRIGGER = 584,
- TRIM = 585,
- TRUE_P = 586,
- TRUNCATE = 587,
- TRUSTED = 588,
- TYPE_P = 589,
- UNCOMMITTED = 590,
- UNENCRYPTED = 591,
- UNION = 592,
- UNIQUE = 593,
- UNKNOWN = 594,
- UNLISTEN = 595,
- UNTIL = 596,
- UPDATE = 597,
- USER = 598,
- USING = 599,
- VACUUM = 600,
- VALID = 601,
- VALIDATOR = 602,
- VALUE_P = 603,
- VALUES = 604,
- VARCHAR = 605,
- VARYING = 606,
- VERBOSE = 607,
- VERSION_P = 608,
- VIEW = 609,
- VOLATILE = 610,
- WHEN = 611,
- WHERE = 612,
- WHITESPACE_P = 613,
- WITH = 614,
- WITHOUT = 615,
- WORK = 616,
- WRITE = 617,
- XML_P = 618,
- XMLATTRIBUTES = 619,
- XMLCONCAT = 620,
- XMLELEMENT = 621,
- XMLFOREST = 622,
- XMLPARSE = 623,
- XMLPI = 624,
- XMLROOT = 625,
- XMLSERIALIZE = 626,
- YEAR_P = 627,
- YES_P = 628,
- ZONE = 629,
- NULLS_FIRST = 630,
- NULLS_LAST = 631,
- WITH_CASCADED = 632,
- WITH_LOCAL = 633,
- WITH_CHECK = 634,
- IDENT = 635,
- FCONST = 636,
- SCONST = 637,
- BCONST = 638,
- XCONST = 639,
- Op = 640,
- ICONST = 641,
- PARAM = 642,
- POSTFIXOP = 643,
- UMINUS = 644,
- TYPECAST = 645
+ CATALOG_P = 298,
+ CHAIN = 299,
+ CHAR_P = 300,
+ CHARACTER = 301,
+ CHARACTERISTICS = 302,
+ CHECK = 303,
+ CHECKPOINT = 304,
+ CLASS = 305,
+ CLOSE = 306,
+ CLUSTER = 307,
+ COALESCE = 308,
+ COLLATE = 309,
+ COLUMN = 310,
+ COMMENT = 311,
+ COMMIT = 312,
+ COMMITTED = 313,
+ CONCURRENTLY = 314,
+ CONFIGURATION = 315,
+ CONNECTION = 316,
+ CONSTRAINT = 317,
+ CONSTRAINTS = 318,
+ CONTENT_P = 319,
+ CONTINUE_P = 320,
+ CONVERSION_P = 321,
+ COPY = 322,
+ COST = 323,
+ CREATE = 324,
+ CREATEDB = 325,
+ CREATEROLE = 326,
+ CREATEUSER = 327,
+ CROSS = 328,
+ CSV = 329,
+ CURRENT_P = 330,
+ CURRENT_CATALOG = 331,
+ CURRENT_DATE = 332,
+ CURRENT_ROLE = 333,
+ CURRENT_SCHEMA = 334,
+ CURRENT_TIME = 335,
+ CURRENT_TIMESTAMP = 336,
+ CURRENT_USER = 337,
+ CURSOR = 338,
+ CYCLE = 339,
+ DATA_P = 340,
+ DATABASE = 341,
+ DAY_P = 342,
+ DEALLOCATE = 343,
+ DEC = 344,
+ DECIMAL_P = 345,
+ DECLARE = 346,
+ DEFAULT = 347,
+ DEFAULTS = 348,
+ DEFERRABLE = 349,
+ DEFERRED = 350,
+ DEFINER = 351,
+ DELETE_P = 352,
+ DELIMITER = 353,
+ DELIMITERS = 354,
+ DESC = 355,
+ DICTIONARY = 356,
+ DISABLE_P = 357,
+ DISCARD = 358,
+ DISTINCT = 359,
+ DO = 360,
+ DOCUMENT_P = 361,
+ DOMAIN_P = 362,
+ DOUBLE_P = 363,
+ DROP = 364,
+ EACH = 365,
+ ELSE = 366,
+ ENABLE_P = 367,
+ ENCODING = 368,
+ ENCRYPTED = 369,
+ END_P = 370,
+ ENUM_P = 371,
+ ESCAPE = 372,
+ EXCEPT = 373,
+ EXCLUDING = 374,
+ EXCLUSIVE = 375,
+ EXECUTE = 376,
+ EXISTS = 377,
+ EXPLAIN = 378,
+ EXTERNAL = 379,
+ EXTRACT = 380,
+ FALSE_P = 381,
+ FAMILY = 382,
+ FETCH = 383,
+ FIRST_P = 384,
+ FLOAT_P = 385,
+ FOLLOWING = 386,
+ FOR = 387,
+ FORCE = 388,
+ FOREIGN = 389,
+ FORWARD = 390,
+ FREEZE = 391,
+ FROM = 392,
+ FULL = 393,
+ FUNCTION = 394,
+ GLOBAL = 395,
+ GRANT = 396,
+ GRANTED = 397,
+ GREATEST = 398,
+ GROUP_P = 399,
+ HANDLER = 400,
+ HAVING = 401,
+ HEADER_P = 402,
+ HOLD = 403,
+ HOUR_P = 404,
+ IDENTITY_P = 405,
+ IF_P = 406,
+ ILIKE = 407,
+ IMMEDIATE = 408,
+ IMMUTABLE = 409,
+ IMPLICIT_P = 410,
+ IN_P = 411,
+ INCLUDING = 412,
+ INCREMENT = 413,
+ INDEX = 414,
+ INDEXES = 415,
+ INHERIT = 416,
+ INHERITS = 417,
+ INITIALLY = 418,
+ INNER_P = 419,
+ INOUT = 420,
+ INPUT_P = 421,
+ INSENSITIVE = 422,
+ INSERT = 423,
+ INSTEAD = 424,
+ INT_P = 425,
+ INTEGER = 426,
+ INTERSECT = 427,
+ INTERVAL = 428,
+ INTO = 429,
+ INVOKER = 430,
+ IS = 431,
+ ISNULL = 432,
+ ISOLATION = 433,
+ JOIN = 434,
+ KEY = 435,
+ LANCOMPILER = 436,
+ LANGUAGE = 437,
+ LARGE_P = 438,
+ LAST_P = 439,
+ LC_COLLATE_P = 440,
+ LC_CTYPE_P = 441,
+ LEADING = 442,
+ LEAST = 443,
+ LEFT = 444,
+ LEVEL = 445,
+ LIKE = 446,
+ LIMIT = 447,
+ LISTEN = 448,
+ LOAD = 449,
+ LOCAL = 450,
+ LOCALTIME = 451,
+ LOCALTIMESTAMP = 452,
+ LOCATION = 453,
+ LOCK_P = 454,
+ LOGIN_P = 455,
+ MAPPING = 456,
+ MATCH = 457,
+ MAXVALUE = 458,
+ MINUTE_P = 459,
+ MINVALUE = 460,
+ MODE = 461,
+ MONTH_P = 462,
+ MOVE = 463,
+ NAME_P = 464,
+ NAMES = 465,
+ NATIONAL = 466,
+ NATURAL = 467,
+ NCHAR = 468,
+ NEW = 469,
+ NEXT = 470,
+ NO = 471,
+ NOCREATEDB = 472,
+ NOCREATEROLE = 473,
+ NOCREATEUSER = 474,
+ NOINHERIT = 475,
+ NOLOGIN_P = 476,
+ NONE = 477,
+ NOSUPERUSER = 478,
+ NOT = 479,
+ NOTHING = 480,
+ NOTIFY = 481,
+ NOTNULL = 482,
+ NOWAIT = 483,
+ NULL_P = 484,
+ NULLIF = 485,
+ NULLS_P = 486,
+ NUMERIC = 487,
+ OBJECT_P = 488,
+ OF = 489,
+ OFF = 490,
+ OFFSET = 491,
+ OIDS = 492,
+ OLD = 493,
+ ON = 494,
+ ONLY = 495,
+ OPERATOR = 496,
+ OPTION = 497,
+ OPTIONS = 498,
+ OR = 499,
+ ORDER = 500,
+ OUT_P = 501,
+ OUTER_P = 502,
+ OVER = 503,
+ OVERLAPS = 504,
+ OVERLAY = 505,
+ OWNED = 506,
+ OWNER = 507,
+ PARSER = 508,
+ PARTIAL = 509,
+ PARTITION = 510,
+ PASSWORD = 511,
+ PLACING = 512,
+ PLANS = 513,
+ POSITION = 514,
+ PRECEDING = 515,
+ PRECISION = 516,
+ PRESERVE = 517,
+ PREPARE = 518,
+ PREPARED = 519,
+ PRIMARY = 520,
+ PRIOR = 521,
+ PRIVILEGES = 522,
+ PROCEDURAL = 523,
+ PROCEDURE = 524,
+ QUOTE = 525,
+ RANGE = 526,
+ READ = 527,
+ REAL = 528,
+ REASSIGN = 529,
+ RECHECK = 530,
+ RECURSIVE = 531,
+ REFERENCES = 532,
+ REINDEX = 533,
+ RELATIVE_P = 534,
+ RELEASE = 535,
+ RENAME = 536,
+ REPEATABLE = 537,
+ REPLACE = 538,
+ REPLICA = 539,
+ RESET = 540,
+ RESTART = 541,
+ RESTRICT = 542,
+ RETURNING = 543,
+ RETURNS = 544,
+ REVOKE = 545,
+ RIGHT = 546,
+ ROLE = 547,
+ ROLLBACK = 548,
+ ROW = 549,
+ ROWS = 550,
+ RULE = 551,
+ SAVEPOINT = 552,
+ SCHEMA = 553,
+ SCROLL = 554,
+ SEARCH = 555,
+ SECOND_P = 556,
+ SECURITY = 557,
+ SELECT = 558,
+ SEQUENCE = 559,
+ SERIALIZABLE = 560,
+ SERVER = 561,
+ SESSION = 562,
+ SESSION_USER = 563,
+ SET = 564,
+ SETOF = 565,
+ SHARE = 566,
+ SHOW = 567,
+ SIMILAR = 568,
+ SIMPLE = 569,
+ SMALLINT = 570,
+ SOME = 571,
+ STABLE = 572,
+ STANDALONE_P = 573,
+ START = 574,
+ STATEMENT = 575,
+ STATISTICS = 576,
+ STDIN = 577,
+ STDOUT = 578,
+ STORAGE = 579,
+ STRICT_P = 580,
+ STRIP_P = 581,
+ SUBSTRING = 582,
+ SUPERUSER_P = 583,
+ SYMMETRIC = 584,
+ SYSID = 585,
+ SYSTEM_P = 586,
+ TABLE = 587,
+ TABLESPACE = 588,
+ TEMP = 589,
+ TEMPLATE = 590,
+ TEMPORARY = 591,
+ TEXT_P = 592,
+ THEN = 593,
+ TIME = 594,
+ TIMESTAMP = 595,
+ TO = 596,
+ TRAILING = 597,
+ TRANSACTION = 598,
+ TREAT = 599,
+ TRIGGER = 600,
+ TRIM = 601,
+ TRUE_P = 602,
+ TRUNCATE = 603,
+ TRUSTED = 604,
+ TYPE_P = 605,
+ UNBOUNDED = 606,
+ UNCOMMITTED = 607,
+ UNENCRYPTED = 608,
+ UNION = 609,
+ UNIQUE = 610,
+ UNKNOWN = 611,
+ UNLISTEN = 612,
+ UNTIL = 613,
+ UPDATE = 614,
+ USER = 615,
+ USING = 616,
+ VACUUM = 617,
+ VALID = 618,
+ VALIDATOR = 619,
+ VALUE_P = 620,
+ VALUES = 621,
+ VARCHAR = 622,
+ VARIADIC = 623,
+ VARYING = 624,
+ VERBOSE = 625,
+ VERSION_P = 626,
+ VIEW = 627,
+ VOLATILE = 628,
+ WHEN = 629,
+ WHERE = 630,
+ WHITESPACE_P = 631,
+ WINDOW = 632,
+ WITH = 633,
+ WITHOUT = 634,
+ WORK = 635,
+ WRAPPER = 636,
+ WRITE = 637,
+ XML_P = 638,
+ XMLATTRIBUTES = 639,
+ XMLCONCAT = 640,
+ XMLELEMENT = 641,
+ XMLFOREST = 642,
+ XMLPARSE = 643,
+ XMLPI = 644,
+ XMLROOT = 645,
+ XMLSERIALIZE = 646,
+ YEAR_P = 647,
+ YES_P = 648,
+ ZONE = 649,
+ NULLS_FIRST = 650,
+ NULLS_LAST = 651,
+ WITH_TIME = 652,
+ IDENT = 653,
+ FCONST = 654,
+ SCONST = 655,
+ BCONST = 656,
+ XCONST = 657,
+ Op = 658,
+ ICONST = 659,
+ PARAM = 660,
+ POSTFIXOP = 661,
+ UMINUS = 662,
+ TYPECAST = 663
};
#endif
/* Tokens. */
@@ -495,354 +513,372 @@
#define CASCADED 295
#define CASE 296
#define CAST 297
-#define CHAIN 298
-#define CHAR_P 299
-#define CHARACTER 300
-#define CHARACTERISTICS 301
-#define CHECK 302
-#define CHECKPOINT 303
-#define CLASS 304
-#define CLOSE 305
-#define CLUSTER 306
-#define COALESCE 307
-#define COLLATE 308
-#define COLUMN 309
-#define COMMENT 310
-#define COMMIT 311
-#define COMMITTED 312
-#define CONCURRENTLY 313
-#define CONFIGURATION 314
-#define CONNECTION 315
-#define CONSTRAINT 316
-#define CONSTRAINTS 317
-#define CONTENT_P 318
-#define CONVERSION_P 319
-#define COPY 320
-#define COST 321
-#define CREATE 322
-#define CREATEDB 323
-#define CREATEROLE 324
-#define CREATEUSER 325
-#define CROSS 326
-#define CSV 327
-#define CURRENT_P 328
-#define CURRENT_DATE 329
-#define CURRENT_ROLE 330
-#define CURRENT_TIME 331
-#define CURRENT_TIMESTAMP 332
-#define CURRENT_USER 333
-#define CURSOR 334
-#define CYCLE 335
-#define DATABASE 336
-#define DAY_P 337
-#define DEALLOCATE 338
-#define DEC 339
-#define DECIMAL_P 340
-#define DECLARE 341
-#define DEFAULT 342
-#define DEFAULTS 343
-#define DEFERRABLE 344
-#define DEFERRED 345
-#define DEFINER 346
-#define DELETE_P 347
-#define DELIMITER 348
-#define DELIMITERS 349
-#define DESC 350
-#define DICTIONARY 351
-#define DISABLE_P 352
-#define DISCARD 353
-#define DISTINCT 354
-#define DO 355
-#define DOCUMENT_P 356
-#define DOMAIN_P 357
-#define DOUBLE_P 358
-#define DROP 359
-#define EACH 360
-#define ELSE 361
-#define ENABLE_P 362
-#define ENCODING 363
-#define ENCRYPTED 364
-#define END_P 365
-#define ENUM_P 366
-#define ESCAPE 367
-#define EXCEPT 368
-#define EXCLUDING 369
-#define EXCLUSIVE 370
-#define EXECUTE 371
-#define EXISTS 372
-#define EXPLAIN 373
-#define EXTERNAL 374
-#define EXTRACT 375
-#define FALSE_P 376
-#define FAMILY 377
-#define FETCH 378
-#define FIRST_P 379
-#define FLOAT_P 380
-#define FOR 381
-#define FORCE 382
-#define FOREIGN 383
-#define FORWARD 384
-#define FREEZE 385
-#define FROM 386
-#define FULL 387
-#define FUNCTION 388
-#define GLOBAL 389
-#define GRANT 390
-#define GRANTED 391
-#define GREATEST 392
-#define GROUP_P 393
-#define HANDLER 394
-#define HAVING 395
-#define HEADER_P 396
-#define HOLD 397
-#define HOUR_P 398
-#define IF_P 399
-#define ILIKE 400
-#define IMMEDIATE 401
-#define IMMUTABLE 402
-#define IMPLICIT_P 403
-#define IN_P 404
-#define INCLUDING 405
-#define INCREMENT 406
-#define INDEX 407
-#define INDEXES 408
-#define INHERIT 409
-#define INHERITS 410
-#define INITIALLY 411
-#define INNER_P 412
-#define INOUT 413
-#define INPUT_P 414
-#define INSENSITIVE 415
-#define INSERT 416
-#define INSTEAD 417
-#define INT_P 418
-#define INTEGER 419
-#define INTERSECT 420
-#define INTERVAL 421
-#define INTO 422
-#define INVOKER 423
-#define IS 424
-#define ISNULL 425
-#define ISOLATION 426
-#define JOIN 427
-#define KEY 428
-#define LANCOMPILER 429
-#define LANGUAGE 430
-#define LARGE_P 431
-#define LAST_P 432
-#define LEADING 433
-#define LEAST 434
-#define LEFT 435
-#define LEVEL 436
-#define LIKE 437
-#define LIMIT 438
-#define LISTEN 439
-#define LOAD 440
-#define LOCAL 441
-#define LOCALTIME 442
-#define LOCALTIMESTAMP 443
-#define LOCATION 444
-#define LOCK_P 445
-#define LOGIN_P 446
-#define MAPPING 447
-#define MATCH 448
-#define MAXVALUE 449
-#define MINUTE_P 450
-#define MINVALUE 451
-#define MODE 452
-#define MONTH_P 453
-#define MOVE 454
-#define NAME_P 455
-#define NAMES 456
-#define NATIONAL 457
-#define NATURAL 458
-#define NCHAR 459
-#define NEW 460
-#define NEXT 461
-#define NO 462
-#define NOCREATEDB 463
-#define NOCREATEROLE 464
-#define NOCREATEUSER 465
-#define NOINHERIT 466
-#define NOLOGIN_P 467
-#define NONE 468
-#define NOSUPERUSER 469
-#define NOT 470
-#define NOTHING 471
-#define NOTIFY 472
-#define NOTNULL 473
-#define NOWAIT 474
-#define NULL_P 475
-#define NULLIF 476
-#define NULLS_P 477
-#define NUMERIC 478
-#define OBJECT_P 479
-#define OF 480
-#define OFF 481
-#define OFFSET 482
-#define OIDS 483
-#define OLD 484
-#define ON 485
-#define ONLY 486
-#define OPERATOR 487
-#define OPTION 488
-#define OR 489
-#define ORDER 490
-#define OUT_P 491
-#define OUTER_P 492
-#define OVERLAPS 493
-#define OVERLAY 494
-#define OWNED 495
-#define OWNER 496
-#define PARSER 497
-#define PARTIAL 498
-#define PASSWORD 499
-#define PLACING 500
-#define PLANS 501
-#define POSITION 502
-#define PRECISION 503
-#define PRESERVE 504
-#define PREPARE 505
-#define PREPARED 506
-#define PRIMARY 507
-#define PRIOR 508
-#define PRIVILEGES 509
-#define PROCEDURAL 510
-#define PROCEDURE 511
-#define QUOTE 512
-#define READ 513
-#define REAL 514
-#define REASSIGN 515
-#define RECHECK 516
-#define REFERENCES 517
-#define REINDEX 518
-#define RELATIVE_P 519
-#define RELEASE 520
-#define RENAME 521
-#define REPEATABLE 522
-#define REPLACE 523
-#define REPLICA 524
-#define RESET 525
-#define RESTART 526
-#define RESTRICT 527
-#define RETURNING 528
-#define RETURNS 529
-#define REVOKE 530
-#define RIGHT 531
-#define ROLE 532
-#define ROLLBACK 533
-#define ROW 534
-#define ROWS 535
-#define RULE 536
-#define SAVEPOINT 537
-#define SCHEMA 538
-#define SCROLL 539
-#define SEARCH 540
-#define SECOND_P 541
-#define SECURITY 542
-#define SELECT 543
-#define SEQUENCE 544
-#define SERIALIZABLE 545
-#define SESSION 546
-#define SESSION_USER 547
-#define SET 548
-#define SETOF 549
-#define SHARE 550
-#define SHOW 551
-#define SIMILAR 552
-#define SIMPLE 553
-#define SMALLINT 554
-#define SOME 555
-#define STABLE 556
-#define STANDALONE_P 557
-#define START 558
-#define STATEMENT 559
-#define STATISTICS 560
-#define STDIN 561
-#define STDOUT 562
-#define STORAGE 563
-#define STRICT_P 564
-#define STRIP_P 565
-#define SUBSTRING 566
-#define SUPERUSER_P 567
-#define SYMMETRIC 568
-#define SYSID 569
-#define SYSTEM_P 570
-#define TABLE 571
-#define TABLESPACE 572
-#define TEMP 573
-#define TEMPLATE 574
-#define TEMPORARY 575
-#define TEXT_P 576
-#define THEN 577
-#define TIME 578
-#define TIMESTAMP 579
-#define TO 580
-#define TRAILING 581
-#define TRANSACTION 582
-#define TREAT 583
-#define TRIGGER 584
-#define TRIM 585
-#define TRUE_P 586
-#define TRUNCATE 587
-#define TRUSTED 588
-#define TYPE_P 589
-#define UNCOMMITTED 590
-#define UNENCRYPTED 591
-#define UNION 592
-#define UNIQUE 593
-#define UNKNOWN 594
-#define UNLISTEN 595
-#define UNTIL 596
-#define UPDATE 597
-#define USER 598
-#define USING 599
-#define VACUUM 600
-#define VALID 601
-#define VALIDATOR 602
-#define VALUE_P 603
-#define VALUES 604
-#define VARCHAR 605
-#define VARYING 606
-#define VERBOSE 607
-#define VERSION_P 608
-#define VIEW 609
-#define VOLATILE 610
-#define WHEN 611
-#define WHERE 612
-#define WHITESPACE_P 613
-#define WITH 614
-#define WITHOUT 615
-#define WORK 616
-#define WRITE 617
-#define XML_P 618
-#define XMLATTRIBUTES 619
-#define XMLCONCAT 620
-#define XMLELEMENT 621
-#define XMLFOREST 622
-#define XMLPARSE 623
-#define XMLPI 624
-#define XMLROOT 625
-#define XMLSERIALIZE 626
-#define YEAR_P 627
-#define YES_P 628
-#define ZONE 629
-#define NULLS_FIRST 630
-#define NULLS_LAST 631
-#define WITH_CASCADED 632
-#define WITH_LOCAL 633
-#define WITH_CHECK 634
-#define IDENT 635
-#define FCONST 636
-#define SCONST 637
-#define BCONST 638
-#define XCONST 639
-#define Op 640
-#define ICONST 641
-#define PARAM 642
-#define POSTFIXOP 643
-#define UMINUS 644
-#define TYPECAST 645
+#define CATALOG_P 298
+#define CHAIN 299
+#define CHAR_P 300
+#define CHARACTER 301
+#define CHARACTERISTICS 302
+#define CHECK 303
+#define CHECKPOINT 304
+#define CLASS 305
+#define CLOSE 306
+#define CLUSTER 307
+#define COALESCE 308
+#define COLLATE 309
+#define COLUMN 310
+#define COMMENT 311
+#define COMMIT 312
+#define COMMITTED 313
+#define CONCURRENTLY 314
+#define CONFIGURATION 315
+#define CONNECTION 316
+#define CONSTRAINT 317
+#define CONSTRAINTS 318
+#define CONTENT_P 319
+#define CONTINUE_P 320
+#define CONVERSION_P 321
+#define COPY 322
+#define COST 323
+#define CREATE 324
+#define CREATEDB 325
+#define CREATEROLE 326
+#define CREATEUSER 327
+#define CROSS 328
+#define CSV 329
+#define CURRENT_P 330
+#define CURRENT_CATALOG 331
+#define CURRENT_DATE 332
+#define CURRENT_ROLE 333
+#define CURRENT_SCHEMA 334
+#define CURRENT_TIME 335
+#define CURRENT_TIMESTAMP 336
+#define CURRENT_USER 337
+#define CURSOR 338
+#define CYCLE 339
+#define DATA_P 340
+#define DATABASE 341
+#define DAY_P 342
+#define DEALLOCATE 343
+#define DEC 344
+#define DECIMAL_P 345
+#define DECLARE 346
+#define DEFAULT 347
+#define DEFAULTS 348
+#define DEFERRABLE 349
+#define DEFERRED 350
+#define DEFINER 351
+#define DELETE_P 352
+#define DELIMITER 353
+#define DELIMITERS 354
+#define DESC 355
+#define DICTIONARY 356
+#define DISABLE_P 357
+#define DISCARD 358
+#define DISTINCT 359
+#define DO 360
+#define DOCUMENT_P 361
+#define DOMAIN_P 362
+#define DOUBLE_P 363
+#define DROP 364
+#define EACH 365
+#define ELSE 366
+#define ENABLE_P 367
+#define ENCODING 368
+#define ENCRYPTED 369
+#define END_P 370
+#define ENUM_P 371
+#define ESCAPE 372
+#define EXCEPT 373
+#define EXCLUDING 374
+#define EXCLUSIVE 375
+#define EXECUTE 376
+#define EXISTS 377
+#define EXPLAIN 378
+#define EXTERNAL 379
+#define EXTRACT 380
+#define FALSE_P 381
+#define FAMILY 382
+#define FETCH 383
+#define FIRST_P 384
+#define FLOAT_P 385
+#define FOLLOWING 386
+#define FOR 387
+#define FORCE 388
+#define FOREIGN 389
+#define FORWARD 390
+#define FREEZE 391
+#define FROM 392
+#define FULL 393
+#define FUNCTION 394
+#define GLOBAL 395
+#define GRANT 396
+#define GRANTED 397
+#define GREATEST 398
+#define GROUP_P 399
+#define HANDLER 400
+#define HAVING 401
+#define HEADER_P 402
+#define HOLD 403
+#define HOUR_P 404
+#define IDENTITY_P 405
+#define IF_P 406
+#define ILIKE 407
+#define IMMEDIATE 408
+#define IMMUTABLE 409
+#define IMPLICIT_P 410
+#define IN_P 411
+#define INCLUDING 412
+#define INCREMENT 413
+#define INDEX 414
+#define INDEXES 415
+#define INHERIT 416
+#define INHERITS 417
+#define INITIALLY 418
+#define INNER_P 419
+#define INOUT 420
+#define INPUT_P 421
+#define INSENSITIVE 422
+#define INSERT 423
+#define INSTEAD 424
+#define INT_P 425
+#define INTEGER 426
+#define INTERSECT 427
+#define INTERVAL 428
+#define INTO 429
+#define INVOKER 430
+#define IS 431
+#define ISNULL 432
+#define ISOLATION 433
+#define JOIN 434
+#define KEY 435
+#define LANCOMPILER 436
+#define LANGUAGE 437
+#define LARGE_P 438
+#define LAST_P 439
+#define LC_COLLATE_P 440
+#define LC_CTYPE_P 441
+#define LEADING 442
+#define LEAST 443
+#define LEFT 444
+#define LEVEL 445
+#define LIKE 446
+#define LIMIT 447
+#define LISTEN 448
+#define LOAD 449
+#define LOCAL 450
+#define LOCALTIME 451
+#define LOCALTIMESTAMP 452
+#define LOCATION 453
+#define LOCK_P 454
+#define LOGIN_P 455
+#define MAPPING 456
+#define MATCH 457
+#define MAXVALUE 458
+#define MINUTE_P 459
+#define MINVALUE 460
+#define MODE 461
+#define MONTH_P 462
+#define MOVE 463
+#define NAME_P 464
+#define NAMES 465
+#define NATIONAL 466
+#define NATURAL 467
+#define NCHAR 468
+#define NEW 469
+#define NEXT 470
+#define NO 471
+#define NOCREATEDB 472
+#define NOCREATEROLE 473
+#define NOCREATEUSER 474
+#define NOINHERIT 475
+#define NOLOGIN_P 476
+#define NONE 477
+#define NOSUPERUSER 478
+#define NOT 479
+#define NOTHING 480
+#define NOTIFY 481
+#define NOTNULL 482
+#define NOWAIT 483
+#define NULL_P 484
+#define NULLIF 485
+#define NULLS_P 486
+#define NUMERIC 487
+#define OBJECT_P 488
+#define OF 489
+#define OFF 490
+#define OFFSET 491
+#define OIDS 492
+#define OLD 493
+#define ON 494
+#define ONLY 495
+#define OPERATOR 496
+#define OPTION 497
+#define OPTIONS 498
+#define OR 499
+#define ORDER 500
+#define OUT_P 501
+#define OUTER_P 502
+#define OVER 503
+#define OVERLAPS 504
+#define OVERLAY 505
+#define OWNED 506
+#define OWNER 507
+#define PARSER 508
+#define PARTIAL 509
+#define PARTITION 510
+#define PASSWORD 511
+#define PLACING 512
+#define PLANS 513
+#define POSITION 514
+#define PRECEDING 515
+#define PRECISION 516
+#define PRESERVE 517
+#define PREPARE 518
+#define PREPARED 519
+#define PRIMARY 520
+#define PRIOR 521
+#define PRIVILEGES 522
+#define PROCEDURAL 523
+#define PROCEDURE 524
+#define QUOTE 525
+#define RANGE 526
+#define READ 527
+#define REAL 528
+#define REASSIGN 529
+#define RECHECK 530
+#define RECURSIVE 531
+#define REFERENCES 532
+#define REINDEX 533
+#define RELATIVE_P 534
+#define RELEASE 535
+#define RENAME 536
+#define REPEATABLE 537
+#define REPLACE 538
+#define REPLICA 539
+#define RESET 540
+#define RESTART 541
+#define RESTRICT 542
+#define RETURNING 543
+#define RETURNS 544
+#define REVOKE 545
+#define RIGHT 546
+#define ROLE 547
+#define ROLLBACK 548
+#define ROW 549
+#define ROWS 550
+#define RULE 551
+#define SAVEPOINT 552
+#define SCHEMA 553
+#define SCROLL 554
+#define SEARCH 555
+#define SECOND_P 556
+#define SECURITY 557
+#define SELECT 558
+#define SEQUENCE 559
+#define SERIALIZABLE 560
+#define SERVER 561
+#define SESSION 562
+#define SESSION_USER 563
+#define SET 564
+#define SETOF 565
+#define SHARE 566
+#define SHOW 567
+#define SIMILAR 568
+#define SIMPLE 569
+#define SMALLINT 570
+#define SOME 571
+#define STABLE 572
+#define STANDALONE_P 573
+#define START 574
+#define STATEMENT 575
+#define STATISTICS 576
+#define STDIN 577
+#define STDOUT 578
+#define STORAGE 579
+#define STRICT_P 580
+#define STRIP_P 581
+#define SUBSTRING 582
+#define SUPERUSER_P 583
+#define SYMMETRIC 584
+#define SYSID 585
+#define SYSTEM_P 586
+#define TABLE 587
+#define TABLESPACE 588
+#define TEMP 589
+#define TEMPLATE 590
+#define TEMPORARY 591
+#define TEXT_P 592
+#define THEN 593
+#define TIME 594
+#define TIMESTAMP 595
+#define TO 596
+#define TRAILING 597
+#define TRANSACTION 598
+#define TREAT 599
+#define TRIGGER 600
+#define TRIM 601
+#define TRUE_P 602
+#define TRUNCATE 603
+#define TRUSTED 604
+#define TYPE_P 605
+#define UNBOUNDED 606
+#define UNCOMMITTED 607
+#define UNENCRYPTED 608
+#define UNION 609
+#define UNIQUE 610
+#define UNKNOWN 611
+#define UNLISTEN 612
+#define UNTIL 613
+#define UPDATE 614
+#define USER 615
+#define USING 616
+#define VACUUM 617
+#define VALID 618
+#define VALIDATOR 619
+#define VALUE_P 620
+#define VALUES 621
+#define VARCHAR 622
+#define VARIADIC 623
+#define VARYING 624
+#define VERBOSE 625
+#define VERSION_P 626
+#define VIEW 627
+#define VOLATILE 628
+#define WHEN 629
+#define WHERE 630
+#define WHITESPACE_P 631
+#define WINDOW 632
+#define WITH 633
+#define WITHOUT 634
+#define WORK 635
+#define WRAPPER 636
+#define WRITE 637
+#define XML_P 638
+#define XMLATTRIBUTES 639
+#define XMLCONCAT 640
+#define XMLELEMENT 641
+#define XMLFOREST 642
+#define XMLPARSE 643
+#define XMLPI 644
+#define XMLROOT 645
+#define XMLSERIALIZE 646
+#define YEAR_P 647
+#define YES_P 648
+#define ZONE 649
+#define NULLS_FIRST 650
+#define NULLS_LAST 651
+#define WITH_TIME 652
+#define IDENT 653
+#define FCONST 654
+#define SCONST 655
+#define BCONST 656
+#define XCONST 657
+#define Op 658
+#define ICONST 659
+#define PARAM 660
+#define POSTFIXOP 661
+#define UMINUS 662
+#define TYPECAST 663
@@ -857,13 +893,13 @@
* gram.y
* POSTGRES SQL YACC rules/actions
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.603 2007/09/24 01:29:28 adunstan Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.662 2009/04/06 08:42:52 heikki Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -959,6 +995,13 @@ extern TypeName *SystemTypeName(char *name);
extern List *SystemFuncName(char *name);
extern void yyerror(const char *s);
+/* Private struct for the result of privilege_target production */
+typedef struct PrivTarget
+{
+ GrantObjectType objtype;
+ List *objs;
+} PrivTarget;
+
/*
* 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
@@ -966,30 +1009,38 @@ extern void yyerror(const char *s);
*/
/*#define __YYSCLASS*/
-static Node *makeColumnRef(char *relname, List *indirection, int location);
-static Node *makeTypeCast(Node *arg, TypeName *typename);
-static Node *makeStringConst(char *str, TypeName *typename);
-static Node *makeIntConst(int val);
-static Node *makeFloatConst(char *str);
-static Node *makeAConst(Value *v);
-static A_Const *makeBoolAConst(bool state);
+static Node *makeColumnRef(char *colname, List *indirection, int location);
+static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
+static Node *makeStringConst(char *str, int location);
+static Node *makeStringConstCast(char *str, int location, TypeName *typename);
+static Node *makeIntConst(int val, int location);
+static Node *makeFloatConst(char *str, int location);
+static Node *makeBitStringConst(char *str, int location);
+static Node *makeNullAConst(int location);
+static Node *makeAConst(Value *v, int location);
+static Node *makeBoolAConst(bool state, int location);
static FuncCall *makeOverlaps(List *largs, List *rargs, int location);
static void check_qualified_name(List *names);
static List *check_func_name(List *names);
+static List *check_indirection(List *indirection);
static List *extractArgTypes(List *parameters);
static SelectStmt *findLeftmostSelect(SelectStmt *node);
static void insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
- Node *limitOffset, Node *limitCount);
+ Node *limitOffset, Node *limitCount,
+ WithClause *withClause);
static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
static Node *doNegate(Node *n, int location);
static void doNegateFloat(Value *v);
-static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args);
+static Node *makeAArrayExpr(List *elements, int location);
+static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
+ List *args, int location);
+static List *mergeTableFuncParameters(List *func_args, List *columns);
+static TypeName *TableFuncTypeName(List *columns);
static DefElem *defWithOids(bool value);
-
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -1009,7 +1060,7 @@ static DefElem *defWithOids(bool value);
#endif
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 146 "gram.y"
+#line 162 "gram.y"
typedef union YYSTYPE {
int ival;
char chr;
@@ -1030,20 +1081,23 @@ typedef union YYSTYPE {
FuncWithArgs *funwithargs;
DefElem *defelt;
SortBy *sortby;
+ WindowDef *windef;
JoinExpr *jexpr;
IndexElem *ielem;
Alias *alias;
RangeVar *range;
IntoClause *into;
+ WithClause *with;
A_Indices *aind;
ResTarget *target;
- PrivTarget *privtarget;
+ struct PrivTarget *privtarget;
+ AccessPriv *accesspriv;
InsertStmt *istmt;
VariableSetStmt *vsetstmt;
} YYSTYPE;
/* Line 196 of yacc.c. */
-#line 1047 "gram.c"
+#line 1101 "gram.c"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
@@ -1067,7 +1121,7 @@ typedef struct YYLTYPE
/* Line 219 of yacc.c. */
-#line 1071 "gram.c"
+#line 1125 "gram.c"
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
@@ -1218,22 +1272,22 @@ union yyalloc
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 621
+#define YYFINAL 660
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 48561
+#define YYLAST 56094
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 408
+#define YYNTOKENS 426
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 427
+#define YYNNTS 477
/* YYNRULES -- Number of rules. */
-#define YYNRULES 1812
+#define YYNRULES 1985
/* YYNRULES -- Number of states. */
-#define YYNSTATES 3287
+#define YYNSTATES 3618
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 645
+#define YYMAXUTOK 663
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1244,13 +1298,13 @@ static const unsigned short int 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, 396, 2, 2,
- 401, 402, 394, 392, 406, 393, 404, 395, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 407, 405,
- 389, 388, 390, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 414, 2, 2,
+ 419, 420, 412, 410, 424, 411, 422, 413, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 425, 423,
+ 407, 406, 408, 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, 399, 2, 400, 397, 2, 2, 2, 2, 2,
+ 2, 417, 2, 418, 415, 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,
@@ -1305,7 +1359,9 @@ static const unsigned short int yytranslate[] =
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
- 385, 386, 387, 391, 398, 403
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 409, 416, 421
};
#if YYDEBUG
@@ -1322,964 +1378,1062 @@ static const unsigned short int yyprhs[] =
121, 123, 125, 127, 129, 131, 133, 135, 137, 139,
141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
161, 163, 165, 167, 169, 171, 173, 175, 177, 179,
- 181, 183, 185, 187, 189, 191, 193, 194, 200, 202,
- 203, 206, 207, 210, 213, 217, 221, 223, 225, 227,
- 229, 231, 233, 235, 237, 239, 241, 243, 245, 249,
- 253, 256, 259, 262, 265, 269, 273, 279, 285, 290,
- 296, 301, 305, 311, 315, 321, 327, 334, 336, 338,
- 342, 348, 355, 360, 362, 363, 366, 367, 369, 371,
- 373, 375, 377, 379, 382, 386, 390, 394, 398, 402,
- 406, 410, 414, 417, 423, 426, 429, 433, 437, 441,
- 443, 447, 449, 453, 455, 457, 459, 462, 465, 468,
- 470, 472, 474, 476, 478, 480, 482, 486, 493, 495,
- 497, 499, 501, 503, 504, 506, 508, 511, 515, 520,
- 524, 527, 530, 532, 535, 539, 544, 548, 551, 556,
- 558, 560, 562, 564, 566, 569, 572, 575, 578, 583,
- 588, 590, 594, 598, 603, 610, 617, 624, 631, 636,
- 643, 646, 651, 655, 659, 663, 667, 672, 677, 681,
- 685, 689, 693, 697, 701, 706, 711, 715, 718, 722,
- 724, 726, 730, 734, 738, 741, 744, 748, 751, 753,
- 755, 756, 759, 760, 763, 766, 777, 784, 786, 788,
- 790, 792, 794, 797, 798, 800, 802, 806, 810, 812,
- 814, 818, 822, 826, 831, 833, 834, 837, 838, 842,
- 843, 845, 846, 858, 871, 873, 875, 878, 881, 884,
- 887, 888, 890, 891, 893, 897, 899, 901, 903, 907,
- 910, 911, 915, 917, 919, 922, 924, 928, 933, 938,
- 941, 947, 949, 952, 955, 958, 962, 965, 966, 969,
- 972, 975, 978, 981, 984, 988, 990, 995, 1002, 1010,
- 1022, 1026, 1027, 1029, 1033, 1035, 1038, 1041, 1044, 1045,
- 1047, 1049, 1052, 1055, 1056, 1060, 1064, 1067, 1069, 1071,
- 1074, 1077, 1082, 1083, 1086, 1089, 1092, 1093, 1097, 1102,
- 1107, 1108, 1111, 1112, 1117, 1118, 1125, 1131, 1135, 1136,
- 1138, 1142, 1144, 1150, 1155, 1158, 1159, 1162, 1164, 1167,
- 1171, 1174, 1177, 1180, 1183, 1187, 1191, 1195, 1197, 1198,
- 1200, 1202, 1204, 1207, 1209, 1215, 1225, 1227, 1228, 1230,
- 1233, 1236, 1237, 1240, 1241, 1247, 1255, 1257, 1258, 1265,
- 1268, 1269, 1273, 1279, 1294, 1314, 1316, 1318, 1320, 1324,
- 1330, 1332, 1334, 1336, 1340, 1341, 1343, 1344, 1346, 1348,
- 1350, 1354, 1355, 1357, 1359, 1361, 1363, 1365, 1367, 1370,
- 1371, 1373, 1376, 1378, 1381, 1382, 1385, 1387, 1390, 1393,
- 1400, 1409, 1418, 1423, 1429, 1434, 1439, 1444, 1448, 1456,
- 1465, 1472, 1479, 1486, 1493, 1497, 1499, 1503, 1507, 1509,
- 1511, 1513, 1515, 1517, 1519, 1523, 1527, 1531, 1533, 1537,
- 1541, 1543, 1547, 1561, 1563, 1567, 1572, 1580, 1585, 1593,
- 1596, 1598, 1599, 1602, 1603, 1605, 1606, 1613, 1622, 1631,
- 1633, 1637, 1643, 1649, 1657, 1667, 1675, 1685, 1691, 1698,
- 1705, 1710, 1712, 1714, 1716, 1718, 1720, 1722, 1724, 1726,
- 1730, 1734, 1738, 1742, 1744, 1748, 1750, 1753, 1756, 1760,
- 1765, 1772, 1780, 1788, 1798, 1807, 1816, 1823, 1832, 1842,
- 1852, 1860, 1871, 1879, 1888, 1897, 1906, 1915, 1917, 1919,
- 1921, 1923, 1925, 1927, 1929, 1931, 1933, 1935, 1937, 1939,
- 1941, 1943, 1948, 1951, 1956, 1959, 1960, 1962, 1964, 1966,
- 1968, 1971, 1974, 1976, 1978, 1980, 1983, 1986, 1988, 1991,
- 1994, 1996, 1998, 2006, 2014, 2025, 2027, 2029, 2032, 2034,
- 2038, 2040, 2042, 2044, 2046, 2048, 2051, 2054, 2057, 2060,
- 2063, 2066, 2069, 2071, 2075, 2077, 2080, 2084, 2085, 2087,
- 2091, 2094, 2101, 2108, 2118, 2122, 2123, 2127, 2128, 2142,
- 2157, 2159, 2160, 2163, 2164, 2166, 2170, 2175, 2180, 2187,
- 2189, 2192, 2193, 2195, 2197, 2198, 2200, 2202, 2203, 2213,
- 2221, 2224, 2225, 2229, 2232, 2234, 2238, 2242, 2246, 2249,
- 2252, 2254, 2256, 2258, 2260, 2263, 2265, 2267, 2269, 2274,
- 2280, 2282, 2285, 2290, 2296, 2298, 2300, 2302, 2304, 2308,
- 2312, 2315, 2318, 2321, 2324, 2326, 2329, 2332, 2334, 2336,
- 2340, 2343, 2344, 2350, 2352, 2355, 2357, 2358, 2364, 2372,
- 2378, 2386, 2394, 2404, 2406, 2410, 2414, 2418, 2420, 2424,
- 2436, 2447, 2450, 2453, 2454, 2464, 2467, 2468, 2473, 2478,
- 2483, 2485, 2487, 2489, 2490, 2498, 2505, 2512, 2519, 2526,
- 2534, 2544, 2554, 2561, 2568, 2575, 2582, 2589, 2598, 2607,
- 2614, 2621, 2628, 2637, 2646, 2655, 2664, 2666, 2667, 2675,
- 2682, 2689, 2696, 2703, 2710, 2718, 2725, 2732, 2739, 2746,
- 2754, 2764, 2774, 2784, 2791, 2798, 2805, 2814, 2823, 2824,
- 2839, 2841, 2843, 2847, 2851, 2853, 2855, 2857, 2859, 2861,
- 2863, 2865, 2866, 2868, 2870, 2872, 2874, 2876, 2878, 2879,
- 2886, 2895, 2898, 2901, 2904, 2907, 2910, 2914, 2918, 2921,
- 2924, 2927, 2930, 2934, 2937, 2943, 2948, 2952, 2956, 2960,
- 2962, 2964, 2965, 2969, 2972, 2975, 2977, 2981, 2984, 2986,
- 2987, 2996, 3007, 3010, 3014, 3018, 3019, 3022, 3028, 3031,
- 3032, 3036, 3040, 3044, 3048, 3052, 3056, 3060, 3064, 3068,
- 3073, 3077, 3081, 3083, 3084, 3090, 3095, 3098, 3099, 3104,
- 3108, 3114, 3121, 3126, 3133, 3140, 3146, 3154, 3156, 3157,
- 3164, 3176, 3188, 3200, 3214, 3224, 3236, 3247, 3251, 3253,
- 3258, 3261, 3262, 3267, 3273, 3279, 3282, 3287, 3289, 3291,
- 3293, 3294, 3296, 3297, 3299, 3300, 3304, 3305, 3310, 3312,
- 3314, 3316, 3318, 3320, 3322, 3324, 3325, 3331, 3335, 3336,
- 3338, 3340, 3342, 3344, 3348, 3357, 3361, 3362, 3365, 3369,
- 3372, 3376, 3382, 3384, 3389, 3392, 3394, 3398, 3401, 3404,
- 3405, 3412, 3415, 3416, 3422, 3426, 3427, 3430, 3433, 3436,
- 3440, 3442, 3446, 3448, 3451, 3453, 3454, 3462, 3464, 3468,
- 3470, 3472, 3476, 3482, 3485, 3487, 3491, 3499, 3500, 3504,
- 3507, 3510, 3513, 3514, 3517, 3520, 3522, 3524, 3528, 3532,
- 3534, 3537, 3542, 3547, 3549, 3551, 3560, 3562, 3567, 3572,
- 3577, 3580, 3581, 3585, 3589, 3594, 3599, 3604, 3609, 3612,
- 3614, 3616, 3617, 3619, 3621, 3622, 3624, 3630, 3632, 3633,
- 3635, 3636, 3640, 3642, 3646, 3651, 3655, 3660, 3665, 3668,
- 3671, 3676, 3678, 3679, 3681, 3683, 3685, 3689, 3690, 3693,
- 3694, 3696, 3700, 3702, 3703, 3705, 3708, 3713, 3718, 3721,
- 3722, 3725, 3729, 3732, 3733, 3735, 3739, 3741, 3744, 3746,
- 3749, 3755, 3762, 3768, 3770, 3773, 3775, 3780, 3784, 3789,
- 3795, 3800, 3806, 3811, 3817, 3820, 3825, 3827, 3830, 3833,
- 3836, 3838, 3840, 3841, 3846, 3849, 3851, 3854, 3857, 3862,
- 3864, 3867, 3871, 3873, 3876, 3877, 3880, 3885, 3890, 3891,
- 3893, 3897, 3900, 3903, 3907, 3913, 3920, 3924, 3929, 3930,
- 3932, 3934, 3936, 3938, 3940, 3943, 3949, 3951, 3953, 3955,
- 3957, 3960, 3964, 3968, 3969, 3971, 3973, 3975, 3977, 3979,
- 3982, 3985, 3988, 3991, 3994, 3996, 4000, 4001, 4003, 4005,
- 4007, 4009, 4015, 4018, 4020, 4022, 4024, 4026, 4032, 4035,
- 4038, 4041, 4043, 4047, 4051, 4054, 4056, 4057, 4061, 4062,
- 4068, 4071, 4077, 4080, 4082, 4086, 4090, 4091, 4093, 4095,
- 4097, 4099, 4101, 4103, 4107, 4111, 4115, 4119, 4123, 4127,
- 4131, 4132, 4134, 4138, 4144, 4147, 4150, 4154, 4158, 4162,
- 4166, 4170, 4174, 4178, 4182, 4186, 4190, 4193, 4196, 4200,
- 4204, 4207, 4211, 4217, 4222, 4229, 4233, 4239, 4244, 4251,
- 4256, 4263, 4269, 4277, 4281, 4284, 4289, 4292, 4296, 4300,
- 4305, 4309, 4314, 4318, 4323, 4329, 4336, 4343, 4351, 4358,
- 4366, 4373, 4381, 4385, 4390, 4395, 4402, 4405, 4409, 4414,
- 4416, 4420, 4423, 4426, 4430, 4434, 4438, 4442, 4446, 4450,
- 4454, 4458, 4462, 4466, 4469, 4472, 4478, 4485, 4492, 4500,
- 4504, 4509, 4511, 4513, 4516, 4521, 4523, 4525, 4527, 4530,
- 4533, 4536, 4538, 4542, 4547, 4553, 4559, 4564, 4566, 4568,
- 4573, 4575, 4580, 4582, 4587, 4589, 4594, 4596, 4598, 4600,
- 4602, 4609, 4614, 4619, 4624, 4629, 4636, 4642, 4648, 4654,
- 4659, 4666, 4671, 4676, 4681, 4686, 4692, 4700, 4708, 4718,
- 4723, 4730, 4736, 4744, 4752, 4760, 4763, 4767, 4771, 4775,
- 4780, 4781, 4786, 4788, 4792, 4796, 4798, 4800, 4802, 4805,
- 4808, 4809, 4814, 4818, 4824, 4826, 4828, 4830, 4832, 4834,
- 4836, 4838, 4840, 4842, 4844, 4846, 4848, 4850, 4852, 4854,
- 4859, 4861, 4866, 4868, 4873, 4875, 4878, 4880, 4883, 4885,
- 4889, 4893, 4894, 4896, 4900, 4902, 4906, 4910, 4914, 4916,
- 4918, 4920, 4922, 4924, 4926, 4928, 4930, 4935, 4939, 4942,
- 4946, 4947, 4951, 4955, 4958, 4961, 4963, 4964, 4967, 4970,
- 4974, 4977, 4979, 4981, 4985, 4991, 4993, 4996, 5001, 5004,
- 5005, 5007, 5008, 5010, 5013, 5016, 5019, 5023, 5029, 5031,
- 5034, 5035, 5038, 5040, 5041, 5043, 5045, 5047, 5051, 5055,
- 5057, 5061, 5065, 5067, 5069, 5071, 5073, 5075, 5079, 5081,
- 5084, 5086, 5090, 5092, 5094, 5096, 5098, 5100, 5102, 5104,
- 5107, 5109, 5111, 5113, 5115, 5117, 5120, 5126, 5129, 5133,
- 5140, 5142, 5144, 5146, 5148, 5150, 5152, 5154, 5157, 5159,
- 5161, 5163, 5165, 5167, 5169, 5171, 5173, 5175, 5177, 5179,
- 5181, 5183, 5185, 5187, 5189, 5191, 5193, 5195, 5197, 5199,
- 5201, 5203, 5205, 5207, 5209, 5211, 5213, 5215, 5217, 5219,
- 5221, 5223, 5225, 5227, 5229, 5231, 5233, 5235, 5237, 5239,
- 5241, 5243, 5245, 5247, 5249, 5251, 5253, 5255, 5257, 5259,
- 5261, 5263, 5265, 5267, 5269, 5271, 5273, 5275, 5277, 5279,
- 5281, 5283, 5285, 5287, 5289, 5291, 5293, 5295, 5297, 5299,
- 5301, 5303, 5305, 5307, 5309, 5311, 5313, 5315, 5317, 5319,
- 5321, 5323, 5325, 5327, 5329, 5331, 5333, 5335, 5337, 5339,
- 5341, 5343, 5345, 5347, 5349, 5351, 5353, 5355, 5357, 5359,
- 5361, 5363, 5365, 5367, 5369, 5371, 5373, 5375, 5377, 5379,
- 5381, 5383, 5385, 5387, 5389, 5391, 5393, 5395, 5397, 5399,
- 5401, 5403, 5405, 5407, 5409, 5411, 5413, 5415, 5417, 5419,
- 5421, 5423, 5425, 5427, 5429, 5431, 5433, 5435, 5437, 5439,
- 5441, 5443, 5445, 5447, 5449, 5451, 5453, 5455, 5457, 5459,
- 5461, 5463, 5465, 5467, 5469, 5471, 5473, 5475, 5477, 5479,
- 5481, 5483, 5485, 5487, 5489, 5491, 5493, 5495, 5497, 5499,
- 5501, 5503, 5505, 5507, 5509, 5511, 5513, 5515, 5517, 5519,
- 5521, 5523, 5525, 5527, 5529, 5531, 5533, 5535, 5537, 5539,
- 5541, 5543, 5545, 5547, 5549, 5551, 5553, 5555, 5557, 5559,
- 5561, 5563, 5565, 5567, 5569, 5571, 5573, 5575, 5577, 5579,
- 5581, 5583, 5585, 5587, 5589, 5591, 5593, 5595, 5597, 5599,
- 5601, 5603, 5605, 5607, 5609, 5611, 5613, 5615, 5617, 5619,
- 5621, 5623, 5625, 5627, 5629, 5631, 5633, 5635, 5637, 5639,
- 5641, 5643, 5645, 5647, 5649, 5651, 5653, 5655, 5657, 5659,
- 5661, 5663, 5665, 5667, 5669, 5671, 5673, 5675, 5677, 5679,
- 5681, 5683, 5685, 5687, 5689, 5691, 5693, 5695, 5697, 5699,
- 5701, 5703, 5705, 5707, 5709, 5711, 5713, 5715, 5717, 5719,
- 5721, 5723, 5725, 5727, 5729, 5731, 5733, 5735, 5737, 5739,
- 5741, 5743, 5745, 5747, 5749, 5751, 5753, 5755, 5757, 5759,
- 5761, 5763, 5765, 5767, 5769, 5771, 5773, 5775, 5777, 5779,
- 5781, 5783, 5785, 5787, 5789, 5791, 5793, 5795, 5797, 5799,
- 5801, 5803, 5805, 5807, 5809, 5811, 5813, 5815, 5817, 5819,
- 5821, 5823, 5825, 5827, 5829, 5831, 5833, 5835, 5837, 5839,
- 5841, 5843, 5845, 5847, 5849, 5851, 5853, 5855, 5857, 5859,
- 5861, 5863, 5865, 5867, 5869, 5871, 5873, 5875, 5877, 5879,
- 5881, 5883, 5885, 5887, 5889, 5891, 5893, 5895, 5897, 5899,
- 5901, 5903, 5905, 5907, 5909, 5911, 5913, 5915, 5917, 5919,
- 5921, 5923, 5925
+ 181, 183, 185, 187, 189, 191, 193, 195, 197, 199,
+ 201, 203, 205, 207, 209, 211, 212, 218, 220, 221,
+ 224, 225, 228, 231, 235, 239, 241, 243, 245, 247,
+ 249, 251, 253, 255, 257, 259, 261, 263, 267, 271,
+ 274, 277, 280, 283, 287, 291, 297, 303, 308, 314,
+ 319, 323, 329, 333, 339, 345, 352, 354, 356, 360,
+ 366, 373, 378, 380, 381, 384, 385, 387, 389, 391,
+ 393, 395, 397, 400, 404, 408, 412, 416, 420, 424,
+ 428, 432, 435, 441, 444, 447, 450, 453, 457, 461,
+ 465, 467, 471, 473, 477, 479, 481, 483, 486, 489,
+ 492, 494, 496, 498, 500, 502, 504, 506, 510, 517,
+ 519, 521, 523, 525, 527, 528, 530, 532, 535, 539,
+ 544, 548, 551, 554, 556, 559, 563, 568, 572, 575,
+ 580, 582, 584, 586, 588, 590, 593, 596, 599, 602,
+ 607, 612, 617, 622, 624, 628, 632, 637, 644, 651,
+ 658, 665, 670, 678, 681, 686, 690, 694, 698, 702,
+ 706, 711, 716, 720, 724, 728, 732, 736, 740, 745,
+ 750, 754, 757, 761, 765, 769, 772, 775, 779, 782,
+ 784, 786, 787, 790, 791, 795, 798, 799, 801, 805,
+ 809, 811, 817, 821, 824, 827, 838, 845, 847, 849,
+ 851, 853, 855, 858, 859, 861, 863, 867, 871, 873,
+ 875, 879, 883, 887, 892, 894, 895, 898, 899, 903,
+ 904, 906, 907, 919, 932, 934, 936, 939, 942, 945,
+ 948, 949, 951, 952, 954, 958, 960, 962, 964, 968,
+ 971, 972, 976, 978, 980, 983, 985, 989, 994, 999,
+ 1002, 1008, 1010, 1013, 1016, 1019, 1023, 1026, 1027, 1030,
+ 1033, 1036, 1039, 1042, 1045, 1049, 1051, 1056, 1063, 1071,
+ 1083, 1087, 1088, 1090, 1094, 1096, 1099, 1102, 1105, 1106,
+ 1108, 1110, 1113, 1116, 1117, 1121, 1125, 1128, 1130, 1132,
+ 1135, 1138, 1143, 1144, 1147, 1150, 1153, 1154, 1158, 1163,
+ 1168, 1169, 1172, 1173, 1178, 1179, 1187, 1193, 1197, 1198,
+ 1200, 1204, 1206, 1209, 1213, 1214, 1220, 1225, 1227, 1228,
+ 1230, 1233, 1236, 1238, 1241, 1245, 1248, 1251, 1254, 1257,
+ 1261, 1265, 1267, 1271, 1273, 1274, 1276, 1279, 1281, 1287,
+ 1297, 1299, 1300, 1302, 1305, 1308, 1311, 1313, 1314, 1317,
+ 1318, 1324, 1332, 1334, 1335, 1342, 1345, 1346, 1350, 1356,
+ 1364, 1371, 1380, 1388, 1395, 1402, 1407, 1408, 1410, 1414,
+ 1419, 1421, 1425, 1427, 1430, 1433, 1436, 1439, 1441, 1443,
+ 1454, 1457, 1458, 1461, 1464, 1466, 1467, 1472, 1479, 1485,
+ 1490, 1495, 1504, 1506, 1508, 1510, 1518, 1528, 1537, 1552,
+ 1572, 1574, 1576, 1578, 1582, 1584, 1586, 1588, 1590, 1594,
+ 1595, 1597, 1598, 1600, 1602, 1604, 1608, 1609, 1611, 1613,
+ 1615, 1617, 1619, 1621, 1624, 1625, 1627, 1630, 1632, 1635,
+ 1636, 1639, 1641, 1644, 1647, 1654, 1663, 1672, 1677, 1683,
+ 1688, 1693, 1698, 1702, 1710, 1719, 1726, 1733, 1740, 1747,
+ 1751, 1753, 1757, 1761, 1763, 1765, 1767, 1769, 1771, 1773,
+ 1777, 1781, 1785, 1787, 1791, 1795, 1797, 1801, 1815, 1817,
+ 1821, 1826, 1832, 1837, 1845, 1848, 1850, 1851, 1854, 1855,
+ 1857, 1858, 1865, 1874, 1883, 1885, 1889, 1895, 1901, 1909,
+ 1919, 1927, 1937, 1943, 1950, 1957, 1962, 1964, 1966, 1968,
+ 1970, 1972, 1974, 1976, 1978, 1982, 1986, 1990, 1994, 1996,
+ 2000, 2002, 2005, 2008, 2012, 2018, 2021, 2024, 2025, 2032,
+ 2040, 2048, 2056, 2065, 2074, 2081, 2090, 2100, 2110, 2118,
+ 2129, 2137, 2146, 2155, 2164, 2173, 2175, 2177, 2179, 2181,
+ 2183, 2185, 2187, 2189, 2191, 2193, 2195, 2197, 2199, 2201,
+ 2206, 2209, 2214, 2217, 2218, 2220, 2222, 2224, 2226, 2229,
+ 2232, 2234, 2236, 2238, 2241, 2244, 2246, 2249, 2252, 2254,
+ 2256, 2264, 2272, 2283, 2285, 2287, 2290, 2295, 2301, 2303,
+ 2307, 2310, 2313, 2316, 2319, 2321, 2324, 2327, 2332, 2336,
+ 2339, 2342, 2345, 2348, 2351, 2353, 2357, 2359, 2362, 2366,
+ 2367, 2369, 2373, 2376, 2383, 2390, 2400, 2404, 2405, 2409,
+ 2410, 2424, 2439, 2441, 2442, 2445, 2446, 2448, 2452, 2457,
+ 2462, 2469, 2471, 2474, 2475, 2477, 2479, 2480, 2482, 2484,
+ 2485, 2495, 2508, 2516, 2519, 2520, 2524, 2527, 2529, 2533,
+ 2537, 2540, 2542, 2546, 2550, 2554, 2557, 2560, 2562, 2564,
+ 2566, 2568, 2571, 2573, 2575, 2577, 2579, 2584, 2590, 2592,
+ 2596, 2600, 2602, 2605, 2610, 2616, 2618, 2620, 2622, 2624,
+ 2628, 2632, 2635, 2638, 2641, 2644, 2646, 2649, 2652, 2654,
+ 2656, 2658, 2662, 2665, 2666, 2669, 2671, 2675, 2681, 2683,
+ 2686, 2688, 2689, 2695, 2703, 2709, 2717, 2723, 2731, 2735,
+ 2741, 2747, 2753, 2755, 2759, 2771, 2782, 2793, 2796, 2799,
+ 2800, 2810, 2813, 2814, 2819, 2824, 2829, 2831, 2833, 2835,
+ 2836, 2844, 2851, 2858, 2865, 2872, 2880, 2890, 2900, 2907,
+ 2914, 2921, 2928, 2935, 2944, 2953, 2960, 2967, 2974, 2983,
+ 2992, 3001, 3010, 3017, 3019, 3020, 3023, 3024, 3032, 3039,
+ 3046, 3053, 3060, 3067, 3074, 3082, 3089, 3096, 3103, 3110,
+ 3118, 3126, 3136, 3146, 3153, 3160, 3167, 3176, 3185, 3194,
+ 3201, 3202, 3217, 3219, 3221, 3225, 3229, 3231, 3233, 3235,
+ 3237, 3239, 3241, 3243, 3244, 3246, 3248, 3250, 3252, 3254,
+ 3256, 3257, 3264, 3273, 3276, 3279, 3282, 3285, 3288, 3292,
+ 3296, 3299, 3302, 3305, 3308, 3312, 3315, 3321, 3326, 3330,
+ 3334, 3338, 3340, 3342, 3343, 3347, 3350, 3353, 3355, 3359,
+ 3362, 3364, 3365, 3374, 3385, 3389, 3394, 3399, 3400, 3403,
+ 3409, 3412, 3413, 3417, 3421, 3425, 3429, 3433, 3437, 3441,
+ 3445, 3449, 3453, 3457, 3461, 3465, 3470, 3474, 3478, 3480,
+ 3481, 3487, 3494, 3499, 3502, 3503, 3508, 3512, 3518, 3525,
+ 3530, 3537, 3544, 3550, 3558, 3560, 3561, 3568, 3580, 3592,
+ 3604, 3618, 3628, 3640, 3651, 3656, 3659, 3665, 3668, 3669,
+ 3674, 3680, 3686, 3689, 3694, 3696, 3698, 3700, 3701, 3703,
+ 3704, 3706, 3707, 3711, 3712, 3717, 3719, 3721, 3723, 3725,
+ 3727, 3729, 3731, 3733, 3734, 3740, 3744, 3745, 3747, 3749,
+ 3751, 3753, 3757, 3766, 3770, 3771, 3774, 3778, 3781, 3785,
+ 3791, 3793, 3798, 3801, 3803, 3807, 3810, 3813, 3814, 3821,
+ 3824, 3825, 3831, 3835, 3836, 3839, 3842, 3845, 3849, 3851,
+ 3855, 3857, 3860, 3862, 3863, 3871, 3873, 3877, 3879, 3881,
+ 3885, 3891, 3894, 3896, 3900, 3908, 3909, 3913, 3916, 3919,
+ 3922, 3923, 3926, 3929, 3931, 3933, 3937, 3941, 3943, 3946,
+ 3951, 3956, 3959, 3963, 3969, 3975, 3977, 3979, 3989, 3991,
+ 3994, 3999, 4004, 4009, 4012, 4016, 4018, 4022, 4027, 4030,
+ 4031, 4035, 4039, 4044, 4049, 4054, 4059, 4062, 4064, 4066,
+ 4067, 4069, 4071, 4072, 4074, 4080, 4082, 4083, 4085, 4086,
+ 4090, 4092, 4096, 4101, 4105, 4110, 4115, 4118, 4121, 4126,
+ 4130, 4136, 4145, 4147, 4148, 4150, 4152, 4154, 4158, 4159,
+ 4161, 4163, 4165, 4167, 4169, 4171, 4175, 4176, 4179, 4180,
+ 4182, 4186, 4188, 4189, 4191, 4194, 4199, 4204, 4207, 4208,
+ 4211, 4215, 4218, 4219, 4221, 4225, 4227, 4230, 4232, 4235,
+ 4241, 4248, 4254, 4256, 4259, 4261, 4266, 4270, 4275, 4281,
+ 4286, 4292, 4297, 4303, 4306, 4311, 4313, 4316, 4319, 4322,
+ 4324, 4326, 4327, 4332, 4335, 4337, 4340, 4343, 4348, 4350,
+ 4354, 4356, 4359, 4363, 4365, 4368, 4369, 4372, 4377, 4382,
+ 4383, 4385, 4389, 4392, 4395, 4399, 4405, 4412, 4415, 4419,
+ 4423, 4428, 4429, 4431, 4433, 4435, 4437, 4439, 4442, 4448,
+ 4450, 4452, 4454, 4456, 4459, 4463, 4467, 4468, 4470, 4472,
+ 4474, 4476, 4478, 4481, 4484, 4487, 4490, 4493, 4495, 4499,
+ 4500, 4502, 4504, 4506, 4508, 4514, 4517, 4519, 4521, 4523,
+ 4525, 4531, 4534, 4537, 4540, 4542, 4546, 4550, 4553, 4555,
+ 4556, 4560, 4561, 4567, 4570, 4576, 4579, 4581, 4584, 4588,
+ 4589, 4591, 4593, 4595, 4597, 4599, 4601, 4605, 4609, 4613,
+ 4617, 4621, 4625, 4629, 4630, 4632, 4637, 4639, 4643, 4649,
+ 4652, 4655, 4659, 4663, 4667, 4671, 4675, 4679, 4683, 4687,
+ 4691, 4695, 4698, 4701, 4705, 4709, 4712, 4716, 4722, 4727,
+ 4734, 4738, 4744, 4749, 4756, 4761, 4768, 4774, 4782, 4786,
+ 4789, 4794, 4797, 4801, 4805, 4810, 4814, 4819, 4823, 4828,
+ 4834, 4841, 4848, 4856, 4863, 4871, 4878, 4886, 4890, 4895,
+ 4900, 4907, 4910, 4914, 4919, 4921, 4925, 4928, 4931, 4935,
+ 4939, 4943, 4947, 4951, 4955, 4959, 4963, 4967, 4971, 4974,
+ 4977, 4983, 4990, 4997, 5005, 5009, 5014, 5016, 5018, 5021,
+ 5026, 5028, 5030, 5032, 5035, 5038, 5041, 5043, 5048, 5054,
+ 5061, 5070, 5077, 5084, 5090, 5092, 5094, 5099, 5101, 5106,
+ 5108, 5113, 5115, 5120, 5122, 5124, 5126, 5128, 5130, 5132,
+ 5139, 5144, 5149, 5154, 5159, 5166, 5172, 5178, 5184, 5189,
+ 5196, 5201, 5206, 5211, 5216, 5222, 5230, 5238, 5248, 5253,
+ 5260, 5266, 5274, 5282, 5290, 5293, 5297, 5301, 5305, 5310,
+ 5311, 5316, 5318, 5322, 5326, 5328, 5330, 5332, 5335, 5338,
+ 5339, 5342, 5343, 5345, 5349, 5353, 5356, 5359, 5360, 5367,
+ 5369, 5370, 5374, 5375, 5378, 5381, 5382, 5384, 5389, 5392,
+ 5395, 5398, 5403, 5407, 5413, 5415, 5417, 5419, 5421, 5423,
+ 5425, 5427, 5429, 5431, 5433, 5435, 5437, 5439, 5441, 5443,
+ 5448, 5450, 5455, 5457, 5462, 5464, 5467, 5469, 5472, 5474,
+ 5478, 5480, 5484, 5488, 5492, 5495, 5497, 5501, 5505, 5506,
+ 5508, 5510, 5512, 5514, 5516, 5518, 5520, 5522, 5527, 5531,
+ 5534, 5538, 5539, 5543, 5547, 5550, 5553, 5555, 5556, 5559,
+ 5562, 5566, 5569, 5571, 5573, 5577, 5583, 5585, 5588, 5593,
+ 5596, 5597, 5599, 5600, 5602, 5605, 5608, 5611, 5615, 5621,
+ 5623, 5626, 5627, 5630, 5632, 5633, 5635, 5637, 5639, 5643,
+ 5647, 5649, 5653, 5657, 5660, 5662, 5664, 5666, 5668, 5670,
+ 5674, 5676, 5679, 5681, 5685, 5687, 5689, 5691, 5693, 5695,
+ 5697, 5699, 5702, 5704, 5706, 5708, 5710, 5712, 5715, 5721,
+ 5724, 5728, 5735, 5737, 5739, 5741, 5743, 5745, 5747, 5749,
+ 5752, 5755, 5757, 5759, 5761, 5763, 5765, 5767, 5769, 5771,
+ 5773, 5775, 5777, 5779, 5781, 5783, 5785, 5787, 5789, 5791,
+ 5793, 5795, 5797, 5799, 5801, 5803, 5805, 5807, 5809, 5811,
+ 5813, 5815, 5817, 5819, 5821, 5823, 5825, 5827, 5829, 5831,
+ 5833, 5835, 5837, 5839, 5841, 5843, 5845, 5847, 5849, 5851,
+ 5853, 5855, 5857, 5859, 5861, 5863, 5865, 5867, 5869, 5871,
+ 5873, 5875, 5877, 5879, 5881, 5883, 5885, 5887, 5889, 5891,
+ 5893, 5895, 5897, 5899, 5901, 5903, 5905, 5907, 5909, 5911,
+ 5913, 5915, 5917, 5919, 5921, 5923, 5925, 5927, 5929, 5931,
+ 5933, 5935, 5937, 5939, 5941, 5943, 5945, 5947, 5949, 5951,
+ 5953, 5955, 5957, 5959, 5961, 5963, 5965, 5967, 5969, 5971,
+ 5973, 5975, 5977, 5979, 5981, 5983, 5985, 5987, 5989, 5991,
+ 5993, 5995, 5997, 5999, 6001, 6003, 6005, 6007, 6009, 6011,
+ 6013, 6015, 6017, 6019, 6021, 6023, 6025, 6027, 6029, 6031,
+ 6033, 6035, 6037, 6039, 6041, 6043, 6045, 6047, 6049, 6051,
+ 6053, 6055, 6057, 6059, 6061, 6063, 6065, 6067, 6069, 6071,
+ 6073, 6075, 6077, 6079, 6081, 6083, 6085, 6087, 6089, 6091,
+ 6093, 6095, 6097, 6099, 6101, 6103, 6105, 6107, 6109, 6111,
+ 6113, 6115, 6117, 6119, 6121, 6123, 6125, 6127, 6129, 6131,
+ 6133, 6135, 6137, 6139, 6141, 6143, 6145, 6147, 6149, 6151,
+ 6153, 6155, 6157, 6159, 6161, 6163, 6165, 6167, 6169, 6171,
+ 6173, 6175, 6177, 6179, 6181, 6183, 6185, 6187, 6189, 6191,
+ 6193, 6195, 6197, 6199, 6201, 6203, 6205, 6207, 6209, 6211,
+ 6213, 6215, 6217, 6219, 6221, 6223, 6225, 6227, 6229, 6231,
+ 6233, 6235, 6237, 6239, 6241, 6243, 6245, 6247, 6249, 6251,
+ 6253, 6255, 6257, 6259, 6261, 6263, 6265, 6267, 6269, 6271,
+ 6273, 6275, 6277, 6279, 6281, 6283, 6285, 6287, 6289, 6291,
+ 6293, 6295, 6297, 6299, 6301, 6303, 6305, 6307, 6309, 6311,
+ 6313, 6315, 6317, 6319, 6321, 6323, 6325, 6327, 6329, 6331,
+ 6333, 6335, 6337, 6339, 6341, 6343, 6345, 6347, 6349, 6351,
+ 6353, 6355, 6357, 6359, 6361, 6363, 6365, 6367, 6369, 6371,
+ 6373, 6375, 6377, 6379, 6381, 6383, 6385, 6387, 6389, 6391,
+ 6393, 6395, 6397, 6399, 6401, 6403, 6405, 6407, 6409, 6411,
+ 6413, 6415, 6417, 6419, 6421, 6423, 6425, 6427, 6429, 6431,
+ 6433, 6435, 6437, 6439, 6441, 6443, 6445, 6447, 6449, 6451,
+ 6453, 6455, 6457, 6459, 6461, 6463, 6465, 6467, 6469, 6471,
+ 6473, 6475, 6477, 6479, 6481, 6483, 6485, 6487, 6489, 6491,
+ 6493, 6495, 6497, 6499, 6501, 6503, 6505, 6507, 6509, 6511,
+ 6513, 6515, 6517, 6519, 6521, 6523, 6525, 6527, 6529, 6531,
+ 6533, 6535, 6537, 6539, 6541, 6543, 6545, 6547, 6549, 6551,
+ 6553, 6555, 6557, 6559, 6561, 6563
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const short int yyrhs[] =
{
- 409, 0, -1, 410, -1, 410, 405, 411, -1, 411,
- -1, 650, -1, 651, -1, 656, -1, 607, -1, 424,
- -1, 624, -1, 625, -1, 501, -1, 449, -1, 418,
- -1, 417, -1, 659, -1, 658, -1, 420, -1, 419,
- -1, 664, -1, 447, -1, 457, -1, 661, -1, 564,
- -1, 444, -1, 458, -1, 495, -1, 532, -1, 615,
- -1, 660, -1, 655, -1, 593, -1, 423, -1, 544,
- -1, 550, -1, 551, -1, 508, -1, 427, -1, 500,
- -1, 467, -1, 515, -1, 518, -1, 412, -1, 416,
- -1, 646, -1, 678, -1, 697, -1, 534, -1, 684,
- -1, 448, -1, 533, -1, 617, -1, 426, -1, 554,
- -1, 555, -1, 556, -1, 513, -1, 634, -1, 558,
- -1, 517, -1, 531, -1, 421, -1, 422, -1, 654,
- -1, 676, -1, 670, -1, 567, -1, 570, -1, 581,
- -1, 585, -1, 679, -1, 636, -1, 645, -1, 686,
- -1, 635, -1, 673, -1, 557, -1, 619, -1, 611,
- -1, 610, -1, 612, -1, 622, -1, 571, -1, 582,
- -1, 626, -1, 700, -1, 638, -1, 563, -1, 637,
- -1, 690, -1, 663, -1, 441, -1, 431, -1, 443,
- -1, 643, -1, -1, 67, 277, 825, 413, 414, -1,
- 359, -1, -1, 414, 415, -1, -1, 244, 824, -1,
- 244, 220, -1, 109, 244, 824, -1, 336, 244, 824,
- -1, 312, -1, 214, -1, 154, -1, 211, -1, 68,
- -1, 208, -1, 69, -1, 209, -1, 70, -1, 210,
- -1, 191, -1, 212, -1, 60, 183, 826, -1, 346,
- 341, 824, -1, 343, 814, -1, 314, 823, -1, 8,
- 814, -1, 277, 814, -1, 149, 277, 814, -1, 149,
- 138, 814, -1, 67, 343, 825, 413, 414, -1, 13,
- 277, 825, 413, 414, -1, 13, 277, 825, 442, -1,
- 13, 343, 825, 413, 414, -1, 13, 343, 825, 442,
- -1, 104, 277, 814, -1, 104, 277, 144, 117, 814,
- -1, 104, 343, 814, -1, 104, 343, 144, 117, 814,
- -1, 67, 138, 825, 413, 414, -1, 13, 138, 825,
- 425, 343, 814, -1, 7, -1, 104, -1, 104, 138,
- 814, -1, 104, 138, 144, 117, 814, -1, 67, 283,
- 428, 26, 825, 429, -1, 67, 283, 827, 429, -1,
- 827, -1, -1, 429, 430, -1, -1, 467, -1, 585,
- -1, 500, -1, 518, -1, 570, -1, 643, -1, 293,
- 432, -1, 293, 186, 432, -1, 293, 291, 432, -1,
- 433, 325, 434, -1, 433, 388, 434, -1, 433, 325,
- 87, -1, 433, 388, 87, -1, 433, 131, 73, -1,
- 323, 374, 438, -1, 327, 641, -1, 291, 46, 20,
- 327, 641, -1, 201, 439, -1, 277, 440, -1, 291,
- 26, 440, -1, 291, 26, 87, -1, 363, 233, 773,
- -1, 827, -1, 433, 404, 827, -1, 435, -1, 434,
- 406, 435, -1, 437, -1, 440, -1, 505, -1, 258,
- 335, -1, 258, 57, -1, 267, 258, -1, 290, -1,
- 331, -1, 121, -1, 230, -1, 226, -1, 824, -1,
- 380, -1, 761, 824, 763, -1, 761, 401, 823, 402,
- 824, 763, -1, 505, -1, 87, -1, 186, -1, 824,
- -1, 87, -1, -1, 827, -1, 382, -1, 270, 433,
- -1, 270, 323, 374, -1, 270, 327, 171, 181, -1,
- 270, 291, 26, -1, 270, 11, -1, 293, 432, -1,
- 441, -1, 296, 433, -1, 296, 323, 374, -1, 296,
- 327, 171, 181, -1, 296, 291, 26, -1, 296, 11,
- -1, 293, 62, 445, 446, -1, 11, -1, 812, -1,
- 90, -1, 146, -1, 48, -1, 98, 11, -1, 98,
- 318, -1, 98, 320, -1, 98, 246, -1, 13, 316,
- 734, 450, -1, 13, 152, 734, 452, -1, 451, -1,
- 450, 406, 451, -1, 7, 623, 472, -1, 13, 623,
- 827, 454, -1, 13, 623, 827, 104, 215, 220, -1,
- 13, 623, 827, 293, 215, 220, -1, 13, 623, 827,
- 293, 305, 507, -1, 13, 623, 827, 293, 308, 827,
- -1, 104, 623, 827, 455, -1, 13, 623, 827, 334,
- 741, 456, -1, 7, 480, -1, 104, 61, 815, 455,
- -1, 293, 360, 228, -1, 51, 230, 815, -1, 293,
- 360, 51, -1, 107, 329, 815, -1, 107, 14, 329,
- 815, -1, 107, 269, 329, 815, -1, 107, 329, 11,
- -1, 107, 329, 343, -1, 97, 329, 815, -1, 97,
- 329, 11, -1, 97, 329, 343, -1, 107, 281, 815,
- -1, 107, 14, 281, 815, -1, 107, 269, 281, 815,
- -1, 97, 281, 815, -1, 154, 813, -1, 207, 154,
- 813, -1, 453, -1, 453, -1, 452, 406, 453, -1,
- 241, 325, 825, -1, 293, 317, 815, -1, 293, 535,
- -1, 270, 535, -1, 293, 87, 764, -1, 104, 87,
- -1, 39, -1, 272, -1, -1, 344, 764, -1, -1,
- 50, 815, -1, 50, 11, -1, 65, 463, 813, 482,
- 464, 459, 460, 465, 413, 461, -1, 65, 701, 325,
- 460, 413, 461, -1, 131, -1, 325, -1, 824, -1,
- 306, -1, 307, -1, 461, 462, -1, -1, 32, -1,
- 228, -1, 93, 657, 824, -1, 220, 657, 824, -1,
- 72, -1, 141, -1, 257, 657, 824, -1, 112, 657,
- 824, -1, 127, 257, 483, -1, 127, 215, 220, 483,
- -1, 32, -1, -1, 359, 228, -1, -1, 466, 94,
- 824, -1, -1, 344, -1, -1, 67, 468, 316, 813,
- 401, 469, 402, 490, 491, 492, 493, -1, 67, 468,
- 316, 813, 225, 813, 401, 469, 402, 491, 492, 493,
- -1, 320, -1, 318, -1, 186, 320, -1, 186, 318,
- -1, 134, 320, -1, 134, 318, -1, -1, 470, -1,
- -1, 471, -1, 470, 406, 471, -1, 472, -1, 477,
- -1, 480, -1, 827, 741, 473, -1, 473, 474, -1,
- -1, 61, 815, 475, -1, 475, -1, 476, -1, 215,
- 220, -1, 220, -1, 338, 606, 494, -1, 252, 173,
- 606, 494, -1, 47, 401, 764, 402, -1, 87, 765,
- -1, 262, 813, 482, 485, 486, -1, 89, -1, 215,
- 89, -1, 156, 90, -1, 156, 146, -1, 182, 813,
- 478, -1, 478, 479, -1, -1, 150, 88, -1, 114,
- 88, -1, 150, 62, -1, 114, 62, -1, 150, 153,
- -1, 114, 153, -1, 61, 815, 481, -1, 481, -1,
- 47, 401, 764, 402, -1, 338, 401, 483, 402, 606,
- 494, -1, 252, 173, 401, 483, 402, 606, 494, -1,
- 128, 173, 401, 483, 402, 262, 813, 482, 485, 486,
- 528, -1, 401, 483, 402, -1, -1, 484, -1, 483,
- 406, 484, -1, 827, -1, 193, 132, -1, 193, 243,
- -1, 193, 298, -1, -1, 487, -1, 488, -1, 487,
- 488, -1, 488, 487, -1, -1, 230, 342, 489, -1,
- 230, 92, 489, -1, 207, 6, -1, 272, -1, 39,
- -1, 293, 220, -1, 293, 87, -1, 155, 401, 812,
- 402, -1, -1, 359, 535, -1, 359, 228, -1, 360,
- 228, -1, -1, 230, 56, 104, -1, 230, 56, 92,
- 280, -1, 230, 56, 249, 280, -1, -1, 317, 815,
- -1, -1, 344, 152, 317, 815, -1, -1, 67, 468,
- 316, 496, 20, 700, -1, 813, 497, 491, 492, 493,
- -1, 401, 498, 402, -1, -1, 499, -1, 498, 406,
- 499, -1, 827, -1, 67, 468, 289, 813, 502, -1,
- 13, 289, 813, 502, -1, 502, 503, -1, -1, 37,
- 505, -1, 80, -1, 207, 80, -1, 151, 504, 505,
- -1, 194, 505, -1, 196, 505, -1, 207, 194, -1,
- 207, 196, -1, 240, 36, 561, -1, 303, 413, 505,
- -1, 271, 413, 505, -1, 36, -1, -1, 506, -1,
- 507, -1, 381, -1, 393, 381, -1, 826, -1, 67,
- 509, 514, 175, 440, -1, 67, 509, 514, 175, 440,
- 139, 510, 511, 512, -1, 333, -1, -1, 815, -1,
- 815, 562, -1, 347, 510, -1, -1, 174, 824, -1,
- -1, 104, 514, 175, 440, 455, -1, 104, 514, 175,
- 144, 117, 440, 455, -1, 255, -1, -1, 67, 317,
- 815, 516, 189, 824, -1, 241, 815, -1, -1, 104,
- 317, 815, -1, 104, 317, 144, 117, 815, -1, 67,
- 329, 815, 519, 520, 230, 813, 522, 116, 256, 821,
- 401, 525, 402, -1, 67, 61, 329, 815, 9, 520,
- 230, 813, 527, 528, 126, 105, 279, 116, 256, 821,
- 401, 525, 402, -1, 28, -1, 9, -1, 521, -1,
- 521, 234, 521, -1, 521, 234, 521, 234, 521, -1,
- 161, -1, 92, -1, 342, -1, 126, 523, 524, -1,
- -1, 105, -1, -1, 279, -1, 304, -1, 526, -1,
- 525, 406, 526, -1, -1, 386, -1, 381, -1, 824,
- -1, 383, -1, 384, -1, 827, -1, 131, 813, -1,
- -1, 529, -1, 529, 530, -1, 530, -1, 530, 529,
- -1, -1, 215, 89, -1, 89, -1, 156, 146, -1,
- 156, 90, -1, 104, 329, 815, 230, 813, 455, -1,
- 104, 329, 144, 117, 815, 230, 813, 455, -1, 67,
- 22, 815, 47, 401, 764, 402, 528, -1, 104, 22,
- 815, 455, -1, 67, 10, 821, 539, 535, -1, 67,
- 10, 821, 540, -1, 67, 232, 614, 535, -1, 67,
- 334, 561, 535, -1, 67, 334, 561, -1, 67, 334,
- 561, 20, 401, 739, 402, -1, 67, 334, 561, 20,
- 111, 401, 543, 402, -1, 67, 321, 285, 242, 561,
- 535, -1, 67, 321, 285, 96, 561, 535, -1, 67,
- 321, 285, 319, 561, 535, -1, 67, 321, 285, 59,
- 561, 535, -1, 401, 536, 402, -1, 537, -1, 536,
- 406, 537, -1, 829, 388, 538, -1, 829, -1, 601,
- -1, 833, -1, 780, -1, 505, -1, 824, -1, 401,
- 784, 402, -1, 401, 394, 402, -1, 401, 541, 402,
- -1, 542, -1, 541, 406, 542, -1, 380, 388, 538,
- -1, 824, -1, 543, 406, 824, -1, 67, 232, 49,
- 561, 547, 126, 334, 741, 344, 817, 548, 20, 545,
- -1, 546, -1, 545, 406, 546, -1, 232, 823, 614,
- 549, -1, 232, 823, 614, 401, 613, 402, 549, -1,
- 133, 823, 821, 595, -1, 133, 823, 401, 784, 402,
- 821, 595, -1, 308, 741, -1, 87, -1, -1, 122,
- 561, -1, -1, 261, -1, -1, 67, 232, 122, 561,
- 344, 817, -1, 13, 232, 122, 561, 344, 817, 7,
- 545, -1, 13, 232, 122, 561, 344, 817, 104, 552,
- -1, 553, -1, 552, 406, 553, -1, 232, 823, 401,
- 784, 402, -1, 133, 823, 401, 784, 402, -1, 104,
- 232, 49, 561, 344, 817, 455, -1, 104, 232, 49,
- 144, 117, 561, 344, 817, 455, -1, 104, 232, 122,
- 561, 344, 817, 455, -1, 104, 232, 122, 144, 117,
- 561, 344, 817, 455, -1, 104, 240, 36, 814, 455,
- -1, 260, 240, 36, 814, 325, 815, -1, 104, 559,
- 144, 117, 560, 455, -1, 104, 559, 560, 455, -1,
- 316, -1, 289, -1, 354, -1, 152, -1, 334, -1,
- 102, -1, 64, -1, 283, -1, 321, 285, 242, -1,
- 321, 285, 96, -1, 321, 285, 319, -1, 321, 285,
- 59, -1, 561, -1, 560, 406, 561, -1, 827, -1,
- 827, 562, -1, 404, 818, -1, 562, 404, 818, -1,
- 332, 707, 812, 455, -1, 55, 230, 565, 561, 169,
- 566, -1, 55, 230, 10, 821, 539, 169, 566, -1,
- 55, 230, 133, 821, 595, 169, 566, -1, 55, 230,
- 232, 614, 401, 613, 402, 169, 566, -1, 55, 230,
- 61, 815, 230, 561, 169, 566, -1, 55, 230, 281,
- 815, 230, 561, 169, 566, -1, 55, 230, 281, 815,
- 169, 566, -1, 55, 230, 329, 815, 230, 561, 169,
- 566, -1, 55, 230, 232, 49, 561, 344, 817, 169,
- 566, -1, 55, 230, 232, 122, 561, 344, 817, 169,
- 566, -1, 55, 230, 176, 224, 505, 169, 566, -1,
- 55, 230, 42, 401, 741, 20, 741, 402, 169, 566,
- -1, 55, 230, 514, 175, 561, 169, 566, -1, 55,
- 230, 321, 285, 242, 561, 169, 566, -1, 55, 230,
- 321, 285, 96, 561, 169, 566, -1, 55, 230, 321,
- 285, 319, 561, 169, 566, -1, 55, 230, 321, 285,
- 59, 561, 169, 566, -1, 54, -1, 81, -1, 283,
- -1, 152, -1, 289, -1, 316, -1, 102, -1, 334,
- -1, 354, -1, 64, -1, 317, -1, 277, -1, 824,
- -1, 220, -1, 123, 568, 569, 815, -1, 123, 815,
- -1, 199, 568, 569, 815, -1, 199, 815, -1, -1,
- 206, -1, 253, -1, 124, -1, 177, -1, 4, 826,
- -1, 264, 826, -1, 826, -1, 11, -1, 129, -1,
- 129, 826, -1, 129, 11, -1, 27, -1, 27, 826,
- -1, 27, 11, -1, 131, -1, 149, -1, 135, 572,
- 230, 575, 325, 576, 578, -1, 275, 572, 230, 575,
- 131, 576, 455, -1, 275, 135, 233, 126, 572, 230,
- 575, 131, 576, 455, -1, 573, -1, 11, -1, 11,
- 254, -1, 574, -1, 573, 406, 574, -1, 288, -1,
- 262, -1, 67, -1, 827, -1, 812, -1, 316, 812,
- -1, 289, 812, -1, 133, 579, -1, 81, 814, -1,
- 175, 814, -1, 283, 814, -1, 317, 814, -1, 577,
- -1, 576, 406, 577, -1, 825, -1, 138, 825, -1,
- 359, 135, 233, -1, -1, 580, -1, 579, 406, 580,
- -1, 821, 595, -1, 135, 573, 325, 814, 583, 584,
- -1, 275, 573, 131, 814, 584, 455, -1, 275, 8,
- 233, 126, 573, 131, 814, 584, 455, -1, 359, 8,
- 233, -1, -1, 136, 36, 825, -1, -1, 67, 586,
- 152, 819, 230, 813, 587, 401, 588, 402, 606, 493,
- 737, -1, 67, 586, 152, 58, 819, 230, 813, 587,
- 401, 588, 402, 606, 493, 737, -1, 338, -1, -1,
- 344, 817, -1, -1, 589, -1, 588, 406, 589, -1,
- 827, 590, 591, 592, -1, 767, 590, 591, 592, -1,
- 401, 764, 402, 590, 591, 592, -1, 561, -1, 344,
- 561, -1, -1, 21, -1, 95, -1, -1, 375, -1,
- 376, -1, -1, 67, 594, 133, 821, 595, 274, 600,
- 602, 606, -1, 67, 594, 133, 821, 595, 602, 606,
- -1, 234, 268, -1, -1, 401, 596, 402, -1, 401,
- 402, -1, 597, -1, 596, 406, 597, -1, 598, 599,
- 601, -1, 599, 598, 601, -1, 599, 601, -1, 598,
- 601, -1, 601, -1, 149, -1, 236, -1, 158, -1,
- 149, 236, -1, 828, -1, 601, -1, 741, -1, 828,
- 562, 396, 334, -1, 294, 828, 562, 396, 334, -1,
- 604, -1, 602, 604, -1, 38, 230, 220, 159, -1,
- 274, 220, 230, 220, 159, -1, 309, -1, 147, -1,
- 301, -1, 355, -1, 119, 287, 91, -1, 119, 287,
- 168, -1, 287, 91, -1, 287, 168, -1, 66, 505,
- -1, 280, 505, -1, 442, -1, 20, 605, -1, 175,
- 440, -1, 603, -1, 824, -1, 824, 406, 824, -1,
- 359, 535, -1, -1, 13, 133, 580, 608, 609, -1,
- 603, -1, 608, 603, -1, 272, -1, -1, 104, 133,
- 821, 595, 455, -1, 104, 133, 144, 117, 821, 595,
- 455, -1, 104, 10, 821, 539, 455, -1, 104, 10,
- 144, 117, 821, 539, 455, -1, 104, 232, 614, 401,
- 613, 402, 455, -1, 104, 232, 144, 117, 614, 401,
- 613, 402, 455, -1, 741, -1, 741, 406, 741, -1,
- 213, 406, 741, -1, 741, 406, 213, -1, 777, -1,
- 827, 404, 614, -1, 67, 42, 401, 741, 20, 741,
- 402, 359, 133, 580, 616, -1, 67, 42, 401, 741,
- 20, 741, 402, 360, 133, 616, -1, 20, 148, -1,
- 20, 23, -1, -1, 104, 42, 618, 401, 741, 20,
- 741, 402, 455, -1, 144, 117, -1, -1, 263, 620,
- 813, 621, -1, 263, 315, 815, 621, -1, 263, 81,
- 815, 621, -1, 152, -1, 316, -1, 127, -1, -1,
- 13, 10, 821, 539, 266, 325, 815, -1, 13, 64,
- 561, 266, 325, 815, -1, 13, 81, 816, 266, 325,
- 816, -1, 13, 133, 580, 266, 325, 815, -1, 13,
- 138, 825, 266, 325, 825, -1, 13, 514, 175, 815,
- 266, 325, 815, -1, 13, 232, 49, 561, 344, 817,
- 266, 325, 815, -1, 13, 232, 122, 561, 344, 817,
- 266, 325, 815, -1, 13, 283, 815, 266, 325, 815,
- -1, 13, 316, 734, 266, 325, 815, -1, 13, 289,
- 734, 266, 325, 815, -1, 13, 354, 734, 266, 325,
- 815, -1, 13, 152, 734, 266, 325, 815, -1, 13,
- 316, 734, 266, 623, 815, 325, 815, -1, 13, 329,
- 815, 230, 734, 266, 325, 815, -1, 13, 277, 825,
- 266, 325, 825, -1, 13, 343, 825, 266, 325, 825,
- -1, 13, 317, 815, 266, 325, 815, -1, 13, 321,
- 285, 242, 561, 266, 325, 815, -1, 13, 321, 285,
- 96, 561, 266, 325, 815, -1, 13, 321, 285, 319,
- 561, 266, 325, 815, -1, 13, 321, 285, 59, 561,
- 266, 325, 815, -1, 54, -1, -1, 13, 10, 821,
- 539, 293, 283, 815, -1, 13, 102, 561, 293, 283,
- 815, -1, 13, 133, 580, 293, 283, 815, -1, 13,
- 289, 734, 293, 283, 815, -1, 13, 316, 734, 293,
- 283, 815, -1, 13, 334, 561, 293, 283, 815, -1,
- 13, 10, 821, 539, 241, 325, 825, -1, 13, 64,
- 561, 241, 325, 825, -1, 13, 81, 816, 241, 325,
- 825, -1, 13, 102, 561, 241, 325, 825, -1, 13,
- 133, 580, 241, 325, 825, -1, 13, 514, 175, 815,
- 241, 325, 825, -1, 13, 232, 614, 401, 613, 402,
- 241, 325, 825, -1, 13, 232, 49, 561, 344, 817,
- 241, 325, 825, -1, 13, 232, 122, 561, 344, 817,
- 241, 325, 825, -1, 13, 283, 815, 241, 325, 825,
- -1, 13, 334, 561, 241, 325, 825, -1, 13, 317,
- 815, 241, 325, 825, -1, 13, 321, 285, 96, 561,
- 241, 325, 825, -1, 13, 321, 285, 59, 561, 241,
- 325, 825, -1, -1, 67, 594, 281, 815, 20, 627,
- 230, 632, 325, 813, 737, 100, 633, 628, -1, 216,
- -1, 630, -1, 401, 629, 402, -1, 629, 405, 631,
- -1, 631, -1, 700, -1, 679, -1, 690, -1, 684,
- -1, 635, -1, 630, -1, -1, 288, -1, 342, -1,
- 92, -1, 161, -1, 162, -1, 12, -1, -1, 104,
- 281, 815, 230, 813, 455, -1, 104, 281, 144, 117,
- 815, 230, 813, 455, -1, 217, 827, -1, 184, 827,
- -1, 340, 827, -1, 340, 394, -1, 3, 639, -1,
- 29, 639, 642, -1, 303, 327, 642, -1, 56, 639,
- -1, 110, 639, -1, 278, 639, -1, 282, 827, -1,
- 265, 282, 827, -1, 265, 827, -1, 278, 639, 325,
- 282, 827, -1, 278, 639, 325, 827, -1, 250, 327,
- 824, -1, 56, 251, 824, -1, 278, 251, 824, -1,
- 361, -1, 327, -1, -1, 171, 181, 436, -1, 258,
- 231, -1, 258, 362, -1, 640, -1, 641, 406, 640,
- -1, 641, 640, -1, 641, -1, -1, 67, 468, 354,
- 813, 482, 20, 700, 644, -1, 67, 234, 268, 468,
- 354, 813, 482, 20, 700, 644, -1, 379, 233, -1,
- 377, 47, 233, -1, 378, 47, 233, -1, -1, 185,
- 820, -1, 67, 81, 816, 413, 647, -1, 647, 648,
- -1, -1, 317, 649, 815, -1, 317, 649, 87, -1,
- 189, 649, 824, -1, 189, 649, 87, -1, 319, 649,
- 815, -1, 319, 649, 87, -1, 108, 649, 824, -1,
- 108, 649, 823, -1, 108, 649, 87, -1, 60, 183,
- 649, 826, -1, 241, 649, 815, -1, 241, 649, 87,
- -1, 388, -1, -1, 13, 81, 816, 413, 652, -1,
- 13, 81, 816, 442, -1, 652, 653, -1, -1, 60,
- 183, 649, 826, -1, 104, 81, 816, -1, 104, 81,
- 144, 117, 816, -1, 67, 102, 561, 657, 741, 473,
- -1, 13, 102, 561, 454, -1, 13, 102, 561, 104,
- 215, 220, -1, 13, 102, 561, 293, 215, 220, -1,
- 13, 102, 561, 7, 480, -1, 13, 102, 561, 104,
- 61, 815, 455, -1, 20, -1, -1, 13, 321, 285,
- 96, 561, 535, -1, 13, 321, 285, 59, 561, 7,
- 192, 126, 814, 359, 560, -1, 13, 321, 285, 59,
- 561, 13, 192, 126, 814, 359, 560, -1, 13, 321,
- 285, 59, 561, 13, 192, 268, 561, 359, 561, -1,
- 13, 321, 285, 59, 561, 13, 192, 126, 814, 268,
- 561, 359, 561, -1, 13, 321, 285, 59, 561, 104,
- 192, 126, 814, -1, 13, 321, 285, 59, 561, 104,
- 192, 144, 117, 126, 814, -1, 67, 547, 64, 561,
- 126, 824, 325, 824, 131, 561, -1, 51, 813, 662,
- -1, 51, -1, 51, 819, 230, 813, -1, 344, 819,
- -1, -1, 345, 667, 668, 666, -1, 345, 667, 668,
- 666, 813, -1, 345, 667, 668, 666, 664, -1, 665,
- 666, -1, 665, 666, 813, 669, -1, 16, -1, 15,
- -1, 352, -1, -1, 132, -1, -1, 130, -1, -1,
- 401, 814, 402, -1, -1, 118, 672, 666, 671, -1,
- 700, -1, 679, -1, 690, -1, 684, -1, 697, -1,
- 676, -1, 665, -1, -1, 250, 815, 674, 20, 675,
- -1, 401, 784, 402, -1, -1, 700, -1, 679, -1,
- 690, -1, 684, -1, 116, 815, 677, -1, 67, 468,
- 316, 496, 20, 116, 815, 677, -1, 401, 782, 402,
- -1, -1, 83, 815, -1, 83, 250, 815, -1, 83,
- 11, -1, 83, 250, 11, -1, 161, 167, 813, 680,
- 683, -1, 700, -1, 401, 681, 402, 700, -1, 87,
- 349, -1, 682, -1, 681, 406, 682, -1, 827, 804,
- -1, 273, 809, -1, -1, 92, 131, 735, 685, 738,
- 683, -1, 344, 727, -1, -1, 190, 707, 812, 687,
- 689, -1, 149, 688, 197, -1, -1, 5, 295, -1,
- 279, 295, -1, 279, 115, -1, 295, 342, 115, -1,
- 295, -1, 295, 279, 115, -1, 115, -1, 5, 115,
- -1, 219, -1, -1, 342, 735, 293, 691, 726, 738,
- 683, -1, 692, -1, 691, 406, 692, -1, 693, -1,
- 694, -1, 695, 388, 806, -1, 401, 696, 402, 388,
- 808, -1, 827, 804, -1, 695, -1, 696, 406, 695,
- -1, 86, 815, 698, 79, 699, 126, 700, -1, -1,
- 698, 207, 284, -1, 698, 284, -1, 698, 32, -1,
- 698, 160, -1, -1, 359, 142, -1, 360, 142, -1,
- 702, -1, 701, -1, 401, 702, 402, -1, 401, 701,
- 402, -1, 704, -1, 703, 711, -1, 703, 710, 720,
- 715, -1, 703, 710, 714, 721, -1, 704, -1, 701,
- -1, 288, 709, 809, 705, 726, 737, 718, 719, -1,
- 725, -1, 703, 337, 708, 703, -1, 703, 165, 708,
- 703, -1, 703, 113, 708, 703, -1, 167, 706, -1,
- -1, 320, 707, 813, -1, 318, 707, 813, -1, 186,
- 320, 707, 813, -1, 186, 318, 707, 813, -1, 134,
- 320, 707, 813, -1, 134, 318, 707, 813, -1, 316,
- 813, -1, 813, -1, 316, -1, -1, 11, -1, 99,
- -1, -1, 99, -1, 99, 230, 401, 782, 402, -1,
- 11, -1, -1, 711, -1, -1, 235, 36, 712, -1,
- 713, -1, 712, 406, 713, -1, 764, 344, 780, 592,
- -1, 764, 591, 592, -1, 183, 716, 227, 717, -1,
- 227, 717, 183, 716, -1, 183, 716, -1, 227, 717,
- -1, 183, 716, 406, 717, -1, 714, -1, -1, 764,
- -1, 11, -1, 764, -1, 138, 36, 782, -1, -1,
- 140, 764, -1, -1, 722, -1, 126, 258, 231, -1,
- 720, -1, -1, 723, -1, 722, 723, -1, 126, 342,
- 724, 689, -1, 126, 295, 724, 689, -1, 225, 814,
- -1, -1, 349, 808, -1, 725, 406, 808, -1, 131,
- 727, -1, -1, 728, -1, 727, 406, 728, -1, 734,
- -1, 734, 730, -1, 736, -1, 736, 730, -1, 736,
- 20, 401, 739, 402, -1, 736, 20, 827, 401, 739,
- 402, -1, 736, 827, 401, 739, 402, -1, 701, -1,
- 701, 730, -1, 729, -1, 401, 729, 402, 730, -1,
- 401, 729, 402, -1, 728, 71, 172, 728, -1, 728,
- 731, 172, 728, 733, -1, 728, 172, 728, 733, -1,
- 728, 203, 731, 172, 728, -1, 728, 203, 172, 728,
- -1, 20, 827, 401, 814, 402, -1, 20, 827, -1,
- 827, 401, 814, 402, -1, 827, -1, 132, 732, -1,
- 180, 732, -1, 276, 732, -1, 157, -1, 237, -1,
- -1, 344, 401, 814, 402, -1, 230, 764, -1, 813,
- -1, 813, 394, -1, 231, 813, -1, 231, 401, 813,
- 402, -1, 734, -1, 734, 827, -1, 734, 20, 827,
- -1, 767, -1, 357, 764, -1, -1, 357, 764, -1,
- 357, 73, 225, 815, -1, 357, 73, 225, 387, -1,
- -1, 740, -1, 739, 406, 740, -1, 827, 741, -1,
- 743, 742, -1, 294, 743, 742, -1, 743, 19, 399,
- 823, 400, -1, 294, 743, 19, 399, 823, 400, -1,
- 742, 399, 400, -1, 742, 399, 823, 400, -1, -1,
- 745, -1, 747, -1, 749, -1, 753, -1, 760, -1,
- 761, 763, -1, 761, 401, 823, 402, 763, -1, 747,
- -1, 750, -1, 754, -1, 760, -1, 828, 746, -1,
- 828, 562, 746, -1, 401, 782, 402, -1, -1, 163,
- -1, 164, -1, 299, -1, 31, -1, 259, -1, 125,
- 748, -1, 103, 248, -1, 85, 746, -1, 84, 746,
- -1, 223, 746, -1, 34, -1, 401, 823, 402, -1,
- -1, 751, -1, 752, -1, 751, -1, 752, -1, 33,
- 758, 401, 782, 402, -1, 33, 758, -1, 755, -1,
- 756, -1, 755, -1, 756, -1, 757, 401, 823, 402,
- 759, -1, 757, 759, -1, 45, 758, -1, 44, 758,
- -1, 350, -1, 202, 45, 758, -1, 202, 44, 758,
- -1, 204, 758, -1, 351, -1, -1, 45, 293, 827,
- -1, -1, 324, 401, 823, 402, 762, -1, 324, 762,
- -1, 323, 401, 823, 402, 762, -1, 323, 762, -1,
- 166, -1, 359, 323, 374, -1, 360, 323, 374, -1,
- -1, 372, -1, 198, -1, 82, -1, 143, -1, 195,
- -1, 286, -1, 372, 325, 198, -1, 82, 325, 143,
- -1, 82, 325, 195, -1, 82, 325, 286, -1, 143,
- 325, 195, -1, 143, 325, 286, -1, 195, 325, 286,
- -1, -1, 766, -1, 764, 403, 741, -1, 764, 25,
- 323, 374, 764, -1, 392, 764, -1, 393, 764, -1,
- 764, 392, 764, -1, 764, 393, 764, -1, 764, 394,
- 764, -1, 764, 395, 764, -1, 764, 396, 764, -1,
- 764, 397, 764, -1, 764, 389, 764, -1, 764, 390,
- 764, -1, 764, 388, 764, -1, 764, 779, 764, -1,
- 779, 764, -1, 764, 779, -1, 764, 17, 764, -1,
- 764, 234, 764, -1, 215, 764, -1, 764, 182, 764,
- -1, 764, 182, 764, 112, 764, -1, 764, 215, 182,
- 764, -1, 764, 215, 182, 764, 112, 764, -1, 764,
- 145, 764, -1, 764, 145, 764, 112, 764, -1, 764,
- 215, 145, 764, -1, 764, 215, 145, 764, 112, 764,
- -1, 764, 297, 325, 764, -1, 764, 297, 325, 764,
- 112, 764, -1, 764, 215, 297, 325, 764, -1, 764,
- 215, 297, 325, 764, 112, 764, -1, 764, 169, 220,
- -1, 764, 170, -1, 764, 169, 215, 220, -1, 764,
- 218, -1, 775, 238, 775, -1, 764, 169, 331, -1,
- 764, 169, 215, 331, -1, 764, 169, 121, -1, 764,
- 169, 215, 121, -1, 764, 169, 339, -1, 764, 169,
- 215, 339, -1, 764, 169, 99, 131, 764, -1, 764,
- 169, 215, 99, 131, 764, -1, 764, 169, 225, 401,
- 784, 402, -1, 764, 169, 215, 225, 401, 784, 402,
- -1, 764, 30, 805, 765, 17, 765, -1, 764, 215,
- 30, 805, 765, 17, 765, -1, 764, 30, 313, 765,
- 17, 765, -1, 764, 215, 30, 313, 765, 17, 765,
- -1, 764, 149, 795, -1, 764, 215, 149, 795, -1,
- 764, 781, 776, 701, -1, 764, 781, 776, 401, 764,
- 402, -1, 338, 701, -1, 764, 169, 101, -1, 764,
- 169, 215, 101, -1, 766, -1, 765, 403, 741, -1,
- 392, 765, -1, 393, 765, -1, 765, 392, 765, -1,
- 765, 393, 765, -1, 765, 394, 765, -1, 765, 395,
- 765, -1, 765, 396, 765, -1, 765, 397, 765, -1,
- 765, 389, 765, -1, 765, 390, 765, -1, 765, 388,
- 765, -1, 765, 779, 765, -1, 779, 765, -1, 765,
- 779, -1, 765, 169, 99, 131, 765, -1, 765, 169,
- 215, 99, 131, 765, -1, 765, 169, 225, 401, 784,
- 402, -1, 765, 169, 215, 225, 401, 784, 402, -1,
- 765, 169, 101, -1, 765, 169, 215, 101, -1, 801,
- -1, 822, -1, 387, 804, -1, 401, 764, 402, 804,
- -1, 796, -1, 767, -1, 701, -1, 117, 701, -1,
- 19, 701, -1, 19, 786, -1, 775, -1, 821, 401,
- 402, -1, 821, 401, 782, 402, -1, 821, 401, 11,
- 782, 402, -1, 821, 401, 99, 782, 402, -1, 821,
- 401, 394, 402, -1, 74, -1, 76, -1, 76, 401,
- 823, 402, -1, 77, -1, 77, 401, 823, 402, -1,
- 187, -1, 187, 401, 823, 402, -1, 188, -1, 188,
- 401, 823, 402, -1, 75, -1, 78, -1, 292, -1,
- 343, -1, 42, 401, 764, 20, 741, 402, -1, 120,
- 401, 783, 402, -1, 239, 401, 788, 402, -1, 247,
- 401, 790, 402, -1, 311, 401, 791, 402, -1, 328,
- 401, 764, 20, 741, 402, -1, 330, 401, 35, 794,
- 402, -1, 330, 401, 178, 794, 402, -1, 330, 401,
- 326, 794, 402, -1, 330, 401, 794, 402, -1, 221,
- 401, 764, 406, 764, 402, -1, 52, 401, 782, 402,
- -1, 137, 401, 782, 402, -1, 179, 401, 782, 402,
- -1, 365, 401, 782, 402, -1, 366, 401, 200, 829,
- 402, -1, 366, 401, 200, 829, 406, 770, 402, -1,
- 366, 401, 200, 829, 406, 782, 402, -1, 366, 401,
- 200, 829, 406, 770, 406, 782, 402, -1, 367, 401,
- 771, 402, -1, 368, 401, 773, 764, 774, 402, -1,
- 369, 401, 200, 829, 402, -1, 369, 401, 200, 829,
- 406, 764, 402, -1, 370, 401, 764, 406, 768, 769,
- 402, -1, 371, 401, 773, 764, 20, 743, 402, -1,
- 353, 764, -1, 353, 207, 348, -1, 406, 302, 373,
- -1, 406, 302, 207, -1, 406, 302, 207, 348, -1,
- -1, 364, 401, 771, 402, -1, 772, -1, 771, 406,
- 772, -1, 764, 20, 829, -1, 764, -1, 101, -1,
- 63, -1, 249, 358, -1, 310, 358, -1, -1, 279,
- 401, 782, 402, -1, 279, 401, 402, -1, 401, 782,
- 406, 764, 402, -1, 18, -1, 300, -1, 11, -1,
- 385, -1, 778, -1, 392, -1, 393, -1, 394, -1,
- 395, -1, 396, -1, 397, -1, 389, -1, 390, -1,
- 388, -1, 385, -1, 232, 401, 614, 402, -1, 777,
- -1, 232, 401, 614, 402, -1, 777, -1, 232, 401,
- 614, 402, -1, 182, -1, 215, 182, -1, 145, -1,
- 215, 145, -1, 764, -1, 782, 406, 764, -1, 787,
- 131, 764, -1, -1, 741, -1, 784, 406, 741, -1,
- 786, -1, 785, 406, 786, -1, 399, 782, 400, -1,
- 399, 785, 400, -1, 380, -1, 372, -1, 198, -1,
- 82, -1, 143, -1, 195, -1, 286, -1, 382, -1,
- 764, 789, 792, 793, -1, 764, 789, 792, -1, 245,
- 764, -1, 765, 149, 765, -1, -1, 764, 792, 793,
- -1, 764, 793, 792, -1, 764, 792, -1, 764, 793,
- -1, 782, -1, -1, 131, 764, -1, 126, 764, -1,
- 764, 131, 782, -1, 131, 782, -1, 782, -1, 701,
- -1, 401, 782, 402, -1, 41, 800, 797, 799, 110,
- -1, 798, -1, 797, 798, -1, 356, 764, 322, 764,
- -1, 106, 764, -1, -1, 764, -1, -1, 811, -1,
- 811, 803, -1, 404, 818, -1, 404, 394, -1, 399,
- 764, 400, -1, 399, 764, 407, 764, 400, -1, 802,
- -1, 803, 802, -1, -1, 804, 802, -1, 24, -1,
- -1, 764, -1, 87, -1, 806, -1, 807, 406, 806,
- -1, 401, 807, 402, -1, 810, -1, 809, 406, 810,
- -1, 764, 20, 829, -1, 764, -1, 394, -1, 834,
- -1, 827, -1, 813, -1, 812, 406, 813, -1, 811,
- -1, 811, 803, -1, 815, -1, 814, 406, 815, -1,
- 827, -1, 827, -1, 827, -1, 829, -1, 827, -1,
- 824, -1, 828, -1, 811, 803, -1, 823, -1, 381,
- -1, 824, -1, 383, -1, 384, -1, 821, 824, -1,
- 821, 401, 782, 402, 824, -1, 744, 824, -1, 761,
- 824, 763, -1, 761, 401, 823, 402, 824, 763, -1,
- 331, -1, 121, -1, 220, -1, 386, -1, 382, -1,
- 827, -1, 386, -1, 393, 386, -1, 380, -1, 830,
- -1, 831, -1, 380, -1, 830, -1, 832, -1, 380,
- -1, 830, -1, 831, -1, 832, -1, 833, -1, 3,
- -1, 4, -1, 5, -1, 6, -1, 7, -1, 8,
- -1, 9, -1, 10, -1, 12, -1, 13, -1, 14,
- -1, 22, -1, 23, -1, 25, -1, 27, -1, 28,
- -1, 29, -1, 36, -1, 37, -1, 38, -1, 39,
- -1, 40, -1, 43, -1, 46, -1, 48, -1, 49,
- -1, 50, -1, 51, -1, 55, -1, 56, -1, 57,
- -1, 58, -1, 59, -1, 60, -1, 62, -1, 63,
- -1, 64, -1, 65, -1, 66, -1, 68, -1, 69,
- -1, 70, -1, 72, -1, 73, -1, 79, -1, 80,
- -1, 81, -1, 82, -1, 83, -1, 86, -1, 88,
- -1, 90, -1, 91, -1, 92, -1, 93, -1, 94,
- -1, 96, -1, 97, -1, 98, -1, 101, -1, 102,
- -1, 103, -1, 104, -1, 105, -1, 107, -1, 108,
- -1, 109, -1, 111, -1, 112, -1, 114, -1, 115,
- -1, 116, -1, 118, -1, 119, -1, 122, -1, 123,
- -1, 124, -1, 127, -1, 129, -1, 133, -1, 134,
- -1, 136, -1, 139, -1, 141, -1, 142, -1, 143,
- -1, 144, -1, 146, -1, 147, -1, 148, -1, 150,
- -1, 151, -1, 152, -1, 153, -1, 154, -1, 155,
- -1, 159, -1, 160, -1, 161, -1, 162, -1, 168,
- -1, 171, -1, 173, -1, 174, -1, 175, -1, 176,
- -1, 177, -1, 181, -1, 184, -1, 185, -1, 186,
- -1, 189, -1, 190, -1, 191, -1, 192, -1, 193,
- -1, 194, -1, 195, -1, 196, -1, 197, -1, 198,
- -1, 199, -1, 200, -1, 201, -1, 206, -1, 207,
- -1, 208, -1, 209, -1, 210, -1, 211, -1, 212,
- -1, 214, -1, 216, -1, 217, -1, 219, -1, 222,
- -1, 224, -1, 225, -1, 228, -1, 232, -1, 233,
- -1, 240, -1, 241, -1, 242, -1, 243, -1, 244,
- -1, 246, -1, 250, -1, 251, -1, 249, -1, 253,
- -1, 254, -1, 255, -1, 256, -1, 257, -1, 258,
- -1, 260, -1, 261, -1, 263, -1, 264, -1, 265,
- -1, 266, -1, 267, -1, 268, -1, 269, -1, 270,
- -1, 271, -1, 272, -1, 274, -1, 275, -1, 277,
- -1, 278, -1, 280, -1, 281, -1, 282, -1, 283,
- -1, 284, -1, 285, -1, 286, -1, 287, -1, 289,
- -1, 290, -1, 291, -1, 293, -1, 295, -1, 296,
- -1, 298, -1, 301, -1, 302, -1, 303, -1, 304,
- -1, 305, -1, 306, -1, 307, -1, 308, -1, 309,
- -1, 310, -1, 312, -1, 314, -1, 315, -1, 317,
- -1, 318, -1, 319, -1, 320, -1, 321, -1, 327,
- -1, 329, -1, 332, -1, 333, -1, 334, -1, 335,
- -1, 336, -1, 339, -1, 340, -1, 341, -1, 342,
- -1, 345, -1, 346, -1, 347, -1, 348, -1, 351,
- -1, 353, -1, 354, -1, 355, -1, 358, -1, 359,
- -1, 360, -1, 361, -1, 362, -1, 363, -1, 372,
- -1, 373, -1, 374, -1, 31, -1, 33, -1, 34,
- -1, 44, -1, 45, -1, 52, -1, 84, -1, 85,
- -1, 117, -1, 120, -1, 125, -1, 137, -1, 158,
- -1, 163, -1, 164, -1, 166, -1, 179, -1, 202,
- -1, 204, -1, 213, -1, 221, -1, 223, -1, 236,
- -1, 239, -1, 247, -1, 248, -1, 259, -1, 279,
- -1, 294, -1, 299, -1, 311, -1, 323, -1, 324,
- -1, 328, -1, 330, -1, 349, -1, 350, -1, 364,
- -1, 365, -1, 366, -1, 367, -1, 368, -1, 369,
- -1, 370, -1, 371, -1, 26, -1, 30, -1, 32,
- -1, 71, -1, 130, -1, 132, -1, 145, -1, 157,
- -1, 169, -1, 170, -1, 172, -1, 180, -1, 182,
- -1, 203, -1, 218, -1, 237, -1, 238, -1, 276,
- -1, 297, -1, 352, -1, 11, -1, 15, -1, 16,
- -1, 17, -1, 18, -1, 19, -1, 20, -1, 21,
- -1, 24, -1, 35, -1, 41, -1, 42, -1, 47,
- -1, 53, -1, 54, -1, 61, -1, 67, -1, 74,
- -1, 75, -1, 76, -1, 77, -1, 78, -1, 87,
- -1, 89, -1, 95, -1, 99, -1, 100, -1, 106,
- -1, 110, -1, 113, -1, 121, -1, 126, -1, 128,
- -1, 131, -1, 135, -1, 138, -1, 140, -1, 149,
- -1, 156, -1, 165, -1, 167, -1, 178, -1, 183,
- -1, 187, -1, 188, -1, 205, -1, 215, -1, 220,
- -1, 226, -1, 227, -1, 229, -1, 230, -1, 231,
- -1, 234, -1, 235, -1, 245, -1, 252, -1, 262,
- -1, 273, -1, 288, -1, 292, -1, 300, -1, 313,
- -1, 316, -1, 322, -1, 325, -1, 326, -1, 331,
- -1, 337, -1, 338, -1, 343, -1, 344, -1, 356,
- -1, 357, -1, 229, -1, 205, -1
+ 427, 0, -1, 428, -1, 428, 423, 429, -1, 429,
+ -1, 699, -1, 700, -1, 705, -1, 541, -1, 555,
+ -1, 655, -1, 442, -1, 673, -1, 674, -1, 522,
+ -1, 467, -1, 436, -1, 435, -1, 708, -1, 707,
+ -1, 559, -1, 438, -1, 437, -1, 713, -1, 465,
+ -1, 477, -1, 710, -1, 607, -1, 462, -1, 478,
+ -1, 515, -1, 574, -1, 663, -1, 709, -1, 704,
+ -1, 539, -1, 550, -1, 636, -1, 441, -1, 586,
+ -1, 592, -1, 593, -1, 528, -1, 445, -1, 521,
+ -1, 487, -1, 536, -1, 560, -1, 430, -1, 434,
+ -1, 556, -1, 695, -1, 727, -1, 746, -1, 576,
+ -1, 733, -1, 466, -1, 575, -1, 665, -1, 540,
+ -1, 554, -1, 444, -1, 596, -1, 597, -1, 598,
+ -1, 534, -1, 683, -1, 600, -1, 538, -1, 573,
+ -1, 439, -1, 440, -1, 558, -1, 703, -1, 725,
+ -1, 719, -1, 610, -1, 613, -1, 624, -1, 628,
+ -1, 728, -1, 685, -1, 694, -1, 735, -1, 684,
+ -1, 722, -1, 599, -1, 667, -1, 659, -1, 658,
+ -1, 660, -1, 670, -1, 614, -1, 625, -1, 675,
+ -1, 749, -1, 687, -1, 605, -1, 686, -1, 739,
+ -1, 712, -1, 459, -1, 449, -1, 461, -1, 692,
+ -1, -1, 69, 292, 893, 431, 432, -1, 378, -1,
+ -1, 432, 433, -1, -1, 256, 892, -1, 256, 229,
+ -1, 114, 256, 892, -1, 353, 256, 892, -1, 328,
+ -1, 223, -1, 161, -1, 220, -1, 70, -1, 217,
+ -1, 71, -1, 218, -1, 72, -1, 219, -1, 200,
+ -1, 221, -1, 61, 192, 894, -1, 363, 358, 892,
+ -1, 360, 882, -1, 330, 891, -1, 8, 882, -1,
+ 292, 882, -1, 156, 292, 882, -1, 156, 144, 882,
+ -1, 69, 360, 893, 431, 432, -1, 13, 292, 893,
+ 431, 432, -1, 13, 292, 893, 460, -1, 13, 360,
+ 893, 431, 432, -1, 13, 360, 893, 460, -1, 109,
+ 292, 882, -1, 109, 292, 151, 122, 882, -1, 109,
+ 360, 882, -1, 109, 360, 151, 122, 882, -1, 69,
+ 144, 893, 431, 432, -1, 13, 144, 893, 443, 360,
+ 882, -1, 7, -1, 109, -1, 109, 144, 882, -1,
+ 109, 144, 151, 122, 882, -1, 69, 298, 446, 26,
+ 893, 447, -1, 69, 298, 895, 447, -1, 895, -1,
+ -1, 447, 448, -1, -1, 487, -1, 628, -1, 521,
+ -1, 560, -1, 613, -1, 692, -1, 309, 450, -1,
+ 309, 195, 450, -1, 309, 307, 450, -1, 451, 341,
+ 452, -1, 451, 406, 452, -1, 451, 341, 92, -1,
+ 451, 406, 92, -1, 451, 137, 75, -1, 339, 394,
+ 456, -1, 343, 690, -1, 307, 47, 20, 343, 690,
+ -1, 43, 892, -1, 298, 892, -1, 210, 457, -1,
+ 292, 458, -1, 307, 26, 458, -1, 307, 26, 92,
+ -1, 383, 242, 831, -1, 895, -1, 451, 422, 895,
+ -1, 453, -1, 452, 424, 453, -1, 455, -1, 458,
+ -1, 527, -1, 272, 352, -1, 272, 58, -1, 282,
+ 272, -1, 305, -1, 347, -1, 126, -1, 239, -1,
+ 235, -1, 892, -1, 398, -1, 818, 892, 820, -1,
+ 818, 419, 891, 420, 892, 820, -1, 527, -1, 92,
+ -1, 195, -1, 892, -1, 92, -1, -1, 895, -1,
+ 892, -1, 285, 451, -1, 285, 339, 394, -1, 285,
+ 343, 178, 190, -1, 285, 307, 26, -1, 285, 11,
+ -1, 309, 450, -1, 459, -1, 312, 451, -1, 312,
+ 339, 394, -1, 312, 343, 178, 190, -1, 312, 307,
+ 26, -1, 312, 11, -1, 309, 63, 463, 464, -1,
+ 11, -1, 880, -1, 95, -1, 153, -1, 49, -1,
+ 103, 11, -1, 103, 334, -1, 103, 336, -1, 103,
+ 258, -1, 13, 332, 790, 468, -1, 13, 159, 881,
+ 468, -1, 13, 304, 881, 468, -1, 13, 372, 881,
+ 468, -1, 469, -1, 468, 424, 469, -1, 7, 671,
+ 492, -1, 13, 671, 895, 470, -1, 13, 671, 895,
+ 109, 224, 229, -1, 13, 671, 895, 309, 224, 229,
+ -1, 13, 671, 895, 309, 321, 894, -1, 13, 671,
+ 895, 309, 324, 895, -1, 109, 671, 895, 471, -1,
+ 13, 671, 895, 672, 350, 798, 472, -1, 7, 500,
+ -1, 109, 62, 883, 471, -1, 309, 378, 237, -1,
+ 309, 379, 237, -1, 52, 239, 883, -1, 309, 379,
+ 52, -1, 112, 345, 883, -1, 112, 14, 345, 883,
+ -1, 112, 284, 345, 883, -1, 112, 345, 11, -1,
+ 112, 345, 360, -1, 102, 345, 883, -1, 102, 345,
+ 11, -1, 102, 345, 360, -1, 112, 296, 883, -1,
+ 112, 14, 296, 883, -1, 112, 284, 296, 883, -1,
+ 102, 296, 883, -1, 161, 881, -1, 216, 161, 881,
+ -1, 252, 341, 893, -1, 309, 333, 883, -1, 309,
+ 473, -1, 285, 473, -1, 309, 92, 822, -1, 109,
+ 92, -1, 39, -1, 287, -1, -1, 361, 822, -1,
+ -1, 419, 475, 420, -1, 378, 473, -1, -1, 476,
+ -1, 475, 424, 476, -1, 897, 406, 580, -1, 897,
+ -1, 897, 422, 897, 406, 580, -1, 897, 422, 897,
+ -1, 51, 883, -1, 51, 11, -1, 67, 483, 881,
+ 502, 484, 479, 480, 485, 431, 481, -1, 67, 750,
+ 341, 480, 431, 481, -1, 137, -1, 341, -1, 892,
+ -1, 322, -1, 323, -1, 481, 482, -1, -1, 32,
+ -1, 237, -1, 98, 706, 892, -1, 229, 706, 892,
+ -1, 74, -1, 147, -1, 270, 706, 892, -1, 117,
+ 706, 892, -1, 133, 270, 503, -1, 133, 224, 229,
+ 503, -1, 32, -1, -1, 378, 237, -1, -1, 486,
+ 99, 892, -1, -1, 361, -1, -1, 69, 488, 332,
+ 881, 419, 489, 420, 510, 511, 512, 513, -1, 69,
+ 488, 332, 881, 234, 881, 419, 489, 420, 511, 512,
+ 513, -1, 336, -1, 334, -1, 195, 336, -1, 195,
+ 334, -1, 140, 336, -1, 140, 334, -1, -1, 490,
+ -1, -1, 491, -1, 490, 424, 491, -1, 492, -1,
+ 497, -1, 500, -1, 895, 798, 493, -1, 493, 494,
+ -1, -1, 62, 883, 495, -1, 495, -1, 496, -1,
+ 224, 229, -1, 229, -1, 355, 652, 514, -1, 265,
+ 180, 652, 514, -1, 48, 419, 822, 420, -1, 92,
+ 823, -1, 277, 881, 502, 505, 506, -1, 94, -1,
+ 224, 94, -1, 163, 95, -1, 163, 153, -1, 191,
+ 881, 498, -1, 498, 499, -1, -1, 157, 93, -1,
+ 119, 93, -1, 157, 63, -1, 119, 63, -1, 157,
+ 160, -1, 119, 160, -1, 62, 883, 501, -1, 501,
+ -1, 48, 419, 822, 420, -1, 355, 419, 503, 420,
+ 652, 514, -1, 265, 180, 419, 503, 420, 652, 514,
+ -1, 134, 180, 419, 503, 420, 277, 881, 502, 505,
+ 506, 570, -1, 419, 503, 420, -1, -1, 504, -1,
+ 503, 424, 504, -1, 895, -1, 202, 138, -1, 202,
+ 254, -1, 202, 314, -1, -1, 507, -1, 508, -1,
+ 507, 508, -1, 508, 507, -1, -1, 239, 359, 509,
+ -1, 239, 97, 509, -1, 216, 6, -1, 287, -1,
+ 39, -1, 309, 229, -1, 309, 92, -1, 162, 419,
+ 880, 420, -1, -1, 378, 473, -1, 378, 237, -1,
+ 379, 237, -1, -1, 239, 57, 109, -1, 239, 57,
+ 97, 295, -1, 239, 57, 262, 295, -1, -1, 333,
+ 883, -1, -1, 361, 159, 333, 883, -1, -1, 69,
+ 488, 332, 516, 20, 749, 520, -1, 881, 517, 511,
+ 512, 513, -1, 419, 518, 420, -1, -1, 519, -1,
+ 518, 424, 519, -1, 895, -1, 378, 85, -1, 378,
+ 216, 85, -1, -1, 69, 488, 304, 881, 523, -1,
+ 13, 304, 881, 524, -1, 524, -1, -1, 525, -1,
+ 524, 525, -1, 37, 527, -1, 84, -1, 216, 84,
+ -1, 158, 526, 527, -1, 203, 527, -1, 205, 527,
+ -1, 216, 203, -1, 216, 205, -1, 251, 36, 603,
+ -1, 319, 431, 527, -1, 286, -1, 286, 431, 527,
+ -1, 36, -1, -1, 399, -1, 411, 399, -1, 894,
+ -1, 69, 529, 535, 182, 458, -1, 69, 529, 535,
+ 182, 458, 145, 530, 532, 533, -1, 349, -1, -1,
+ 883, -1, 883, 604, -1, 364, 530, -1, 216, 364,
+ -1, 531, -1, -1, 181, 892, -1, -1, 109, 535,
+ 182, 458, 471, -1, 109, 535, 182, 151, 122, 458,
+ 471, -1, 268, -1, -1, 69, 333, 883, 537, 198,
+ 892, -1, 252, 883, -1, -1, 109, 333, 883, -1,
+ 109, 333, 151, 122, 883, -1, 69, 134, 85, 381,
+ 883, 532, 542, -1, 109, 134, 85, 381, 883, 471,
+ -1, 109, 134, 85, 381, 151, 122, 883, 471, -1,
+ 13, 134, 85, 381, 883, 531, 544, -1, 13, 134,
+ 85, 381, 883, 531, -1, 13, 134, 85, 381, 883,
+ 544, -1, 243, 419, 543, 420, -1, -1, 547, -1,
+ 543, 424, 547, -1, 243, 419, 545, 420, -1, 546,
+ -1, 545, 424, 546, -1, 547, -1, 309, 547, -1,
+ 7, 547, -1, 109, 548, -1, 548, 549, -1, 897,
+ -1, 892, -1, 69, 306, 883, 551, 553, 134, 85,
+ 381, 883, 542, -1, 350, 892, -1, -1, 371, 892,
+ -1, 371, 229, -1, 552, -1, -1, 109, 306, 883,
+ 471, -1, 109, 306, 151, 122, 883, 471, -1, 13,
+ 306, 883, 552, 544, -1, 13, 306, 883, 552, -1,
+ 13, 306, 883, 544, -1, 69, 360, 201, 132, 557,
+ 306, 883, 542, -1, 82, -1, 360, -1, 893, -1,
+ 109, 360, 201, 132, 557, 306, 883, -1, 109, 360,
+ 201, 151, 122, 132, 557, 306, 883, -1, 13, 360,
+ 201, 132, 557, 306, 883, 544, -1, 69, 345, 883,
+ 561, 562, 239, 881, 564, 121, 269, 889, 419, 567,
+ 420, -1, 69, 62, 345, 883, 9, 562, 239, 881,
+ 569, 570, 132, 110, 294, 121, 269, 889, 419, 567,
+ 420, -1, 28, -1, 9, -1, 563, -1, 562, 244,
+ 563, -1, 168, -1, 97, -1, 359, -1, 348, -1,
+ 132, 565, 566, -1, -1, 110, -1, -1, 294, -1,
+ 320, -1, 568, -1, 567, 424, 568, -1, -1, 891,
+ -1, 399, -1, 892, -1, 401, -1, 402, -1, 895,
+ -1, 137, 881, -1, -1, 571, -1, 571, 572, -1,
+ 572, -1, 572, 571, -1, -1, 224, 94, -1, 94,
+ -1, 163, 153, -1, 163, 95, -1, 109, 345, 883,
+ 239, 881, 471, -1, 109, 345, 151, 122, 883, 239,
+ 881, 471, -1, 69, 22, 883, 48, 419, 822, 420,
+ 570, -1, 109, 22, 883, 471, -1, 69, 10, 889,
+ 581, 577, -1, 69, 10, 889, 582, -1, 69, 241,
+ 662, 577, -1, 69, 350, 603, 577, -1, 69, 350,
+ 603, -1, 69, 350, 603, 20, 419, 796, 420, -1,
+ 69, 350, 603, 20, 116, 419, 585, 420, -1, 69,
+ 337, 300, 253, 603, 577, -1, 69, 337, 300, 101,
+ 603, 577, -1, 69, 337, 300, 335, 603, 577, -1,
+ 69, 337, 300, 60, 603, 577, -1, 419, 578, 420,
+ -1, 579, -1, 578, 424, 579, -1, 897, 406, 580,
+ -1, 897, -1, 646, -1, 901, -1, 848, -1, 527,
+ -1, 892, -1, 419, 851, 420, -1, 419, 412, 420,
+ -1, 419, 583, 420, -1, 584, -1, 583, 424, 584,
+ -1, 398, 406, 580, -1, 892, -1, 585, 424, 892,
+ -1, 69, 241, 50, 603, 589, 132, 350, 798, 361,
+ 885, 590, 20, 587, -1, 588, -1, 587, 424, 588,
+ -1, 241, 891, 662, 591, -1, 241, 891, 662, 661,
+ 591, -1, 139, 891, 889, 638, -1, 139, 891, 419,
+ 851, 420, 889, 638, -1, 324, 798, -1, 92, -1,
+ -1, 127, 603, -1, -1, 275, -1, -1, 69, 241,
+ 127, 603, 361, 885, -1, 13, 241, 127, 603, 361,
+ 885, 7, 587, -1, 13, 241, 127, 603, 361, 885,
+ 109, 594, -1, 595, -1, 594, 424, 595, -1, 241,
+ 891, 419, 851, 420, -1, 139, 891, 419, 851, 420,
+ -1, 109, 241, 50, 603, 361, 885, 471, -1, 109,
+ 241, 50, 151, 122, 603, 361, 885, 471, -1, 109,
+ 241, 127, 603, 361, 885, 471, -1, 109, 241, 127,
+ 151, 122, 603, 361, 885, 471, -1, 109, 251, 36,
+ 882, 471, -1, 274, 251, 36, 882, 341, 883, -1,
+ 109, 601, 151, 122, 602, 471, -1, 109, 601, 602,
+ 471, -1, 332, -1, 304, -1, 372, -1, 159, -1,
+ 350, -1, 107, -1, 66, -1, 298, -1, 337, 300,
+ 253, -1, 337, 300, 101, -1, 337, 300, 335, -1,
+ 337, 300, 60, -1, 603, -1, 602, 424, 603, -1,
+ 895, -1, 895, 604, -1, 422, 886, -1, 604, 422,
+ 886, -1, 348, 759, 791, 606, 471, -1, 65, 150,
+ -1, 286, 150, -1, -1, 56, 239, 608, 603, 176,
+ 609, -1, 56, 239, 10, 889, 581, 176, 609, -1,
+ 56, 239, 139, 889, 638, 176, 609, -1, 56, 239,
+ 241, 662, 661, 176, 609, -1, 56, 239, 62, 883,
+ 239, 603, 176, 609, -1, 56, 239, 296, 883, 239,
+ 603, 176, 609, -1, 56, 239, 296, 883, 176, 609,
+ -1, 56, 239, 345, 883, 239, 603, 176, 609, -1,
+ 56, 239, 241, 50, 603, 361, 885, 176, 609, -1,
+ 56, 239, 241, 127, 603, 361, 885, 176, 609, -1,
+ 56, 239, 183, 233, 527, 176, 609, -1, 56, 239,
+ 42, 419, 798, 20, 798, 420, 176, 609, -1, 56,
+ 239, 535, 182, 603, 176, 609, -1, 56, 239, 337,
+ 300, 253, 603, 176, 609, -1, 56, 239, 337, 300,
+ 101, 603, 176, 609, -1, 56, 239, 337, 300, 335,
+ 603, 176, 609, -1, 56, 239, 337, 300, 60, 603,
+ 176, 609, -1, 55, -1, 86, -1, 298, -1, 159,
+ -1, 304, -1, 332, -1, 107, -1, 350, -1, 372,
+ -1, 66, -1, 333, -1, 292, -1, 892, -1, 229,
+ -1, 128, 611, 612, 883, -1, 128, 883, -1, 208,
+ 611, 612, 883, -1, 208, 883, -1, -1, 215, -1,
+ 266, -1, 129, -1, 184, -1, 4, 894, -1, 279,
+ 894, -1, 894, -1, 11, -1, 135, -1, 135, 894,
+ -1, 135, 11, -1, 27, -1, 27, 894, -1, 27,
+ 11, -1, 137, -1, 156, -1, 141, 615, 239, 618,
+ 341, 619, 621, -1, 290, 615, 239, 618, 137, 619,
+ 471, -1, 290, 141, 242, 132, 615, 239, 618, 137,
+ 619, 471, -1, 616, -1, 11, -1, 11, 267, -1,
+ 11, 419, 503, 420, -1, 11, 267, 419, 503, 420,
+ -1, 617, -1, 616, 424, 617, -1, 303, 502, -1,
+ 277, 502, -1, 69, 502, -1, 895, 502, -1, 880,
+ -1, 332, 880, -1, 304, 880, -1, 134, 85, 381,
+ 882, -1, 134, 306, 882, -1, 139, 622, -1, 86,
+ 882, -1, 182, 882, -1, 298, 882, -1, 333, 882,
+ -1, 620, -1, 619, 424, 620, -1, 893, -1, 144,
+ 893, -1, 378, 141, 242, -1, -1, 623, -1, 622,
+ 424, 623, -1, 889, 638, -1, 141, 616, 341, 882,
+ 626, 627, -1, 290, 616, 137, 882, 627, 471, -1,
+ 290, 8, 242, 132, 616, 137, 882, 627, 471, -1,
+ 378, 8, 242, -1, -1, 142, 36, 893, -1, -1,
+ 69, 629, 159, 887, 239, 881, 630, 419, 631, 420,
+ 474, 513, 794, -1, 69, 629, 159, 59, 887, 239,
+ 881, 630, 419, 631, 420, 474, 513, 794, -1, 355,
+ -1, -1, 361, 885, -1, -1, 632, -1, 631, 424,
+ 632, -1, 895, 633, 634, 635, -1, 825, 633, 634,
+ 635, -1, 419, 822, 420, 633, 634, 635, -1, 603,
+ -1, 361, 603, -1, -1, 21, -1, 100, -1, -1,
+ 395, -1, 396, -1, -1, 69, 637, 139, 889, 640,
+ 289, 645, 648, 652, -1, 69, 637, 139, 889, 640,
+ 289, 332, 419, 654, 420, 648, 652, -1, 69, 637,
+ 139, 889, 640, 648, 652, -1, 244, 283, -1, -1,
+ 419, 639, 420, -1, 419, 420, -1, 642, -1, 639,
+ 424, 642, -1, 419, 641, 420, -1, 419, 420, -1,
+ 647, -1, 641, 424, 647, -1, 643, 644, 646, -1,
+ 644, 643, 646, -1, 644, 646, -1, 643, 646, -1,
+ 646, -1, 156, -1, 246, -1, 165, -1, 156, 246,
+ -1, 368, -1, 896, -1, 646, -1, 798, -1, 896,
+ 604, 414, 350, -1, 310, 896, 604, 414, 350, -1,
+ 642, -1, 642, 92, 822, -1, 642, 406, 822, -1,
+ 650, -1, 648, 650, -1, 38, 239, 229, 166, -1,
+ 289, 229, 239, 229, 166, -1, 325, -1, 154, -1,
+ 317, -1, 373, -1, 124, 302, 96, -1, 124, 302,
+ 175, -1, 302, 96, -1, 302, 175, -1, 68, 527,
+ -1, 295, 527, -1, 460, -1, 20, 651, -1, 182,
+ 458, -1, 377, -1, 649, -1, 892, -1, 892, 424,
+ 892, -1, 378, 577, -1, -1, 644, 646, -1, 653,
+ -1, 654, 424, 653, -1, 13, 139, 623, 656, 657,
+ -1, 649, -1, 656, 649, -1, 287, -1, -1, 109,
+ 139, 889, 638, 471, -1, 109, 139, 151, 122, 889,
+ 638, 471, -1, 109, 10, 889, 581, 471, -1, 109,
+ 10, 151, 122, 889, 581, 471, -1, 109, 241, 662,
+ 661, 471, -1, 109, 241, 151, 122, 662, 661, 471,
+ -1, 419, 798, 420, -1, 419, 798, 424, 798, 420,
+ -1, 419, 222, 424, 798, 420, -1, 419, 798, 424,
+ 222, 420, -1, 845, -1, 895, 422, 662, -1, 69,
+ 42, 419, 798, 20, 798, 420, 378, 139, 623, 664,
+ -1, 69, 42, 419, 798, 20, 798, 420, 379, 139,
+ 664, -1, 69, 42, 419, 798, 20, 798, 420, 378,
+ 165, 664, -1, 20, 155, -1, 20, 23, -1, -1,
+ 109, 42, 666, 419, 798, 20, 798, 420, 471, -1,
+ 151, 122, -1, -1, 278, 668, 881, 669, -1, 278,
+ 331, 883, 669, -1, 278, 86, 883, 669, -1, 159,
+ -1, 332, -1, 133, -1, -1, 13, 10, 889, 581,
+ 281, 341, 883, -1, 13, 66, 603, 281, 341, 883,
+ -1, 13, 86, 884, 281, 341, 884, -1, 13, 139,
+ 623, 281, 341, 883, -1, 13, 144, 893, 281, 341,
+ 893, -1, 13, 535, 182, 883, 281, 341, 883, -1,
+ 13, 241, 50, 603, 361, 885, 281, 341, 883, -1,
+ 13, 241, 127, 603, 361, 885, 281, 341, 883, -1,
+ 13, 298, 883, 281, 341, 883, -1, 13, 332, 790,
+ 281, 341, 883, -1, 13, 304, 881, 281, 341, 883,
+ -1, 13, 372, 881, 281, 341, 883, -1, 13, 159,
+ 881, 281, 341, 883, -1, 13, 332, 790, 281, 671,
+ 883, 341, 883, -1, 13, 345, 883, 239, 881, 281,
+ 341, 883, -1, 13, 292, 893, 281, 341, 893, -1,
+ 13, 360, 893, 281, 341, 893, -1, 13, 333, 883,
+ 281, 341, 883, -1, 13, 337, 300, 253, 603, 281,
+ 341, 883, -1, 13, 337, 300, 101, 603, 281, 341,
+ 883, -1, 13, 337, 300, 335, 603, 281, 341, 883,
+ -1, 13, 337, 300, 60, 603, 281, 341, 883, -1,
+ 13, 350, 603, 281, 341, 883, -1, 55, -1, -1,
+ 309, 85, -1, -1, 13, 10, 889, 581, 309, 298,
+ 883, -1, 13, 107, 603, 309, 298, 883, -1, 13,
+ 139, 623, 309, 298, 883, -1, 13, 332, 790, 309,
+ 298, 883, -1, 13, 304, 881, 309, 298, 883, -1,
+ 13, 372, 881, 309, 298, 883, -1, 13, 350, 603,
+ 309, 298, 883, -1, 13, 10, 889, 581, 252, 341,
+ 893, -1, 13, 66, 603, 252, 341, 893, -1, 13,
+ 86, 884, 252, 341, 893, -1, 13, 107, 603, 252,
+ 341, 893, -1, 13, 139, 623, 252, 341, 893, -1,
+ 13, 535, 182, 883, 252, 341, 893, -1, 13, 241,
+ 662, 661, 252, 341, 893, -1, 13, 241, 50, 603,
+ 361, 885, 252, 341, 893, -1, 13, 241, 127, 603,
+ 361, 885, 252, 341, 893, -1, 13, 298, 883, 252,
+ 341, 893, -1, 13, 350, 603, 252, 341, 893, -1,
+ 13, 333, 883, 252, 341, 893, -1, 13, 337, 300,
+ 101, 603, 252, 341, 893, -1, 13, 337, 300, 60,
+ 603, 252, 341, 893, -1, 13, 134, 85, 381, 883,
+ 252, 341, 893, -1, 13, 306, 883, 252, 341, 893,
+ -1, -1, 69, 637, 296, 883, 20, 676, 239, 681,
+ 341, 881, 794, 105, 682, 677, -1, 225, -1, 679,
+ -1, 419, 678, 420, -1, 678, 423, 680, -1, 680,
+ -1, 749, -1, 728, -1, 739, -1, 733, -1, 684,
+ -1, 679, -1, -1, 303, -1, 359, -1, 97, -1,
+ 168, -1, 169, -1, 12, -1, -1, 109, 296, 883,
+ 239, 881, 471, -1, 109, 296, 151, 122, 883, 239,
+ 881, 471, -1, 226, 895, -1, 193, 895, -1, 357,
+ 895, -1, 357, 412, -1, 3, 688, -1, 29, 688,
+ 691, -1, 319, 343, 691, -1, 57, 688, -1, 115,
+ 688, -1, 293, 688, -1, 297, 895, -1, 280, 297,
+ 895, -1, 280, 895, -1, 293, 688, 341, 297, 895,
+ -1, 293, 688, 341, 895, -1, 263, 343, 892, -1,
+ 57, 264, 892, -1, 293, 264, 892, -1, 380, -1,
+ 343, -1, -1, 178, 190, 454, -1, 272, 240, -1,
+ 272, 382, -1, 689, -1, 690, 424, 689, -1, 690,
+ 689, -1, 690, -1, -1, 69, 488, 372, 881, 502,
+ 20, 749, 693, -1, 69, 244, 283, 488, 372, 881,
+ 502, 20, 749, 693, -1, 378, 48, 242, -1, 378,
+ 40, 48, 242, -1, 378, 195, 48, 242, -1, -1,
+ 194, 888, -1, 69, 86, 884, 431, 696, -1, 696,
+ 697, -1, -1, 333, 698, 883, -1, 333, 698, 92,
+ -1, 198, 698, 892, -1, 198, 698, 92, -1, 335,
+ 698, 883, -1, 335, 698, 92, -1, 113, 698, 892,
+ -1, 113, 698, 891, -1, 113, 698, 92, -1, 185,
+ 698, 892, -1, 185, 698, 92, -1, 186, 698, 892,
+ -1, 186, 698, 92, -1, 61, 192, 698, 894, -1,
+ 252, 698, 883, -1, 252, 698, 92, -1, 406, -1,
+ -1, 13, 86, 884, 431, 701, -1, 13, 86, 884,
+ 309, 333, 883, -1, 13, 86, 884, 460, -1, 701,
+ 702, -1, -1, 61, 192, 698, 894, -1, 109, 86,
+ 884, -1, 109, 86, 151, 122, 884, -1, 69, 107,
+ 603, 706, 798, 493, -1, 13, 107, 603, 470, -1,
+ 13, 107, 603, 109, 224, 229, -1, 13, 107, 603,
+ 309, 224, 229, -1, 13, 107, 603, 7, 500, -1,
+ 13, 107, 603, 109, 62, 883, 471, -1, 20, -1,
+ -1, 13, 337, 300, 101, 603, 577, -1, 13, 337,
+ 300, 60, 603, 7, 201, 132, 882, 378, 602, -1,
+ 13, 337, 300, 60, 603, 13, 201, 132, 882, 378,
+ 602, -1, 13, 337, 300, 60, 603, 13, 201, 283,
+ 603, 378, 603, -1, 13, 337, 300, 60, 603, 13,
+ 201, 132, 882, 283, 603, 378, 603, -1, 13, 337,
+ 300, 60, 603, 109, 201, 132, 882, -1, 13, 337,
+ 300, 60, 603, 109, 201, 151, 122, 132, 882, -1,
+ 69, 589, 66, 603, 132, 892, 341, 892, 137, 603,
+ -1, 52, 715, 881, 711, -1, 52, 715, -1, 52,
+ 715, 887, 239, 881, -1, 361, 887, -1, -1, 362,
+ 716, 717, 715, -1, 362, 716, 717, 715, 881, -1,
+ 362, 716, 717, 715, 713, -1, 714, 715, -1, 714,
+ 715, 881, 718, -1, 16, -1, 15, -1, 370, -1,
+ -1, 138, -1, -1, 136, -1, -1, 419, 882, 420,
+ -1, -1, 123, 721, 715, 720, -1, 749, -1, 728,
+ -1, 739, -1, 733, -1, 746, -1, 515, -1, 725,
+ -1, 714, -1, -1, 263, 883, 723, 20, 724, -1,
+ 419, 851, 420, -1, -1, 749, -1, 728, -1, 739,
+ -1, 733, -1, 121, 883, 726, -1, 69, 488, 332,
+ 516, 20, 121, 883, 726, -1, 419, 850, 420, -1,
+ -1, 88, 883, -1, 88, 263, 883, -1, 88, 11,
+ -1, 88, 263, 11, -1, 168, 174, 881, 729, 732,
+ -1, 749, -1, 419, 730, 420, 749, -1, 92, 366,
+ -1, 731, -1, 730, 424, 731, -1, 895, 872, -1,
+ 288, 877, -1, -1, 97, 137, 792, 734, 795, 732,
+ -1, 361, 783, -1, -1, 199, 759, 791, 736, 738,
+ -1, 156, 737, 206, -1, -1, 5, 311, -1, 294,
+ 311, -1, 294, 120, -1, 311, 359, 120, -1, 311,
+ -1, 311, 294, 120, -1, 120, -1, 5, 120, -1,
+ 228, -1, -1, 359, 792, 309, 740, 782, 795, 732,
+ -1, 741, -1, 740, 424, 741, -1, 742, -1, 743,
+ -1, 744, 406, 874, -1, 419, 745, 420, 406, 876,
+ -1, 895, 872, -1, 744, -1, 745, 424, 744, -1,
+ 91, 883, 747, 83, 748, 132, 749, -1, -1, 747,
+ 216, 299, -1, 747, 299, -1, 747, 32, -1, 747,
+ 167, -1, -1, 378, 148, -1, 379, 148, -1, 751,
+ -1, 750, -1, 419, 751, 420, -1, 419, 750, 420,
+ -1, 753, -1, 752, 763, -1, 752, 762, 776, 767,
+ -1, 752, 762, 766, 777, -1, 754, 753, -1, 754,
+ 752, 763, -1, 754, 752, 762, 776, 767, -1, 754,
+ 752, 762, 766, 777, -1, 753, -1, 750, -1, 303,
+ 761, 877, 757, 782, 794, 774, 775, 833, -1, 781,
+ -1, 332, 790, -1, 752, 354, 760, 752, -1, 752,
+ 172, 760, 752, -1, 752, 118, 760, 752, -1, 378,
+ 755, -1, 378, 276, 755, -1, 756, -1, 755, 424,
+ 756, -1, 883, 718, 20, 750, -1, 174, 758, -1,
+ -1, 336, 759, 881, -1, 334, 759, 881, -1, 195,
+ 336, 759, 881, -1, 195, 334, 759, 881, -1, 140,
+ 336, 759, 881, -1, 140, 334, 759, 881, -1, 332,
+ 881, -1, 881, -1, 332, -1, -1, 11, -1, 104,
+ -1, -1, 104, -1, 104, 239, 419, 850, 420, -1,
+ 11, -1, -1, 763, -1, -1, 245, 36, 764, -1,
+ 765, -1, 764, 424, 765, -1, 822, 361, 848, 635,
+ -1, 822, 634, 635, -1, 192, 768, 236, 770, -1,
+ 236, 770, 192, 768, -1, 192, 768, -1, 236, 770,
+ -1, 192, 768, 424, 770, -1, 236, 771, 772, -1,
+ 128, 773, 769, 772, 240, -1, 236, 771, 772, 128,
+ 773, 769, 772, 240, -1, 766, -1, -1, 822, -1,
+ 11, -1, 894, -1, 419, 822, 420, -1, -1, 822,
+ -1, 824, -1, 294, -1, 295, -1, 129, -1, 215,
+ -1, 144, 36, 850, -1, -1, 146, 822, -1, -1,
+ 778, -1, 132, 272, 240, -1, 776, -1, -1, 779,
+ -1, 778, 779, -1, 132, 359, 780, 738, -1, 132,
+ 311, 780, 738, -1, 234, 880, -1, -1, 366, 876,
+ -1, 781, 424, 876, -1, 137, 783, -1, -1, 784,
+ -1, 783, 424, 784, -1, 790, -1, 790, 786, -1,
+ 793, -1, 793, 786, -1, 793, 20, 419, 796, 420,
+ -1, 793, 20, 895, 419, 796, 420, -1, 793, 895,
+ 419, 796, 420, -1, 750, -1, 750, 786, -1, 785,
+ -1, 419, 785, 420, 786, -1, 419, 785, 420, -1,
+ 784, 73, 179, 784, -1, 784, 787, 179, 784, 789,
+ -1, 784, 179, 784, 789, -1, 784, 212, 787, 179,
+ 784, -1, 784, 212, 179, 784, -1, 20, 895, 419,
+ 882, 420, -1, 20, 895, -1, 895, 419, 882, 420,
+ -1, 895, -1, 138, 788, -1, 189, 788, -1, 291,
+ 788, -1, 164, -1, 247, -1, -1, 361, 419, 882,
+ 420, -1, 239, 822, -1, 881, -1, 881, 412, -1,
+ 240, 881, -1, 240, 419, 881, 420, -1, 790, -1,
+ 791, 424, 790, -1, 790, -1, 790, 895, -1, 790,
+ 20, 895, -1, 825, -1, 375, 822, -1, -1, 375,
+ 822, -1, 375, 75, 234, 883, -1, 375, 75, 234,
+ 405, -1, -1, 797, -1, 796, 424, 797, -1, 895,
+ 798, -1, 800, 799, -1, 310, 800, 799, -1, 800,
+ 19, 417, 891, 418, -1, 310, 800, 19, 417, 891,
+ 418, -1, 800, 19, -1, 310, 800, 19, -1, 799,
+ 417, 418, -1, 799, 417, 891, 418, -1, -1, 802,
+ -1, 804, -1, 806, -1, 810, -1, 817, -1, 818,
+ 820, -1, 818, 419, 891, 420, 820, -1, 804, -1,
+ 807, -1, 811, -1, 817, -1, 896, 803, -1, 896,
+ 604, 803, -1, 419, 850, 420, -1, -1, 170, -1,
+ 171, -1, 315, -1, 31, -1, 273, -1, 130, 805,
+ -1, 108, 261, -1, 90, 803, -1, 89, 803, -1,
+ 232, 803, -1, 34, -1, 419, 891, 420, -1, -1,
+ 808, -1, 809, -1, 808, -1, 809, -1, 33, 815,
+ 419, 850, 420, -1, 33, 815, -1, 812, -1, 813,
+ -1, 812, -1, 813, -1, 814, 419, 891, 420, 816,
+ -1, 814, 816, -1, 46, 815, -1, 45, 815, -1,
+ 367, -1, 211, 46, 815, -1, 211, 45, 815, -1,
+ 213, 815, -1, 369, -1, -1, 46, 309, 895, -1,
+ -1, 340, 419, 891, 420, 819, -1, 340, 819, -1,
+ 339, 419, 891, 420, 819, -1, 339, 819, -1, 173,
+ -1, 397, 394, -1, 379, 339, 394, -1, -1, 392,
+ -1, 207, -1, 87, -1, 149, -1, 204, -1, 821,
+ -1, 392, 341, 207, -1, 87, 341, 149, -1, 87,
+ 341, 204, -1, 87, 341, 821, -1, 149, 341, 204,
+ -1, 149, 341, 821, -1, 204, 341, 821, -1, -1,
+ 301, -1, 301, 419, 891, 420, -1, 824, -1, 822,
+ 421, 798, -1, 822, 25, 339, 394, 822, -1, 410,
+ 822, -1, 411, 822, -1, 822, 410, 822, -1, 822,
+ 411, 822, -1, 822, 412, 822, -1, 822, 413, 822,
+ -1, 822, 414, 822, -1, 822, 415, 822, -1, 822,
+ 407, 822, -1, 822, 408, 822, -1, 822, 406, 822,
+ -1, 822, 847, 822, -1, 847, 822, -1, 822, 847,
+ -1, 822, 17, 822, -1, 822, 244, 822, -1, 224,
+ 822, -1, 822, 191, 822, -1, 822, 191, 822, 117,
+ 822, -1, 822, 224, 191, 822, -1, 822, 224, 191,
+ 822, 117, 822, -1, 822, 152, 822, -1, 822, 152,
+ 822, 117, 822, -1, 822, 224, 152, 822, -1, 822,
+ 224, 152, 822, 117, 822, -1, 822, 313, 341, 822,
+ -1, 822, 313, 341, 822, 117, 822, -1, 822, 224,
+ 313, 341, 822, -1, 822, 224, 313, 341, 822, 117,
+ 822, -1, 822, 176, 229, -1, 822, 177, -1, 822,
+ 176, 224, 229, -1, 822, 227, -1, 843, 249, 843,
+ -1, 822, 176, 347, -1, 822, 176, 224, 347, -1,
+ 822, 176, 126, -1, 822, 176, 224, 126, -1, 822,
+ 176, 356, -1, 822, 176, 224, 356, -1, 822, 176,
+ 104, 137, 822, -1, 822, 176, 224, 104, 137, 822,
+ -1, 822, 176, 234, 419, 851, 420, -1, 822, 176,
+ 224, 234, 419, 851, 420, -1, 822, 30, 873, 823,
+ 17, 823, -1, 822, 224, 30, 873, 823, 17, 823,
+ -1, 822, 30, 329, 823, 17, 823, -1, 822, 224,
+ 30, 329, 823, 17, 823, -1, 822, 156, 863, -1,
+ 822, 224, 156, 863, -1, 822, 849, 844, 750, -1,
+ 822, 849, 844, 419, 822, 420, -1, 355, 750, -1,
+ 822, 176, 106, -1, 822, 176, 224, 106, -1, 824,
+ -1, 823, 421, 798, -1, 410, 823, -1, 411, 823,
+ -1, 823, 410, 823, -1, 823, 411, 823, -1, 823,
+ 412, 823, -1, 823, 413, 823, -1, 823, 414, 823,
+ -1, 823, 415, 823, -1, 823, 407, 823, -1, 823,
+ 408, 823, -1, 823, 406, 823, -1, 823, 847, 823,
+ -1, 847, 823, -1, 823, 847, -1, 823, 176, 104,
+ 137, 823, -1, 823, 176, 224, 104, 137, 823, -1,
+ 823, 176, 234, 419, 851, 420, -1, 823, 176, 224,
+ 234, 419, 851, 420, -1, 823, 176, 106, -1, 823,
+ 176, 224, 106, -1, 869, -1, 890, -1, 405, 872,
+ -1, 419, 822, 420, 872, -1, 864, -1, 825, -1,
+ 750, -1, 122, 750, -1, 19, 750, -1, 19, 852,
+ -1, 843, -1, 889, 419, 420, 836, -1, 889, 419,
+ 850, 420, 836, -1, 889, 419, 368, 822, 420, 836,
+ -1, 889, 419, 850, 424, 368, 822, 420, 836, -1,
+ 889, 419, 11, 850, 420, 836, -1, 889, 419, 104,
+ 850, 420, 836, -1, 889, 419, 412, 420, 836, -1,
+ 77, -1, 80, -1, 80, 419, 891, 420, -1, 81,
+ -1, 81, 419, 891, 420, -1, 196, -1, 196, 419,
+ 891, 420, -1, 197, -1, 197, 419, 891, 420, -1,
+ 78, -1, 82, -1, 308, -1, 360, -1, 76, -1,
+ 79, -1, 42, 419, 822, 20, 798, 420, -1, 125,
+ 419, 854, 420, -1, 250, 419, 856, 420, -1, 259,
+ 419, 858, 420, -1, 327, 419, 859, 420, -1, 344,
+ 419, 822, 20, 798, 420, -1, 346, 419, 35, 862,
+ 420, -1, 346, 419, 187, 862, 420, -1, 346, 419,
+ 342, 862, 420, -1, 346, 419, 862, 420, -1, 230,
+ 419, 822, 424, 822, 420, -1, 53, 419, 850, 420,
+ -1, 143, 419, 850, 420, -1, 188, 419, 850, 420,
+ -1, 385, 419, 850, 420, -1, 386, 419, 209, 897,
+ 420, -1, 386, 419, 209, 897, 424, 828, 420, -1,
+ 386, 419, 209, 897, 424, 850, 420, -1, 386, 419,
+ 209, 897, 424, 828, 424, 850, 420, -1, 387, 419,
+ 829, 420, -1, 388, 419, 831, 822, 832, 420, -1,
+ 389, 419, 209, 897, 420, -1, 389, 419, 209, 897,
+ 424, 822, 420, -1, 390, 419, 822, 424, 826, 827,
+ 420, -1, 391, 419, 831, 822, 20, 800, 420, -1,
+ 371, 822, -1, 371, 216, 365, -1, 424, 318, 393,
+ -1, 424, 318, 216, -1, 424, 318, 216, 365, -1,
+ -1, 384, 419, 829, 420, -1, 830, -1, 829, 424,
+ 830, -1, 822, 20, 897, -1, 822, -1, 106, -1,
+ 64, -1, 262, 376, -1, 326, 376, -1, -1, 377,
+ 834, -1, -1, 835, -1, 834, 424, 835, -1, 895,
+ 20, 837, -1, 248, 837, -1, 248, 895, -1, -1,
+ 419, 838, 839, 762, 840, 420, -1, 895, -1, -1,
+ 255, 36, 850, -1, -1, 271, 841, -1, 295, 841,
+ -1, -1, 842, -1, 30, 842, 17, 842, -1, 351,
+ 260, -1, 351, 131, -1, 75, 294, -1, 294, 419,
+ 850, 420, -1, 294, 419, 420, -1, 419, 850, 424,
+ 822, 420, -1, 18, -1, 316, -1, 11, -1, 403,
+ -1, 846, -1, 410, -1, 411, -1, 412, -1, 413,
+ -1, 414, -1, 415, -1, 407, -1, 408, -1, 406,
+ -1, 403, -1, 241, 419, 662, 420, -1, 845, -1,
+ 241, 419, 662, 420, -1, 845, -1, 241, 419, 662,
+ 420, -1, 191, -1, 224, 191, -1, 152, -1, 224,
+ 152, -1, 822, -1, 850, 424, 822, -1, 798, -1,
+ 851, 424, 798, -1, 417, 850, 418, -1, 417, 853,
+ 418, -1, 417, 418, -1, 852, -1, 853, 424, 852,
+ -1, 855, 137, 822, -1, -1, 398, -1, 392, -1,
+ 207, -1, 87, -1, 149, -1, 204, -1, 301, -1,
+ 892, -1, 822, 857, 860, 861, -1, 822, 857, 860,
+ -1, 257, 822, -1, 823, 156, 823, -1, -1, 822,
+ 860, 861, -1, 822, 861, 860, -1, 822, 860, -1,
+ 822, 861, -1, 850, -1, -1, 137, 822, -1, 132,
+ 822, -1, 822, 137, 850, -1, 137, 850, -1, 850,
+ -1, 750, -1, 419, 850, 420, -1, 41, 868, 865,
+ 867, 115, -1, 866, -1, 865, 866, -1, 374, 822,
+ 338, 822, -1, 111, 822, -1, -1, 822, -1, -1,
+ 879, -1, 879, 871, -1, 422, 886, -1, 422, 412,
+ -1, 417, 822, 418, -1, 417, 822, 425, 822, 418,
+ -1, 870, -1, 871, 870, -1, -1, 872, 870, -1,
+ 24, -1, -1, 822, -1, 92, -1, 874, -1, 875,
+ 424, 874, -1, 419, 875, 420, -1, 878, -1, 877,
+ 424, 878, -1, 822, 20, 897, -1, 822, 398, -1,
+ 822, -1, 412, -1, 902, -1, 895, -1, 881, -1,
+ 880, 424, 881, -1, 879, -1, 879, 871, -1, 883,
+ -1, 882, 424, 883, -1, 895, -1, 895, -1, 895,
+ -1, 897, -1, 895, -1, 892, -1, 896, -1, 879,
+ 871, -1, 891, -1, 399, -1, 892, -1, 401, -1,
+ 402, -1, 889, 892, -1, 889, 419, 850, 420, 892,
+ -1, 801, 892, -1, 818, 892, 820, -1, 818, 419,
+ 891, 420, 892, 820, -1, 347, -1, 126, -1, 229,
+ -1, 404, -1, 400, -1, 895, -1, 891, -1, 410,
+ 891, -1, 411, 891, -1, 398, -1, 898, -1, 899,
+ -1, 398, -1, 898, -1, 900, -1, 398, -1, 898,
+ -1, 899, -1, 900, -1, 901, -1, 3, -1, 4,
+ -1, 5, -1, 6, -1, 7, -1, 8, -1, 9,
+ -1, 10, -1, 12, -1, 13, -1, 14, -1, 22,
+ -1, 23, -1, 25, -1, 27, -1, 28, -1, 29,
+ -1, 36, -1, 37, -1, 38, -1, 39, -1, 40,
+ -1, 43, -1, 44, -1, 47, -1, 49, -1, 50,
+ -1, 51, -1, 52, -1, 56, -1, 57, -1, 58,
+ -1, 59, -1, 60, -1, 61, -1, 63, -1, 64,
+ -1, 65, -1, 66, -1, 67, -1, 68, -1, 70,
+ -1, 71, -1, 72, -1, 74, -1, 75, -1, 83,
+ -1, 84, -1, 85, -1, 86, -1, 87, -1, 88,
+ -1, 91, -1, 93, -1, 95, -1, 96, -1, 97,
+ -1, 98, -1, 99, -1, 101, -1, 102, -1, 103,
+ -1, 106, -1, 107, -1, 108, -1, 109, -1, 110,
+ -1, 112, -1, 113, -1, 114, -1, 116, -1, 117,
+ -1, 119, -1, 120, -1, 121, -1, 123, -1, 124,
+ -1, 127, -1, 129, -1, 131, -1, 133, -1, 135,
+ -1, 139, -1, 140, -1, 142, -1, 145, -1, 147,
+ -1, 148, -1, 149, -1, 150, -1, 151, -1, 153,
+ -1, 154, -1, 155, -1, 157, -1, 158, -1, 159,
+ -1, 160, -1, 161, -1, 162, -1, 166, -1, 167,
+ -1, 168, -1, 169, -1, 175, -1, 178, -1, 180,
+ -1, 181, -1, 182, -1, 183, -1, 184, -1, 185,
+ -1, 186, -1, 190, -1, 193, -1, 194, -1, 195,
+ -1, 198, -1, 199, -1, 200, -1, 201, -1, 202,
+ -1, 203, -1, 204, -1, 205, -1, 206, -1, 207,
+ -1, 208, -1, 209, -1, 210, -1, 215, -1, 216,
+ -1, 217, -1, 218, -1, 219, -1, 220, -1, 221,
+ -1, 223, -1, 225, -1, 226, -1, 228, -1, 231,
+ -1, 233, -1, 234, -1, 237, -1, 241, -1, 242,
+ -1, 243, -1, 251, -1, 252, -1, 253, -1, 254,
+ -1, 255, -1, 256, -1, 258, -1, 260, -1, 263,
+ -1, 264, -1, 262, -1, 266, -1, 267, -1, 268,
+ -1, 269, -1, 270, -1, 271, -1, 272, -1, 274,
+ -1, 275, -1, 276, -1, 278, -1, 279, -1, 280,
+ -1, 281, -1, 282, -1, 283, -1, 284, -1, 285,
+ -1, 286, -1, 287, -1, 289, -1, 290, -1, 292,
+ -1, 293, -1, 295, -1, 296, -1, 297, -1, 298,
+ -1, 299, -1, 300, -1, 301, -1, 302, -1, 304,
+ -1, 305, -1, 306, -1, 307, -1, 309, -1, 311,
+ -1, 312, -1, 314, -1, 317, -1, 318, -1, 319,
+ -1, 320, -1, 321, -1, 322, -1, 323, -1, 324,
+ -1, 325, -1, 326, -1, 328, -1, 330, -1, 331,
+ -1, 333, -1, 334, -1, 335, -1, 336, -1, 337,
+ -1, 343, -1, 345, -1, 348, -1, 349, -1, 350,
+ -1, 351, -1, 352, -1, 353, -1, 356, -1, 357,
+ -1, 358, -1, 359, -1, 362, -1, 363, -1, 364,
+ -1, 365, -1, 369, -1, 371, -1, 372, -1, 373,
+ -1, 376, -1, 379, -1, 380, -1, 381, -1, 382,
+ -1, 383, -1, 392, -1, 393, -1, 394, -1, 31,
+ -1, 33, -1, 34, -1, 45, -1, 46, -1, 53,
+ -1, 89, -1, 90, -1, 122, -1, 125, -1, 130,
+ -1, 143, -1, 165, -1, 170, -1, 171, -1, 173,
+ -1, 188, -1, 211, -1, 213, -1, 222, -1, 230,
+ -1, 232, -1, 246, -1, 250, -1, 259, -1, 261,
+ -1, 273, -1, 294, -1, 310, -1, 315, -1, 327,
+ -1, 339, -1, 340, -1, 344, -1, 346, -1, 366,
+ -1, 367, -1, 384, -1, 385, -1, 386, -1, 387,
+ -1, 388, -1, 389, -1, 390, -1, 391, -1, 26,
+ -1, 30, -1, 32, -1, 73, -1, 79, -1, 136,
+ -1, 138, -1, 152, -1, 164, -1, 176, -1, 177,
+ -1, 179, -1, 189, -1, 191, -1, 212, -1, 227,
+ -1, 247, -1, 248, -1, 249, -1, 291, -1, 313,
+ -1, 370, -1, 11, -1, 15, -1, 16, -1, 17,
+ -1, 18, -1, 19, -1, 20, -1, 21, -1, 24,
+ -1, 35, -1, 41, -1, 42, -1, 48, -1, 54,
+ -1, 55, -1, 62, -1, 69, -1, 76, -1, 77,
+ -1, 78, -1, 80, -1, 81, -1, 82, -1, 92,
+ -1, 94, -1, 100, -1, 104, -1, 105, -1, 111,
+ -1, 115, -1, 118, -1, 126, -1, 128, -1, 132,
+ -1, 134, -1, 137, -1, 141, -1, 144, -1, 146,
+ -1, 156, -1, 163, -1, 172, -1, 174, -1, 187,
+ -1, 192, -1, 196, -1, 197, -1, 214, -1, 224,
+ -1, 229, -1, 235, -1, 236, -1, 238, -1, 239,
+ -1, 240, -1, 244, -1, 245, -1, 257, -1, 265,
+ -1, 277, -1, 288, -1, 303, -1, 308, -1, 316,
+ -1, 329, -1, 332, -1, 338, -1, 341, -1, 342,
+ -1, 347, -1, 354, -1, 355, -1, 360, -1, 361,
+ -1, 368, -1, 374, -1, 375, -1, 377, -1, 378,
+ -1, 238, -1, 214, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 539, 539, 543, 549, 558, 559, 560, 561, 562,
- 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
- 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
- 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
- 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
- 603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
- 613, 614, 615, 616, 617, 618, 619, 620, 621, 622,
- 623, 624, 625, 626, 627, 628, 629, 630, 631, 632,
- 633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
- 643, 644, 645, 646, 647, 648, 650, 660, 671, 672,
- 681, 682, 686, 691, 695, 700, 705, 709, 713, 717,
- 721, 725, 729, 733, 737, 742, 746, 750, 754, 758,
- 763, 768, 772, 776, 780, 784, 798, 816, 827, 844,
- 856, 876, 883, 902, 909, 926, 944, 955, 956, 968,
- 975, 992, 1004, 1016, 1017, 1021, 1022, 1030, 1031, 1032,
- 1033, 1034, 1035, 1049, 1055, 1061, 1070, 1078, 1086, 1093,
- 1100, 1108, 1119, 1127, 1135, 1146, 1154, 1162, 1169, 1179,
- 1180, 1187, 1188, 1191, 1193, 1195, 1199, 1200, 1201, 1202,
- 1206, 1207, 1208, 1209, 1221, 1225, 1229, 1242, 1254, 1255,
- 1256, 1260, 1261, 1262, 1266, 1267, 1271, 1278, 1285, 1292,
- 1299, 1309, 1310, 1315, 1321, 1327, 1333, 1339, 1349, 1359,
- 1360, 1364, 1365, 1373, 1388, 1394, 1400, 1406, 1422, 1430,
- 1441, 1442, 1448, 1456, 1465, 1473, 1481, 1490, 1499, 1511,
- 1521, 1529, 1538, 1545, 1553, 1561, 1569, 1577, 1585, 1592,
- 1599, 1607, 1614, 1621, 1629, 1637, 1645, 1653, 1661, 1668,
- 1675, 1676, 1682, 1690, 1698, 1706, 1716, 1724, 1728, 1729,
- 1730, 1734, 1735, 1748, 1754, 1777, 1799, 1814, 1815, 1824,
- 1825, 1826, 1832, 1833, 1838, 1842, 1846, 1850, 1854, 1858,
- 1862, 1866, 1870, 1874, 1883, 1887, 1891, 1895, 1900, 1904,
- 1908, 1909, 1920, 1934, 1960, 1961, 1962, 1963, 1964, 1965,
- 1966, 1970, 1971, 1975, 1979, 1986, 1987, 1988, 1991, 2003,
- 2004, 2008, 2029, 2030, 2049, 2060, 2071, 2083, 2095, 2106,
- 2125, 2154, 2160, 2166, 2172, 2190, 2200, 2201, 2205, 2206,
- 2207, 2208, 2209, 2210, 2219, 2240, 2244, 2254, 2266, 2278,
- 2296, 2297, 2301, 2302, 2305, 2311, 2315, 2322, 2327, 2339,
- 2341, 2343, 2345, 2348, 2351, 2354, 2358, 2359, 2360, 2361,
- 2362, 2365, 2366, 2371, 2372, 2373, 2374, 2377, 2378, 2379,
- 2380, 2383, 2384, 2387, 2388, 2398, 2419, 2431, 2432, 2436,
- 2437, 2441, 2466, 2477, 2486, 2487, 2490, 2494, 2498, 2502,
- 2506, 2510, 2514, 2518, 2522, 2526, 2530, 2536, 2537, 2541,
- 2542, 2545, 2546, 2553, 2565, 2575, 2589, 2590, 2598, 2599,
- 2603, 2604, 2608, 2609, 2613, 2621, 2632, 2633, 2643, 2653,
- 2654, 2667, 2674, 2692, 2710, 2734, 2735, 2739, 2745, 2751,
- 2760, 2761, 2762, 2766, 2771, 2781, 2782, 2786, 2787, 2791,
- 2792, 2793, 2797, 2803, 2804, 2805, 2806, 2807, 2811, 2812,
- 2816, 2818, 2826, 2833, 2842, 2846, 2847, 2851, 2852, 2857,
- 2867, 2889, 2908, 2931, 2941, 2952, 2962, 2972, 2983, 3017,
- 3024, 3033, 3042, 3051, 3062, 3065, 3066, 3069, 3073, 3080,
- 3081, 3082, 3083, 3084, 3087, 3088, 3091, 3094, 3095, 3098,
- 3104, 3106, 3123, 3138, 3139, 3143, 3153, 3163, 3172, 3182,
- 3191, 3192, 3195, 3196, 3199, 3200, 3205, 3215, 3224, 3236,
- 3237, 3241, 3249, 3261, 3270, 3282, 3291, 3312, 3322, 3340,
- 3349, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369,
- 3370, 3371, 3372, 3376, 3377, 3380, 3381, 3384, 3386, 3399,
- 3430, 3439, 3448, 3457, 3467, 3476, 3485, 3495, 3504, 3513,
- 3522, 3531, 3540, 3549, 3557, 3565, 3573, 3584, 3585, 3586,
- 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3599,
- 3600, 3610, 3617, 3626, 3633, 3646, 3652, 3659, 3666, 3673,
- 3680, 3687, 3694, 3701, 3708, 3715, 3722, 3729, 3736, 3743,
- 3752, 3753, 3763, 3778, 3791, 3817, 3819, 3821, 3825, 3827,
- 3831, 3832, 3833, 3834, 3842, 3849, 3856, 3863, 3870, 3877,
- 3884, 3891, 3902, 3903, 3906, 3916, 3930, 3931, 3935, 3936,
- 3941, 3957, 3970, 3980, 3992, 3993, 3996, 3997, 4012, 4028,
- 4047, 4048, 4052, 4053, 4056, 4057, 4065, 4074, 4083, 4094,
- 4095, 4096, 4099, 4100, 4101, 4104, 4105, 4106, 4122, 4134,
- 4149, 4150, 4153, 4154, 4158, 4159, 4173, 4181, 4189, 4197,
- 4205, 4216, 4217, 4218, 4219, 4225, 4229, 4244, 4245, 4251,
- 4263, 4264, 4271, 4275, 4279, 4283, 4287, 4291, 4295, 4299,
- 4303, 4307, 4311, 4315, 4319, 4327, 4331, 4335, 4341, 4342,
- 4349, 4350, 4362, 4373, 4374, 4379, 4380, 4395, 4405, 4418,
- 4428, 4441, 4451, 4464, 4471, 4473, 4475, 4480, 4482, 4493,
- 4503, 4515, 4516, 4517, 4521, 4532, 4533, 4547, 4555, 4565,
- 4578, 4579, 4582, 4583, 4593, 4602, 4610, 4618, 4627, 4635,
- 4643, 4652, 4661, 4669, 4678, 4687, 4696, 4705, 4714, 4723,
- 4731, 4739, 4747, 4755, 4763, 4771, 4781, 4782, 4792, 4801,
- 4809, 4818, 4826, 4834, 4850, 4859, 4867, 4875, 4883, 4892,
- 4900, 4909, 4918, 4927, 4935, 4943, 4951, 4959, 4977, 4976,
- 4995, 4996, 4997, 5002, 5008, 5017, 5018, 5019, 5020, 5021,
- 5025, 5026, 5029, 5030, 5031, 5032, 5036, 5037, 5038, 5043,
- 5053, 5074, 5084, 5095, 5103, 5124, 5131, 5138, 5145, 5152,
- 5159, 5166, 5174, 5182, 5190, 5198, 5206, 5213, 5220, 5229,
- 5230, 5231, 5235, 5238, 5241, 5248, 5250, 5252, 5257, 5259,
- 5271, 5282, 5300, 5306, 5312, 5318, 5328, 5344, 5354, 5355,
- 5359, 5363, 5367, 5371, 5375, 5379, 5383, 5387, 5391, 5395,
- 5399, 5403, 5413, 5414, 5425, 5435, 5446, 5447, 5451, 5465,
- 5472, 5489, 5501, 5510, 5518, 5526, 5535, 5546, 5547, 5558,
- 5568, 5578, 5588, 5598, 5608, 5616, 5637, 5660, 5667, 5675,
- 5685, 5686, 5698, 5710, 5722, 5734, 5746, 5761, 5762, 5766,
- 5767, 5770, 5771, 5774, 5775, 5779, 5780, 5791, 5802, 5803,
- 5804, 5805, 5806, 5807, 5811, 5812, 5822, 5832, 5833, 5837,
- 5838, 5839, 5840, 5850, 5858, 5875, 5876, 5886, 5892, 5898,
- 5904, 5920, 5929, 5935, 5941, 5950, 5952, 5957, 5968, 5969,
- 5980, 5993, 5994, 5997, 6008, 6009, 6012, 6013, 6014, 6015,
- 6016, 6017, 6018, 6019, 6022, 6023, 6034, 6051, 6052, 6056,
- 6057, 6061, 6069, 6096, 6107, 6108, 6118, 6129, 6130, 6131,
- 6132, 6133, 6136, 6137, 6138, 6186, 6187, 6191, 6192, 6202,
- 6203, 6209, 6215, 6224, 6225, 6252, 6266, 6267, 6271, 6275,
- 6282, 6292, 6300, 6305, 6310, 6315, 6320, 6325, 6330, 6335,
- 6342, 6343, 6346, 6347, 6348, 6355, 6356, 6357, 6358, 6362,
- 6363, 6367, 6371, 6372, 6375, 6383, 6395, 6397, 6399, 6401,
- 6403, 6414, 6416, 6420, 6421, 6431, 6435, 6436, 6440, 6441,
- 6445, 6446, 6450, 6451, 6455, 6456, 6460, 6468, 6479, 6480,
- 6485, 6491, 6509, 6510, 6514, 6515, 6525, 6529, 6534, 6541,
- 6549, 6556, 6566, 6576, 6602, 6609, 6613, 6639, 6643, 6655,
- 6668, 6682, 6693, 6708, 6714, 6719, 6725, 6732, 6733, 6734,
- 6735, 6739, 6740, 6752, 6753, 6758, 6765, 6772, 6779, 6798,
- 6802, 6809, 6819, 6824, 6825, 6830, 6831, 6839, 6847, 6852,
- 6856, 6862, 6883, 6888, 6894, 6900, 6910, 6912, 6915, 6919,
- 6920, 6921, 6922, 6923, 6924, 6930, 6950, 6951, 6952, 6953,
- 6964, 6970, 6978, 6979, 6985, 6990, 6995, 7000, 7005, 7010,
- 7015, 7020, 7026, 7032, 7038, 7045, 7065, 7074, 7078, 7086,
- 7090, 7098, 7110, 7131, 7135, 7141, 7145, 7158, 7177, 7200,
- 7202, 7204, 7206, 7208, 7210, 7215, 7216, 7220, 7221, 7228,
- 7241, 7253, 7262, 7273, 7281, 7282, 7283, 7287, 7288, 7289,
- 7290, 7291, 7292, 7293, 7295, 7297, 7300, 7303, 7305, 7308,
- 7310, 7336, 7337, 7339, 7358, 7360, 7362, 7364, 7366, 7368,
- 7370, 7372, 7374, 7376, 7378, 7381, 7383, 7385, 7388, 7390,
- 7392, 7395, 7397, 7407, 7409, 7419, 7421, 7431, 7433, 7444,
- 7456, 7466, 7478, 7498, 7505, 7512, 7519, 7526, 7530, 7537,
- 7544, 7551, 7558, 7565, 7572, 7576, 7584, 7588, 7592, 7599,
- 7606, 7619, 7632, 7650, 7670, 7679, 7686, 7701, 7705, 7722,
- 7724, 7726, 7728, 7730, 7732, 7734, 7736, 7738, 7740, 7742,
- 7744, 7746, 7748, 7750, 7752, 7754, 7758, 7763, 7767, 7771,
- 7775, 7791, 7792, 7793, 7807, 7819, 7821, 7823, 7832, 7841,
- 7850, 7852, 7869, 7879, 7889, 7903, 7913, 7933, 7961, 7978,
- 7995, 8009, 8027, 8044, 8061, 8078, 8096, 8106, 8116, 8126,
- 8136, 8138, 8148, 8163, 8174, 8187, 8206, 8219, 8229, 8239,
- 8249, 8253, 8259, 8266, 8273, 8277, 8281, 8285, 8289, 8293,
- 8297, 8305, 8309, 8313, 8318, 8331, 8333, 8341, 8343, 8345,
- 8348, 8351, 8354, 8355, 8358, 8366, 8376, 8377, 8380, 8381,
- 8382, 8395, 8396, 8397, 8400, 8401, 8402, 8405, 8406, 8409,
- 8410, 8411, 8412, 8413, 8414, 8415, 8416, 8417, 8420, 8422,
- 8427, 8429, 8434, 8436, 8438, 8440, 8442, 8444, 8456, 8460,
- 8467, 8474, 8477, 8478, 8481, 8483, 8487, 8493, 8506, 8507,
- 8508, 8509, 8510, 8511, 8512, 8513, 8522, 8526, 8533, 8540,
- 8541, 8557, 8561, 8566, 8570, 8587, 8592, 8596, 8599, 8602,
- 8603, 8604, 8607, 8614, 8624, 8637, 8638, 8642, 8652, 8653,
- 8656, 8657, 8665, 8669, 8676, 8680, 8684, 8691, 8701, 8702,
- 8706, 8707, 8710, 8711, 8722, 8723, 8727, 8728, 8736, 8747,
- 8748, 8752, 8760, 8768, 8790, 8791, 8795, 8796, 8807, 8814,
- 8840, 8842, 8847, 8850, 8853, 8855, 8857, 8859, 8869, 8871,
- 8879, 8886, 8893, 8900, 8907, 8919, 8929, 8940, 8948, 8959,
- 8969, 8973, 8977, 8985, 8986, 8987, 8989, 8990, 9006, 9007,
- 9008, 9013, 9014, 9015, 9021, 9022, 9023, 9024, 9025, 9045,
- 9046, 9047, 9048, 9049, 9050, 9051, 9052, 9053, 9054, 9055,
- 9056, 9057, 9058, 9059, 9060, 9061, 9062, 9063, 9064, 9065,
- 9066, 9067, 9068, 9069, 9070, 9071, 9072, 9073, 9074, 9075,
- 9076, 9077, 9078, 9079, 9080, 9081, 9082, 9083, 9084, 9085,
- 9086, 9087, 9088, 9089, 9090, 9091, 9092, 9093, 9094, 9095,
- 9096, 9097, 9098, 9099, 9100, 9101, 9102, 9103, 9104, 9105,
- 9106, 9107, 9108, 9109, 9110, 9111, 9112, 9113, 9114, 9115,
- 9116, 9117, 9118, 9119, 9120, 9121, 9122, 9123, 9124, 9125,
- 9126, 9127, 9128, 9129, 9130, 9131, 9132, 9133, 9134, 9135,
- 9136, 9137, 9138, 9139, 9140, 9141, 9142, 9143, 9144, 9145,
- 9146, 9147, 9148, 9149, 9150, 9151, 9152, 9153, 9154, 9155,
- 9156, 9157, 9158, 9159, 9160, 9161, 9162, 9163, 9164, 9165,
- 9166, 9167, 9168, 9169, 9170, 9171, 9172, 9173, 9174, 9175,
- 9176, 9177, 9178, 9179, 9180, 9181, 9182, 9183, 9184, 9185,
- 9186, 9187, 9188, 9189, 9190, 9191, 9192, 9193, 9194, 9195,
- 9196, 9197, 9198, 9199, 9200, 9201, 9202, 9203, 9204, 9205,
- 9206, 9207, 9208, 9209, 9210, 9211, 9212, 9213, 9214, 9215,
- 9216, 9217, 9218, 9219, 9220, 9221, 9222, 9223, 9224, 9225,
- 9226, 9227, 9228, 9229, 9230, 9231, 9232, 9233, 9234, 9235,
- 9236, 9237, 9238, 9239, 9240, 9241, 9242, 9243, 9244, 9245,
- 9246, 9247, 9248, 9249, 9250, 9251, 9252, 9253, 9254, 9255,
- 9256, 9257, 9258, 9259, 9260, 9261, 9262, 9263, 9264, 9265,
- 9266, 9267, 9268, 9269, 9270, 9271, 9272, 9273, 9274, 9275,
- 9276, 9277, 9291, 9292, 9293, 9294, 9295, 9296, 9297, 9298,
- 9299, 9300, 9301, 9302, 9303, 9304, 9305, 9306, 9307, 9308,
- 9309, 9310, 9311, 9312, 9313, 9314, 9315, 9316, 9317, 9318,
- 9319, 9320, 9321, 9322, 9323, 9324, 9325, 9326, 9327, 9328,
- 9329, 9330, 9331, 9332, 9333, 9334, 9335, 9349, 9350, 9351,
- 9352, 9353, 9354, 9355, 9356, 9357, 9358, 9359, 9360, 9361,
- 9362, 9363, 9364, 9365, 9366, 9367, 9368, 9378, 9379, 9380,
- 9381, 9382, 9383, 9384, 9385, 9386, 9387, 9388, 9389, 9390,
- 9391, 9392, 9393, 9394, 9395, 9396, 9397, 9398, 9399, 9400,
- 9401, 9402, 9403, 9404, 9405, 9406, 9407, 9408, 9409, 9410,
- 9411, 9412, 9413, 9414, 9415, 9416, 9417, 9418, 9419, 9420,
- 9421, 9422, 9423, 9424, 9425, 9426, 9427, 9428, 9429, 9430,
- 9431, 9432, 9433, 9434, 9435, 9436, 9437, 9438, 9439, 9440,
- 9441, 9442, 9443, 9444, 9445, 9446, 9447, 9448, 9449, 9450,
- 9451, 9456, 9465
+ 0, 596, 596, 600, 606, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 628, 629,
+ 630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
+ 640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
+ 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 670, 671, 672, 673, 674, 675, 676, 677, 678, 679,
+ 680, 681, 682, 683, 684, 685, 686, 687, 688, 689,
+ 690, 691, 692, 693, 694, 695, 696, 697, 698, 699,
+ 700, 701, 702, 703, 704, 705, 706, 707, 708, 709,
+ 710, 711, 712, 713, 714, 716, 726, 737, 738, 747,
+ 748, 752, 757, 761, 766, 771, 775, 779, 783, 787,
+ 791, 795, 799, 803, 808, 812, 816, 820, 824, 829,
+ 834, 838, 842, 846, 850, 864, 882, 893, 910, 922,
+ 942, 949, 968, 975, 992, 1010, 1021, 1022, 1034, 1041,
+ 1058, 1070, 1082, 1083, 1087, 1088, 1096, 1097, 1098, 1099,
+ 1100, 1101, 1115, 1121, 1127, 1136, 1144, 1152, 1159, 1166,
+ 1174, 1185, 1193, 1201, 1209, 1217, 1228, 1236, 1244, 1251,
+ 1261, 1262, 1269, 1270, 1273, 1275, 1277, 1281, 1282, 1283,
+ 1284, 1288, 1289, 1290, 1291, 1303, 1307, 1311, 1326, 1349,
+ 1350, 1351, 1355, 1356, 1357, 1361, 1362, 1366, 1373, 1380,
+ 1387, 1394, 1404, 1405, 1410, 1416, 1422, 1428, 1434, 1444,
+ 1454, 1455, 1459, 1460, 1468, 1483, 1489, 1495, 1501, 1519,
+ 1527, 1535, 1543, 1554, 1555, 1560, 1568, 1577, 1585, 1593,
+ 1602, 1611, 1623, 1633, 1641, 1650, 1657, 1664, 1672, 1680,
+ 1688, 1696, 1704, 1711, 1718, 1726, 1733, 1740, 1748, 1756,
+ 1764, 1772, 1780, 1788, 1796, 1804, 1812, 1822, 1830, 1834,
+ 1835, 1836, 1840, 1841, 1845, 1848, 1849, 1853, 1854, 1859,
+ 1863, 1867, 1872, 1887, 1893, 1916, 1938, 1953, 1954, 1963,
+ 1964, 1965, 1971, 1972, 1977, 1981, 1985, 1989, 1993, 1997,
+ 2001, 2005, 2009, 2013, 2022, 2026, 2030, 2034, 2039, 2043,
+ 2047, 2048, 2059, 2073, 2099, 2100, 2101, 2102, 2103, 2104,
+ 2105, 2109, 2110, 2114, 2118, 2125, 2126, 2127, 2130, 2142,
+ 2143, 2147, 2168, 2169, 2188, 2199, 2210, 2222, 2234, 2245,
+ 2264, 2293, 2299, 2305, 2311, 2329, 2339, 2340, 2344, 2345,
+ 2346, 2347, 2348, 2349, 2358, 2379, 2383, 2393, 2405, 2417,
+ 2435, 2436, 2440, 2441, 2444, 2450, 2454, 2462, 2467, 2479,
+ 2481, 2483, 2485, 2488, 2491, 2494, 2498, 2499, 2500, 2501,
+ 2502, 2505, 2506, 2511, 2512, 2513, 2514, 2517, 2518, 2519,
+ 2520, 2523, 2524, 2527, 2528, 2538, 2563, 2575, 2576, 2580,
+ 2581, 2585, 2601, 2602, 2603, 2616, 2627, 2636, 2637, 2640,
+ 2641, 2644, 2648, 2652, 2656, 2660, 2664, 2668, 2672, 2676,
+ 2680, 2684, 2688, 2694, 2695, 2699, 2700, 2705, 2717, 2727,
+ 2741, 2742, 2750, 2751, 2755, 2756, 2760, 2761, 2765, 2766,
+ 2770, 2778, 2789, 2790, 2800, 2810, 2811, 2824, 2831, 2847,
+ 2864, 2872, 2889, 2898, 2906, 2917, 2918, 2922, 2926, 2934,
+ 2938, 2942, 2949, 2953, 2958, 2963, 2970, 2977, 2982, 2992,
+ 3006, 3007, 3012, 3013, 3017, 3018, 3028, 3036, 3053, 3062,
+ 3070, 3086, 3098, 3099, 3100, 3110, 3118, 3135, 3154, 3172,
+ 3195, 3196, 3200, 3202, 3211, 3212, 3213, 3214, 3218, 3223,
+ 3233, 3234, 3238, 3239, 3243, 3244, 3245, 3249, 3255, 3256,
+ 3257, 3258, 3259, 3263, 3264, 3268, 3270, 3279, 3286, 3296,
+ 3300, 3301, 3305, 3306, 3311, 3321, 3343, 3362, 3385, 3395,
+ 3406, 3416, 3426, 3437, 3473, 3480, 3489, 3498, 3507, 3518,
+ 3521, 3522, 3525, 3529, 3536, 3537, 3538, 3539, 3540, 3543,
+ 3544, 3547, 3550, 3551, 3559, 3565, 3567, 3584, 3599, 3600,
+ 3604, 3613, 3622, 3631, 3641, 3650, 3651, 3654, 3655, 3658,
+ 3667, 3672, 3682, 3691, 3703, 3704, 3708, 3716, 3728, 3737,
+ 3749, 3758, 3779, 3789, 3807, 3816, 3828, 3829, 3830, 3831,
+ 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3843, 3844,
+ 3847, 3848, 3851, 3853, 3866, 3877, 3878, 3879, 3904, 3913,
+ 3922, 3931, 3940, 3949, 3958, 3968, 3977, 3986, 3995, 4004,
+ 4013, 4022, 4030, 4038, 4046, 4057, 4058, 4059, 4060, 4061,
+ 4062, 4063, 4064, 4065, 4066, 4067, 4068, 4072, 4073, 4083,
+ 4090, 4099, 4106, 4119, 4125, 4132, 4139, 4146, 4153, 4160,
+ 4167, 4174, 4181, 4188, 4195, 4202, 4209, 4216, 4225, 4226,
+ 4236, 4251, 4264, 4289, 4291, 4293, 4295, 4302, 4311, 4312,
+ 4315, 4322, 4329, 4336, 4350, 4357, 4364, 4371, 4378, 4385,
+ 4392, 4399, 4406, 4413, 4424, 4425, 4428, 4438, 4452, 4453,
+ 4457, 4458, 4463, 4479, 4492, 4502, 4514, 4515, 4518, 4519,
+ 4534, 4550, 4569, 4570, 4574, 4575, 4578, 4579, 4587, 4596,
+ 4605, 4616, 4617, 4618, 4621, 4622, 4623, 4626, 4627, 4628,
+ 4644, 4656, 4669, 4684, 4685, 4688, 4689, 4693, 4694, 4702,
+ 4703, 4707, 4708, 4723, 4732, 4741, 4750, 4759, 4771, 4772,
+ 4773, 4774, 4775, 4781, 4785, 4800, 4801, 4807, 4817, 4821,
+ 4826, 4836, 4837, 4844, 4848, 4852, 4856, 4860, 4864, 4868,
+ 4872, 4876, 4880, 4884, 4888, 4892, 4900, 4904, 4908, 4912,
+ 4918, 4919, 4926, 4927, 4930, 4942, 4946, 4961, 4972, 4973,
+ 4978, 4979, 4994, 5004, 5017, 5027, 5040, 5050, 5063, 5071,
+ 5073, 5075, 5080, 5082, 5093, 5104, 5115, 5128, 5129, 5130,
+ 5134, 5145, 5146, 5160, 5168, 5178, 5191, 5192, 5195, 5196,
+ 5206, 5215, 5223, 5231, 5240, 5248, 5256, 5265, 5274, 5282,
+ 5291, 5300, 5309, 5318, 5327, 5336, 5344, 5352, 5360, 5368,
+ 5376, 5384, 5392, 5402, 5403, 5406, 5407, 5417, 5426, 5434,
+ 5443, 5451, 5459, 5467, 5483, 5492, 5500, 5508, 5516, 5525,
+ 5533, 5542, 5551, 5560, 5568, 5576, 5584, 5592, 5600, 5608,
+ 5626, 5625, 5644, 5645, 5646, 5651, 5657, 5666, 5667, 5668,
+ 5669, 5670, 5674, 5675, 5678, 5679, 5680, 5681, 5685, 5686,
+ 5687, 5692, 5702, 5723, 5731, 5740, 5746, 5765, 5772, 5779,
+ 5786, 5793, 5800, 5807, 5815, 5823, 5831, 5839, 5847, 5854,
+ 5861, 5870, 5871, 5872, 5876, 5879, 5882, 5889, 5891, 5893,
+ 5898, 5900, 5912, 5923, 5937, 5943, 5949, 5955, 5965, 5981,
+ 5991, 5992, 5996, 6000, 6004, 6008, 6012, 6016, 6020, 6024,
+ 6028, 6032, 6036, 6040, 6044, 6048, 6052, 6056, 6066, 6067,
+ 6078, 6085, 6096, 6107, 6108, 6112, 6126, 6133, 6150, 6162,
+ 6171, 6179, 6187, 6196, 6207, 6208, 6219, 6229, 6239, 6249,
+ 6259, 6269, 6277, 6298, 6321, 6329, 6338, 6349, 6350, 6362,
+ 6375, 6388, 6401, 6414, 6430, 6431, 6435, 6436, 6439, 6440,
+ 6443, 6444, 6448, 6449, 6460, 6471, 6472, 6473, 6474, 6475,
+ 6476, 6477, 6481, 6482, 6492, 6502, 6503, 6507, 6508, 6509,
+ 6510, 6520, 6528, 6545, 6546, 6556, 6562, 6568, 6574, 6590,
+ 6599, 6605, 6611, 6620, 6622, 6627, 6638, 6639, 6650, 6663,
+ 6664, 6675, 6686, 6687, 6690, 6691, 6692, 6693, 6694, 6695,
+ 6696, 6697, 6700, 6701, 6712, 6729, 6730, 6734, 6735, 6739,
+ 6747, 6775, 6786, 6787, 6797, 6808, 6809, 6810, 6811, 6812,
+ 6815, 6816, 6817, 6865, 6866, 6870, 6871, 6885, 6886, 6892,
+ 6899, 6906, 6913, 6920, 6927, 6937, 6938, 6965, 6980, 6981,
+ 7000, 7004, 7008, 7023, 7030, 7040, 7041, 7044, 7056, 7066,
+ 7074, 7079, 7084, 7089, 7094, 7099, 7104, 7109, 7116, 7117,
+ 7120, 7121, 7122, 7129, 7130, 7131, 7132, 7136, 7137, 7141,
+ 7145, 7146, 7149, 7158, 7171, 7173, 7175, 7177, 7179, 7189,
+ 7191, 7193, 7198, 7200, 7204, 7205, 7218, 7219, 7220, 7224,
+ 7232, 7237, 7238, 7243, 7244, 7248, 7249, 7253, 7254, 7258,
+ 7259, 7263, 7264, 7268, 7269, 7273, 7281, 7292, 7293, 7298,
+ 7304, 7322, 7323, 7327, 7328, 7338, 7342, 7347, 7354, 7362,
+ 7369, 7379, 7389, 7417, 7424, 7428, 7454, 7458, 7470, 7483,
+ 7497, 7508, 7523, 7529, 7534, 7540, 7547, 7548, 7549, 7550,
+ 7554, 7555, 7567, 7568, 7573, 7580, 7587, 7594, 7605, 7606,
+ 7619, 7623, 7630, 7640, 7645, 7646, 7651, 7652, 7660, 7668,
+ 7673, 7677, 7683, 7704, 7709, 7716, 7721, 7727, 7732, 7741,
+ 7743, 7746, 7750, 7751, 7752, 7753, 7754, 7755, 7760, 7790,
+ 7791, 7792, 7793, 7804, 7810, 7818, 7819, 7825, 7830, 7835,
+ 7840, 7845, 7850, 7855, 7860, 7866, 7872, 7878, 7885, 7907,
+ 7916, 7920, 7928, 7932, 7940, 7952, 7973, 7977, 7983, 7987,
+ 8000, 8019, 8042, 8044, 8046, 8048, 8050, 8052, 8057, 8058,
+ 8062, 8063, 8070, 8079, 8087, 8096, 8107, 8115, 8116, 8117,
+ 8121, 8123, 8125, 8127, 8129, 8131, 8133, 8138, 8143, 8149,
+ 8157, 8162, 8169, 8176, 8180, 8184, 8214, 8215, 8217, 8238,
+ 8240, 8242, 8244, 8246, 8248, 8250, 8252, 8254, 8256, 8258,
+ 8261, 8263, 8265, 8268, 8270, 8272, 8275, 8277, 8289, 8291,
+ 8303, 8305, 8317, 8319, 8332, 8344, 8356, 8368, 8390, 8397,
+ 8404, 8411, 8418, 8422, 8429, 8436, 8443, 8450, 8457, 8464,
+ 8468, 8476, 8480, 8489, 8496, 8503, 8516, 8529, 8548, 8569,
+ 8579, 8586, 8602, 8607, 8625, 8627, 8629, 8631, 8633, 8635,
+ 8637, 8639, 8641, 8643, 8645, 8647, 8649, 8651, 8653, 8655,
+ 8657, 8661, 8666, 8670, 8674, 8679, 8696, 8697, 8698, 8713,
+ 8725, 8727, 8729, 8739, 8749, 8759, 8767, 8785, 8797, 8809,
+ 8821, 8833, 8849, 8861, 8883, 8904, 8914, 8927, 8943, 8956,
+ 8966, 8979, 8989, 9002, 9014, 9026, 9038, 9050, 9062, 9074,
+ 9076, 9088, 9105, 9118, 9133, 9154, 9169, 9181, 9193, 9205,
+ 9209, 9216, 9224, 9232, 9236, 9240, 9244, 9248, 9252, 9256,
+ 9265, 9269, 9273, 9278, 9292, 9294, 9298, 9300, 9302, 9305,
+ 9308, 9311, 9312, 9315, 9323, 9333, 9334, 9337, 9338, 9339,
+ 9346, 9347, 9351, 9352, 9357, 9365, 9367, 9379, 9382, 9406,
+ 9407, 9410, 9411, 9420, 9424, 9429, 9432, 9447, 9476, 9480,
+ 9484, 9501, 9502, 9503, 9506, 9507, 9508, 9511, 9512, 9515,
+ 9516, 9517, 9518, 9519, 9520, 9521, 9522, 9523, 9526, 9528,
+ 9533, 9535, 9540, 9542, 9544, 9546, 9548, 9550, 9562, 9566,
+ 9572, 9573, 9576, 9580, 9584, 9590, 9591, 9596, 9600, 9607,
+ 9608, 9609, 9610, 9611, 9612, 9613, 9614, 9623, 9627, 9634,
+ 9641, 9642, 9658, 9662, 9667, 9671, 9686, 9691, 9695, 9698,
+ 9701, 9702, 9703, 9706, 9713, 9723, 9737, 9738, 9742, 9753,
+ 9754, 9757, 9758, 9766, 9770, 9777, 9781, 9785, 9792, 9802,
+ 9803, 9807, 9808, 9811, 9812, 9823, 9824, 9833, 9834, 9842,
+ 9853, 9854, 9857, 9873, 9881, 9889, 9911, 9912, 9916, 9917,
+ 9928, 9936, 9964, 9966, 9971, 9974, 9977, 9979, 9981, 9983,
+ 9993, 9995, 10003, 10007, 10011, 10015, 10019, 10028, 10035, 10043,
+ 10047, 10053, 10070, 10074, 10078, 10084, 10085, 10086, 10088, 10089,
+ 10090, 10106, 10107, 10108, 10113, 10114, 10115, 10121, 10122, 10123,
+ 10124, 10125, 10145, 10146, 10147, 10148, 10149, 10150, 10151, 10152,
+ 10153, 10154, 10155, 10156, 10157, 10158, 10159, 10160, 10161, 10162,
+ 10163, 10164, 10165, 10166, 10167, 10168, 10169, 10170, 10171, 10172,
+ 10173, 10174, 10175, 10176, 10177, 10178, 10179, 10180, 10181, 10182,
+ 10183, 10184, 10185, 10186, 10187, 10188, 10189, 10190, 10191, 10192,
+ 10193, 10194, 10195, 10196, 10197, 10198, 10199, 10200, 10201, 10202,
+ 10203, 10204, 10205, 10206, 10207, 10208, 10209, 10210, 10211, 10212,
+ 10213, 10214, 10215, 10216, 10217, 10218, 10219, 10220, 10221, 10222,
+ 10223, 10224, 10225, 10226, 10227, 10228, 10229, 10230, 10231, 10232,
+ 10233, 10234, 10235, 10236, 10237, 10238, 10239, 10240, 10241, 10242,
+ 10243, 10244, 10245, 10246, 10247, 10248, 10249, 10250, 10251, 10252,
+ 10253, 10254, 10255, 10256, 10257, 10258, 10259, 10260, 10261, 10262,
+ 10263, 10264, 10265, 10266, 10267, 10268, 10269, 10270, 10271, 10272,
+ 10273, 10274, 10275, 10276, 10277, 10278, 10279, 10280, 10281, 10282,
+ 10283, 10284, 10285, 10286, 10287, 10288, 10289, 10290, 10291, 10292,
+ 10293, 10294, 10295, 10296, 10297, 10298, 10299, 10300, 10301, 10302,
+ 10303, 10304, 10305, 10306, 10307, 10308, 10309, 10310, 10311, 10312,
+ 10313, 10314, 10315, 10316, 10317, 10318, 10319, 10320, 10321, 10322,
+ 10323, 10324, 10325, 10326, 10327, 10328, 10329, 10330, 10331, 10332,
+ 10333, 10334, 10335, 10336, 10337, 10338, 10339, 10340, 10341, 10342,
+ 10343, 10344, 10345, 10346, 10347, 10348, 10349, 10350, 10351, 10352,
+ 10353, 10354, 10355, 10356, 10357, 10358, 10359, 10360, 10361, 10362,
+ 10363, 10364, 10365, 10366, 10367, 10368, 10369, 10370, 10371, 10372,
+ 10373, 10374, 10375, 10376, 10377, 10378, 10379, 10380, 10381, 10382,
+ 10383, 10384, 10385, 10386, 10387, 10388, 10389, 10390, 10404, 10405,
+ 10406, 10407, 10408, 10409, 10410, 10411, 10412, 10413, 10414, 10415,
+ 10416, 10417, 10418, 10419, 10420, 10421, 10422, 10423, 10424, 10425,
+ 10426, 10427, 10428, 10429, 10430, 10431, 10432, 10433, 10434, 10435,
+ 10436, 10437, 10438, 10439, 10440, 10441, 10442, 10443, 10444, 10445,
+ 10446, 10447, 10448, 10462, 10463, 10464, 10465, 10466, 10467, 10468,
+ 10469, 10470, 10471, 10472, 10473, 10474, 10475, 10476, 10477, 10478,
+ 10479, 10480, 10481, 10482, 10483, 10493, 10494, 10495, 10496, 10497,
+ 10498, 10499, 10500, 10501, 10502, 10503, 10504, 10505, 10506, 10507,
+ 10508, 10509, 10510, 10511, 10512, 10513, 10514, 10515, 10516, 10517,
+ 10518, 10519, 10520, 10521, 10522, 10523, 10524, 10525, 10526, 10527,
+ 10528, 10529, 10530, 10531, 10532, 10533, 10534, 10535, 10536, 10537,
+ 10538, 10539, 10540, 10541, 10542, 10543, 10544, 10545, 10546, 10547,
+ 10548, 10549, 10550, 10551, 10552, 10553, 10554, 10555, 10556, 10557,
+ 10558, 10559, 10560, 10561, 10562, 10563, 10564, 10565, 10566, 10567,
+ 10568, 10569, 10570, 10571, 10576, 10586
};
#endif
@@ -2294,64 +2448,67 @@ static const char *const yytname[] =
"ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "AT", "AUTHORIZATION",
"BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT",
"BOOLEAN_P", "BOTH", "BY", "CACHE", "CALLED", "CASCADE", "CASCADED",
- "CASE", "CAST", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS",
- "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE",
- "COLLATE", "COLUMN", "COMMENT", "COMMIT", "COMMITTED", "CONCURRENTLY",
- "CONFIGURATION", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTENT_P",
- "CONVERSION_P", "COPY", "COST", "CREATE", "CREATEDB", "CREATEROLE",
- "CREATEUSER", "CROSS", "CSV", "CURRENT_P", "CURRENT_DATE",
- "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER",
- "CURSOR", "CYCLE", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P",
- "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER",
- "DELETE_P", "DELIMITER", "DELIMITERS", "DESC", "DICTIONARY", "DISABLE_P",
- "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P",
- "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P",
- "ENUM_P", "ESCAPE", "EXCEPT", "EXCLUDING", "EXCLUSIVE", "EXECUTE",
- "EXISTS", "EXPLAIN", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH",
- "FIRST_P", "FLOAT_P", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE",
- "FROM", "FULL", "FUNCTION", "GLOBAL", "GRANT", "GRANTED", "GREATEST",
- "GROUP_P", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IF_P",
- "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IN_P", "INCLUDING",
- "INCREMENT", "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY",
- "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD",
- "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS",
- "ISNULL", "ISOLATION", "JOIN", "KEY", "LANCOMPILER", "LANGUAGE",
- "LARGE_P", "LAST_P", "LEADING", "LEAST", "LEFT", "LEVEL", "LIKE",
- "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP",
- "LOCATION", "LOCK_P", "LOGIN_P", "MAPPING", "MATCH", "MAXVALUE",
- "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES",
- "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NO", "NOCREATEDB",
- "NOCREATEROLE", "NOCREATEUSER", "NOINHERIT", "NOLOGIN_P", "NONE",
- "NOSUPERUSER", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P",
- "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET",
- "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION", "OR", "ORDER",
- "OUT_P", "OUTER_P", "OVERLAPS", "OVERLAY", "OWNED", "OWNER", "PARSER",
- "PARTIAL", "PASSWORD", "PLACING", "PLANS", "POSITION", "PRECISION",
- "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES",
- "PROCEDURAL", "PROCEDURE", "QUOTE", "READ", "REAL", "REASSIGN",
- "RECHECK", "REFERENCES", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME",
+ "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER",
+ "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER",
+ "COALESCE", "COLLATE", "COLUMN", "COMMENT", "COMMIT", "COMMITTED",
+ "CONCURRENTLY", "CONFIGURATION", "CONNECTION", "CONSTRAINT",
+ "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST",
+ "CREATE", "CREATEDB", "CREATEROLE", "CREATEUSER", "CROSS", "CSV",
+ "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE",
+ "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER",
+ "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC",
+ "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED",
+ "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DESC", "DICTIONARY",
+ "DISABLE_P", "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P",
+ "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED",
+ "END_P", "ENUM_P", "ESCAPE", "EXCEPT", "EXCLUDING", "EXCLUSIVE",
+ "EXECUTE", "EXISTS", "EXPLAIN", "EXTERNAL", "EXTRACT", "FALSE_P",
+ "FAMILY", "FETCH", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE",
+ "FOREIGN", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "GLOBAL",
+ "GRANT", "GRANTED", "GREATEST", "GROUP_P", "HANDLER", "HAVING",
+ "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE",
+ "IMMUTABLE", "IMPLICIT_P", "IN_P", "INCLUDING", "INCREMENT", "INDEX",
+ "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INNER_P", "INOUT",
+ "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER",
+ "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION",
+ "JOIN", "KEY", "LANCOMPILER", "LANGUAGE", "LARGE_P", "LAST_P",
+ "LC_COLLATE_P", "LC_CTYPE_P", "LEADING", "LEAST", "LEFT", "LEVEL",
+ "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME",
+ "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOGIN_P", "MAPPING", "MATCH",
+ "MAXVALUE", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P",
+ "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NO",
+ "NOCREATEDB", "NOCREATEROLE", "NOCREATEUSER", "NOINHERIT", "NOLOGIN_P",
+ "NONE", "NOSUPERUSER", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT",
+ "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF", "OFF",
+ "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS",
+ "OR", "ORDER", "OUT_P", "OUTER_P", "OVER", "OVERLAPS", "OVERLAY",
+ "OWNED", "OWNER", "PARSER", "PARTIAL", "PARTITION", "PASSWORD",
+ "PLACING", "PLANS", "POSITION", "PRECEDING", "PRECISION", "PRESERVE",
+ "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL",
+ "PROCEDURE", "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK",
+ "RECURSIVE", "REFERENCES", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME",
"REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT",
"RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROW",
"ROWS", "RULE", "SAVEPOINT", "SCHEMA", "SCROLL", "SEARCH", "SECOND_P",
- "SECURITY", "SELECT", "SEQUENCE", "SERIALIZABLE", "SESSION",
+ "SECURITY", "SELECT", "SEQUENCE", "SERIALIZABLE", "SERVER", "SESSION",
"SESSION_USER", "SET", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE",
"SMALLINT", "SOME", "STABLE", "STANDALONE_P", "START", "STATEMENT",
"STATISTICS", "STDIN", "STDOUT", "STORAGE", "STRICT_P", "STRIP_P",
"SUBSTRING", "SUPERUSER_P", "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE",
"TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIME",
"TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TREAT", "TRIGGER", "TRIM",
- "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "UNCOMMITTED", "UNENCRYPTED",
- "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNTIL", "UPDATE", "USER",
- "USING", "VACUUM", "VALID", "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR",
- "VARYING", "VERBOSE", "VERSION_P", "VIEW", "VOLATILE", "WHEN", "WHERE",
- "WHITESPACE_P", "WITH", "WITHOUT", "WORK", "WRITE", "XML_P",
- "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLFOREST", "XMLPARSE",
- "XMLPI", "XMLROOT", "XMLSERIALIZE", "YEAR_P", "YES_P", "ZONE",
- "NULLS_FIRST", "NULLS_LAST", "WITH_CASCADED", "WITH_LOCAL", "WITH_CHECK",
- "IDENT", "FCONST", "SCONST", "BCONST", "XCONST", "Op", "ICONST", "PARAM",
- "'='", "'<'", "'>'", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'",
- "'^'", "UMINUS", "'['", "']'", "'('", "')'", "TYPECAST", "'.'", "';'",
- "','", "':'", "$accept", "stmtblock", "stmtmulti", "stmt",
+ "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "UNBOUNDED", "UNCOMMITTED",
+ "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNTIL",
+ "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATOR", "VALUE_P",
+ "VALUES", "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P",
+ "VIEW", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH",
+ "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P", "XMLATTRIBUTES",
+ "XMLCONCAT", "XMLELEMENT", "XMLFOREST", "XMLPARSE", "XMLPI", "XMLROOT",
+ "XMLSERIALIZE", "YEAR_P", "YES_P", "ZONE", "NULLS_FIRST", "NULLS_LAST",
+ "WITH_TIME", "IDENT", "FCONST", "SCONST", "BCONST", "XCONST", "Op",
+ "ICONST", "PARAM", "'='", "'<'", "'>'", "POSTFIXOP", "'+'", "'-'", "'*'",
+ "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "TYPECAST",
+ "'.'", "';'", "','", "':'", "$accept", "stmtblock", "stmtmulti", "stmt",
"CreateRoleStmt", "opt_with", "OptRoleList", "OptRoleElem",
"CreateUserStmt", "AlterRoleStmt", "AlterRoleSetStmt", "AlterUserStmt",
"AlterUserSetStmt", "DropRoleStmt", "DropUserStmt", "CreateGroupStmt",
@@ -2362,11 +2519,11 @@ static const char *const yytname[] =
"VariableResetStmt", "SetResetClause", "VariableShowStmt",
"ConstraintsSetStmt", "constraints_set_list", "constraints_set_mode",
"CheckPointStmt", "DiscardStmt", "AlterTableStmt", "alter_table_cmds",
- "alter_table_cmd", "alter_rel_cmds", "alter_rel_cmd",
- "alter_column_default", "opt_drop_behavior", "alter_using",
- "ClosePortalStmt", "CopyStmt", "copy_from", "copy_file_name",
- "copy_opt_list", "copy_opt_item", "opt_binary", "opt_oids",
- "copy_delimiter", "opt_using", "CreateStmt", "OptTemp",
+ "alter_table_cmd", "alter_column_default", "opt_drop_behavior",
+ "alter_using", "reloptions", "opt_reloptions", "reloption_list",
+ "reloption_elem", "ClosePortalStmt", "CopyStmt", "copy_from",
+ "copy_file_name", "copy_opt_list", "copy_opt_item", "opt_binary",
+ "opt_oids", "copy_delimiter", "opt_using", "CreateStmt", "OptTemp",
"OptTableElementList", "TableElementList", "TableElement", "columnDef",
"ColQualList", "ColConstraint", "ColConstraintElem", "ConstraintAttr",
"TableLikeClause", "TableLikeOptionList", "TableLikeOption",
@@ -2374,93 +2531,108 @@ static const char *const yytname[] =
"columnElem", "key_match", "key_actions", "key_update", "key_delete",
"key_action", "OptInherit", "OptWith", "OnCommitOption", "OptTableSpace",
"OptConsTableSpace", "CreateAsStmt", "create_as_target", "OptCreateAs",
- "CreateAsList", "CreateAsElement", "CreateSeqStmt", "AlterSeqStmt",
- "OptSeqList", "OptSeqElem", "opt_by", "NumericOnly", "FloatOnly",
- "IntegerOnly", "CreatePLangStmt", "opt_trusted", "handler_name",
- "opt_validator", "opt_lancompiler", "DropPLangStmt", "opt_procedural",
- "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
- "CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
- "TriggerOneEvent", "TriggerForSpec", "TriggerForOpt", "TriggerForType",
- "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
- "ConstraintAttributeSpec", "ConstraintDeferrabilitySpec",
- "ConstraintTimeSpec", "DropTrigStmt", "CreateAssertStmt",
- "DropAssertStmt", "DefineStmt", "definition", "def_list", "def_elem",
- "def_arg", "aggr_args", "old_aggr_definition", "old_aggr_list",
- "old_aggr_elem", "enum_val_list", "CreateOpClassStmt",
+ "CreateAsList", "CreateAsElement", "opt_with_data", "CreateSeqStmt",
+ "AlterSeqStmt", "OptSeqOptList", "SeqOptList", "SeqOptElem", "opt_by",
+ "NumericOnly", "CreatePLangStmt", "opt_trusted", "handler_name",
+ "validator_clause", "opt_validator", "opt_lancompiler", "DropPLangStmt",
+ "opt_procedural", "CreateTableSpaceStmt", "OptTableSpaceOwner",
+ "DropTableSpaceStmt", "CreateFdwStmt", "DropFdwStmt", "AlterFdwStmt",
+ "create_generic_options", "generic_option_list", "alter_generic_options",
+ "alter_generic_option_list", "alter_generic_option_elem",
+ "generic_option_elem", "generic_option_name", "generic_option_arg",
+ "CreateForeignServerStmt", "opt_type", "foreign_server_version",
+ "opt_foreign_server_version", "DropForeignServerStmt",
+ "AlterForeignServerStmt", "CreateUserMappingStmt", "auth_ident",
+ "DropUserMappingStmt", "AlterUserMappingStmt", "CreateTrigStmt",
+ "TriggerActionTime", "TriggerEvents", "TriggerOneEvent",
+ "TriggerForSpec", "TriggerForOpt", "TriggerForType", "TriggerFuncArgs",
+ "TriggerFuncArg", "OptConstrFromTable", "ConstraintAttributeSpec",
+ "ConstraintDeferrabilitySpec", "ConstraintTimeSpec", "DropTrigStmt",
+ "CreateAssertStmt", "DropAssertStmt", "DefineStmt", "definition",
+ "def_list", "def_elem", "def_arg", "aggr_args", "old_aggr_definition",
+ "old_aggr_list", "old_aggr_elem", "enum_val_list", "CreateOpClassStmt",
"opclass_item_list", "opclass_item", "opt_default", "opt_opfamily",
"opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
"opclass_drop_list", "opclass_drop", "DropOpClassStmt",
"DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
"drop_type", "any_name_list", "any_name", "attrs", "TruncateStmt",
- "CommentStmt", "comment_type", "comment_text", "FetchStmt",
- "fetch_direction", "from_in", "GrantStmt", "RevokeStmt", "privileges",
- "privilege_list", "privilege", "privilege_target", "grantee_list",
- "grantee", "opt_grant_grant_option", "function_with_argtypes_list",
- "function_with_argtypes", "GrantRoleStmt", "RevokeRoleStmt",
- "opt_grant_admin_option", "opt_granted_by", "IndexStmt",
- "index_opt_unique", "access_method_clause", "index_params", "index_elem",
- "opt_class", "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt",
- "opt_or_replace", "func_args", "func_args_list", "func_arg", "arg_class",
- "param_name", "func_return", "func_type", "createfunc_opt_list",
- "common_func_opt_item", "createfunc_opt_item", "func_as",
- "opt_definition", "AlterFunctionStmt", "alterfunc_opt_list",
+ "opt_restart_seqs", "CommentStmt", "comment_type", "comment_text",
+ "FetchStmt", "fetch_direction", "from_in", "GrantStmt", "RevokeStmt",
+ "privileges", "privilege_list", "privilege", "privilege_target",
+ "grantee_list", "grantee", "opt_grant_grant_option",
+ "function_with_argtypes_list", "function_with_argtypes", "GrantRoleStmt",
+ "RevokeRoleStmt", "opt_grant_admin_option", "opt_granted_by",
+ "IndexStmt", "index_opt_unique", "access_method_clause", "index_params",
+ "index_elem", "opt_class", "opt_asc_desc", "opt_nulls_order",
+ "CreateFunctionStmt", "opt_or_replace", "func_args", "func_args_list",
+ "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
+ "arg_class", "param_name", "func_return", "func_type",
+ "func_arg_with_default", "createfunc_opt_list", "common_func_opt_item",
+ "createfunc_opt_item", "func_as", "opt_definition", "table_func_column",
+ "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
"opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
"oper_argtypes", "any_operator", "CreateCastStmt", "cast_context",
"DropCastStmt", "opt_if_exists", "ReindexStmt", "reindex_type",
- "opt_force", "RenameStmt", "opt_column", "AlterObjectSchemaStmt",
- "AlterOwnerStmt", "RuleStmt", "@1", "RuleActionList", "RuleActionMulti",
- "RuleActionStmt", "RuleActionStmtOrEmpty", "event", "opt_instead",
- "DropRuleStmt", "NotifyStmt", "ListenStmt", "UnlistenStmt",
- "TransactionStmt", "opt_transaction", "transaction_mode_item",
- "transaction_mode_list", "transaction_mode_list_or_empty", "ViewStmt",
- "opt_check_option", "LoadStmt", "CreatedbStmt", "createdb_opt_list",
- "createdb_opt_item", "opt_equal", "AlterDatabaseStmt",
- "AlterDatabaseSetStmt", "alterdb_opt_list", "alterdb_opt_item",
- "DropdbStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
- "AlterTSDictionaryStmt", "AlterTSConfigurationStmt",
- "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
- "VacuumStmt", "AnalyzeStmt", "analyze_keyword", "opt_verbose",
- "opt_full", "opt_freeze", "opt_name_list", "ExplainStmt",
- "ExplainableStmt", "opt_analyze", "PrepareStmt", "prep_type_clause",
- "PreparableStmt", "ExecuteStmt", "execute_param_clause",
- "DeallocateStmt", "InsertStmt", "insert_rest", "insert_column_list",
- "insert_column_item", "returning_clause", "DeleteStmt", "using_clause",
- "LockStmt", "opt_lock", "lock_type", "opt_nowait", "UpdateStmt",
- "set_clause_list", "set_clause", "single_set_clause",
- "multiple_set_clause", "set_target", "set_target_list",
- "DeclareCursorStmt", "cursor_options", "opt_hold", "SelectStmt",
- "select_with_parens", "select_no_parens", "select_clause",
- "simple_select", "into_clause", "OptTempTableName", "opt_table",
- "opt_all", "opt_distinct", "opt_sort_clause", "sort_clause",
- "sortby_list", "sortby", "select_limit", "opt_select_limit",
- "select_limit_value", "select_offset_value", "group_clause",
+ "opt_force", "RenameStmt", "opt_column", "opt_set_data",
+ "AlterObjectSchemaStmt", "AlterOwnerStmt", "RuleStmt", "@1",
+ "RuleActionList", "RuleActionMulti", "RuleActionStmt",
+ "RuleActionStmtOrEmpty", "event", "opt_instead", "DropRuleStmt",
+ "NotifyStmt", "ListenStmt", "UnlistenStmt", "TransactionStmt",
+ "opt_transaction", "transaction_mode_item", "transaction_mode_list",
+ "transaction_mode_list_or_empty", "ViewStmt", "opt_check_option",
+ "LoadStmt", "CreatedbStmt", "createdb_opt_list", "createdb_opt_item",
+ "opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt",
+ "alterdb_opt_list", "alterdb_opt_item", "DropdbStmt", "CreateDomainStmt",
+ "AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt",
+ "AlterTSConfigurationStmt", "CreateConversionStmt", "ClusterStmt",
+ "cluster_index_specification", "VacuumStmt", "AnalyzeStmt",
+ "analyze_keyword", "opt_verbose", "opt_full", "opt_freeze",
+ "opt_name_list", "ExplainStmt", "ExplainableStmt", "opt_analyze",
+ "PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt",
+ "execute_param_clause", "DeallocateStmt", "InsertStmt", "insert_rest",
+ "insert_column_list", "insert_column_item", "returning_clause",
+ "DeleteStmt", "using_clause", "LockStmt", "opt_lock", "lock_type",
+ "opt_nowait", "UpdateStmt", "set_clause_list", "set_clause",
+ "single_set_clause", "multiple_set_clause", "set_target",
+ "set_target_list", "DeclareCursorStmt", "cursor_options", "opt_hold",
+ "SelectStmt", "select_with_parens", "select_no_parens", "select_clause",
+ "simple_select", "with_clause", "cte_list", "common_table_expr",
+ "into_clause", "OptTempTableName", "opt_table", "opt_all",
+ "opt_distinct", "opt_sort_clause", "sort_clause", "sortby_list",
+ "sortby", "select_limit", "opt_select_limit", "select_limit_value",
+ "opt_select_fetch_first_value", "select_offset_value",
+ "select_offset_value2", "row_or_rows", "first_or_next", "group_clause",
"having_clause", "for_locking_clause", "opt_for_locking_clause",
"for_locking_items", "for_locking_item", "locked_rels_list",
"values_clause", "from_clause", "from_list", "table_ref", "joined_table",
"alias_clause", "join_type", "join_outer", "join_qual", "relation_expr",
- "relation_expr_opt_alias", "func_table", "where_clause",
- "where_or_current_clause", "TableFuncElementList", "TableFuncElement",
- "Typename", "opt_array_bounds", "SimpleTypename", "ConstTypename",
- "GenericType", "opt_type_modifiers", "Numeric", "opt_float", "Bit",
- "ConstBit", "BitWithLength", "BitWithoutLength", "Character",
- "ConstCharacter", "CharacterWithLength", "CharacterWithoutLength",
- "character", "opt_varying", "opt_charset", "ConstDatetime",
- "ConstInterval", "opt_timezone", "opt_interval", "a_expr", "b_expr",
- "c_expr", "func_expr", "xml_root_version", "opt_xml_root_standalone",
- "xml_attributes", "xml_attribute_list", "xml_attribute_el",
- "document_or_content", "xml_whitespace_option", "row", "sub_type",
- "all_Op", "MathOp", "qual_Op", "qual_all_Op", "subquery_Op", "expr_list",
- "extract_list", "type_list", "array_expr_list", "array_expr",
- "extract_arg", "overlay_list", "overlay_placing", "position_list",
- "substr_list", "substr_from", "substr_for", "trim_list", "in_expr",
- "case_expr", "when_clause_list", "when_clause", "case_default",
- "case_arg", "columnref", "indirection_el", "indirection",
- "opt_indirection", "opt_asymmetric", "ctext_expr", "ctext_expr_list",
- "ctext_row", "target_list", "target_el", "relation_name",
- "qualified_name_list", "qualified_name", "name_list", "name",
- "database_name", "access_method", "attr_name", "index_name", "file_name",
- "func_name", "AexprConst", "Iconst", "Sconst", "RoleId", "SignedIconst",
- "ColId", "type_function_name", "ColLabel", "unreserved_keyword",
+ "relation_expr_list", "relation_expr_opt_alias", "func_table",
+ "where_clause", "where_or_current_clause", "TableFuncElementList",
+ "TableFuncElement", "Typename", "opt_array_bounds", "SimpleTypename",
+ "ConstTypename", "GenericType", "opt_type_modifiers", "Numeric",
+ "opt_float", "Bit", "ConstBit", "BitWithLength", "BitWithoutLength",
+ "Character", "ConstCharacter", "CharacterWithLength",
+ "CharacterWithoutLength", "character", "opt_varying", "opt_charset",
+ "ConstDatetime", "ConstInterval", "opt_timezone", "opt_interval",
+ "interval_second", "a_expr", "b_expr", "c_expr", "func_expr",
+ "xml_root_version", "opt_xml_root_standalone", "xml_attributes",
+ "xml_attribute_list", "xml_attribute_el", "document_or_content",
+ "xml_whitespace_option", "window_clause", "window_definition_list",
+ "window_definition", "over_clause", "window_specification",
+ "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause",
+ "frame_extent", "frame_bound", "row", "sub_type", "all_Op", "MathOp",
+ "qual_Op", "qual_all_Op", "subquery_Op", "expr_list", "type_list",
+ "array_expr", "array_expr_list", "extract_list", "extract_arg",
+ "overlay_list", "overlay_placing", "position_list", "substr_list",
+ "substr_from", "substr_for", "trim_list", "in_expr", "case_expr",
+ "when_clause_list", "when_clause", "case_default", "case_arg",
+ "columnref", "indirection_el", "indirection", "opt_indirection",
+ "opt_asymmetric", "ctext_expr", "ctext_expr_list", "ctext_row",
+ "target_list", "target_el", "relation_name", "qualified_name_list",
+ "qualified_name", "name_list", "name", "database_name", "access_method",
+ "attr_name", "index_name", "file_name", "func_name", "AexprConst",
+ "Iconst", "Sconst", "RoleId", "SignedIconst", "ColId",
+ "type_function_name", "ColLabel", "unreserved_keyword",
"col_name_keyword", "type_func_name_keyword", "reserved_keyword",
"SpecialRuleRelation", 0
};
@@ -2509,197 +2681,216 @@ static const unsigned short int yytoknum[] =
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
- 635, 636, 637, 638, 639, 640, 641, 642, 61, 60,
- 62, 643, 43, 45, 42, 47, 37, 94, 644, 91,
- 93, 40, 41, 645, 46, 59, 44, 58
+ 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
+ 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
+ 655, 656, 657, 658, 659, 660, 61, 60, 62, 661,
+ 43, 45, 42, 47, 37, 94, 662, 91, 93, 40,
+ 41, 663, 46, 59, 44, 58
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const unsigned short int yyr1[] =
{
- 0, 408, 409, 410, 410, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
- 411, 411, 411, 411, 411, 411, 411, 412, 413, 413,
- 414, 414, 415, 415, 415, 415, 415, 415, 415, 415,
- 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
- 415, 415, 415, 415, 415, 415, 416, 417, 418, 419,
- 420, 421, 421, 422, 422, 423, 424, 425, 425, 426,
- 426, 427, 427, 428, 428, 429, 429, 430, 430, 430,
- 430, 430, 430, 431, 431, 431, 432, 432, 432, 432,
- 432, 432, 432, 432, 432, 432, 432, 432, 432, 433,
- 433, 434, 434, 435, 435, 435, 436, 436, 436, 436,
- 437, 437, 437, 437, 438, 438, 438, 438, 438, 438,
- 438, 439, 439, 439, 440, 440, 441, 441, 441, 441,
- 441, 442, 442, 443, 443, 443, 443, 443, 444, 445,
- 445, 446, 446, 447, 448, 448, 448, 448, 449, 449,
- 450, 450, 451, 451, 451, 451, 451, 451, 451, 451,
- 451, 451, 451, 451, 451, 451, 451, 451, 451, 451,
- 451, 451, 451, 451, 451, 451, 451, 451, 451, 451,
- 452, 452, 453, 453, 453, 453, 454, 454, 455, 455,
- 455, 456, 456, 457, 457, 458, 458, 459, 459, 460,
- 460, 460, 461, 461, 462, 462, 462, 462, 462, 462,
- 462, 462, 462, 462, 463, 463, 464, 464, 465, 465,
- 466, 466, 467, 467, 468, 468, 468, 468, 468, 468,
- 468, 469, 469, 470, 470, 471, 471, 471, 472, 473,
- 473, 474, 474, 474, 475, 475, 475, 475, 475, 475,
- 475, 476, 476, 476, 476, 477, 478, 478, 479, 479,
- 479, 479, 479, 479, 480, 480, 481, 481, 481, 481,
- 482, 482, 483, 483, 484, 485, 485, 485, 485, 486,
- 486, 486, 486, 486, 487, 488, 489, 489, 489, 489,
- 489, 490, 490, 491, 491, 491, 491, 492, 492, 492,
- 492, 493, 493, 494, 494, 495, 496, 497, 497, 498,
- 498, 499, 500, 501, 502, 502, 503, 503, 503, 503,
- 503, 503, 503, 503, 503, 503, 503, 504, 504, 505,
- 505, 506, 506, 507, 508, 508, 509, 509, 510, 510,
- 511, 511, 512, 512, 513, 513, 514, 514, 515, 516,
- 516, 517, 517, 518, 518, 519, 519, 520, 520, 520,
- 521, 521, 521, 522, 522, 523, 523, 524, 524, 525,
- 525, 525, 526, 526, 526, 526, 526, 526, 527, 527,
- 528, 528, 528, 528, 528, 529, 529, 530, 530, 531,
- 531, 532, 533, 534, 534, 534, 534, 534, 534, 534,
- 534, 534, 534, 534, 535, 536, 536, 537, 537, 538,
- 538, 538, 538, 538, 539, 539, 540, 541, 541, 542,
- 543, 543, 544, 545, 545, 546, 546, 546, 546, 546,
- 547, 547, 548, 548, 549, 549, 550, 551, 551, 552,
- 552, 553, 553, 554, 554, 555, 555, 556, 557, 558,
- 558, 559, 559, 559, 559, 559, 559, 559, 559, 559,
- 559, 559, 559, 560, 560, 561, 561, 562, 562, 563,
- 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
- 564, 564, 564, 564, 564, 564, 564, 565, 565, 565,
- 565, 565, 565, 565, 565, 565, 565, 565, 565, 566,
- 566, 567, 567, 567, 567, 568, 568, 568, 568, 568,
- 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
- 569, 569, 570, 571, 571, 572, 572, 572, 573, 573,
- 574, 574, 574, 574, 575, 575, 575, 575, 575, 575,
- 575, 575, 576, 576, 577, 577, 578, 578, 579, 579,
- 580, 581, 582, 582, 583, 583, 584, 584, 585, 585,
- 586, 586, 587, 587, 588, 588, 589, 589, 589, 590,
- 590, 590, 591, 591, 591, 592, 592, 592, 593, 593,
- 594, 594, 595, 595, 596, 596, 597, 597, 597, 597,
- 597, 598, 598, 598, 598, 599, 600, 601, 601, 601,
- 602, 602, 603, 603, 603, 603, 603, 603, 603, 603,
- 603, 603, 603, 603, 603, 604, 604, 604, 605, 605,
- 606, 606, 607, 608, 608, 609, 609, 610, 610, 611,
- 611, 612, 612, 613, 613, 613, 613, 614, 614, 615,
- 615, 616, 616, 616, 617, 618, 618, 619, 619, 619,
- 620, 620, 621, 621, 622, 622, 622, 622, 622, 622,
- 622, 622, 622, 622, 622, 622, 622, 622, 622, 622,
- 622, 622, 622, 622, 622, 622, 623, 623, 624, 624,
- 624, 624, 624, 624, 625, 625, 625, 625, 625, 625,
- 625, 625, 625, 625, 625, 625, 625, 625, 627, 626,
- 628, 628, 628, 629, 629, 630, 630, 630, 630, 630,
- 631, 631, 632, 632, 632, 632, 633, 633, 633, 634,
- 634, 635, 636, 637, 637, 638, 638, 638, 638, 638,
- 638, 638, 638, 638, 638, 638, 638, 638, 638, 639,
- 639, 639, 640, 640, 640, 641, 641, 641, 642, 642,
- 643, 643, 644, 644, 644, 644, 645, 646, 647, 647,
- 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
- 648, 648, 649, 649, 650, 651, 652, 652, 653, 654,
- 654, 655, 656, 656, 656, 656, 656, 657, 657, 658,
- 659, 659, 659, 659, 659, 659, 660, 661, 661, 661,
- 662, 662, 663, 663, 663, 664, 664, 665, 665, 666,
- 666, 667, 667, 668, 668, 669, 669, 670, 671, 671,
- 671, 671, 671, 671, 672, 672, 673, 674, 674, 675,
- 675, 675, 675, 676, 676, 677, 677, 678, 678, 678,
- 678, 679, 680, 680, 680, 681, 681, 682, 683, 683,
- 684, 685, 685, 686, 687, 687, 688, 688, 688, 688,
- 688, 688, 688, 688, 689, 689, 690, 691, 691, 692,
- 692, 693, 694, 695, 696, 696, 697, 698, 698, 698,
- 698, 698, 699, 699, 699, 700, 700, 701, 701, 702,
- 702, 702, 702, 703, 703, 704, 704, 704, 704, 704,
- 705, 705, 706, 706, 706, 706, 706, 706, 706, 706,
- 707, 707, 708, 708, 708, 709, 709, 709, 709, 710,
- 710, 711, 712, 712, 713, 713, 714, 714, 714, 714,
- 714, 715, 715, 716, 716, 717, 718, 718, 719, 719,
- 720, 720, 721, 721, 722, 722, 723, 723, 724, 724,
- 725, 725, 726, 726, 727, 727, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 728, 728, 729, 729, 729,
- 729, 729, 729, 730, 730, 730, 730, 731, 731, 731,
- 731, 732, 732, 733, 733, 734, 734, 734, 734, 735,
- 735, 735, 736, 737, 737, 738, 738, 738, 738, 739,
- 739, 740, 741, 741, 741, 741, 742, 742, 742, 743,
- 743, 743, 743, 743, 743, 743, 744, 744, 744, 744,
- 745, 745, 746, 746, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 748, 748, 749, 749, 750,
- 750, 751, 752, 753, 753, 754, 754, 755, 756, 757,
- 757, 757, 757, 757, 757, 758, 758, 759, 759, 760,
- 760, 760, 760, 761, 762, 762, 762, 763, 763, 763,
- 763, 763, 763, 763, 763, 763, 763, 763, 763, 763,
- 763, 764, 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 764, 764, 764, 764, 764, 764, 764, 765,
- 765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 766, 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 768, 768, 769, 769, 769,
- 769, 770, 771, 771, 772, 772, 773, 773, 774, 774,
- 774, 775, 775, 775, 776, 776, 776, 777, 777, 778,
- 778, 778, 778, 778, 778, 778, 778, 778, 779, 779,
- 780, 780, 781, 781, 781, 781, 781, 781, 782, 782,
- 783, 783, 784, 784, 785, 785, 786, 786, 787, 787,
- 787, 787, 787, 787, 787, 787, 788, 788, 789, 790,
- 790, 791, 791, 791, 791, 791, 791, 792, 793, 794,
- 794, 794, 795, 795, 796, 797, 797, 798, 799, 799,
- 800, 800, 801, 801, 802, 802, 802, 802, 803, 803,
- 804, 804, 805, 805, 806, 806, 807, 807, 808, 809,
- 809, 810, 810, 810, 811, 811, 812, 812, 813, 813,
- 814, 814, 815, 816, 817, 818, 819, 820, 821, 821,
+ 0, 426, 427, 428, 428, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 430, 431, 431, 432,
+ 432, 433, 433, 433, 433, 433, 433, 433, 433, 433,
+ 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
+ 433, 433, 433, 433, 433, 434, 435, 436, 437, 438,
+ 439, 439, 440, 440, 441, 442, 443, 443, 444, 444,
+ 445, 445, 446, 446, 447, 447, 448, 448, 448, 448,
+ 448, 448, 449, 449, 449, 450, 450, 450, 450, 450,
+ 450, 450, 450, 450, 450, 450, 450, 450, 450, 450,
+ 451, 451, 452, 452, 453, 453, 453, 454, 454, 454,
+ 454, 455, 455, 455, 455, 456, 456, 456, 456, 456,
+ 456, 456, 457, 457, 457, 458, 458, 459, 459, 459,
+ 459, 459, 460, 460, 461, 461, 461, 461, 461, 462,
+ 463, 463, 464, 464, 465, 466, 466, 466, 466, 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, 470, 470, 471,
+ 471, 471, 472, 472, 473, 474, 474, 475, 475, 476,
+ 476, 476, 476, 477, 477, 478, 478, 479, 479, 480,
+ 480, 480, 481, 481, 482, 482, 482, 482, 482, 482,
+ 482, 482, 482, 482, 483, 483, 484, 484, 485, 485,
+ 486, 486, 487, 487, 488, 488, 488, 488, 488, 488,
+ 488, 489, 489, 490, 490, 491, 491, 491, 492, 493,
+ 493, 494, 494, 494, 495, 495, 495, 495, 495, 495,
+ 495, 496, 496, 496, 496, 497, 498, 498, 499, 499,
+ 499, 499, 499, 499, 500, 500, 501, 501, 501, 501,
+ 502, 502, 503, 503, 504, 505, 505, 505, 505, 506,
+ 506, 506, 506, 506, 507, 508, 509, 509, 509, 509,
+ 509, 510, 510, 511, 511, 511, 511, 512, 512, 512,
+ 512, 513, 513, 514, 514, 515, 516, 517, 517, 518,
+ 518, 519, 520, 520, 520, 521, 522, 523, 523, 524,
+ 524, 525, 525, 525, 525, 525, 525, 525, 525, 525,
+ 525, 525, 525, 526, 526, 527, 527, 527, 528, 528,
+ 529, 529, 530, 530, 531, 531, 532, 532, 533, 533,
+ 534, 534, 535, 535, 536, 537, 537, 538, 538, 539,
+ 540, 540, 541, 541, 541, 542, 542, 543, 543, 544,
+ 545, 545, 546, 546, 546, 546, 547, 548, 549, 550,
+ 551, 551, 552, 552, 553, 553, 554, 554, 555, 555,
+ 555, 556, 557, 557, 557, 558, 558, 559, 560, 560,
+ 561, 561, 562, 562, 563, 563, 563, 563, 564, 564,
+ 565, 565, 566, 566, 567, 567, 567, 568, 568, 568,
+ 568, 568, 568, 569, 569, 570, 570, 570, 570, 570,
+ 571, 571, 572, 572, 573, 573, 574, 575, 576, 576,
+ 576, 576, 576, 576, 576, 576, 576, 576, 576, 577,
+ 578, 578, 579, 579, 580, 580, 580, 580, 580, 581,
+ 581, 582, 583, 583, 584, 585, 585, 586, 587, 587,
+ 588, 588, 588, 588, 588, 589, 589, 590, 590, 591,
+ 591, 592, 593, 593, 594, 594, 595, 595, 596, 596,
+ 597, 597, 598, 599, 600, 600, 601, 601, 601, 601,
+ 601, 601, 601, 601, 601, 601, 601, 601, 602, 602,
+ 603, 603, 604, 604, 605, 606, 606, 606, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 607, 607, 608, 608, 608, 608, 608,
+ 608, 608, 608, 608, 608, 608, 608, 609, 609, 610,
+ 610, 610, 610, 611, 611, 611, 611, 611, 611, 611,
+ 611, 611, 611, 611, 611, 611, 611, 611, 612, 612,
+ 613, 614, 614, 615, 615, 615, 615, 615, 616, 616,
+ 617, 617, 617, 617, 618, 618, 618, 618, 618, 618,
+ 618, 618, 618, 618, 619, 619, 620, 620, 621, 621,
+ 622, 622, 623, 624, 625, 625, 626, 626, 627, 627,
+ 628, 628, 629, 629, 630, 630, 631, 631, 632, 632,
+ 632, 633, 633, 633, 634, 634, 634, 635, 635, 635,
+ 636, 636, 636, 637, 637, 638, 638, 639, 639, 640,
+ 640, 641, 641, 642, 642, 642, 642, 642, 643, 643,
+ 643, 643, 643, 644, 645, 646, 646, 646, 647, 647,
+ 647, 648, 648, 649, 649, 649, 649, 649, 649, 649,
+ 649, 649, 649, 649, 649, 649, 650, 650, 650, 650,
+ 651, 651, 652, 652, 653, 654, 654, 655, 656, 656,
+ 657, 657, 658, 658, 659, 659, 660, 660, 661, 661,
+ 661, 661, 662, 662, 663, 663, 663, 664, 664, 664,
+ 665, 666, 666, 667, 667, 667, 668, 668, 669, 669,
+ 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
+ 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
+ 670, 670, 670, 671, 671, 672, 672, 673, 673, 673,
+ 673, 673, 673, 673, 674, 674, 674, 674, 674, 674,
+ 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
+ 676, 675, 677, 677, 677, 678, 678, 679, 679, 679,
+ 679, 679, 680, 680, 681, 681, 681, 681, 682, 682,
+ 682, 683, 683, 684, 685, 686, 686, 687, 687, 687,
+ 687, 687, 687, 687, 687, 687, 687, 687, 687, 687,
+ 687, 688, 688, 688, 689, 689, 689, 690, 690, 690,
+ 691, 691, 692, 692, 693, 693, 693, 693, 694, 695,
+ 696, 696, 697, 697, 697, 697, 697, 697, 697, 697,
+ 697, 697, 697, 697, 697, 697, 697, 697, 698, 698,
+ 699, 699, 700, 701, 701, 702, 703, 703, 704, 705,
+ 705, 705, 705, 705, 706, 706, 707, 708, 708, 708,
+ 708, 708, 708, 709, 710, 710, 710, 711, 711, 712,
+ 712, 712, 713, 713, 714, 714, 715, 715, 716, 716,
+ 717, 717, 718, 718, 719, 720, 720, 720, 720, 720,
+ 720, 720, 721, 721, 722, 723, 723, 724, 724, 724,
+ 724, 725, 725, 726, 726, 727, 727, 727, 727, 728,
+ 729, 729, 729, 730, 730, 731, 732, 732, 733, 734,
+ 734, 735, 736, 736, 737, 737, 737, 737, 737, 737,
+ 737, 737, 738, 738, 739, 740, 740, 741, 741, 742,
+ 743, 744, 745, 745, 746, 747, 747, 747, 747, 747,
+ 748, 748, 748, 749, 749, 750, 750, 751, 751, 751,
+ 751, 751, 751, 751, 751, 752, 752, 753, 753, 753,
+ 753, 753, 753, 754, 754, 755, 755, 756, 757, 757,
+ 758, 758, 758, 758, 758, 758, 758, 758, 759, 759,
+ 760, 760, 760, 761, 761, 761, 761, 762, 762, 763,
+ 764, 764, 765, 765, 766, 766, 766, 766, 766, 766,
+ 766, 766, 767, 767, 768, 768, 769, 769, 769, 770,
+ 771, 772, 772, 773, 773, 774, 774, 775, 775, 776,
+ 776, 777, 777, 778, 778, 779, 779, 780, 780, 781,
+ 781, 782, 782, 783, 783, 784, 784, 784, 784, 784,
+ 784, 784, 784, 784, 784, 784, 785, 785, 785, 785,
+ 785, 785, 786, 786, 786, 786, 787, 787, 787, 787,
+ 788, 788, 789, 789, 790, 790, 790, 790, 791, 791,
+ 792, 792, 792, 793, 794, 794, 795, 795, 795, 795,
+ 796, 796, 797, 798, 798, 798, 798, 798, 798, 799,
+ 799, 799, 800, 800, 800, 800, 800, 800, 800, 801,
+ 801, 801, 801, 802, 802, 803, 803, 804, 804, 804,
+ 804, 804, 804, 804, 804, 804, 804, 804, 805, 805,
+ 806, 806, 807, 807, 808, 809, 810, 810, 811, 811,
+ 812, 813, 814, 814, 814, 814, 814, 814, 815, 815,
+ 816, 816, 817, 817, 817, 817, 818, 819, 819, 819,
+ 820, 820, 820, 820, 820, 820, 820, 820, 820, 820,
+ 820, 820, 820, 820, 821, 821, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822, 822, 822,
822, 822, 822, 822, 822, 822, 822, 822, 822, 822,
- 822, 822, 822, 823, 824, 825, 826, 826, 827, 827,
- 827, 828, 828, 828, 829, 829, 829, 829, 829, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 831, 831, 831, 831, 831, 831, 831, 831,
- 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
- 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
- 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
- 831, 831, 831, 831, 831, 831, 831, 832, 832, 832,
- 832, 832, 832, 832, 832, 832, 832, 832, 832, 832,
- 832, 832, 832, 832, 832, 832, 832, 833, 833, 833,
- 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
- 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
- 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
- 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
- 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
- 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
- 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
- 833, 834, 834
+ 822, 822, 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 823, 823, 823, 823, 823, 823,
+ 823, 823, 823, 823, 823, 823, 823, 823, 823, 823,
+ 823, 823, 823, 823, 823, 823, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 825, 825, 826, 826, 827, 827, 827, 827,
+ 828, 829, 829, 830, 830, 831, 831, 832, 832, 832,
+ 833, 833, 834, 834, 835, 836, 836, 836, 837, 838,
+ 838, 839, 839, 840, 840, 840, 841, 841, 842, 842,
+ 842, 843, 843, 843, 844, 844, 844, 845, 845, 846,
+ 846, 846, 846, 846, 846, 846, 846, 846, 847, 847,
+ 848, 848, 849, 849, 849, 849, 849, 849, 850, 850,
+ 851, 851, 852, 852, 852, 853, 853, 854, 854, 855,
+ 855, 855, 855, 855, 855, 855, 855, 856, 856, 857,
+ 858, 858, 859, 859, 859, 859, 859, 859, 860, 861,
+ 862, 862, 862, 863, 863, 864, 865, 865, 866, 867,
+ 867, 868, 868, 869, 869, 870, 870, 870, 870, 871,
+ 871, 872, 872, 873, 873, 874, 874, 875, 875, 876,
+ 877, 877, 878, 878, 878, 878, 879, 879, 880, 880,
+ 881, 881, 882, 882, 883, 884, 885, 886, 887, 888,
+ 889, 889, 890, 890, 890, 890, 890, 890, 890, 890,
+ 890, 890, 890, 890, 890, 891, 892, 893, 894, 894,
+ 894, 895, 895, 895, 896, 896, 896, 897, 897, 897,
+ 897, 897, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 899, 899,
+ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
+ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
+ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
+ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
+ 899, 899, 899, 900, 900, 900, 900, 900, 900, 900,
+ 900, 900, 900, 900, 900, 900, 900, 900, 900, 900,
+ 900, 900, 900, 900, 900, 901, 901, 901, 901, 901,
+ 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
+ 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
+ 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
+ 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
+ 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
+ 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
+ 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
+ 901, 901, 901, 901, 902, 902
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -2714,24 +2905,26 @@ static const unsigned char yyr2[] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 0, 5, 1, 0,
- 2, 0, 2, 2, 3, 3, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
- 2, 2, 2, 2, 3, 3, 5, 5, 4, 5,
- 4, 3, 5, 3, 5, 5, 6, 1, 1, 3,
- 5, 6, 4, 1, 0, 2, 0, 1, 1, 1,
- 1, 1, 1, 2, 3, 3, 3, 3, 3, 3,
- 3, 3, 2, 5, 2, 2, 3, 3, 3, 1,
- 3, 1, 3, 1, 1, 1, 2, 2, 2, 1,
- 1, 1, 1, 1, 1, 1, 3, 6, 1, 1,
- 1, 1, 1, 0, 1, 1, 2, 3, 4, 3,
- 2, 2, 1, 2, 3, 4, 3, 2, 4, 1,
- 1, 1, 1, 1, 2, 2, 2, 2, 4, 4,
- 1, 3, 3, 4, 6, 6, 6, 6, 4, 6,
- 2, 4, 3, 3, 3, 3, 4, 4, 3, 3,
- 3, 3, 3, 3, 4, 4, 3, 2, 3, 1,
- 1, 3, 3, 3, 2, 2, 3, 2, 1, 1,
- 0, 2, 0, 2, 2, 10, 6, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 0, 5, 1, 0, 2,
+ 0, 2, 2, 3, 3, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3, 3, 2,
+ 2, 2, 2, 3, 3, 5, 5, 4, 5, 4,
+ 3, 5, 3, 5, 5, 6, 1, 1, 3, 5,
+ 6, 4, 1, 0, 2, 0, 1, 1, 1, 1,
+ 1, 1, 2, 3, 3, 3, 3, 3, 3, 3,
+ 3, 2, 5, 2, 2, 2, 2, 3, 3, 3,
+ 1, 3, 1, 3, 1, 1, 1, 2, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 3, 6, 1,
+ 1, 1, 1, 1, 0, 1, 1, 2, 3, 4,
+ 3, 2, 2, 1, 2, 3, 4, 3, 2, 4,
+ 1, 1, 1, 1, 1, 2, 2, 2, 2, 4,
+ 4, 4, 4, 1, 3, 3, 4, 6, 6, 6,
+ 6, 4, 7, 2, 4, 3, 3, 3, 3, 3,
+ 4, 4, 3, 3, 3, 3, 3, 3, 4, 4,
+ 3, 2, 3, 3, 3, 2, 2, 3, 2, 1,
+ 1, 0, 2, 0, 3, 2, 0, 1, 3, 3,
+ 1, 5, 3, 2, 2, 10, 6, 1, 1, 1,
1, 1, 2, 0, 1, 1, 3, 3, 1, 1,
3, 3, 3, 4, 1, 0, 2, 0, 3, 0,
1, 0, 11, 12, 1, 1, 2, 2, 2, 2,
@@ -2742,112 +2935,126 @@ static const unsigned char yyr2[] =
3, 0, 1, 3, 1, 2, 2, 2, 0, 1,
1, 2, 2, 0, 3, 3, 2, 1, 1, 2,
2, 4, 0, 2, 2, 2, 0, 3, 4, 4,
- 0, 2, 0, 4, 0, 6, 5, 3, 0, 1,
- 3, 1, 5, 4, 2, 0, 2, 1, 2, 3,
- 2, 2, 2, 2, 3, 3, 3, 1, 0, 1,
- 1, 1, 2, 1, 5, 9, 1, 0, 1, 2,
- 2, 0, 2, 0, 5, 7, 1, 0, 6, 2,
- 0, 3, 5, 14, 19, 1, 1, 1, 3, 5,
- 1, 1, 1, 3, 0, 1, 0, 1, 1, 1,
- 3, 0, 1, 1, 1, 1, 1, 1, 2, 0,
- 1, 2, 1, 2, 0, 2, 1, 2, 2, 6,
- 8, 8, 4, 5, 4, 4, 4, 3, 7, 8,
- 6, 6, 6, 6, 3, 1, 3, 3, 1, 1,
- 1, 1, 1, 1, 3, 3, 3, 1, 3, 3,
- 1, 3, 13, 1, 3, 4, 7, 4, 7, 2,
- 1, 0, 2, 0, 1, 0, 6, 8, 8, 1,
- 3, 5, 5, 7, 9, 7, 9, 5, 6, 6,
- 4, 1, 1, 1, 1, 1, 1, 1, 1, 3,
- 3, 3, 3, 1, 3, 1, 2, 2, 3, 4,
- 6, 7, 7, 9, 8, 8, 6, 8, 9, 9,
- 7, 10, 7, 8, 8, 8, 8, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 2, 4, 2, 0, 1, 1, 1, 1,
- 2, 2, 1, 1, 1, 2, 2, 1, 2, 2,
- 1, 1, 7, 7, 10, 1, 1, 2, 1, 3,
- 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
- 2, 2, 1, 3, 1, 2, 3, 0, 1, 3,
- 2, 6, 6, 9, 3, 0, 3, 0, 13, 14,
- 1, 0, 2, 0, 1, 3, 4, 4, 6, 1,
- 2, 0, 1, 1, 0, 1, 1, 0, 9, 7,
- 2, 0, 3, 2, 1, 3, 3, 3, 2, 2,
- 1, 1, 1, 1, 2, 1, 1, 1, 4, 5,
- 1, 2, 4, 5, 1, 1, 1, 1, 3, 3,
- 2, 2, 2, 2, 1, 2, 2, 1, 1, 3,
- 2, 0, 5, 1, 2, 1, 0, 5, 7, 5,
- 7, 7, 9, 1, 3, 3, 3, 1, 3, 11,
- 10, 2, 2, 0, 9, 2, 0, 4, 4, 4,
- 1, 1, 1, 0, 7, 6, 6, 6, 6, 7,
- 9, 9, 6, 6, 6, 6, 6, 8, 8, 6,
- 6, 6, 8, 8, 8, 8, 1, 0, 7, 6,
+ 0, 2, 0, 4, 0, 7, 5, 3, 0, 1,
+ 3, 1, 2, 3, 0, 5, 4, 1, 0, 1,
+ 2, 2, 1, 2, 3, 2, 2, 2, 2, 3,
+ 3, 1, 3, 1, 0, 1, 2, 1, 5, 9,
+ 1, 0, 1, 2, 2, 2, 1, 0, 2, 0,
+ 5, 7, 1, 0, 6, 2, 0, 3, 5, 7,
+ 6, 8, 7, 6, 6, 4, 0, 1, 3, 4,
+ 1, 3, 1, 2, 2, 2, 2, 1, 1, 10,
+ 2, 0, 2, 2, 1, 0, 4, 6, 5, 4,
+ 4, 8, 1, 1, 1, 7, 9, 8, 14, 19,
+ 1, 1, 1, 3, 1, 1, 1, 1, 3, 0,
+ 1, 0, 1, 1, 1, 3, 0, 1, 1, 1,
+ 1, 1, 1, 2, 0, 1, 2, 1, 2, 0,
+ 2, 1, 2, 2, 6, 8, 8, 4, 5, 4,
+ 4, 4, 3, 7, 8, 6, 6, 6, 6, 3,
+ 1, 3, 3, 1, 1, 1, 1, 1, 1, 3,
+ 3, 3, 1, 3, 3, 1, 3, 13, 1, 3,
+ 4, 5, 4, 7, 2, 1, 0, 2, 0, 1,
+ 0, 6, 8, 8, 1, 3, 5, 5, 7, 9,
+ 7, 9, 5, 6, 6, 4, 1, 1, 1, 1,
+ 1, 1, 1, 1, 3, 3, 3, 3, 1, 3,
+ 1, 2, 2, 3, 5, 2, 2, 0, 6, 7,
+ 7, 7, 8, 8, 6, 8, 9, 9, 7, 10,
+ 7, 8, 8, 8, 8, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
+ 2, 4, 2, 0, 1, 1, 1, 1, 2, 2,
+ 1, 1, 1, 2, 2, 1, 2, 2, 1, 1,
+ 7, 7, 10, 1, 1, 2, 4, 5, 1, 3,
+ 2, 2, 2, 2, 1, 2, 2, 4, 3, 2,
+ 2, 2, 2, 2, 1, 3, 1, 2, 3, 0,
+ 1, 3, 2, 6, 6, 9, 3, 0, 3, 0,
+ 13, 14, 1, 0, 2, 0, 1, 3, 4, 4,
+ 6, 1, 2, 0, 1, 1, 0, 1, 1, 0,
+ 9, 12, 7, 2, 0, 3, 2, 1, 3, 3,
+ 2, 1, 3, 3, 3, 2, 2, 1, 1, 1,
+ 1, 2, 1, 1, 1, 1, 4, 5, 1, 3,
+ 3, 1, 2, 4, 5, 1, 1, 1, 1, 3,
+ 3, 2, 2, 2, 2, 1, 2, 2, 1, 1,
+ 1, 3, 2, 0, 2, 1, 3, 5, 1, 2,
+ 1, 0, 5, 7, 5, 7, 5, 7, 3, 5,
+ 5, 5, 1, 3, 11, 10, 10, 2, 2, 0,
+ 9, 2, 0, 4, 4, 4, 1, 1, 1, 0,
+ 7, 6, 6, 6, 6, 7, 9, 9, 6, 6,
+ 6, 6, 6, 8, 8, 6, 6, 6, 8, 8,
+ 8, 8, 6, 1, 0, 2, 0, 7, 6, 6,
6, 6, 6, 6, 7, 6, 6, 6, 6, 7,
- 9, 9, 9, 6, 6, 6, 8, 8, 0, 14,
- 1, 1, 3, 3, 1, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 1, 1, 1, 0, 6,
- 8, 2, 2, 2, 2, 2, 3, 3, 2, 2,
- 2, 2, 3, 2, 5, 4, 3, 3, 3, 1,
- 1, 0, 3, 2, 2, 1, 3, 2, 1, 0,
- 8, 10, 2, 3, 3, 0, 2, 5, 2, 0,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 4,
- 3, 3, 1, 0, 5, 4, 2, 0, 4, 3,
- 5, 6, 4, 6, 6, 5, 7, 1, 0, 6,
- 11, 11, 11, 13, 9, 11, 10, 3, 1, 4,
- 2, 0, 4, 5, 5, 2, 4, 1, 1, 1,
- 0, 1, 0, 1, 0, 3, 0, 4, 1, 1,
- 1, 1, 1, 1, 1, 0, 5, 3, 0, 1,
- 1, 1, 1, 3, 8, 3, 0, 2, 3, 2,
- 3, 5, 1, 4, 2, 1, 3, 2, 2, 0,
- 6, 2, 0, 5, 3, 0, 2, 2, 2, 3,
- 1, 3, 1, 2, 1, 0, 7, 1, 3, 1,
- 1, 3, 5, 2, 1, 3, 7, 0, 3, 2,
- 2, 2, 0, 2, 2, 1, 1, 3, 3, 1,
- 2, 4, 4, 1, 1, 8, 1, 4, 4, 4,
- 2, 0, 3, 3, 4, 4, 4, 4, 2, 1,
- 1, 0, 1, 1, 0, 1, 5, 1, 0, 1,
- 0, 3, 1, 3, 4, 3, 4, 4, 2, 2,
- 4, 1, 0, 1, 1, 1, 3, 0, 2, 0,
- 1, 3, 1, 0, 1, 2, 4, 4, 2, 0,
- 2, 3, 2, 0, 1, 3, 1, 2, 1, 2,
- 5, 6, 5, 1, 2, 1, 4, 3, 4, 5,
- 4, 5, 4, 5, 2, 4, 1, 2, 2, 2,
- 1, 1, 0, 4, 2, 1, 2, 2, 4, 1,
- 2, 3, 1, 2, 0, 2, 4, 4, 0, 1,
- 3, 2, 2, 3, 5, 6, 3, 4, 0, 1,
- 1, 1, 1, 1, 2, 5, 1, 1, 1, 1,
- 2, 3, 3, 0, 1, 1, 1, 1, 1, 2,
- 2, 2, 2, 2, 1, 3, 0, 1, 1, 1,
- 1, 5, 2, 1, 1, 1, 1, 5, 2, 2,
- 2, 1, 3, 3, 2, 1, 0, 3, 0, 5,
- 2, 5, 2, 1, 3, 3, 0, 1, 1, 1,
- 1, 1, 1, 3, 3, 3, 3, 3, 3, 3,
- 0, 1, 3, 5, 2, 2, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 2, 2, 3, 3,
- 2, 3, 5, 4, 6, 3, 5, 4, 6, 4,
- 6, 5, 7, 3, 2, 4, 2, 3, 3, 4,
- 3, 4, 3, 4, 5, 6, 6, 7, 6, 7,
- 6, 7, 3, 4, 4, 6, 2, 3, 4, 1,
- 3, 2, 2, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 2, 2, 5, 6, 6, 7, 3,
- 4, 1, 1, 2, 4, 1, 1, 1, 2, 2,
- 2, 1, 3, 4, 5, 5, 4, 1, 1, 4,
- 1, 4, 1, 4, 1, 4, 1, 1, 1, 1,
- 6, 4, 4, 4, 4, 6, 5, 5, 5, 4,
- 6, 4, 4, 4, 4, 5, 7, 7, 9, 4,
- 6, 5, 7, 7, 7, 2, 3, 3, 3, 4,
- 0, 4, 1, 3, 3, 1, 1, 1, 2, 2,
- 0, 4, 3, 5, 1, 1, 1, 1, 1, 1,
+ 7, 9, 9, 6, 6, 6, 8, 8, 8, 6,
+ 0, 14, 1, 1, 3, 3, 1, 1, 1, 1,
+ 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
+ 0, 6, 8, 2, 2, 2, 2, 2, 3, 3,
+ 2, 2, 2, 2, 3, 2, 5, 4, 3, 3,
+ 3, 1, 1, 0, 3, 2, 2, 1, 3, 2,
+ 1, 0, 8, 10, 3, 4, 4, 0, 2, 5,
+ 2, 0, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 4, 3, 3, 1, 0,
+ 5, 6, 4, 2, 0, 4, 3, 5, 6, 4,
+ 6, 6, 5, 7, 1, 0, 6, 11, 11, 11,
+ 13, 9, 11, 10, 4, 2, 5, 2, 0, 4,
+ 5, 5, 2, 4, 1, 1, 1, 0, 1, 0,
+ 1, 0, 3, 0, 4, 1, 1, 1, 1, 1,
+ 1, 1, 1, 0, 5, 3, 0, 1, 1, 1,
+ 1, 3, 8, 3, 0, 2, 3, 2, 3, 5,
+ 1, 4, 2, 1, 3, 2, 2, 0, 6, 2,
+ 0, 5, 3, 0, 2, 2, 2, 3, 1, 3,
+ 1, 2, 1, 0, 7, 1, 3, 1, 1, 3,
+ 5, 2, 1, 3, 7, 0, 3, 2, 2, 2,
+ 0, 2, 2, 1, 1, 3, 3, 1, 2, 4,
+ 4, 2, 3, 5, 5, 1, 1, 9, 1, 2,
+ 4, 4, 4, 2, 3, 1, 3, 4, 2, 0,
+ 3, 3, 4, 4, 4, 4, 2, 1, 1, 0,
+ 1, 1, 0, 1, 5, 1, 0, 1, 0, 3,
+ 1, 3, 4, 3, 4, 4, 2, 2, 4, 3,
+ 5, 8, 1, 0, 1, 1, 1, 3, 0, 1,
+ 1, 1, 1, 1, 1, 3, 0, 2, 0, 1,
+ 3, 1, 0, 1, 2, 4, 4, 2, 0, 2,
+ 3, 2, 0, 1, 3, 1, 2, 1, 2, 5,
+ 6, 5, 1, 2, 1, 4, 3, 4, 5, 4,
+ 5, 4, 5, 2, 4, 1, 2, 2, 2, 1,
+ 1, 0, 4, 2, 1, 2, 2, 4, 1, 3,
+ 1, 2, 3, 1, 2, 0, 2, 4, 4, 0,
+ 1, 3, 2, 2, 3, 5, 6, 2, 3, 3,
+ 4, 0, 1, 1, 1, 1, 1, 2, 5, 1,
+ 1, 1, 1, 2, 3, 3, 0, 1, 1, 1,
+ 1, 1, 2, 2, 2, 2, 2, 1, 3, 0,
+ 1, 1, 1, 1, 5, 2, 1, 1, 1, 1,
+ 5, 2, 2, 2, 1, 3, 3, 2, 1, 0,
+ 3, 0, 5, 2, 5, 2, 1, 2, 3, 0,
+ 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
+ 3, 3, 3, 0, 1, 4, 1, 3, 5, 2,
+ 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 2, 2, 3, 3, 2, 3, 5, 4, 6,
+ 3, 5, 4, 6, 4, 6, 5, 7, 3, 2,
+ 4, 2, 3, 3, 4, 3, 4, 3, 4, 5,
+ 6, 6, 7, 6, 7, 6, 7, 3, 4, 4,
+ 6, 2, 3, 4, 1, 3, 2, 2, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 2, 2,
+ 5, 6, 6, 7, 3, 4, 1, 1, 2, 4,
+ 1, 1, 1, 2, 2, 2, 1, 4, 5, 6,
+ 8, 6, 6, 5, 1, 1, 4, 1, 4, 1,
+ 4, 1, 4, 1, 1, 1, 1, 1, 1, 6,
+ 4, 4, 4, 4, 6, 5, 5, 5, 4, 6,
+ 4, 4, 4, 4, 5, 7, 7, 9, 4, 6,
+ 5, 7, 7, 7, 2, 3, 3, 3, 4, 0,
+ 4, 1, 3, 3, 1, 1, 1, 2, 2, 0,
+ 2, 0, 1, 3, 3, 2, 2, 0, 6, 1,
+ 0, 3, 0, 2, 2, 0, 1, 4, 2, 2,
+ 2, 4, 3, 5, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
1, 4, 1, 4, 1, 2, 1, 2, 1, 3,
- 3, 0, 1, 3, 1, 3, 3, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 4, 3, 2, 3,
- 0, 3, 3, 2, 2, 1, 0, 2, 2, 3,
- 2, 1, 1, 3, 5, 1, 2, 4, 2, 0,
- 1, 0, 1, 2, 2, 2, 3, 5, 1, 2,
- 0, 2, 1, 0, 1, 1, 1, 3, 3, 1,
- 3, 3, 1, 1, 1, 1, 1, 3, 1, 2,
- 1, 3, 1, 1, 1, 1, 1, 1, 1, 2,
- 1, 1, 1, 1, 1, 2, 5, 2, 3, 6,
- 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
+ 1, 3, 3, 3, 2, 1, 3, 3, 0, 1,
+ 1, 1, 1, 1, 1, 1, 1, 4, 3, 2,
+ 3, 0, 3, 3, 2, 2, 1, 0, 2, 2,
+ 3, 2, 1, 1, 3, 5, 1, 2, 4, 2,
+ 0, 1, 0, 1, 2, 2, 2, 3, 5, 1,
+ 2, 0, 2, 1, 0, 1, 1, 1, 3, 3,
+ 1, 3, 3, 2, 1, 1, 1, 1, 1, 3,
+ 1, 2, 1, 3, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 1, 1, 1, 1, 2, 5, 2,
+ 3, 6, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -2886,7 +3093,8 @@ static const unsigned char yyr2[] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -2894,10829 +3102,12444 @@ static const unsigned char yyr2[] =
means the default is an error. */
static const unsigned short int yydefact[] =
{
- 96, 811, 417, 878, 877, 811, 213, 0, 868, 0,
- 811, 285, 300, 0, 0, 0, 0, 417, 811, 0,
- 895, 575, 0, 0, 0, 0, 981, 575, 0, 0,
- 0, 0, 0, 0, 0, 811, 0, 988, 0, 0,
- 0, 981, 0, 0, 882, 0, 0, 0, 2, 4,
- 43, 44, 15, 14, 19, 18, 62, 63, 33, 9,
- 53, 38, 93, 92, 94, 25, 21, 50, 13, 22,
- 26, 40, 27, 39, 12, 37, 57, 41, 60, 42,
- 61, 28, 51, 48, 34, 35, 36, 54, 55, 56,
- 77, 59, 88, 24, 67, 68, 83, 69, 84, 70,
- 32, 8, 80, 79, 81, 29, 52, 78, 82, 10,
- 11, 85, 58, 75, 72, 89, 87, 95, 73, 45,
- 5, 6, 64, 31, 7, 17, 16, 30, 23, 91,
- 20, 880, 66, 76, 65, 46, 71, 49, 74, 90,
- 47, 86, 956, 955, 990, 959, 966, 810, 809, 795,
- 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 819, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 264,
- 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1672,
- 1673, 1674, 1456, 1457, 1458, 1459, 1460, 1461, 1675, 1676,
- 1462, 1463, 1464, 1465, 1466, 1677, 1467, 1468, 1469, 1470,
- 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480,
- 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1678, 1679, 1488,
- 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498,
- 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508,
- 1509, 1510, 1680, 1511, 1512, 1681, 1513, 1514, 1515, 1682,
- 1516, 1517, 1518, 1519, 1520, 1683, 1521, 1522, 1523, 1524,
- 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534,
- 1684, 1535, 1536, 1537, 1538, 1685, 1686, 1687, 1539, 1540,
- 1541, 1542, 1543, 1544, 1545, 1688, 1546, 1547, 1548, 1549,
- 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559,
- 1560, 1561, 1562, 1689, 1690, 1563, 1564, 1565, 1566, 1567,
- 1568, 1569, 1691, 1570, 1571, 1572, 1573, 1692, 1574, 1693,
- 1575, 1576, 1577, 1578, 1579, 1694, 1695, 1580, 1581, 1582,
- 1583, 1584, 1585, 1696, 1697, 1588, 1586, 1587, 1589, 1590,
- 1591, 1592, 1593, 1594, 1698, 1595, 1596, 1597, 1598, 1599,
- 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609,
- 1610, 1699, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618,
- 1619, 1620, 1621, 1622, 1700, 1623, 1624, 1625, 1701, 1626,
- 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1702,
- 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1703, 1704,
- 1644, 1705, 1645, 1706, 1646, 1647, 1648, 1649, 1650, 1651,
- 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1707, 1708, 1659,
- 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1709,
- 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1669, 1670, 1671,
- 1428, 263, 1402, 1429, 1430, 1812, 1811, 1398, 871, 0,
- 1395, 1394, 417, 0, 798, 284, 0, 0, 0, 0,
- 0, 0, 0, 500, 0, 0, 0, 0, 0, 0,
- 0, 144, 0, 295, 294, 0, 0, 406, 0, 630,
- 0, 0, 417, 0, 0, 0, 909, 1586, 907, 947,
- 0, 214, 217, 215, 216, 0, 0, 716, 527, 0,
- 526, 0, 0, 524, 0, 0, 0, 0, 528, 522,
- 521, 0, 0, 0, 525, 0, 523, 0, 0, 799,
- 906, 894, 880, 1440, 583, 587, 578, 584, 579, 576,
- 577, 1598, 1426, 0, 0, 572, 582, 596, 602, 601,
- 600, 0, 595, 598, 603, 0, 792, 1424, 826, 1407,
- 980, 0, 0, 574, 791, 1644, 898, 0, 0, 720,
- 0, 721, 0, 1613, 803, 200, 1621, 1703, 1644, 196,
- 169, 1444, 0, 0, 595, 0, 800, 801, 987, 985,
- 0, 1473, 1549, 193, 1609, 1621, 1703, 1644, 1668, 153,
- 0, 207, 1621, 1703, 1644, 203, 819, 0, 794, 793,
- 0, 1059, 0, 1055, 1395, 881, 884, 0, 1020, 964,
- 0, 1, 96, 879, 875, 984, 984, 0, 984, 0,
- 960, 0, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724,
- 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734,
- 1735, 1736, 1428, 0, 0, 1408, 1429, 1433, 0, 535,
- 99, 1403, 0, 0, 0, 0, 1425, 0, 1464, 1513,
- 1307, 1317, 1315, 1316, 1309, 1310, 1311, 1312, 1313, 1314,
- 0, 707, 1308, 0, 99, 0, 0, 385, 0, 0,
- 0, 0, 0, 99, 0, 0, 0, 0, 815, 818,
- 796, 0, 0, 1378, 1399, 0, 867, 0, 0, 0,
- 557, 0, 566, 558, 563, 0, 560, 0, 0, 568,
- 0, 559, 561, 562, 567, 0, 0, 564, 565, 0,
- 0, 807, 341, 0, 0, 0, 0, 0, 99, 858,
- 299, 298, 99, 297, 296, 1464, 1513, 0, 650, 99,
- 0, 146, 420, 0, 0, 467, 99, 0, 0, 0,
- 0, 0, 0, 0, 0, 910, 908, 0, 922, 1525,
- 0, 260, 0, 0, 1525, 849, 1525, 0, 1525, 139,
- 1400, 1464, 1513, 1525, 0, 0, 1525, 131, 1525, 0,
- 1525, 421, 0, 1525, 0, 1525, 133, 0, 1525, 260,
- 533, 0, 903, 0, 580, 589, 588, 586, 585, 581,
- 1427, 590, 591, 0, 597, 0, 0, 0, 0, 925,
- 1396, 0, 806, 0, 0, 0, 723, 723, 723, 802,
- 199, 197, 0, 0, 0, 0, 0, 0, 808, 0,
- 0, 0, 1672, 1673, 1674, 1371, 0, 1675, 1676, 1677,
- 1247, 1256, 1248, 1250, 1257, 1678, 1679, 1500, 1680, 1681,
- 1421, 1682, 1683, 1685, 1686, 1687, 1688, 1252, 1254, 1689,
- 1690, 0, 1422, 1692, 1693, 1578, 1695, 1696, 1698, 1699,
- 1258, 1701, 1702, 1703, 1704, 1705, 1706, 1420, 0, 1259,
- 1708, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1411, 1413,
- 1414, 1318, 1423, 1380, 0, 0, 1393, 0, 1237, 0,
- 1086, 1087, 1109, 1110, 1088, 1115, 1116, 1128, 1089, 0,
- 1392, 1151, 1236, 1241, 0, 1235, 1231, 971, 1389, 1372,
- 0, 1232, 1410, 1412, 209, 0, 210, 1621, 154, 192,
- 164, 191, 195, 165, 194, 0, 1462, 155, 0, 162,
- 0, 0, 0, 0, 206, 204, 0, 797, 260, 0,
- 1057, 0, 1060, 0, 1056, 883, 880, 1385, 1384, 1386,
- 0, 958, 957, 3, 886, 982, 983, 0, 0, 0,
- 0, 0, 0, 0, 1013, 1002, 1010, 1014, 1021, 1409,
- 0, 0, 0, 0, 0, 536, 0, 0, 0, 98,
- 847, 202, 845, 0, 0, 0, 0, 852, 0, 0,
- 0, 675, 0, 0, 0, 0, 0, 0, 676, 674,
- 677, 684, 693, 696, 0, 620, 137, 138, 0, 0,
- 0, 0, 0, 0, 219, 250, 0, 0, 0, 0,
- 0, 101, 128, 0, 0, 0, 0, 383, 747, 747,
- 0, 0, 747, 0, 0, 0, 747, 0, 218, 220,
- 249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 101, 130, 0, 0, 0, 813, 814, 0, 817,
- 0, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745,
- 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755,
- 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765,
- 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775,
- 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785,
- 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795,
- 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805,
- 1806, 1807, 1808, 1809, 1810, 1434, 1375, 1374, 1405, 1435,
- 1436, 1437, 1438, 1379, 870, 1406, 869, 0, 0, 0,
- 0, 0, 1464, 1513, 0, 0, 0, 0, 0, 0,
- 0, 287, 270, 271, 99, 269, 0, 0, 464, 0,
- 1097, 1126, 1104, 1126, 1126, 1093, 1093, 1106, 1094, 1095,
- 1133, 0, 1126, 1093, 1098, 0, 1096, 1136, 1136, 1121,
- 1431, 0, 1078, 1079, 1080, 1081, 1107, 1108, 1082, 1113,
- 1114, 1083, 1150, 1093, 1432, 0, 829, 857, 0, 101,
- 501, 0, 0, 465, 0, 101, 0, 142, 0, 0,
- 0, 0, 0, 0, 426, 425, 0, 0, 466, 101,
- 385, 0, 378, 341, 0, 0, 1470, 0, 0, 0,
- 950, 952, 951, 0, 949, 0, 1068, 0, 260, 258,
- 259, 462, 715, 0, 0, 0, 260, 0, 0, 1525,
- 0, 1525, 0, 0, 0, 260, 0, 0, 0, 0,
- 532, 530, 529, 531, 0, 0, 0, 1525, 260, 0,
- 0, 520, 1328, 0, 300, 887, 893, 889, 891, 890,
- 892, 888, 571, 1485, 1518, 1543, 1614, 1619, 0, 1639,
- 0, 604, 625, 599, 0, 0, 919, 912, 0, 0,
- 935, 573, 1332, 0, 0, 0, 722, 719, 718, 717,
- 198, 170, 0, 0, 0, 627, 1613, 805, 0, 0,
- 1239, 1240, 1125, 1112, 1370, 0, 0, 1120, 1119, 0,
- 0, 0, 0, 1102, 1101, 1100, 1238, 1331, 0, 1099,
- 0, 0, 0, 0, 1126, 1126, 1124, 1170, 0, 1103,
- 0, 0, 1350, 0, 1356, 0, 0, 0, 1132, 0,
- 1130, 0, 0, 1206, 0, 0, 0, 0, 0, 0,
- 0, 1233, 1154, 1155, 1707, 1237, 1328, 0, 1417, 0,
- 0, 1118, 0, 1150, 0, 0, 0, 1383, 1326, 0,
- 0, 1184, 1324, 0, 1186, 0, 0, 0, 1318, 1317,
- 1315, 1316, 1309, 1310, 1311, 1312, 1313, 1314, 0, 1322,
- 1167, 0, 0, 1166, 0, 0, 1023, 1373, 0, 1415,
- 211, 212, 208, 0, 167, 166, 0, 189, 190, 185,
- 401, 0, 161, 188, 399, 400, 0, 184, 403, 1297,
- 1296, 168, 160, 158, 181, 183, 182, 180, 156, 171,
- 173, 174, 175, 159, 157, 205, 539, 0, 1061, 0,
- 1023, 937, 939, 940, 0, 1380, 872, 1388, 0, 0,
- 876, 964, 969, 963, 968, 991, 992, 644, 967, 0,
- 1019, 1019, 1004, 998, 1003, 999, 1005, 1012, 962, 1001,
- 961, 0, 1015, 0, 0, 0, 0, 0, 0, 0,
- 537, 0, 0, 0, 201, 844, 0, 0, 0, 0,
- 0, 855, 335, 0, 257, 0, 0, 0, 0, 0,
- 0, 682, 0, 0, 0, 0, 683, 680, 681, 1614,
- 695, 694, 692, 661, 663, 662, 0, 653, 0, 654,
- 0, 0, 660, 667, 665, 0, 0, 0, 0, 255,
- 0, 254, 0, 0, 0, 0, 0, 703, 708, 0,
- 127, 0, 0, 0, 0, 0, 387, 398, 0, 0,
- 0, 0, 99, 99, 384, 746, 230, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 247, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 129, 0, 0, 0, 0,
- 0, 179, 812, 816, 1376, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 342, 344, 0, 0, 273, 1431,
- 0, 487, 463, 0, 1078, 0, 0, 1072, 1139, 1140,
- 1141, 1138, 1142, 1137, 0, 1084, 1093, 1090, 0, 827,
- 310, 135, 0, 0, 0, 475, 478, 0, 97, 146,
- 300, 0, 145, 147, 149, 150, 151, 148, 152, 419,
- 0, 0, 0, 0, 0, 431, 430, 432, 0, 427,
- 0, 0, 126, 382, 0, 0, 302, 366, 0, 404,
- 0, 0, 0, 0, 768, 0, 0, 0, 948, 0,
- 1033, 921, 1024, 1035, 1026, 1028, 1062, 1398, 0, 0,
- 919, 0, 699, 0, 850, 0, 697, 140, 1401, 0,
- 0, 0, 0, 0, 0, 517, 132, 0, 260, 422,
- 0, 260, 134, 0, 414, 260, 534, 905, 0, 0,
- 608, 607, 618, 609, 610, 606, 605, 611, 0, 0,
- 627, 914, 0, 915, 1380, 0, 911, 0, 932, 0,
- 930, 0, 1397, 934, 923, 897, 0, 896, 900, 902,
- 901, 899, 0, 0, 0, 595, 0, 0, 260, 804,
- 0, 0, 0, 1334, 0, 0, 1369, 1365, 0, 0,
- 0, 0, 0, 1341, 1342, 1343, 1340, 1344, 1339, 1338,
- 1345, 0, 0, 0, 0, 0, 0, 0, 1123, 1122,
- 0, 0, 0, 0, 0, 0, 0, 1209, 1241, 0,
- 0, 1302, 0, 1328, 1355, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1328, 1361, 0, 0, 0,
- 1295, 0, 1292, 0, 0, 0, 0, 1381, 1380, 0,
- 0, 0, 0, 1418, 1168, 1391, 0, 1382, 0, 0,
- 1175, 0, 1362, 1202, 0, 1207, 1190, 0, 1183, 0,
- 1188, 1192, 1171, 1383, 1327, 0, 1325, 0, 0, 1169,
- 0, 1164, 1162, 1163, 1156, 1157, 1158, 1159, 1160, 1161,
- 1152, 1165, 1306, 1304, 1305, 0, 0, 0, 1187, 1519,
- 1549, 0, 981, 981, 970, 979, 1390, 0, 1064, 0,
- 0, 0, 1242, 0, 0, 402, 0, 1150, 0, 1058,
- 944, 0, 0, 1068, 0, 943, 874, 873, 1387, 0,
- 0, 642, 643, 0, 647, 1011, 0, 935, 935, 0,
- 0, 0, 485, 484, 0, 0, 0, 755, 725, 538,
- 756, 726, 0, 846, 0, 0, 0, 0, 0, 260,
- 853, 757, 256, 854, 749, 0, 678, 679, 758, 727,
- 0, 750, 664, 1093, 652, 0, 0, 659, 0, 658,
- 1093, 1093, 728, 136, 252, 736, 253, 251, 0, 1404,
- 0, 0, 0, 0, 739, 0, 0, 110, 112, 114,
- 0, 0, 108, 116, 111, 113, 115, 109, 117, 107,
- 0, 0, 106, 0, 0, 0, 0, 100, 763, 732,
- 734, 751, 386, 397, 0, 390, 391, 388, 392, 393,
- 0, 0, 0, 222, 0, 0, 233, 246, 241, 242,
- 240, 260, 260, 0, 0, 0, 0, 243, 238, 239,
- 235, 248, 733, 0, 752, 234, 232, 0, 221, 765,
- 741, 0, 0, 0, 0, 0, 0, 0, 859, 0,
- 0, 0, 764, 753, 740, 735, 0, 0, 177, 176,
- 178, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 570, 546, 569, 0, 0, 0, 0, 0, 0, 0,
- 540, 340, 0, 286, 267, 268, 0, 266, 0, 486,
- 0, 0, 0, 1073, 0, 0, 0, 0, 0, 0,
- 0, 0, 1091, 0, 0, 843, 843, 843, 843, 843,
- 828, 851, 0, 506, 474, 0, 0, 341, 141, 0,
- 0, 418, 473, 471, 470, 472, 0, 0, 0, 0,
- 1069, 0, 0, 375, 0, 0, 0, 301, 303, 305,
- 306, 307, 0, 379, 381, 0, 0, 370, 0, 0,
- 0, 0, 633, 0, 0, 0, 691, 687, 670, 0,
- 953, 954, 0, 964, 0, 1035, 0, 1034, 1046, 0,
- 0, 1052, 1050, 0, 1052, 0, 1052, 0, 1027, 0,
- 1029, 1046, 1399, 0, 1482, 1065, 920, 260, 0, 260,
- 0, 260, 0, 260, 0, 260, 0, 789, 0, 459,
- 260, 519, 1329, 0, 0, 0, 617, 612, 614, 0,
- 621, 0, 0, 917, 918, 933, 926, 928, 927, 0,
- 0, 924, 1333, 518, 0, 0, 260, 0, 622, 986,
- 1336, 1337, 0, 0, 0, 0, 1366, 0, 0, 1271,
- 1249, 1251, 1092, 1261, 0, 1105, 1272, 1273, 1253, 1255,
- 0, 1319, 0, 0, 1262, 1211, 1212, 0, 0, 0,
+ 105, 903, 443, 975, 974, 903, 224, 0, 977, 0,
+ 903, 305, 320, 0, 0, 0, 0, 443, 903, 0,
+ 993, 643, 0, 0, 0, 0, 1089, 643, 0, 0,
+ 0, 0, 0, 0, 0, 903, 0, 1096, 0, 0,
+ 0, 0, 1089, 0, 0, 979, 0, 0, 0, 0,
+ 2, 4, 48, 49, 17, 16, 22, 21, 70, 71,
+ 38, 11, 61, 43, 102, 101, 103, 28, 24, 56,
+ 15, 25, 29, 45, 30, 44, 14, 42, 65, 46,
+ 68, 35, 59, 8, 36, 60, 9, 50, 72, 20,
+ 47, 69, 31, 57, 54, 39, 40, 41, 62, 63,
+ 64, 86, 67, 97, 27, 76, 77, 92, 78, 93,
+ 79, 37, 10, 89, 88, 90, 32, 58, 87, 91,
+ 12, 13, 94, 66, 84, 81, 98, 96, 104, 82,
+ 51, 5, 6, 73, 34, 7, 19, 18, 33, 26,
+ 100, 23, 977, 75, 85, 74, 52, 80, 55, 83,
+ 99, 53, 95, 1066, 1053, 1098, 1065, 0, 1068, 902,
+ 901, 887, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 442, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 911, 1592, 1593, 1594, 1595, 1596,
+ 1597, 1598, 1599, 284, 1600, 1601, 1602, 1603, 1604, 1605,
+ 1606, 1607, 1608, 1838, 1839, 1840, 1609, 1610, 1611, 1612,
+ 1613, 1614, 1615, 1841, 1842, 1616, 1617, 1618, 1619, 1620,
+ 1843, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629,
+ 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639,
+ 1640, 1641, 1642, 1643, 1844, 1845, 1644, 1645, 1646, 1647,
+ 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657,
+ 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1846,
+ 1667, 1668, 1847, 1669, 1670, 1848, 1671, 1672, 1673, 1674,
+ 1675, 1676, 1849, 1677, 1678, 1679, 1680, 1681, 1682, 1683,
+ 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1850, 1692,
+ 1693, 1694, 1695, 1851, 1852, 1853, 1696, 1697, 1698, 1699,
+ 1700, 1701, 1702, 1703, 1704, 1854, 1705, 1706, 1707, 1708,
+ 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718,
+ 1719, 1720, 1721, 1855, 1856, 1722, 1723, 1724, 1725, 1726,
+ 1727, 1728, 1857, 1729, 1730, 1731, 1732, 1858, 1733, 1859,
+ 1734, 1735, 1736, 1737, 1738, 1739, 1860, 1861, 1740, 1741,
+ 1742, 1743, 1744, 1745, 1746, 1862, 1747, 1863, 1750, 1748,
+ 1749, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1864, 1758,
+ 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768,
+ 1769, 1770, 1771, 1772, 1773, 1774, 1865, 1775, 1776, 1777,
+ 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787,
+ 1866, 1788, 1789, 1790, 1867, 1791, 1792, 1793, 1794, 1795,
+ 1796, 1797, 1798, 1799, 1800, 1868, 1801, 1802, 1803, 1804,
+ 1805, 1806, 1807, 1808, 1869, 1870, 1809, 1871, 1810, 1872,
+ 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820,
+ 1821, 1822, 1823, 1824, 1873, 1874, 1825, 1826, 1827, 1828,
+ 1829, 1830, 1831, 1832, 1833, 1834, 1875, 1876, 1877, 1878,
+ 1879, 1880, 1881, 1882, 1835, 1836, 1837, 1581, 283, 1554,
+ 1582, 1583, 976, 965, 443, 0, 890, 304, 0, 0,
+ 0, 0, 0, 0, 0, 565, 0, 0, 0, 0,
+ 0, 0, 0, 0, 153, 0, 0, 315, 314, 0,
+ 0, 430, 0, 702, 0, 0, 443, 0, 0, 0,
+ 1007, 1748, 1005, 1045, 0, 225, 228, 226, 227, 0,
+ 0, 802, 592, 0, 591, 0, 0, 0, 589, 0,
+ 0, 0, 0, 593, 587, 0, 586, 0, 0, 0,
+ 590, 0, 588, 0, 0, 891, 1004, 992, 977, 1593,
+ 651, 655, 646, 652, 647, 644, 645, 1762, 1575, 0,
+ 0, 0, 640, 1578, 650, 664, 361, 361, 361, 0,
+ 663, 668, 361, 0, 884, 1576, 918, 1559, 1088, 0,
+ 0, 642, 883, 1809, 996, 0, 0, 806, 0, 807,
+ 0, 1777, 895, 211, 1786, 1869, 1809, 207, 180, 1597,
+ 0, 0, 663, 0, 892, 893, 1095, 1093, 0, 1614,
+ 1627, 1708, 204, 1773, 1778, 1786, 1869, 1809, 1834, 162,
+ 0, 218, 1786, 1869, 1809, 214, 911, 1985, 1984, 0,
+ 1069, 1550, 1174, 1547, 1546, 0, 886, 885, 1180, 0,
+ 978, 981, 0, 1139, 1760, 1073, 1075, 983, 1066, 0,
+ 1, 105, 972, 1092, 1092, 0, 1092, 0, 1058, 1066,
+ 1098, 1065, 0, 1883, 1884, 1885, 1886, 1887, 1888, 1889,
+ 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899,
+ 1900, 1901, 1902, 1903, 1904, 1581, 0, 0, 1560, 1582,
+ 1586, 0, 600, 108, 1555, 0, 0, 0, 0, 0,
+ 1577, 0, 1618, 1669, 1457, 1467, 1465, 1466, 1459, 1460,
+ 1461, 1462, 1463, 1464, 0, 792, 1458, 0, 108, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1712, 108, 0,
+ 0, 0, 0, 907, 910, 888, 968, 0, 1547, 0,
+ 0, 625, 0, 634, 626, 631, 0, 628, 0, 0,
+ 636, 0, 627, 629, 630, 635, 0, 0, 632, 633,
+ 0, 0, 899, 361, 0, 0, 0, 0, 0, 108,
+ 955, 0, 319, 318, 108, 317, 316, 1618, 1669, 0,
+ 723, 108, 0, 155, 471, 446, 0, 0, 532, 1712,
+ 108, 0, 0, 0, 0, 0, 0, 0, 0, 1008,
+ 1006, 0, 1020, 1682, 0, 271, 0, 0, 1682, 946,
+ 0, 1682, 0, 1682, 148, 1552, 1618, 1669, 1682, 0,
+ 0, 1682, 140, 1682, 0, 1682, 271, 1682, 447, 0,
+ 1682, 0, 1682, 1712, 142, 0, 1682, 271, 598, 0,
+ 1001, 0, 648, 657, 656, 654, 653, 649, 1579, 1580,
+ 658, 659, 0, 665, 0, 0, 672, 671, 670, 0,
+ 0, 0, 673, 0, 1178, 1023, 0, 898, 0, 0,
+ 0, 809, 809, 809, 894, 210, 208, 0, 0, 0,
+ 0, 0, 0, 900, 0, 0, 0, 1838, 1839, 1840,
+ 1522, 0, 1841, 1842, 1843, 1387, 1374, 1383, 1388, 1375,
+ 1377, 1384, 1844, 1845, 1656, 1846, 1847, 1573, 1848, 1849,
+ 1851, 1852, 1853, 1854, 1379, 1381, 1855, 1856, 0, 1574,
+ 1858, 1859, 1737, 1861, 1862, 1864, 1865, 1385, 1867, 1868,
+ 1869, 1870, 1871, 1872, 1572, 0, 1386, 1874, 1876, 1877,
+ 1878, 1879, 1880, 1881, 1882, 1563, 1565, 1566, 1468, 1531,
+ 0, 0, 1545, 0, 1362, 0, 1209, 1210, 1232, 1233,
+ 1211, 1238, 1239, 1251, 1212, 0, 1544, 1276, 1361, 1366,
+ 0, 1360, 1356, 1079, 1540, 1523, 0, 1357, 1562, 1564,
+ 173, 220, 0, 221, 1548, 1786, 163, 203, 175, 202,
+ 176, 206, 205, 174, 0, 1616, 164, 0, 171, 0,
+ 0, 0, 0, 217, 215, 0, 889, 0, 1176, 0,
+ 0, 1529, 1551, 1175, 607, 0, 1181, 0, 980, 977,
+ 1536, 1535, 1537, 0, 1074, 0, 0, 0, 1056, 1055,
+ 3, 983, 1090, 1091, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1132, 1113, 1129, 1133, 0, 1062, 1140, 1561,
+ 0, 0, 0, 0, 0, 601, 0, 0, 0, 107,
+ 944, 213, 942, 0, 0, 0, 0, 949, 0, 0,
+ 0, 0, 756, 0, 0, 0, 0, 0, 0, 757,
+ 755, 758, 765, 778, 781, 0, 692, 146, 147, 0,
+ 0, 834, 834, 0, 0, 834, 0, 0, 0, 0,
+ 0, 0, 0, 230, 233, 0, 0, 0, 0, 0,
+ 0, 0, 110, 137, 0, 0, 0, 412, 424, 0,
+ 0, 0, 0, 0, 421, 0, 108, 231, 406, 409,
+ 0, 0, 0, 480, 479, 834, 0, 229, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1224, 1223, 1263, 1301, 0, 0, 1353, 1354, 1264, 1134,
- 1135, 1136, 1136, 0, 0, 1360, 0, 0, 0, 1269,
- 1274, 0, 0, 1279, 0, 1300, 0, 0, 0, 1234,
- 1329, 1127, 1128, 0, 0, 0, 0, 0, 0, 0,
- 0, 1208, 1191, 1185, 0, 1189, 1193, 0, 0, 0,
- 0, 1177, 1203, 1173, 0, 0, 1179, 0, 1204, 981,
- 981, 981, 981, 978, 0, 0, 1022, 0, 1007, 0,
- 0, 1246, 1243, 163, 0, 186, 172, 0, 0, 938,
- 919, 941, 885, 993, 0, 1320, 647, 645, 646, 995,
- 1018, 1017, 1016, 996, 1000, 997, 754, 724, 748, 843,
- 0, 334, 0, 0, 0, 856, 672, 0, 1093, 655,
- 656, 657, 0, 0, 0, 0, 0, 0, 0, 705,
- 0, 706, 704, 122, 0, 0, 0, 0, 103, 102,
- 123, 121, 0, 120, 0, 389, 394, 396, 395, 310,
- 0, 0, 0, 223, 231, 228, 244, 236, 245, 237,
+ 110, 139, 0, 0, 232, 0, 0, 905, 906, 0,
+ 909, 0, 964, 0, 0, 0, 0, 0, 0, 1618,
+ 1669, 0, 0, 0, 0, 0, 0, 307, 290, 291,
+ 108, 289, 0, 0, 529, 0, 1220, 1249, 1227, 1249,
+ 1249, 1216, 1216, 1229, 1217, 1218, 1256, 0, 1249, 1216,
+ 1221, 0, 1219, 1259, 1259, 1244, 1584, 0, 1201, 1202,
+ 1203, 1204, 1230, 1231, 1205, 1236, 1237, 1206, 1273, 1216,
+ 1585, 0, 921, 954, 0, 0, 110, 566, 0, 0,
+ 530, 0, 110, 0, 151, 0, 475, 0, 0, 0,
+ 0, 0, 0, 491, 490, 0, 0, 531, 0, 110,
+ 408, 0, 398, 361, 0, 0, 1624, 0, 1558, 0,
+ 0, 1048, 1050, 1049, 0, 1047, 0, 1189, 0, 271,
+ 269, 270, 527, 801, 0, 0, 0, 0, 271, 0,
+ 0, 1682, 0, 1682, 0, 0, 271, 271, 0, 0,
+ 0, 0, 476, 0, 597, 595, 594, 596, 0, 0,
+ 0, 0, 0, 1682, 271, 0, 0, 585, 1478, 0,
+ 320, 990, 984, 991, 986, 988, 987, 989, 985, 639,
+ 0, 0, 362, 364, 0, 1641, 0, 1674, 1700, 1778,
+ 1783, 0, 1804, 0, 674, 697, 669, 0, 0, 1017,
+ 1010, 0, 0, 1033, 641, 1480, 0, 0, 0, 808,
+ 805, 804, 803, 209, 181, 0, 0, 0, 699, 1777,
+ 897, 0, 0, 1364, 1365, 1248, 1235, 1521, 0, 0,
+ 1243, 1242, 0, 0, 0, 0, 1225, 1224, 1223, 1363,
+ 1488, 0, 1222, 0, 0, 0, 0, 1249, 1249, 1247,
+ 1295, 0, 1226, 0, 0, 1501, 0, 1507, 0, 0,
+ 0, 1255, 0, 1253, 0, 0, 1331, 0, 0, 0,
+ 0, 0, 0, 0, 1358, 1279, 1280, 1873, 1362, 1478,
+ 0, 1569, 0, 0, 1241, 0, 1273, 0, 0, 0,
+ 1534, 1476, 0, 0, 1309, 1474, 0, 1311, 0, 0,
+ 0, 1543, 1468, 1467, 1465, 1466, 1459, 1460, 1461, 1462,
+ 1463, 1464, 0, 1472, 1292, 0, 0, 1291, 0, 0,
+ 1142, 1524, 0, 1567, 222, 223, 219, 0, 0, 178,
+ 177, 0, 200, 201, 196, 425, 0, 170, 199, 0,
+ 195, 427, 1426, 1425, 179, 169, 167, 192, 194, 193,
+ 191, 165, 182, 184, 185, 186, 168, 166, 216, 0,
+ 0, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913,
+ 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923,
+ 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933,
+ 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943,
+ 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953,
+ 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963,
+ 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973,
+ 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983,
+ 1587, 1526, 1525, 1557, 1588, 1589, 1590, 1591, 1530, 0,
+ 0, 271, 1182, 0, 1142, 1035, 1037, 1038, 0, 1531,
+ 969, 1539, 0, 1076, 0, 0, 973, 1072, 1065, 1071,
+ 1099, 1100, 716, 1070, 1123, 1124, 1118, 0, 1138, 1138,
+ 1115, 1106, 1114, 1107, 0, 1119, 1276, 1131, 1060, 1112,
+ 1059, 0, 1134, 1132, 1113, 0, 0, 0, 0, 0,
+ 0, 0, 602, 0, 0, 0, 1804, 212, 940, 0,
+ 0, 0, 0, 0, 952, 355, 0, 268, 0, 0,
+ 0, 0, 0, 0, 0, 763, 0, 0, 0, 0,
+ 764, 761, 762, 1778, 780, 779, 777, 738, 740, 739,
+ 0, 742, 726, 0, 727, 0, 0, 737, 745, 743,
+ 0, 0, 833, 243, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 261, 0, 0, 0, 0,
+ 266, 0, 0, 0, 265, 0, 0, 0, 0, 0,
+ 0, 793, 0, 136, 0, 0, 411, 423, 0, 415,
+ 416, 413, 417, 418, 0, 0, 0, 0, 0, 0,
+ 410, 0, 0, 473, 472, 478, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 482,
+ 483, 0, 484, 0, 138, 0, 0, 0, 0, 0,
+ 0, 190, 904, 908, 967, 966, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 759, 729, 1377, 541, 0, 0, 542, 550, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 552, 343,
- 289, 274, 278, 858, 858, 0, 279, 858, 275, 858,
- 272, 1578, 1310, 482, 489, 479, 481, 483, 480, 0,
- 488, 454, 0, 0, 0, 1076, 0, 1144, 1145, 1146,
- 1147, 1148, 1149, 1143, 1150, 0, 843, 842, 0, 0,
- 0, 0, 0, 0, 0, 0, 321, 0, 0, 315,
- 0, 0, 691, 309, 312, 313, 0, 476, 477, 0,
- 300, 0, 434, 428, 0, 490, 468, 0, 1071, 906,
- 302, 327, 362, 0, 377, 0, 364, 363, 365, 0,
- 372, 825, 411, 408, 0, 633, 0, 0, 685, 688,
- 686, 0, 666, 0, 671, 649, 0, 946, 1037, 1044,
- 0, 1025, 0, 1051, 1047, 0, 1048, 0, 0, 1049,
- 0, 0, 1044, 0, 0, 0, 700, 0, 698, 0,
- 513, 0, 515, 0, 701, 260, 260, 415, 0, 378,
- 619, 615, 0, 0, 592, 624, 913, 916, 931, 929,
- 627, 0, 593, 626, 1335, 1111, 0, 1368, 1364, 0,
- 1330, 0, 1348, 1347, 1349, 0, 1229, 0, 0, 1221,
- 1219, 1220, 1213, 1214, 1215, 1216, 1217, 1218, 1210, 1222,
- 1358, 1357, 1351, 1352, 1131, 1129, 0, 1266, 1267, 1268,
- 1359, 1275, 0, 1294, 1293, 0, 0, 0, 1281, 0,
- 0, 1290, 0, 1303, 1117, 1150, 1153, 0, 0, 1176,
- 1363, 1194, 0, 0, 0, 1172, 0, 0, 0, 0,
- 1181, 1319, 0, 0, 0, 0, 0, 0, 973, 972,
- 1063, 0, 1009, 1244, 1245, 1416, 0, 0, 945, 936,
- 0, 994, 0, 336, 0, 0, 691, 673, 0, 668,
- 0, 0, 0, 0, 0, 507, 493, 0, 0, 508,
- 509, 0, 0, 0, 118, 104, 125, 124, 105, 119,
- 308, 0, 0, 0, 0, 262, 737, 0, 0, 0,
- 0, 0, 767, 745, 766, 743, 742, 744, 738, 0,
- 544, 0, 0, 0, 545, 556, 554, 553, 555, 547,
- 290, 99, 0, 0, 0, 0, 0, 0, 0, 456,
- 0, 0, 461, 450, 452, 0, 0, 0, 1074, 1077,
- 1085, 449, 0, 838, 837, 836, 833, 832, 841, 840,
- 831, 830, 835, 834, 0, 0, 319, 323, 324, 322,
- 314, 691, 341, 374, 0, 0, 0, 436, 0, 0,
- 469, 0, 1070, 904, 0, 325, 0, 366, 304, 380,
- 381, 0, 0, 376, 0, 0, 0, 820, 0, 413,
- 409, 0, 0, 632, 0, 0, 691, 690, 784, 785,
- 782, 783, 0, 1036, 0, 0, 1038, 0, 0, 1040,
- 1042, 0, 0, 0, 0, 0, 1402, 1243, 1067, 1066,
- 260, 260, 260, 260, 790, 460, 0, 0, 0, 613,
- 260, 0, 1367, 1260, 1270, 1346, 0, 0, 1230, 0,
- 0, 1265, 1709, 0, 0, 1298, 1299, 1280, 0, 1564,
- 1285, 0, 0, 0, 1419, 1200, 1198, 1195, 0, 1196,
- 0, 0, 1178, 1174, 0, 1180, 1205, 977, 976, 975,
- 974, 0, 0, 965, 1150, 942, 0, 848, 0, 691,
- 374, 669, 761, 730, 0, 0, 499, 0, 0, 0,
- 0, 762, 731, 760, 224, 225, 226, 227, 0, 229,
- 0, 0, 0, 864, 0, 0, 548, 549, 543, 273,
- 0, 276, 281, 0, 282, 277, 280, 458, 457, 455,
- 451, 453, 1075, 0, 713, 0, 454, 839, 0, 0,
- 311, 374, 348, 0, 316, 0, 825, 302, 435, 0,
- 0, 429, 491, 366, 0, 0, 326, 0, 370, 0,
- 367, 0, 371, 0, 0, 822, 410, 0, 405, 0,
- 0, 0, 0, 634, 641, 641, 689, 648, 0, 0,
- 1045, 1054, 0, 1041, 1039, 1030, 0, 1032, 714, 514,
- 516, 702, 616, 623, 260, 1225, 0, 0, 0, 0,
- 1276, 0, 1277, 1282, 1286, 0, 1283, 1284, 1197, 1201,
- 1199, 1182, 1006, 1008, 187, 1321, 0, 374, 337, 0,
- 0, 505, 494, 0, 0, 510, 261, 0, 0, 0,
- 0, 0, 551, 265, 288, 283, 713, 0, 710, 448,
- 0, 318, 317, 0, 353, 0, 503, 821, 437, 438,
- 433, 0, 370, 331, 329, 333, 330, 328, 332, 0,
- 372, 368, 369, 823, 824, 412, 866, 0, 0, 691,
- 0, 0, 639, 644, 644, 1064, 1043, 0, 1031, 594,
- 1226, 0, 1227, 0, 0, 1288, 1287, 341, 338, 0,
- 497, 504, 0, 495, 0, 0, 860, 0, 861, 862,
- 865, 709, 712, 711, 0, 345, 346, 347, 0, 320,
- 349, 350, 0, 0, 0, 0, 372, 361, 292, 691,
- 641, 372, 635, 640, 647, 647, 0, 1053, 1228, 1291,
- 1278, 1289, 348, 0, 0, 512, 511, 0, 0, 0,
- 0, 0, 351, 0, 352, 373, 502, 0, 441, 293,
- 372, 644, 1064, 637, 636, 788, 353, 0, 505, 863,
- 0, 358, 0, 357, 0, 355, 354, 492, 443, 445,
- 446, 442, 0, 439, 444, 447, 1064, 647, 628, 787,
- 786, 0, 454, 498, 496, 0, 356, 360, 359, 423,
- 0, 629, 638, 770, 781, 769, 771, 779, 776, 778,
- 777, 775, 339, 0, 440, 0, 780, 774, 964, 955,
- 0, 772, 781, 441, 773, 0, 424
+ 0, 0, 0, 0, 0, 293, 1584, 0, 552, 528,
+ 0, 1201, 0, 1197, 1193, 1262, 1263, 1264, 1261, 1274,
+ 1260, 0, 1207, 1265, 1216, 1213, 0, 919, 330, 437,
+ 144, 0, 0, 0, 540, 543, 0, 106, 155, 320,
+ 0, 154, 156, 158, 159, 160, 157, 161, 470, 474,
+ 0, 445, 0, 0, 0, 0, 0, 495, 494, 497,
+ 496, 0, 492, 0, 0, 0, 135, 405, 407, 0,
+ 0, 322, 386, 0, 428, 0, 0, 0, 0, 0,
+ 860, 0, 0, 0, 1046, 0, 1152, 1019, 1143, 1154,
+ 1145, 1147, 1183, 1550, 0, 0, 1017, 0, 784, 0,
+ 947, 1682, 271, 0, 782, 149, 1553, 0, 0, 0,
+ 0, 0, 786, 582, 141, 0, 271, 271, 448, 0,
+ 271, 143, 0, 0, 0, 440, 271, 599, 1003, 0,
+ 0, 0, 666, 0, 360, 680, 0, 0, 679, 690,
+ 681, 682, 676, 675, 683, 0, 0, 699, 1012, 0,
+ 1013, 1531, 0, 1009, 0, 1030, 0, 1028, 0, 1179,
+ 1032, 1021, 995, 0, 994, 998, 1000, 999, 997, 0,
+ 0, 0, 663, 0, 0, 271, 896, 0, 1484, 0,
+ 1485, 0, 0, 0, 1520, 1516, 0, 0, 0, 0,
+ 0, 1492, 1493, 1494, 1491, 1495, 1490, 1489, 0, 0,
+ 1496, 0, 0, 0, 0, 0, 1246, 1245, 0, 0,
+ 0, 0, 0, 0, 0, 1334, 1366, 0, 0, 1452,
+ 0, 1478, 1506, 0, 0, 1257, 0, 0, 0, 0,
+ 0, 0, 0, 1478, 1512, 0, 0, 0, 1424, 0,
+ 1421, 0, 0, 0, 0, 1532, 1531, 0, 0, 0,
+ 0, 1570, 1293, 1542, 0, 1533, 0, 0, 1300, 0,
+ 1513, 1327, 0, 1332, 1315, 0, 1308, 0, 1313, 1317,
+ 1296, 1534, 1477, 0, 1475, 0, 0, 1294, 0, 1289,
+ 1287, 1288, 1281, 1282, 1283, 1284, 1285, 1286, 1277, 1290,
+ 1456, 1454, 1455, 0, 0, 0, 1312, 1675, 1708, 0,
+ 1089, 1089, 1078, 1087, 1541, 0, 1185, 0, 0, 0,
+ 0, 1437, 0, 1549, 0, 426, 0, 1273, 0, 1177,
+ 1527, 0, 605, 606, 604, 1042, 0, 0, 1189, 0,
+ 1041, 971, 970, 1538, 982, 1077, 0, 714, 715, 0,
+ 719, 0, 0, 1116, 1130, 0, 1033, 1033, 0, 0,
+ 0, 1121, 1122, 1109, 1064, 1063, 550, 549, 0, 0,
+ 0, 845, 811, 603, 846, 812, 941, 0, 943, 0,
+ 0, 0, 0, 0, 271, 950, 847, 267, 951, 838,
+ 0, 0, 0, 453, 454, 0, 759, 760, 848, 813,
+ 0, 839, 741, 1216, 725, 0, 0, 736, 0, 735,
+ 1216, 1216, 814, 145, 235, 0, 836, 247, 260, 255,
+ 256, 254, 271, 271, 0, 0, 0, 0, 257, 252,
+ 253, 249, 262, 263, 822, 0, 277, 280, 264, 245,
+ 248, 246, 234, 0, 1556, 0, 0, 788, 0, 0,
+ 825, 0, 0, 119, 121, 123, 0, 0, 117, 125,
+ 120, 122, 124, 118, 126, 116, 0, 0, 115, 0,
+ 0, 0, 0, 109, 853, 818, 414, 419, 820, 422,
+ 841, 420, 1596, 1657, 1787, 0, 460, 462, 0, 467,
+ 859, 819, 0, 840, 855, 827, 0, 0, 0, 0,
+ 0, 0, 0, 956, 0, 0, 0, 854, 832, 843,
+ 0, 826, 821, 842, 0, 0, 188, 187, 189, 0,
+ 0, 0, 0, 0, 0, 0, 0, 638, 614, 637,
+ 0, 0, 0, 0, 0, 0, 0, 608, 306, 287,
+ 288, 0, 286, 0, 551, 0, 0, 1198, 1194, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0,
+ 0, 939, 939, 939, 939, 939, 939, 939, 920, 948,
+ 436, 456, 0, 571, 539, 0, 0, 361, 150, 0,
+ 0, 0, 444, 538, 536, 535, 537, 0, 0, 0,
+ 0, 1190, 0, 0, 0, 404, 0, 0, 0, 321,
+ 323, 325, 326, 327, 0, 399, 401, 0, 0, 390,
+ 0, 0, 0, 0, 705, 730, 0, 748, 731, 0,
+ 0, 0, 768, 773, 769, 751, 0, 1051, 1052, 0,
+ 1066, 0, 1154, 0, 1153, 1165, 0, 0, 1171, 1169,
+ 0, 1171, 0, 1171, 0, 1146, 0, 1148, 1165, 1551,
+ 0, 1637, 1186, 1018, 271, 0, 0, 450, 271, 0,
+ 271, 0, 271, 271, 0, 881, 477, 0, 524, 0,
+ 0, 271, 584, 1479, 0, 667, 363, 0, 678, 0,
+ 0, 689, 684, 686, 0, 693, 0, 0, 1015, 1016,
+ 1031, 1024, 1026, 1025, 0, 0, 1022, 1481, 583, 0,
+ 0, 271, 0, 694, 1094, 1482, 1483, 0, 0, 0,
+ 0, 1517, 0, 0, 1400, 1376, 1378, 1215, 1390, 0,
+ 1228, 1401, 1402, 1380, 1382, 0, 1469, 0, 0, 1391,
+ 1336, 1337, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1349, 1348, 1392, 1451, 0,
+ 0, 1504, 1505, 1393, 1258, 1259, 1259, 0, 0, 1511,
+ 0, 0, 0, 1398, 1403, 0, 0, 1408, 0, 1429,
+ 0, 0, 0, 1359, 1479, 1250, 1251, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1333, 1316, 1310, 0, 1314,
+ 1318, 0, 0, 0, 0, 1302, 1328, 1298, 0, 0,
+ 1304, 0, 1329, 1089, 1089, 1089, 1089, 1086, 0, 0,
+ 1141, 0, 1126, 0, 0, 0, 1437, 0, 1367, 1437,
+ 0, 172, 0, 197, 183, 0, 0, 0, 1036, 1017,
+ 1039, 1101, 0, 1470, 719, 717, 718, 1103, 0, 0,
+ 1137, 1136, 1135, 1104, 1108, 1105, 0, 844, 810, 837,
+ 939, 0, 354, 0, 0, 0, 953, 435, 0, 434,
+ 432, 452, 753, 0, 1216, 728, 733, 734, 0, 330,
+ 0, 0, 236, 0, 244, 241, 258, 250, 259, 251,
+ 274, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 850, 131, 0, 0, 0, 0, 112,
+ 111, 132, 130, 0, 129, 0, 464, 465, 463, 459,
+ 0, 466, 468, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 849, 815, 609, 0, 0,
+ 610, 618, 0, 0, 611, 0, 0, 0, 0, 0,
+ 0, 620, 309, 294, 298, 955, 955, 0, 299, 955,
+ 295, 955, 292, 1737, 1459, 1460, 547, 554, 544, 546,
+ 548, 545, 0, 553, 519, 0, 0, 0, 1199, 0,
+ 1267, 1268, 1269, 1270, 1271, 1272, 0, 1266, 1273, 0,
+ 939, 938, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 341, 0, 0, 335, 0, 0, 773, 329,
+ 332, 333, 0, 449, 0, 541, 542, 0, 320, 0,
+ 0, 499, 493, 0, 555, 533, 0, 1192, 456, 1004,
+ 0, 395, 322, 347, 382, 0, 397, 0, 384, 383,
+ 385, 0, 392, 917, 437, 0, 705, 0, 0, 729,
+ 0, 0, 0, 766, 770, 767, 0, 0, 744, 0,
+ 752, 722, 0, 1044, 1156, 1163, 0, 1144, 0, 1170,
+ 1166, 0, 1167, 0, 0, 1168, 0, 0, 1163, 0,
+ 0, 0, 785, 0, 271, 783, 0, 578, 0, 580,
+ 787, 271, 271, 485, 0, 441, 398, 677, 691, 687,
+ 0, 0, 660, 696, 1011, 1014, 1029, 1027, 699, 0,
+ 661, 698, 1486, 1234, 0, 1519, 1515, 0, 1487, 0,
+ 1499, 1498, 1500, 0, 1354, 0, 0, 1346, 1344, 1345,
+ 1338, 1339, 1340, 1341, 1342, 1343, 1335, 1347, 1509, 1508,
+ 1502, 1503, 1254, 1252, 0, 1395, 1396, 1397, 1510, 1404,
+ 0, 1423, 1422, 0, 0, 0, 1410, 0, 0, 1419,
+ 0, 1453, 1240, 1273, 1278, 0, 0, 1301, 1514, 1319,
+ 0, 0, 0, 1297, 0, 0, 0, 0, 1306, 1469,
+ 0, 0, 0, 0, 0, 0, 1081, 1080, 1184, 0,
+ 1128, 1437, 1437, 1437, 1373, 1440, 1435, 1436, 1368, 1568,
+ 0, 0, 1528, 0, 1043, 1034, 0, 1102, 1117, 1110,
+ 1118, 0, 356, 0, 0, 773, 858, 433, 754, 0,
+ 746, 328, 0, 835, 0, 0, 0, 0, 278, 279,
+ 282, 0, 0, 0, 0, 0, 572, 558, 0, 0,
+ 573, 574, 0, 0, 790, 791, 789, 127, 113, 134,
+ 133, 114, 128, 461, 823, 0, 0, 0, 0, 0,
+ 857, 831, 856, 829, 828, 830, 824, 487, 0, 612,
+ 0, 0, 613, 624, 622, 621, 623, 615, 310, 108,
+ 0, 0, 0, 0, 0, 0, 0, 521, 0, 0,
+ 526, 515, 517, 0, 0, 0, 1195, 1200, 1275, 1208,
+ 514, 0, 930, 929, 928, 932, 931, 934, 933, 925,
+ 924, 937, 936, 923, 922, 927, 926, 0, 0, 339,
+ 343, 344, 342, 334, 773, 361, 394, 0, 0, 0,
+ 0, 0, 501, 0, 534, 0, 1191, 481, 1002, 402,
+ 0, 0, 345, 0, 386, 324, 400, 401, 0, 0,
+ 396, 0, 912, 439, 0, 0, 704, 0, 732, 749,
+ 750, 0, 0, 773, 772, 876, 877, 874, 875, 0,
+ 1155, 0, 0, 1157, 0, 0, 1159, 1161, 0, 0,
+ 0, 0, 0, 1554, 1437, 1188, 1187, 271, 451, 271,
+ 271, 882, 525, 0, 0, 0, 685, 271, 0, 1518,
+ 1389, 1399, 1497, 0, 0, 1355, 0, 0, 1394, 1875,
+ 0, 0, 1427, 1428, 1409, 0, 1723, 1414, 0, 0,
+ 0, 1571, 1325, 1323, 1320, 0, 1321, 0, 0, 1303,
+ 1299, 0, 1305, 1330, 1085, 1084, 1083, 1082, 0, 0,
+ 1431, 1371, 1372, 1369, 1442, 1439, 0, 1273, 1040, 0,
+ 0, 945, 0, 773, 394, 747, 237, 238, 239, 240,
+ 273, 0, 851, 816, 0, 0, 564, 0, 0, 0,
+ 0, 852, 817, 0, 0, 0, 961, 0, 0, 616,
+ 617, 293, 0, 296, 301, 0, 302, 297, 300, 523,
+ 522, 520, 516, 518, 1196, 0, 799, 799, 0, 519,
+ 935, 0, 0, 331, 394, 368, 0, 336, 0, 457,
+ 0, 917, 322, 456, 500, 0, 0, 556, 403, 386,
+ 0, 0, 346, 0, 390, 0, 387, 0, 391, 0,
+ 0, 0, 0, 429, 0, 0, 0, 0, 706, 713,
+ 713, 771, 0, 775, 0, 743, 720, 0, 0, 1164,
+ 1173, 0, 1160, 1158, 1149, 0, 1151, 800, 579, 581,
+ 486, 688, 695, 271, 1350, 0, 0, 0, 0, 1405,
+ 0, 1406, 1411, 1415, 0, 1412, 1413, 1322, 1326, 1324,
+ 1307, 1125, 1127, 0, 1067, 0, 1098, 1437, 198, 1471,
+ 0, 0, 394, 357, 0, 242, 281, 0, 0, 570,
+ 559, 0, 0, 575, 0, 0, 0, 0, 0, 619,
+ 285, 308, 303, 799, 0, 796, 795, 513, 0, 338,
+ 337, 0, 373, 0, 455, 0, 568, 913, 469, 502,
+ 503, 498, 0, 390, 351, 349, 353, 350, 348, 352,
+ 0, 392, 388, 389, 0, 914, 0, 438, 963, 0,
+ 0, 276, 0, 0, 711, 716, 716, 774, 0, 0,
+ 1185, 1162, 0, 1150, 662, 1351, 0, 1352, 0, 0,
+ 1417, 1416, 1430, 1432, 0, 0, 1445, 1097, 1370, 1111,
+ 361, 358, 272, 0, 562, 569, 560, 570, 0, 0,
+ 957, 0, 958, 959, 962, 794, 798, 797, 0, 365,
+ 366, 367, 0, 340, 369, 370, 0, 458, 0, 0,
+ 0, 392, 381, 312, 915, 916, 276, 713, 0, 392,
+ 707, 712, 719, 719, 773, 776, 0, 1172, 1353, 1420,
+ 1407, 1418, 0, 0, 1441, 0, 0, 0, 368, 0,
+ 561, 577, 576, 0, 0, 0, 0, 0, 371, 0,
+ 372, 393, 567, 0, 506, 313, 392, 716, 275, 1185,
+ 709, 708, 721, 880, 1433, 1434, 0, 0, 0, 1443,
+ 1446, 1444, 1438, 373, 0, 960, 0, 378, 0, 377,
+ 0, 375, 374, 557, 508, 510, 511, 0, 504, 507,
+ 509, 512, 1185, 719, 700, 879, 878, 0, 0, 1450,
+ 1449, 1448, 519, 563, 0, 376, 380, 379, 488, 0,
+ 701, 710, 862, 873, 861, 863, 871, 868, 870, 869,
+ 867, 0, 359, 0, 505, 0, 872, 866, 1066, 1053,
+ 1447, 0, 864, 873, 506, 865, 0, 489
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] =
{
- -1, 47, 48, 49, 50, 1000, 1590, 2057, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 1029, 60, 61,
- 750, 1237, 1702, 62, 1534, 600, 1478, 1479, 1642, 1480,
- 1462, 940, 1481, 1001, 1021, 64, 65, 935, 1452, 66,
- 67, 68, 1058, 1059, 1034, 1060, 1007, 1271, 2979, 69,
- 70, 2146, 1184, 2147, 2520, 466, 1667, 2801, 2802, 71,
- 1234, 2196, 2197, 2198, 2199, 2171, 2563, 2564, 2565, 2200,
- 2855, 3026, 2201, 1542, 1181, 1663, 1664, 3114, 3179, 3180,
- 3181, 3235, 2857, 2207, 2590, 2863, 3014, 72, 1251, 1727,
- 2202, 2203, 73, 74, 1047, 1604, 2064, 1482, 1464, 1465,
- 75, 492, 2592, 2869, 3038, 76, 169, 77, 1239, 78,
- 79, 1246, 1718, 1719, 2848, 3019, 3120, 3242, 3243, 3006,
- 2812, 2813, 2814, 80, 81, 82, 83, 1581, 1694, 1695,
- 2524, 991, 1188, 1670, 1671, 2574, 84, 2755, 2756, 493,
- 3184, 3163, 85, 86, 2759, 2760, 87, 88, 89, 90,
- 91, 528, 799, 800, 2021, 92, 93, 730, 2131, 94,
- 544, 813, 95, 96, 551, 1815, 553, 1320, 2266, 2267,
- 2644, 1781, 663, 97, 98, 1790, 1818, 99, 494, 2597,
- 3042, 3043, 3143, 1974, 2419, 100, 495, 1025, 1568, 1569,
- 1570, 1571, 2601, 1572, 2216, 2217, 2218, 2598, 2605, 101,
- 1023, 1562, 102, 103, 104, 1586, 680, 105, 3108, 106,
- 773, 107, 572, 1337, 108, 1607, 109, 110, 111, 2219,
- 3265, 3275, 3276, 3277, 2882, 3251, 112, 3267, 114, 115,
- 116, 149, 698, 699, 700, 117, 2867, 118, 119, 1689,
- 2170, 2548, 120, 121, 1535, 1993, 122, 123, 124, 1228,
- 125, 126, 127, 128, 706, 129, 130, 131, 624, 616,
- 966, 1500, 132, 1305, 532, 133, 824, 1807, 134, 802,
- 135, 3268, 1326, 1792, 1793, 1796, 3269, 1266, 138, 1330,
- 1801, 1804, 3270, 1490, 1491, 1492, 1493, 1494, 1961, 140,
- 767, 1737, 3271, 908, 143, 144, 145, 1446, 1944, 561,
- 977, 590, 629, 630, 1505, 1506, 984, 1520, 1513, 1515,
- 2732, 2953, 985, 1518, 986, 987, 1977, 146, 1948, 1741,
- 1742, 1743, 2227, 2237, 2614, 2889, 1744, 612, 1745, 2398,
- 1750, 2189, 2190, 1332, 1677, 1212, 909, 1213, 1687, 910,
- 1369, 1215, 911, 912, 913, 1218, 914, 915, 916, 917,
- 1353, 1411, 918, 919, 1388, 1685, 1302, 1856, 921, 922,
- 2701, 2932, 2923, 1881, 1882, 1471, 2697, 923, 1935, 1439,
- 682, 924, 2526, 1441, 1876, 1841, 1524, 1822, 1351, 1842,
- 1853, 2313, 1860, 1865, 2336, 2337, 1877, 1903, 925, 1826,
- 1827, 2297, 1355, 926, 703, 704, 1401, 1899, 969, 970,
- 618, 927, 928, 929, 1321, 613, 2885, 780, 660, 2028,
- 1157, 459, 558, 930, 931, 932, 933, 2268, 1468, 614,
- 655, 1158, 453, 454, 657, 1162, 461
+ -1, 49, 50, 51, 52, 1070, 1733, 2263, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 1100, 62, 63,
+ 792, 1244, 1841, 64, 1657, 630, 1501, 1502, 1782, 1503,
+ 1487, 998, 1504, 1071, 1092, 66, 67, 992, 1476, 68,
+ 69, 70, 1113, 1114, 1077, 1282, 3375, 1724, 3499, 2225,
+ 2226, 71, 72, 2331, 1190, 2332, 2742, 488, 1804, 3059,
+ 3060, 73, 1241, 2388, 2389, 2390, 2391, 2359, 2789, 2790,
+ 2791, 2392, 3122, 3302, 2393, 1665, 866, 1331, 1332, 3402,
+ 3483, 3484, 3485, 3561, 3124, 2399, 2822, 3130, 3287, 74,
+ 1261, 1872, 2394, 2395, 2811, 75, 76, 1867, 1138, 1139,
+ 1738, 2746, 77, 516, 2649, 2360, 2361, 3313, 78, 183,
+ 79, 1248, 80, 81, 82, 83, 2793, 3288, 1143, 2275,
+ 2276, 2277, 2278, 2701, 84, 1246, 1144, 1850, 85, 86,
+ 87, 1771, 88, 89, 90, 1255, 1861, 1862, 3113, 3295,
+ 3411, 3567, 3568, 3279, 3070, 3071, 3072, 91, 92, 93,
+ 94, 1240, 1833, 1834, 2747, 1061, 1194, 1807, 1808, 2803,
+ 95, 3016, 3017, 517, 3489, 3466, 96, 97, 3020, 3021,
+ 98, 99, 100, 101, 102, 554, 847, 848, 2201, 103,
+ 1601, 104, 771, 2318, 105, 571, 862, 106, 107, 579,
+ 1972, 581, 1343, 2471, 2472, 2882, 1938, 707, 108, 109,
+ 1947, 1975, 110, 518, 2828, 3317, 3318, 3435, 2140, 2627,
+ 111, 519, 1096, 1693, 1879, 2406, 2407, 1695, 1696, 2837,
+ 1697, 2408, 2413, 2414, 2415, 2833, 2841, 3323, 3324, 112,
+ 1094, 1686, 113, 114, 115, 1118, 724, 116, 3395, 117,
+ 817, 118, 600, 1360, 119, 1704, 2663, 120, 121, 122,
+ 2416, 3594, 3605, 3606, 3607, 3149, 3577, 123, 3596, 125,
+ 126, 127, 161, 743, 744, 745, 128, 3132, 129, 130,
+ 1827, 2358, 2772, 131, 132, 1658, 2168, 133, 134, 135,
+ 1234, 136, 137, 138, 139, 1172, 140, 141, 142, 483,
+ 651, 1029, 1037, 143, 1322, 558, 144, 879, 1964, 145,
+ 850, 146, 3597, 1349, 1949, 1950, 1953, 3598, 1277, 149,
+ 1353, 1958, 1961, 3599, 1604, 1605, 1606, 1607, 1608, 2126,
+ 151, 811, 1883, 3600, 964, 154, 155, 156, 157, 655,
+ 656, 1470, 2102, 589, 1044, 618, 667, 668, 1620, 1621,
+ 1639, 1640, 1631, 2142, 1633, 1634, 2153, 1626, 2970, 3220,
+ 1637, 1638, 1054, 1055, 2146, 158, 2106, 1887, 1888, 1889,
+ 2424, 2434, 2850, 3156, 1890, 875, 649, 1891, 2602, 1896,
+ 2380, 2381, 1698, 1814, 1218, 965, 1219, 1825, 966, 1392,
+ 1221, 967, 968, 969, 1224, 970, 971, 972, 973, 1376,
+ 1434, 974, 975, 1411, 1822, 1823, 1318, 2014, 977, 978,
+ 2939, 3199, 3190, 2039, 2040, 1494, 2935, 3364, 3452, 3453,
+ 2978, 2976, 3224, 3366, 3517, 3549, 3550, 979, 2093, 1463,
+ 726, 980, 2749, 1465, 2034, 1646, 1374, 1981, 1998, 1999,
+ 2011, 2518, 2018, 2023, 2541, 2542, 2035, 2061, 981, 1984,
+ 1985, 2502, 1378, 982, 1021, 1022, 1424, 2057, 1032, 1033,
+ 653, 983, 984, 985, 1344, 642, 3152, 825, 703, 2233,
+ 1592, 747, 586, 986, 987, 988, 989, 1772, 1491, 643,
+ 698, 2279, 480, 481, 700, 1597, 644
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -2901
+#define YYPACT_NINF -3250
static const int yypact[] =
{
- 5939, 311, 4200, -2901, -2901, 311, -2901, 33528, 32394, 52,
- 588, 97, 4480, 33906, 38442, 470, 161, 48207, 311, 38442,
- 277, 24812, 29748, 573, 38442, -78, 433, 24812, 38442, 38820,
- 531, 477, 39198, 34284, 29370, 693, 38442, 727, 39576, 34662,
- 529, 433, 22505, 30504, 849, 508, 590, 1046, 669, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, 772, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, 1327, -2901, 582, 1378, 748, -2901, -2901, -2901,
- 27858, 38442, 38442, 38442, 27858, 38442, 30504, 20152, -2901, 38442,
- 38442, 30504, 30504, 38442, 924, 38442, 38442, 38442, 30504, 1057,
- 66, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, 643, 941, 1072,
- 1085, -2901, 3334, -78, -2901, -2901, 32394, 922, 27858, 38442,
- 946, 994, 38442, -2901, 38442, 826, 38442, 848, 20547, 1087,
- 38442, 38442, 38442, -2901, -2901, 1077, 38442, -2901, 38442, -2901,
- 38442, -6, 1117, 1316, 1243, 447, -2901, 35040, -2901, -2901,
- 30504, -2901, -2901, -2901, -2901, 28236, 38442, 1282, -2901, 39954,
- -2901, 28614, 40332, -2901, 20942, 1415, 40710, 41088, -2901, -2901,
- -2901, 41466, 1180, 41844, -2901, 42222, -2901, 1328, 42600, -2901,
- 1126, -2901, 772, -106, -2901, 102, 112, 106, 115, 116,
- 118, -106, -2901, 1133, 817, -2901, -2901, 1281, -2901, -2901,
- -2901, 1310, 409, -2901, -2901, 32394, -2901, -2901, -2901, -2901,
- -2901, 32394, 817, -2901, -2901, -78, 1149, 1522, 38442, -2901,
- 38442, -2901, 32394, 38442, -2901, -2901, 1538, 1212, 1421, 1196,
- -2901, 1375, 1432, 1385, 20, -78, 1379, -2901, -2901, 1465,
- 11511, 30882, 42978, 49, 26720, 35418, 1348, 66, 1481, -2901,
- 236, -2901, 1686, 1361, 1574, 1196, 66, 32394, -2901, -2901,
- 18218, 43356, 1475, 1364, -2901, -2901, 1643, 11910, -2901, 1387,
- 1389, -2901, 5939, -2901, 32394, 843, 843, 1745, 843, 970,
- 1007, 508, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, 842, 643, 1405, -2901, 918, -2901, 906, 1404,
- 915, -2901, 192, 909, 1420, 224, -2901, 1091, 38442, 38442,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- 1433, -2901, -2901, 1412, 856, 973, 12, 408, 1806, 1017,
- 241, 1592, 704, 967, 1567, 38442, 1666, -7, -2901, 6,
- -2901, 13905, 22127, -2901, 643, 38442, -2901, 32394, 27858, 1448,
- -2901, 38442, -2901, -2901, -2901, 27858, -2901, 1628, 21337, -2901,
- 38442, -2901, -2901, -2901, -2901, 1568, 38442, -2901, -2901, 1679,
- 38442, -2901, 1454, -53, 1457, 1812, 47136, 38442, 1501, 1841,
- -2901, -2901, 1501, -2901, -2901, 38442, 38442, 1462, 740, 1501,
- 1839, 1842, 1636, 293, 1320, 101, 1501, 32394, 32394, 32394,
- 1704, 38442, 43734, 27858, 38442, -2901, -2901, 198, 1536, 1764,
- 1405, 237, 1766, 1483, 1769, -2901, 1770, 1420, 1771, 1484,
- -2901, 44112, 44490, 1772, 1490, 38442, 1780, 1484, 1781, 1669,
- 1791, -2901, 571, 1792, 1681, 1797, 1484, 27100, 1801, 108,
- -2901, 13905, -2901, 625, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, 38442, -2901, 31260, 38442, 31638, 61, 78,
- -2901, 38442, -2901, 47136, 1899, 38442, 1793, 1793, 1793, -2901,
- -2901, -2901, 1741, 38442, 1802, 1803, 31260, 38442, -2901, 44868,
- 1526, 1032, 1541, 810, 1548, 13905, 1530, 88, 88, 1531,
- -2901, -2901, 1532, 1535, -2901, 976, 976, 1689, 1537, 1540,
- -2901, 977, 1542, 1557, 1560, 1021, 1543, 1544, 1545, 1372,
- 88, 13905, -2901, 1547, 976, 1549, 1550, 1554, 1575, 1555,
- -2901, 1576, 1558, 804, 1026, 1561, 1562, -2901, 1537, -2901,
- 90, 1565, 1566, 1569, 1572, 1573, 1577, 1580, -2901, -2901,
- -2901, -2901, -2901, -2901, 13905, 13905, -2901, 12309, -2901, -78,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, 99, -2901, 1022,
- 5458, -2901, -2901, 1711, 13905, -2901, -2901, 151, -2901, 643,
- 1023, -2901, -2901, -2901, -2901, 205, 1563, 959, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, 26340, 1941, -2901, 659, 6,
- 975, 1902, 23639, 24030, -2901, -2901, 1795, -2901, 128, 32394,
- -2901, 38442, -2901, 18978, -2901, -2901, 772, -2901, 25170, -2901,
- 1009, -2901, -2901, -2901, 1582, -2901, -2901, 590, 590, 13905,
- 590, -10, 12708, 13905, 1858, 760, 1860, -2901, -2901, 643,
- 22883, 771, 1663, 1665, 27480, 1587, 1667, 1671, 42978, -2901,
- -2901, -2901, -2901, 139, 633, 1672, 121, -2901, 1768, -95,
- 1707, -2901, 1674, 1675, 1782, -95, 177, 45246, -2901, -2901,
- -2901, -2901, -2901, 2725, 10734, -2901, -2901, -2901, 1676, 1660,
- 1680, 1682, 1462, 441, 1598, -2901, 1662, 1670, 46002, 21732,
- 1684, -2901, -2901, 1690, 1691, 1692, 1728, 828, 129, 1964,
- 1789, 394, 1177, 142, 32394, 1868, 181, 540, 1631, -2901,
- -2901, 1714, 1715, 38442, 38442, 38442, 38442, 30504, 1716, 1759,
- 1718, -2901, -2901, 1719, 1035, 926, -2901, -2901, 66, -2901,
- 3616, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, 1405, 47136, 1815,
- 1420, -95, 38442, 38442, 1645, 463, 640, 1819, 38442, 1881,
- 38442, 1693, -2901, -2901, 1501, -2901, 23261, 1462, -2901, 1650,
- -2901, 1702, -2901, 1702, 1702, 1653, 1653, 1654, -2901, -2901,
- -2901, 1372, 1702, 1653, -2901, 47892, -2901, -88, 777, -2901,
- -2901, 2038, 2041, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, 68, 1079, -2901, 2050, -2901, -2901, 47136, -2901,
- 1975, 1720, 27480, -2901, 1712, -2901, 38442, 173, 38442, 1876,
- 38442, 38442, 38442, 38442, -2901, -2901, 71, 55, -2901, -2901,
- -2901, 2047, -30, 1454, 26720, 1942, 38442, 1840, 1420, 2049,
- -2901, 310, -2901, 1787, -2901, 17078, 1721, 27858, 237, -2901,
- -2901, -2901, -2901, 47136, 38442, 27858, 237, 38442, 38442, 1956,
- 1733, 1962, 1736, 21732, 46002, 143, 38442, 38442, 32394, 38442,
- -2901, -2901, -2901, -2901, 38442, 32394, 38442, 1965, 237, 38442,
- 38442, -2901, 25170, 1055, 72, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, 38442, 27858, 38442, 38442, 32394, 32394, 38442,
- 1756, 1563, 479, -2901, 1734, 18598, 1811, -2901, 140, 32394,
- 1867, -2901, -2901, 1058, 491, 545, -2901, -2901, -2901, -2901,
- -2901, -2901, 31638, 29748, 1959, 19, 38442, -2901, 13905, 13107,
- -2901, -2901, -2901, 1696, 25170, 1737, 13905, -2901, -2901, 13905,
- 1717, 1717, 13905, -2901, -2901, -2901, -2901, 514, 1717, -2901,
- 13905, 13905, 1717, 1717, 1702, 1702, -2901, 2347, 13905, -2901,
- 21732, 13905, 15501, 9956, 13905, 1775, 1784, 1717, -2901, 1717,
- -2901, 13905, 11112, -2901, 13905, 1908, 13905, 975, 1909, 13905,
- 975, 643, 1709, 1709, 508, 908, 6279, 1710, -2901, 1817,
- 1717, -2901, 1717, 136, 13905, 27480, 1790, 155, 13905, 1723,
- 542, -2901, 13905, 157, -2901, 1724, 13905, 1804, 147, 13905,
- 13905, 13905, 13905, 13905, 13905, 13905, 13905, 13905, 47136, -2901,
- 15900, 160, -40, 294, 32016, 11511, 1984, 972, 9556, -2901,
- -2901, -2901, -2901, 1941, -2901, -2901, 1799, -2901, -2901, -2901,
- -2901, 854, -2901, -2901, -2901, -2901, 1031, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, 1722, -2901,
- -2901, -2901, -2901, -2901, 1722, -2901, -2901, 1725, -2901, 38442,
- 22, -2901, -2901, -2901, 1742, -2901, 30126, -2901, 11910, 38442,
- -2901, -2901, 1957, -2901, -2901, 1726, -2901, 4031, 1957, 1900,
- 1913, 1913, -2901, -43, 25170, 1960, 25170, -2901, -2901, -2901,
- -2901, 611, -2901, 1738, 1075, 1814, 1816, 1865, 38442, 38442,
- -2901, 27480, 38442, 38442, -2901, 2095, 1758, 38442, 1985, 1988,
- 1761, -2901, -2901, 38442, -2901, 1937, 38442, 13905, 1943, 38442,
- 1945, -2901, 642, 38442, 38442, 1938, -2901, -2901, -2901, 38442,
- -2901, -2901, -2901, 1933, -2901, -2901, 47892, -2901, 1083, -2901,
- 47514, 45624, -2901, -2901, 193, 38442, 38442, 38442, 38442, -2901,
- 38442, -2901, 24, 38442, 38442, 1767, 1773, 1774, -2901, 38442,
- 5226, 38442, 38442, 38442, 38442, -95, -2901, 2134, -95, -95,
- 709, 2136, 1501, 1501, -2901, -2901, -2901, 38442, 38442, 38442,
- 38442, 32772, 38442, 38442, 752, 780, 38442, 33150, -2901, 32394,
- 38442, 38442, 38442, 538, 1305, 38442, 38442, 697, -15, 1910,
- 1915, 1916, 38442, 38442, 38442, 5226, 38442, 1849, 1854, 111,
- 1925, -2901, -2901, -2901, -2901, 13905, 2016, 2166, 38442, 2018,
- 2020, 1846, 1847, 46002, 216, 38442, 38442, 38442, 38442, 38442,
- 38442, 2024, 216, 1088, -2901, -2901, 1967, 73, -2901, 1808,
- 1100, -2901, -2901, 13905, 2178, 47136, 1800, 1805, 1873, 1875,
- 1877, -2901, -2901, 1878, 1717, -2901, 1228, -2901, 71, 605,
- -2901, 5226, 2080, 38442, 1103, -2901, 1822, 32394, 5226, -2901,
- 943, 29748, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -78, 1462, 1462, 1462, 1462, -2901, -2901, -2901, 1981, 1979,
- 1818, 38442, 5226, 828, 154, 32394, 28992, 1078, 2196, 2078,
- -78, 1990, 32394, 1914, -2901, 2079, 2083, 2102, -2901, 16698,
- 35796, 1824, 1249, -2901, 35796, 36174, -2901, 643, 1831, 14304,
- 1811, 1405, -2901, 2214, -2901, 1420, -2901, 1484, -2901, 38442,
- 38442, 38442, 38442, 1834, 1836, -2901, 1484, 2006, 237, -2901,
- 2009, 237, 1484, 26720, -2901, 108, -2901, -2901, 13905, 1924,
- 1484, 1835, -2901, 1484, 1484, 1563, 1563, 1484, 36552, 2235,
- 2108, -2901, 1114, -2901, -2901, 11511, -2901, 137, -2901, 255,
- 2, 2051, -2901, -2901, -2901, -2901, 47136, -2901, -2901, -2901,
- -2901, -2901, 38442, 23, 2017, 1843, 36552, 2210, 237, -2901,
- 1128, 260, 663, -2901, 13905, 13905, 53, -2901, 6712, 1130,
- 1848, 1850, 1131, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, 1852, 2120, 1853, 1136, 1139, 1855, 1856, -2901, -2901,
- 3929, 1861, 6816, 1863, 15501, 15501, 2364, -2901, -2901, 15501,
- 1864, -2901, 1145, 4720, 1862, 1872, 1882, 1886, 1879, 1880,
- 7053, 13506, 13905, 13506, 13506, 7240, 1862, 1883, 1146, 27480,
- 7342, 1151, -2901, 13905, 27480, 4009, 13905, -2901, -2901, 13905,
- 38442, 1884, 1888, -2901, 2347, -2901, 1893, -2901, 15501, 15501,
- 5163, 12309, -2901, -2901, 2131, -2901, -2901, 630, -2901, 1869,
- -2901, -2901, 5865, 165, 13905, 1723, 13905, 1952, 21732, 7137,
- 13905, 4467, 5477, 5477, 148, 148, 107, 107, 107, 98,
- -2901, 294, -2901, -2901, -2901, 1891, 1555, 13905, -2901, 1370,
- 1382, 32394, 2980, 3496, -2901, -2901, -2901, 17078, 1922, 13905,
- 13905, 1892, -2901, 1154, 66, -2901, 1717, 136, 24421, -2901,
- -2901, 1161, 18978, 1721, 11910, 643, -2901, -2901, -2901, 1164,
- 13905, -2901, -2901, 1447, 1025, -2901, 38442, 1867, 1867, 13905,
- 13905, 12708, -2901, -2901, 38442, 38442, 38442, -2901, -2901, -2901,
- -2901, -2901, 2097, -2901, 13905, 113, 1894, 1895, 38442, 237,
- -2901, -2901, 25170, -2901, -2901, 2125, -2901, -2901, -2901, -2901,
- 2073, -2901, -2901, 1079, -2901, 45624, 47514, -2901, 47514, -2901,
- 1079, 674, -2901, 1484, -2901, -2901, -2901, -2901, 1048, -2901,
- 186, 47136, 2056, 46380, -2901, 38442, 2115, -2901, -2901, -2901,
- 2058, 462, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- 333, 38442, -2901, 1717, 2060, 38442, 1966, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -95, -2901, -2901, -2901, -2901, -2901,
- 38442, -95, -95, -2901, 47136, 320, -2901, -2901, -2901, -2901,
- -2901, 237, 237, 38442, 38442, 38442, 38442, -2901, -2901, -2901,
- -2901, -2901, -2901, 1980, -2901, -2901, -2901, 802, -2901, -2901,
- -2901, 2114, 2122, 2124, 1992, 1993, 1995, 1996, -2901, 1998,
- 1999, 2000, -2901, -2901, -2901, -2901, 38442, 38442, -2901, -2901,
- -2901, 7624, 216, 47136, 2157, 216, 216, 38442, 38442, 1898,
- -2901, -2901, -2901, 2158, 2159, 2160, 2161, 2162, 2163, 216,
- -2901, -2901, 38442, -2901, -2901, -2901, -53, 1298, 19757, -2901,
- 1953, 7646, 1936, 1805, 1934, 1717, 788, 557, 47, 2052,
- 2142, 1939, -2901, 2113, 2164, 1961, 1961, 1961, 1961, 1961,
- -2901, 903, 2010, -2901, -2901, 27480, 19757, 1454, 173, 2077,
- 699, -2901, -2901, -2901, -2901, -2901, 32394, 71, -78, 1167,
- -2901, 47136, 38442, -2901, 1949, 32394, 1954, 1940, -2901, -2901,
- -2901, -2901, 1174, -2901, 47136, -14, 2127, 2128, 590, 38442,
- 2032, 32394, 2015, -78, 26720, 46758, 1944, -2901, -2901, 2130,
- -2901, -2901, 590, 10356, 1249, 1963, 38442, -2901, 1968, 17078,
- 2189, 2126, -2901, 17078, 2126, 1041, 2126, 2190, -2901, 19358,
- -2901, 1969, 912, 9556, 2141, 25170, -2901, 237, 47136, 237,
- 2023, 237, 2027, 237, 46002, 237, 32394, -2901, 32394, -2901,
- 237, -2901, 25170, 32394, 27858, 38442, 617, -2901, -2901, 2135,
- -2901, 590, 38442, 643, 1970, -2901, -2901, -2901, -2901, 2258,
- 2259, -2901, -2901, -2901, 38442, 31260, 146, 38442, -2901, -2901,
- -2901, -2901, 1976, 1175, 7675, 13905, -2901, 2268, 47136, -2901,
- -2901, -2901, -2901, -2901, 13905, -2901, -2901, -2901, -2901, -2901,
- 13905, -2901, 13905, 2248, -2901, 1978, 1978, 15501, 917, 1549,
- 15501, 15501, 15501, 15501, 15501, 15501, 15501, 15501, 15501, 47136,
- 16299, 690, -2901, -2901, 13905, 13905, 2257, 2248, -2901, -2901,
- -2901, 1264, 1264, 47136, 1982, 1862, 1983, 1986, 13905, -2901,
- -2901, 1182, 27480, -2901, 13905, 4759, 1183, 2036, 7938, 643,
- 7961, -2901, 2345, -78, 13905, 1390, 1635, 13905, 1189, 13905,
- 2260, -2901, -2901, -2901, 1991, -2901, -2901, 47136, 13905, 15501,
- 15501, 6199, -2901, 7755, 13905, 1997, 8547, 12309, -2901, 433,
- 433, 433, 433, -2901, 32394, 32394, 1824, 13905, 2255, 1200,
- 1205, -2901, -78, 6, 2001, -2901, -2901, 2012, 38442, -2901,
- 1811, -2901, -2901, -2901, 2003, -2901, 1025, -2901, -2901, -2901,
- 1484, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, 1961,
- 8084, -2901, 38442, 38442, 1208, -2901, -2901, 2238, 1054, -2901,
- -2901, -2901, 2067, 2081, 2082, 543, 103, 2085, 2088, -2901,
- 2090, -2901, -2901, 1484, -106, -78, 38442, 38442, -2901, -2901,
- 1484, -2901, -78, 1484, -78, -2901, -2901, -2901, -2901, -2901,
- 619, 594, 47136, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- 38442, 2276, 134, 1118, 38442, 38442, 38442, 38442, 38442, 38442,
- 38442, -2901, -2901, -2901, -2901, 2019, 216, -2901, -2901, 2236,
- 2239, 2249, 216, 216, 216, 216, 216, 216, -2901, -2901,
- 149, -2901, -2901, 1841, 1841, 768, -2901, 1841, -2901, 1841,
- -2901, 2003, 854, -2901, -2901, -2901, -2901, -2901, -2901, 1808,
- -2901, 528, 1717, 1455, 2022, -2901, 2031, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, 136, 32394, 1961, -2901, 59, 62,
- 36930, 37308, 37686, 2044, 38442, 15501, -2901, 726, 539, -2901,
- 2246, 32394, 2061, -2901, -2901, -2901, 47136, -2901, -2901, 2403,
- 72, 32394, 2313, 2207, 1214, -2901, -2901, 38442, -2901, 1126,
- 28992, -2901, 2287, 28992, -2901, 38442, -2901, -2901, -2901, 2391,
- 2132, 1277, 2101, 1404, -78, 2015, 38442, 2053, -2901, 2045,
- -2901, 2573, -2901, 1462, -2901, -2901, 629, -2901, 35796, 2059,
- 38442, 1249, 17078, -2901, -2901, 117, -2901, 17078, 2278, -2901,
- 17078, 38442, 2062, 38442, 1215, 25571, -2901, 2055, -2901, 38442,
- -2901, 38442, -2901, 2057, -2901, 237, 237, -2901, 2432, 2064,
- -2901, -2901, 2326, 36552, -2901, -2901, -2901, -2901, -2901, -2901,
- 19, 2331, -2901, -2901, -2901, -2901, 13905, 25170, -2901, 2065,
- 25170, 8191, 25170, 2257, 2392, 2335, -2901, 792, 2068, 2392,
- 2782, 2782, 1104, 1104, 839, 839, 839, 1978, -2901, 690,
- 25170, 25170, -2901, -2901, -2901, -2901, 2066, -2901, -2901, -2901,
- 1862, -2901, 14703, -2901, -2901, 2112, 2118, 2069, -2901, 13905,
- 15102, 2071, 47892, -2901, -2901, 136, 1709, 15501, 15501, 902,
- -2901, 213, 13905, 47136, 1229, 902, 1757, 2040, 13905, 13905,
- 8730, 180, 13905, 8421, 32394, 32394, 32394, 32394, -2901, -2901,
- 25170, 2436, 2333, -2901, -2901, -2901, -78, 508, -2901, -2901,
- 21732, -2901, -106, -2901, 1275, 1285, 2061, -2901, 2144, -2901,
- 38442, 38442, 1717, 1717, 47136, 2074, -2901, 1717, 1717, 2089,
- -2901, 38442, 38442, 38442, -2901, -2901, 1484, 1484, -2901, -2901,
- 903, 2266, 2267, -106, 38442, 2145, -2901, 38442, 38442, 38442,
- 38442, 2371, -2901, -2901, -2901, -2901, -2901, -2901, -2901, 2322,
- -2901, 216, 216, 216, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, 1501, 2400, -78, -78, 2277, 38442, -78, -78, -2901,
- 789, 2409, -2901, 2349, 683, 2109, 2368, 2375, -2901, -2901,
- -2901, 2379, -106, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, 13905, 110, 2392, -2901, -2901, -2901,
- -2901, 2061, 1454, 2167, 2170, 590, -5, 2410, 2402, 71,
- -2901, -78, -2901, -2901, 2117, 730, 2119, 1078, -2901, -2901,
- -2901, 533, 38442, -2901, 2474, 2475, 2290, -2901, 38442, 2351,
- 1587, 2396, 2140, -2901, 17458, -78, 1944, -2901, -2901, -2901,
- -2901, -2901, 2206, -2901, 38442, 1287, -2901, 13905, 2148, -2901,
- -2901, 17078, 117, 1295, 38442, 1321, 47136, -2901, -2901, -2901,
- 237, 237, 237, 237, -2901, -2901, 2416, 38442, 2309, -2901,
- 237, 36552, 25170, -2901, -2901, -2901, 15501, 2414, -2901, 2149,
- 47136, -2901, 2150, 1323, 1324, -2901, -2901, -2901, 8465, 2198,
- 25170, 2250, 2151, 2152, -2901, 1479, 1479, 213, 1332, -2901,
- 15501, 15501, 902, 902, 13905, 902, -2901, -2901, -2901, -2901,
- -2901, 13905, 13905, -2901, 136, -2901, 2153, -2901, 2295, 2061,
- 2167, -2901, -2901, -2901, 17838, 21732, -2901, 543, 2165, 2168,
- 103, -2901, -2901, -2901, -2901, -2901, -2901, -2901, 13905, -2901,
- 739, 414, 2199, 1484, 2437, 216, -2901, -2901, -2901, -2901,
- -78, -2901, -2901, 38442, 2169, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, 27858, 2544, 32394, 528, -2901, 8492, 2348,
- -2901, 2167, 2374, 2418, -2901, 38442, 1277, 28992, -2901, 969,
- 2315, -2901, -2901, 1078, 185, 200, -2901, 32394, 2128, 2292,
- -2901, 2294, -2901, 2343, 2344, -2901, -2901, -78, -2901, 38442,
- 17458, 13905, 1335, -2901, 38064, 9173, -2901, -2901, 32394, 1338,
- -2901, 25170, 38442, -2901, -2901, -2901, 1340, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, 146, 874, 15501, 47136, 1350, 13905,
- -2901, 13905, -2901, -2901, -2901, -13, -2901, -2901, -2901, 1479,
- 1479, 902, 1862, 25170, -2901, -2901, 32394, 2167, -2901, 47136,
- 1420, -28, -2901, 47136, 47136, -2901, 25170, 38442, 38442, 38442,
- 38442, 38442, -2901, 1298, -2901, 2169, 2544, 660, -2901, -2901,
- 2452, -2901, -2901, 483, 2353, 2264, 2464, -2901, -2901, -2901,
- -2901, 27858, 2128, -2901, -2901, -2901, -2901, -2901, -2901, 1353,
- 2132, -2901, -2901, -2901, -2901, -2901, -2901, 1355, 25139, 2061,
- 17458, 38442, -2901, 248, 248, 1922, -2901, 1358, -2901, -2901,
- 874, 1360, -2901, 1363, 1386, 2240, -2901, 1454, -2901, 1394,
- -2901, -2901, 46002, -2901, 1395, 1396, 2183, 2232, 2183, -2901,
- 1484, -2901, -2901, -2901, 2487, -2901, -2901, -2901, 152, -2901,
- 2365, 2367, 38442, 38442, 2578, 2202, 2132, -2901, -2901, 2061,
- 38064, 2132, -2901, -2901, 1025, 1025, 2499, -2901, -2901, -2901,
- -2901, -2901, 2374, 27858, 2203, -2901, -2901, 38442, 2328, 378,
- 378, 2516, -2901, 2271, -2901, -2901, -2901, 543, 25956, -2901,
- 2132, 248, 1922, -2901, -2901, 637, 2353, 1420, 2354, -2901,
- 2493, -2901, 2608, -2901, 174, -2901, -2901, 2074, -2901, -2901,
- -2901, -2901, 1397, -2901, -2901, -2901, 1922, 1025, -2901, -2901,
- -2901, 581, 528, -2901, -2901, 2360, -2901, -2901, -2901, -2901,
- 25956, -2901, -2901, -2901, 613, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, 27858, -2901, 1345, -2901, -2901, 1365, 1389,
- 2217, -2901, 613, 25956, -2901, 1422, -2901
+ 8488, 370, 2659, -3250, -3250, 370, -3250, 37480, -74, 102,
+ 425, 119, 9763, 37876, 43024, 485, 164, 3534, 370, 43024,
+ 1302, 27944, 33124, 549, 43024, 382, 472, 27944, 43024, 43420,
+ 561, 626, 43816, 38272, 32728, 607, 43024, 281, 44212, 38668,
+ 514, 34312, 472, 25529, 34312, 734, 535, 44608, 765, 979,
+ 579, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -74, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, 190, -3250, 566, 206, 812, 585, -3250,
+ -3250, -3250, 31144, 43024, 43024, 43024, 986, 31144, 43024, 35896,
+ 23068, -3250, 43024, 43024, 35896, 43024, 34312, 43024, 873, 43024,
+ 43024, 45004, 35896, 1122, 759, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, 35896, 3446, 382, -3250, -3250, 35896, 1056,
+ 31144, 43024, 993, 1094, 43024, -3250, 43024, 1376, 1238, 43024,
+ 1387, 23481, 1189, 43024, 43024, 43024, 43024, -3250, -3250, 1207,
+ 43024, -3250, 43024, -3250, 45400, 879, 1221, 1448, 1381, 110,
+ -3250, 39064, -3250, -3250, 34312, -3250, -3250, -3250, -3250, 31540,
+ 43024, 1462, -3250, 45796, -3250, 1541, 31936, 46192, -3250, 23894,
+ 1593, 46588, 46984, -3250, -3250, 47380, -3250, 47776, 1336, 48172,
+ -3250, 48568, -3250, 1404, 48964, -3250, 1282, -3250, -74, 1113,
+ -3250, 169, 138, 254, 143, 144, 149, 1113, -3250, 1277,
+ 1277, 661, -3250, -3250, -3250, -63, 1288, 1288, 1288, 1428,
+ -37, -3250, 1288, 35896, -3250, -3250, -3250, -3250, -3250, 34312,
+ 661, -3250, -3250, 382, 1309, 1704, 43024, -3250, 43024, -3250,
+ 35896, 43024, -3250, -3250, 1721, 1356, 1624, 1354, -3250, 1575,
+ 1578, 1601, 55, 382, 1491, -3250, -3250, 1611, 14050, 382,
+ 34708, 49360, 82, 29556, 382, 39460, 1464, 759, 1633, -3250,
+ 273, -3250, 1852, 1495, 1718, 1354, 759, -3250, -3250, 21044,
+ -3250, 923, 1486, -3250, -3250, 34312, -3250, -3250, 49756, 1597,
+ -3250, 1775, 14467, -3250, 43024, 1489, -3250, 1512, 1500, 1522,
+ -3250, 8488, 35896, 949, 949, 1925, 949, 803, 1044, -3250,
+ 566, 230, 535, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, 738, 923, 1559, -3250, 974,
+ -3250, 866, 1562, 725, -3250, 186, 1615, 1314, 1584, 294,
+ -3250, 2402, 43024, 43024, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, 1610, -3250, -3250, 1617, 13, 896,
+ 3824, 27, 2721, 998, 175, 1801, 996, 1916, 906, 3246,
+ 43024, 1863, 23, -3250, 104, -3250, 1694, 1819, 1822, 31144,
+ 1651, -3250, 43024, -3250, -3250, -3250, 31144, -3250, 1842, 24307,
+ -3250, 43024, -3250, -3250, -3250, -3250, 1777, 43024, -3250, -3250,
+ 1896, 43024, -3250, 1288, 789, 1667, 2041, 54112, 43024, 1723,
+ 2079, 1722, -3250, -3250, 1723, -3250, -3250, 43024, 43024, 1687,
+ 530, 1723, 2088, 2096, 1778, 1883, 213, 1419, 115, 2010,
+ 1723, 35896, 35896, 35896, 1961, 43024, 50152, 31144, 43024, -3250,
+ -3250, 208, 1789, 2029, 1559, 233, 2031, 1735, 2033, -3250,
+ 1776, 2034, 1584, 2037, 1737, -3250, 50548, 50944, 2040, 1610,
+ 43024, 2043, 1737, 2045, 1924, 2046, 233, 2048, -3250, 698,
+ 2049, 1933, 2051, 1304, 1737, 29954, 2052, 106, -3250, 16135,
+ -3250, 94, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, 43024, 1761, 43024, 43024, -3250, -3250, -3250, 33520,
+ 43024, 35104, -3250, 80, -3250, 31, 43024, -3250, 54112, 2161,
+ 43024, 2054, 2054, 2054, -3250, -3250, -3250, 1992, 43024, 2058,
+ 2060, 33520, 43024, -3250, 51340, 1765, 1326, 1794, -56, 1795,
+ 16135, 1780, 291, 291, 1781, -3250, -3250, -3250, 1045, 1785,
+ 1786, -3250, 1052, 1052, 1949, 1792, 1793, -3250, 1066, 1796,
+ 1823, 1825, 1076, 1803, 1807, 1833, 1480, 291, 16135, -3250,
+ 1834, 1052, 1838, 1839, 1840, 1844, 1841, -3250, 1854, 1847,
+ 1010, 1046, 1849, 1851, -3250, 1792, -3250, 212, 1855, 1857,
+ 1858, 1859, 1860, 1861, 1862, -3250, -3250, -3250, -3250, -3250,
+ 16135, 16135, -3250, 13216, -3250, 382, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, 96, -3250, 1090, 4513, -3250, -3250, 1971,
+ 16135, -3250, -3250, 162, -3250, 923, 1093, -3250, -3250, -3250,
+ -3250, -3250, 224, 1816, -3250, 1328, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, 29158, 2253, -3250, 730, 104, 239,
+ 2207, 26717, 27126, -3250, -3250, 2093, -3250, 35896, -3250, 16135,
+ 25133, -3250, 923, -3250, 87, 43024, -3250, 21442, -3250, -74,
+ -3250, 9569, -3250, -91, 1489, 43024, 43024, 2264, -3250, -3250,
+ -3250, 1512, -3250, -3250, 812, 812, 16135, 812, 854, 835,
+ 14884, 16135, 2154, 156, 2156, -3250, 803, 1044, -3250, 923,
+ 25925, 1007, 1955, 1958, 30352, 1878, 1962, 1963, 51736, -3250,
+ -3250, -3250, -3250, 559, 637, 1965, 532, -3250, 43024, 2063,
+ 1157, 2005, -3250, 1969, 1970, 2083, 1157, 688, 52132, -3250,
+ -3250, -3250, -3250, -3250, 726, 12007, -3250, -3250, -3250, 1972,
+ 1956, 317, 2262, 2080, 12, 872, 147, 35896, 2159, 1980,
+ 1983, 1908, 908, 1904, -3250, 1968, 1973, 53320, 2078, 24720,
+ 1991, 49360, -3250, -3250, 1994, 1995, 1157, -3250, 2301, 1157,
+ 1157, 992, 2302, 1998, 1063, 687, 1723, 1904, 1679, -3250,
+ 1921, 2003, 18, -3250, 2102, 195, 826, 1904, 2008, 2009,
+ 43024, 43024, 43024, 43024, 35896, 2013, 2014, 2061, 36292, 2017,
+ -3250, -3250, 2019, 877, 1904, 1029, 1083, -3250, -3250, 759,
+ -3250, 43024, -3250, 35896, 1559, 54112, 2107, 1584, 1157, 43024,
+ 43024, 1610, 870, 713, 2108, 43024, 2185, 1986, -3250, -3250,
+ 1723, -3250, 26321, 1687, -3250, 1947, -3250, 1999, -3250, 1999,
+ 1999, 1948, 1948, 1950, -3250, -3250, -3250, 1480, 1999, 1948,
+ -3250, 55300, -3250, 934, 942, -3250, -3250, 2350, 2353, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, 255, 663,
+ -3250, 2365, -3250, -3250, 54112, 43024, -3250, 2283, 2016, 30352,
+ -3250, 2023, -3250, 43024, 948, 382, 2007, 43024, 2182, 43024,
+ 43024, 43024, 43024, -3250, -3250, 611, 42, -3250, 36292, -3250,
+ 1679, 2362, -50, 1288, 29556, 2266, 43024, 2157, -3250, 1982,
+ 2382, -3250, 1265, -3250, 2105, -3250, 19452, 2030, 31144, 233,
+ -3250, -3250, -3250, -3250, 54112, 43024, 52528, 31144, 233, 43024,
+ 43024, 2284, 2050, 2288, 2055, 24720, 233, 121, 43024, 43024,
+ 35896, 43024, -3250, 43024, -3250, -3250, -3250, -3250, 43024, 35896,
+ 43024, 36292, 2291, 2295, 233, 43024, 43024, -3250, 9569, 1039,
+ 91, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ 43024, 1135, -3250, -3250, 1159, 43024, 93, 31144, 43024, 43024,
+ 35896, 35896, 43024, 2081, 1816, 590, -3250, 2068, 20646, 2133,
+ -3250, 154, 34312, 2196, -3250, -3250, 1167, 589, -36, -3250,
+ -3250, -3250, -3250, -3250, -3250, 35104, 33124, 2290, 28, 43024,
+ -3250, 16135, 13633, -3250, -3250, -3250, 2020, 9569, 2062, 16135,
+ -3250, -3250, 16135, 1277, 1277, 16135, -3250, -3250, -3250, -3250,
+ 672, 1277, -3250, 16135, 16135, 1277, 1277, 1999, 1999, -3250,
+ 4553, 16135, -3250, 24720, 16135, 17803, 11193, 16135, 2090, 2056,
+ 1277, -3250, 1277, -3250, 16135, 12799, -3250, 16135, 2226, 16135,
+ 239, 2231, 16135, 239, 923, 2025, 2025, 535, 1312, 5305,
+ 2024, -3250, 2135, 1277, -3250, 1277, 496, 16135, 30352, 2112,
+ 183, 16135, 2036, 1013, -3250, 16135, 203, -3250, 2038, 16135,
+ 2118, -3250, 168, 16135, 16135, 16135, 16135, 16135, 16135, 16135,
+ 16135, 16135, 54112, -3250, 18220, 170, 404, 111, 35500, 14050,
+ 2316, 962, 10775, -3250, -3250, -3250, -3250, 35896, 2253, -3250,
+ -3250, 2117, -3250, -3250, -3250, -3250, 1101, -3250, -3250, 1096,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, 2039, -3250, -3250, -3250, -3250, -3250, 2039, -3250, 2042,
+ 3872, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, 2311,
+ 2314, 233, -3250, 43024, 172, -3250, -3250, -3250, 2059, -3250,
+ 33916, -3250, 14467, -3250, 1168, 1792, -3250, 2294, -3250, -3250,
+ 2057, -3250, 3950, 2294, -3250, -3250, 1154, 2227, 2235, 2235,
+ -3250, -42, 9569, 2278, 1396, 9569, 1401, -3250, -3250, -3250,
+ -3250, 5, -3250, 2154, 156, 2053, 1174, 2131, 2134, 2176,
+ 43024, 43024, -3250, 30352, 43024, 43024, 43024, -3250, 2417, 2064,
+ 43024, 2300, 2306, 2069, -3250, -3250, 43024, -3250, 2260, 43024,
+ 16135, 2267, 43024, 575, 2268, -3250, 830, 43024, 43024, 2243,
+ -3250, -3250, -3250, 29556, -3250, -3250, -3250, 2245, -3250, -3250,
+ 55300, -3250, -3250, 1176, -3250, 54508, 39856, -3250, -3250, 261,
+ 43024, 43024, -3250, -3250, 43024, 43024, 43024, 43024, 36688, 43024,
+ 43024, 22, 804, 43024, 37084, -3250, 35896, 43024, 43024, 30352,
+ -3250, 43024, 2256, 165, -3250, 740, 43024, 43024, 2071, 1177,
+ 2158, -3250, 43024, 4189, 43024, 43024, -3250, -3250, 1157, -3250,
+ -3250, -3250, -3250, -3250, 43024, 43024, 1157, 43024, 1157, 692,
+ -3250, 30748, 43024, -3250, -3250, -3250, 43024, 43024, 43024, 43024,
+ 43024, 681, 462, 2219, 2220, 2222, 43024, 43024, 43024, -3250,
+ -3250, 2192, -3250, 43024, 4189, 43024, 43024, 2164, 2168, 92,
+ 2238, -3250, -3250, -3250, -3250, -3250, 2337, 2496, 43024, 2341,
+ 2345, 2163, 2169, 2357, 386, 43024, 43024, 43024, 43024, 43024,
+ 43024, 2359, 386, 2292, 45, -3250, 2130, 1186, -3250, -3250,
+ 16135, 2519, 54112, 2122, 2126, 2204, 2206, 2208, -3250, 2132,
+ 2211, 1277, -3250, -3250, 1005, -3250, 611, 1037, -3250, 20,
+ 4189, 2422, 43024, 1225, -3250, 2150, 35896, 4189, -3250, 927,
+ 33124, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ 2423, -3250, 382, 1687, 1687, 1687, 1687, -3250, -3250, -3250,
+ -3250, 1283, -3250, 2139, 43024, 2265, 4189, -3250, 1679, 545,
+ 35896, 32332, 1389, 2539, 2425, 382, 2336, 35896, 12403, 2006,
+ -3250, 2437, 2440, 2457, -3250, 19054, 40252, 2172, 1438, -3250,
+ 40252, 40648, -3250, 923, 2174, 16552, 2133, 1559, -3250, 2577,
+ -3250, 2476, 233, 1584, -3250, 1737, -3250, 43024, 43024, 43024,
+ 43024, 1610, -3250, -3250, 1737, 2360, 233, 233, -3250, 2366,
+ 233, 1737, 2303, 2469, 29556, -3250, 106, -3250, -3250, 16135,
+ 2285, 1235, -3250, 43024, -3250, 1737, 2239, 43024, 2198, -3250,
+ 1737, 1737, 1816, 1816, 1737, 41044, 2608, 2485, -3250, 1248,
+ -3250, -3250, 14050, -3250, 69, -3250, 497, -1, 2426, -3250,
+ -3250, -3250, -3250, 54112, -3250, -3250, -3250, -3250, -3250, 43024,
+ 174, 2389, 2209, 41044, 2598, 233, -3250, 1249, -3250, 808,
+ -3250, 885, 16135, 16135, 65, -3250, 5375, 1259, 2215, 2216,
+ 1262, -3250, -3250, -3250, -3250, -3250, -3250, -3250, 2218, 2500,
+ -3250, 2225, 1268, 1273, 2232, 2233, -3250, -3250, 4153, 2240,
+ 5435, 2241, 17803, 17803, 2200, -3250, -3250, 17803, 2242, -3250,
+ 1289, 4799, 2234, 2244, 2269, -3250, 2246, 2247, 5732, 15301,
+ 16135, 15301, 15301, 6444, 2234, 2248, 1322, 30352, 6801, 1340,
+ -3250, 16135, 30352, 4491, 16135, -3250, -3250, 16135, 43024, 2250,
+ 2251, -3250, 4553, -3250, 2279, -3250, 17803, 17803, 4827, 13216,
+ -3250, -3250, 2522, -3250, -3250, 1224, -3250, 2237, -3250, -3250,
+ 5923, 185, 16135, 2036, 16135, 2331, 24720, 5099, 16135, 2166,
+ 6863, 6863, 242, 242, 122, 122, 122, 112, -3250, 111,
+ -3250, -3250, -3250, 2255, 1841, 16135, -3250, 1476, 1497, 35896,
+ 3422, 3615, -3250, -3250, -3250, 19452, 2304, 16135, 16135, 16135,
+ 2257, 2427, 1357, -3250, 759, -3250, 1277, 496, 27535, -3250,
+ -3250, 16135, -3250, -3250, -3250, -3250, 1406, 21442, 2030, 14467,
+ 923, -3250, -3250, -3250, -3250, -3250, 16135, -3250, -3250, 1821,
+ 1564, 16135, 1396, -3250, -3250, 35896, 2196, 2196, 16135, 16135,
+ 14884, -3250, -3250, 2550, -3250, -3250, -3250, -3250, 43024, 43024,
+ 43024, -3250, -3250, -3250, -3250, -3250, -3250, 2488, -3250, 16135,
+ 135, 2263, 2271, 43024, 233, -3250, -3250, 9569, -3250, -3250,
+ 2320, 2344, 43024, 2102, -3250, 2520, -3250, -3250, -3250, -3250,
+ 2459, -3250, -3250, 663, -3250, 39856, 54508, -3250, 54508, -3250,
+ 663, 851, -3250, 1737, -3250, 54112, 105, -3250, -3250, -3250,
+ -3250, -3250, 233, 233, 43024, 43024, 43024, 43024, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, 1433, -3250, 582, -3250, -3250,
+ -3250, -3250, -3250, 1038, -3250, 694, 54112, -3250, 53716, 43024,
+ -3250, 43024, 2502, -3250, -3250, -3250, 2439, 127, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, 413, 43024, -3250, 1277,
+ 2441, 43024, 2342, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, 30352, 30352, 30352, 1435, -3250, -3250, 382, -3250,
+ -3250, -3250, 2364, -3250, -3250, -3250, 2505, 2506, 2507, 2368,
+ 2369, 2371, 2372, -3250, 2373, 2374, 2375, -3250, -3250, -3250,
+ 43024, -3250, -3250, -3250, 43024, 43024, -3250, -3250, -3250, 386,
+ 54112, 2527, 386, 386, 43024, 43024, 386, -3250, -3250, -3250,
+ 2541, 2542, 2543, 2544, 2545, 2546, 386, -3250, -3250, -3250,
+ -3250, 789, 1572, 22655, -3250, 2325, 6385, 2307, 2126, 2309,
+ 1277, -78, 533, 33, 2429, 1277, 2524, 2312, -3250, 1331,
+ 2534, 2321, 2321, 2321, 2321, 2321, 2321, 2321, -3250, 191,
+ -3250, 2490, 2387, -3250, -3250, 30352, 22655, 1288, 948, 2456,
+ 920, 2655, -3250, -3250, -3250, -3250, -3250, 35896, 611, 382,
+ 1436, -3250, 54112, 43024, 43024, 2363, 2323, 35896, 2324, 2319,
+ -3250, -3250, -3250, -3250, 1441, -3250, 54112, -41, 2511, 2510,
+ 765, 43024, 2409, 35896, 2391, -3250, 1450, 75, -3250, 382,
+ 29556, 52924, -3250, 2217, -3250, -3250, 2514, -3250, -3250, 765,
+ 11611, 1438, 2334, 43024, -3250, 2343, 19452, 2584, 2517, -3250,
+ 19452, 2517, 963, 2517, 2586, -3250, 21840, -3250, 2348, 1015,
+ 10775, 2535, 9569, -3250, 233, 54112, 43024, -3250, 233, 2407,
+ 233, 2410, 233, 233, 35896, -3250, -3250, 35896, -3250, 43024,
+ 36292, 233, -3250, 9569, 35896, -3250, -3250, 43024, 1737, 31144,
+ 43024, 757, -3250, -3250, 2530, -3250, 765, 43024, 923, 2352,
+ -3250, -3250, -3250, -3250, 2654, 2657, -3250, -3250, -3250, 43024,
+ 33520, 126, 43024, -3250, -3250, -3250, -3250, 2361, 1467, 7092,
+ 16135, -3250, 2664, 54112, -3250, -3250, -3250, -3250, -3250, 16135,
+ -3250, -3250, -3250, -3250, -3250, 16135, -3250, 16135, 2643, -3250,
+ 2367, 2367, 17803, 665, 1838, 17803, 17803, 17803, 17803, 17803,
+ 17803, 17803, 17803, 17803, 54112, 18637, 1323, -3250, -3250, 16135,
+ 16135, 2649, 2643, -3250, -3250, 833, 833, 54112, 2370, 2234,
+ 2376, 2377, 16135, -3250, -3250, 1470, 30352, -3250, 16135, 5077,
+ 1477, 2412, 7525, 923, 7169, -3250, 2738, 382, 16135, 1139,
+ 1250, 16135, 1498, 16135, 2648, -3250, -3250, -3250, 2380, -3250,
+ -3250, 54112, 16135, 17803, 17803, 6176, -3250, 8905, 16135, 2381,
+ 9098, 13216, -3250, 472, 472, 472, 472, -3250, 35896, 35896,
+ 2172, 16135, 2642, 1501, 1503, 7583, 2427, 22238, -3250, 29,
+ 15718, 104, 2386, -3250, -3250, 7890, 2383, 43024, -3250, 2133,
+ -3250, -3250, 2388, -3250, 1564, -3250, -3250, -3250, 7931, 2547,
+ 1816, -3250, -3250, -3250, -3250, -3250, 854, -3250, -3250, -3250,
+ 2321, 8467, -3250, 43024, 43024, 1508, -3250, -3250, 43024, -3250,
+ 1562, -3250, -3250, 2625, 1084, -3250, -3250, -3250, 2442, -3250,
+ 605, 770, -3250, 2444, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, 30352, 22655, 30352, 2454, 2461, 71, 125, 2467, 2468,
+ 2390, 2392, 2394, -3250, 1737, 1113, 382, 43024, 43024, -3250,
+ -3250, 1737, -3250, 382, 1737, 382, -3250, -3250, -3250, -3250,
+ 30748, -3250, -3250, 43024, 2668, 500, 1365, 43024, 43024, 43024,
+ 43024, 43024, 43024, 43024, 2102, -3250, -3250, -3250, 2396, 386,
+ -3250, -3250, 2635, 2644, -3250, 386, 386, 386, 386, 386,
+ 386, -3250, 72, -3250, -3250, 2079, 2079, 884, -3250, 2079,
+ -3250, 2079, -3250, 2388, 1277, 1101, -3250, -3250, -3250, -3250,
+ -3250, -3250, 2130, -3250, 737, 1277, 1525, 2401, -3250, 2403,
+ -3250, -3250, -3250, -3250, -3250, -3250, 2411, -3250, 496, 35896,
+ 2321, -3250, 63, 70, 74, 85, 41440, 41836, 42232, 2408,
+ 43024, 17803, -3250, 685, 167, -3250, 2652, 35896, 2451, -3250,
+ -3250, -3250, 2415, -3250, 54112, -3250, -3250, 2802, 91, 35896,
+ 2458, 2703, -3250, 1509, -3250, -3250, 43024, -3250, 2490, 1282,
+ 678, -3250, 32332, -3250, 2675, 32332, -3250, 43024, -3250, -3250,
+ -3250, 2781, 2509, 2466, 20, 382, 2391, 43024, 2428, -3250,
+ 39856, 16135, 16135, -3250, 2421, -3250, 2430, 2881, -3250, 1687,
+ -3250, -3250, 677, -3250, 40252, 2431, 43024, 1438, 19452, -3250,
+ -3250, 1271, -3250, 19452, 2667, -3250, 19452, 43024, 2432, 43024,
+ 1516, 28353, -3250, 2435, 233, -3250, 43024, -3250, 43024, -3250,
+ -3250, 233, 233, -3250, 2551, -3250, 2433, 1737, -3250, -3250,
+ 2717, 41044, -3250, -3250, -3250, -3250, -3250, -3250, 28, 2722,
+ -3250, -3250, -3250, -3250, 16135, 9569, -3250, 2446, 9569, 8785,
+ 9569, 2649, 2236, 2724, -3250, 612, 2445, 2236, 1705, 1705,
+ 1263, 1263, 970, 970, 970, 2367, -3250, 1323, 9569, 9569,
+ -3250, -3250, -3250, -3250, 2448, -3250, -3250, -3250, 2234, -3250,
+ 16969, -3250, -3250, 2494, 2495, 2452, -3250, 16135, 17386, 2449,
+ 55300, -3250, -3250, 496, 2025, 17803, 17803, 1622, -3250, 321,
+ 16135, 54112, 1517, 1622, 1594, 1835, 16135, 16135, 9599, 187,
+ 16135, 8826, 35896, 35896, 35896, 35896, -3250, -3250, 9569, 2838,
+ 2730, 2427, 2427, 2427, -3250, 54904, -3250, -3250, -3250, -3250,
+ 16135, 382, -3250, 535, -3250, -3250, 24720, -3250, -3250, -3250,
+ 1154, 1113, -3250, 1523, 1524, 2451, -3250, 1878, -3250, 2531,
+ -3250, 191, 2651, -3250, 2656, 1113, 43024, 54112, -3250, -3250,
+ 2471, 43024, 43024, 1277, 1277, 54112, 2460, -3250, 1277, 1277,
+ 2462, -3250, 43024, 43024, -3250, -3250, -3250, -3250, -3250, 1737,
+ 1737, -3250, -3250, -3250, -3250, 43024, 43024, 43024, 43024, 2761,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, 2712, -3250,
+ 386, 386, -3250, -3250, -3250, -3250, -3250, -3250, -3250, 1723,
+ 2790, 382, 382, 2661, 43024, 382, 382, -3250, 937, 2797,
+ -3250, 2732, 634, 2475, 178, 2757, -3250, -3250, -3250, -3250,
+ 2760, 1113, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, 16135, 747, 2236,
+ -3250, -3250, -3250, -3250, 2451, 1288, 2538, 30352, 2549, 765,
+ -12, 43024, 2792, 2783, -3250, 382, -3250, -3250, -3250, -3250,
+ 2821, 2491, 653, 2493, 1389, -3250, -3250, -3250, 159, 43024,
+ -3250, 727, -3250, 2736, 2776, 2499, -3250, 19850, -3250, 9569,
+ 9569, 382, 55696, 2217, -3250, -3250, -3250, -3250, -3250, 2579,
+ -3250, 43024, 1529, -3250, 16135, 2503, -3250, -3250, 19452, 1271,
+ 1549, 43024, 1550, 54112, 2427, -3250, -3250, 233, -3250, 233,
+ 233, -3250, -3250, 43024, 43024, 2679, -3250, 233, 41044, 9569,
+ -3250, -3250, -3250, 17803, 2786, -3250, 2512, 54112, -3250, 2515,
+ 1555, 1563, -3250, -3250, -3250, 8889, 2559, 9569, 2607, 2508,
+ 2516, -3250, 1067, 1067, 321, 1570, -3250, 17803, 17803, 1622,
+ 1622, 16135, 1622, -3250, -3250, -3250, -3250, -3250, 16135, 16135,
+ 2553, -3250, -3250, -3250, 2680, -3250, 9194, 496, -3250, 2521,
+ 1396, -3250, 2662, 2451, 2538, -3250, -3250, -3250, -3250, -3250,
+ 2581, 22655, -3250, -3250, 20248, 24720, -3250, 71, 2525, 2526,
+ 125, -3250, -3250, 861, 560, 2565, 1737, 2815, 386, -3250,
+ -3250, -3250, 382, -3250, -3250, 43024, 2528, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, 31144, 2930, 2930, 35896, 737,
+ -3250, 9243, 2725, -3250, 2538, 2751, 2796, -3250, 1590, -3250,
+ 43024, 2466, 32332, 2490, -3250, 1072, 2687, -3250, -3250, 1389,
+ 881, 944, -3250, 35896, 2510, 2665, -3250, 2666, -3250, 2911,
+ 2728, 2916, 382, -3250, 43024, 19850, 16135, 1596, -3250, 42628,
+ 10374, -3250, 54508, -3250, 1598, -3250, -3250, 35896, 1599, -3250,
+ 9569, 43024, -3250, -3250, -3250, 1604, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, 126, 1726, 17803, 54112, 1607, 16135, -3250,
+ 16135, -3250, -3250, -3250, 427, -3250, -3250, -3250, 1067, 1067,
+ 1622, 2234, 9569, 43024, -3250, 2931, 2731, 2427, -3250, -3250,
+ 2735, 35896, 2538, -3250, 16135, -3250, -3250, 54112, 1584, -51,
+ -3250, 54112, 54112, -3250, 43024, 43024, 43024, 43024, 43024, -3250,
+ 1572, -3250, 2528, 2930, 728, -3250, -3250, -3250, 2845, -3250,
+ -3250, 487, 2739, 2647, -3250, 30352, 2854, -3250, -3250, -3250,
+ -3250, -3250, 31144, 2510, -3250, -3250, -3250, -3250, -3250, -3250,
+ 1618, 2509, -3250, -3250, 2741, -3250, 2742, -3250, -3250, 1625,
+ 9523, 2610, 19850, 43024, -3250, 926, 926, -3250, 2881, 55696,
+ 2304, -3250, 1627, -3250, -3250, 1726, 1630, -3250, 1664, 1678,
+ 2620, -3250, 2566, -3250, 2969, 16135, 914, -3250, -3250, -3250,
+ 1288, -3250, 9569, 1680, -3250, -3250, -3250, 2718, 1701, 1709,
+ 2570, 2617, 2570, -3250, 1737, -3250, -3250, -3250, 2887, -3250,
+ -3250, -3250, 76, -3250, 2759, 2768, 43024, -3250, 43024, 2980,
+ 2589, 2509, -3250, -3250, -3250, -3250, 2610, 42628, 1908, 2509,
+ -3250, -3250, 1564, 1564, 2217, -3250, 2905, -3250, -3250, -3250,
+ -3250, -3250, 43024, 2592, 2234, 124, 124, 2593, 2751, 31144,
+ -3250, -3250, -3250, 43024, 2720, 538, 538, 2920, -3250, 2663,
+ -3250, -3250, -3250, 71, 28756, -3250, 2509, 926, -3250, 2304,
+ -3250, -3250, -3250, 675, -3250, -3250, 151, 2726, 624, -3250,
+ -3250, -3250, -3250, 2739, 1584, -3250, 2895, -3250, 3015, -3250,
+ 638, -3250, -3250, 2460, -3250, -3250, -3250, 1724, -3250, -3250,
+ -3250, -3250, 2304, 1564, -3250, -3250, -3250, 98, 3008, -3250,
+ -3250, -3250, 737, -3250, 2758, -3250, -3250, -3250, -3250, 28756,
+ -3250, -3250, -3250, 1820, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, 151, -3250, 31144, -3250, 1158, -3250, -3250, 1185, 1522,
+ -3250, 2609, -3250, 1820, 28756, -3250, 1725, -3250
};
/* YYPGOTO[NTERM-NUM]. */
static const short int yypgoto[] =
{
- -2901, -2901, -2901, 2004, -2901, -645, -444, -2901, -2901, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901,
- -2901, 920, -2901, -2901, 67, 1312, 1668, 665, -2901, -2901,
- -2901, -2901, -569, 85, 498, -2901, -2901, -2901, -2901, -2901,
- -2901, -2901, -2901, 1001, -2901, -612, 553, 819, -2901, -2901,
- -2901, -2901, 485, -357, -2901, -2901, -2901, -2901, -2901, -1192,
- 3, 54, -2901, 58, 1029, 169, -2901, -193, -2901, -2901,
- -2901, -2901, -352, 648, -1241, -1957, 503, -554, -577, -531,
- -529, -558, -2901, -2628, -2782, -1991, -2710, -2901, 391, -2901,
- -2901, 70, -1178, -2901, 1406, -2901, -2901, -845, -2901, -116,
- -2901, -2901, -209, -2901, -2901, -2901, 84, -2901, -2901, -2901,
- -1177, -2901, 974, -2117, -2901, -2901, -2901, -622, -597, -2901,
- -2814, -150, -148, -2901, -2901, -2901, -2901, -682, -2901, 492,
- 490, -694, -2901, -2901, 518, -2901, -2901, -545, -293, 1446,
- -2901, -551, -2901, -2901, -2901, -290, -2901, -2901, -2901, -2901,
- -2901, -2901, -1292, 653, -639, -2901, -2901, -2901, -1060, -2901,
- 2655, 2121, -1171, -2901, -3, 10, 1870, -807, -1786, 42,
- -2901, -2901, -1304, -2901, -2901, -2901, -1729, -1170, -2901, 91,
- -351, -452, -2434, -2171, -2318, -2901, -2901, -771, -2901, 676,
- 1123, 1127, -2901, -1446, 95, -537, -2154, -2901, -2462, -2901,
- -2901, -2901, -2901, -2901, -2901, -1256, -462, -2901, -407, -2901,
- -2901, -2901, -2901, 668, -2901, 417, -2901, -2901, -2901, -2901,
- -2901, -2901, -549, -582, -2901, -2901, -2901, 94, -2901, -2901,
- -2901, 1444, -690, -575, 2098, -1169, -311, -2901, -2901, -2901,
- -2901, -2028, -2901, -2901, -2901, -2901, -2901, -2901, -2901, -1235,
- -2901, -2901, -2901, -2901, -2901, -2901, 1210, 2687, -418, -2901,
- -2901, -2901, -2901, -2901, -2901, -2901, -2901, -2901, 1905, 130,
- -2901, 26, -2901, -2901, 438, -1675, 33, -2901, -2901, -2901,
- -2901, -464, 34, -2901, 749, -2901, -2901, -1452, -2901, 1912,
- -2901, -2901, 4, 0, -45, 410, 544, -2901, -2901, -38,
- 1012, -2901, -2901, -2901, -2901, 742, 1731, -2901, 732, -333,
- -2901, -2901, 1743, -2901, -2901, 1732, 1206, -2901, 1231, 778,
- -1692, 987, -1654, 493, -556, -163, 13, 2230, -2901, -2900,
- 770, -2398, 168, 1356, 1064, -1191, -2901, -2901, -746, 4160,
- -2901, -2901, -2901, 4236, 4515, -2901, -2901, 4674, 4760, -2901,
- -728, 369, 4792, 3267, -866, -1364, 3783, 645, -1071, -1223,
- -2901, -2901, -2901, -323, 397, 451, -2901, -1220, -2901, -155,
- -2901, 6077, 782, -2901, -780, -2901, -806, -2901, -1296, -2901,
- -2901, -2901, -2901, -2901, -2038, -2205, -44, 847, -2901, -2901,
- 940, -2901, -2901, -2901, -623, -617, -1373, 855, -1390, -2901,
- -626, 979, 1330, 153, -553, 2445, -382, 1958, -422, -1541,
- -898, -625, -2901, -127, -2901, -1004, 434, -60, -8, 50,
- 5215, -1181, 2701, -678, -667, -1183, -2901
+ -3250, -3250, -3250, 2385, -3250, -694, -122, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -3250, 1188, -3250, -3250, 84, 1530, 2021, 911, -3250, -3250,
+ -3250, -3250, -588, 116, -378, -3250, -3250, -3250, -3250, -3250,
+ -3250, -3250, 762, 1313, 831, 666, -3250, -1090, -449, -3250,
+ 377, -3250, -3250, -3250, 718, -211, -3250, -3250, -3250, -3250,
+ -3250, -1188, 15, 240, -3250, 236, 1349, 396, -3250, -40,
+ -3250, -3250, -3250, -3250, 221, 886, -573, -847, 1124, -457,
+ -491, -421, -416, -454, -3250, -2506, -3023, -2366, -2343, 2223,
+ -3250, -3250, -3250, 252, -3250, -1180, -3250, -3250, 1813, -1028,
+ -3250, -878, -3250, -3250, 674, 1403, 257, -3250, -3250, 107,
+ -3250, -3250, -3250, -3250, -3250, -3250, -2682, -3250, -1102, -3250,
+ 378, -2209, 806, -3250, -3250, -3250, 1836, -3250, -3250, -3250,
+ -3250, -1211, -3250, -3250, -1166, -3250, 1264, 715, -3250, -3250,
+ -3250, -515, -489, -3250, -3111, 30, 32, -3250, -3250, -3250,
+ -3250, -776, -3250, 736, -2263, -683, -3250, -3250, 769, -3250,
+ -3250, -428, -140, 1869, -3250, -359, -3250, -3250, -3250, -139,
+ -3250, -3250, -3250, -3250, -3250, -3250, -1299, 269, -664, -3250,
+ -3250, -3250, -3250, -1564, -3250, 3086, 2532, -1151, -3250, 7,
+ 11, 2254, -862, -1934, 234, -3250, -3250, -1311, -3250, -3250,
+ -3250, -1846, -1150, -3250, 298, -194, -306, -2628, -2483, -2512,
+ -3250, -3250, -816, -3250, -3250, -3250, -1016, 1440, -1667, -3250,
+ -1622, 299, -2716, -554, -2311, -3250, -2663, -307, -3250, -3250,
+ -3250, -3250, -3250, -3250, -3250, -819, -499, -3250, -2647, -3250,
+ -3250, -3250, -3250, 1085, -3250, -775, -3250, -3250, -3250, -3250,
+ -3250, -3250, -3250, -443, -476, -3250, -3250, -3250, 117, -3250,
+ -3250, -3250, 1203, -719, -584, 2513, -1148, -152, -3250, -3250,
+ -3250, -3250, -2111, -3250, -3250, -3250, -3250, -3250, -3250, -3250,
+ -1101, -3250, -3250, -3250, -3250, -3250, -3250, 1531, 3122, -31,
+ -3250, -3250, 2103, -3250, -3250, -3250, -3250, -3250, -3250, 2296,
+ 334, -3250, 54, -3250, -3250, 669, -1782, 58, -3250, -3250,
+ -3250, -3250, -170, 66, -3250, 1021, -3250, -3250, -1504, -3250,
+ 2299, -3250, -3250, 14, 0, -47, -48, -44, -3250, 2497,
+ 2119, -3250, -3250, -29, 1175, -3250, -667, -662, -3250, 1016,
+ -537, 1511, 1003, 173, -157, -3250, -2044, 526, -3250, -3250,
+ -521, 1521, -3250, 2111, 1538, -3250, 1565, 1069, -1826, 1287,
+ -1786, 743, -569, 9, 79, 2533, 2660, -3250, -2607, 1051,
+ -2656, 381, 807, 1377, -1181, -3250, -3250, -881, 5112, -3250,
+ -3250, -3250, 5407, 5729, -3250, -3250, 5780, 6169, -3250, -763,
+ 625, 6457, 3365, -904, -1400, -553, 5311, -141, -994, -1223,
+ -3250, -3250, -3250, -156, 635, 295, -3250, -3250, -3250, -318,
+ -2065, -317, -3250, -3250, -3250, -321, -3249, -1127, -3250, -150,
+ -3250, 7006, 1058, -3250, -766, -854, -1323, -3250, -3250, -3250,
+ -3250, -3250, -3250, -3250, -1124, -2393, -411, 1127, -3250, -3250,
+ 1217, -3250, -3250, -3250, -970, -636, -1482, 1131, -1493, -3250,
+ -657, 1253, 1738, 2379, -601, 3281, -64, 2919, -426, -1676,
+ -946, -678, -3250, -155, -3250, 699, 1286, 134, -4, 48,
+ 935, -932, 3982, -949, -71, -2225, -3250
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -1643
+#define YYTABLE_NINF -1888
static const short int yytable[] =
{
- 142, 620, 681, 607, 141, 988, 1276, 1775, 819, 1079,
- 1782, 467, 1728, 546, 1674, 491, 747, 1333, 1390, 546,
- 995, 1303, 949, 654, 1160, 943, 136, 664, 1764, 1344,
- 2286, 583, 552, 137, 139, 1161, 989, 1960, 936, 1041,
- 1187, 2434, 1746, 2030, 584, 1703, 619, 2224, 1071, 1893,
- 738, 1696, 784, 1823, 958, 1035, 611, 452, 460, 1704,
- 1705, 2270, 2604, 452, 452, 1233, 1706, 1707, 1708, 452,
- 2573, 452, 554, 1248, 556, 2246, 1268, 452, 564, 452,
- 1164, 1163, 574, 580, 554, 63, 587, 775, 580, 580,
- 2238, 2240, 609, 1226, 113, 665, 1530, 1229, 2741, 684,
- 2843, 527, -1453, 1463, 1235, 599, -1517, 693, 1968, 1363,
- 1364, 1249, -1515, 805, 803, -1545, -1563, 807, -1589, 1357,
- 1358, 1247, 1965, 1416, 2017, 2019, 1022, 1407, 1379, 465,
- 779, 2682, 1416, -1126, 787, -1121, 939, 1257, 2549, 2550,
- 2551, 2552, 1376, 796, 1409, 1797, 2823, 1269, 1324, 2826,
- 1678, 837, 2173, 1947, 2284, 1817, 1614, 2553, -1307, 2295,
- 1536, 457, 1858, 1715, 1551, -1307, 1720, 1269, 2118, 667,
- 1556, 1932, 501, 1416, 686, 688, 1536, 696, 1933, 1897,
- -1562, 694, 1269, 1605, 1979, 1269, 1536, 1913, 2230, 1897,
- 1537, -1323, 3110, 2445, 3155, 1725, 457, 2555, -1323, 1003,
- 1537, 659, 661, 659, 2144, 666, 475, 683, 1547, 666,
- 452, 1679, -1093, 452, 2586, 452, 659, 666, 1678, 2251,
- 1725, 2253, 1938, 2893, 1076, 2895, 2106, 1328, 1298, 3028,
- 1260, 1026, 1716, 3161, 1895, 1605, 2757, 696, 1416, 1936,
- 1700, 1538, 2540, -291, 3209, 3196, 3130, 3123, 1509, 2231,
- 3088, 2107, 2275, 1182, 1183, 1798, 1174, 1538, 477, 1079,
- 2778, 3257, 3126, 1680, 697, 1030, 1681, 1538, 1557, 1971,
- 2192, 1385, 1386, 3124, 2232, 2663, 1269, 1261, 1045, 1679,
- 542, 2279, 462, 757, 2960, 1510, 1460, 543, 3127, 2233,
- 2446, 542, 3, 4, 1032, 1450, 1004, 2234, 1461, 2683,
- 1063, 3112, 1914, 653, 557, 1046, 1915, 653, 1701, 457,
- 758, 1857, 1447, 1387, 457, 457, 1160, 1033, 1444, 1416,
- 2235, 457, 3248, 681, 697, 3009, 1650, 1161, 1027, 557,
- 2559, 1680, 1511, 2541, 1681, 2758, 1548, 1064, 3125, 1916,
- 3186, 734, 1390, 1972, 2280, 1558, 3261, 2887, 759, 37,
- 1579, 1451, 1240, 3128, 1682, 1077, 1830, 1831, 1262, 681,
- 3156, 1937, 2560, 1980, 1843, 1539, 1163, 951, 1846, 1847,
- 2277, 1726, 2561, 3162, -1562, 1674, 1455, 3158, 770, 3011,
- 1270, 1539, -1643, 1868, 777, 1869, 1232, 1232, 1643, 1241,
- 483, 1539, 484, 2236, 3258, 3122, 3017, 2129, 2145, 1649,
- 1270, 2742, 2779, 1285, 1549, 1263, 1891, 502, 1892, 1825,
- 45, 1615, 1078, 1717, 3047, 1270, 742, 3231, 1270, 1799,
- 749, 2273, 1682, 1616, 2470, 1278, 817, 2447, 1962, 817,
- 756, 557, 2276, 1005, 1322, 1800, 2130, -1562, 3272, 1352,
- 1683, 557, 37, 1335, 557, 902, 2119, -1307, 2562, 1363,
- 1364, 1540, 2448, -1562, 1917, 1345, 1721, 1379, 2915, 559,
- 1934, 2888, 1325, 1420, 1421, 1357, 1358, 1540, 1898, 1684,
- -1126, 1617, -1121, 1646, 1376, 2744, 2745, 1540, 2379, 503,
- -1323, 504, 1264, 1065, 1329, 1006, 1561, 1733, 542, -1126,
- 1028, -1121, 542, 2800, 3210, 543, 3056, 3087, 46, 543,
- 1410, 1438, 1232, 45, 1437, 1672, 1620, -1453, 1683, 1270,
- 1438, -1517, 1424, 611, 1300, 2359, 1746, -1515, 2822, 452,
- -1545, -1563, 661, -1589, 659, 804, 666, 806, 683, 808,
- 666, 751, 452, 809, 1329, 1242, 452, 2611, 659, 1668,
- 666, 2615, 1434, 1435, 1436, 1437, 729, 452, 1496, 1278,
- 2278, 1438, 2643, 2458, 1160, 46, 452, 1445, 568, 661,
- 1066, 952, 452, 681, 683, 1161, 452, 452, 1820, 1821,
- 2440, 452, 2441, 452, 2411, 452, 760, 1588, 659, 1829,
- 763, 1167, 1832, 15, 1686, 3232, 2499, 2500, 1170, 2095,
- 1844, 1845, -1093, 2405, 1362, -1093, 1833, 994, 557, -1093,
- 2456, 500, 2140, 1862, 1864, 1432, 1433, 1434, 1435, 1436,
- 1437, 3144, 1243, 2471, 1878, 3175, 1438, 2809, 452, 457,
- 452, 653, 142, 829, 953, 3029, 141, 1635, 2839, 569,
- 1290, 1731, 1654, 1989, 1858, 1858, 1258, 3030, 147, 1858,
- 833, 1904, 580, 1905, 944, 580, 1848, 1849, 136, 3249,
- 3233, 1541, 23, 457, 2472, 137, 139, 1834, 653, 938,
- 2290, 962, 947, 1906, 653, 2164, 1778, 1291, 1953, 1735,
- 1736, 3234, 148, 15, -1055, 1610, 2752, 3191, 1858, 1858,
- 2161, 1547, 3098, 3172, 2810, 1729, 1432, 1433, 1434, 1435,
- 1436, 1437, 1304, 1655, 1543, 625, 1606, 1438, 2351, 1656,
- 2537, -1055, 2525, 2356, 2101, 15, 1544, 63, 457, 1835,
- 2102, 14, 1836, 2165, 457, 557, 113, 15, 659, 659,
- 1544, 2878, 2604, 1611, 1746, 457, 3176, 3220, 764, 2370,
- 2525, 2371, 3021, 2006, 816, 2739, 1657, 1160, 588, 2457,
- 555, 19, 23, 2811, 457, 452, 1457, 626, 1161, 560,
- 2062, 2372, 2538, 2065, 2066, 1165, 3221, 1907, 1580, 2840,
- 457, 452, 1908, 457, 1785, 1786, 2096, 1909, 683, 2602,
- 452, 567, 2809, 3099, 23, 2753, 452, 457, 1887, 37,
- 659, 3177, 3031, 1857, 1857, 1691, 23, 452, 1857, 2067,
- 2879, 1698, 570, 571, 2166, 659, 659, 3263, 28, 3250,
- 1837, 2103, 964, 142, 658, 1722, 662, 1311, 3173, 2772,
- 2007, 659, 1165, 1292, 452, 817, 2837, 627, 142, 692,
- 1278, 1763, 1327, 1622, 1163, 1200, 589, 1857, 1857, 1307,
- 28, 659, 659, 43, 2771, 452, 1308, 1309, 1789, 463,
- 45, 1350, 1232, 2539, 3024, 1458, 2167, 944, 1545, 2994,
- 2373, 2754, 1754, 1160, 975, 2374, 606, 1580, 1366, 2318,
- 457, 653, 620, 452, 1161, 1595, 452, 554, 653, 37,
- 1812, 452, 2838, 1910, 475, 452, 3223, 3224, 37, 2997,
- 3025, 1911, 1658, 1341, 681, 1278, 1838, 452, 1393, 1347,
- 1293, 2917, 46, 2918, 1839, 1757, 1840, 731, 2811, 2773,
- 1623, 37, 2774, 2068, 1766, 2069, 1510, 1405, 1596, 617,
- 457, 457, 457, 37, 1772, 147, 653, 2880, 1851, 628,
- 2886, 2910, 2168, 43, 2169, 2890, 477, 1416, 2892, 3262,
- 45, 1780, 1417, 1783, 1784, 2998, 2569, 1787, 2104, 45,
- 2162, 1232, 976, 982, 585, 1068, 2108, 1008, 811, 148,
- 2553, 1278, 2404, 1511, 2883, 43, 2738, 2071, 2072, 1659,
- 2640, 2375, 45, 2105, 2554, 2528, 812, 43, 457, 2376,
- 2027, 2881, 3194, 3195, 45, 1009, 2642, 1501, 1501, 1597,
- 1501, 615, 3264, 2805, 2249, 945, 1703, 983, 757, 457,
- 2555, 46, 2556, 2528, 1696, 944, 2654, 1069, 2633, 822,
- 1704, 1705, 944, 944, 471, 1453, 1746, 1706, 1707, 1708,
- 1746, 1488, 1525, 1495, 46, 2571, 2665, 2919, 2666, 838,
- 147, -964, 1598, 2643, 1599, 2806, 46, 941, 1010, 2182,
- 2183, 2184, 2185, 2083, -964, 1600, 3105, 1526, 1469, 1459,
- 1460, 557, 701, -1643, 2293, 542, 621, 702, 580, 2461,
- 3247, 1419, 1461, 759, 148, 2873, 1011, 2247, 483, 2557,
- 484, 2085, 2494, 2291, 1527, 2497, 2498, 580, 1601, 2292,
- 2442, 1420, 1421, -964, 622, 1362, 1470, 475, 1531, 2508,
- 1631, 2084, 2323, 2324, 2325, 2326, 2327, 2328, 2901, 683,
- 2902, -964, 2345, 2329, -300, -631, 981, 1858, 3097, 1602,
- 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 2086,
- 1858, 1991, 457, 659, 659, 659, 659, 1969, 2558, 1580,
- 1424, 2368, 1040, 2559, 623, 3064, 33, 739, 681, 477,
- 2242, 1603, 2667, -989, 1425, -964, 1385, 1386, 1748, 3188,
- 1751, 755, 2668, -964, 740, 1278, 741, 992, 1755, 998,
- 1012, 2534, 2536, 982, 631, 2560, 996, 1407, 1002, 1858,
- 1858, 1352, 1623, 1385, 1386, 2561, 743, 1185, 744, 2399,
- 2400, 2693, 993, 2231, 902, 1013, 1699, 2179, 1389, 33,
- 2820, 997, 1042, 1014, 1639, 33, -1136, 664, 2535, 1015,
- -989, 1072, -1126, 1640, 2023, 3219, 1016, 983, 2232, 3053,
- 3222, 1160, 1017, 1232, 2260, 1387, 1160, 457, 998, 690,
- 1018, -1126, 1161, 2617, 1043, 999, 1641, 1161, 1019, 2465,
- 457, 2234, 659, 659, -1431, 681, 2467, 2468, 659, 3246,
- 1665, 1605, 695, 1070, -989, 1955, 2328, 33, 1612, 1044,
- 810, 2562, 2329, -1431, 2780, -964, 1857, 733, 3118, 1857,
- 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1061, 1857,
- 998, 483, 2781, 484, 1020, 1740, 2323, 2324, 2325, 2326,
- 2327, 2328, 486, 3119, 999, 2162, 1637, 2329, 2803, 2804,
- 620, 489, 2807, 1062, 2808, 705, 666, 1428, 452, 2443,
- 659, 659, 659, 659, 1432, 1433, 1434, 1435, 1436, 1437,
- -1432, 1638, 707, 2523, 944, 1438, 1165, 1779, 1857, 1857,
- 971, 701, 1048, -1409, 2444, -1406, 702, 2236, 1049, -1432,
- 2230, 1036, 1037, 737, 661, 619, 999, 452, 452, 1244,
- 2511, 2523, 1030, 683, 142, 1858, 452, 452, 1811, 452,
- 1814, 2934, 1887, 1408, 452, 579, 452, 736, 1245, 659,
- 659, 605, 1813, 1413, -1409, 748, 1050, 1031, -1093, -1106,
- 1808, 1032, 753, 452, 1449, 452, 452, 1809, 1810, 452,
- 2512, 701, 158, -1409, 2438, 1794, 702, 1362, 1368, 2403,
- 761, 2231, 1467, 1179, 1033, 1385, 1386, 1502, 1504, 1746,
- 1508, 2513, 554, 554, 1746, 762, 1819, 1746, 1230, 1231,
- 2417, 2418, 1051, -1133, 557, 557, 2232, 2707, -1136, 1052,
- 2514, 1497, 1053, 557, 1255, 1498, 1374, 1375, 1747, 1902,
- 653, 2233, -1133, 1412, 1448, 2515, 772, 1389, 653, 2234,
- 683, 1349, 1956, 46, 1280, 1282, 2790, 2205, 2206, 2516,
- -964, 457, 2794, 2795, 2796, 2797, 2798, 2799, 457, 170,
- 2748, 785, 2235, -964, 464, 1362, 2385, 1777, 1531, 1054,
- 1805, 1778, 529, 2624, 1806, 792, 1608, 653, 1987, 1613,
- 457, 457, 1990, 1621, 3116, 2684, 2685, 1983, 2651, 586,
- 1362, 1806, 457, 994, 1857, 2014, 2001, 1858, 1858, 2015,
- 2141, -963, -964, 2008, 2142, 1338, 1339, 1160, 2325, 2326,
- 2327, 2328, 2149, 797, -963, 2174, 2150, 2329, 1161, 2175,
- -964, 2933, 1055, 2421, 2422, 2022, 2271, 2024, 2517, 810,
- 2272, 1503, 1503, 2587, 1503, 2236, 2518, 801, 2815, 2034,
- 2289, 2058, 2299, 2302, 1778, 814, 1778, 1778, 2306, 1495,
- 815, 2307, 1778, -963, 2824, 1778, 1030, 2333, 2350, 452,
- 823, 1778, 1778, 2353, -964, 2519, 2402, 2354, 825, 2318,
- 1778, -963, -964, 2407, 830, 2099, 2412, 2408, 2690, 2576,
- 1278, 2714, 2112, 2577, 2114, 1032, 2584, 2655, 666, 452,
- 2585, 1778, 666, 661, 2691, 2698, 831, 452, 2692, 2699,
- 3084, 2710, 832, 452, 2420, 1778, 666, 457, 2097, 452,
- 833, 3012, 2733, 666, 452, -963, 1778, 2734, 834, 452,
- 2746, 1778, 1748, -963, 2142, 836, 2850, 2897, 1301, 1163,
- 2851, 1778, 2319, 1385, 1386, 666, 452, 666, 452, 1362,
- 452, 2939, 1531, 2029, 2029, 1806, 1857, 1857, 978, 666,
- 980, 666, 452, 452, 452, 2600, 2423, 2424, 2318, 457,
- 1887, 3044, 2708, 2453, 2864, 2865, 2866, 2074, 2075, 452,
- 452, 452, 452, 2082, -964, 835, 452, 452, 1746, 2460,
- 452, 452, 452, 2463, 1160, 666, 452, 2958, 2616, 2414,
- 2619, 2142, 666, 452, 666, 1161, 452, 2959, 2389, 3050,
- 2390, 2142, 2162, 1278, 620, 840, 1858, 3055, 659, 3106,
- 2391, 2577, 2392, 2180, 839, 659, 659, 659, 659, 659,
- 659, 2319, 954, 1079, 950, -963, 1627, 1628, 1629, 1630,
- 1858, 1858, 948, 3057, 142, 3070, 3072, 2577, 2193, 3071,
- 1778, 2986, 2987, 2988, 3078, 955, 1887, 3139, 1806, 2223,
- 3146, 3140, 3148, 2029, 1278, 956, 2577, 3281, 2964, 2965,
- 3282, 554, 3152, 2968, 2969, 3187, 1806, 3189, 964, 1329,
- 3197, 3140, 3198, 681, 1278, 3199, 1806, 971, 963, 2354,
- -956, 2191, 457, 965, 2940, 901, 2204, 1486, 2320, 2321,
- 2322, 979, 2323, 2324, 2325, 2326, 2327, 2328, 3200, 971,
- 2228, 972, 1778, 2329, 2228, 2241, 3203, 3205, 3206, 3259,
- 1806, 1806, 1806, 3260, 2318, 3166, 990, 3168, 994, 659,
- 2029, 659, 2029, 1048, 2816, 2817, 1039, 3044, 2415, 1049,
- 1748, 1024, 1067, 944, 3286, 1651, 1652, 2344, 3260, 2346,
- 2347, 1661, 670, 1073, 1038, 671, 672, 673, 666, 674,
- 675, 676, 677, 678, 679, 1857, 1858, 1075, 1883, 1168,
- 457, 1886, 1171, 1176, 1178, 1180, 620, 1050, 1186, 1189,
- 999, 1227, 452, 1232, 901, 1236, 666, 2319, -143, 1857,
- 1857, 2323, 2324, 2325, 2326, 2327, 2328, 1238, 457, 1254,
- 1265, 1267, 2329, 1272, 1273, 457, 1274, 1275, 1277, 1283,
- 1278, 1284, 1747, 1711, 1712, 1713, 1714, 1286, 1287, 1288,
- 1957, 1405, 2650, 1051, 2394, 2395, 3204, 2938, 1289, 1294,
- 1052, 1295, 2924, 1053, 1296, 1902, 3202, 3044, 1299, 1334,
- 1336, 2877, 1340, -1097, 2426, 3102, 2318, 1348, 1342, 1343,
- -1104, 1356, 1359, 1360, 2213, 2388, 1361, 1365, 46, -1094,
- 2361, 1367, -1095, 1370, 1371, 1372, 1373, 1740, 1378, 1442,
- 1380, 1381, 1008, 1776, 2870, 1382, 1383, -1098, -1096, 1384,
- 1054, 1456, 1391, 1392, 2213, 451, 1394, 1395, 683, 1329,
- 1396, 498, 499, 1397, 1398, 1472, 1485, 530, 1399, 545,
- 1009, 1400, 1008, 1499, 981, 563, 1521, 566, 1528, 2319,
- 1529, 1531, 1532, 2415, 1552, 1857, 1533, 1546, 1550, 1553,
- 1554, 1575, 1555, 1576, 1582, 1577, 1583, 1578, 944, 1589,
- 1009, 1594, 1495, 1055, 1584, 1591, 1592, 1593, 1605, 1609,
- 901, 2415, 1619, 2320, 2321, 2322, 452, 2323, 2324, 2325,
- 2326, 2327, 2328, 1010, 666, 452, 452, 1624, 2329, 1625,
- 1626, 1632, 1633, 1634, 1636, 1648, 1653, 1030, 1665, 1660,
- 1662, 1673, 1666, 1352, 1362, 1368, 2491, 2941, 1675, 1688,
- 1676, 1011, 473, 1010, 1693, 1710, 1697, 1724, 1730, 1734,
- 1732, 1738, 1056, 1759, 2766, 2767, 1032, 1760, 1749, 1761,
- 1762, 1788, 1773, 1791, 1795, 452, 1803, 1752, 2132, 2214,
- 1816, 1011, 1211, 1825, 457, 1756, 2132, 1824, 1866, 1057,
- 1747, 452, 1748, 902, 1765, 452, 1748, 1867, 1879, 1884,
- 1890, 2955, 1438, 1896, 3068, 1947, 1889, 1774, 685, 2214,
- 659, 689, 626, 691, 1901, 1918, 1954, 1959, 1958, 1920,
- 1964, 1975, 1970, 452, 452, 452, 452, 664, 1976, 1984,
- 1982, 1985, 901, 1981, 2181, 2320, 2321, 2322, 1986, 2323,
- 2324, 2325, 2326, 2327, 2328, 1992, 2989, 2000, 1996, 1994,
- 2329, 1997, 1998, 2003, 2210, 2005, 666, 452, 2010, 2012,
- 2063, 3082, 2070, 2031, 2116, 2032, 2109, 2029, 2029, 2117,
- 2033, 2110, 2111, 2120, 33, 2122, 2123, 2125, 2215, 2126,
- 2127, 2128, 1665, 2139, 1015, 2143, 2148, 2152, 2157, 2155,
- 2158, 1016, 2159, 2160, 2156, 2641, 2172, 998, 142, 2318,
- 2176, 2186, 2591, 2187, 33, 1018, 2208, 2209, 1014, 2188,
- 2211, 2220, 142, 1019, 1015, 2221, 2607, 2653, 2222, 1740,
- 2229, 1016, 2243, 1740, 2248, 2254, 2256, 998, 2255, 2258,
- 2263, 2264, 452, 2269, 1817, 1018, 2287, 2285, 2281, 817,
- 2300, 2304, 2301, 1019, 2303, 2305, 2339, 2308, 2309, 452,
- 2340, 3151, 2369, 2311, 944, 2314, 2332, 2364, 1778, 1020,
- 2377, 142, 2319, 2228, 2338, 2646, 2609, 2384, 2956, 2397,
- 2429, 2341, 2342, 3159, 2436, 2349, 2362, 3164, 3165, 2622,
- 2363, 3154, 2387, 2437, 2401, 2432, 2433, 2450, 2454, 1020,
- 2501, 2124, 2455, 2603, 2462, 2480, 2481, 2464, 2133, 2134,
- 2135, 2136, 2137, 2138, 2482, 666, 2483, 2484, 2485, 3160,
- 2486, 2487, 1794, 2488, 2489, 2490, 2496, 2502, 2503, 2504,
- 2505, 2506, 2507, 2529, 452, 2532, 2533, 666, 2542, 457,
- 2543, 2544, 620, 2545, 2566, 2570, 2583, 2546, 457, 2547,
- 2580, 2724, 2725, 2726, 2727, 2588, 2582, 2594, 2589, 2596,
- 2606, 2612, 2620, 2613, 457, 2608, 2625, 2629, 2645, 2610,
- 2623, 2631, 1416, 2648, 2649, 1349, 1445, 1417, 2658, 2335,
- 1573, 2329, 1747, 2334, 2687, 2688, 1747, 1405, 2689, 2700,
- 1409, 2712, 2713, 2731, 1587, 2980, 2981, 2747, 2983, 2721,
- 2737, 2749, 2777, 2736, 2740, 2791, 2750, 2751, 2792, 457,
- 2761, 457, 2250, 2762, 2252, 2763, 457, 653, 2793, 2841,
- 2603, 2789, 2818, 2845, 2782, 901, 2784, 735, 2320, 2321,
- 2322, 2819, 2323, 2324, 2325, 2326, 2327, 2328, 457, 2847,
- 752, 2849, 2856, 2329, 754, 2834, 2764, 2861, 2868, 2862,
- 2891, 2875, 2906, 458, 2874, 766, 3253, 2900, 1495, 2903,
- 2884, 2908, 2911, 2894, 771, 2907, 2916, 2913, 2921, 2920,
- 2925, 2927, 2951, 2952, 3129, 789, 2926, 2931, 2961, 791,
- 2967, 794, 1665, 1665, 2459, 1748, 2974, 2975, 2984, 2978,
- 1748, 2985, 1418, 1748, 2990, 2970, 1419, 2993, 2999, 2315,
- 2316, 3003, 3049, 3091, 2331, 2810, 452, 452, 3004, 3002,
- 3005, 3013, 3049, 2317, 3015, 3018, 1420, 1421, 3020, 3023,
- 3027, 3033, 3034, 3035, 1647, 3037, 826, 3039, 827, 1422,
- 452, 3048, 2192, 2318, 666, 452, 666, 452, 452, 452,
- 452, 3040, 3062, 2365, 2366, 3066, 3074, 457, 457, 3052,
- 3067, 3069, 3075, 3076, 3077, 3085, 2132, 3086, 3100, 2132,
- 2132, 2318, 1423, 3101, 3107, 1424, 3093, 3113, 2840, 3094,
- 3115, 3121, 3131, 2132, 3132, 2142, 3133, 3134, 3174, 1425,
- 1185, 3182, 2527, 3178, 1690, 681, 3183, 2257, 3201, 1300,
- 2259, 3207, 3208, 2213, 2261, 3211, 2319, 3213, 3217, 3225,
- 452, 452, 452, 3218, 452, 3228, 687, 3230, 3209, 3255,
- 2527, 1008, 1740, 3210, 3256, 3161, 3273, 1740, 3283, 2178,
- 1740, 1484, 2575, 2406, 2319, 2098, 973, 2191, 2473, 1753,
- 2074, 2510, 3103, 2074, 2854, 2860, 2073, 2288, 2770, 1009,
- 1587, 2858, 3010, 2431, 1427, 2509, 2029, 2599, 3226, 3252,
- 3214, 3212, 3236, 1074, 2638, 2859, 1723, 2976, 2228, 3036,
- 452, 3285, 2163, 3274, 3001, 3000, 2568, 2567, 2530, 1169,
- 3147, 2191, 3237, 2896, 3092, 452, 1692, 3254, 1175, 2029,
- 3095, 2029, 562, 821, 1177, 2909, 2872, 1323, 3192, 3137,
- 2962, 2439, 1010, 666, 2018, 1225, 2876, 2016, 457, 3171,
- 3284, 2971, 3266, 2973, 957, 3117, 1966, 531, 1306, 2853,
- 2647, 2409, 2413, 2425, 457, 1310, 1519, 1978, 1522, 3170,
- 1011, 1963, 1259, 2466, 457, 2396, 2225, 1517, 2618, 3054,
- 768, 2704, 1428, 2410, 2957, 1429, 1430, 1431, 2153, 1432,
- 1433, 1434, 1435, 1436, 1437, 2852, 3153, 1748, 2214, 901,
- 1438, 2694, 2320, 2321, 2322, 2416, 2323, 2324, 2325, 2326,
- 2327, 2328, 2382, 1008, 1748, 1747, 2296, 2329, 2380, 0,
- 1747, 1312, 0, 1747, 2274, 1946, 0, 901, 0, 1331,
- 2320, 2321, 2322, 0, 2323, 2324, 2325, 2326, 2327, 2328,
- 683, 1009, 0, 0, 1930, 2329, 0, 2705, 0, 0,
- 666, 452, 0, 0, 0, 0, 0, 0, 0, 0,
- 681, 666, 452, 666, 3007, 0, 0, 0, 2435, 0,
- 0, 0, 0, 0, 2977, 0, 0, 452, 452, 659,
- 452, 0, 0, 0, 0, 0, 2735, 3090, 0, 0,
- 0, 0, 0, 33, 1010, 142, 0, 1014, 0, 3016,
- 0, 656, 0, 1015, 0, 656, 1665, 0, 0, 0,
- 1016, 0, 0, 0, 0, 0, 998, 0, 0, 0,
- 0, 0, 1011, 0, 1018, 0, 664, 457, 457, 457,
- 457, 0, 1019, 0, 0, 0, 0, 0, 0, 2765,
- 0, 1740, 0, 0, 0, 0, 2768, 0, 2769, 0,
- 2474, 2475, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 732, 452, 1748, 0, 0, 0, 0, 452, 0,
- 0, 0, 0, 0, 3045, 0, 1573, 1573, 1020, 0,
- 2132, 0, 0, 0, 452, 0, 2132, 2132, 2132, 2132,
- 2132, 2132, 0, 0, 2896, 0, 0, 0, 0, 0,
- 0, 2318, 0, 0, 0, 0, 0, 2860, 0, 0,
- 0, 666, 2664, 0, 0, 2669, 2670, 2671, 2672, 2673,
- 2674, 2675, 2676, 2677, 0, 2679, 0, 0, 0, 0,
- -1640, 0, 2825, 2827, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3185, 33, 0, 1560, 0, 1014,
- 818, 0, 0, 0, 0, 1015, 820, 0, 0, 1587,
- 0, 0, 1016, 1748, 2319, 683, 0, 828, 998, 0,
- 0, 0, 0, 0, 2716, 2717, 1018, 653, 2871, 0,
- 0, 2154, 0, 0, 1019, 0, 820, 0, 0, 0,
- 0, 0, 0, 1665, 1747, 0, 0, -1640, 0, 0,
- 0, 0, 820, 0, 0, 960, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2029, 2626, 2074, 2628, 974,
- 2630, 0, 2632, 0, 2634, 0, 3227, 0, 0, 2637,
- 1020, 0, 0, 0, 0, 0, 0, 0, 0, 659,
- 3045, 0, 0, -1640, 659, 659, 0, 0, 0, 0,
- 0, 0, 452, 0, 0, 2652, -1640, 0, 0, 0,
- 0, -1640, 0, 0, 0, -1640, 0, 653, -1640, 0,
- -1640, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, -1640, 3280, 659, 659, 659,
- 659, 452, 1166, 0, 0, 0, 653, 0, 457, 0,
- 0, 0, 2282, -1640, 0, 0, 0, 901, 0, 656,
- 2954, -1643, -1643, 0, 2323, 2324, 2325, 2326, 2327, 2328,
- 457, 0, 0, 0, 0, 2329, 0, 0, 0, 0,
- 3045, 659, 0, 653, 0, 0, 1709, 0, 0, 0,
- 2836, 457, 1250, 1252, 1253, 0, 656, -1640, 0, 0,
- 0, 0, 656, 0, 0, -1640, 0, 0, 0, 3279,
- 0, 0, 0, 0, 0, 2132, 2132, 2132, 0, 0,
- 0, 0, 452, 659, 0, 0, 1758, 2991, 2992, 457,
- 659, 2995, 2996, 0, 0, 1767, 0, 1769, 0, 0,
- 0, 142, 1770, -1640, 0, 0, 0, 659, 0, 0,
- 820, 0, 0, 0, 3278, 0, 0, 0, 3245, 0,
- 0, 0, 0, 0, 653, 0, 0, 0, 0, 0,
- 0, 820, 142, 0, 0, 3022, 0, 0, 0, 0,
- 0, 656, 0, 653, 0, 0, 560, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3046,
- 3245, 0, 0, 0, 0, 0, 0, -1640, 656, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3245, 0, 0, 0, -1640, 0, 0,
- 0, 0, 0, 0, 708, 0, 0, 0, 0, 0,
- 0, 0, 2935, 2936, 0, 0, 653, -1640, -1640, -1640,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1573, 1573, 0, 1573, 0, 709, 0, 0, -1640,
- 0, 0, -1640, 0, -1640, -1640, 0, 2449, 710, 2452,
- 0, 0, 0, 0, 0, 711, 0, 0, 712, 0,
- 0, 0, 656, 1159, 1487, 0, 0, 0, 0, 656,
- 0, 0, 0, 0, 0, 713, 656, 0, 0, 2132,
- 0, 0, 0, 0, 3104, 0, 653, 0, 0, 0,
- 2469, 0, 2982, 0, 0, 0, 714, 1224, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2904, 2905, 0, 0, 0, 0,
- 0, 0, 0, 0, 656, 0, 0, 715, 0, 0,
- 0, 3135, 0, 0, 0, 0, 0, 0, 0, 2495,
- 0, 0, 0, 0, 0, 0, 716, 1988, 0, 0,
- 0, 0, 0, 0, 0, 1995, -1642, 0, 0, 1618,
- 0, 1999, 656, 0, 1573, 0, 0, 2004, 0, 0,
- 717, 0, 2009, 0, 0, 0, 0, 2011, 0, 0,
- 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0,
- 0, 0, 1573, 0, 0, 0, 2025, 0, 2026, 0,
- 0, 0, 0, 0, 0, 0, 656, 2578, 0, 0,
- 2059, 2060, 2061, 0, 0, 0, 0, 0, 0, 0,
- 2469, 3065, 0, -1642, 0, 0, 718, 2076, 2077, 2080,
- 2081, 1573, 656, 0, 2087, 2090, 0, 0, 2092, 2093,
- 2094, 0, 0, 0, 2100, 3079, 3080, 0, 0, 158,
- 0, 2113, 0, 0, 2115, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2627, 656, 656, 0, 656, -1642,
- 1587, 719, 0, 0, 0, 720, 0, 721, 0, 0,
- 0, 0, -1642, 722, 0, 656, 0, -1642, 0, 0,
- 0, -1642, 0, 1414, -1642, 0, -1642, 0, 0, 0,
- 0, 1416, 0, 0, 0, 0, 1417, 0, 0, 0,
- 723, 724, 3244, 0, 2659, 725, 0, 0, 0, 0,
- 0, -1642, 0, 726, 0, 0, 0, 0, 727, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -1642,
- 656, 0, 0, 656, 656, 2678, 0, 0, 728, 0,
- 0, 1224, 3136, 0, 3244, 1159, 0, 3142, 3142, 2686,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3150, 0, 0, 0, 0, 0, 3244, 0, 3058,
- 3059, 3060, 3061, -1642, 0, 1224, 0, 0, 0, 3063,
- 0, -1642, 0, 1768, 0, 0, 0, 0, 0, 1224,
- 1771, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3167, 0, 3169, 0, 0, 0, 0, 0, 0,
- 0, 1418, 820, 820, 0, 1419, 0, 0, 0, -1642,
- 2283, 0, 0, 0, 1802, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1420, 1421, 0, 0, 0,
- 0, 0, 0, 0, 3193, 0, 0, 0, 1422, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 560, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2775, 0,
- 0, 1423, 0, -1642, 1424, 0, 3216, 0, 0, 0,
- 0, 0, 0, 3142, 0, 0, 0, 0, 1425, 0,
- 1426, 0, 0, -1642, 0, 0, 0, 0, 0, 0,
- 3229, 0, 0, 0, 0, 0, 0, 0, 0, 1224,
- 0, 0, 0, -1642, -1642, -1642, 0, 0, 0, 0,
- 0, 0, 0, 3149, 0, 0, 0, 1224, 0, 1945,
- 0, 0, 0, 0, 0, -1642, 0, 0, -1642, 0,
- -1642, -1642, 0, 0, 0, 0, 1224, 0, 0, 0,
- 0, 0, 0, 1427, 0, 0, 0, 0, 0, 0,
- 0, 0, 2844, 0, 0, 0, 0, 0, 0, 1224,
- 0, 0, 0, 1159, 0, 0, 0, 0, 0, 0,
- 0, 1967, 0, 2427, 2428, 0, 1414, 0, 0, 0,
- 0, 0, 0, 0, 1416, 0, 0, 0, 0, 1417,
- 0, 0, 0, 0, 0, 0, 656, 0, 656, 0,
- 0, 0, 0, 0, 1224, 0, 656, 0, 0, 0,
- 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1428, 0, 1222, 1429, 1430, 1431, 0, 1432, 1433,
- 1434, 1435, 1436, 1437, 0, 656, 1644, 0, 0, 1438,
- 0, 0, 0, 1645, 0, 0, 1414, 0, 0, 0,
- 0, 0, 0, 0, 1416, 0, 0, 0, 0, 1417,
- 0, 2476, 2477, 2478, 2479, 0, 0, 0, 1414, 656,
- 656, 0, 1971, 0, 0, 0, 1416, 656, 0, 0,
- 656, 1417, 0, 656, 2091, 0, 0, 0, 0, 0,
- 0, 656, 656, 0, 1418, 2492, 0, 0, 1419, 656,
- 0, 0, 656, 656, 656, 656, 0, 0, 0, 0,
- 1222, 0, 656, 656, 0, 656, 0, 656, 1420, 1421,
- 656, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2966, 1422, 0, 0, 0, 656, 1159, 0, 0, 656,
- 0, 0, 0, 656, 0, 0, 1972, 656, 0, 0,
- 656, 656, 656, 656, 656, 656, 656, 656, 656, 1224,
- 0, 656, 2177, 0, 1423, 0, 656, 1424, 0, 656,
- 2579, 0, 0, 0, 1418, 0, 0, 0, 1419, 0,
- 0, 1425, 0, 1426, 0, 0, 0, 2593, 0, 0,
- 2194, 0, 0, 0, 0, 0, 1418, 2212, 1420, 1421,
- 1419, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1422, 0, 0, 0, 0, 0, 0, 0, 656,
- 1420, 1421, 0, 0, 0, 0, 0, 0, 0, 0,
- 150, 0, 0, 1422, 0, 1466, 0, 0, 0, 0,
- 0, 0, 0, 0, 1423, 0, 1427, 1424, 0, 0,
- 0, 0, 1159, 0, 0, 0, 0, 0, 0, 0,
- 0, 1425, 0, 1426, 0, 0, 1423, 0, 656, 1424,
- 0, 0, 2578, 0, 0, 0, 0, 1222, 0, 0,
- 0, 0, 0, 1425, 151, 1426, 0, 1224, 0, 0,
- 0, 1224, 1224, 0, 0, 0, 0, 0, 0, 0,
- 0, 152, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1222, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 153, 0, 0, 1222, 1427, 0, 0, 0,
- 0, 0, 0, 0, 1428, 0, 0, 1429, 1430, 1431,
- 0, 1432, 1433, 1434, 1435, 1436, 1437, 0, 1427, 0,
- 0, 0, 1438, 154, 0, 2310, 0, 0, 155, 0,
- 0, 0, 0, 0, 0, 0, 656, 0, 0, 0,
- 0, 0, 156, 0, 1224, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 920, 656, 1973, 1224, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2393, 0, 0, 0,
- 0, 0, 0, 0, 1428, 0, 0, 1429, 1430, 1431,
- 968, 1432, 1433, 1434, 1435, 1436, 1437, 0, 0, 0,
- 0, 0, 1438, 0, 0, 2357, 1428, 0, 0, 1429,
- 1430, 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437, 0,
- 0, 0, 157, 0, 1438, 1222, 0, 0, 2776, 0,
- 656, 0, 0, 2783, 0, 2785, 2786, 2787, 2788, 0,
- 656, 0, 0, 1222, 0, 158, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1222, 0, 0, 0, 0, 159, 0, 656,
- 0, 0, 0, 160, 1080, 0, 0, 0, 0, 161,
- 468, 0, 1416, 0, 0, 1222, 656, 1417, 0, 0,
- 0, 0, 469, 0, 0, 0, 0, 1224, 2829, 2831,
- 2833, 0, 2835, 0, 0, 0, 162, 163, 1587, 0,
- 0, 164, 470, 0, 0, 656, 656, 0, 0, 165,
- 0, 0, 0, 0, 166, 0, 0, 0, 0, 0,
- 1222, 471, 0, 167, -501, 0, 0, 0, 0, 0,
- 0, 1222, 0, 0, 168, 656, 656, 0, 0, 0,
- 656, 472, 0, 0, 0, 0, 0, 473, 0, 0,
- 0, 0, 656, 656, 656, 656, 0, 0, 0, 0,
- 1159, 0, 474, 2899, 656, 1159, 0, 656, 0, 0,
- 656, 0, 0, 0, 0, 0, 0, 0, 0, 656,
- 656, 0, 656, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1418, -651, 475, 656, 1419, 656, 476, 0,
- 0, 656, 0, 0, 0, 0, 0, 0, 1354, 0,
- 0, 2572, -631, 0, 0, 0, 1420, 1421, 656, 0,
- 2581, 0, 0, 0, 0, 0, 0, 0, 656, 1422,
- 656, 656, 0, 0, 1377, -407, 2595, 0, 0, 0,
- 0, 0, 0, 0, 0, 656, 477, 0, 0, 0,
- 0, 656, 0, 0, 0, 0, 0, 0, 0, 0,
- 656, 656, 656, 0, 0, 1424, 0, 1402, 1403, 0,
- 1406, 0, 0, 0, 0, 656, 0, 0, 0, 1425,
- 0, 2635, 0, 2636, 0, 1222, 0, 1443, 2639, 2963,
- 0, 0, 478, 0, 479, 0, 1224, 1224, 0, 1224,
- 2972, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 820, 0, 1224, 0, 1224, -407, 0, 1414, 0, 0,
- 0, 0, 0, 0, 0, 1416, 0, 0, 0, 0,
- 1417, 0, 0, 0, 0, 0, 0, 480, 0, 0,
- 0, -651, 1507, 481, 1427, 1514, 1516, 0, 0, 0,
- 0, 0, 0, 0, 0, 1224, 1414, 0, 0, 0,
- 0, 0, 0, 0, 1416, 0, 0, 0, 0, 1417,
- 0, 0, 0, 0, 0, 0, 0, 482, 483, 0,
- 484, 485, 0, 0, 0, 0, 0, 0, 0, 486,
- 0, 0, 0, 487, 488, 0, 0, 0, 489, 0,
- 3032, 0, 0, 490, 1224, 0, 2593, 0, 0, 0,
- 0, 0, 0, 1222, 0, 0, 0, 1222, 1222, 2728,
- 2729, 0, 0, 0, 0, 0, 2334, 0, 0, 1224,
- 0, 2335, 1428, 0, 0, 1429, 1430, 1431, 0, 1432,
- 1433, 1434, 1435, 1436, 1437, 1418, 0, 0, 0, 1419,
- 1438, 0, 0, 0, 0, 0, 1159, 1224, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1420,
- 1421, 0, 1224, 0, 0, 0, 1214, 0, 0, 0,
- 0, 0, 1422, 0, 1418, 1224, 0, 0, 1419, 0,
- 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0,
- 1222, 0, 0, 0, 0, 0, 0, 0, 1420, 1421,
- 656, 0, 0, 0, 656, 1423, 0, 0, 1424, 0,
- 0, 1422, 1222, 0, 656, 0, 0, 0, 0, 1224,
- 0, 0, 1425, 0, 1426, 1224, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 656, 0, 0, 0, 0,
- 0, 0, 1216, 0, 1423, 0, 0, 1424, 0, 0,
- 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0,
- 2821, 1425, 0, 1426, 0, 0, 656, 0, 0, 1224,
- 0, 0, 0, 0, 0, 656, 2842, 0, 2695, 0,
- 0, 656, 0, 656, 0, 0, 2846, 1427, 656, 0,
- 0, 656, 656, 656, 656, 656, 656, 656, 656, 656,
- 1224, 656, 0, 0, 0, 656, 656, 0, 0, 0,
- 0, 0, 0, 0, 1224, 0, 0, 0, 0, 656,
- 0, 0, 0, 1159, 0, 656, 1427, 0, 0, 1216,
- 0, 0, 0, 0, 0, 656, 0, 0, 656, 2696,
- 656, 0, 0, 1222, 0, 0, 0, 0, 1224, 656,
- 656, 656, 0, 0, 0, 656, 0, 0, 656, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 656, 0,
- 0, 0, 0, 0, 0, 1428, 0, 0, 1429, 1430,
- 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437, 0, 0,
- 0, 0, 0, 1438, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1828,
- 3215, 0, 0, 0, 1428, 0, 0, 1429, 1430, 1431,
- 1214, 1432, 1433, 1434, 1435, 1436, 1437, 0, 0, 0,
- 0, 1850, 1438, 0, 1852, 0, 0, 1863, 0, 2947,
- 2948, 2949, 2950, 1224, 1870, 1875, 0, 0, 0, 1880,
- 0, 0, 1885, 0, 1214, 0, 0, 0, 1416, 0,
- 0, 0, 0, 1417, 0, 0, 0, 1894, 1214, 0,
- 0, 1900, 0, 0, 0, 1912, 0, 0, 0, 1919,
- 0, 0, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928,
- 1929, 0, 0, 1931, 0, 0, 1216, 0, 920, 0,
- 0, 0, 0, 0, 2035, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1217, 0, 0, 0, 0, 656, 0, 0, 0,
- 1216, 0, 0, 0, 0, 0, 0, 1224, 0, 0,
- 0, 0, 0, 0, 1216, 2367, 0, 0, 0, 0,
- 0, 968, 1222, 1222, 0, 1222, 2036, 0, 0, 0,
- 0, 0, 0, 0, 2037, 2038, 2039, 0, 1222, 0,
- 1222, 0, 0, 0, 0, 0, 0, 0, -1643, 0,
- 0, 0, 1419, 656, 0, 0, 0, 0, 656, 0,
- 0, 656, 0, 0, 0, 0, 0, 0, 1214, 0,
- 2002, 0, 1420, 1421, 0, 2040, 0, 0, 1217, 0,
- 0, 1222, 0, 0, 0, -1643, 1214, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 656, 0, 0,
- 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2041, 0, 0, 0, 0,
- 2042, 1424, 0, 0, 0, 0, 0, 0, 1214, 0,
- 1222, 0, 0, 656, 0, 1425, 0, 0, 0, 0,
- 656, 656, 0, 1224, 1216, 0, 0, 0, 656, 656,
- 1219, 0, 0, 656, 1224, 1222, 0, 2043, 0, 656,
- 656, 0, 1216, 656, 0, 0, 0, 0, 2121, 0,
- 0, 0, 0, 1214, 2044, 2045, 2046, 2047, 2048, 0,
- 2049, 1216, 0, 1222, 1214, 0, 0, 0, 0, 0,
- 3109, 0, 0, 0, 0, 1224, 2151, 0, 1222, 0,
- -1643, 0, 0, 0, 1216, 0, 0, 0, 0, 0,
- 2050, 1222, 820, 0, 0, 1414, 0, 0, 1415, 0,
- 0, 0, 1222, 1416, 0, 0, 0, 0, 1417, 0,
- 0, 0, 0, 3145, 0, 0, 1220, 1219, 0, 0,
- 0, 0, 1416, 2051, 0, 1217, 0, 1417, 0, 1216,
- 0, 0, 0, 0, 0, 1222, 0, 0, 0, 0,
- 1216, 1222, 0, 0, 0, 0, 0, 0, 1221, 0,
- 0, 3157, 2245, 0, 0, 656, 0, 0, 2052, 1217,
- 2053, 0, 0, 0, 0, 0, 0, 0, 1428, 0,
- 0, 0, 0, 1217, 0, 1432, 1433, 1434, 1435, 1436,
- 1437, 2262, 2054, 0, 0, 1222, 1438, 0, 0, 2055,
- 0, 0, 2056, 0, 0, 656, 0, 0, 920, 0,
- 0, 0, 0, 1220, 0, 0, 0, 0, 656, 0,
- 0, 0, 656, 0, 0, 0, 1222, 1224, 1214, 0,
- 0, 0, 0, 1418, 0, 0, 0, 1419, 2294, 0,
- 1222, 0, 0, 0, 0, 1221, 0, 656, 0, 0,
- 0, 1224, 1418, 0, 0, 0, 1419, 1420, 1421, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1422, 656, 656, 0, 1222, 656, 1420, 1421, 0, 0,
- 0, 0, 656, 656, 1875, 0, 1875, 1875, 0, 1422,
- 0, 0, 0, 0, 1219, 656, 2355, 0, 0, 2358,
- 0, 0, 2360, 1423, 1216, 0, 1424, 0, 0, 656,
- 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0,
- 1425, 0, 1426, 0, 0, 1424, 0, 2381, 1219, 2383,
- 0, 1217, 0, 2386, 656, 0, 0, 0, 0, 1425,
- 0, 0, 1219, 0, 0, 0, 0, 0, 0, 0,
- 1217, 0, 0, 0, 0, 0, 1214, 0, 0, 0,
- 1214, 1214, 0, 0, 0, 0, 0, 0, 0, 1222,
- 0, 656, 656, 1217, 0, 0, 0, 968, 0, 0,
- 1220, 0, 0, 1507, 0, 1427, 0, 0, 0, 0,
- 0, 0, 1516, 1516, 1514, 0, 0, 656, 1224, 0,
- 656, 0, 656, 0, 1427, 0, 0, 2430, 0, 0,
- 0, 0, 1221, 0, 1220, 0, 0, 0, 1217, 0,
- 1224, 0, 0, 0, 1224, 1224, 0, 0, 1220, 1217,
- 0, 0, 1216, 0, 0, 0, 1216, 1216, 0, 0,
- 0, 0, 0, 1214, 0, 0, 1221, 0, 0, 0,
- 0, 0, 656, 0, 0, 0, 0, 0, 0, 0,
- 1221, 0, 0, 1222, 0, 1214, 0, 0, 0, 0,
- 0, 656, 1219, 1428, 0, 0, 1429, 1430, 1431, 0,
- 1432, 1433, 1434, 1435, 1436, 1437, 0, 0, 0, 0,
- 1219, 1438, 1428, 1224, 0, 0, -1643, -1643, 0, 1432,
- 1433, 1434, 1435, 1436, 1437, 0, 0, 0, 0, 1219,
- 1438, 0, 0, 0, 0, 0, 0, 0, 0, 1216,
- 1416, 0, 0, 0, 0, 1417, 0, 0, 0, 0,
- 0, 0, 1219, 0, 656, 0, 0, 0, 0, 0,
- 0, 1216, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 1220, 1219, 0, 0,
- 0, 1223, 2, 1217, 3, 4, 0, 0, 1219, 0,
- 1221, 0, 0, 0, 0, 1220, 1214, 0, 5, 1222,
- 0, 0, 0, 0, 656, 0, 0, 2378, 1221, 0,
- 1222, 0, 0, 0, 0, 0, 0, 6, 1220, 7,
- 8, 0, 0, 0, 9, 10, 0, 1221, 0, 0,
- 0, 0, 0, 0, 11, 0, 12, 0, 0, 0,
- -1643, 0, 0, 0, 1419, 0, 0, 0, 0, 0,
- 1221, 1222, 13, 0, 0, 14, 0, 0, 0, 0,
- 0, 15, 0, 1220, 1420, 1421, 0, 16, 1223, 0,
- 0, 0, 1216, 17, 1220, 0, 0, -1643, 0, 18,
- 0, 0, 0, 0, 0, 19, 0, 20, 0, 0,
- 0, 0, 21, 0, 0, 1221, 0, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 1221, 0, 2657, 0,
- 0, 1217, 0, 1424, 0, 1217, 1217, 2660, 0, 0,
- 0, 0, 0, 2661, 0, 2662, 0, 1425, 0, 0,
- 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1219, 0, 0, 0, 0, 2680, 2681, 0,
- 0, 0, 0, 24, 25, 0, 0, 0, 0, 26,
- 0, 0, 0, 0, 0, 0, 0, 1880, 27, 0,
- 0, 0, 0, 0, 0, 0, 0, 2706, 0, 0,
- 2709, 0, 2711, 0, 0, 0, 28, 0, 0, 0,
- 0, 2715, -1643, 1222, 0, 0, 0, 2720, 1217, 0,
- 2723, 0, 0, 0, 0, 1214, 1214, 0, 1214, 0,
- 2730, 0, 0, 0, 0, 0, 0, 1222, 0, 29,
- 1217, 1214, 0, 1214, 0, 0, 0, 0, 1220, 30,
- 0, 0, 31, 0, 32, 1223, 0, 0, 0, 33,
- 0, 0, 0, 0, 34, 0, 0, 35, 0, 0,
- 0, 36, 0, 0, 1416, 0, 0, 37, 0, 1417,
- 1221, 0, 38, 0, 1214, 39, 0, 0, 0, 1574,
- 1219, 0, 40, 0, 1219, 1219, 0, 0, 0, 0,
- 1428, 1216, 1216, 1223, 1216, 0, 0, 1432, 1433, 1434,
- 1435, 1436, 1437, 0, 0, 0, 0, 1216, 1438, 1216,
- 0, 41, 0, 0, 0, 0, 0, 0, 0, 42,
- 0, 43, 0, 1214, 44, 0, 0, 0, 45, 0,
- 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0,
- 0, 0, 0, 0, 1416, 0, 0, 0, 1214, 1417,
- 1216, 2718, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1217, 0, 0, 0, 0, 1220, 1219, 0, 0,
- 1220, 1220, 0, 0, 1222, 0, 1214, 0, 0, 0,
- 46, 0, 0, 0, -1643, 0, 0, 0, 1419, 1219,
- 0, 1214, 0, 0, 0, 0, 1222, 0, 1221, 1216,
- 1222, 1222, 1221, 1221, 1214, 0, 0, 0, 1420, 1421,
- 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0,
- 0, -1643, 0, 1223, 1216, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1223, 0, 0, 0, 0, 0, 0, 1214, 0,
- 0, 0, 1216, 1220, 1214, 0, 0, 1424, 0, 0,
- 1223, 0, 0, 0, 1418, 0, 0, 1216, 1419, 1222,
- 0, 1425, 0, 0, 0, 1220, 0, 0, 0, 2912,
- 1216, 0, 0, 1223, 0, 1221, 0, 0, 1420, 1421,
- 0, 1216, 0, 0, 0, 0, 0, 0, 1214, 0,
- 0, 1422, 0, 0, 0, 0, 0, 1221, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1219, 0, 2928, 2930, 1216, 0, 0, 0, 1223, 1214,
- 1216, 0, 0, 0, 1423, 2937, -1643, 1424, 0, 1223,
- 0, 2942, 2943, 1214, 0, 2945, 0, 0, 0, 0,
- 0, 1425, 0, 1426, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1217, 1217, 0, 1217, 1216, 0, 0, 1214, 0, 0,
- 0, 0, 0, 0, 0, 0, 1217, 0, 1217, 0,
+ 153, 659, 789, 1056, 867, 868, 1288, 697, 1057, 872,
+ 1296, 489, 708, 645, 152, 1058, 1926, 574, 1334, 993,
+ 725, 1720, 1257, 574, 1356, 1170, 1939, 515, 2196, 1367,
+ 1811, 1386, 1387, 580, 1122, 1000, 2051, 1413, 1065, 2491,
+ 829, 611, 1755, 1008, 1160, 612, 2608, 1865, 658, 1980,
+ 1402, 2235, 1598, 1892, 147, 479, 1842, 1636, 148, 2421,
+ 1059, 479, 479, 2696, 1843, 2698, 150, 479, 779, 479,
+ 582, 1595, 584, 2197, 2199, 479, 592, 479, 1844, 1694,
+ 602, 608, 582, 1319, 615, 1232, 608, 608, 1593, 1598,
+ 1236, 647, 1193, 1845, 1846, 479, 1847, 1242, 2629, 2125,
+ 1922, 2475, 2840, 2796, 2435, 2437, 1259, 819, 2751, 670,
+ 1750, 662, 2987, 671, 2443, 1595, 65, 124, 1652, 2133,
+ 640, 3143, 629, 648, 553, 3106, 3117, 2130, 1267, 1488,
+ 1052, 1279, 1593, 1505, 1505, 1256, 1439, 1439, -1670, 1380,
+ 1381, 2751, 1432, -1702, -1722, 1280, 1053, 1439, 2920, -1751,
+ 2306, 487, 1599, 1093, 3546, 3082, 2363, 669, 1863, 1954,
+ 1280, 1711, 3085, 1320, 1399, 1280, 3087, 2831, 3398, -1606,
+ 1974, -311, 1347, 3525, 997, 525, 2500, 3089, 1936, -1457,
+ 853, 2090, 2329, 1659, 1870, 14, -1457, 1351, 2091, 2480,
+ -1054, 15, 892, 1073, 2148, 15, 2818, 1430, -1473, 3547,
+ 1187, 3160, 1675, 3162, 863, -1473, -1057, 2055, 1680, 2055,
+ 3013, 702, 704, 702, 2660, 19, 710, 2230, 727, -1721,
+ 710, 479, 1870, 479, 3465, 479, 3547, 479, 702, 710,
+ -1061, 498, 2450, 2071, 2452, 1150, 2180, 2763, 2327, 2779,
+ 1271, 2773, 2774, 2775, 2776, 2777, 2778, 1753, 1736, 807,
+ 1702, 1739, 1740, 2780, -1673, 732, 3305, 1314, -1244, -1054,
+ 1181, 3102, 23, 1167, 3018, 855, 23, 1439, 3306, 1661,
+ 1140, 2687, 1280, 1249, 1955, -1057, 1151, 2607, 2016, 1141,
+ -1216, 3421, 741, 2781, 1048, 2782, 500, 1443, 1444, 1170,
+ 1595, 1272, 616, 2484, 1120, 1074, 482, 3578, 33, -1061,
+ 1790, 1097, 709, 1492, 870, 1969, 728, 1835, 1707, 2105,
+ 1413, 2489, 3014, 1375, 1250, 738, 1628, 3275, 2214, 1474,
+ 1386, 1387, 1121, 3592, 28, 1072, 568, 1705, 1402, 1611,
+ 1710, -1054, 3234, 1612, 1819, 775, 1468, -1249, 1447, 2096,
+ 2758, 484, 1815, 3276, -1249, 1493, 1439, -1057, 1050, 1471,
+ 1123, 725, 3610, -1216, 2783, 2072, 864, 1708, 2485, 2073,
+ 1161, 1789, 1793, -1249, 1629, 1659, 3019, 2215, 1117, 1871,
+ 1757, -1061, 1702, 1600, 814, 1273, 742, 1475, 1719, 1660,
+ 2481, 822, 2149, 37, 2182, 617, 2330, 871, 1290, 725,
+ 3491, 1069, 1051, 1281, 2074, 3015, 3103, 37, 1142, 1937,
+ 1662, 37, 2231, 1098, 1816, 1168, 808, 3292, 1281, 3009,
+ 1010, 2015, 41, 1281, 2661, 2784, 1480, 1809, 585, 2688,
+ 2785, 3307, 526, -1721, 1274, 507, 41, 508, 1152, 585,
+ 41, 1712, 701, 3058, 705, 3526, 1380, 1381, 1075, 1983,
+ 1746, 3284, 1748, 1713, 2307, 1399, 46, 2751, 1956, 736,
+ 1783, 1661, 1290, 44, 2045, 1352, 2786, 44, 47, 1817,
+ 46, 1864, 1818, 585, 46, 1957, 1251, 568, 2787, 2478,
+ 585, 3602, 47, 824, 585, 3548, 47, 832, -1054, 871,
+ 3326, 2832, 585, 1931, -1457, 585, 2092, 844, -1721, 1595,
+ 1663, 1786, 1714, 1784, -1057, 1076, 1805, -1888, 527, 1348,
+ 528, 1598, 3548, -1473, -1721, 3335, 2053, 1275, 3182, 1811,
+ 1153, 1352, 2056, 48, 2583, 1433, 2075, 3593, -1061, 1643,
+ 1281, 1456, 1457, 1458, 1459, 1460, 1461, 851, 1169, 2991,
+ 1316, 748, 1462, 1462, 1239, 1644, 1756, 1461, 48, 479,
+ 1685, 2974, 704, 1462, 702, 1290, 2788, 710, 1252, 727,
+ 2881, 710, 793, 479, 479, 852, 1819, 854, 479, 856,
+ 702, -1670, 710, 857, 2563, 1824, -1702, -1722, -1054, 479,
+ 3372, 2184, -1751, 568, 2656, 1099, 2657, 3557, 479, 569,
+ 570, 704, 1662, 1815, -1057, 479, 1469, 727, 1876, 479,
+ 479, 770, -1606, 479, 1174, 479, 2127, 479, 871, 479,
+ 2847, 1177, 702, 648, 2851, 1977, 1979, 1659, -1061, 725,
+ -1054, 3408, -1244, -1054, 1011, 2317, 1987, 2482, 3304, 1990,
+ 1731, 1660, 524, 804, 1670, 3479, -1057, 2002, 2003, -1057,
+ 3396, -1244, 3036, 784, 2006, 2007, 2620, 791, 2722, 2723,
+ 2020, 2022, 2689, 3450, 479, 1816, 479, 1820, 800, 884,
+ -1061, 2036, 1269, -1061, 1458, 1459, 1460, 1461, 568, 3081,
+ 1375, 153, 1892, 1462, 569, 570, 2384, -1216, 874, 608,
+ 498, 1002, 1663, 608, 1821, 152, 1874, -1673, -1216, 1012,
+ 1385, -1216, 2760, 1064, 663, -1216, 15, 3575, 2286, 485,
+ 1873, -1249, 3436, 1661, 2287, 888, 1026, 1667, 2094, 1666,
+ 1817, 2676, 479, 1818, 1595, 996, 2112, 2163, 1857, 1006,
+ -1249, 2748, 596, 159, 2291, 147, 3184, 2613, 3185, 148,
+ 573, 1593, 3504, 583, 874, 500, 573, 150, 3067, 1667,
+ 3586, 1456, 1457, 1458, 1459, 1460, 1461, 2761, 664, 1942,
+ 1943, 3480, 1462, 2292, 2748, 2717, 3475, 1101, 2720, 2721,
+ 160, 3476, 2724, 1102, 3558, 3580, 1671, 23, 1304, 1991,
+ 702, 702, 2731, 3119, 1079, 780, 1297, 3309, 159, 2903,
+ 1595, 2904, 3300, 1796, 3145, 3310, 1741, 65, 124, 1858,
+ 3100, 798, 585, 3037, 1681, 597, 585, 2227, 479, 2838,
+ 2288, 2180, 1103, 3413, 1080, 2779, 1911, 1819, 860, 1305,
+ 479, 3481, 1595, 2677, 588, 160, 1345, 727, 2483, 479,
+ 3301, 665, 595, 585, 1797, 479, 1358, 861, 1140, 702,
+ 3451, 1992, 1482, 2095, 1662, 3559, 479, 2181, 1368, 3002,
+ 1672, 3067, 2840, 3506, 1819, 702, 702, 2985, 3101, 2781,
+ 1750, 3542, 1104, 3385, 3576, 3146, 3186, 3560, 37, 1105,
+ 1081, 153, 1106, 702, 1268, 3003, 479, 636, 3069, 1900,
+ 2266, 1668, 1670, 1682, 507, 1328, 508, 3587, 2269, 3537,
+ 2271, 613, 650, 153, 702, 702, 1993, 41, 479, 1994,
+ 1082, 1239, 1892, 3477, 3581, 2016, 2016, 1350, 1820, 2905,
+ 2016, 3373, 37, 1002, 3120, 1742, 1373, 1743, 3289, 2906,
+ 3068, 1107, -320, 1206, 2009, 1324, 3221, 3222, 3223, 1325,
+ 479, 46, 1333, 1333, 1663, 1389, 659, 1326, 479, 582,
+ 666, 41, 3311, 47, 479, 1483, 2186, 1702, 479, 2016,
+ 2016, 1048, 3574, 2289, 1709, 1049, 1364, 741, 3386, 2182,
+ 479, 3400, 1370, 2348, 3414, 1416, 2678, 2137, 44, 1596,
+ 159, 1306, 3502, 3503, 652, 46, 1108, 598, 599, 1859,
+ 1042, 3069, 2290, 1428, 48, 3590, 1798, 47, 1946, 725,
+ 1860, 3282, 1614, 1995, 3415, 2679, 2785, 1066, 3376, 660,
+ 3147, 1115, 1116, 1624, 1290, 1747, 2293, 160, 2672, 493,
+ 3540, 3541, 1109, 1596, 3004, 1050, 1617, 1619, 1610, 1623,
+ 1618, 1618, 661, 1618, 2673, 2187, 1067, 3417, 48, 672,
+ 33, 33, 2786, 1684, 1290, 1085, 2751, 1839, 2015, 2015,
+ 1721, 1086, 3153, 2015, 2787, 1111, 2138, 3157, 1087, 3461,
+ 3159, 742, 3269, 1307, 1068, 1121, 3148, 3418, 1774, 1051,
+ 1186, 3416, 3177, 1089, 669, 669, 1794, 669, 1799, 1112,
+ 2748, 1090, 1002, 1043, 3573, 3493, 1237, 1238, 3150, 1002,
+ 1002, 3591, 2015, 2015, 1996, 1722, 1723, 498, 37, 1625,
+ 1997, 706, 585, 1602, 1265, 1609, 1741, 2373, 2374, 2375,
+ 2376, 2651, 1385, 479, 479, 1064, -703, 2448, 1595, 1840,
+ 3270, 3005, 2453, 1595, 3006, 1292, 1294, 41, 2350, 1091,
+ 2216, 2428, 2788, 1069, 3419, 2555, 1719, 1627, 3063, 1795,
+ 2560, 1188, 1189, 2984, 1830, 37, 608, 2062, 1062, 2063,
+ 1837, 1894, 500, 1897, 1758, 3535, 479, 2429, 1484, 1485,
+ 585, 46, 1903, 3539, 568, 2880, 608, 1866, -1584, 2064,
+ 569, 1486, 2853, 47, 41, 725, 1628, 1063, 1124, 2217,
+ 2351, 3136, 2431, 1716, 3064, 3049, 2945, -1584, 2878, 1721,
+ 2045, 3052, 3053, 3054, 3055, 3056, 3057, 727, 1596, 608,
+ 3572, 2369, -1097, 734, 2892, 1776, -1097, 1125, 46, 2655,
+ 1842, 2881, 708, 801, 48, 3515, 3370, 1159, 1843, 585,
+ 3169, 33, 3170, 2840, 1629, 1742, 3487, 1743, 702, 702,
+ 702, 702, 1844, 1892, 1722, 1723, 710, 1892, 184, 3516,
+ 1721, 802, 1408, 486, 2444, 1121, 2498, 1845, 1846, 1268,
+ 1847, 555, 2352, 2353, 801, 1905, 2495, 702, 702, 2165,
+ 1409, 48, 1929, 702, 1914, 2354, -1097, 2065, 614, 3384,
+ 1505, 1721, 2066, 2523, 3343, 1719, 1921, 2067, 1155, 2874,
+ 1148, 803, 2799, 725, 2433, 1722, 1723, 2439, 573, 1647,
+ 573, 507, 573, 508, 2549, 2658, 573, 2946, 858, 859,
+ 1385, 1935, 510, 1653, 1940, 1941, 1886, 1156, 1944, 1149,
+ -1097, 1777, 513, 479, 1069, 1290, 1722, 1723, 1648, 2355,
+ 2674, 710, 803, 2572, 1664, 479, 1719, 702, 702, 702,
+ 702, 659, 3458, 2496, 740, 1157, 710, 2819, 2524, 2497,
+ 1778, 587, 1002, 1408, 1268, 2523, 1649, 3, 4, 2675,
+ 2348, 1408, 1703, 1595, 1595, 1595, 2645, 1719, 2574, 1430,
+ 2575, 1409, 3332, 704, 479, 1930, 2461, 479, 479, 1409,
+ 1019, 2603, 2604, 727, 2427, 1020, 479, 479, 658, 479,
+ 2576, 479, 1079, 1410, 1004, 1779, 479, 153, 479, 710,
+ 2068, 1412, -1561, 702, 702, 1780, 3409, 1596, 3079, 2069,
+ 2356, 1968, 2357, 1971, -1585, 1478, 1970, 1838, 1333, 1019,
+ 2524, -1561, 1080, 479, 1020, 2533, 479, 479, 1781, 1408,
+ 479, 2534, 3410, -1585, 2901, 2016, 1951, 774, 2016, 2016,
+ 2016, 2016, 2016, 2016, 2016, 2016, 2016, 1409, 2016, 2428,
+ -1259, 1965, 777, 582, 582, 1966, 1595, 1976, 2921, 1761,
+ 1762, 1763, 1764, 1967, 1385, 1408, 2523, 1653, 1253, 1410,
+ -1066, 1959, 1019, 1835, -1561, 2429, 1311, 1020, 1081, 778,
+ -1066, 1069, 2060, 1409, -1066, -1887, -1259, 1254, 1791, 1792,
+ 2430, 727, -1216, 2577, 1801, 1312, 2016, 2016, 2578, 1928,
+ 2431, 781, -108, 1929, -1887, 1412, -1229, -108, 1082, 1598,
+ 958, 1385, 790, -108, -108, 3322, -1256, 2528, 2529, 2530,
+ 2531, 2532, 2533, 2432, -1066, 1391, 3259, 3260, 2534, 171,
+ 585, 2524, 1137, 585, 1147, -1256, 585, 3038, 2999, 2523,
+ 2115, 1164, 1302, 1385, -1066, 568, 1653, 796, 2045, 1435,
+ 3154, 2427, 1472, 1317, 805, 2116, 3039, 568, 1853, 1854,
+ 1855, 1856, 2377, 569, 570, 1397, 1398, 2378, 2015, 2654,
+ 2611, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015,
+ 806, 2015, 958, 3201, 2630, 2525, 2526, 2527, -1066, 2528,
+ 2529, 2530, 2531, 2532, 2533, 1932, 1485, -1066, 568, 1933,
+ 2534, 568, 2433, 607, 569, 570, 1083, 569, 1486, 635,
+ 2769, 2579, 782, 2141, 783, 2378, 2428, 2589, 3612, 1934,
+ 2580, 3613, 1596, 1933, 1217, 1927, 845, 1962, 2134, 2015,
+ 2015, 1963, 1290, 2045, 2157, 1084, 2194, 2237, 1963, 33,
+ 2195, 2238, 2429, 1085, 2733, 1038, 2334, 1595, -1054, 1086,
+ 2335, 3207, 3047, 816, 3406, 2135, 1087, 2430, 2548, 2748,
+ 2550, 2551, 2143, 1088, 2931, 1892, 820, 2431, 2889, 830,
+ 1892, 1089, 3155, 1892, 3061, 3062, 839, 2203, 3065, 1090,
+ 3066, 2922, 2923, 1881, 1882, 2364, 2734, 1439, 1596, 2365,
+ 2432, 1609, 1440, 958, 2016, 2465, 2525, 2526, 2527, 1933,
+ 2528, 2529, 2530, 2531, 2532, 2533, -1066, 869, 2476, 2494,
+ 2735, 2534, 2477, 1929, 2860, 2530, 2531, 2532, 2533, 2504,
+ 1596, 568, 2507, 1929, 2534, 1355, 1929, 1091, 2511, 2736,
+ 2151, 2152, 1929, 2512, 3389, -1120, -1120, 1929, 710, 479,
+ 3437, 849, 710, 704, 479, 2737, 573, 865, 479, 2538,
+ 573, 573, 1229, 1929, 479, 2041, 1126, 710, 2044, 2738,
+ 479, 785, 1595, 786, 1595, 710, 479, 2952, 878, 2433,
+ 1894, 479, 1038, 2528, 2529, 2530, 2531, 2532, 2533, 2227,
+ 880, 3010, 2554, 1372, 2534, 48, 1929, 885, 710, 479,
+ 886, 1595, 2205, 2206, 479, 479, 479, 479, 2213, 3200,
+ 2557, 479, 479, 1127, 2558, 710, 479, 2397, 2398, 479,
+ 2523, 772, 3322, 2348, 2234, 2234, 888, 2609, 1442, 573,
+ 710, 2610, 710, 479, 2161, 573, 2928, 2015, 2164, 2762,
+ 2764, 2765, 702, 479, 2797, 479, 2993, 2994, 1443, 1444,
+ 710, 2739, 887, 2176, 479, 479, 479, 710, 479, 2740,
+ 2593, 2188, 2594, 1229, 710, 479, 479, 889, 2016, 2016,
+ 890, 710, 2835, 479, 479, 573, 2616, 3368, 573, 573,
+ 2617, 2595, 894, 2596, 2202, 2524, 702, 1128, 659, 1045,
+ 891, 1047, 2741, 702, 702, 702, 702, 702, 702, 1447,
+ 895, 2223, 3208, 2670, 2370, 2699, 2805, 2671, 1007, 2700,
+ 2806, 2816, 2852, 1448, 2855, 2817, 2240, 1355, 2264, 153,
+ 2829, 2520, 2521, 2468, 2830, 1009, 2536, 573, 1013, 877,
+ 2234, 2523, 1129, 2385, 1130, 2420, 2280, 2893, 582, 1014,
+ 2929, 1929, 1170, 2284, 2930, 1749, 1015, 2936, 1023, 893,
+ 2297, 2937, -1888, 3074, 3075, 990, 1027, 2301, 999, 1001,
+ 1003, 1028, 2382, 1035, 3319, 2569, 2570, 15, 2948, 2396,
+ 1038, 2971, 1929, 2972, 1729, 1929, 725, 1929, 2995, 3114,
+ 1132, 1036, 1933, 3115, 2425, 1892, 3164, 3206, 2425, 2438,
+ 2610, 1963, 1039, 3232, 3233, 1898, 2524, 1933, 1933, 3329,
+ 1894, 2015, 2015, 1290, 1904, 702, 2234, 702, 2234, 2625,
+ 2626, 1046, 1912, 1913, 3393, 1134, 1596, 1361, 1362, 3334,
+ 3336, 1596, 1002, 2806, 2806, 3349, 2631, 2632, 1060, 3350,
+ 1925, 1333, 1787, 3351, 1064, 479, 2997, 1929, 23, 2623,
+ 3357, 2633, 2634, 710, 1963, 1229, 1078, 958, 1136, 1355,
+ 2525, 2526, 2527, 1095, 2528, 2529, 2530, 2531, 2532, 2533,
+ 3404, 2523, 659, 2267, 3405, 2534, 3431, 479, 3438, 3441,
+ 3432, 710, 3439, 1290, 3443, 1452, 2409, 3447, 2806, 1117,
+ 1699, 1963, 1456, 1457, 1458, 1459, 1460, 1461, 3492, 1119,
+ 1154, 1828, 1477, 1462, 1079, 3496, 28, 3507, 1158, 3432,
+ 3508, 1290, 1229, 1166, 1963, 1171, 2016, 2311, 1173, 1428,
+ 1191, -1558, 2622, 3144, 2320, 2321, 2322, 2323, 2324, 2325,
+ 1175, 2598, 2599, 2060, 1080, 1178, 2524, 1183, 1185, 2473,
+ 2016, 2016, 1988, 1989, 3509, 3470, 1192, 3472, 2558, 1195,
+ 2001, 1899, 3319, 2592, 2004, 2005, 2565, 3205, 3510, 1233,
+ 3519, 1069, 1929, 1235, 1963, 1886, 1239, 2473, 958, 2026,
+ 1229, 2027, -1888, -1888, 1243, 2528, 2529, 2530, 2531, 2532,
+ 2533, 3521, -152, 37, 727, 1963, 2534, 1229, 1245, 3522,
+ 1081, 1001, 2049, 1963, 2050, 1247, 2528, 2529, 2530, 2531,
+ 2532, 2533, 1258, 1264, 3588, 3617, 1229, 2534, 3589, 3589,
+ 1276, 1278, 41, 1283, 1284, 1285, 1287, 1286, 1595, 1289,
+ 1082, 1290, 1295, 1300, 3191, 1298, 1002, 1299, 1301, 1229,
+ 1303, 1308, 1309, 1310, 1315, 1609, 2449, 2684, 2451, 44,
+ 1330, 1357, 1363, 2623, 1371, 859, 46, 1359, 2410, 2015,
+ 1365, 1439, 1366, 2691, -1220, -1227, 1440, 2694, 47, 1379,
+ 1382, 1596, 1596, 1596, 1383, 1384, 710, 479, 479, 3319,
+ 1388, 48, 1390, 2015, 2015, 1393, 2623, 3266, 2016, 1229,
+ 1466, 1333, 1394, -1217, 714, -1218, 1395, 715, 716, 717,
+ 479, 718, 719, 720, 721, 722, 723, 2409, 958, 48,
+ 1477, 2525, 2526, 2527, -1221, 2528, 2529, 2530, 2531, 2532,
+ 2533, 1431, 1396, 1401, -1219, 1079, 2534, 1403, 1404, 1405,
+ 1406, 1436, 479, 479, 479, 479, 1407, 2124, 1414, 2088,
+ 1415, 1894, 1473, 1481, 1417, 1894, 1418, 1419, 1420, 1421,
+ 1422, 1423, 1495, 1508, 1615, 1080, 1049, 710, 1641, 479,
+ 1001, 33, 2637, 1490, 1596, 2411, 1650, 1001, 1001, 1651,
+ 1653, 1086, 1674, 1654, 1655, 479, 1669, 1676, 1087, 479,
+ 1677, 1678, 1679, 1700, 708, 1121, 1701, 1702, 1441, 1706,
+ 1716, 1717, 1442, 1089, 1718, 573, 3228, 1719, 1725, 1726,
+ 1730, 1090, 1732, 3347, 1727, 1734, 1735, 1737, 1744, 1745,
+ 1751, 1081, 1443, 1444, 1752, 1140, 1788, 1800, 479, 1759,
+ 1760, 2015, 710, 479, 1766, 1767, 2522, 1445, 1773, 1768,
+ 1775, 1802, 2234, 2234, 1803, 3261, 1810, 1385, 1375, 1391,
+ 1812, 1082, 1813, 2683, 1826, 495, 2523, 1832, 1142, 1091,
+ 1852, 2902, 1869, 2412, 2907, 2908, 2909, 2910, 2911, 2912,
+ 2913, 2914, 2915, 1447, 2917, 1836, 1877, 1229, 1875, 2410,
+ 153, 1878, 1880, 2877, 1884, 1895, 1907, 1448, 3538, 1101,
+ 1909, 1908, 2523, 1923, 2823, 1102, 1910, 1924, 3392, 153,
+ 641, 1952, 1945, 641, 1960, 2888, 1886, 1973, 1754, 2024,
+ 1886, 479, 479, 2843, 1948, 2037, 1983, 573, 2715, 1982,
+ 2042, 2524, 2954, 2955, 2048, 573, 1462, 573, 2047, 479,
+ 2025, 2054, 3361, 2105, 1103, 2059, 1595, 2076, 1002, 2078,
+ 2114, 2122, 2119, 2118, 2123, 2129, 664, 2144, 2425, 2145,
+ 2150, 2845, 2158, 2156, 2160, 2159, 153, 2524, 2167, 1450,
+ 2171, 2136, 2190, 2169, 2858, 1596, 2172, 3229, 2173, 2175,
+ 2884, 2192, 3446, 2229, 479, 2236, 2178, 2185, 2300, 2239,
+ 2294, 2295, 33, 2296, 1104, 2304, 1085, 479, 710, 2305,
+ 2308, 1105, 1086, 2309, 1106, 479, 2310, 2312, 710, 1087,
+ 2347, 2313, 2623, 3463, 2314, 1951, 1121, 3468, 3469, 2328,
+ 2315, 1848, 3285, 2316, 1089, 2326, 2333, 479, 2337, 2340,
+ 710, 696, 1090, 2341, 659, 2342, 696, 2343, 641, 2344,
+ 1001, 2345, 2346, 641, 2362, 641, 2366, 2371, 2379, 2400,
+ 3467, 641, 3464, 1107, 2962, 2963, 2964, 2965, 2447, 1452,
+ 2401, 2383, 1453, 1454, 1455, 2403, 1456, 1457, 1458, 1459,
+ 1460, 1461, 2455, 2456, 3449, 2417, 2458, 1462, 2418, 2419,
+ 1091, 1428, 2462, 2440, 2412, 2839, 2426, 2445, 2446, 2454,
+ 1596, 2460, 1596, 958, 2879, 2457, 2525, 2526, 2527, 2459,
+ 2528, 2529, 2530, 2531, 2532, 2533, 2474, 2464, 1108, 2339,
+ 2467, 2534, 2469, 3029, 3030, 2193, 2891, 1974, 2490, 1596,
+ 1699, 2200, 2486, 871, 2492, 2505, 2506, 2509, 2508, 958,
+ 3099, 2493, 2525, 2526, 2527, 2510, 2528, 2529, 2530, 2531,
+ 2532, 2533, 2513, 2514, 1109, 2977, 2581, 2534, 1929, 2573,
+ 2516, 2519, 2537, 2544, 2543, 1609, 2545, 2546, 2553, 162,
+ 2566, 2567, 2588, 2568, 2591, 2607, 2000, 2606, 2636, 2601,
+ 2640, 3027, 2643, 1110, 2647, 2648, 2652, 1111, 2653, 3514,
+ 2644, 1333, 1333, 1894, 2685, 2686, 710, 2693, 1894, 3456,
+ 2695, 1894, 3420, 2719, 3457, 2703, 2704, 2705, 2706, 2707,
+ 2708, 1112, 2709, 2710, 2711, 2712, 2713, 2725, 2726, 2727,
+ 2728, 2729, 2730, 2752, 2755, 163, 2770, 2771, 1101, 2756,
+ 1819, 2767, 2768, 2792, 1102, 479, 479, 2794, 3583, 2798,
+ 2800, 2810, 2812, 2815, 2814, 164, 3379, 1229, 2820, 2821,
+ 2825, 479, 2827, 2842, 2844, 710, 479, 710, 479, 479,
+ 479, 479, 2846, 2848, 2849, 2856, 165, 2859, 2866, 2861,
+ 2487, 2868, 2883, 1103, 2886, 2117, 1469, 2887, 1372, 2896,
+ 2540, 2539, 2996, 2938, 1432, 2950, 2969, 2989, 2534, 2983,
+ 2925, 2998, 3000, 166, 3007, 3011, 2926, 2927, 167, 2951,
+ 3035, 2959, 3012, 168, 3202, 3203, 2981, 2986, 3022, 3023,
+ 3024, 3050, 3025, 1699, 3026, 2612, 3048, 573, 169, 3076,
+ 3051, 3077, 3109, 1104, 479, 479, 479, 3097, 479, 2839,
+ 1105, 3078, 3104, 1106, 3107, 3112, 725, 3123, 3128, 3111,
+ 2646, 3040, 3129, 3042, 3131, 3141, 3158, 3137, 1886, 3142,
+ 3151, 3161, 3174, 1886, 2382, 3167, 1886, 3173, 3175, 3178,
+ 2205, 3183, 641, 2205, 3187, 3127, 3180, 641, 3188, 696,
+ 3192, 3193, 3194, 3198, 3218, 2234, 3219, 3241, 2664, 2665,
+ 3236, 3235, 1107, 3257, 3247, 3237, 3250, 3518, 3258, 3262,
+ 3265, 3271, 2425, 3274, 479, 3068, 3277, 3278, 1229, 3286,
+ 170, 2409, 3294, 641, 3296, 2382, 3298, 3163, 696, 479,
+ 3290, 3299, 3303, 3314, 2234, 696, 2234, 3312, 3315, 1079,
+ 3327, 3341, 3331, 3345, 3353, 3354, 478, 171, 3355, 710,
+ 3363, 3346, 522, 523, 3348, 3365, 3356, 1108, 556, 3371,
+ 572, 3369, 3374, 3387, 3381, 3382, 591, 3388, 594, 1080,
+ 3394, 172, 1933, 3401, 3103, 3403, 3412, 173, 2692, 3424,
+ 3422, 3423, 641, 174, 3426, 175, 657, 3455, 641, 1003,
+ 3425, 3253, 3254, 1109, 3256, 3459, 665, 3478, 3482, 641,
+ 3486, 3488, 1894, 3494, 3495, 3511, 2143, 3231, 3498, 3513,
+ 3512, 176, 177, 3465, 1316, 3523, 178, 3524, 3527, 641,
+ 3533, 3238, 1145, 1894, 179, 1081, 1111, 3529, 3534, 180,
+ 3543, 2975, 2659, 3552, 3556, 2473, 3584, 3525, 641, 181,
+ 3579, 3585, 3526, 3225, 641, 3601, 2368, 3603, 3614, 2614,
+ 1146, 182, 573, 1507, 727, 1082, 1596, 2662, 2232, 2757,
+ 2759, 641, 3344, 2680, 2766, 2682, 1040, 3536, 3008, 2732,
+ 3390, 3125, 3121, 2204, 3239, 3001, 2642, 2466, 3283, 710,
+ 479, 3553, 3582, 2410, 3530, 573, 3358, 3359, 3528, 3126,
+ 710, 479, 3562, 1868, 1321, 2824, 2183, 3280, 3033, 2697,
+ 2319, 3133, 1849, 479, 479, 702, 479, 3328, 2319, 3378,
+ 2349, 2623, 729, 2802, 731, 725, 733, 3328, 735, 3616,
+ 3604, 2795, 3273, 3272, 2753, 3563, 1831, 3380, 3520, 153,
+ 2862, 3383, 1333, 590, 2865, 3176, 2867, 2718, 2869, 2870,
+ 708, 3429, 876, 3291, 3135, 1346, 3500, 2875, 696, 3138,
+ 1699, 2200, 3505, 2200, 3595, 696, 2198, 3615, 2372, 3407,
+ 1229, 2131, 557, 3118, 1616, 3242, 2885, 1323, 2618, 1016,
+ 1327, 1034, 2621, 2635, 1613, 2155, 3251, 2890, 1886, 479,
+ 1894, 2402, 2990, 3230, 2154, 1642, 33, 2147, 3333, 2128,
+ 1085, 1229, 2422, 1229, 2600, 2854, 1086, 479, 1024, 2619,
+ 641, 641, 641, 1087, 812, 3320, 696, 3116, 2338, 2807,
+ 1121, 2942, 3448, 2932, 3544, 3551, 3545, 2624, 1089, 479,
+ 2586, 2501, 2584, 2659, 3445, 2479, 1090, 2104, 0, 3163,
+ 1001, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 479, 3127, 0, 0, 0, 710, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1216, 1220, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1427, 0, 0, 1216,
- 0, 0, 0, 0, 1428, 0, 0, 0, 0, 1217,
- 0, 1432, 1433, 1434, 1435, 1436, 1437, 0, 1221, 0,
- 0, 0, 1438, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1216, 0, 0, 0, 3008, 0, 0,
+ 0, 0, 0, 0, 0, 1229, 0, 0, 641, 0,
+ 0, 0, 2863, 1101, 1091, 0, 0, 3490, 2412, 1102,
+ 0, 0, 0, 0, 0, 0, 0, 3442, 2200, 0,
+ 641, 0, 0, 0, 0, 0, 0, 1894, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1214, 0, 0, 0, 0, 0, 1217, 0,
+ 0, 0, 0, 727, 0, 0, 0, 0, 1103, 0,
+ 0, 2200, 0, 0, 0, 0, 3255, 0, 0, 0,
+ 2897, 0, 2473, 1333, 0, 0, 0, 1229, 0, 0,
+ 0, 0, 0, 0, 3474, 0, 0, 0, 0, 0,
+ 0, 1229, 0, 0, 1596, 0, 0, 0, 2234, 0,
+ 2205, 2916, 0, 0, 0, 0, 2200, 0, 1104, 0,
+ 0, 0, 0, 0, 2924, 1105, 0, 0, 1106, 0,
+ 0, 0, 702, 3320, 3554, 0, 0, 702, 702, 0,
+ 0, 573, 0, 0, 0, 0, 0, 0, 0, 479,
+ 1229, 0, 0, 0, 573, 0, 0, 0, 1355, 0,
+ 0, 0, 0, 0, 0, 0, 641, 0, 0, 0,
+ 0, 0, 0, 0, 1001, 0, 0, 1107, 0, 0,
+ 776, 3454, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -1805, 0, 794, 795, 0, 0, 0, 797,
+ 0, 0, 702, 702, 702, 702, 479, 0, 1229, 0,
+ 810, 0, 0, 858, 859, 0, 0, 0, 3611, 815,
+ 711, 0, 0, 0, 3073, 730, 749, 0, 0, 0,
+ 0, 834, 1108, 739, 836, 0, 838, 0, 841, 1229,
+ 0, 3083, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3320, 702, 1229, 0, 0, 0, 641, 0, 750, 0,
+ 0, -1805, 0, 0, 0, 0, 0, 0, 1109, 0,
+ 0, 751, 0, 0, 0, 0, 0, 0, 752, 0,
+ 0, 0, 753, 0, 0, 881, 1229, 882, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1162, 0, 0,
+ 3168, 1111, 754, 641, 479, 0, 702, 3171, 3172, 0,
+ -1805, 0, 2690, 0, 529, 702, 3609, 0, 0, 0,
+ -1805, 0, 641, 755, -1805, 1163, 530, 0, 0, -1805,
+ 3454, 0, 0, -1805, 2702, 0, -1805, 0, -1805, 0,
+ 0, 702, 0, 657, 0, 0, 531, 153, 0, 0,
+ 0, 0, 3571, 3428, 0, 756, 0, 0, 3434, 3434,
+ 0, 0, 0, 3608, -1805, 2319, 0, 0, 2319, 2319,
+ 532, 3108, 2319, 0, 0, 757, 0, 2200, 0, 0,
+ 0, 0, 2319, 153, -1805, -1807, 0, 1191, 0, 2750,
+ 533, 0, 0, 0, 0, 0, 0, 0, 0, 758,
+ 0, 0, 0, 0, 0, 0, 0, 3571, 0, 0,
+ 0, 534, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2750, 0, 3471, 1893, 3473, 696, -1805, 1165,
+ 0, 0, 3571, 0, 0, 2804, 696, -1805, 535, 0,
+ 0, 1176, 0, 536, 0, 0, 0, 0, 537, 641,
+ 1182, 0, 0, 0, -1807, 0, 1184, 759, 641, 573,
+ 573, 0, 0, 538, 0, 2834, 1001, 1231, 0, 0,
+ 0, 0, 3501, 0, 573, 0, 0, 0, 0, 0,
+ -1805, 0, 3244, 3245, 171, 0, 696, 3248, 3249, 641,
+ 641, 0, 0, 0, 0, 0, 0, 1270, 0, 1229,
+ 0, 641, 0, -1807, 0, 0, 0, 0, 760, 0,
+ 0, 0, 761, -1807, 762, 0, 0, -1807, 0, 0,
+ 763, 0, -1807, 0, 588, 0, -1807, 3532, 1355, -1807,
+ 0, -1807, 0, 0, 746, 1699, 3434, 0, 0, 773,
+ 0, 0, 0, 0, 0, 539, -1805, 0, 764, 765,
+ 573, 1329, 0, 766, 0, 540, 0, -1807, 0, 0,
+ 0, 767, 3555, 0, 0, 1354, 768, -1805, 0, -1805,
+ -1805, 0, 171, 0, 0, 0, 0, -1807, 0, 0,
+ 0, 0, 0, 0, 3240, 0, 0, 0, 769, 0,
+ 0, 0, 3246, 0, 0, 0, 541, 0, 0, 0,
+ 542, 1101, 543, 3337, 0, 3338, 3339, 1102, 544, -1805,
+ 545, 0, -1805, 3342, -1805, -1805, 0, 641, 0, 0,
+ 0, -1807, 0, 2943, 0, 0, 641, 0, 0, 0,
+ -1807, 1126, 0, 0, 873, 0, 546, 547, 0, 0,
+ 0, 548, 0, 0, 0, 1229, 1103, 0, 0, 549,
+ 0, 883, 0, 0, 550, 0, 1229, 0, 0, 1437,
+ 0, 0, 0, 0, 551, 2979, 0, 1439, 0, 0,
+ 0, 994, 1440, -1807, 0, 0, 552, 0, 1127, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1223, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1217, 1428, 0, 0, 1429, 1430, 1431,
- 3051, 1432, 1433, 1434, 1435, 1436, 1437, 0, 0, 0,
- 0, 1888, 1438, 0, 0, 0, 0, 0, 0, 1219,
- 1219, 1217, 1219, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1219, 1217, 1219, 1216, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217,
- 0, 0, 0, 0, 0, 0, 1214, 3081, 0, 1414,
- 1217, 0, 2298, 0, 0, 3083, 0, 1416, 0, 0,
- 0, 0, 1417, 0, 0, 0, 0, 0, 1219, 0,
+ 1018, 0, 0, 0, 0, 0, 1104, 0, 0, 0,
+ 0, 0, 0, 1105, 0, 0, 1106, 0, 0, 0,
+ 573, 0, 1229, 1041, 0, 0, 0, 588, 0, 0,
+ 1229, 0, 0, 0, 657, 0, 0, 0, 2750, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1437, 0, -1807,
+ 2807, 2137, 3028, 0, 0, 1439, 0, 0, 0, 3031,
+ 1440, 3032, 1128, 0, 0, 1107, 0, 0, 0, 641,
+ -1807, 0, -1807, -1807, 1355, 0, 0, 1673, 0, 0,
+ 0, 0, 0, 0, 0, 2319, 0, 0, 0, 3444,
+ 0, 2319, 2319, 2319, 2319, 2319, 2319, 0, 0, 0,
+ 0, 0, 0, 0, 1441, 0, 0, 1129, 1442, 1130,
+ 0, 0, -1807, 0, 0, -1807, 0, -1807, -1807, 0,
+ 1131, 0, 0, 0, 0, 0, 0, 0, 1443, 1444,
+ 2138, 0, 0, 0, 0, 0, 0, 0, 3084, 3086,
+ 3088, 3090, 0, 1445, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1132, 1109, 3325, 0, 0,
+ 0, 0, 1260, 1262, 1263, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 641, 1446, 0, 1229, 1447,
+ 0, 0, 1441, 0, 0, 1133, 1442, 0, 0, 1111,
+ 1134, 3134, 0, 1448, 0, 0, 1449, 0, 0, 0,
+ 0, 0, 1229, 0, 0, 0, 1443, 1444, 0, 0,
+ 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0,
+ 0, 1445, 1228, 1136, 699, 0, 0, 0, 0, 699,
+ 994, 0, 0, 1355, 1829, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1851, 0, 0, 0,
+ 1437, 0, 994, 0, 1446, 0, 2200, 1447, 1439, 0,
+ 0, 0, 0, 1440, 1355, 1450, 0, 0, 1355, 1355,
+ 0, 1448, 0, 0, 1449, 0, 0, 2241, 0, 0,
+ 0, 0, 0, 0, 0, 1902, 0, 0, 0, 1906,
+ 0, 0, 0, 0, 0, 641, 0, 0, 1915, 0,
+ 1917, 0, 1918, 0, 0, 0, 0, 1919, 0, 0,
+ 0, 0, 0, 3569, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1228, 0, 0, 0, 0, 0, 641,
+ 2242, 0, 0, 0, 0, 0, 641, 2200, 0, 2243,
+ 2244, 2245, 0, 1450, 1893, 0, 0, 3227, 0, 0,
+ 0, 0, 0, 0, 0, 1452, 0, 0, 1453, 1454,
+ 1455, 1229, 1456, 1457, 1458, 1459, 1460, 1461, 3569, 0,
+ 2120, 0, 0, 1462, 0, 0, 0, 2121, 1509, 0,
+ 0, 0, 0, 2246, 0, 1441, 0, 0, 0, 1442,
+ 0, 2139, 1229, 3569, 0, 0, 1229, 1229, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1443,
+ 1444, 0, 0, 0, 0, 0, 2319, 2319, 0, 0,
+ 0, 0, 0, 0, 1445, 2247, 0, 3263, 3264, 0,
+ 2248, 3267, 3268, 1452, 0, 0, 1453, 1454, 1455, 0,
+ 1456, 1457, 1458, 1459, 1460, 1461, 0, 0, 0, 0,
+ 0, 1462, 1489, 0, 3325, 0, 0, 1446, 0, 0,
+ 1447, 0, 0, 0, 0, 0, 0, 0, 1715, 2249,
+ 0, 0, 0, 0, 1448, 0, 0, 1449, 0, 0,
+ 0, 3297, 0, 0, 0, 0, 2250, 2251, 2252, 2253,
+ 2254, 0, 2255, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1228, 0, 3321, 0, 0,
+ 0, 0, 0, 0, 0, 1765, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2256, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1785, 0, 0, 0, 0, 0,
+ 1228, 0, 0, 0, 0, 0, 1450, 0, 0, 0,
+ 0, 0, 699, 0, 0, 0, 0, 0, 641, 0,
+ 0, 2257, 1228, 0, 1893, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3096, 0, 1217, 0, 0, 0, 0, 0, 1217,
- 0, 0, 0, 0, 0, 1220, 1220, 0, 1220, 0,
- 0, 2013, 0, 0, 0, 1574, 2020, 0, 0, 0,
- 0, 1220, 0, 1220, 0, 0, 0, 1219, 0, 0,
- 0, 0, 1216, 0, 0, 0, 0, 1221, 1221, 0,
- 1221, 0, 0, 1217, 0, 0, 0, 0, 0, 0,
- 0, 0, 1219, 1221, 3138, 1221, 0, 0, 0, 0,
- 0, 0, 0, 1414, 1220, 0, 0, 0, 0, 0,
- 0, 1416, 0, 0, 1217, 0, 1417, 0, 0, 0,
- 1219, 0, 1880, 0, 0, 0, 0, 1418, 1217, 0,
- 0, 1419, 1214, 0, 0, 1219, 1221, 0, 1223, 0,
- 0, 0, 0, 1214, 0, 0, 0, 0, 1219, 0,
- 0, 1420, 1421, 1220, 0, 0, 0, 0, 0, 1219,
- 1223, 0, 1217, 0, 1422, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0,
- 0, 0, 0, 0, 1214, 1221, 0, 0, 0, 0,
- 0, 0, 1219, 0, 0, 0, 0, 1423, 1219, 0,
- 1424, 0, 0, 0, 0, 0, 1220, 0, 1216, 0,
- 1221, 0, 0, 0, 1425, 0, 1426, 0, 0, 1216,
- 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1418, 0, 0, 1220, 1419, 0, 0, 1221, 0,
- 0, 0, 1219, 0, 0, 1220, 0, 0, 0, 0,
- 0, 0, 0, 1221, 0, 1420, 1421, 1217, 0, 0,
- 1216, 0, 0, 0, 0, 0, 1221, 1440, 1422, 0,
- 0, 0, 0, 1219, 0, 0, 0, 1221, 1220, 1427,
- 0, 0, 0, 0, 1220, 0, 0, 1219, 0, 0,
- 0, 1223, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1423, 0, 0, 1424, 0, 0, 0, 0, 0,
- 1221, 0, 0, 0, 0, 1440, 1221, 0, 1425, 0,
- 1426, 1219, 0, 0, 0, 0, 1214, 0, 1220, 0,
- 0, 2312, 0, 0, 0, 0, 0, 0, 0, 0,
- 1414, 0, 0, 2343, 0, 0, 0, 0, 1416, 0,
- 1214, 1217, 0, 1417, 0, 0, 0, 0, 0, 1220,
- 1221, 0, 0, 0, 0, 0, 0, 1428, 0, 0,
- 1429, 1430, 1431, 1220, 1432, 1433, 1434, 1435, 1436, 1437,
- 0, 0, 0, 1427, 0, 1438, 0, 0, 0, 0,
- 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1216, 0, 0, 1221, 0, 1220, 0, 0,
- 0, 0, 0, 0, 0, 0, 1219, 0, 0, 0,
- 0, 0, 0, 0, 1414, 0, 1216, 1440, 0, 0,
- 0, 0, 1416, 0, 0, 0, 0, 1417, 0, 1221,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0,
+ 0, 699, 0, 0, 0, 0, 1439, 2258, 699, 2259,
+ 0, 1440, 0, 0, 641, 0, 0, 2750, 0, 0,
+ 1437, 0, 0, 1438, 0, 0, 0, 0, 1439, 0,
+ 1228, 0, 2260, 1440, 2319, 0, 0, 0, 3391, 2261,
+ 0, 0, 2262, 0, 0, 0, 1452, 1228, 0, 1453,
+ 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460, 1461, 0,
+ 2162, 0, 0, 0, 1462, 2166, 1228, 2515, 1439, 2170,
+ 0, 1916, 0, 1440, 0, 2174, 0, 0, 0, 0,
+ 1920, 2179, 0, 0, 0, 0, 0, 2189, 3427, 1228,
+ 699, 0, 2191, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 994, 994, 0, 0, 2207, 2208, 2211, 2212, 0,
+ 0, 0, 2218, 2221, 699, 0, 0, 2224, 0, 0,
+ 2228, 0, 0, 1441, 0, 0, 0, 1442, 0, 1228,
+ 0, 0, 0, 0, 2265, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2268, 1441, 2270, 1443, 1444, 1442,
+ 0, 0, 0, 0, 0, 2281, 2282, 2283, 0, 2285,
+ 0, 0, 1445, 0, 0, 0, 2298, 2299, 0, 1443,
+ 1444, 0, 0, 0, 2302, 2303, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1445, 1441, 0, 0, 0, 1442,
+ 0, 0, 0, 0, 0, 1446, 0, 0, 1447, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1443,
+ 1444, 699, 1448, 0, 0, 1449, 0, 1446, 699, 0,
+ 1447, 0, 0, 0, 1445, 0, 0, 0, 0, 2103,
+ 0, 0, 0, 0, 1448, 0, 641, 1449, 2113, 1230,
+ 0, 0, 0, 0, 0, 0, 641, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1446, 0, 0,
+ 1447, 0, 641, 0, 0, 0, 0, 0, 0, 699,
+ 0, 0, 0, 0, 1448, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1450, 1893, 0, 0, 0, 1893,
+ 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0,
+ 3570, 0, 0, 0, 1439, 0, 1450, 1228, 0, 1440,
+ 0, 699, 0, 641, 0, 0, 641, 0, 0, 0,
+ 0, 0, 0, 641, 0, 0, 0, 0, 696, 0,
+ 0, 0, 1439, 0, 0, 0, 0, 1440, 0, 0,
+ 1230, 0, 0, 0, 0, 0, 1450, 0, 0, 641,
+ 0, 0, 0, 0, 0, 3570, 0, 0, 0, 0,
+ 0, 0, 699, 0, 0, 0, 0, 0, 2488, 0,
+ 0, 2132, 0, 0, 1452, 0, 0, 1453, 1454, 1455,
+ 3570, 1456, 1457, 1458, 1459, 1460, 1461, 0, 0, 0,
+ 699, 1451, 1462, 0, 0, 2561, 1452, 0, 0, 1453,
+ 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460, 1461, 0,
+ 0, 2539, 0, 0, 1462, 0, 2540, 0, 0, 0,
+ 0, 0, 699, 699, 2571, 699, 0, 0, 0, 0,
+ 0, 1441, 0, 0, 0, 1442, 1452, 0, 0, 1453,
+ 1454, 1455, 699, 1456, 1457, 1458, 1459, 1460, 1461, 0,
+ 0, 0, 0, 0, 1462, 1443, 1444, 641, 641, -1888,
+ 0, 0, 0, 1442, 0, 0, 0, 0, 0, 0,
+ 1445, 0, 0, 0, 0, 0, 0, 2222, 0, 0,
+ 0, 699, 1594, 1443, 1444, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -1888, 0,
+ 0, 0, 0, 1446, 0, 0, 1447, 0, 699, 0,
+ 0, 0, 699, 699, 0, 0, 0, 0, 0, 0,
+ 1448, 0, 1230, 1449, 0, 0, 1594, 0, 0, 0,
+ 0, 0, 0, 0, 1447, 1228, 0, 0, 0, 0,
+ 1228, 1228, 0, 0, 0, 0, 0, 0, 1448, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1230, 2638, 2639,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0,
- 0, 1428, 1419, 0, 1429, 1430, 1431, 0, 1432, 1433,
- 1434, 1435, 1436, 1437, 0, 0, 0, 1217, 0, 1438,
- 0, 0, 1420, 1421, 0, 0, 0, 1214, 1217, 0,
- 1574, 2020, 1220, 2020, 0, 1422, 0, 0, 0, 0,
- 1219, 0, 0, 0, 0, 0, 1223, 0, 1223, 1214,
- 0, 0, 0, 1214, 1214, 0, 0, 1414, 0, 0,
- 0, 0, 0, 0, 1221, 1416, 0, 0, 1423, 1217,
- 1417, 1424, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1418, 0, 0, 1425, 1419, 1426, 0, 1223,
+ 0, 0, 0, 0, 1437, 0, 0, 0, 0, 1230,
+ 0, 2650, 1439, 0, 0, 0, 0, 1440, 0, 0,
+ 0, 0, 1450, 0, 0, 0, 1437, 2367, 0, 0,
+ 0, 0, 0, 0, 1439, 0, 0, 0, 0, 1440,
+ 0, 0, 0, 2666, 2667, 2668, 2669, 0, 0, 0,
+ -1888, 0, 0, 0, 0, 0, 0, 0, 641, 0,
+ 0, 2386, 0, 0, 0, 0, 0, 1230, 2404, 0,
+ 0, 0, 0, 0, 0, 0, 641, 0, 0, 0,
+ 0, 0, 0, 0, 1230, 0, 0, 1228, 641, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1216, 0, 0, 1420, 1421, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1422,
- 0, 0, 1214, 0, 0, 1216, 1220, 0, 0, 1216,
- 1216, 0, 0, 0, 0, 0, 0, 0, 1223, 0,
+ 0, 0, 0, 1230, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1452, 0, 0, 1453, 1454, 1455, 0, 1456,
+ 1457, 1458, 1459, 1460, 1461, 0, 1230, 0, 0, 2714,
+ 1462, 1594, 0, 0, 2716, 0, 0, 1893, 0, 1441,
+ 1452, 0, 1893, 1442, 0, 1893, 0, 1456, 1457, 1458,
+ 1459, 1460, 1461, 1228, 0, 0, 0, 0, 1462, 0,
+ 0, 1441, 0, 1443, 1444, 1442, 0, 0, 699, 0,
+ 699, 0, 0, 0, 0, 0, 1230, 0, 1445, 699,
+ 0, 0, 0, 0, 0, 1443, 1444, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1427, 0, 1423, 0, 0, 1424, 0, 0, 1221, 1414,
- 0, 0, 2352, 2020, 0, 0, 0, 1416, 0, 1425,
- 0, 2348, 1417, 0, 0, 0, 1219, 0, 0, 1440,
- 0, 0, 0, 0, 0, 1418, 0, 1219, 0, 1419,
- 0, 2020, 0, 0, 0, 0, 0, 0, 1216, 0,
- 0, 0, 0, 0, 0, 0, 1223, 0, 0, 1420,
- 1421, 1217, 0, 0, 0, 0, 0, 0, 0, 1223,
- 0, 0, 1422, 0, 0, 0, 0, 0, 1219, 0,
- 2020, 1440, 0, 0, 1427, 1217, 0, 0, 1428, 0,
- 0, 1429, 1430, 1431, 0, 1432, 1433, 1434, 1435, 1436,
- 1437, 0, 0, 0, 1440, 1423, 1438, 0, 1424, 1859,
- 0, 0, 1220, 1223, 0, 0, 0, 0, 0, 1223,
- 0, 0, 1425, 1220, 1426, 0, 0, 0, 0, 1440,
- 1440, 0, 0, 1440, 0, 0, 0, 1418, 0, 0,
- 0, 1419, 0, 0, 1221, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1221, 0, 0, 0, 0,
- 0, 1420, 1421, 1223, 1220, 0, 0, 0, 0, 0,
- 1440, 0, 1428, 0, 1422, 1429, 1430, 1431, 0, 1432,
- 1433, 1434, 1435, 1436, 1437, 0, 0, 1427, 0, 0,
- 1438, 0, 0, 0, 1223, 0, 1221, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1423, 1223, 0,
- 1424, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1219, 0, 0, 0, 1425, 0, 1426, 0, 0, 0,
- 0, 0, 1217, 0, 1440, 0, 0, 0, 0, 0,
- 0, 1440, 1223, 1440, 1219, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1217, 0, 0, 0, 1217, 1217,
+ 1445, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1446, 2808, 2809, 1447, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1448, 699,
+ 2650, 1449, 1437, 1446, 0, 0, 1447, 0, 1228, 0,
+ 1439, 0, 0, 0, 0, 1440, 0, 0, 0, 2933,
+ 1448, 641, 641, 641, 641, 0, 0, 0, 0, 0,
+ 0, 0, 0, 699, 699, 0, 0, 0, 0, 0,
+ 0, 699, 0, 0, 699, 2864, 0, 699, 0, 0,
+ 0, 0, 0, 0, 0, 699, 699, 0, 2873, 0,
+ 2597, 0, 0, 699, 0, 0, 699, 699, 699, 699,
+ 1450, 0, 1437, 0, 0, 2503, 699, 699, 0, 699,
+ 1439, 699, 0, 2934, 699, 1440, 0, 0, 0, 0,
+ 0, 0, 1450, 0, 0, 0, 0, 0, 0, 699,
+ 1594, 0, 0, 699, 0, 0, 994, 699, 0, 0,
+ 0, 699, 0, 0, 0, 699, 699, 699, 699, 699,
+ 699, 699, 699, 699, 1230, 0, 699, 0, 0, 0,
+ 0, 699, 1437, 0, 699, 0, 0, 1441, 0, 0,
+ 1439, 1442, 0, 0, 0, 1440, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1428, 0, 0, 1429, 1430,
- 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437, 0, 1427,
- 0, 1414, 0, 1438, 0, 0, 0, 0, 0, 1416,
- 0, 0, 0, 0, 1417, 0, 1220, 0, 0, 0,
- 0, 0, 0, 1414, 0, 0, 0, 0, 0, 0,
- 0, 1416, 0, 0, 0, 0, 1417, 1217, 0, 0,
- 1220, 0, 0, 0, 0, 0, 0, 1223, 1221, 0,
- 0, 0, 1414, 0, 0, 0, 0, 0, 0, 0,
- 1416, 0, 0, 0, 0, 1417, 0, 0, 0, 0,
- 0, 0, 1221, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1428, 0, 0,
- 1429, 1430, 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437,
- 0, 1219, 0, 0, 0, 1438, 0, 0, 0, 0,
+ 1452, 1443, 1444, 1453, 1454, 1455, 0, 1456, 1457, 1458,
+ 1459, 1460, 1461, 0, 0, 0, 1445, 0, 1462, 0,
+ 0, 0, 1452, 0, 0, 1453, 1454, 1455, 0, 1456,
+ 1457, 1458, 1459, 1460, 1461, 0, 696, 0, 0, 0,
+ 1462, 0, 0, 0, 0, 0, 0, 1441, 0, 1446,
+ 0, 1442, 1447, 0, 0, 0, 0, 1893, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1448, 0, 0, 1449,
+ 0, 1443, 1444, 0, 0, 0, 0, 0, 0, 0,
+ 1228, 1228, 0, 1228, 0, 0, 1445, 0, 0, 0,
+ 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1441, 0, 0,
+ 0, 1442, 0, 0, 699, 0, 0, 0, 0, 1446,
+ 0, 1228, 1447, 1228, 0, 0, 0, 0, 0, 0,
+ 0, 1443, 1444, 0, 0, 0, 1448, 0, 1450, 1449,
+ 0, 0, 3034, 696, 0, 0, 1445, 3041, 0, 3043,
+ 3044, 3045, 3046, 0, 0, 1594, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1219, 0, 0, 0, 1219, 1219, 1418,
- 0, 0, 0, 1419, 0, 0, 0, 0, 0, 0,
- 1416, 1223, 0, 0, 0, 1417, 0, 0, 0, 0,
- 0, 1418, 0, 1420, 1421, 1419, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0,
- 0, 0, 0, 0, 0, 1420, 1421, 0, 0, 0,
- 1418, 0, 0, 0, 1419, 0, 0, 1220, 1422, 0,
- 0, 0, 0, 0, 0, 0, 1219, 0, 0, 1423,
- 0, 0, 1424, 0, 1420, 1421, 0, 0, 0, 1220,
- 0, 0, 0, 1220, 1220, 0, 1425, 1422, 1426, 1221,
- 0, 1423, 0, 0, 1424, 0, 0, 2719, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0,
- 1426, 1221, 0, 0, 0, 1221, 1221, 0, 0, 0,
- 1423, 0, 0, 1424, 0, 0, 0, 0, 0, 0,
- -1643, 0, 0, 0, 1419, 1440, 0, 1425, 0, 1426,
- 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0,
- 0, 1427, 1220, 0, 1420, 1421, 0, 1440, 1223, 1440,
- 0, 1859, 1859, 2330, 0, 0, 1859, -1643, 0, 0,
- 1440, 0, 0, 1427, 0, 0, 0, 1440, 0, 0,
- 0, 0, 1440, 0, 1221, 1414, 0, 1440, 2702, 0,
- 0, 0, 1440, 1416, 0, 0, 0, 0, 1417, 1223,
- 0, 1440, 1427, 1424, 0, 1859, 1859, 1440, 1414, 0,
- 0, 0, 0, 0, 0, 0, 1416, 1425, 0, 1440,
- 0, 1417, 0, 0, 0, 0, 1440, 2656, 1440, 1440,
- 1440, 1440, 1440, 1440, 1440, 1440, 1440, 0, 1440, 1428,
- 0, 0, 1429, 1430, 1431, 0, 1432, 1433, 1434, 1435,
- 1436, 1437, 0, 0, 2493, 0, 0, 1438, 0, 0,
- 0, 1428, 0, 0, 1429, 1430, 1431, 0, 1432, 1433,
- 1434, 1435, 1436, 1437, 0, 0, 0, 0, 2531, 1438,
- 0, 0, -1643, 0, 0, 0, 0, 0, 0, 0,
- 1428, 0, 0, 1429, 1430, 1431, 0, 1432, 1433, 1434,
- 1435, 1436, 1437, 0, 0, 0, 0, 0, 1438, 1440,
- 0, 0, 0, 1418, 0, 0, 0, 1419, 0, 0,
+ 0, 0, 699, 0, 696, 0, 0, 641, 2801, 1446,
+ 0, 0, 1447, 0, 0, 0, 0, 0, 2813, 0,
+ 0, 0, 1230, 0, 0, 1228, 1448, 1230, 1230, 1449,
+ 0, 0, 641, 0, 2826, 0, 0, 0, 1450, 0,
+ 0, 0, 2517, 0, 696, 3092, 3094, 3096, 1228, 3098,
+ 0, 1594, 0, 0, 0, 0, 641, 0, 1452, 0,
+ 0, 1453, 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460,
+ 1461, 0, 0, 0, 0, 2046, 1462, 0, 0, 0,
+ 0, 1228, 0, 1594, 0, 2871, 0, 0, 2872, 0,
+ 0, 0, 0, 0, 0, 2876, 0, 1228, 1450, 1437,
+ 641, 0, 2547, 0, 0, 0, 0, 1439, 0, 0,
+ 0, 1228, 1440, 0, 0, 0, 0, 0, 0, 0,
+ 0, 994, 0, 0, 0, 0, 1228, 0, 1452, 0,
+ 3166, 1453, 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460,
+ 1461, 696, 699, 0, 1230, 0, 1462, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1414, 0, 0, 0, 0, 1418, 1420, 1421, 1416,
- 1419, 1223, 0, 0, 1417, 0, 0, 0, 0, 0,
- 1422, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1420, 1421, 0, 0, 0, 1223, 0, 0, 0, 0,
- 1428, 0, 0, 1422, 0, 0, 0, 1432, 1433, 1434,
- 1435, 1436, 1437, 1423, 0, 0, 1424, 0, 1438, 0,
+ 1228, 696, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1425, 0, 1426, 0, 0, 0, 1423, 0, 0, 1424,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1452, 0,
+ 0, 1453, 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460,
+ 1461, 0, 0, 0, 0, 0, 1462, 0, 0, 0,
+ 1230, 0, 0, 0, 0, 0, 0, 699, 1228, 0,
+ 0, 0, 0, 0, 0, 0, 0, 699, 0, 2966,
+ 2967, 0, 0, 0, 1441, 0, 0, 0, 1442, 1220,
+ 0, 0, 0, 0, 0, 0, 0, 0, 696, 1228,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1443, 1444,
+ 0, 699, 1228, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1445, 0, 0, 0, 0, 0, 976,
+ 0, 3243, 0, 0, 699, 0, 0, 0, 0, 0,
+ 0, 0, 3252, 0, 0, 1230, 1228, 0, 1439, 0,
+ 0, 0, 0, 1440, 0, 0, 1446, 0, 0, 1447,
+ 0, 0, 0, 1031, 699, 699, 0, 0, 0, 0,
+ 0, 0, 0, 1448, 0, 0, 1449, 0, 0, 0,
+ 0, 0, 696, 0, 0, 0, 0, 0, 0, 0,
+ 1220, 0, 0, 0, 699, 699, 0, 0, 0, 699,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1425, 0, 1426, 0, 0, 1440, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0,
- 0, 0, 0, 0, 0, 0, 1416, 0, 0, 0,
- 0, 1417, 0, 0, 0, 0, 0, 0, 1440, 1418,
- 0, 0, 0, 1419, 0, 1427, 0, 0, 0, 0,
+ 0, 699, 699, 699, 699, 0, 0, 0, 0, 1594,
+ 0, 0, 0, 699, 1594, 0, 699, 0, 0, 699,
+ 3293, 0, 0, 0, 0, 0, 0, 1228, 699, 699,
+ 2582, 699, 0, 0, 0, 1450, 0, 0, 3308, 0,
+ 3080, 0, 0, 0, 699, 0, 699, 0, 0, 0,
+ 699, 0, 0, 0, 0, 0, 0, 0, 3105, 0,
+ 0, 0, 0, 0, 0, -1888, 0, 699, 0, 1442,
+ 3110, 0, 0, 0, 0, 0, 0, 699, 0, 699,
+ 699, 699, 3340, 0, 0, 0, 0, 0, 0, 1443,
+ 1444, 0, 0, 699, 0, 0, 0, 0, 0, 0,
+ 0, 699, 0, 0, -1888, 0, 0, 0, 699, 0,
+ 0, 0, 0, 699, 0, 0, 0, 0, 0, 0,
+ 699, 699, 699, 0, 0, 1452, 0, 0, 1453, 1454,
+ 1455, 0, 1456, 1457, 1458, 1459, 1460, 1461, 0, 0,
+ 1447, 699, 0, 1462, 0, 0, 0, 0, 0, 1228,
+ 0, 0, 0, 0, 1448, 0, 0, 0, 0, 0,
+ 0, 0, 1220, 0, 0, 0, 0, 1230, 1230, 0,
+ 1230, 0, 0, 0, 1222, 0, 0, 1230, 0, 0,
+ 0, 0, 0, 0, 0, 1228, 0, 0, 0, 0,
+ 0, 1439, 0, 0, 0, 0, 1440, 1220, 0, 0,
+ 0, 1377, 0, 0, 0, 0, 0, 0, 1230, 0,
+ 1230, 0, 0, 0, 0, 0, 0, 0, 0, 1220,
+ 0, 0, 0, 0, 0, 0, -1888, 0, 0, 1400,
+ 0, 0, 0, 3214, 3215, 3216, 3217, 0, 0, 0,
+ 0, 0, 0, 0, 1594, 1594, 1594, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1420, 1421, 0, 0, 0, 1427, 0,
- 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0,
+ 0, 1425, 1426, 0, 1429, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1222, 0, 1220, 0, 0,
+ 0, 1467, 1230, 2956, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1220, 1228, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1230, 1228, 0, 0, 0,
+ 0, 0, 0, 1220, 0, 0, 1452, 0, -1888, 0,
+ 1510, 0, 1442, 1456, 1457, 1458, 1459, 1460, 1461, 0,
+ 0, 0, 0, 0, 1462, 0, 1220, 1594, 1230, 0,
+ 0, 0, 1443, 1444, 0, 0, 0, 1622, 0, 0,
+ 0, 1632, 1635, 0, 1230, 0, 0, -1888, 0, 0,
+ 0, 0, 1228, 0, 0, 0, 0, 0, 1230, 0,
+ 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1230, 0, 0, 1220, 0, 0, 0,
+ 0, 0, 1437, 1447, 0, 3531, 0, 0, 699, 0,
+ 1439, 0, 699, 0, 0, 1440, 0, 1448, 0, 0,
+ 0, 0, 699, 0, 0, 0, 0, 1230, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1223, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1423,
- 0, 0, 1424, 0, 1223, 0, 0, 0, 1223, 1223,
- 0, 0, 0, 0, 0, 0, 1425, 0, 1426, 0,
- 0, 0, 1440, 1428, 0, 0, 1429, 1430, 1431, 0,
- 1432, 1433, 1434, 1435, 1436, 1437, 1418, 0, 0, 1440,
- 1419, 1438, 0, 0, 0, 0, 1428, 0, 0, 1429,
- 1430, 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437, 0,
- 1420, 1421, 0, 2703, 1438, 0, 0, 0, 0, 0,
- 0, 1440, 0, 1422, 0, 0, 0, 1223, 0, 0,
- 0, 1427, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2330, 2330, 1859, 0, 0, 1859, 1859, 1859,
- 1859, 1859, 1859, 1859, 1859, 1859, 1423, 1859, 2330, 1424,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1425, 0, 1426, 0, 0, 0, 0,
- 0, 0, 1440, 0, 0, 1440, 0, 1440, 1414, 0,
- 0, 0, 2330, 2330, 0, 0, 1416, 0, 0, 0,
- 0, 1417, 0, 0, 0, 0, 1859, 1859, 1440, 0,
- 1440, 0, 0, 1440, 0, 0, 0, 0, 0, 1428,
- 0, 0, 1429, 1430, 1431, 0, 1432, 1433, 1434, 1435,
- 1436, 1437, 1414, 0, 0, 0, 2743, 1438, 1427, 0,
- 1416, 0, 0, 0, 0, 1417, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1440, 0, 1414,
- 0, 0, 0, 0, 0, 0, 0, 1416, 0, 0,
- 0, 0, 1417, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0,
- 1419, 0, 1416, 0, 0, 0, 1428, 1417, 0, 1429,
- 1430, 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437, 0,
- 1420, 1421, 0, 2914, 1438, 0, 0, 0, 0, 0,
- 0, 0, 0, 1422, 0, 0, 0, 0, 0, 0,
- 1418, 0, 0, 0, 1419, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1859, 0, 1420, 1421, 1423, 1418, 0, 1424,
- 0, 1419, 0, 0, 0, 0, 0, 1422, 0, 0,
- 0, 0, 0, 1425, 0, 1426, 0, 0, 0, 2722,
- 0, 1420, 1421, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1422, 0, 0, 0, 0, 0,
- 1423, 0, 0, 1424, 0, 0, 0, 0, 0, 0,
- 0, 0, -1643, 0, 0, 0, 1419, 1425, 0, 1426,
- 0, 0, 0, 0, 0, 0, 0, 1423, 0, 0,
- 1424, 0, 0, 0, 0, 0, 1420, 1421, 1427, 0,
- 0, 0, 0, 0, 1425, 0, 1426, 0, 0, -1643,
- 0, 0, 0, 0, 1440, 0, 0, 1440, 1440, 1440,
- 0, 2330, 0, 0, 0, 0, 2330, 2330, 2330, 2330,
- 2330, 2330, 2330, 2330, 2330, 1416, 2330, 1440, 1440, 0,
- 1417, 0, 1427, 0, 0, 1424, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425,
- 0, 0, 0, 1440, 1859, 1859, 1440, 0, 1440, 1427,
- 0, 0, 1440, 2330, 2330, 0, 0, 1440, 0, 0,
- 1440, 0, 0, 0, 0, 0, 1428, 1440, 0, 1429,
- 1430, 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437, 0,
- 0, 0, 0, 2946, 1438, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2944, 0, -1643, 0, 0, 0, 0, 0,
- 1428, 0, 0, 1429, 1430, 1431, 0, 1432, 1433, 1434,
- 1435, 1436, 1437, 0, 0, 0, 0, 3073, 1438, 0,
- 0, 0, 0, 0, 0, -1643, 0, 1428, 0, 1419,
- 1429, 1430, 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437,
- 0, 0, 0, 0, 3111, 1438, 0, 0, 0, 1420,
- 1421, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, -1643, 2330, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1428, 0, 0, 0, 0, 0, 0, 1432,
- 1433, 1434, 1435, 1436, 1437, 0, 0, 0, 1424, 0,
- 1438, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1425, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1440,
- 0, 0, 0, 1859, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1440, 0, 1440, 0, 0,
- 0, 0, 2330, 2330, 1440, 0, 0, 1859, 1859, 1440,
- 1440, 0, 1440, 0, 0, 0, 0, -1643, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 699, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1437, 0, 0, 0, 0, 0, 1222, 0, 1439,
+ 0, 0, 0, 0, 1440, 0, 0, 0, 0, 0,
+ 0, 0, 699, 0, 0, 1230, 0, 0, 0, -1888,
+ 0, 699, 0, 0, 0, 0, 0, 699, 0, 699,
+ 0, 0, 1222, 0, 699, 0, 1223, 699, 699, 699,
+ 699, 699, 699, 699, 699, 699, 1230, 699, 0, 0,
+ 0, 699, 699, 0, 1222, 0, 0, 0, 1228, 1230,
+ 0, 0, 0, 0, 699, 0, 0, 1441, 1594, 0,
+ 699, 1442, 0, 0, 0, 0, 0, 0, 0, 0,
+ 699, 0, 1228, 699, 0, 699, 0, 1225, 0, 3397,
+ 0, 1443, 1444, 1230, 699, 699, 699, 0, 0, 0,
+ 699, 0, 0, 699, 1220, 0, 1445, 0, 0, 1452,
+ 0, 2552, 1222, 699, 994, 0, 1456, 1457, 1458, 1459,
+ 1460, 1461, 699, 0, 0, 0, 1441, 1462, 0, 1222,
+ 1442, 0, 0, 0, 0, 0, 1228, 1223, 3440, 1446,
+ 0, 0, 1447, 0, 0, 0, 0, 0, 1222, 0,
+ 1443, 1444, 0, 0, 0, 0, 1448, 0, 0, 1449,
+ 0, 0, 0, 0, 0, 1445, 0, 0, 0, 0,
+ 0, 1222, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3460, 1594, 1230, 1594, 0, 0, 1225, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1446, 0,
+ 0, 1447, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1594, 0, 0, 1448, 0, 1228, 1449, 0,
+ 1986, 1222, 0, 0, 0, 0, 0, 0, 1450, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1228, 2008, 0, 0, 2010, 0, 0, 2021, 0,
+ 0, 0, 0, 0, 0, 2028, 2033, 0, 0, 0,
+ 2038, 0, 0, 2043, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1228, 0, 0, 0, 1228, 1228, 2052, 0,
+ 0, 0, 2058, 0, 0, 0, 2070, 1450, 0, 0,
+ 2077, 0, 0, 699, 2079, 2080, 2081, 2082, 2083, 2084,
+ 2085, 2086, 2087, 0, 0, 2089, 1230, 0, 0, 0,
+ 976, 0, 0, 0, 0, 0, 0, 0, 1452, 1223,
+ 0, 1453, 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460,
+ 1461, 0, 1220, 0, 0, 2754, 1462, 1220, 1220, 0,
+ 0, 0, 1230, 699, 699, 0, 0, 0, 1437, 0,
+ 0, 2556, 0, 0, 1223, 0, 1439, 0, 0, 0,
+ 699, 1440, 0, 0, 0, 699, 0, 0, 699, 0,
+ 1225, 0, 0, 0, 0, 0, 1223, 1452, 0, 0,
+ 1453, 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460, 1461,
+ 0, 0, 0, 0, 0, 1462, 0, 0, 0, 1222,
+ 0, 0, 0, 0, 0, 1225, 699, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1439, 0,
+ 0, 0, 0, 1440, 0, 0, 0, 1225, 0, 0,
+ 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0,
+ 0, 0, 699, 0, 0, 0, 0, 0, 0, 699,
+ 699, 1223, 1230, 1031, 1220, 0, 0, 699, 699, 0,
+ 0, 0, 699, 1230, 0, 0, 0, 0, 699, 699,
+ 1223, 0, 699, 0, 0, 0, 1226, 0, 0, 0,
+ 0, 0, 0, 1441, 0, 1225, 0, 1442, 0, 0,
+ 0, 0, 699, 1223, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1225, 0, 0, 0, 0, 1443, 1444, 0,
+ 0, 2177, 0, 0, 0, 0, 0, 0, 0, 1230,
+ 1220, 1225, 1445, 0, 0, 0, 0, 1230, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1223, 1225, 1441, 0, 0, 0, 1442,
+ 0, 0, 0, 0, 0, 1446, 0, 0, 1447, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1443,
+ 1444, 0, 1448, 0, 0, 1449, 0, 1226, 0, 0,
+ 0, 0, 0, 0, 1445, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1220, 0, 0, 0, 699,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594,
+ 1447, 0, 0, 0, 0, 0, 0, 1222, 0, 0,
+ 0, 0, 1222, 1222, 1448, 0, 0, 0, 0, 1437,
+ 0, 0, 0, 0, 1450, 0, 0, 1439, 0, 699,
+ 0, 2336, 1440, 0, 1230, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 699, 0, 0, 0,
+ 699, 0, 0, 0, 0, 1230, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 699, 0, 0, 0, 1230,
+ 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1437, 0, 0, 699,
+ 699, 1223, 0, 699, 1439, 0, 0, 0, 0, 1440,
+ 699, 699, 0, 0, 1452, 0, 2442, 1453, 1454, 1455,
+ 0, 1456, 1457, 1458, 1459, 1460, 1461, 0, 0, 1222,
+ 0, 0, 1462, 1230, 0, 0, 699, 0, 0, 1226,
+ 0, 0, 0, 0, 1227, 0, 0, 0, 0, 0,
+ 2463, 0, 1225, 0, 1441, 0, 0, 0, 1442, 0,
+ 0, 0, 0, 0, 0, 0, 0, 699, 0, 0,
+ 0, 0, 0, 976, 1226, 0, 1452, 0, 1443, 1444,
+ -1888, -1888, 0, 1456, 1457, 1458, 1459, 1460, 1461, 0,
+ 0, 0, 0, 1445, 1462, 1222, 1226, 0, 0, 0,
+ 0, 0, 0, 0, 2499, 0, 0, 699, 699, 0,
+ 0, 0, 0, 0, 1230, 0, 0, 1220, 1220, 0,
+ 1220, 0, 0, 0, 0, 0, 1446, 1220, 0, 1447,
+ 0, 1441, 0, 0, 0, 1442, 0, 699, 1230, 0,
+ 699, 0, 699, 1448, 0, 1227, 1449, 0, 0, 0,
+ 2033, 0, 2033, 2033, 1226, 1443, 1444, 0, 1220, 0,
+ 1220, 0, 2559, 0, 0, 2562, 699, 0, 2564, 1230,
+ 1445, 1226, 0, 1230, 1230, 0, 0, 0, 0, 0,
+ 1222, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1226, 0, 0, 2585, 0, 2587, 0, 1594, 0, 2590,
+ 0, 0, 0, 1446, 699, 0, 1447, 0, 0, 0,
+ 0, 0, 0, 1226, 0, 1450, 0, 0, 0, 0,
+ 1448, 0, 0, 1449, 699, 0, 0, 0, 0, 1223,
+ 2605, 1230, 1220, 0, 1223, 1223, 0, 0, 0, 0,
+ 2894, 0, 2615, 0, 0, 0, 0, 699, 0, 0,
+ 1031, 0, 0, 0, 0, 1220, 0, 1622, 0, 0,
+ 0, 0, 2628, 1226, 0, 0, 0, 0, 0, 1635,
+ 1635, 1632, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1225, 0, 0, 0, 0, 1225, 1225, 0, 1220, 0,
+ 2641, 0, 1450, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1220, 1452, 0, 0, 1453, 1454,
+ 1455, 699, 1456, 1457, 1458, 1459, 1460, 1461, 1220, 0,
+ 0, 0, 0, 1462, 0, 0, 0, 1227, 0, 0,
+ 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1440, 0, 0, 0, 0,
+ 0, 1223, 1437, 0, 0, 2940, 0, 0, 0, 0,
+ 1439, 0, 1227, 0, 0, 1440, 0, 1220, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1452, 0, 1227, 1453, 1454, 1455, 0, 1456,
+ 1457, 1458, 1459, 1460, 1461, 699, 0, 0, 0, 2941,
+ 1462, 0, 1225, 0, 0, 0, 0, 0, 0, 0,
+ 1437, 0, 1222, 1222, 0, 1222, 0, 1223, 1439, 0,
+ 0, 0, 1222, 1440, 0, 1220, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1428, 0, 0, 0, 0,
- 0, 0, 1432, 1433, 1434, 1435, 1436, 1437, 1440, 0,
- 0, 0, 0, 1438, 0, 0, 0, 0, 0, 0,
- 0, 0, 2330, 1859, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2330, 2330, 1440, 0,
- 1440, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1440, 0, 0, 171, 172, 173, 174,
- 175, 176, 177, 178, 0, 180, 181, 182, 0, 0,
- 0, 0, 0, 0, 0, 183, 184, 0, 185, 0,
- 186, 187, 188, 0, 189, 0, 190, 191, 0, 192,
- 193, 194, 195, 196, 0, 1440, 197, 198, 199, 200,
- 0, 201, 202, 203, 204, 205, 0, 2330, 206, 207,
- 208, 209, 210, 211, 0, 212, 213, 214, 215, 216,
- 0, 217, 218, 219, 0, 220, 221, 0, 0, 0,
- 0, 0, 222, 223, 224, 225, 226, 227, 228, 229,
- 0, 230, 0, 231, 232, 233, 234, 235, 0, 236,
- 237, 238, 0, 0, 239, 240, 241, 242, 243, 0,
- 244, 245, 246, 0, 247, 248, 0, 249, 250, 251,
- 252, 253, 254, 255, 0, 256, 257, 258, 259, 0,
- 260, 0, 261, 0, 0, 0, 262, 263, 0, 264,
- 265, 0, 266, 0, 267, 268, 269, 270, 0, 271,
- 272, 273, 0, 274, 275, 276, 277, 278, 279, 0,
- 0, 280, 281, 282, 283, 284, 285, 286, 0, 287,
- 0, 288, 0, 0, 289, 0, 290, 291, 292, 293,
- 294, 0, 295, 0, 296, 0, 0, 297, 298, 299,
- 0, 0, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 0, 314, 0, 315,
- 316, 317, 318, 319, 320, 321, 322, 323, 0, 324,
- 325, 0, 326, 0, 327, 328, 329, 330, 331, 0,
- 0, 332, 0, 0, 0, 333, 334, 0, 0, 335,
- 0, 0, 336, 337, 338, 339, 340, 341, 0, 342,
- 343, 344, 345, 346, 347, 0, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 0, 367, 368, 0,
- 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
- 379, 0, 380, 381, 382, 0, 383, 384, 385, 386,
- 0, 387, 388, 0, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 399, 400, 0, 401, 402, 0,
- 403, 404, 405, 406, 407, 0, 408, 409, 0, 0,
- 410, 411, 412, 413, 0, 414, 415, 416, 417, 418,
- 0, 0, 419, 420, 421, 422, 0, 3141, 423, 424,
- 425, 426, 427, 428, 429, 0, 430, 431, 432, 0,
- 0, 433, 434, 435, 436, 437, 438, 439, 440, 441,
- 442, 443, 444, 445, 446, 447, 448, 449, 0, 0,
- 0, 0, 0, 450, 0, 0, 0, 0, 0, 171,
- 172, 173, 174, 175, 176, 177, 178, 1949, 180, 181,
- 182, 0, -1395, 0, 0, 841, 0, -1395, 183, 184,
- 0, 185, 632, 186, 187, 188, 633, 842, 634, 843,
- 844, 0, 192, 193, 194, 195, 196, 845, 846, 197,
- 847, 848, 200, 0, 201, 202, 203, 204, 849, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 635, 220, 221,
- 850, 851, 852, 853, 854, 222, 223, 224, 225, 226,
- 855, 856, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 1950, 0, 239, 240, 857,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 858, 253, 254, 859, 860, 256, 257,
- 258, 861, 0, 260, 0, 261, 636, 0, 637, 262,
- 263, 0, 264, 862, 0, 266, 0, 267, 268, 269,
- 270, 638, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 639, 280, 281, 282, 283, 284, 863,
- 864, 0, 865, 0, 288, 640, 641, 289, 642, 290,
- 291, 292, 293, 294, 0, 866, 643, 296, 644, 0,
- 297, 298, 299, 867, 868, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 869, 645,
- 870, 455, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 871, 324, 325, 646, 326, 872, 873, 328, 874,
- 330, 331, 0, 0, 332, 456, 0, 0, 875, 334,
- 0, 0, 335, 647, 648, 876, 337, 338, 339, 340,
- 341, 0, 342, 877, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 878, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 649, 369, 370, 879, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 880, 383,
- 384, 385, 386, 650, 387, 881, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 882, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 883,
- 884, 0, 0, 410, 885, 412, 886, 887, 414, 415,
- 416, 417, 418, 0, 888, 419, 420, 421, 422, 889,
- 0, 423, 424, 425, 426, 427, 890, 429, 651, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 891, 892, 893, 894, 895, 896, 897, 447, 448,
- 449, 0, 0, 0, 0, 0, 652, 898, 557, 899,
- 900, 901, 902, 903, 0, 0, 0, 0, 904, 905,
- 1951, 0, 0, 0, 0, 0, 0, 907, 1952, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 841, 0, 0, 183, 184,
- 0, 185, 632, 186, 187, 188, 633, 842, 634, 843,
- 844, 0, 192, 193, 194, 195, 196, 845, 846, 197,
- 847, 848, 200, 0, 201, 202, 203, 204, 849, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 635, 220, 221,
- 850, 851, 852, 853, 854, 222, 223, 224, 225, 226,
- 855, 856, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 857,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 858, 253, 254, 859, 860, 256, 257,
- 258, 861, 0, 260, 0, 261, 636, 0, 637, 262,
- 263, 0, 264, 862, 0, 266, 0, 267, 268, 269,
- 270, 638, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 639, 280, 281, 282, 283, 284, 863,
- 864, 0, 865, 0, 288, 640, 641, 289, 642, 290,
- 291, 292, 293, 294, 0, 866, 643, 296, 644, 0,
- 297, 298, 299, 867, 868, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 869, 645,
- 870, 455, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 871, 324, 325, 646, 326, 872, 873, 328, 874,
- 330, 331, 0, 0, 332, 456, 0, 0, 875, 334,
- 0, 0, 335, 647, 648, 876, 337, 338, 339, 340,
- 341, 0, 342, 877, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 878, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 649, 369, 370, 879, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 880, 383,
- 384, 385, 386, 650, 387, 881, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 882, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 883,
- 884, 0, 0, 410, 885, 412, 886, 887, 414, 415,
- 416, 417, 418, 0, 888, 419, 420, 421, 422, 889,
- 0, 423, 424, 425, 426, 427, 890, 429, 651, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 891, 892, 893, 894, 895, 896, 897, 447, 448,
- 449, 0, 0, 0, 0, 0, 652, 898, 557, 899,
- 900, 901, 902, 903, 0, 0, 0, 0, 904, 905,
- 0, 0, 0, 0, 0, 0, 0, 907, 1861, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 2226, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, -1033, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, -1033, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, -1033, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, -1033, 290,
- 291, 292, 293, 294, 0, 295, -1033, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, -1033,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, -1033, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 971, 185,
- 632, 186, 187, 188, 633, 1190, 634, 1191, 1192, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 1193, 1194,
- 200, 0, 201, 202, 203, 204, 0, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 635, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 1195, 1196,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 857, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 0, 253, 254, 0, 0, 256, 257, 258, 1197,
- 0, 260, 0, 261, 636, 0, 637, 262, 263, 0,
- 264, 0, 0, 266, 0, 267, 268, 269, 270, 638,
- 271, 272, 273, 1563, 274, 275, 276, 277, 278, 279,
- 0, 639, 1564, 281, 282, 283, 284, 1198, 1199, 0,
- 1200, 0, 288, 640, 641, 289, 642, 290, 291, 292,
- 293, 294, 0, 0, 643, 296, 644, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 1201, 645, 1202, 0,
- 315, 316, 317, 318, 319, 320, 321, 0, 323, 0,
- 324, 325, 646, 326, 0, 0, 328, 1203, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 1565, 647, 648, 0, 337, 338, 339, 340, 341, 0,
- 342, 0, 0, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 1204, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 649, 369, 370, 0, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 1566, 385,
- 386, 650, 387, 1206, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 0, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 1207, 1208, 0,
- 0, 410, 0, 412, 0, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 0, 1209, 429, 651, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 0, 0,
- 0, 0, 0, 0, 0, 0, 447, 448, 449, 0,
- 0, 0, 0, 0, 1210, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 841, 0, 0, 183, 184, 1567, 185, 632, 186,
- 187, 188, 633, 842, 634, 843, 844, 1871, 192, 193,
- 194, 195, 196, 845, 846, 197, 847, 848, 200, 0,
- 201, 202, 203, 204, 849, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 635, 220, 221, 850, 851, 852, 853,
- 854, 222, 223, 224, 225, 226, 855, 856, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 857, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 858,
- 253, 254, 859, 860, 256, 257, 258, 861, 0, 260,
- 0, 261, 636, 1872, 637, 262, 263, 0, 264, 862,
- 0, 266, 0, 267, 268, 269, 270, 638, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 639,
- 280, 281, 282, 283, 284, 863, 864, 0, 865, 0,
- 288, 640, 641, 289, 642, 290, 291, 292, 293, 294,
- 1873, 866, 643, 296, 644, 0, 297, 298, 299, 867,
- 868, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 869, 645, 870, 455, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 871, 324, 325,
- 646, 326, 872, 873, 328, 874, 330, 331, 0, 0,
- 332, 456, 0, 0, 875, 334, 0, 0, 335, 647,
- 648, 876, 337, 338, 339, 340, 341, 0, 342, 877,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 878, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 649, 369,
- 370, 879, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 880, 383, 384, 385, 386, 650,
- 387, 881, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 882, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 883, 884, 0, 1874, 410,
- 885, 412, 886, 887, 414, 415, 416, 417, 418, 0,
- 888, 419, 420, 421, 422, 889, 0, 423, 424, 425,
- 426, 427, 890, 429, 651, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 891, 892, 893,
- 894, 895, 896, 897, 447, 448, 449, 0, 0, 0,
- 0, 0, 652, 898, 557, 899, 900, 901, 902, 903,
- 0, 0, 0, 0, 904, 905, 0, 0, 0, 0,
- 0, 0, 0, 907, 171, 172, 173, 174, 175, 176,
- 177, 178, 0, 180, 181, 182, 0, 0, 0, 0,
- 841, 0, 0, 183, 184, 0, 185, 632, 186, 187,
- 188, 633, 842, 634, 843, 844, 0, 192, 193, 194,
- 195, 196, 845, 846, 197, 847, 848, 200, 0, 201,
- 202, 203, 204, 849, 0, 0, 206, 207, 208, 209,
- 210, 211, 0, 212, 213, 214, 215, 216, 0, 217,
- 218, 219, 635, 220, 221, 850, 851, 852, 853, 854,
- 222, 223, 224, 225, 226, 855, 856, 229, 0, 230,
- 0, 231, 232, 233, 234, 235, 0, 236, 237, 238,
- 0, 0, 239, 240, 857, 242, 243, 0, 244, 245,
- 246, 0, 247, 248, 0, 249, 250, 251, 858, 253,
- 254, 859, 860, 256, 257, 258, 861, 0, 260, 0,
- 261, 636, 0, 637, 262, 263, 0, 264, 862, 0,
- 266, 0, 267, 268, 269, 270, 638, 271, 272, 273,
- 0, 274, 275, 276, 277, 278, 279, 0, 639, 280,
- 281, 282, 283, 284, 863, 864, 0, 865, 0, 288,
- 640, 641, 289, 642, 290, 291, 292, 293, 294, 0,
- 866, 643, 296, 644, 0, 297, 298, 299, 867, 868,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 869, 645, 870, 455, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 871, 324, 325, 646,
- 326, 872, 873, 328, 874, 330, 331, 0, 0, 332,
- 456, 0, 0, 875, 334, 0, 0, 335, 647, 648,
- 876, 337, 338, 339, 340, 341, 0, 342, 877, 344,
- 345, 346, 347, 0, 348, 349, 350, 351, 352, 353,
- 878, 355, 356, 0, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 0, 367, 368, 649, 369, 370,
- 879, 372, 373, 374, 375, 376, 377, 378, 379, 0,
- 380, 381, 382, 880, 383, 384, 385, 386, 650, 387,
- 881, 0, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 398, 882, 400, 0, 401, 402, 0, 403, 404,
- 405, 406, 407, 0, 883, 884, 0, 0, 410, 885,
- 412, 886, 887, 414, 415, 416, 417, 418, 0, 888,
- 419, 420, 421, 422, 889, 0, 423, 424, 425, 426,
- 427, 890, 429, 651, 430, 431, 432, 0, 0, 433,
- 434, 435, 436, 437, 438, 439, 891, 892, 893, 894,
- 895, 896, 897, 447, 448, 449, 0, 0, 0, 0,
- 0, 652, 898, 557, 899, 900, 901, 902, 903, 0,
- 0, 0, 0, 904, 905, 906, 0, 0, 0, 0,
- 0, 0, 907, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 841,
- 0, 0, 183, 184, 0, 185, 632, 186, 187, 188,
- 633, 842, 634, 843, 844, 0, 192, 193, 194, 195,
- 196, 845, 846, 197, 847, 848, 200, 0, 201, 202,
- 203, 204, 849, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 635, 220, 221, 850, 851, 852, 853, 854, 222,
- 223, 224, 225, 226, 855, 856, 229, 967, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 857, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 858, 253, 254,
- 859, 860, 256, 257, 258, 861, 0, 260, 0, 261,
- 636, 0, 637, 262, 263, 0, 264, 862, 0, 266,
- 0, 267, 268, 269, 270, 638, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 639, 280, 281,
- 282, 283, 284, 863, 864, 0, 865, 0, 288, 640,
- 641, 289, 642, 290, 291, 292, 293, 294, 0, 866,
- 643, 296, 644, 0, 297, 298, 299, 867, 868, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 869, 645, 870, 455, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 871, 324, 325, 646, 326,
- 872, 873, 328, 874, 330, 331, 0, 0, 332, 456,
- 0, 0, 875, 334, 0, 0, 335, 647, 648, 876,
- 337, 338, 339, 340, 341, 0, 342, 877, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 878,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 649, 369, 370, 879,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 880, 383, 384, 385, 386, 650, 387, 881,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 882, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 883, 884, 0, 0, 410, 885, 412,
- 886, 887, 414, 415, 416, 417, 418, 0, 888, 419,
- 420, 421, 422, 889, 0, 423, 424, 425, 426, 427,
- 890, 429, 651, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 891, 892, 893, 894, 895,
- 896, 897, 447, 448, 449, 0, 0, 0, 0, 0,
- 652, 898, 557, 899, 900, 901, 902, 903, 0, 0,
- 0, 0, 904, 905, 0, 0, 0, 0, 0, 0,
- 0, 907, 171, 172, 173, 174, 175, 176, 177, 178,
- 0, 180, 181, 182, 0, 0, 0, 0, 841, 0,
- 0, 183, 184, 0, 185, 632, 186, 187, 188, 633,
- 842, 634, 843, 844, 0, 192, 193, 194, 195, 196,
- 845, 846, 197, 847, 848, 200, 0, 201, 202, 203,
- 204, 849, 0, 0, 206, 207, 208, 209, 210, 211,
- 0, 212, 213, 214, 215, 216, 0, 217, 218, 219,
- 635, 220, 221, 850, 851, 852, 853, 854, 222, 223,
- 224, 225, 226, 855, 856, 229, 0, 230, 0, 231,
- 232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
- 239, 240, 857, 242, 243, 0, 244, 245, 246, 0,
- 247, 248, 0, 249, 250, 251, 858, 253, 254, 859,
- 860, 256, 257, 258, 861, 0, 260, 0, 261, 636,
- 0, 637, 262, 263, 0, 264, 862, 0, 266, 0,
- 267, 268, 269, 270, 638, 271, 272, 273, 0, 274,
- 275, 276, 277, 278, 279, 0, 639, 280, 281, 282,
- 283, 284, 863, 864, 0, 865, 0, 288, 640, 641,
- 289, 642, 290, 291, 292, 293, 294, 0, 866, 643,
- 296, 644, 0, 297, 298, 299, 867, 868, 300, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 869, 645, 870, 455, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 871, 324, 325, 646, 326, 872,
- 873, 328, 874, 330, 331, 0, 0, 332, 456, 0,
- 0, 875, 334, 0, 0, 335, 647, 648, 876, 337,
- 338, 339, 340, 341, 0, 342, 877, 344, 345, 346,
- 347, 0, 348, 349, 350, 351, 352, 353, 878, 355,
- 356, 0, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 0, 367, 368, 649, 369, 370, 879, 372,
- 373, 374, 375, 376, 377, 378, 379, 37, 380, 381,
- 382, 880, 383, 384, 385, 386, 650, 387, 881, 0,
- 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
- 882, 400, 0, 401, 402, 0, 403, 404, 405, 406,
- 407, 0, 883, 884, 0, 0, 410, 885, 412, 886,
- 887, 414, 415, 416, 417, 418, 0, 888, 419, 420,
- 421, 422, 889, 0, 423, 424, 425, 426, 1404, 890,
- 429, 651, 430, 431, 432, 0, 0, 433, 434, 435,
- 436, 437, 438, 439, 891, 892, 893, 894, 895, 896,
- 897, 447, 448, 449, 0, 0, 0, 0, 0, 652,
- 898, 557, 899, 900, 901, 902, 903, 0, 0, 0,
- 0, 904, 905, 0, 0, 0, 0, 0, 0, 0,
- 907, 171, 172, 173, 174, 175, 176, 177, 178, 1512,
- 180, 181, 182, 0, 0, 0, 0, 841, 0, 0,
- 183, 184, 0, 185, 632, 186, 187, 188, 633, 842,
- 634, 843, 844, 0, 192, 193, 194, 195, 196, 845,
- 846, 197, 847, 848, 200, 0, 201, 202, 203, 204,
- 849, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 635,
- 220, 221, 850, 851, 852, 853, 854, 222, 223, 224,
- 225, 226, 855, 856, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 857, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 858, 253, 254, 859, 860,
- 256, 257, 258, 861, 0, 260, 0, 261, 636, 0,
- 637, 262, 263, 0, 264, 862, 0, 266, 0, 267,
- 268, 269, 270, 638, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 639, 280, 281, 282, 283,
- 284, 863, 864, 0, 865, 0, 288, 640, 641, 289,
- 642, 290, 291, 292, 293, 294, 0, 866, 643, 296,
- 644, 0, 297, 298, 299, 867, 868, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 869, 645, 870, 455, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 871, 324, 325, 646, 326, 872, 873,
- 328, 874, 330, 331, 0, 0, 332, 456, 0, 0,
- 875, 334, 0, 0, 335, 647, 648, 876, 337, 338,
- 339, 340, 341, 0, 342, 877, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 878, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 649, 369, 370, 879, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 880, 383, 384, 385, 386, 650, 387, 881, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 882,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 883, 884, 0, 0, 410, 885, 412, 886, 887,
- 414, 415, 416, 417, 418, 0, 888, 419, 420, 421,
- 422, 889, 0, 423, 424, 425, 426, 427, 890, 429,
- 651, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 891, 892, 893, 894, 895, 896, 897,
- 447, 448, 449, 0, 0, 0, 0, 0, 652, 898,
- 557, 899, 900, 901, 902, 903, 0, 0, 0, 0,
- 904, 905, 0, 0, 0, 0, 0, 0, 0, 907,
- 171, 172, 173, 174, 175, 176, 177, 178, 0, 180,
- 181, 182, 0, 0, 0, 0, 841, 0, 0, 183,
- 184, 0, 185, 632, 186, 187, 188, 633, 842, 634,
- 843, 844, 0, 192, 193, 194, 195, 196, 845, 846,
- 197, 847, 848, 200, 0, 201, 202, 203, 204, 849,
- 0, 0, 206, 207, 208, 209, 210, 211, 0, 212,
- 213, 214, 215, 216, 0, 217, 218, 219, 635, 220,
- 221, 850, 851, 852, 853, 854, 222, 223, 224, 225,
- 226, 855, 856, 229, 0, 230, 0, 231, 232, 233,
- 234, 235, 0, 236, 237, 238, 0, 0, 239, 240,
- 857, 242, 243, 0, 244, 245, 246, 0, 247, 248,
- 0, 249, 250, 251, 858, 253, 254, 859, 860, 256,
- 257, 258, 861, 0, 260, 0, 261, 636, 0, 637,
- 262, 263, 0, 264, 862, 0, 266, 0, 267, 268,
- 269, 270, 638, 271, 272, 273, 0, 274, 275, 276,
- 277, 278, 279, 0, 639, 280, 281, 282, 283, 284,
- 863, 864, 0, 865, 0, 288, 640, 641, 289, 642,
- 290, 291, 292, 293, 294, 0, 866, 643, 296, 644,
- 0, 297, 298, 299, 867, 868, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 869,
- 645, 870, 455, 315, 316, 317, 318, 319, 320, 321,
- 322, 323, 871, 324, 325, 646, 326, 872, 873, 328,
- 874, 330, 331, 0, 0, 332, 456, 0, 0, 875,
- 334, 0, 0, 335, 647, 648, 876, 337, 338, 339,
- 340, 341, 0, 342, 877, 344, 345, 346, 347, 0,
- 348, 349, 350, 351, 352, 353, 878, 355, 356, 0,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 0, 367, 368, 649, 369, 370, 879, 372, 373, 374,
- 375, 376, 377, 378, 379, 0, 380, 381, 382, 880,
- 383, 384, 385, 386, 650, 387, 881, 0, 389, 390,
- 391, 392, 393, 394, 395, 396, 397, 398, 882, 400,
- 0, 401, 402, 0, 403, 404, 405, 406, 407, 0,
- 883, 884, 0, 0, 410, 885, 412, 886, 887, 414,
- 415, 416, 417, 418, 0, 888, 419, 420, 421, 422,
- 889, 0, 423, 424, 425, 426, 427, 890, 429, 651,
- 430, 431, 432, 0, 0, 433, 434, 435, 436, 437,
- 438, 439, 891, 892, 893, 894, 895, 896, 897, 447,
- 448, 449, 0, 0, 0, 0, 0, 652, 898, 557,
- 899, 900, 901, 902, 903, 0, 0, 0, 0, 904,
- 905, 0, 0, 0, 0, 0, 1349, 0, 907, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 841, 0, 0, 183, 184,
- 0, 185, 632, 186, 187, 188, 633, 842, 634, 843,
- 844, 0, 192, 193, 194, 195, 196, 845, 846, 197,
- 847, 848, 200, 0, 201, 202, 203, 204, 849, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 635, 220, 221,
- 850, 851, 852, 853, 854, 222, 223, 224, 225, 226,
- 855, 856, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 857,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 858, 253, 254, 859, 860, 256, 257,
- 258, 861, 0, 260, 0, 261, 636, 1872, 637, 262,
- 263, 0, 264, 862, 0, 266, 0, 267, 268, 269,
- 270, 638, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 639, 280, 281, 282, 283, 284, 863,
- 864, 0, 865, 0, 288, 640, 641, 289, 642, 290,
- 291, 292, 293, 294, 0, 866, 643, 296, 644, 0,
- 297, 298, 299, 867, 868, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 869, 645,
- 870, 455, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 871, 324, 325, 646, 326, 872, 873, 328, 874,
- 330, 331, 0, 0, 332, 456, 0, 0, 875, 334,
- 0, 0, 335, 647, 648, 876, 337, 338, 339, 340,
- 341, 0, 342, 877, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 878, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 649, 369, 370, 879, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 880, 383,
- 384, 385, 386, 650, 387, 881, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 882, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 883,
- 884, 0, 0, 410, 885, 412, 886, 887, 414, 415,
- 416, 417, 418, 0, 888, 419, 420, 421, 422, 889,
- 0, 423, 424, 425, 426, 427, 890, 429, 651, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 891, 892, 893, 894, 895, 896, 897, 447, 448,
- 449, 0, 0, 0, 0, 0, 652, 898, 557, 899,
- 900, 901, 902, 903, 0, 0, 0, 0, 904, 905,
- 0, 0, 0, 0, 0, 0, 0, 907, 171, 172,
- 173, 174, 175, 176, 177, 178, 0, 180, 181, 182,
- 0, 0, 0, 0, 841, 0, 0, 183, 184, 0,
- 185, 632, 186, 187, 188, 633, 842, 634, 843, 844,
- 0, 192, 193, 194, 195, 196, 845, 846, 197, 847,
- 848, 200, 0, 201, 202, 203, 204, 849, 0, 0,
- 206, 207, 208, 209, 210, 211, 0, 212, 213, 214,
- 215, 216, 0, 217, 218, 219, 635, 220, 221, 850,
- 851, 852, 853, 854, 222, 223, 224, 225, 226, 855,
- 856, 229, 0, 230, 0, 231, 232, 233, 234, 235,
- 0, 236, 237, 238, 0, 0, 239, 240, 857, 242,
- 243, 0, 244, 245, 246, 0, 247, 248, 0, 249,
- 250, 251, 858, 253, 254, 859, 860, 256, 257, 258,
- 861, 0, 260, 0, 261, 636, 0, 637, 262, 263,
- 0, 264, 862, 0, 266, 0, 267, 268, 269, 270,
- 638, 271, 272, 273, 0, 274, 275, 276, 277, 278,
- 279, 0, 639, 280, 281, 282, 283, 284, 863, 864,
- 0, 865, 0, 288, 640, 641, 289, 642, 290, 291,
- 292, 293, 294, 0, 866, 643, 296, 644, 0, 297,
- 298, 299, 867, 868, 300, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, 869, 645, 870,
- 455, 315, 316, 317, 318, 319, 320, 321, 322, 323,
- 871, 324, 325, 646, 326, 872, 873, 328, 874, 330,
- 331, 0, 0, 332, 456, 0, 0, 875, 334, 0,
- 0, 335, 647, 648, 876, 337, 338, 339, 340, 341,
- 0, 342, 877, 344, 345, 346, 347, 0, 348, 349,
- 350, 351, 352, 353, 878, 355, 356, 0, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 0, 367,
- 368, 649, 369, 370, 879, 372, 373, 374, 375, 376,
- 377, 378, 379, 0, 380, 381, 382, 880, 383, 384,
- 385, 386, 650, 387, 881, 0, 389, 390, 391, 392,
- 393, 394, 395, 396, 397, 398, 882, 400, 0, 401,
- 402, 0, 403, 404, 405, 406, 407, 0, 883, 884,
- 0, 0, 410, 885, 412, 886, 887, 414, 415, 416,
- 417, 418, 0, 888, 419, 420, 421, 422, 889, 0,
- 423, 424, 425, 426, 427, 890, 429, 651, 430, 431,
- 432, 0, 0, 433, 434, 435, 436, 437, 438, 439,
- 891, 892, 893, 894, 895, 896, 897, 447, 448, 449,
- 0, 0, 0, 0, 0, 652, 898, 557, 899, 900,
- 901, 902, 903, 0, 0, 0, 0, 904, 905, 0,
- 0, 0, 0, 0, 0, 0, 907, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 841, 0, 0, 183, 184, 0, 185,
- 632, 186, 187, 188, 633, 842, 634, 843, 844, 0,
- 192, 193, 194, 195, 196, 845, 846, 197, 847, 848,
- 200, 0, 201, 202, 203, 204, 849, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 635, 220, 2244, 850, 851,
- 852, 853, 854, 222, 223, 224, 225, 226, 855, 856,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 857, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 858, 253, 254, 859, 860, 256, 257, 258, 861,
- 0, 260, 0, 261, 636, 0, 637, 262, 263, 0,
- 264, 862, 0, 266, 0, 267, 268, 269, 270, 638,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 639, 280, 281, 282, 283, 284, 863, 864, 0,
- 865, 0, 288, 640, 641, 289, 642, 290, 291, 292,
- 293, 294, 0, 866, 643, 296, 644, 0, 297, 298,
- 299, 867, 868, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 869, 645, 870, 455,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 871,
- 324, 325, 646, 326, 872, 873, 328, 874, 330, 331,
- 0, 0, 332, 456, 0, 0, 875, 334, 0, 0,
- 335, 647, 648, 876, 337, 338, 339, 340, 341, 0,
- 342, 877, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 878, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 649, 369, 370, 879, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 880, 383, 384, 385,
- 386, 650, 387, 881, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 882, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 883, 884, 0,
- 0, 410, 885, 412, 886, 887, 414, 415, 416, 417,
- 418, 0, 888, 419, 420, 421, 422, 889, 0, 423,
- 424, 425, 426, 427, 890, 429, 651, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 891,
- 892, 893, 894, 895, 896, 897, 447, 448, 449, 0,
- 0, 0, 0, 0, 652, 898, 557, 899, 900, 901,
- 902, 903, 0, 0, 0, 0, 904, 905, 0, 0,
- 0, 0, 0, 0, 0, 907, 171, 172, 173, 174,
- 175, 176, 177, 178, 0, 180, 181, 182, 0, 0,
- 0, 0, 841, 0, 0, 183, 184, 0, 185, 632,
- 186, 187, 188, 633, 842, 634, 843, 844, 0, 192,
- 193, 194, 195, 196, 845, 846, 197, 847, 848, 200,
- 0, 201, 202, 203, 204, 849, 0, 0, 206, 207,
- 208, 209, 210, 211, 0, 212, 213, 214, 215, 216,
- 0, 217, 218, 219, 635, 220, 221, 850, 851, 852,
- 853, 854, 222, 223, 224, 225, 226, 855, 856, 229,
- 0, 230, 0, 231, 232, 233, 234, 235, 0, 236,
- 237, 238, 0, 0, 239, 240, 857, 242, 243, 0,
- 244, 245, 246, 0, 247, 248, 0, 249, 250, 251,
- 858, 253, 254, 859, 860, 256, 257, 258, 861, 0,
- 260, 0, 261, 636, 0, 637, 262, 263, 0, 264,
- 862, 0, 266, 0, 267, 268, 269, 270, 638, 271,
- 272, 273, 0, 274, 275, 276, 277, 278, 279, 0,
- 639, 280, 281, 282, 283, 284, 863, 864, 0, 865,
- 0, 288, 640, 641, 289, 642, 290, 291, 292, 293,
- 294, 0, 866, 643, 296, 644, 0, 297, 298, 299,
- 867, 868, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 869, 645, 870, 455, 315,
- 316, 317, 318, 319, 320, 321, 322, 323, 871, 324,
- 325, 646, 326, 872, 873, 328, 874, 330, 331, 0,
- 0, 332, 456, 0, 0, 875, 334, 0, 0, 335,
- 647, 648, 876, 337, 338, 339, 340, 341, 0, 342,
- 877, 344, 345, 346, 347, 0, 348, 349, 350, 351,
- 352, 353, 878, 355, 356, 0, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 0, 367, 368, 649,
- 369, 370, 879, 372, 373, 374, 375, 376, 377, 378,
- 379, 0, 380, 381, 382, 880, 383, 384, 385, 386,
- 650, 387, 881, 0, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 882, 400, 0, 401, 402, 0,
- 403, 404, 405, 406, 407, 0, 883, 884, 0, 0,
- 410, 885, 412, 886, 887, 414, 415, 416, 417, 418,
- 0, 888, 419, 420, 421, 422, 889, 0, 423, 424,
- 425, 426, 427, 890, 429, 651, 430, 431, 432, 0,
- 0, 433, 434, 435, 436, 437, 438, 2922, 891, 892,
- 893, 894, 895, 896, 897, 447, 448, 449, 0, 0,
- 0, 0, 0, 652, 898, 557, 899, 900, 901, 902,
- 903, 0, 0, 0, 0, 904, 905, 0, 0, 0,
- 0, 0, 0, 0, 907, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 841, 0, 0, 183, 184, 0, 185, 632, 186,
- 187, 188, 633, 842, 634, 843, 844, 0, 192, 193,
- 194, 195, 196, 845, 846, 197, 847, 848, 200, 0,
- 201, 202, 203, 204, 849, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 635, 220, 221, 850, 851, 852, 853,
- 854, 222, 223, 224, 225, 226, 855, 856, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 857, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 858,
- 253, 254, 859, 860, 256, 257, 258, 861, 0, 260,
- 0, 261, 636, 0, 637, 262, 263, 0, 264, 862,
- 0, 266, 0, 267, 268, 269, 270, 638, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 639,
- 280, 281, 282, 283, 284, 863, 864, 0, 865, 0,
- 288, 640, 641, 289, 642, 290, 291, 292, 293, 294,
- 0, 866, 643, 296, 644, 0, 297, 298, 299, 867,
- 868, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 869, 645, 870, 455, 315, 2929,
- 317, 318, 319, 320, 321, 322, 323, 871, 324, 325,
- 646, 326, 872, 873, 328, 874, 330, 331, 0, 0,
- 332, 456, 0, 0, 875, 334, 0, 0, 335, 647,
- 648, 876, 337, 338, 339, 340, 341, 0, 342, 877,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 878, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 649, 369,
- 370, 879, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 880, 383, 384, 385, 386, 650,
- 387, 881, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 882, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 883, 884, 0, 0, 410,
- 885, 412, 886, 887, 414, 415, 416, 417, 418, 0,
- 888, 419, 420, 421, 422, 889, 0, 423, 424, 425,
- 426, 427, 890, 429, 651, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 891, 892, 893,
- 894, 895, 896, 897, 447, 448, 449, 0, 0, 0,
- 0, 0, 652, 898, 557, 899, 900, 901, 902, 903,
- 0, 0, 0, 0, 904, 905, 0, 0, 0, 0,
- 0, 0, 0, 907, 171, 172, 173, 174, 175, 176,
- 177, 178, 0, 180, 181, 182, 0, 0, 0, 0,
- 841, 0, 0, 183, 184, 0, 185, 632, 186, 187,
- 188, 633, 842, 634, 843, 844, 0, 192, 193, 194,
- 195, 196, 845, 846, 197, 847, 848, 200, 0, 201,
- 202, 203, 204, 849, 0, 0, 206, 207, 208, 209,
- 210, 211, 0, 212, 213, 214, 215, 216, 0, 217,
- 218, 219, 635, 220, 221, 850, 851, 852, 853, 854,
- 222, 223, 224, 225, 226, 855, 856, 229, 0, 230,
- 0, 231, 232, 233, 234, 235, 0, 236, 237, 238,
- 0, 0, 239, 240, 857, 242, 243, 0, 244, 245,
- 246, 0, 247, 248, 0, 249, 250, 251, 858, 253,
- 254, 859, 860, 256, 257, 258, 861, 0, 260, 0,
- 261, 636, 0, 637, 262, 263, 0, 264, 862, 0,
- 266, 0, 267, 268, 269, 270, 638, 271, 272, 273,
- 0, 274, 275, 276, 277, 278, 279, 0, 639, 280,
- 281, 282, 283, 284, 863, 864, 0, 865, 0, 288,
- 640, 641, 289, 642, 290, 291, 292, 293, 294, 0,
- 866, 643, 296, 644, 0, 297, 298, 299, 867, 868,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 869, 645, 870, 455, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 0, 324, 325, 646,
- 326, 872, 873, 328, 874, 330, 331, 0, 0, 332,
- 456, 0, 0, 875, 334, 0, 0, 335, 647, 648,
- 876, 337, 338, 339, 340, 341, 0, 342, 877, 344,
- 345, 346, 347, 0, 348, 349, 350, 351, 352, 353,
- 878, 355, 356, 0, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 0, 367, 368, 649, 369, 370,
- 879, 372, 373, 374, 375, 376, 377, 378, 379, 0,
- 380, 381, 382, 880, 383, 384, 385, 386, 650, 387,
- 881, 0, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 398, 882, 400, 0, 401, 402, 0, 403, 404,
- 405, 406, 407, 0, 883, 884, 0, 0, 410, 885,
- 412, 886, 887, 414, 415, 416, 417, 418, 0, 0,
- 419, 420, 421, 422, 889, 0, 423, 424, 425, 426,
- 427, 890, 429, 651, 430, 431, 432, 0, 0, 433,
- 434, 435, 436, 437, 438, 439, 891, 892, 893, 894,
- 895, 896, 897, 447, 448, 449, 0, 0, 0, 0,
- 0, 652, 898, 557, 899, 900, 901, 902, 903, 0,
- 0, 0, 0, 1854, 1855, 0, 0, 0, 0, 0,
- 0, 0, 907, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 841,
- 0, 0, 183, 184, 0, 185, 632, 186, 187, 188,
- 0, 842, 634, 843, 844, 0, 192, 193, 194, 195,
- 196, 845, 846, 197, 847, 848, 200, 0, 201, 202,
- 203, 204, 849, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 635, 220, 221, 850, 851, 852, 853, 854, 222,
- 223, 224, 225, 226, 855, 856, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 857, 242, 243, 0, 244, 245, 246,
- 0, 247, 0, 0, 249, 250, 251, 858, 253, 254,
- 859, 860, 256, 257, 258, 861, 0, 260, 0, 261,
- 636, 0, 637, 262, 263, 0, 264, 862, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 639, 280, 281,
- 282, 283, 284, 863, 864, 0, 865, 0, 288, 640,
- 641, 289, 642, 290, 291, 292, 293, 294, 0, 866,
- 643, 296, 0, 0, 297, 298, 299, 867, 868, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 869, 645, 870, 455, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 646, 326,
- 872, 873, 328, 874, 330, 331, 0, 0, 332, 456,
- 0, 0, 875, 334, 0, 0, 335, 647, 648, 876,
- 337, 338, 339, 340, 341, 0, 342, 877, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 878,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 649, 369, 370, 879,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 880, 383, 384, 385, 386, 0, 387, 881,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 882, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 883, 884, 0, 0, 410, 885, 412,
- 886, 887, 414, 415, 416, 417, 418, 0, 888, 419,
- 420, 421, 422, 889, 0, 423, 424, 425, 426, 427,
- 890, 429, 651, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 891, 892, 893, 894, 895,
- 896, 897, 447, 448, 449, 0, 0, 0, 0, 0,
- 652, 898, 557, 899, 900, 901, 902, 903, 0, 0,
- 0, 0, 904, 905, 0, 0, 0, 0, 0, 0,
- 0, 907, 171, 172, 173, 174, 175, 176, 177, 178,
- 0, 180, 181, 182, 0, 0, 0, 0, 841, 0,
- 0, 183, 184, 0, 185, 632, 186, 187, 188, 0,
- 842, 634, 843, 844, 0, 192, 193, 194, 195, 196,
- 845, 846, 197, 847, 848, 200, 0, 201, 202, 203,
- 204, 849, 0, 0, 206, 207, 208, 209, 210, 211,
- 0, 212, 213, 214, 215, 216, 0, 217, 218, 219,
- 635, 220, 221, 850, 851, 852, 853, 854, 222, 223,
- 224, 225, 226, 855, 856, 229, 0, 230, 0, 231,
- 232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
- 239, 240, 857, 242, 243, 0, 244, 245, 246, 0,
- 247, 0, 0, 249, 250, 251, 858, 253, 254, 859,
- 860, 256, 257, 258, 861, 0, 260, 0, 261, 636,
- 0, 637, 262, 263, 0, 264, 862, 0, 266, 0,
- 267, 268, 269, 270, 0, 271, 272, 273, 0, 274,
- 275, 276, 277, 278, 279, 0, 639, 280, 281, 282,
- 283, 284, 863, 864, 0, 865, 0, 288, 640, 641,
- 289, 642, 290, 291, 292, 293, 294, 0, 866, 643,
- 296, 0, 0, 297, 298, 299, 867, 868, 300, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 869, 645, 870, 455, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 0, 324, 325, 646, 326, 872,
- 873, 328, 874, 330, 331, 0, 0, 332, 456, 0,
- 0, 875, 334, 0, 0, 335, 647, 648, 876, 337,
- 338, 339, 340, 341, 0, 342, 877, 344, 345, 346,
- 347, 0, 348, 349, 350, 351, 352, 353, 878, 355,
- 356, 0, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 0, 367, 368, 649, 369, 370, 879, 372,
- 373, 374, 375, 376, 377, 378, 379, 0, 380, 381,
- 382, 880, 383, 384, 385, 386, 0, 387, 881, 0,
- 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
- 882, 400, 0, 401, 402, 0, 403, 404, 405, 406,
- 407, 0, 883, 884, 0, 0, 410, 885, 412, 886,
- 887, 414, 415, 416, 417, 418, 0, 0, 419, 420,
- 421, 422, 889, 0, 423, 424, 425, 426, 427, 890,
- 429, 651, 430, 431, 432, 0, 0, 433, 434, 435,
- 436, 437, 438, 439, 891, 892, 893, 894, 895, 896,
- 897, 447, 448, 449, 0, 0, 0, 0, 0, 652,
- 898, 557, 899, 900, 901, 902, 903, 0, 0, 0,
- 0, 1854, 1855, 0, 0, 0, 0, 0, 0, 0,
- 907, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 632, 186, 187, 188, 633, 189,
- 634, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 846, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 849, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 635,
- 220, 221, 850, 851, 852, 853, 854, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 859, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 636, 0,
- 637, 262, 263, 0, 264, 862, 0, 266, 0, 267,
- 268, 269, 270, 638, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 639, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 640, 641, 289,
- 642, 290, 291, 292, 293, 294, 0, 866, 643, 296,
- 644, 0, 297, 298, 299, 867, 868, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 645, 314, 455, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 646, 326, 0, 873,
- 328, 329, 330, 331, 0, 0, 332, 456, 0, 610,
- 333, 334, 0, 0, 335, 647, 648, 876, 337, 338,
- 339, 340, 341, 0, 342, 877, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 649, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 37, 380, 381, 382,
- 880, 383, 384, 385, 386, 650, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 882,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 885, 412, 886, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 889, 0, 423, 424, 425, 426, 1404, 428, 429,
- 651, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 891, 892, 893, 894, 895, 896, 897,
- 447, 448, 449, 0, 0, 0, 0, 0, 652, 0,
- 0, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 1739,
- 183, 184, 0, 185, 632, 186, 187, 188, 633, 189,
- 634, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 846, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 849, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 635,
- 220, 221, 850, 851, 852, 853, 854, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 859, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 636, 0,
- 637, 262, 263, 0, 264, 862, 0, 266, 0, 267,
- 268, 269, 270, 638, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 639, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 640, 641, 289,
- 642, 290, 291, 292, 293, 294, 0, 866, 643, 296,
- 644, 0, 297, 298, 299, 867, 868, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 645, 314, 455, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 646, 326, 0, 873,
- 328, 329, 330, 331, 0, 0, 332, 456, 0, 610,
- 333, 334, 0, 0, 335, 647, 648, 876, 337, 338,
- 339, 340, 341, 0, 342, 877, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 649, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 880, 383, 384, 385, 386, 650, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 882,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 885, 412, 886, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 889, 0, 423, 424, 425, 426, 427, 428, 429,
- 651, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 891, 892, 893, 894, 895, 896, 897,
- 447, 448, 449, 0, 0, 0, 0, 0, 652, 0,
- 0, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 1739,
- 183, 184, 0, 185, 632, 186, 187, 188, 633, 189,
- 634, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 846, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 849, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 635,
- 220, 221, 850, 851, 852, 853, 854, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 859, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 636, 0,
- 637, 262, 263, 0, 264, 862, 0, 266, 0, 267,
- 268, 269, 270, 638, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 639, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 640, 641, 289,
- 642, 290, 291, 292, 293, 294, 0, 866, 643, 296,
- 644, 0, 297, 298, 299, 867, 868, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 645, 314, 455, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 646, 326, 0, 873,
- 328, 329, 330, 331, 0, 0, 332, 456, 0, 0,
- 333, 334, 0, 0, 335, 647, 648, 876, 337, 338,
- 339, 340, 341, 0, 342, 877, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 649, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 880, 383, 384, 385, 386, 650, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 882,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 885, 412, 886, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 889, 0, 423, 424, 425, 426, 427, 428, 429,
- 651, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 891, 892, 893, 894, 895, 896, 897,
- 447, 448, 449, 0, 0, 0, 0, 0, 652, 0,
- 0, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 3041,
- 183, 184, 0, 185, 632, 186, 187, 188, 633, 189,
- 634, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 635,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 636, 0,
- 637, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 638, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 639, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 640, 641, 289,
- 642, 290, 291, 292, 293, 294, 0, 295, 643, 296,
- 644, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 645, 314, 455, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 646, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 456, 0, 0,
- 333, 334, 0, 0, 335, 647, 648, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 649, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 650, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 651, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 652, 0,
- 0, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 3089,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 455, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 456, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 0,
- 0, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 959,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 37, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 1404, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 0,
- 0, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 46,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 0,
- 0, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 1489,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 0,
+ 0, 1226, 1227, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1222, 0, 1222, 1220, 0, 0, 1227,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1225, 1220,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1441, 0, 0,
+ 0, 1442, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1227, 1223, 1220, 0, 0, 0, 0, 0, 0,
+ 0, 1443, 1444, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1445, 1222, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2621,
- 171, 172, 173, 174, 175, 176, 177, 178, 1081, 180,
- 181, 182, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 183,
- 184, 1089, 185, 632, 186, 187, 188, 633, 1190, 634,
- 1191, 1192, 1090, 192, 193, 194, 195, 196, 1091, 1092,
- 197, 1193, 1194, 200, 1093, 201, 202, 203, 204, 0,
- 1094, 1095, 206, 207, 208, 209, 210, 211, 1096, 212,
- 213, 214, 215, 216, 1097, 217, 218, 219, 635, 220,
- 221, 1098, 1099, 1100, 1101, 1102, 222, 223, 224, 225,
- 226, 1195, 1196, 229, 1103, 230, 1104, 231, 232, 233,
- 234, 235, 1105, 236, 237, 238, 1106, 1107, 239, 240,
- 857, 242, 243, 1108, 244, 245, 246, 1109, 247, 248,
- 1110, 249, 250, 251, 0, 253, 254, 0, 1111, 256,
- 257, 258, 1197, 1112, 260, 1113, 261, 636, 1114, 637,
- 262, 263, 1115, 264, 0, 1116, 266, 1117, 267, 268,
- 269, 270, 638, 271, 272, 273, 1118, 274, 275, 276,
- 277, 278, 279, 1119, 639, 0, 281, 282, 283, 284,
- 1198, 1199, 1120, 1200, 1121, 288, 640, 641, 289, 642,
- 290, 291, 292, 293, 294, 1122, 0, 643, 296, 644,
- 1123, 297, 298, 299, 1124, 1125, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 1201,
- 645, 1202, 1126, 315, 316, 317, 318, 319, 320, 321,
- 0, 323, 1127, 324, 325, 646, 326, 1128, 0, 328,
- 1203, 330, 331, 1129, 1130, 332, 1131, 1132, 1133, 2521,
- 334, 1134, 1135, 0, 647, 648, 0, 337, 338, 339,
- 340, 341, 1136, 342, 0, 0, 345, 346, 347, 1137,
- 348, 349, 350, 351, 352, 353, 1204, 355, 356, 1138,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 1139, 367, 368, 649, 369, 370, 0, 372, 373, 374,
- 375, 376, 377, 378, 379, 1140, 380, 381, 382, 1141,
- 383, 1566, 385, 386, 650, 387, 1206, 1142, 389, 390,
- 391, 392, 393, 394, 395, 396, 397, 398, 0, 400,
- 1143, 401, 402, 1144, 403, 404, 405, 406, 407, 1145,
- 1207, 1208, 1146, 1147, 410, 0, 412, 0, 1148, 414,
- 415, 416, 417, 418, 1149, 1150, 419, 420, 421, 422,
- 1151, 1152, 423, 424, 425, 426, 0, 1209, 429, 651,
- 430, 431, 432, 1153, 1154, 433, 434, 435, 436, 437,
- 438, 0, 0, 0, 0, 0, 0, 0, 0, 447,
- 448, 449, 0, 0, 0, 0, 0, 1210, 1460, 557,
- 0, 0, 670, 542, 0, 671, 672, 673, 0, 674,
- 2522, 676, 677, 678, 679, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 668, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 669, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 0, 0, 0, 0, 670, 0, 0,
- 671, 672, 673, 0, 674, 675, 676, 677, 678, 679,
- 171, 172, 173, 174, 175, 176, 177, 178, 0, 180,
- 181, 182, 0, 0, 0, 0, 0, 0, 0, 183,
- 184, 0, 185, 0, 186, 187, 188, 0, 189, 0,
- 190, 191, 0, 192, 193, 194, 195, 196, 0, 0,
- 197, 198, 199, 200, 0, 201, 745, 203, 204, 205,
- 0, 0, 206, 207, 208, 209, 210, 211, 0, 212,
- 213, 214, 215, 216, 0, 217, 218, 219, 0, 220,
- 221, 0, 0, 0, 0, 0, 222, 223, 224, 225,
- 226, 227, 228, 229, 0, 230, 0, 231, 232, 233,
- 234, 235, 0, 236, 237, 238, 0, 0, 239, 240,
- 241, 242, 243, 0, 244, 245, 246, 0, 247, 248,
- 0, 249, 250, 251, 252, 253, 254, 255, 0, 746,
- 257, 258, 259, 0, 260, 0, 261, 0, 0, 0,
- 262, 263, 0, 264, 265, 0, 266, 0, 267, 268,
- 269, 270, 0, 271, 272, 273, 0, 274, 275, 276,
- 277, 278, 279, 0, 0, 280, 281, 282, 283, 284,
- 285, 286, 0, 287, 0, 288, 0, 0, 289, 0,
- 290, 291, 292, 293, 294, 0, 295, 0, 296, 0,
- 0, 297, 298, 299, 0, 0, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 0, 314, 0, 315, 316, 317, 318, 319, 320, 321,
- 322, 323, 0, 324, 325, 0, 326, 0, 327, 328,
- 329, 330, 331, 0, 0, 332, 0, 0, 0, 333,
- 334, 0, 0, 335, 0, 0, 336, 337, 338, 339,
- 340, 341, 0, 342, 343, 344, 345, 346, 347, 0,
- 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 0, 367, 368, 0, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 0, 380, 381, 382, 0,
- 383, 384, 385, 386, 0, 387, 388, 0, 389, 390,
- 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
- 0, 401, 402, 0, 403, 404, 405, 406, 407, 0,
- 408, 409, 0, 0, 410, 411, 412, 413, 0, 414,
- 415, 416, 417, 418, 0, 0, 419, 420, 421, 422,
- 0, 0, 423, 424, 425, 426, 427, 428, 429, 0,
- 430, 431, 432, 0, 0, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
- 448, 449, 0, 0, 0, 0, 0, 450, 0, 0,
- 0, 0, 670, 0, 0, 671, 672, 673, 0, 674,
- 675, 676, 677, 678, 679, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 781, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 782, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 783, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 0, 0, 0, 0, 670, 0, 0,
- 671, 672, 673, 0, 674, 675, 676, 677, 678, 679,
- 171, 172, 173, 174, 175, 176, 177, 178, 0, 180,
- 181, 182, 0, 0, 0, 0, 0, 0, 0, 183,
- 184, 0, 185, 0, 186, 187, 188, 0, 189, 0,
- 190, 191, 0, 192, 193, 194, 195, 196, 0, 0,
- 197, 198, 199, 200, 0, 201, 1172, 203, 204, 205,
- 0, 0, 206, 207, 208, 209, 210, 211, 0, 212,
- 213, 214, 215, 216, 0, 217, 218, 219, 0, 220,
- 221, 0, 0, 0, 0, 0, 222, 223, 224, 225,
- 226, 227, 228, 229, 0, 230, 0, 231, 232, 233,
- 234, 235, 0, 236, 237, 238, 0, 0, 239, 240,
- 241, 242, 243, 0, 244, 245, 246, 0, 247, 248,
- 0, 249, 250, 251, 252, 253, 254, 255, 0, 1173,
- 257, 258, 259, 0, 260, 0, 261, 0, 0, 0,
- 262, 263, 0, 264, 265, 0, 266, 0, 267, 268,
- 269, 270, 0, 271, 272, 273, 0, 274, 275, 276,
- 277, 278, 279, 0, 0, 280, 281, 282, 283, 284,
- 285, 286, 0, 287, 0, 288, 0, 0, 289, 0,
- 290, 291, 292, 293, 294, 0, 295, 0, 296, 0,
- 0, 297, 298, 299, 0, 0, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 0, 314, 0, 315, 316, 317, 318, 319, 320, 321,
- 322, 323, 0, 324, 325, 0, 326, 0, 327, 328,
- 329, 330, 331, 0, 0, 332, 0, 0, 0, 333,
- 334, 0, 0, 335, 0, 0, 336, 337, 338, 339,
- 340, 341, 0, 342, 343, 344, 345, 346, 347, 0,
- 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 0, 367, 368, 0, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 0, 380, 381, 382, 0,
- 383, 384, 385, 386, 0, 387, 388, 0, 389, 390,
- 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
- 0, 401, 402, 0, 403, 404, 405, 406, 407, 0,
- 408, 409, 0, 0, 410, 411, 412, 413, 0, 414,
- 415, 416, 417, 418, 0, 0, 419, 420, 421, 422,
- 0, 0, 423, 424, 425, 426, 427, 428, 429, 0,
- 430, 431, 432, 0, 0, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
- 448, 449, 0, 0, 0, 0, 0, 450, 0, 0,
- 0, 0, 670, 0, 0, 671, 672, 673, 0, 674,
- 675, 676, 677, 678, 679, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 0, 0, 0, 0, 670, 0, 0,
- 671, 672, 673, 0, 674, 675, 676, 677, 678, 679,
- 171, 172, 173, 174, 175, 176, 177, 178, 1081, 180,
- 181, 182, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 183,
- 184, 1089, 185, 632, 186, 187, 188, 633, 189, 634,
- 190, 191, 1090, 192, 193, 194, 195, 196, 1091, 1092,
- 197, 198, 199, 200, 1093, 201, 202, 203, 204, 205,
- 1094, 1095, 206, 207, 208, 209, 210, 211, 1096, 212,
- 213, 214, 215, 216, 1097, 217, 218, 219, 635, 220,
- 221, 1098, 1099, 1100, 1101, 1102, 222, 223, 224, 225,
- 226, 227, 228, 229, 1103, 230, 1104, 231, 232, 233,
- 234, 235, 1105, 236, 237, 238, 1106, 1107, 239, 240,
- 241, 242, 243, 1108, 244, 245, 246, 1109, 247, 248,
- 1110, 249, 250, 251, 252, 253, 254, 255, 1111, 256,
- 257, 258, 259, 1112, 260, 1113, 261, 636, 1114, 637,
- 262, 263, 1115, 264, 265, 1116, 266, 1117, 267, 268,
- 269, 270, 638, 271, 272, 273, 1118, 274, 275, 276,
- 277, 278, 279, 1119, 639, 280, 281, 282, 283, 284,
- 285, 286, 1120, 287, 1121, 288, 640, 641, 289, 642,
- 290, 291, 292, 293, 294, 1122, 295, 643, 296, 644,
- 1123, 297, 298, 299, 1124, 1125, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 645, 314, 1126, 315, 316, 317, 318, 319, 320, 321,
- 322, 323, 1127, 324, 325, 646, 326, 1128, 327, 328,
- 329, 330, 331, 1129, 1130, 332, 1131, 1132, 1133, 333,
- 334, 1134, 1135, 335, 647, 648, 336, 337, 338, 339,
- 340, 341, 1136, 342, 343, 344, 345, 346, 347, 1137,
- 348, 349, 350, 351, 352, 353, 354, 355, 356, 1138,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 1139, 367, 368, 649, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 1140, 380, 381, 382, 1141,
- 383, 384, 385, 386, 650, 387, 388, 1142, 389, 390,
- 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
- 1143, 401, 402, 1144, 403, 404, 405, 406, 407, 1145,
- 408, 409, 1146, 1147, 410, 411, 412, 413, 1148, 414,
- 415, 416, 417, 418, 1149, 1150, 419, 420, 421, 422,
- 1151, 1152, 423, 424, 425, 426, 427, 428, 429, 651,
- 430, 431, 432, 1153, 1154, 433, 434, 435, 436, 437,
- 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
- 448, 449, 0, 0, 0, 0, 0, 1155, 171, 172,
- 173, 174, 175, 176, 177, 178, 0, 180, 181, 182,
- 0, 1156, 0, 0, 0, 0, 0, 183, 184, 0,
- 185, 0, 186, 187, 188, 0, 189, 0, 190, 191,
- 0, 192, 193, 194, 195, 196, 0, 0, 197, 198,
- 199, 200, 0, 201, 202, 203, 204, 205, 0, 0,
- 206, 207, 208, 209, 210, 211, 0, 212, 213, 214,
- 215, 216, 0, 217, 218, 219, 0, 220, 221, 0,
- 0, 0, 0, 0, 222, 223, 224, 225, 226, 227,
- 228, 229, 0, 230, 0, 231, 232, 233, 234, 235,
- 0, 236, 237, 238, 0, 0, 239, 240, 241, 242,
- 243, 0, 244, 245, 246, 0, 247, 248, 0, 249,
- 250, 251, 252, 253, 254, 255, 0, 256, 257, 258,
- 259, 0, 260, 0, 261, 0, 0, 0, 262, 263,
- 0, 264, 265, 0, 266, 0, 267, 268, 269, 270,
- 0, 271, 272, 273, 0, 274, 275, 276, 277, 278,
- 279, 0, 0, 280, 281, 282, 283, 284, 285, 286,
- 0, 287, 0, 288, 0, 0, 289, 0, 290, 291,
- 292, 293, 294, 0, 295, 0, 296, 0, 0, 297,
- 298, 299, 0, 0, 300, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, 313, 0, 314,
- 0, 315, 316, 317, 318, 319, 320, 321, 322, 323,
- 0, 324, 325, 0, 326, 0, 327, 328, 329, 330,
- 331, 0, 0, 332, 0, 0, 0, 333, 334, 0,
- 0, 335, 0, 0, 336, 337, 338, 339, 340, 341,
- 0, 342, 343, 344, 345, 346, 347, 0, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 0, 367,
- 368, 0, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 0, 380, 381, 382, 0, 383, 384,
- 385, 386, 0, 387, 388, 0, 389, 390, 391, 392,
- 393, 394, 395, 396, 397, 398, 399, 400, 0, 401,
- 402, 0, 403, 404, 405, 406, 407, 0, 408, 409,
- 0, 0, 410, 411, 412, 413, 0, 414, 415, 416,
- 417, 418, 0, 0, 419, 420, 421, 422, 0, 0,
- 423, 424, 425, 426, 427, 428, 429, 0, 430, 431,
- 432, 0, 0, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 0, 0, 0, 0, 0, 450, 171, 172, 173, 174,
- 175, 176, 177, 178, 0, 180, 181, 182, 0, 608,
- 0, 0, 0, 0, 0, 183, 184, 0, 185, 632,
- 186, 187, 188, 633, 1190, 634, 1191, 1192, 0, 192,
- 193, 194, 195, 196, 0, 0, 197, 1193, 1194, 200,
- 0, 201, 202, 203, 204, 0, 0, 0, 206, 207,
- 208, 209, 210, 211, 0, 212, 213, 214, 215, 216,
- 0, 217, 218, 219, 635, 220, 221, 0, 0, 0,
- 0, 0, 222, 223, 224, 225, 226, 1195, 1196, 229,
- 0, 230, 0, 231, 232, 233, 234, 235, 0, 236,
- 237, 238, 0, 0, 239, 240, 857, 242, 243, 0,
- 244, 245, 246, 0, 247, 248, 0, 249, 250, 251,
- 0, 253, 254, 0, 0, 256, 257, 258, 1197, 0,
- 260, 0, 261, 636, 0, 637, 262, 263, 0, 264,
- 0, 0, 266, 0, 267, 268, 269, 270, 638, 271,
- 272, 273, 0, 274, 275, 276, 277, 278, 279, 0,
- 639, 0, 281, 282, 283, 284, 1198, 1199, 0, 1200,
- 0, 288, 640, 641, 289, 642, 290, 291, 292, 293,
- 294, 0, 0, 643, 296, 644, 0, 297, 298, 299,
- 0, 0, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 1201, 645, 1202, 0, 315,
- 316, 317, 318, 319, 320, 321, 0, 323, 0, 324,
- 325, 646, 326, 0, 0, 328, 1203, 330, 331, 0,
- 0, 332, 0, 0, 0, 333, 334, 0, 0, 0,
- 647, 648, 0, 337, 338, 339, 340, 341, 0, 342,
- 0, 0, 345, 346, 347, 0, 348, 349, 350, 351,
- 352, 353, 1204, 355, 356, 0, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 0, 367, 368, 649,
- 369, 370, 0, 372, 373, 374, 375, 376, 377, 378,
- 379, 0, 380, 381, 382, 0, 383, 1205, 385, 386,
- 650, 387, 1206, 0, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 0, 400, 0, 401, 402, 0,
- 403, 404, 405, 406, 407, 0, 1207, 1208, 0, 0,
- 410, 0, 412, 0, 0, 414, 415, 416, 417, 418,
- 0, 0, 419, 420, 421, 422, 0, 0, 423, 424,
- 425, 426, 0, 1209, 429, 651, 430, 431, 432, 0,
- 0, 433, 434, 435, 436, 437, 438, 0, 0, 0,
- 0, 0, 0, 0, 0, 447, 448, 449, 0, 0,
- 0, 0, 0, 1210, 171, 172, 173, 174, 175, 176,
- 177, 178, 0, 180, 181, 182, 0, 1523, 0, 0,
- 0, 0, 0, 183, 184, 0, 185, 632, 186, 187,
- 188, 633, 1190, 634, 1191, 1192, 0, 192, 193, 194,
- 195, 196, 0, 0, 197, 1193, 1194, 200, 0, 201,
- 202, 203, 204, 0, 0, 0, 206, 207, 208, 209,
- 210, 211, 0, 212, 213, 214, 215, 216, 0, 217,
- 218, 219, 635, 220, 221, 0, 0, 0, 0, 0,
- 222, 223, 224, 225, 226, 1195, 1196, 229, 0, 230,
- 0, 231, 232, 233, 234, 235, 0, 236, 237, 238,
- 0, 0, 239, 240, 857, 242, 243, 0, 244, 245,
- 246, 0, 247, 248, 0, 249, 250, 251, 0, 253,
- 254, 0, 0, 256, 257, 258, 1197, 0, 260, 0,
- 261, 636, 0, 637, 262, 263, 0, 264, 0, 0,
- 266, 0, 267, 268, 269, 270, 638, 271, 272, 273,
- 0, 274, 275, 276, 277, 278, 279, 0, 639, 0,
- 281, 282, 283, 284, 1198, 1199, 0, 1200, 0, 288,
- 640, 641, 289, 642, 290, 291, 292, 293, 294, 0,
- 0, 643, 296, 644, 0, 297, 298, 299, 0, 0,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 1201, 645, 1202, 0, 315, 316, 317,
- 318, 319, 320, 321, 0, 323, 0, 324, 325, 646,
- 326, 0, 0, 328, 1203, 330, 331, 0, 0, 332,
- 0, 0, 0, 333, 334, 0, 0, 0, 647, 648,
- 0, 337, 338, 339, 340, 341, 0, 342, 0, 0,
- 345, 346, 347, 0, 348, 349, 350, 351, 352, 353,
- 1204, 355, 356, 0, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 0, 367, 368, 649, 369, 370,
- 0, 372, 373, 374, 375, 376, 377, 378, 379, 0,
- 380, 381, 382, 0, 383, 1205, 385, 386, 650, 387,
- 1206, 0, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 398, 0, 400, 0, 401, 402, 0, 403, 404,
- 405, 406, 407, 0, 1207, 1208, 0, 0, 410, 0,
- 412, 0, 0, 414, 415, 416, 417, 418, 0, 0,
- 419, 420, 421, 422, 0, 0, 423, 424, 425, 426,
- 0, 1209, 429, 651, 430, 431, 432, 0, 0, 433,
- 434, 435, 436, 437, 438, 0, 0, 0, 0, 0,
- 0, 0, 0, 447, 448, 449, 0, 0, 0, 0,
- 0, 1669, 171, 172, 173, 174, 175, 176, 177, 178,
- 0, 180, 181, 182, 0, 1523, 0, 0, 0, 0,
- 0, 183, 184, 0, 185, 0, 186, 187, 188, 0,
- 189, 0, 190, 191, 0, 192, 193, 194, 195, 196,
- 0, 0, 197, 198, 199, 200, 0, 201, 202, 203,
- 204, 205, 0, 0, 206, 207, 208, 209, 210, 211,
- 0, 212, 213, 214, 215, 216, 0, 217, 218, 219,
- 0, 220, 221, 0, 0, 0, 0, 0, 222, 223,
- 224, 225, 226, 227, 228, 229, 1473, 230, 0, 231,
- 232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
- 239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
- 247, 248, 0, 249, 250, 251, 252, 253, 254, 255,
- 1474, 256, 257, 258, 259, 0, 260, 0, 261, 0,
- 0, 0, 262, 263, 0, 264, 265, 0, 266, 0,
- 267, 268, 269, 270, 0, 271, 272, 273, 0, 274,
- 275, 276, 277, 278, 279, 0, 0, 280, 281, 282,
- 283, 284, 285, 286, 0, 287, 0, 288, 0, 0,
- 289, 0, 290, 291, 292, 293, 294, 0, 295, 0,
- 296, 0, 0, 297, 298, 299, 0, 0, 300, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 0, 314, 0, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 0, 324, 325, 0, 326, 0,
- 327, 328, 329, 330, 331, 1475, 0, 332, 0, 1476,
- 0, 333, 334, 0, 0, 335, 0, 0, 336, 337,
- 338, 339, 340, 341, 0, 342, 343, 344, 345, 346,
- 347, 0, 348, 349, 350, 351, 352, 353, 354, 355,
- 356, 0, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 0, 367, 368, 0, 369, 370, 371, 372,
- 373, 374, 375, 376, 377, 378, 379, 0, 380, 381,
- 382, 0, 383, 384, 385, 386, 0, 387, 388, 0,
- 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
- 399, 400, 0, 401, 402, 0, 403, 404, 405, 406,
- 407, 0, 408, 409, 0, 0, 410, 411, 412, 413,
- 1477, 414, 415, 416, 417, 418, 0, 0, 419, 420,
- 421, 422, 0, 0, 423, 424, 425, 426, 427, 428,
- 429, 0, 430, 431, 432, 0, 0, 433, 434, 435,
- 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
- 446, 447, 448, 449, 0, 0, 0, 0, 0, 450,
- 1460, 942, 0, 0, 0, 542, 0, 0, 0, 0,
- 0, 0, 1461, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 1483, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 1474, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 1475, 0, 332, 0,
- 1476, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 1477, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 1460, 942, 0, 0, 0, 542, 0, 0, 0,
- 0, 0, 0, 1461, 171, 172, 173, 174, 175, 176,
- 177, 178, 0, 180, 181, 182, 0, 0, 0, 0,
- 0, 0, 0, 183, 184, 0, 185, 0, 186, 187,
- 188, 0, 189, 0, 190, 191, 0, 192, 193, 194,
- 195, 196, 0, 0, 197, 198, 199, 200, 0, 201,
- 202, 203, 204, 205, 0, 0, 206, 207, 208, 209,
- 210, 211, 0, 212, 213, 214, 215, 216, 0, 217,
- 218, 219, 0, 220, 221, 0, 0, 0, 0, 0,
- 222, 223, 224, 225, 226, 227, 228, 229, 0, 230,
- 0, 231, 232, 233, 234, 235, 0, 236, 237, 238,
- 0, 0, 239, 240, 241, 242, 243, 0, 244, 245,
- 246, 0, 247, 248, 0, 249, 250, 251, 252, 253,
- 254, 255, 1474, 256, 257, 258, 259, 0, 260, 0,
- 261, 0, 0, 0, 262, 263, 0, 264, 265, 0,
- 266, 0, 267, 268, 269, 270, 0, 271, 272, 273,
- 0, 274, 275, 276, 277, 278, 279, 0, 0, 280,
- 281, 282, 283, 284, 285, 286, 0, 287, 0, 288,
- 0, 0, 289, 0, 290, 291, 292, 293, 294, 0,
- 295, 0, 296, 0, 0, 297, 298, 299, 0, 0,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 0, 314, 0, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 0, 324, 325, 0,
- 326, 0, 327, 328, 329, 330, 331, 1475, 0, 332,
- 0, 1476, 0, 333, 334, 0, 0, 335, 0, 0,
- 336, 337, 338, 339, 340, 341, 0, 342, 343, 344,
- 345, 346, 347, 0, 348, 349, 350, 351, 352, 353,
- 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 0, 367, 368, 0, 369, 370,
- 371, 372, 373, 374, 375, 376, 377, 378, 379, 0,
- 380, 381, 382, 0, 383, 384, 385, 386, 0, 387,
- 388, 0, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 398, 399, 400, 0, 401, 402, 0, 403, 404,
- 405, 406, 407, 0, 408, 409, 0, 0, 410, 411,
- 412, 413, 1477, 414, 415, 416, 417, 418, 0, 0,
- 419, 420, 421, 422, 0, 0, 423, 424, 425, 426,
- 427, 428, 429, 0, 430, 431, 432, 0, 0, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
- 444, 445, 446, 447, 448, 449, 0, 0, 0, 0,
- 0, 450, 1460, 942, 0, 0, 0, 542, 0, 0,
- 0, 0, 0, 0, 1461, 171, 533, 173, 174, 175,
- 176, 177, 178, 534, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 535,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 536, 259, 0, 260,
- 0, 537, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 538,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 539, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 540, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 541, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 1414, 423, 424, 425,
- 426, 427, 428, 429, 1416, 430, 431, 432, 0, 1417,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 1414, 0, 0,
- 0, 0, 450, 0, 0, 1416, 0, 0, 542, 0,
- 1417, 0, 0, 0, 0, 543, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1441, 0, 0, 0, 1442,
+ 1222, 1227, 0, 1225, 0, 0, 0, 0, 0, 1446,
+ 0, 0, 1447, 0, 0, 0, 0, 0, 0, 1443,
+ 1444, 0, 0, 0, 0, 0, 1448, 0, 0, 1449,
+ 0, 0, 0, 1222, 1445, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1220, 0, 0, 0, 0, 1222,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1222, 0, 0, 0, 1446, 0, 0,
+ 1447, 2895, 0, 0, 0, 0, 0, 0, 1222, 0,
+ 2898, 0, 0, 0, 1448, 0, 2899, 1449, 2900, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2918, 2919, 1222, 0, 0, 0, 0, 0, 0, 1226,
+ 0, 0, 0, 0, 1226, 1226, 0, 0, 0, 2038,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2944,
+ 0, 0, 2947, 0, 2949, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2953, 0, 0, 1450, 0, 0, 2958,
+ 0, 0, 2961, 0, 0, 0, 1220, 1437, 0, 0,
+ 1222, 0, 2968, 0, 0, 1439, 0, 0, 0, 1227,
+ 1440, 2463, 0, 0, 1223, 1223, 0, 1223, 1452, 0,
+ 0, 1453, 1454, 1455, 1223, 1456, 1457, 1458, 1459, 1460,
+ 1461, 1222, 1220, 0, 0, 0, 1462, 0, 1437, 0,
+ 0, 0, 0, 0, 1222, 0, 1439, 0, 0, 0,
+ 0, 1440, 0, 0, 0, 1223, 0, 1223, 0, 0,
+ 0, 0, 0, 0, 0, 1225, 1225, 0, 1225, 0,
+ 0, 1226, 1464, 0, 0, 1225, 1452, 0, 1222, 1453,
+ 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460, 1461, 0,
+ 0, 0, 0, 2973, 1462, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1225, 0, 1225, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1464, 0, 1223,
+ 0, 0, 1441, 0, 0, 0, 1442, 1226, 0, 0,
+ 0, 0, 1220, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1223, 1220, 0, 0, 1443, 1444, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222,
+ 0, 1445, 0, 1441, 0, 0, 0, 1442, 0, 0,
+ 1225, 0, 0, 0, 0, 1223, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1443, 1444, 0,
+ 0, 1223, 0, 1225, 1446, 0, 0, 1447, 0, 1220,
+ 0, 0, 1445, 0, 0, 1223, 0, 1220, 0, 0,
+ 0, 1448, 1226, 0, 1449, 0, 0, 0, 0, 0,
+ 1223, 0, 3139, 3140, 0, 0, 1225, 1227, 0, 0,
+ 0, 0, 1227, 1227, 0, 1446, 0, 0, 1447, 0,
+ 0, 0, 1225, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1448, 0, 1223, 1449, 1225, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1225, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1222, 0, 1450, 0, 3179, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0,
+ 0, 0, 1223, 0, 0, 0, 0, 1222, 0, 0,
+ 0, 0, 0, 0, 1450, 0, 0, 0, 3195, 3197,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3204, 0, 1223, 0, 0, 0, 3209, 3210, 1227,
+ 0, 3212, 0, 0, 0, 1220, 1223, 0, 0, 0,
+ 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0,
+ 0, 3226, 0, 1452, 0, 0, 1453, 1454, 1455, 1220,
+ 1456, 1457, 1458, 1459, 1460, 1461, 0, 0, 2982, 0,
+ 1223, 1462, 0, 0, 1225, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1464, 0, 0, 1225, 0, 0,
+ 0, 0, 0, 0, 1452, 1227, 0, 1453, 1454, 1455,
+ 0, 1456, 1457, 1458, 1459, 1460, 1461, 1222, 0, 0,
+ 0, 2988, 1462, 1220, 0, 0, 0, 0, 1222, 0,
+ 0, 1225, 0, 0, 1226, 1226, 0, 1226, 0, 0,
+ 0, 0, 0, 0, 1226, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1464, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1418, 0, 0, 0, 1419, 0,
+ 0, 1223, 0, 0, 0, 1226, 1464, 1226, 3281, 0,
+ 0, 2017, 0, 0, 1222, 0, 0, 0, 0, 0,
+ 1227, 0, 1222, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1464, 1464, 0, 1220, 1464, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1420, 1421,
- 0, 0, 0, 0, 0, 1418, 0, 0, 0, 1419,
- 0, 1422, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1420,
- 1421, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1422, 0, 1423, 0, 0, 1424, 0, 0,
+ 0, 0, 1225, 0, 0, 0, 0, 0, 1220, 0,
+ 0, 0, 0, 0, 0, 3330, 0, 0, 0, 0,
+ 0, 0, 0, 1464, 0, 0, 0, 0, 0, 1226,
+ 0, 0, 0, 0, 1437, 0, 0, 0, 0, 1220,
+ 0, 1, 1439, 1220, 1220, 0, 0, 1440, 0, 0,
+ 0, 2, 1226, 3, 4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1464, 5, 0, 0,
+ 0, 0, 3360, 1223, 0, 0, 0, 0, 0, 0,
+ 3362, 0, 0, 0, 0, 1226, 0, 6, 0, 7,
+ 8, 0, 0, 0, 9, 10, 0, 0, 0, 0,
+ 0, 1226, 0, 0, 0, 11, 0, 12, 0, 1223,
+ 0, 0, 0, 0, 0, 1226, 0, 0, 0, 0,
+ 1222, 0, 0, 0, 1225, 0, 13, 0, 0, 14,
+ 1226, 0, 0, 0, 0, 15, 0, 0, 0, 0,
+ 0, 16, 0, 0, 1222, 0, 0, 17, 0, 0,
+ 0, 0, 0, 18, 0, 0, 0, 0, 0, 19,
+ 1225, 20, 0, 0, 1226, 0, 21, 0, 0, 1441,
+ 0, 0, 0, 1442, 0, 0, 0, 3430, 1464, 22,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1464, 0,
+ 0, 1464, 0, 1443, 1444, 0, 0, 0, 1222, 0,
+ 0, 0, 1227, 1227, 0, 1227, 23, 0, 1445, 2038,
+ 0, 0, 1227, 0, 0, 0, 0, 0, 0, 1223,
+ 0, 0, 1226, 0, 0, 0, 0, 0, 0, 0,
+ 1223, 24, 25, 0, 0, 3462, 0, 26, 0, 0,
+ 0, 1446, 0, 1227, 1447, 1227, 27, 0, 0, 0,
+ 0, 0, 0, 1226, 0, 0, 0, 0, 1448, 0,
+ 0, 1449, 0, 0, 28, 0, 1226, 0, 0, 0,
+ 1225, 0, 0, 0, 0, 0, 0, 0, 0, 1222,
+ 0, 1225, 0, 0, 0, 0, 1223, 0, 0, 0,
+ 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0,
+ 1226, 29, 0, 1222, 0, 0, 0, 0, 0, 0,
+ 0, 0, 30, 0, 0, 0, 31, 1227, 32, 0,
+ 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
+ 1450, 35, 0, 0, 1222, 36, 0, 1225, 1222, 1222,
+ 1227, 37, 0, 0, 0, 1225, 0, 38, 0, 0,
+ 39, 0, 1437, 0, 0, 0, 0, 40, 0, 0,
+ 1439, 0, 0, 0, 0, 1440, 0, 0, 0, 0,
+ 41, 0, 0, 1227, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 42, 0, 0, 1227,
+ 0, 1226, 0, 1437, 0, 43, 0, 44, 0, 0,
+ 45, 1439, 0, 1227, 46, 0, 1440, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 47, 0, 1227, 0,
+ 1452, 0, 0, 1453, 1454, 1455, 0, 1456, 1457, 1458,
+ 1459, 1460, 1461, 0, 0, 0, 0, 2992, 1462, 0,
+ 0, 0, 1223, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1227, 0, 0, 0, 1437, 48, 0, 0,
+ 0, 0, 0, 0, 1439, 0, 1223, 0, 0, 1440,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1425, 0, 1426, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1423, 0, 0, 1424, 0,
+ 1439, 0, 0, 0, 0, 1440, 0, 1441, 0, 0,
+ 0, 1442, 0, 1225, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1425, 0, 1426, 0, 0, 0, 0, 0,
+ 1227, 1443, 1444, 1226, 0, 0, 0, 1225, 0, 0,
+ 1223, 0, 0, 0, 0, 0, 1445, 0, 1441, 0,
+ 0, 0, 1442, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1227, 1464, 0, 0, 0, 0, 0, 0, 1226,
+ 0, 0, 1443, 1444, 1227, 0, 0, 0, 0, 1446,
+ 0, 0, 1447, 0, 1464, 0, 1464, 1445, 2017, 2017,
+ 2535, 1225, 2957, 2017, 0, 0, 1448, 1464, 0, 1449,
+ 0, 0, 0, 0, 1464, 0, 0, 0, 1227, 1464,
+ 0, 1441, 0, 0, 1464, 1442, 0, 0, 0, 1464,
+ 1446, 1223, 0, 1447, 0, 0, 0, -1888, 1464, 0,
+ 0, 1442, 2017, 2017, 1464, 1443, 1444, 1448, 0, 0,
+ 1449, 0, 0, 0, 0, 1223, 1464, 0, 0, 0,
+ 1445, 1443, 1444, 1464, 0, 1464, 1464, 1464, 1464, 1464,
+ 1464, 1464, 1464, 1464, 0, 1464, -1888, 0, 1450, 0,
+ 0, 0, 1225, 0, 0, 0, 1223, 0, 0, 1226,
+ 1223, 1223, 0, 1446, 0, 0, 1447, 0, 0, 0,
+ 1226, 0, 0, 1439, 0, 0, 1225, 0, 1440, 1227,
+ 1448, 0, 1447, 1449, 0, 0, 0, 0, 0, 1450,
+ 0, 0, 0, 0, 0, 0, 1448, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0,
+ 0, 1225, 1225, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1226, 0, 0, 0,
+ 0, 0, 0, 1464, 1226, 0, 0, 0, 1452, 0,
+ 0, 1453, 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460,
+ 1461, 0, 1450, 0, 0, 3181, 1462, 0, 0, 0,
+ 0, 1437, 0, 0, 0, 2960, 0, 0, -1888, 1439,
+ 0, 0, 0, 0, 1440, 0, 0, 0, 0, 1452,
+ 0, 0, 1453, 1454, 1455, 0, 1456, 1457, 1458, 1459,
+ 1460, 1461, 0, 0, 0, 0, 3213, 1462, 0, 0,
+ -1888, 1227, 0, 0, 1442, 0, 0, 0, 0, 0,
+ 1437, 0, 0, 0, 0, 0, 0, 0, 1439, 0,
+ 0, 0, 0, 1440, 1443, 1444, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1227, 0, -1888,
+ 0, 0, 1452, 0, 0, 1453, 1454, 1455, 0, 1456,
+ 1457, 1458, 1459, 1460, 1461, 0, 0, 0, 1452, 3352,
+ 1462, 0, 0, 0, 0, 1456, 1457, 1458, 1459, 1460,
+ 1461, 0, 0, 0, 0, 1447, 1462, 0, 0, 0,
+ 0, 0, 1226, 0, 0, 0, 0, 0, 0, 1448,
+ 0, 0, 1464, 0, 0, 0, 1441, 0, 0, 0,
+ 1442, 0, 0, 0, 0, 0, 1226, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1443, 1444, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1445, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1441, 0, 1227, 0, 1442,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0,
+ 1226, -1888, 0, 0, 0, 0, 0, 0, 1446, 1443,
+ 1444, 1447, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1445, 1448, 0, 0, 1449, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1464, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1427, 0, 0, 0,
+ 0, 0, 0, 0, 1227, 0, 0, 1446, 0, 1464,
+ 1447, 0, 1227, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1448, 0, 0, 1449, 0, 0,
+ 0, 1226, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1452, 0, 0, 0, 1464, 0, 1450, 1456, 1457,
+ 1458, 1459, 1460, 1461, 0, 1226, 0, 0, 0, 1462,
+ 0, 0, 0, 0, 0, 0, 2535, 2535, 2017, 0,
+ 0, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017,
+ 1437, 2017, 2535, 0, 0, 0, 1226, 0, 1439, 0,
+ 1226, 1226, 0, 1440, 0, 0, 1450, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1464, 0, 0, 1464, 0,
+ 1464, 0, 0, 0, 0, 2535, 2535, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1437, 0, 0, 2017,
+ 2017, 1464, 0, 1464, 1439, 0, 1464, 1452, 0, 1440,
+ 1453, 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460, 1461,
+ 0, 1464, 0, 0, 3367, 1462, 0, 0, 0, 0,
+ 1227, 1464, 0, 0, 1439, 0, 0, 0, 0, 1440,
+ 0, 0, 0, 0, 1464, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1227, 0, 1452, 1464, 0, 1453,
+ 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460, 1461, 0,
+ 0, 0, 0, 3399, 1462, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1441, 0, 0, 0, 1442,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1227, 1443,
+ 1444, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1445, 0, 3211, 0, 0, 0,
+ 0, 1441, 0, 0, 0, 1442, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1427, 0, 0,
+ 0, 0, 0, 0, 0, 1443, 1444, 1446, 0, 0,
+ 1447, -1888, 0, 0, 0, 1442, 0, 0, 0, 0,
+ 1445, 0, 0, 0, 1448, 0, 0, 1449, 0, 0,
+ 0, 0, 0, 490, 0, 1443, 1444, 0, 0, 1227,
+ 0, 0, 0, 0, 0, 491, 0, 2017, 0, 0,
+ -1888, 0, 0, 1446, 0, 0, 1447, 0, 0, 0,
+ 0, 0, 0, 1227, 0, 492, 0, 0, 0, 0,
+ 1448, 0, 0, 1449, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 493, 1447, 0, 0, -566,
+ 0, 0, 0, 0, 1227, 0, 1450, 0, 1227, 1227,
+ 1448, 0, 0, 0, 0, 0, 0, 0, 0, 494,
+ 0, 0, 0, 0, 0, 495, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 496, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 497, 0, 0,
+ 0, 1464, -724, 498, 1464, 1464, 1464, 499, 2535, 0,
+ 0, 0, -1888, 2535, 2535, 2535, 2535, 2535, 2535, 2535,
+ 2535, 2535, -703, 2535, 1464, 1464, 1452, 0, 0, 1453,
+ 1454, 1455, 0, 1456, 1457, 1458, 1459, 1460, 1461, 0,
+ 0, 0, 0, 3497, 1462, -431, 0, 0, 0, 0,
+ 1464, 2017, 2017, 1464, 0, 1464, 0, 0, 500, 1464,
+ 2535, 2535, 0, 0, 1464, 0, 0, 1464, 0, 0,
+ 0, 0, 1452, 0, 1464, 1453, 1454, 1455, 0, 1456,
+ 1457, 1458, 1459, 1460, 1461, 0, 0, 0, 0, 0,
+ 1462, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1452, 0, 501, 0, 0, 502, 0, 1456,
+ 1457, 1458, 1459, 1460, 1461, 0, 0, 0, 0, 0,
+ 1462, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -431, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 503, 0, 0, 0, -724,
+ 0, 504, 0, 0, 0, 0, 0, 0, 0, 505,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 506, 507, 0, 508,
+ 509, 0, 0, 0, 0, 2535, 0, 0, 510, 0,
+ 0, 0, 511, 512, 0, 0, 0, 0, 513, 0,
+ 0, 0, 0, 514, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1428, 0, 0, 1429, 1430, 1431,
- 0, 1432, 1433, 1434, 1435, 1436, 1437, 0, 0, 0,
- 0, 3190, 1438, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1428, 0, 0, 1429, 1430,
- 1431, 0, 1432, 1433, 1434, 1435, 1436, 1437, 0, 0,
- 0, 0, 0, 1438, 171, 172, 173, 174, 175, 176,
- 177, 178, 0, 180, 181, 182, 0, 0, 0, 0,
- 0, 0, 0, 183, 184, 0, 185, 0, 186, 187,
- 188, 0, 189, 0, 190, 191, 0, 192, 193, 194,
- 195, 196, 0, 0, 197, 198, 199, 200, 0, 201,
- 202, 203, 204, 205, 0, 0, 206, 207, 208, 209,
- 210, 211, 0, 212, 213, 214, 215, 216, 0, 217,
- 218, 219, 0, 220, 221, 0, 0, 0, 0, 0,
- 222, 223, 224, 225, 226, 227, 228, 229, 0, 230,
- 0, 231, 232, 233, 234, 235, 0, 236, 237, 238,
- 0, 0, 239, 240, 241, 242, 243, 0, 244, 245,
- 246, 0, 247, 248, 0, 249, 250, 251, 252, 253,
- 254, 255, 0, 256, 257, 258, 259, 0, 260, 0,
- 261, 0, 0, 0, 262, 263, 0, 264, 265, 0,
- 266, 0, 267, 268, 269, 270, 0, 271, 272, 273,
- 0, 274, 275, 276, 277, 278, 279, 0, 0, 280,
- 281, 282, 283, 284, 285, 286, 0, 287, 0, 288,
- 0, 0, 289, 0, 290, 291, 292, 293, 294, 0,
- 295, 0, 296, 0, 0, 297, 298, 299, 0, 0,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 0, 314, 0, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 0, 324, 325, 0,
- 326, 0, 327, 328, 329, 330, 331, 0, 0, 332,
- 0, 0, 0, 333, 334, 0, 0, 335, 0, 0,
- 336, 337, 338, 339, 340, 341, 0, 342, 343, 344,
- 345, 346, 347, 0, 348, 349, 350, 351, 352, 353,
- 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 0, 367, 368, 0, 369, 370,
- 371, 372, 373, 374, 375, 376, 377, 378, 379, 0,
- 380, 381, 382, 0, 383, 384, 385, 386, 0, 387,
- 388, 0, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 398, 399, 400, 0, 401, 402, 0, 403, 404,
- 405, 406, 407, 0, 408, 409, 0, 0, 410, 411,
- 412, 413, 0, 414, 415, 416, 417, 418, 0, 0,
- 419, 420, 421, 422, 0, 0, 423, 424, 425, 426,
- 427, 428, 429, 0, 430, 431, 432, 0, 0, 433,
- 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
- 444, 445, 446, 447, 448, 449, 0, 0, 0, 0,
- 0, 450, 0, 0, 0, 0, 0, 0, 2898, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 0,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 3238, 557, 3239,
- 3240, 0, 3241, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 1454, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 0, 942, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 0, 942, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 1297, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 0, 942, 171, 172, 173, 174, 175, 176, 177,
- 178, 1081, 180, 181, 182, 1082, 1083, 1084, 1085, 1086,
- 1087, 1088, 183, 184, 1089, 185, 632, 186, 187, 188,
- 633, 189, 634, 190, 191, 1090, 192, 193, 194, 195,
- 196, 1091, 1092, 197, 198, 199, 200, 1093, 201, 202,
- 203, 204, 205, 1094, 1095, 206, 207, 208, 209, 210,
- 211, 1096, 212, 213, 214, 215, 216, 1097, 217, 218,
- 219, 635, 220, 221, 1098, 1099, 1100, 1101, 1102, 222,
- 223, 224, 225, 226, 227, 228, 229, 1103, 230, 1104,
- 231, 232, 233, 234, 235, 1105, 236, 237, 238, 1106,
- 1107, 239, 240, 241, 242, 243, 1108, 244, 245, 246,
- 1109, 247, 248, 1110, 249, 250, 251, 252, 253, 254,
- 255, 1111, 256, 257, 258, 259, 1112, 260, 1113, 261,
- 636, 1114, 637, 262, 263, 1115, 264, 265, 1116, 266,
- 1117, 267, 268, 269, 270, 638, 271, 272, 273, 1118,
- 274, 275, 276, 277, 278, 279, 1119, 639, 280, 281,
- 282, 283, 284, 285, 286, 1120, 287, 1121, 288, 640,
- 641, 289, 642, 290, 291, 292, 293, 294, 1122, 295,
- 643, 296, 644, 1123, 297, 298, 299, 1124, 1125, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 645, 314, 1126, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 1127, 324, 325, 646, 326,
- 1128, 327, 328, 329, 330, 331, 1129, 1130, 332, 1131,
- 1132, 1133, 333, 334, 1134, 1135, 335, 647, 648, 336,
- 337, 338, 339, 340, 341, 1136, 342, 343, 344, 345,
- 346, 347, 1137, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 1138, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 1139, 367, 368, 649, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 1140, 380,
- 381, 382, 1141, 383, 384, 385, 386, 650, 387, 388,
- 1142, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 1143, 401, 402, 1144, 403, 404, 405,
- 406, 407, 1145, 408, 409, 1146, 1147, 410, 411, 412,
- 413, 1148, 414, 415, 416, 417, 418, 1149, 1150, 419,
- 420, 421, 422, 1151, 1152, 423, 424, 425, 426, 427,
- 428, 429, 651, 430, 431, 432, 1153, 1154, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 1155, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 632, 186, 187, 188, 633, 189,
- 634, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 635,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 636, 0,
- 637, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 638, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 639, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 640, 641, 289,
- 642, 290, 291, 292, 293, 294, 0, 295, 643, 296,
- 644, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 645, 314, 455, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 646, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 456, 0, 0,
- 333, 334, 0, 0, 335, 647, 648, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 649, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 650, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 651, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 652, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 632, 186, 187, 188, 633, 189, 634, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 635, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 636, 0, 637, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 769, 638, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 639, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 640, 641, 289, 642, 290,
- 291, 292, 293, 294, 0, 295, 643, 296, 644, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 645,
- 314, 455, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 646, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 456, 0, 0, 333, 334,
- 0, 0, 335, 647, 648, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 649, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 650, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 651, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 652, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 632, 186, 187, 188, 633, 189, 634, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 635, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 636, 0, 637, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 776, 638,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 639, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 640, 641, 289, 642, 290, 291, 292,
- 293, 294, 0, 295, 643, 296, 644, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 645, 314, 455,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 646, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 456, 0, 0, 333, 334, 0, 0,
- 335, 647, 648, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 649, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 384, 385,
- 386, 650, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 408, 409, 0,
- 0, 410, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 427, 428, 429, 651, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 652, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 1536,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 1537, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 1538, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 2195, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 1539, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 1540, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 581, 177,
- 178, 547, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 548, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 582, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 549, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 550, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 547,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 548, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 549, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 550, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 3, 4, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 0,
- 314, 455, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 456, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 0, 186, 187, 188, 0, 189, 0, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 0, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 0, 0, 0, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 270, 0,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 0, 0, 289, 0, 290, 291, 292,
- 293, 294, 0, 295, 0, 296, 0, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 0, 314, 455,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 0, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 456, 0, 610, 333, 334, 0, 0,
- 335, 0, 0, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 384, 385,
- 386, 0, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 408, 409, 0,
- 0, 410, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 427, 428, 429, 0, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 450, 171, 172, 173, 174, 175,
- 176, 177, 178, 934, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 455, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 456, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 1313, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 1314, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 1315, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 455, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 456,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 1316, 376, 377, 378, 379, 0, 1317,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 1318, 1319, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 548, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 549, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 550, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 1939, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 1940, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 0,
- 314, 455, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 456, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 1941, 403, 1942, 405, 1943, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 0, 186, 187, 188, 0, 189, 0, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 0, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 0, 0, 0, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 270, 0,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 0, 0, 289, 0, 290, 291, 292,
- 293, 294, 0, 295, 0, 296, 0, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 0, 314, 455,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 0, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 456, 0, 0, 333, 334, 0, 0,
- 335, 0, 0, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 384, 385,
- 386, 0, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 408, 409, 0,
- 0, 410, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 427, 428, 429, 0, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 450, 171, 172, 173, 174, 175,
- 176, 177, 178, 2078, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 2079, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 176, 177,
- 178, 2088, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 2089, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 179,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 496, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 0,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 497, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 575, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 0, 186, 187, 188, 0, 189, 0, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 0, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 0, 0, 0, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 270, 0,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 0, 0, 289, 0, 290, 291, 292,
- 293, 294, 0, 295, 0, 296, 0, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 0, 314, 0,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 0, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 335, 0, 0, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 576, 0, 383, 384, 385,
- 386, 0, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 577, 409, 0,
- 0, 578, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 427, 428, 429, 0, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 450, 171, 172, 173, 174, 175,
- 176, 177, 178, 601, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 602, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 603, 409, 0, 0, 604,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 176, 177,
- 178, 765, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 945, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 946, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 593,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 594, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 937,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 596, 409, 0, 0, 597, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 598, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 2226, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 0,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 2239, 0, 183, 184, 0, 185,
- 0, 186, 187, 188, 0, 189, 0, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 0, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 0, 0, 0, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 270, 0,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 0, 0, 289, 0, 290, 291, 292,
- 293, 294, 0, 295, 0, 296, 0, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 0, 314, 0,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 0, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 335, 0, 0, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 384, 385,
- 386, 0, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 408, 409, 0,
- 0, 410, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 427, 428, 429, 0, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 450, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 2265, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 2828, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 2830, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 2832, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 0,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 0, 186, 187, 188, 0, 189, 0, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 0, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 0, 0, 0, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 270, 0,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 0, 0, 289, 0, 290, 291, 292,
- 293, 294, 0, 295, 0, 296, 0, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 0, 314, 0,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 0, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 335, 0, 0, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 384, 385,
- 386, 0, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 408, 409, 0,
- 0, 410, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 3141, 423,
- 424, 425, 426, 427, 428, 429, 0, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 450, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 270, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 270, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 565, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 573, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 591, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 592, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 593, 313, 0,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 594, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 595, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 596,
- 409, 0, 0, 597, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 598,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 0, 186, 187, 188, 0, 189, 0, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 0, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 0, 0, 0, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 774, 0,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 0, 0, 289, 0, 290, 291, 292,
- 293, 294, 0, 295, 0, 296, 0, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 0, 314, 0,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 0, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 335, 0, 0, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 384, 385,
- 386, 0, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 408, 409, 0,
- 0, 410, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 427, 428, 429, 0, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 450, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 778, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 786, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 788, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 790, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 0,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 0, 186, 187, 188, 0, 189, 0, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 0, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 0, 0, 0, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 793, 0,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 0, 0, 289, 0, 290, 291, 292,
- 293, 294, 0, 295, 0, 296, 0, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 0, 314, 0,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 0, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 335, 0, 0, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 384, 385,
- 386, 0, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 408, 409, 0,
- 0, 410, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 427, 428, 429, 0, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 450, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 795, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 798, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 593,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 594, 370, 371, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 937,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 596, 409, 0, 0, 597, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 598, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 961, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 0,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 369, 370, 371, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 0,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 408,
- 409, 0, 0, 410, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 0, 186, 187, 188, 0, 189, 0, 190, 191, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 198, 199,
- 200, 0, 201, 202, 203, 204, 205, 0, 0, 206,
- 207, 208, 1256, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 0, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 227, 228,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 241, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 252, 253, 254, 255, 0, 256, 257, 258, 259,
- 0, 260, 0, 261, 0, 0, 0, 262, 263, 0,
- 264, 265, 0, 266, 0, 267, 268, 269, 270, 0,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
- 287, 0, 288, 0, 0, 289, 0, 290, 291, 292,
- 293, 294, 0, 295, 0, 296, 0, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 0, 314, 0,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 0,
- 324, 325, 0, 326, 0, 327, 328, 329, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 335, 0, 0, 336, 337, 338, 339, 340, 341, 0,
- 342, 343, 344, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 384, 385,
- 386, 0, 387, 388, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 399, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 408, 409, 0,
- 0, 410, 411, 412, 413, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 427, 428, 429, 0, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
- 0, 0, 0, 0, 450, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 0, 186,
- 187, 188, 0, 189, 0, 190, 191, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 198, 199, 200, 0,
- 201, 202, 203, 204, 205, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 0, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 227, 228, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 241, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 252,
- 253, 254, 255, 0, 256, 257, 258, 259, 0, 260,
- 0, 261, 0, 0, 0, 262, 263, 0, 264, 265,
- 0, 266, 0, 267, 268, 269, 1279, 0, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 0,
- 280, 281, 282, 283, 284, 285, 286, 0, 287, 0,
- 288, 0, 0, 289, 0, 290, 291, 292, 293, 294,
- 0, 295, 0, 296, 0, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 314, 0, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 0, 324, 325,
- 0, 326, 0, 327, 328, 329, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 335, 0,
- 0, 336, 337, 338, 339, 340, 341, 0, 342, 343,
- 344, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 0, 369,
- 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 384, 385, 386, 0,
- 387, 388, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 408, 409, 0, 0, 410,
- 411, 412, 413, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 427, 428, 429, 0, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
- 0, 0, 450, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 0, 186, 187, 188,
- 0, 189, 0, 190, 191, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 198, 199, 200, 0, 201, 202,
- 203, 204, 205, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 0, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 227, 228, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 241, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 252, 253, 254,
- 255, 0, 256, 257, 258, 259, 0, 260, 0, 261,
- 0, 0, 0, 262, 263, 0, 264, 265, 0, 266,
- 0, 267, 268, 269, 1281, 0, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 0, 280, 281,
- 282, 283, 284, 285, 286, 0, 287, 0, 288, 0,
- 0, 289, 0, 290, 291, 292, 293, 294, 0, 295,
- 0, 296, 0, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 0, 314, 0, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 0, 324, 325, 0, 326,
- 0, 327, 328, 329, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 335, 0, 0, 336,
- 337, 338, 339, 340, 341, 0, 342, 343, 344, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 0, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 384, 385, 386, 0, 387, 388,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 399, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 408, 409, 0, 0, 410, 411, 412,
- 413, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 427,
- 428, 429, 0, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
- 450, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 0, 186, 187, 188, 0, 189,
- 0, 190, 191, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 198, 199, 200, 0, 201, 202, 203, 204,
- 205, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 0,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 227, 228, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 241, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 252, 253, 254, 255, 0,
- 256, 257, 258, 259, 0, 260, 0, 261, 0, 0,
- 0, 262, 263, 0, 264, 265, 0, 266, 0, 267,
- 268, 269, 270, 0, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 0, 280, 281, 282, 283,
- 284, 285, 286, 0, 287, 0, 288, 0, 0, 289,
- 0, 290, 291, 292, 293, 294, 0, 295, 0, 296,
- 0, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 0, 314, 0, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 0, 324, 325, 0, 326, 0, 327,
- 328, 329, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 335, 0, 0, 336, 337, 338,
- 339, 340, 341, 0, 342, 343, 344, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 0, 369, 370, 371, 372, 373,
- 1346, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 384, 385, 386, 0, 387, 388, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 408, 409, 0, 0, 410, 411, 412, 413, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 427, 428, 429,
- 0, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 0, 0, 0, 0, 0, 450, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 0, 186, 187, 188, 0, 189, 0, 190,
- 191, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 198, 199, 200, 0, 201, 202, 203, 204, 205, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 0, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 227, 228, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 241,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 252, 253, 254, 255, 0, 256, 257,
- 258, 259, 0, 260, 0, 261, 0, 0, 0, 262,
- 263, 0, 264, 265, 0, 266, 0, 267, 268, 269,
- 270, 0, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 0, 280, 281, 282, 283, 284, 285,
- 286, 0, 287, 0, 288, 0, 0, 289, 0, 290,
- 291, 292, 293, 294, 0, 295, 0, 296, 0, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 593, 313, 0,
- 314, 0, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 0, 324, 325, 0, 326, 0, 327, 328, 329,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 335, 0, 0, 336, 337, 338, 339, 340,
- 341, 0, 342, 343, 344, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 0, 594, 370, 371, 372, 373, 374, 1559,
- 376, 377, 378, 379, 0, 380, 381, 937, 0, 383,
- 384, 385, 386, 0, 387, 388, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 596,
- 409, 0, 0, 597, 411, 412, 413, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 427, 428, 429, 0, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 598,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 0, 0, 0, 0, 0, 450, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 632, 186, 187, 188, 633, 1190, 634, 1191, 1192, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 1193, 1194,
- 200, 0, 201, 202, 203, 204, 0, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 635, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 1195, 1196,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 857, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 0, 253, 254, 0, 0, 256, 257, 258, 1197,
- 0, 260, 0, 261, 636, 0, 637, 262, 263, 0,
- 264, 0, 0, 266, 0, 267, 268, 269, 270, 638,
- 271, 272, 273, 1563, 274, 275, 276, 277, 278, 279,
- 0, 639, 1564, 281, 282, 283, 284, 1198, 1199, 0,
- 1200, 0, 288, 640, 641, 289, 642, 290, 291, 292,
- 293, 294, 0, 0, 643, 296, 644, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 1201, 645, 1202, 0,
- 315, 316, 317, 318, 319, 320, 321, 0, 323, 0,
- 324, 325, 646, 326, 0, 0, 328, 1203, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 1565, 647, 648, 0, 337, 338, 339, 340, 341, 0,
- 342, 0, 0, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 1204, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 649, 369, 370, 0, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 1566, 385,
- 386, 650, 387, 1206, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 0, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 1207, 1208, 0,
- 0, 410, 0, 412, 0, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 0, 1209, 429, 651, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 0, 0,
- 0, 0, 0, 0, 0, 0, 447, 448, 449, 0,
- 0, 0, 0, 0, 1210, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 632, 186,
- 187, 188, 633, 1190, 634, 1191, 1192, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 1193, 1194, 200, 0,
- 201, 202, 203, 204, 0, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 635, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 1195, 1196, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 857, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 0,
- 253, 254, 0, 0, 256, 257, 258, 1197, 0, 260,
- 0, 261, 636, 0, 637, 262, 263, 0, 264, 0,
- 0, 266, 0, 267, 268, 269, 270, 638, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 639,
- 0, 281, 282, 283, 284, 1198, 1199, 0, 1200, 0,
- 288, 640, 641, 289, 642, 290, 291, 292, 293, 294,
- 0, 0, 643, 296, 644, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 1201, 645, 1202, 0, 315, 316,
- 317, 318, 319, 320, 321, 1585, 323, 0, 324, 325,
- 646, 326, 0, 0, 328, 1203, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 0, 647,
- 648, 0, 337, 338, 339, 340, 341, 0, 342, 0,
- 0, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 1204, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 649, 369,
- 370, 0, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 1205, 385, 386, 650,
- 387, 1206, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 0, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 1207, 1208, 0, 0, 410,
- 0, 412, 0, 0, 414, 415, 416, 417, 418, 0,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 0, 1209, 429, 651, 430, 431, 432, 0, 0,
- 433, 434, 435, 436, 437, 438, 0, 0, 0, 0,
- 0, 0, 0, 0, 447, 448, 449, 0, 0, 0,
- 0, 0, 1210, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 180, 181, 182, 0, 0, 0, 0, 0,
- 0, 0, 183, 184, 0, 185, 632, 186, 187, 188,
- 633, 1190, 634, 1191, 1192, 0, 192, 193, 194, 195,
- 196, 0, 0, 197, 1193, 1194, 200, 0, 201, 202,
- 203, 204, 0, 0, 0, 206, 207, 208, 209, 210,
- 211, 0, 212, 213, 214, 215, 216, 0, 217, 218,
- 219, 635, 220, 221, 0, 0, 0, 0, 0, 222,
- 223, 224, 225, 226, 1195, 1196, 229, 0, 230, 0,
- 231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
- 0, 239, 240, 857, 242, 243, 0, 244, 245, 246,
- 0, 247, 248, 0, 249, 250, 251, 0, 253, 254,
- 0, 0, 256, 257, 258, 1197, 0, 260, 0, 261,
- 636, 0, 637, 262, 263, 0, 264, 0, 0, 266,
- 0, 267, 268, 269, 270, 638, 271, 272, 273, 0,
- 274, 275, 276, 277, 278, 279, 0, 639, 0, 281,
- 282, 283, 284, 1198, 1199, 0, 1200, 0, 288, 640,
- 641, 289, 642, 290, 291, 292, 293, 294, 0, 0,
- 643, 296, 644, 0, 297, 298, 299, 0, 0, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 1201, 645, 1202, 0, 315, 316, 317, 318,
- 319, 320, 321, 2451, 323, 0, 324, 325, 646, 326,
- 0, 0, 328, 1203, 330, 331, 0, 0, 332, 0,
- 0, 0, 333, 334, 0, 0, 0, 647, 648, 0,
- 337, 338, 339, 340, 341, 0, 342, 0, 0, 345,
- 346, 347, 0, 348, 349, 350, 351, 352, 353, 1204,
- 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 0, 367, 368, 649, 369, 370, 0,
- 372, 373, 374, 375, 376, 377, 378, 379, 0, 380,
- 381, 382, 0, 383, 1205, 385, 386, 650, 387, 1206,
- 0, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- 398, 0, 400, 0, 401, 402, 0, 403, 404, 405,
- 406, 407, 0, 1207, 1208, 0, 0, 410, 0, 412,
- 0, 0, 414, 415, 416, 417, 418, 0, 0, 419,
- 420, 421, 422, 0, 0, 423, 424, 425, 426, 0,
- 1209, 429, 651, 430, 431, 432, 0, 0, 433, 434,
- 435, 436, 437, 438, 0, 0, 0, 0, 0, 0,
- 0, 0, 447, 448, 449, 0, 0, 0, 0, 0,
- 1210, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 180, 181, 182, 0, 0, 0, 0, 0, 0, 0,
- 183, 184, 0, 185, 632, 186, 187, 188, 633, 1190,
- 634, 1191, 1192, 0, 192, 193, 194, 195, 196, 0,
- 0, 197, 1193, 1194, 200, 0, 201, 202, 203, 204,
- 0, 0, 0, 206, 207, 208, 209, 210, 211, 0,
- 212, 213, 214, 215, 216, 0, 217, 218, 219, 635,
- 220, 221, 0, 0, 0, 0, 0, 222, 223, 224,
- 225, 226, 1195, 1196, 229, 0, 230, 0, 231, 232,
- 233, 234, 235, 0, 236, 237, 238, 0, 0, 239,
- 240, 857, 242, 243, 0, 244, 245, 246, 0, 247,
- 248, 0, 249, 250, 251, 0, 253, 254, 0, 0,
- 256, 257, 258, 1197, 0, 260, 0, 261, 636, 0,
- 637, 262, 263, 0, 264, 0, 0, 266, 0, 267,
- 268, 269, 270, 638, 271, 272, 273, 0, 274, 275,
- 276, 277, 278, 279, 0, 639, 0, 281, 282, 283,
- 284, 1198, 1199, 0, 1200, 0, 288, 640, 641, 289,
- 642, 290, 291, 292, 293, 294, 0, 0, 643, 296,
- 644, 0, 297, 298, 299, 0, 0, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 1201, 645, 1202, 0, 315, 316, 317, 318, 319, 320,
- 321, 0, 323, 0, 324, 325, 646, 326, 1555, 0,
- 328, 1203, 330, 331, 0, 0, 332, 0, 0, 0,
- 333, 334, 0, 0, 0, 647, 648, 0, 337, 338,
- 339, 340, 341, 0, 342, 0, 0, 345, 346, 347,
- 0, 348, 349, 350, 351, 352, 353, 1204, 355, 356,
- 0, 357, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 0, 367, 368, 649, 369, 370, 0, 372, 373,
- 374, 375, 376, 377, 378, 379, 0, 380, 381, 382,
- 0, 383, 1566, 385, 386, 650, 387, 1206, 0, 389,
- 390, 391, 392, 393, 394, 395, 396, 397, 398, 0,
- 400, 0, 401, 402, 0, 403, 404, 405, 406, 407,
- 0, 1207, 1208, 0, 0, 410, 0, 412, 0, 0,
- 414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
- 422, 0, 0, 423, 424, 425, 426, 0, 1209, 429,
- 651, 430, 431, 432, 0, 0, 433, 434, 435, 436,
- 437, 438, 0, 0, 0, 0, 0, 0, 0, 0,
- 447, 448, 449, 0, 0, 0, 0, 0, 1210, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 180, 181,
- 182, 0, 0, 0, 0, 0, 0, 0, 183, 184,
- 0, 185, 632, 186, 187, 188, 633, 1190, 634, 1191,
- 1192, 0, 192, 193, 194, 195, 196, 0, 0, 197,
- 1193, 1194, 200, 0, 201, 202, 203, 204, 0, 0,
- 0, 206, 207, 208, 209, 210, 211, 0, 212, 213,
- 214, 215, 216, 0, 217, 218, 219, 635, 220, 221,
- 0, 0, 0, 0, 0, 222, 223, 224, 225, 226,
- 1195, 1196, 229, 0, 230, 0, 231, 232, 233, 234,
- 235, 0, 236, 237, 238, 0, 0, 239, 240, 857,
- 242, 243, 0, 244, 245, 246, 0, 247, 248, 0,
- 249, 250, 251, 0, 253, 254, 0, 0, 256, 257,
- 258, 1197, 0, 260, 0, 261, 636, 0, 637, 262,
- 263, 0, 264, 0, 0, 266, 0, 267, 268, 269,
- 270, 638, 271, 272, 273, 0, 274, 275, 276, 277,
- 278, 279, 0, 639, 0, 281, 282, 283, 284, 1198,
- 1199, 0, 1200, 0, 288, 640, 641, 289, 642, 290,
- 291, 292, 293, 294, 0, 0, 643, 296, 644, 0,
- 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 1201, 645,
- 1202, 0, 315, 316, 317, 318, 319, 320, 321, 0,
- 323, 0, 324, 325, 646, 326, 0, 0, 328, 1203,
- 330, 331, 0, 0, 332, 0, 0, 0, 333, 334,
- 0, 0, 0, 647, 648, 0, 337, 338, 339, 340,
- 341, 0, 342, 0, 0, 345, 346, 347, 0, 348,
- 349, 350, 351, 352, 353, 1204, 355, 356, 0, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 0,
- 367, 368, 649, 369, 370, 0, 372, 373, 374, 375,
- 376, 377, 378, 379, 0, 380, 381, 382, 0, 383,
- 1205, 385, 386, 650, 387, 1206, 0, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 0, 400, 0,
- 401, 402, 0, 403, 404, 405, 406, 407, 0, 1207,
- 1208, 0, 0, 410, 0, 412, 0, 0, 414, 415,
- 416, 417, 418, 0, 0, 419, 420, 421, 422, 0,
- 0, 423, 424, 425, 426, 0, 1209, 429, 651, 430,
- 431, 432, 0, 0, 433, 434, 435, 436, 437, 438,
- 0, 0, 0, 0, 0, 0, 0, 0, 447, 448,
- 449, 0, 0, 0, 0, 0, 1210, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 180, 181, 182, 0,
- 0, 0, 0, 0, 0, 0, 183, 184, 0, 185,
- 632, 186, 187, 188, 633, 1190, 634, 1191, 1192, 0,
- 192, 193, 194, 195, 196, 0, 0, 197, 1193, 1194,
- 200, 0, 201, 202, 203, 204, 0, 0, 0, 206,
- 207, 208, 209, 210, 211, 0, 212, 213, 214, 215,
- 216, 0, 217, 218, 219, 635, 220, 221, 0, 0,
- 0, 0, 0, 222, 223, 224, 225, 226, 1195, 1196,
- 229, 0, 230, 0, 231, 232, 233, 234, 235, 0,
- 236, 237, 238, 0, 0, 239, 240, 857, 242, 243,
- 0, 244, 245, 246, 0, 247, 248, 0, 249, 250,
- 251, 0, 253, 254, 0, 0, 256, 257, 258, 1197,
- 0, 260, 0, 261, 636, 0, 637, 262, 263, 0,
- 264, 0, 0, 266, 0, 267, 268, 269, 270, 638,
- 271, 272, 273, 0, 274, 275, 276, 277, 278, 279,
- 0, 639, 0, 281, 282, 283, 284, 1198, 1199, 0,
- 1200, 0, 288, 640, 641, 289, 642, 290, 291, 292,
- 293, 294, 0, 0, 643, 296, 644, 0, 297, 298,
- 299, 0, 0, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 1201, 645, 1202, 0,
- 315, 316, 317, 318, 319, 320, 321, 0, 323, 0,
- 324, 325, 646, 326, 0, 0, 328, 1203, 330, 331,
- 0, 0, 332, 0, 0, 0, 333, 334, 0, 0,
- 0, 647, 648, 0, 337, 338, 339, 340, 341, 0,
- 342, 0, 0, 345, 346, 347, 0, 348, 349, 350,
- 351, 352, 353, 1204, 355, 356, 0, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
- 649, 369, 370, 0, 372, 373, 374, 375, 376, 377,
- 378, 379, 0, 380, 381, 382, 0, 383, 1566, 385,
- 386, 650, 387, 1206, 0, 389, 390, 391, 392, 393,
- 394, 395, 396, 397, 398, 0, 400, 0, 401, 402,
- 0, 403, 404, 405, 406, 407, 0, 1207, 1208, 0,
- 0, 410, 0, 412, 0, 0, 414, 415, 416, 417,
- 418, 0, 0, 419, 420, 421, 422, 0, 0, 423,
- 424, 425, 426, 0, 1209, 429, 651, 430, 431, 432,
- 0, 0, 433, 434, 435, 436, 437, 438, 0, 0,
- 0, 0, 0, 0, 0, 0, 447, 448, 449, 0,
- 0, 0, 0, 0, 1210, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 180, 181, 182, 0, 0, 0,
- 0, 0, 0, 0, 183, 184, 0, 185, 632, 186,
- 187, 188, 633, 1190, 634, 1191, 1192, 0, 192, 193,
- 194, 195, 196, 0, 0, 197, 1193, 1194, 200, 0,
- 201, 202, 203, 204, 0, 0, 0, 206, 207, 208,
- 209, 210, 211, 0, 212, 213, 214, 215, 216, 0,
- 217, 218, 219, 635, 220, 221, 0, 0, 0, 0,
- 0, 222, 223, 224, 225, 226, 1195, 1196, 229, 0,
- 230, 0, 231, 232, 233, 234, 235, 0, 236, 237,
- 238, 0, 0, 239, 240, 857, 242, 243, 0, 244,
- 245, 246, 0, 247, 248, 0, 249, 250, 251, 0,
- 253, 254, 0, 0, 256, 257, 258, 1197, 0, 260,
- 0, 261, 636, 0, 637, 262, 263, 0, 264, 0,
- 0, 266, 0, 267, 268, 269, 270, 638, 271, 272,
- 273, 0, 274, 275, 276, 277, 278, 279, 0, 639,
- 0, 281, 282, 283, 284, 1198, 1199, 0, 1200, 0,
- 288, 640, 641, 289, 642, 290, 291, 292, 293, 294,
- 0, 0, 643, 296, 644, 0, 297, 298, 299, 0,
- 0, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 1201, 645, 1202, 0, 315, 316,
- 317, 318, 319, 320, 321, 0, 323, 0, 324, 325,
- 646, 326, 0, 0, 328, 1203, 330, 331, 0, 0,
- 332, 0, 0, 0, 333, 334, 0, 0, 0, 647,
- 648, 0, 337, 338, 339, 340, 341, 0, 342, 0,
- 0, 345, 346, 347, 0, 348, 349, 350, 351, 352,
- 353, 1204, 355, 356, 0, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 0, 367, 368, 649, 369,
- 370, 0, 372, 373, 374, 375, 376, 377, 378, 379,
- 0, 380, 381, 382, 0, 383, 0, 385, 386, 650,
- 387, 1206, 0, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 0, 400, 0, 401, 402, 0, 403,
- 404, 405, 406, 407, 0, 1207, 1208, 505, 0, 410,
- 0, 412, 0, 0, 414, 415, 416, 417, 418, 506,
- 0, 419, 420, 421, 422, 0, 0, 423, 424, 425,
- 426, 0, 1209, 429, 651, 430, 431, 432, 0, 507,
- 433, 434, 435, 436, 437, 438, 0, 0, 0, 0,
- 0, 0, 0, 0, 447, 448, 449, 0, 0, 0,
- 0, 508, 1210, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 509, 0,
+ 0, 0, 0, 0, 0, 1464, 1464, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 510,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1464, 0, 0, 0, 2017,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 511, 0, 0, 0, 0, 512, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 513,
+ 0, 1464, 0, 1464, 0, 0, 0, 0, 2535, 2535,
+ 1464, 0, 0, 2017, 2017, 1464, 1464, 0, 1464, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1464, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1464, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 514,
- 0, 0, 0, 0, 0, 0, 0, 515, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 158, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 516, 0, 0, 0, 517, 0,
- 518, 0, 0, 0, 0, 0, 519, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1464, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2535, 2017, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2535, 2535, 1464, 0, 1464, 0,
+ 0, 0, 0, 0, 0, 0, 0, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 1464, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 2535, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 1464, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 3433, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 0, 0, 0, 0, 0, 185, 186,
+ 187, 188, 189, 190, 191, 192, 2107, 194, 195, 196,
+ 0, -1547, 0, 0, 896, 0, -1547, 197, 198, 0,
+ 199, 673, 200, 201, 202, 674, 897, 675, 898, 899,
+ 0, 206, 207, 208, 209, 210, 900, 901, 211, 212,
+ 902, 903, 215, 0, 216, 217, 218, 219, 904, 0,
+ 0, 221, 222, 223, 224, 225, 226, 0, 227, 228,
+ 229, 230, 231, 232, 0, 233, 234, 235, 676, 236,
+ 237, 905, 906, 907, 908, 909, 910, 911, 238, 239,
+ 240, 241, 242, 243, 912, 913, 246, 0, 247, 0,
+ 248, 249, 250, 251, 252, 0, 253, 254, 255, 2108,
+ 0, 256, 257, 914, 259, 260, 0, 261, 262, 263,
+ 0, 264, 265, 0, 266, 267, 268, 915, 270, 271,
+ 916, 917, 273, 0, 274, 918, 276, 0, 277, 0,
+ 278, 678, 0, 679, 279, 280, 0, 281, 919, 0,
+ 283, 0, 284, 285, 286, 287, 288, 680, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 0, 681,
+ 298, 299, 300, 301, 302, 920, 921, 0, 922, 0,
+ 306, 682, 683, 307, 684, 308, 309, 310, 311, 312,
+ 313, 314, 0, 923, 685, 316, 686, 0, 317, 318,
+ 319, 924, 925, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 332, 926, 687, 927, 637,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 928,
+ 344, 345, 688, 346, 929, 930, 348, 931, 350, 351,
+ 0, 0, 352, 638, 0, 0, 932, 354, 355, 0,
+ 0, 356, 689, 690, 691, 933, 358, 359, 360, 361,
+ 362, 363, 0, 364, 934, 366, 367, 368, 369, 370,
+ 0, 371, 372, 373, 374, 375, 376, 377, 935, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 0, 392, 393, 692, 394, 395, 936,
+ 397, 398, 399, 400, 401, 402, 403, 404, 0, 405,
+ 406, 407, 408, 937, 409, 410, 411, 412, 693, 413,
+ 938, 0, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 939, 426, 0, 427, 428, 0, 429, 430,
+ 431, 432, 433, 0, 940, 941, 0, 0, 436, 942,
+ 438, 943, 944, 440, 441, 442, 443, 444, 445, 0,
+ 945, 446, 447, 448, 449, 946, 0, 450, 451, 452,
+ 453, 454, 947, 2109, 456, 694, 457, 458, 459, 0,
+ 0, 460, 0, 0, 461, 462, 463, 464, 465, 466,
+ 948, 949, 950, 951, 952, 953, 954, 474, 475, 476,
+ 0, 0, 0, 695, 955, 585, 956, 957, 958, 568,
+ 959, 0, 0, 0, 0, 960, 961, 2110, 0, 0,
+ 0, 0, 0, 0, 963, 2111, 185, 186, 187, 188,
+ 189, 190, 191, 192, 0, 194, 195, 196, 0, 0,
+ 0, 0, 896, 0, 0, 197, 198, 0, 199, 673,
+ 200, 201, 202, 674, 897, 675, 898, 899, 0, 206,
+ 207, 208, 209, 210, 900, 901, 211, 212, 902, 903,
+ 215, 0, 216, 217, 218, 219, 904, 0, 0, 221,
+ 222, 223, 224, 225, 226, 0, 227, 228, 229, 230,
+ 231, 232, 0, 233, 234, 235, 676, 236, 237, 905,
+ 906, 907, 908, 909, 910, 911, 238, 239, 240, 241,
+ 242, 243, 912, 913, 246, 0, 247, 0, 248, 249,
+ 250, 251, 252, 0, 253, 254, 255, 0, 0, 256,
+ 257, 914, 259, 260, 0, 261, 262, 263, 0, 264,
+ 265, 0, 266, 267, 268, 915, 270, 271, 916, 917,
+ 273, 0, 274, 918, 276, 0, 277, 0, 278, 678,
+ 0, 679, 279, 280, 0, 281, 919, 0, 283, 0,
+ 284, 285, 286, 287, 288, 680, 289, 290, 291, 0,
+ 292, 293, 294, 295, 296, 297, 0, 681, 298, 299,
+ 300, 301, 302, 920, 921, 0, 922, 0, 306, 682,
+ 683, 307, 684, 308, 309, 310, 311, 312, 313, 314,
+ 0, 923, 685, 316, 686, 0, 317, 318, 319, 924,
+ 925, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 926, 687, 927, 637, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 928, 344, 345,
+ 688, 346, 929, 930, 348, 931, 350, 351, 0, 0,
+ 352, 638, 0, 0, 932, 354, 355, 0, 0, 356,
+ 689, 690, 691, 933, 358, 359, 360, 361, 362, 363,
+ 0, 364, 934, 366, 367, 368, 369, 370, 0, 371,
+ 372, 373, 374, 375, 376, 377, 935, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 0, 392, 393, 692, 394, 395, 936, 397, 398,
+ 399, 400, 401, 402, 403, 404, 0, 405, 406, 407,
+ 408, 937, 409, 410, 411, 412, 693, 413, 938, 0,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 939, 426, 0, 427, 428, 0, 429, 430, 431, 432,
+ 433, 0, 940, 941, 0, 0, 436, 942, 438, 943,
+ 944, 440, 441, 442, 443, 444, 445, 0, 945, 446,
+ 447, 448, 449, 946, 0, 450, 451, 452, 453, 454,
+ 947, 0, 456, 694, 457, 458, 459, 0, 0, 460,
+ 0, 0, 461, 462, 463, 464, 465, 466, 948, 949,
+ 950, 951, 952, 953, 954, 474, 475, 476, 0, 0,
+ 0, 695, 955, 585, 956, 957, 958, 568, 959, 0,
+ 0, 0, 0, 960, 961, 0, 0, 0, 0, 0,
+ 0, 0, 963, 2019, 185, 186, 187, 188, 189, 190,
+ 191, 192, 0, 194, 195, 196, 0, 0, 0, 0,
+ 0, 2423, 0, 197, 198, 0, 199, 0, 200, 201,
+ 202, 0, 203, 0, 204, 205, 0, 206, 207, 208,
+ 209, 210, 0, 0, 211, 212, 213, 214, 215, 0,
+ 216, 217, 218, 219, 220, 0, 0, 221, 222, 223,
+ 224, 225, 226, 0, 227, 228, 229, 230, 231, 232,
+ 0, 233, 234, 235, -1152, 236, 237, 0, 0, 0,
+ 0, 0, 0, 0, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 0, 247, 0, 248, 249, 250, 251,
+ 252, 0, 253, 254, 255, 0, 0, 256, 257, 258,
+ 259, 260, 0, 261, 262, 263, 0, 264, 265, 0,
+ 266, 267, 268, 269, 270, 271, 272, 0, 273, 0,
+ 274, 275, 276, 0, 277, 0, 278, 0, 0, -1152,
+ 279, 280, 0, 281, 282, 0, 283, 0, 284, 285,
+ 286, 287, 288, 0, 289, 290, 291, 0, 292, 293,
+ 294, 295, 296, 297, 0, -1152, 298, 299, 300, 301,
+ 302, 303, 304, 0, 305, 0, 306, 0, 0, 307,
+ -1152, 308, 309, 310, 311, 312, 313, 314, 0, 315,
+ -1152, 316, 0, 0, 317, 318, 319, 0, 0, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, 332, 333, -1152, 334, 0, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 345, 0, 346,
+ 0, 347, 348, 349, 350, 351, 0, 0, 352, 0,
+ 0, 0, 353, 354, 355, 0, 0, 356, 0, 0,
+ 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 0, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
+ 392, 393, -1152, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 0, 405, 406, 407, 408, 0,
+ 409, 410, 411, 412, 0, 413, 414, 0, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
+ 0, 427, 428, 0, 429, 430, 431, 432, 433, 0,
+ 434, 435, 0, 0, 436, 437, 438, 439, 0, 440,
+ 441, 442, 443, 444, 445, 0, 0, 446, 447, 448,
+ 449, 0, 0, 450, 451, 452, 453, 454, 455, 0,
+ 456, 0, 457, 458, 459, 0, 0, 460, 0, 0,
+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 0, 0, 0, 477,
+ 185, 186, 187, 188, 189, 190, 191, 192, 0, 194,
+ 195, 196, 0, 0, 0, 0, 0, 0, 0, 197,
+ 198, 1038, 199, 673, 200, 201, 202, 674, 1196, 675,
+ 1197, 1198, 0, 206, 207, 208, 209, 210, 0, 0,
+ 211, 212, 1199, 1200, 215, 0, 216, 217, 218, 219,
+ 0, 0, 0, 221, 222, 223, 224, 225, 226, 0,
+ 227, 228, 229, 230, 231, 232, 0, 233, 234, 235,
+ 676, 236, 237, 0, 0, 0, 677, 0, 0, 0,
+ 238, 239, 240, 241, 242, 243, 1201, 1202, 246, 0,
+ 247, 0, 248, 249, 250, 251, 252, 0, 253, 254,
+ 255, 0, 0, 256, 257, 914, 259, 260, 0, 261,
+ 262, 263, 0, 264, 265, 0, 266, 267, 268, 0,
+ 270, 271, 0, 0, 273, 0, 274, 1203, 276, 0,
+ 277, 0, 278, 678, 0, 679, 279, 280, 0, 281,
+ 0, 0, 283, 0, 284, 285, 286, 287, 288, 680,
+ 289, 290, 291, 1687, 292, 293, 294, 295, 296, 297,
+ 0, 681, 1688, 299, 300, 301, 302, 1204, 1205, 0,
+ 1206, 0, 306, 682, 683, 307, 684, 308, 309, 310,
+ 311, 312, 313, 314, 0, 0, 685, 316, 686, 0,
+ 317, 318, 319, 0, 0, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 1207, 687,
+ 1208, 0, 335, 336, 337, 338, 339, 340, 341, 0,
+ 343, 0, 344, 345, 688, 346, 0, 0, 348, 1209,
+ 350, 351, 0, 0, 352, 0, 0, 0, 353, 354,
+ 355, 0, 0, 1689, 689, 690, 691, 0, 358, 359,
+ 360, 361, 362, 363, 0, 364, 0, 366, 0, 368,
+ 369, 370, 0, 371, 372, 373, 374, 375, 376, 377,
+ 1210, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 0, 392, 393, 692, 394,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 0, 405, 406, 407, 408, 0, 409, 1690, 411, 412,
+ 693, 413, 1212, 0, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 0, 426, 0, 427, 428, 0,
+ 429, 430, 431, 432, 433, 0, 1213, 1214, 0, 0,
+ 436, 0, 438, 0, 0, 440, 441, 442, 443, 444,
+ 445, 0, 0, 446, 447, 448, 449, 0, 0, 450,
+ 451, 452, 453, 0, 1215, 1691, 456, 694, 457, 458,
+ 459, 0, 0, 460, 0, 0, 461, 462, 463, 464,
+ 465, 0, 0, 0, 0, 0, 0, 0, 0, 474,
+ 475, 476, 0, 0, 0, 1216, 185, 186, 187, 188,
+ 189, 190, 191, 192, 0, 194, 195, 196, 0, 0,
+ 0, 0, 0, 0, 0, 197, 198, 1692, 199, 673,
+ 200, 201, 202, 674, 1196, 675, 1197, 1198, 0, 206,
+ 207, 208, 209, 210, 0, 0, 211, 212, 1199, 1200,
+ 215, 0, 216, 217, 218, 219, 0, 0, 0, 221,
+ 222, 223, 224, 225, 226, 0, 227, 228, 229, 230,
+ 231, 232, 0, 233, 234, 235, 676, 236, 237, 0,
+ 0, 0, 677, 0, 0, 0, 238, 239, 240, 241,
+ 242, 243, 1201, 1202, 246, 0, 247, 0, 248, 249,
+ 250, 251, 252, 0, 253, 254, 255, 0, 0, 256,
+ 257, 914, 259, 260, 0, 261, 262, 263, 0, 264,
+ 265, 0, 266, 267, 268, 0, 270, 271, 0, 0,
+ 273, 0, 274, 1203, 276, 0, 277, 0, 278, 678,
+ 0, 679, 279, 280, 0, 281, 0, 0, 283, 0,
+ 284, 285, 286, 287, 288, 680, 289, 290, 291, 1687,
+ 292, 293, 294, 295, 296, 297, 0, 681, 1688, 299,
+ 300, 301, 302, 1204, 1205, 0, 1206, 0, 306, 682,
+ 683, 307, 684, 308, 309, 310, 311, 312, 313, 314,
+ 0, 0, 685, 316, 686, 0, 317, 318, 319, 0,
+ 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 1207, 687, 1208, 0, 335, 336,
+ 337, 338, 339, 340, 341, 0, 343, 0, 344, 345,
+ 688, 346, 0, 0, 348, 1209, 350, 351, 0, 0,
+ 352, 0, 0, 0, 353, 354, 355, 0, 0, 1689,
+ 689, 690, 691, 0, 358, 359, 360, 361, 362, 363,
+ 0, 364, 0, 366, 0, 368, 369, 370, 0, 371,
+ 372, 373, 374, 375, 376, 377, 1210, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 0, 392, 393, 692, 394, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 0, 405, 406, 407,
+ 408, 0, 409, 1690, 411, 412, 693, 413, 1212, 0,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 0, 426, 0, 427, 428, 0, 429, 430, 431, 432,
+ 433, 0, 1213, 1214, 0, 0, 436, 0, 438, 0,
+ 0, 440, 441, 442, 443, 444, 445, 0, 0, 446,
+ 447, 448, 449, 0, 0, 450, 451, 452, 453, 0,
+ 1215, 1691, 456, 694, 457, 458, 459, 0, 0, 460,
+ 0, 0, 461, 462, 463, 464, 465, 0, 0, 0,
+ 0, 0, 0, 0, 0, 474, 475, 476, 0, 0,
+ 0, 1216, 185, 186, 187, 188, 189, 190, 191, 192,
+ 0, 194, 195, 196, 0, 0, 0, 0, 896, 0,
+ 0, 197, 198, 2405, 199, 673, 200, 201, 202, 674,
+ 897, 675, 898, 899, 2029, 206, 207, 208, 209, 210,
+ 900, 901, 211, 212, 902, 903, 215, 0, 216, 217,
+ 218, 219, 904, 0, 0, 221, 222, 223, 224, 225,
+ 226, 0, 227, 228, 229, 230, 231, 232, 0, 233,
+ 234, 235, 676, 236, 237, 905, 906, 907, 908, 909,
+ 910, 911, 238, 239, 240, 241, 242, 243, 912, 913,
+ 246, 0, 247, 0, 248, 249, 250, 251, 252, 0,
+ 253, 254, 255, 0, 0, 256, 257, 914, 259, 260,
+ 0, 261, 262, 263, 0, 264, 265, 0, 266, 267,
+ 268, 915, 270, 271, 916, 917, 273, 0, 274, 918,
+ 276, 0, 277, 0, 278, 678, 2030, 679, 279, 280,
+ 0, 281, 919, 0, 283, 0, 284, 285, 286, 287,
+ 288, 680, 289, 290, 291, 0, 292, 293, 294, 295,
+ 296, 297, 0, 681, 298, 299, 300, 301, 302, 920,
+ 921, 0, 922, 0, 306, 682, 683, 307, 684, 308,
+ 309, 310, 311, 312, 313, 314, 2031, 923, 685, 316,
+ 686, 0, 317, 318, 319, 924, 925, 320, 321, 322,
+ 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
+ 926, 687, 927, 637, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 928, 344, 345, 688, 346, 929, 930,
+ 348, 931, 350, 351, 0, 0, 352, 638, 0, 0,
+ 932, 354, 355, 0, 0, 356, 689, 690, 691, 933,
+ 358, 359, 360, 361, 362, 363, 0, 364, 934, 366,
+ 367, 368, 369, 370, 0, 371, 372, 373, 374, 375,
+ 376, 377, 935, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 0, 392, 393,
+ 692, 394, 395, 936, 397, 398, 399, 400, 401, 402,
+ 403, 404, 0, 405, 406, 407, 408, 937, 409, 410,
+ 411, 412, 693, 413, 938, 0, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 939, 426, 0, 427,
+ 428, 0, 429, 430, 431, 432, 433, 0, 940, 941,
+ 0, 2032, 436, 942, 438, 943, 944, 440, 441, 442,
+ 443, 444, 445, 0, 945, 446, 447, 448, 449, 946,
+ 0, 450, 451, 452, 453, 454, 947, 0, 456, 694,
+ 457, 458, 459, 0, 0, 460, 0, 0, 461, 462,
+ 463, 464, 465, 466, 948, 949, 950, 951, 952, 953,
+ 954, 474, 475, 476, 0, 0, 0, 695, 955, 585,
+ 956, 957, 958, 568, 959, 0, 0, 0, 0, 960,
+ 961, 0, 0, 0, 0, 0, 0, 0, 963, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 896, 0, 0, 197, 198,
+ 0, 199, 673, 200, 201, 202, 674, 897, 675, 898,
+ 899, 0, 206, 207, 208, 209, 210, 900, 901, 211,
+ 212, 902, 903, 215, 0, 216, 217, 218, 219, 904,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 676,
+ 236, 237, 905, 906, 907, 908, 909, 910, 911, 238,
+ 239, 240, 241, 242, 243, 912, 913, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 914, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 915, 270,
+ 271, 916, 917, 273, 0, 274, 918, 276, 0, 277,
+ 0, 278, 678, 0, 679, 279, 280, 0, 281, 919,
+ 0, 283, 0, 284, 285, 286, 287, 288, 680, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 681, 298, 299, 300, 301, 302, 920, 921, 0, 922,
+ 0, 306, 682, 683, 307, 684, 308, 309, 310, 311,
+ 312, 313, 314, 0, 923, 685, 316, 686, 0, 317,
+ 318, 319, 924, 925, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 926, 687, 927,
+ 637, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 928, 344, 345, 688, 346, 929, 930, 348, 931, 350,
+ 351, 0, 0, 352, 638, 0, 0, 932, 354, 355,
+ 0, 0, 356, 689, 690, 691, 933, 358, 359, 360,
+ 361, 362, 363, 0, 364, 934, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 935,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 692, 394, 395,
+ 936, 397, 398, 399, 400, 401, 402, 403, 404, 37,
+ 405, 406, 407, 408, 937, 409, 410, 411, 412, 693,
+ 413, 938, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 939, 426, 0, 427, 428, 41, 429,
+ 430, 431, 432, 433, 0, 940, 941, 0, 0, 436,
+ 942, 438, 943, 944, 440, 441, 442, 443, 444, 445,
+ 0, 945, 446, 447, 448, 449, 946, 0, 450, 451,
+ 452, 453, 1427, 947, 0, 456, 694, 457, 458, 459,
+ 0, 0, 460, 0, 47, 461, 462, 463, 464, 465,
+ 466, 948, 949, 950, 951, 952, 953, 954, 474, 475,
+ 476, 0, 0, 0, 695, 955, 585, 956, 957, 958,
+ 568, 959, 0, 0, 0, 0, 960, 961, 0, 0,
+ 0, 0, 0, 0, 0, 963, 185, 186, 187, 188,
+ 189, 190, 191, 192, 0, 194, 195, 196, 0, 0,
+ 0, 0, 896, 0, 0, 197, 198, 0, 199, 673,
+ 200, 201, 202, 674, 897, 675, 898, 899, 0, 206,
+ 207, 208, 209, 210, 900, 901, 211, 212, 902, 903,
+ 215, 0, 216, 217, 218, 219, 904, 0, 0, 221,
+ 222, 223, 224, 225, 226, 0, 227, 228, 229, 230,
+ 231, 232, 0, 233, 234, 235, 676, 236, 237, 905,
+ 906, 907, 908, 909, 910, 911, 238, 239, 240, 241,
+ 242, 243, 912, 913, 246, 0, 247, 0, 248, 249,
+ 250, 251, 252, 0, 253, 254, 255, 0, 0, 256,
+ 257, 914, 259, 260, 0, 261, 262, 263, 0, 264,
+ 265, 0, 266, 267, 268, 915, 270, 271, 916, 917,
+ 273, 0, 274, 918, 276, 0, 277, 0, 278, 678,
+ 0, 679, 279, 280, 0, 281, 919, 0, 283, 0,
+ 284, 285, 286, 287, 288, 680, 289, 290, 291, 0,
+ 292, 293, 294, 295, 296, 297, 0, 681, 298, 299,
+ 300, 301, 302, 920, 921, 0, 922, 0, 306, 682,
+ 683, 307, 684, 308, 309, 310, 311, 312, 313, 314,
+ 0, 923, 685, 316, 686, 0, 317, 318, 319, 924,
+ 925, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 926, 687, 927, 637, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 928, 344, 345,
+ 688, 346, 929, 930, 348, 931, 350, 351, 0, 0,
+ 352, 638, 0, 0, 932, 354, 355, 0, 0, 356,
+ 689, 690, 691, 933, 358, 359, 360, 361, 362, 363,
+ 0, 364, 934, 366, 367, 368, 369, 370, 0, 371,
+ 372, 373, 374, 375, 376, 377, 935, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 0, 392, 393, 692, 394, 395, 936, 397, 398,
+ 399, 400, 401, 402, 403, 404, 0, 405, 406, 407,
+ 408, 937, 409, 410, 411, 412, 693, 413, 938, 0,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 939, 426, 0, 427, 428, 0, 429, 430, 431, 432,
+ 433, 0, 940, 941, 0, 0, 436, 942, 438, 943,
+ 944, 440, 441, 442, 443, 444, 445, 0, 945, 446,
+ 447, 448, 449, 946, 0, 450, 451, 452, 453, 454,
+ 947, 0, 456, 694, 457, 458, 459, 0, 0, 460,
+ 0, 0, 461, 462, 463, 464, 465, 466, 948, 949,
+ 950, 951, 952, 953, 954, 474, 475, 476, 0, 0,
+ 0, 695, 955, 585, 956, 957, 958, 568, 959, 0,
+ 0, 0, 0, 960, 961, 0, 0, 0, 0, 0,
+ 1372, 1978, 963, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 896,
+ 0, 0, 197, 198, 0, 199, 673, 200, 201, 202,
+ 674, 897, 675, 898, 899, 0, 206, 207, 208, 209,
+ 210, 900, 901, 211, 212, 902, 903, 215, 0, 216,
+ 217, 218, 219, 904, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 676, 236, 237, 905, 906, 907, 908,
+ 909, 910, 911, 238, 239, 240, 241, 242, 243, 912,
+ 913, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 914, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 915, 270, 271, 916, 917, 273, 0, 274,
+ 918, 276, 0, 277, 0, 278, 678, 0, 679, 279,
+ 280, 0, 281, 919, 0, 283, 0, 284, 285, 286,
+ 287, 288, 680, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 681, 298, 299, 300, 301, 302,
+ 920, 921, 0, 922, 0, 306, 682, 683, 307, 684,
+ 308, 309, 310, 311, 312, 313, 314, 0, 923, 685,
+ 316, 686, 0, 317, 318, 319, 924, 925, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 926, 687, 927, 637, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 928, 344, 345, 688, 346, 929,
+ 930, 348, 931, 350, 351, 0, 0, 352, 638, 0,
+ 0, 932, 354, 355, 0, 0, 356, 689, 690, 691,
+ 933, 358, 359, 360, 361, 362, 363, 0, 364, 934,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 935, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 692, 394, 395, 936, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 937, 409,
+ 410, 411, 412, 693, 413, 938, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 939, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 940,
+ 941, 0, 0, 436, 942, 438, 943, 944, 440, 441,
+ 442, 443, 444, 445, 0, 945, 446, 447, 448, 449,
+ 946, 0, 450, 451, 452, 453, 454, 947, 0, 456,
+ 694, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 948, 949, 950, 951, 952,
+ 953, 954, 474, 475, 476, 0, 0, 0, 695, 955,
+ 585, 956, 957, 958, 568, 959, 0, 0, 0, 0,
+ 960, 961, 962, 0, 0, 0, 0, 0, 0, 963,
+ 185, 186, 187, 188, 189, 190, 191, 192, 0, 194,
+ 195, 196, 0, 0, 0, 0, 896, 0, 0, 197,
+ 198, 0, 199, 673, 200, 201, 202, 674, 897, 675,
+ 898, 899, 0, 206, 207, 208, 209, 210, 900, 901,
+ 211, 212, 902, 903, 215, 0, 216, 217, 218, 219,
+ 904, 0, 0, 221, 222, 223, 224, 225, 226, 0,
+ 227, 228, 229, 230, 231, 232, 0, 233, 234, 235,
+ 676, 236, 237, 905, 906, 907, 908, 909, 910, 911,
+ 238, 239, 240, 241, 242, 243, 912, 913, 246, 1030,
+ 247, 0, 248, 249, 250, 251, 252, 0, 253, 254,
+ 255, 0, 0, 256, 257, 914, 259, 260, 0, 261,
+ 262, 263, 0, 264, 265, 0, 266, 267, 268, 915,
+ 270, 271, 916, 917, 273, 0, 274, 918, 276, 0,
+ 277, 0, 278, 678, 0, 679, 279, 280, 0, 281,
+ 919, 0, 283, 0, 284, 285, 286, 287, 288, 680,
+ 289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
+ 0, 681, 298, 299, 300, 301, 302, 920, 921, 0,
+ 922, 0, 306, 682, 683, 307, 684, 308, 309, 310,
+ 311, 312, 313, 314, 0, 923, 685, 316, 686, 0,
+ 317, 318, 319, 924, 925, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 926, 687,
+ 927, 637, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 928, 344, 345, 688, 346, 929, 930, 348, 931,
+ 350, 351, 0, 0, 352, 638, 0, 0, 932, 354,
+ 355, 0, 0, 356, 689, 690, 691, 933, 358, 359,
+ 360, 361, 362, 363, 0, 364, 934, 366, 367, 368,
+ 369, 370, 0, 371, 372, 373, 374, 375, 376, 377,
+ 935, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 0, 392, 393, 692, 394,
+ 395, 936, 397, 398, 399, 400, 401, 402, 403, 404,
+ 0, 405, 406, 407, 408, 937, 409, 410, 411, 412,
+ 693, 413, 938, 0, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 939, 426, 0, 427, 428, 0,
+ 429, 430, 431, 432, 433, 0, 940, 941, 0, 0,
+ 436, 942, 438, 943, 944, 440, 441, 442, 443, 444,
+ 445, 0, 945, 446, 447, 448, 449, 946, 0, 450,
+ 451, 452, 453, 454, 947, 0, 456, 694, 457, 458,
+ 459, 0, 0, 460, 0, 0, 461, 462, 463, 464,
+ 465, 466, 948, 949, 950, 951, 952, 953, 954, 474,
+ 475, 476, 0, 0, 0, 695, 955, 585, 956, 957,
+ 958, 568, 959, 0, 0, 0, 0, 960, 961, 0,
+ 0, 0, 0, 0, 0, 0, 963, 185, 186, 187,
+ 188, 189, 190, 191, 192, 1630, 194, 195, 196, 0,
+ 0, 0, 0, 896, 0, 0, 197, 198, 0, 199,
+ 673, 200, 201, 202, 674, 897, 675, 898, 899, 0,
+ 206, 207, 208, 209, 210, 900, 901, 211, 212, 902,
+ 903, 215, 0, 216, 217, 218, 219, 904, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 676, 236, 237,
+ 905, 906, 907, 908, 909, 910, 911, 238, 239, 240,
+ 241, 242, 243, 912, 913, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 914, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 915, 270, 271, 916,
+ 917, 273, 0, 274, 918, 276, 0, 277, 0, 278,
+ 678, 0, 679, 279, 280, 0, 281, 919, 0, 283,
+ 0, 284, 285, 286, 287, 288, 680, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 681, 298,
+ 299, 300, 301, 302, 920, 921, 0, 922, 0, 306,
+ 682, 683, 307, 684, 308, 309, 310, 311, 312, 313,
+ 314, 0, 923, 685, 316, 686, 0, 317, 318, 319,
+ 924, 925, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 926, 687, 927, 637, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 928, 344,
+ 345, 688, 346, 929, 930, 348, 931, 350, 351, 0,
+ 0, 352, 638, 0, 0, 932, 354, 355, 0, 0,
+ 356, 689, 690, 691, 933, 358, 359, 360, 361, 362,
+ 363, 0, 364, 934, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 935, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 692, 394, 395, 936, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 937, 409, 410, 411, 412, 693, 413, 938,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 939, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 940, 941, 0, 0, 436, 942, 438,
+ 943, 944, 440, 441, 442, 443, 444, 445, 0, 945,
+ 446, 447, 448, 449, 946, 0, 450, 451, 452, 453,
+ 454, 947, 0, 456, 694, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 948,
+ 949, 950, 951, 952, 953, 954, 474, 475, 476, 0,
+ 0, 0, 695, 955, 585, 956, 957, 958, 568, 959,
+ 0, 0, 0, 0, 960, 961, 0, 0, 0, 0,
+ 0, 0, 0, 963, 185, 186, 187, 188, 189, 190,
+ 191, 192, 0, 194, 195, 196, 0, 0, 0, 0,
+ 896, 0, 0, 197, 198, 0, 199, 673, 200, 201,
+ 202, 674, 897, 675, 898, 899, 0, 206, 207, 208,
+ 209, 210, 900, 901, 211, 212, 902, 903, 215, 0,
+ 216, 217, 218, 219, 904, 0, 0, 221, 222, 223,
+ 224, 225, 226, 0, 227, 228, 229, 230, 231, 232,
+ 0, 233, 234, 235, 676, 236, 237, 905, 906, 907,
+ 908, 909, 910, 911, 238, 239, 240, 241, 242, 243,
+ 912, 913, 246, 0, 247, 0, 248, 249, 250, 251,
+ 252, 0, 253, 254, 255, 0, 0, 256, 257, 914,
+ 259, 260, 0, 261, 262, 263, 0, 264, 265, 0,
+ 266, 267, 268, 915, 270, 271, 916, 917, 273, 0,
+ 274, 918, 276, 0, 277, 0, 278, 678, 2030, 679,
+ 279, 280, 0, 281, 919, 0, 283, 0, 284, 285,
+ 286, 287, 288, 680, 289, 290, 291, 0, 292, 293,
+ 294, 295, 296, 297, 0, 681, 298, 299, 300, 301,
+ 302, 920, 921, 0, 922, 0, 306, 682, 683, 307,
+ 684, 308, 309, 310, 311, 312, 313, 314, 0, 923,
+ 685, 316, 686, 0, 317, 318, 319, 924, 925, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, 332, 926, 687, 927, 637, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 928, 344, 345, 688, 346,
+ 929, 930, 348, 931, 350, 351, 0, 0, 352, 638,
+ 0, 0, 932, 354, 355, 0, 0, 356, 689, 690,
+ 691, 933, 358, 359, 360, 361, 362, 363, 0, 364,
+ 934, 366, 367, 368, 369, 370, 0, 371, 372, 373,
+ 374, 375, 376, 377, 935, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
+ 392, 393, 692, 394, 395, 936, 397, 398, 399, 400,
+ 401, 402, 403, 404, 0, 405, 406, 407, 408, 937,
+ 409, 410, 411, 412, 693, 413, 938, 0, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 939, 426,
+ 0, 427, 428, 0, 429, 430, 431, 432, 433, 0,
+ 940, 941, 0, 0, 436, 942, 438, 943, 944, 440,
+ 441, 442, 443, 444, 445, 0, 945, 446, 447, 448,
+ 449, 946, 0, 450, 451, 452, 453, 454, 947, 0,
+ 456, 694, 457, 458, 459, 0, 0, 460, 0, 0,
+ 461, 462, 463, 464, 465, 466, 948, 949, 950, 951,
+ 952, 953, 954, 474, 475, 476, 0, 0, 0, 695,
+ 955, 585, 956, 957, 958, 568, 959, 0, 0, 0,
+ 0, 960, 961, 0, 0, 0, 0, 0, 0, 0,
+ 963, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 896, 0, 0,
+ 197, 198, 0, 199, 673, 200, 201, 202, 674, 897,
+ 675, 898, 899, 0, 206, 207, 208, 209, 210, 900,
+ 901, 211, 212, 902, 903, 215, 0, 216, 217, 218,
+ 219, 904, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 676, 236, 237, 905, 906, 907, 908, 909, 910,
+ 911, 238, 239, 240, 241, 242, 243, 912, 913, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 914, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 915, 270, 271, 916, 917, 273, 0, 274, 918, 276,
+ 0, 277, 0, 278, 678, 0, 679, 279, 280, 0,
+ 281, 919, 0, 283, 0, 284, 285, 286, 287, 288,
+ 680, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 681, 298, 299, 300, 301, 302, 920, 921,
+ 0, 922, 0, 306, 682, 683, 307, 684, 308, 309,
+ 310, 311, 312, 313, 314, 0, 923, 685, 316, 686,
+ 0, 317, 318, 319, 924, 925, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 926,
+ 687, 927, 637, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 928, 344, 345, 688, 346, 929, 930, 348,
+ 931, 350, 351, 0, 0, 352, 638, 0, 0, 932,
+ 354, 355, 0, 0, 356, 689, 690, 691, 933, 358,
+ 359, 360, 361, 362, 363, 0, 364, 934, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 935, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 692,
+ 394, 395, 936, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 937, 409, 410, 411,
+ 412, 693, 413, 938, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 939, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 940, 941, 0,
+ 0, 436, 942, 438, 943, 944, 440, 441, 442, 443,
+ 444, 445, 0, 945, 446, 447, 448, 449, 946, 0,
+ 450, 451, 452, 453, 454, 947, 2980, 456, 694, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 948, 949, 950, 951, 952, 953, 954,
+ 474, 475, 476, 0, 0, 0, 695, 955, 585, 956,
+ 957, 958, 568, 959, 0, 0, 0, 0, 960, 961,
+ 0, 0, 0, 0, 0, 0, 0, 963, 185, 186,
+ 187, 188, 189, 190, 191, 192, 0, 194, 195, 196,
+ 0, 0, 0, 0, 896, 0, 0, 197, 198, 0,
+ 199, 673, 200, 201, 202, 674, 897, 675, 898, 899,
+ 0, 206, 207, 208, 209, 210, 900, 901, 211, 212,
+ 902, 903, 215, 0, 216, 217, 218, 219, 904, 0,
+ 0, 221, 222, 223, 224, 225, 226, 0, 227, 228,
+ 229, 230, 231, 232, 0, 233, 234, 235, 676, 236,
+ 237, 905, 906, 907, 908, 909, 910, 911, 238, 239,
+ 240, 241, 242, 243, 912, 913, 246, 0, 247, 0,
+ 248, 249, 250, 251, 252, 0, 253, 254, 255, 0,
+ 0, 256, 257, 914, 259, 260, 0, 261, 262, 263,
+ 0, 264, 265, 0, 266, 267, 268, 915, 270, 271,
+ 916, 917, 273, 0, 274, 918, 276, 0, 277, 0,
+ 278, 678, 0, 679, 279, 280, 0, 281, 919, 0,
+ 283, 0, 284, 285, 286, 287, 288, 680, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 0, 681,
+ 298, 299, 300, 301, 302, 920, 921, 0, 922, 0,
+ 306, 682, 683, 307, 684, 308, 309, 310, 311, 312,
+ 313, 314, 0, 923, 685, 316, 686, 0, 317, 318,
+ 319, 924, 925, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 332, 926, 687, 927, 637,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 928,
+ 344, 345, 688, 346, 929, 930, 348, 931, 350, 351,
+ 0, 0, 352, 638, 0, 0, 932, 354, 355, 0,
+ 0, 356, 689, 690, 691, 933, 358, 359, 360, 361,
+ 362, 363, 0, 364, 934, 366, 367, 368, 369, 370,
+ 0, 371, 372, 373, 374, 375, 376, 377, 935, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 0, 392, 393, 692, 394, 395, 936,
+ 397, 398, 399, 400, 401, 402, 403, 404, 0, 405,
+ 406, 407, 408, 937, 409, 410, 411, 412, 693, 413,
+ 938, 0, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 939, 426, 0, 427, 428, 0, 429, 430,
+ 431, 432, 433, 0, 940, 941, 0, 0, 436, 942,
+ 438, 943, 944, 440, 441, 442, 443, 444, 445, 0,
+ 945, 446, 447, 448, 449, 946, 0, 450, 451, 452,
+ 453, 454, 947, 0, 456, 694, 457, 458, 459, 0,
+ 0, 460, 0, 0, 461, 462, 463, 464, 465, 466,
+ 948, 949, 950, 951, 952, 953, 954, 474, 475, 476,
+ 0, 0, 0, 695, 955, 585, 956, 957, 958, 568,
+ 959, 0, 0, 0, 0, 960, 961, 0, 0, 0,
+ 0, 0, 0, 0, 963, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 896, 0, 0, 197, 198, 0, 199, 673, 200,
+ 201, 202, 674, 897, 675, 898, 899, 0, 206, 207,
+ 208, 209, 210, 900, 901, 211, 212, 902, 903, 215,
+ 0, 216, 217, 218, 219, 904, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 676, 236, 2441, 905, 906,
+ 907, 908, 909, 910, 911, 238, 239, 240, 241, 242,
+ 243, 912, 913, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 914, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 915, 270, 271, 916, 917, 273,
+ 0, 274, 918, 276, 0, 277, 0, 278, 678, 0,
+ 679, 279, 280, 0, 281, 919, 0, 283, 0, 284,
+ 285, 286, 287, 288, 680, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 681, 298, 299, 300,
+ 301, 302, 920, 921, 0, 922, 0, 306, 682, 683,
+ 307, 684, 308, 309, 310, 311, 312, 313, 314, 0,
+ 923, 685, 316, 686, 0, 317, 318, 319, 924, 925,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 926, 687, 927, 637, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 928, 344, 345, 688,
+ 346, 929, 930, 348, 931, 350, 351, 0, 0, 352,
+ 638, 0, 0, 932, 354, 355, 0, 0, 356, 689,
+ 690, 691, 933, 358, 359, 360, 361, 362, 363, 0,
+ 364, 934, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 935, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 692, 394, 395, 936, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 937, 409, 410, 411, 412, 693, 413, 938, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 939,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 940, 941, 0, 0, 436, 942, 438, 943, 944,
+ 440, 441, 442, 443, 444, 445, 0, 945, 446, 447,
+ 448, 449, 946, 0, 450, 451, 452, 453, 454, 947,
+ 0, 456, 694, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 948, 949, 950,
+ 951, 952, 953, 954, 474, 475, 476, 0, 0, 0,
+ 695, 955, 585, 956, 957, 958, 568, 959, 0, 0,
+ 0, 0, 960, 961, 0, 0, 0, 0, 0, 0,
+ 0, 963, 185, 186, 187, 188, 189, 190, 191, 192,
+ 0, 194, 195, 196, 0, 0, 0, 0, 896, 0,
+ 0, 197, 198, 0, 199, 673, 200, 201, 202, 674,
+ 897, 675, 898, 899, 0, 206, 207, 208, 209, 210,
+ 900, 901, 211, 212, 902, 903, 215, 0, 216, 217,
+ 218, 219, 904, 0, 0, 221, 222, 223, 224, 225,
+ 226, 0, 227, 228, 229, 230, 231, 232, 0, 233,
+ 234, 235, 676, 236, 237, 905, 906, 907, 908, 909,
+ 910, 911, 238, 239, 240, 241, 242, 243, 912, 913,
+ 246, 0, 247, 0, 248, 249, 250, 251, 252, 0,
+ 253, 254, 255, 0, 0, 256, 257, 914, 259, 260,
+ 0, 261, 262, 263, 0, 264, 265, 0, 266, 267,
+ 268, 915, 270, 271, 916, 917, 273, 0, 274, 918,
+ 276, 0, 277, 0, 278, 678, 0, 679, 279, 280,
+ 0, 281, 919, 0, 283, 0, 284, 285, 286, 287,
+ 288, 680, 289, 290, 291, 0, 292, 293, 294, 295,
+ 296, 297, 0, 681, 298, 299, 300, 301, 302, 920,
+ 921, 0, 922, 0, 306, 682, 683, 307, 684, 308,
+ 309, 310, 311, 312, 313, 314, 0, 923, 685, 316,
+ 686, 0, 317, 318, 319, 924, 925, 320, 321, 322,
+ 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
+ 926, 687, 927, 637, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 928, 344, 345, 688, 346, 929, 930,
+ 348, 931, 350, 351, 0, 0, 352, 638, 0, 0,
+ 932, 354, 355, 0, 0, 356, 689, 690, 691, 933,
+ 358, 359, 360, 361, 362, 363, 0, 364, 934, 366,
+ 367, 368, 369, 370, 0, 371, 372, 373, 374, 375,
+ 376, 377, 935, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 0, 392, 393,
+ 692, 394, 395, 936, 397, 398, 399, 400, 401, 402,
+ 403, 404, 0, 405, 406, 407, 408, 937, 409, 410,
+ 411, 412, 693, 413, 938, 0, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 939, 426, 0, 427,
+ 428, 0, 429, 430, 431, 432, 433, 0, 940, 941,
+ 0, 0, 436, 942, 438, 943, 944, 440, 441, 442,
+ 443, 444, 445, 0, 945, 446, 447, 448, 449, 946,
+ 0, 450, 451, 452, 453, 454, 947, 0, 456, 694,
+ 457, 458, 459, 0, 0, 460, 0, 0, 461, 462,
+ 463, 464, 465, 3189, 948, 949, 950, 951, 952, 953,
+ 954, 474, 475, 476, 0, 0, 0, 695, 955, 585,
+ 956, 957, 958, 568, 959, 0, 0, 0, 0, 960,
+ 961, 0, 0, 0, 0, 0, 0, 0, 963, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 896, 0, 0, 197, 198,
+ 0, 199, 673, 200, 201, 202, 674, 897, 675, 898,
+ 899, 0, 206, 207, 208, 209, 210, 900, 901, 211,
+ 212, 902, 903, 215, 0, 216, 217, 218, 219, 904,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 676,
+ 236, 237, 905, 906, 907, 908, 909, 910, 911, 238,
+ 239, 240, 241, 242, 243, 912, 913, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 914, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 915, 270,
+ 271, 916, 917, 273, 0, 274, 918, 276, 0, 277,
+ 0, 278, 678, 0, 679, 279, 280, 0, 281, 919,
+ 0, 283, 0, 284, 285, 286, 287, 288, 680, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 681, 298, 299, 300, 301, 302, 920, 921, 0, 922,
+ 0, 306, 682, 683, 307, 684, 308, 309, 310, 311,
+ 312, 313, 314, 0, 923, 685, 316, 686, 0, 317,
+ 318, 319, 924, 925, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 926, 687, 927,
+ 637, 335, 3196, 337, 338, 339, 340, 341, 342, 343,
+ 928, 344, 345, 688, 346, 929, 930, 348, 931, 350,
+ 351, 0, 0, 352, 638, 0, 0, 932, 354, 355,
+ 0, 0, 356, 689, 690, 691, 933, 358, 359, 360,
+ 361, 362, 363, 0, 364, 934, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 935,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 692, 394, 395,
+ 936, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 937, 409, 410, 411, 412, 693,
+ 413, 938, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 939, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 940, 941, 0, 0, 436,
+ 942, 438, 943, 944, 440, 441, 442, 443, 444, 445,
+ 0, 945, 446, 447, 448, 449, 946, 0, 450, 451,
+ 452, 453, 454, 947, 0, 456, 694, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 948, 949, 950, 951, 952, 953, 954, 474, 475,
+ 476, 0, 0, 0, 695, 955, 585, 956, 957, 958,
+ 568, 959, 0, 0, 0, 0, 960, 961, 0, 0,
+ 0, 0, 0, 0, 0, 963, 185, 186, 187, 188,
+ 189, 190, 191, 192, 0, 194, 195, 196, 0, 0,
+ 0, 0, 896, 0, 0, 197, 198, 0, 199, 673,
+ 200, 201, 202, 674, 897, 675, 898, 899, 0, 206,
+ 207, 208, 209, 210, 900, 901, 211, 212, 902, 903,
+ 215, 0, 216, 217, 218, 219, 904, 0, 0, 221,
+ 222, 223, 224, 225, 226, 0, 227, 228, 229, 230,
+ 231, 232, 0, 233, 234, 235, 676, 236, 237, 905,
+ 906, 907, 908, 909, 910, 911, 238, 239, 240, 241,
+ 242, 243, 912, 913, 246, 0, 247, 0, 248, 249,
+ 250, 251, 252, 0, 253, 254, 255, 0, 0, 256,
+ 257, 914, 259, 260, 0, 261, 262, 263, 0, 264,
+ 265, 0, 266, 267, 268, 915, 270, 271, 916, 917,
+ 273, 0, 274, 918, 276, 0, 277, 0, 278, 678,
+ 0, 679, 279, 280, 0, 281, 919, 0, 283, 0,
+ 284, 285, 286, 287, 288, 680, 289, 290, 291, 0,
+ 292, 293, 294, 295, 296, 297, 0, 681, 298, 299,
+ 300, 301, 302, 920, 921, 0, 922, 0, 306, 682,
+ 683, 307, 684, 308, 309, 310, 311, 312, 313, 314,
+ 0, 923, 685, 316, 686, 0, 317, 318, 319, 924,
+ 925, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 926, 687, 927, 637, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 345,
+ 688, 346, 929, 930, 348, 931, 350, 351, 0, 0,
+ 352, 638, 0, 0, 932, 354, 355, 0, 0, 356,
+ 689, 690, 691, 933, 358, 359, 360, 361, 362, 363,
+ 0, 364, 934, 366, 367, 368, 369, 370, 0, 371,
+ 372, 373, 374, 375, 376, 377, 935, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 0, 392, 393, 692, 394, 395, 936, 397, 398,
+ 399, 400, 401, 402, 403, 404, 0, 405, 406, 407,
+ 408, 937, 409, 410, 411, 412, 693, 413, 938, 0,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 939, 426, 0, 427, 428, 0, 429, 430, 431, 432,
+ 433, 0, 940, 941, 0, 0, 436, 942, 438, 943,
+ 944, 440, 441, 442, 443, 444, 445, 0, 0, 446,
+ 447, 448, 449, 946, 0, 450, 451, 452, 453, 454,
+ 947, 0, 456, 694, 457, 458, 459, 0, 0, 460,
+ 0, 0, 461, 462, 463, 464, 465, 466, 948, 949,
+ 950, 951, 952, 953, 954, 474, 475, 476, 0, 0,
+ 0, 695, 955, 585, 956, 957, 958, 568, 959, 0,
+ 0, 0, 0, 2012, 2013, 0, 0, 0, 0, 0,
+ 0, 0, 963, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 896,
+ 0, 0, 197, 198, 0, 199, 673, 200, 201, 202,
+ 0, 897, 675, 898, 899, 0, 206, 207, 208, 209,
+ 210, 900, 901, 211, 212, 902, 903, 215, 0, 216,
+ 217, 218, 219, 904, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 676, 236, 237, 905, 906, 907, 908,
+ 909, 910, 911, 238, 239, 240, 241, 242, 243, 912,
+ 913, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 914, 259,
+ 260, 0, 261, 262, 263, 0, 264, 0, 0, 266,
+ 267, 268, 915, 270, 271, 916, 917, 273, 0, 274,
+ 918, 276, 0, 277, 0, 278, 678, 0, 679, 279,
+ 280, 0, 281, 919, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 681, 298, 299, 300, 301, 302,
+ 920, 921, 0, 922, 0, 306, 682, 683, 307, 684,
+ 308, 309, 310, 311, 312, 313, 314, 0, 923, 685,
+ 316, 0, 0, 317, 318, 319, 924, 925, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 926, 687, 927, 637, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 688, 346, 929,
+ 930, 348, 931, 350, 351, 0, 0, 352, 638, 0,
+ 0, 932, 354, 355, 0, 0, 356, 689, 690, 691,
+ 933, 358, 359, 360, 361, 362, 363, 0, 364, 934,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 935, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 692, 394, 395, 936, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 937, 409,
+ 410, 411, 412, 0, 413, 938, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 939, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 940,
+ 941, 0, 0, 436, 942, 438, 943, 944, 440, 441,
+ 442, 443, 444, 445, 0, 945, 446, 447, 448, 449,
+ 946, 0, 450, 451, 452, 453, 454, 947, 0, 456,
+ 694, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 948, 949, 950, 951, 952,
+ 953, 954, 474, 475, 476, 0, 0, 0, 695, 955,
+ 585, 956, 957, 958, 568, 959, 0, 0, 0, 0,
+ 960, 961, 0, 0, 0, 0, 0, 0, 0, 963,
+ 185, 186, 187, 188, 189, 190, 191, 192, 0, 194,
+ 195, 196, 0, 0, 0, 0, 896, 0, 0, 197,
+ 198, 0, 199, 673, 200, 201, 202, 0, 897, 675,
+ 898, 899, 0, 206, 207, 208, 209, 210, 900, 901,
+ 211, 212, 902, 903, 215, 0, 216, 217, 218, 219,
+ 904, 0, 0, 221, 222, 223, 224, 225, 226, 0,
+ 227, 228, 229, 230, 231, 232, 0, 233, 234, 235,
+ 676, 236, 237, 905, 906, 907, 908, 909, 910, 911,
+ 238, 239, 240, 241, 242, 243, 912, 913, 246, 0,
+ 247, 0, 248, 249, 250, 251, 252, 0, 253, 254,
+ 255, 0, 0, 256, 257, 914, 259, 260, 0, 261,
+ 262, 263, 0, 264, 0, 0, 266, 267, 268, 915,
+ 270, 271, 916, 917, 273, 0, 274, 918, 276, 0,
+ 277, 0, 278, 678, 0, 679, 279, 280, 0, 281,
+ 919, 0, 283, 0, 284, 285, 286, 287, 288, 0,
+ 289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
+ 0, 681, 298, 299, 300, 301, 302, 920, 921, 0,
+ 922, 0, 306, 682, 683, 307, 684, 308, 309, 310,
+ 311, 312, 313, 314, 0, 923, 685, 316, 0, 0,
+ 317, 318, 319, 924, 925, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 926, 687,
+ 927, 637, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 345, 688, 346, 929, 930, 348, 931,
+ 350, 351, 0, 0, 352, 638, 0, 0, 932, 354,
+ 355, 0, 0, 356, 689, 690, 691, 933, 358, 359,
+ 360, 361, 362, 363, 0, 364, 934, 366, 367, 368,
+ 369, 370, 0, 371, 372, 373, 374, 375, 376, 377,
+ 935, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 0, 392, 393, 692, 394,
+ 395, 936, 397, 398, 399, 400, 401, 402, 403, 404,
+ 0, 405, 406, 407, 408, 937, 409, 410, 411, 412,
+ 0, 413, 938, 0, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 939, 426, 0, 427, 428, 0,
+ 429, 430, 431, 432, 433, 0, 940, 941, 0, 0,
+ 436, 942, 438, 943, 944, 440, 441, 442, 443, 444,
+ 445, 0, 0, 446, 447, 448, 449, 946, 0, 450,
+ 451, 452, 453, 454, 947, 0, 456, 694, 457, 458,
+ 459, 0, 0, 460, 0, 0, 461, 462, 463, 464,
+ 465, 466, 948, 949, 950, 951, 952, 953, 954, 474,
+ 475, 476, 0, 0, 0, 695, 955, 585, 956, 957,
+ 958, 568, 959, 0, 0, 0, 0, 2012, 2013, 0,
+ 0, 0, 0, 0, 0, 0, 963, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 673, 200, 201, 202, 674, 203, 675, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 901, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 904, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 676, 236, 237,
+ 905, 906, 907, 908, 909, 910, 911, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 916,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 678, 0, 679, 279, 280, 0, 281, 919, 0, 283,
+ 0, 284, 285, 286, 287, 288, 680, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 681, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 682, 683, 307, 684, 308, 309, 310, 311, 312, 313,
+ 314, 0, 923, 685, 316, 686, 0, 317, 318, 319,
+ 924, 925, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 687, 334, 637, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 688, 346, 0, 930, 348, 349, 350, 351, 0,
+ 0, 352, 638, 0, 639, 353, 354, 355, 0, 0,
+ 356, 689, 690, 691, 933, 358, 359, 360, 361, 362,
+ 363, 0, 364, 934, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 692, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 37, 405, 406,
+ 407, 408, 937, 409, 410, 411, 412, 693, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 939, 426, 0, 427, 428, 41, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 942, 438,
+ 943, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 946, 0, 450, 451, 452, 453,
+ 1427, 455, 0, 456, 694, 457, 458, 459, 0, 0,
+ 460, 0, 47, 461, 462, 463, 464, 465, 466, 948,
+ 949, 950, 951, 952, 953, 954, 474, 475, 476, 0,
+ 0, 0, 695, 0, 0, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 1885, 197, 198, 0, 199, 673, 200,
+ 201, 202, 674, 203, 675, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 901, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 904, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 676, 236, 237, 905, 906,
+ 907, 908, 909, 910, 911, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 916, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 678, 0,
+ 679, 279, 280, 0, 281, 919, 0, 283, 0, 284,
+ 285, 286, 287, 288, 680, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 681, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 682, 683,
+ 307, 684, 308, 309, 310, 311, 312, 313, 314, 0,
+ 923, 685, 316, 686, 0, 317, 318, 319, 924, 925,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 687, 334, 637, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 688,
+ 346, 0, 930, 348, 349, 350, 351, 0, 0, 352,
+ 638, 0, 639, 353, 354, 355, 0, 0, 356, 689,
+ 690, 691, 933, 358, 359, 360, 361, 362, 363, 0,
+ 364, 934, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 692, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 937, 409, 410, 411, 412, 693, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 939,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 942, 438, 943, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 946, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 694, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 948, 949, 950,
+ 951, 952, 953, 954, 474, 475, 476, 0, 0, 0,
+ 695, 0, 0, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 1885, 197, 198, 0, 199, 673, 200, 201, 202,
+ 674, 203, 675, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 901, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 904, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 676, 236, 237, 905, 906, 907, 908,
+ 909, 910, 911, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 916, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 678, 0, 679, 279,
+ 280, 0, 281, 919, 0, 283, 0, 284, 285, 286,
+ 287, 288, 680, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 681, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 682, 683, 307, 684,
+ 308, 309, 310, 311, 312, 313, 314, 0, 923, 685,
+ 316, 686, 0, 317, 318, 319, 924, 925, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 687, 334, 637, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 688, 346, 0,
+ 930, 348, 349, 350, 351, 0, 0, 352, 638, 0,
+ 0, 353, 354, 355, 0, 0, 356, 689, 690, 691,
+ 933, 358, 359, 360, 361, 362, 363, 0, 364, 934,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 692, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 937, 409,
+ 410, 411, 412, 693, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 939, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 942, 438, 943, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 946, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 694, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 948, 949, 950, 951, 952,
+ 953, 954, 474, 475, 476, 0, 0, 0, 695, 0,
+ 0, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 3316,
+ 197, 198, 0, 199, 673, 200, 201, 202, 674, 203,
+ 675, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 676, 236, 237, 0, 0, 0, 677, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 678, 0, 679, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 680, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 681, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 682, 683, 307, 684, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 685, 316, 686,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 687, 334, 637, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 688, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 638, 0, 0, 353,
+ 354, 355, 0, 0, 356, 689, 690, 691, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 692,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 693, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 694, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 695, 0, 0, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 3377, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 37,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 41, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 1427, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 47, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 0, 0, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 48, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 637, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 638, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 0, 0, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 1017, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 0, 0, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 1603, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 0,
+ 0, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 2857,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 520, 521, 0, 0, 0, 522, 0,
- 0, 0, 0, 0, 0, 0, 523, 0, 0, 0,
- 0, 524, 0, 0, 0, 0, 0, 0, 0, 0,
- 525, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 526
+ 0, 0, 0, 0, 0, 0, 0, 2975, 185, 186,
+ 187, 188, 189, 190, 191, 192, 1511, 194, 195, 196,
+ 1512, 1513, 1514, 1515, 1516, 1517, 1518, 197, 198, 1519,
+ 199, 673, 200, 201, 202, 674, 1196, 675, 1197, 1198,
+ 1520, 206, 207, 208, 209, 210, 1521, 1522, 211, 212,
+ 1199, 1200, 215, 1523, 216, 217, 218, 219, 0, 1524,
+ 1525, 221, 222, 223, 224, 225, 226, 1526, 227, 228,
+ 229, 230, 231, 232, 1527, 233, 234, 235, 676, 236,
+ 237, 1528, 1529, 1530, 677, 1531, 1532, 1533, 238, 239,
+ 240, 241, 242, 243, 1201, 1202, 246, 1534, 247, 1535,
+ 248, 249, 250, 251, 252, 1536, 253, 254, 255, 1537,
+ 1538, 256, 257, 914, 259, 260, 1539, 261, 262, 263,
+ 1540, 264, 265, 1541, 266, 267, 268, 0, 270, 271,
+ 0, 1542, 273, 1543, 274, 1203, 276, 1544, 277, 1545,
+ 278, 678, 1546, 679, 279, 280, 1547, 281, 0, 1548,
+ 283, 1549, 284, 285, 286, 287, 288, 680, 289, 290,
+ 291, 1550, 292, 293, 294, 295, 296, 297, 1551, 681,
+ 0, 299, 300, 301, 302, 1204, 1205, 1552, 1206, 1553,
+ 306, 682, 683, 307, 684, 308, 309, 310, 311, 312,
+ 313, 314, 1554, 0, 685, 316, 686, 1555, 317, 318,
+ 319, 1556, 1557, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 332, 1207, 687, 1208, 1558,
+ 335, 336, 337, 338, 339, 340, 341, 0, 343, 1559,
+ 344, 345, 688, 346, 1560, 0, 348, 1209, 350, 351,
+ 1561, 1562, 352, 1563, 1564, 1565, 2743, 354, 355, 1566,
+ 1567, 0, 689, 690, 691, 0, 358, 359, 360, 361,
+ 362, 363, 1568, 364, 0, 366, 0, 368, 369, 370,
+ 1569, 371, 372, 373, 374, 375, 376, 377, 1210, 379,
+ 380, 381, 1570, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 1571, 392, 393, 692, 394, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 1572, 405,
+ 406, 407, 408, 1573, 409, 1690, 411, 412, 693, 413,
+ 1212, 1574, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 426, 1575, 427, 428, 1576, 429, 430,
+ 431, 432, 433, 1577, 1213, 1214, 1578, 1579, 436, 0,
+ 438, 0, 1580, 440, 441, 442, 443, 444, 445, 1581,
+ 1582, 446, 447, 448, 449, 1583, 1584, 450, 451, 452,
+ 453, 0, 1215, 1585, 456, 694, 457, 458, 459, 1586,
+ 1587, 460, 1588, 1589, 461, 462, 463, 464, 465, 0,
+ 0, 0, 0, 0, 0, 0, 0, 474, 475, 476,
+ 0, 0, 0, 1216, 1485, 585, 0, 0, 714, 568,
+ 0, 715, 716, 717, 0, 2744, 2745, 720, 721, 722,
+ 723, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 712, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 713, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 0, 0, 0,
+ 0, 714, 0, 0, 715, 716, 717, 0, 718, 719,
+ 720, 721, 722, 723, 185, 186, 187, 188, 189, 190,
+ 191, 192, 0, 194, 195, 196, 0, 0, 0, 0,
+ 0, 0, 0, 197, 198, 0, 199, 0, 200, 201,
+ 202, 0, 203, 0, 204, 205, 0, 206, 207, 208,
+ 209, 210, 0, 0, 211, 212, 213, 214, 215, 0,
+ 216, 787, 218, 219, 220, 0, 0, 221, 222, 223,
+ 224, 225, 226, 0, 227, 228, 229, 230, 231, 232,
+ 0, 233, 234, 235, 0, 236, 237, 0, 0, 0,
+ 0, 0, 0, 0, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 0, 247, 0, 248, 249, 250, 251,
+ 252, 0, 253, 254, 255, 0, 0, 256, 257, 258,
+ 259, 260, 0, 261, 262, 263, 0, 264, 265, 0,
+ 266, 267, 268, 269, 270, 271, 272, 0, 788, 0,
+ 274, 275, 276, 0, 277, 0, 278, 0, 0, 0,
+ 279, 280, 0, 281, 282, 0, 283, 0, 284, 285,
+ 286, 287, 288, 0, 289, 290, 291, 0, 292, 293,
+ 294, 295, 296, 297, 0, 0, 298, 299, 300, 301,
+ 302, 303, 304, 0, 305, 0, 306, 0, 0, 307,
+ 0, 308, 309, 310, 311, 312, 313, 314, 0, 315,
+ 0, 316, 0, 0, 317, 318, 319, 0, 0, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, 332, 333, 0, 334, 0, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 345, 0, 346,
+ 0, 347, 348, 349, 350, 351, 0, 0, 352, 0,
+ 0, 0, 353, 354, 355, 0, 0, 356, 0, 0,
+ 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 0, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
+ 392, 393, 0, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 0, 405, 406, 407, 408, 0,
+ 409, 410, 411, 412, 0, 413, 414, 0, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
+ 0, 427, 428, 0, 429, 430, 431, 432, 433, 0,
+ 434, 435, 0, 0, 436, 437, 438, 439, 0, 440,
+ 441, 442, 443, 444, 445, 0, 0, 446, 447, 448,
+ 449, 0, 0, 450, 451, 452, 453, 454, 455, 0,
+ 456, 0, 457, 458, 459, 0, 0, 460, 0, 0,
+ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 0, 0, 0, 477,
+ 0, 0, 0, 0, 714, 0, 0, 715, 716, 717,
+ 0, 718, 719, 720, 721, 722, 723, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 826, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 827, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 828, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 0, 0, 0, 0, 714, 0, 0,
+ 715, 716, 717, 0, 718, 719, 720, 721, 722, 723,
+ 185, 186, 187, 188, 189, 190, 191, 192, 0, 194,
+ 195, 196, 0, 0, 0, 0, 0, 0, 0, 197,
+ 198, 0, 199, 0, 200, 201, 202, 0, 203, 0,
+ 204, 205, 0, 206, 207, 208, 209, 210, 0, 0,
+ 211, 212, 213, 214, 215, 0, 216, 1179, 218, 219,
+ 220, 0, 0, 221, 222, 223, 224, 225, 226, 0,
+ 227, 228, 229, 230, 231, 232, 0, 233, 234, 235,
+ 0, 236, 237, 0, 0, 0, 0, 0, 0, 0,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 0,
+ 247, 0, 248, 249, 250, 251, 252, 0, 253, 254,
+ 255, 0, 0, 256, 257, 258, 259, 260, 0, 261,
+ 262, 263, 0, 264, 265, 0, 266, 267, 268, 269,
+ 270, 271, 272, 0, 1180, 0, 274, 275, 276, 0,
+ 277, 0, 278, 0, 0, 0, 279, 280, 0, 281,
+ 282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
+ 289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
+ 0, 0, 298, 299, 300, 301, 302, 303, 304, 0,
+ 305, 0, 306, 0, 0, 307, 0, 308, 309, 310,
+ 311, 312, 313, 314, 0, 315, 0, 316, 0, 0,
+ 317, 318, 319, 0, 0, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 0,
+ 334, 0, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 345, 0, 346, 0, 347, 348, 349,
+ 350, 351, 0, 0, 352, 0, 0, 0, 353, 354,
+ 355, 0, 0, 356, 0, 0, 0, 357, 358, 359,
+ 360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 0, 371, 372, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 0, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 0, 405, 406, 407, 408, 0, 409, 410, 411, 412,
+ 0, 413, 414, 0, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 425, 426, 0, 427, 428, 0,
+ 429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
+ 436, 437, 438, 439, 0, 440, 441, 442, 443, 444,
+ 445, 0, 0, 446, 447, 448, 449, 0, 0, 450,
+ 451, 452, 453, 454, 455, 0, 456, 0, 457, 458,
+ 459, 0, 0, 460, 0, 0, 461, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 0, 0, 0, 477, 0, 0, 0, 0,
+ 714, 0, 0, 715, 716, 717, 0, 718, 719, 720,
+ 721, 722, 723, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 0,
+ 0, 0, 0, 714, 0, 0, 715, 716, 717, 0,
+ 718, 719, 720, 721, 722, 723, 185, 186, 187, 188,
+ 189, 190, 191, 192, 1511, 194, 195, 196, 1512, 1513,
+ 1514, 1515, 1516, 1517, 1518, 197, 198, 1519, 199, 673,
+ 200, 201, 202, 674, 203, 675, 204, 205, 1520, 206,
+ 207, 208, 209, 210, 1521, 1522, 211, 212, 213, 214,
+ 215, 1523, 216, 217, 218, 219, 220, 1524, 1525, 221,
+ 222, 223, 224, 225, 226, 1526, 227, 228, 229, 230,
+ 231, 232, 1527, 233, 234, 235, 676, 236, 237, 1528,
+ 1529, 1530, 677, 1531, 1532, 1533, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 1534, 247, 1535, 248, 249,
+ 250, 251, 252, 1536, 253, 254, 255, 1537, 1538, 256,
+ 257, 258, 259, 260, 1539, 261, 262, 263, 1540, 264,
+ 265, 1541, 266, 267, 268, 269, 270, 271, 272, 1542,
+ 273, 1543, 274, 275, 276, 1544, 277, 1545, 278, 678,
+ 1546, 679, 279, 280, 1547, 281, 282, 1548, 283, 1549,
+ 284, 285, 286, 287, 288, 680, 289, 290, 291, 1550,
+ 292, 293, 294, 295, 296, 297, 1551, 681, 298, 299,
+ 300, 301, 302, 303, 304, 1552, 305, 1553, 306, 682,
+ 683, 307, 684, 308, 309, 310, 311, 312, 313, 314,
+ 1554, 315, 685, 316, 686, 1555, 317, 318, 319, 1556,
+ 1557, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 333, 687, 334, 1558, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 1559, 344, 345,
+ 688, 346, 1560, 347, 348, 349, 350, 351, 1561, 1562,
+ 352, 1563, 1564, 1565, 353, 354, 355, 1566, 1567, 356,
+ 689, 690, 691, 357, 358, 359, 360, 361, 362, 363,
+ 1568, 364, 365, 366, 367, 368, 369, 370, 1569, 371,
+ 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
+ 1570, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 1571, 392, 393, 692, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 1572, 405, 406, 407,
+ 408, 1573, 409, 410, 411, 412, 693, 413, 414, 1574,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 1575, 427, 428, 1576, 429, 430, 431, 432,
+ 433, 1577, 434, 435, 1578, 1579, 436, 437, 438, 439,
+ 1580, 440, 441, 442, 443, 444, 445, 1581, 1582, 446,
+ 447, 448, 449, 1583, 1584, 450, 451, 452, 453, 454,
+ 455, 1585, 456, 694, 457, 458, 459, 1586, 1587, 460,
+ 1588, 1589, 461, 462, 463, 464, 465, 466, 467, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 0, 0,
+ 0, 1590, 185, 186, 187, 188, 189, 190, 191, 192,
+ 0, 194, 195, 196, 0, 1591, 0, 0, 0, 0,
+ 0, 197, 198, 0, 199, 0, 200, 201, 202, 0,
+ 203, 0, 204, 205, 0, 206, 207, 208, 209, 210,
+ 0, 0, 211, 212, 213, 214, 215, 0, 216, 217,
+ 218, 219, 220, 0, 0, 221, 222, 223, 224, 225,
+ 226, 0, 227, 228, 229, 230, 231, 232, 0, 233,
+ 234, 235, 0, 236, 237, 0, 0, 0, 0, 0,
+ 0, 0, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 0, 247, 0, 248, 249, 250, 251, 252, 0,
+ 253, 254, 255, 0, 0, 256, 257, 258, 259, 260,
+ 0, 261, 262, 263, 0, 264, 265, 0, 266, 267,
+ 268, 269, 270, 271, 272, 0, 273, 0, 274, 275,
+ 276, 0, 277, 0, 278, 0, 0, 0, 279, 280,
+ 0, 281, 282, 0, 283, 0, 284, 285, 286, 287,
+ 288, 0, 289, 290, 291, 0, 292, 293, 294, 295,
+ 296, 297, 0, 0, 298, 299, 300, 301, 302, 303,
+ 304, 0, 305, 0, 306, 0, 0, 307, 0, 308,
+ 309, 310, 311, 312, 313, 314, 0, 315, 0, 316,
+ 0, 0, 317, 318, 319, 0, 0, 320, 321, 322,
+ 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
+ 333, 0, 334, 0, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 345, 0, 346, 0, 347,
+ 348, 349, 350, 351, 0, 0, 352, 0, 0, 0,
+ 353, 354, 355, 0, 0, 356, 0, 0, 0, 357,
+ 358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 0, 371, 372, 373, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 0, 392, 393,
+ 0, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 0, 405, 406, 407, 408, 0, 409, 410,
+ 411, 412, 0, 413, 414, 0, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 425, 426, 0, 427,
+ 428, 0, 429, 430, 431, 432, 433, 0, 434, 435,
+ 0, 0, 436, 437, 438, 439, 0, 440, 441, 442,
+ 443, 444, 445, 0, 0, 446, 447, 448, 449, 0,
+ 0, 450, 451, 452, 453, 454, 455, 0, 456, 0,
+ 457, 458, 459, 0, 0, 460, 0, 0, 461, 462,
+ 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 0, 0, 0, 477, 185, 186,
+ 187, 188, 189, 190, 191, 192, 0, 194, 195, 196,
+ 0, 646, 0, 0, 0, 0, 0, 197, 198, 0,
+ 199, 673, 200, 201, 202, 674, 1196, 675, 1197, 1198,
+ 0, 206, 207, 208, 209, 210, 0, 0, 211, 212,
+ 1199, 1200, 215, 0, 216, 217, 218, 219, 0, 0,
+ 0, 221, 222, 223, 224, 225, 226, 0, 227, 228,
+ 229, 230, 231, 232, 0, 233, 234, 235, 676, 236,
+ 237, 0, 0, 0, 677, 0, 0, 0, 238, 239,
+ 240, 241, 242, 243, 1201, 1202, 246, 0, 247, 0,
+ 248, 249, 250, 251, 252, 0, 253, 254, 255, 0,
+ 0, 256, 257, 914, 259, 260, 0, 261, 262, 263,
+ 0, 264, 265, 0, 266, 267, 268, 0, 270, 271,
+ 0, 0, 273, 0, 274, 1203, 276, 0, 277, 0,
+ 278, 678, 0, 679, 279, 280, 0, 281, 0, 0,
+ 283, 0, 284, 285, 286, 287, 288, 680, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 0, 681,
+ 0, 299, 300, 301, 302, 1204, 1205, 0, 1206, 0,
+ 306, 682, 683, 307, 684, 308, 309, 310, 311, 312,
+ 313, 314, 0, 0, 685, 316, 686, 0, 317, 318,
+ 319, 0, 0, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 332, 1207, 687, 1208, 0,
+ 335, 336, 337, 338, 339, 340, 341, 0, 343, 0,
+ 344, 345, 688, 346, 0, 0, 348, 1209, 350, 351,
+ 0, 0, 352, 0, 0, 0, 353, 354, 355, 0,
+ 0, 0, 689, 690, 691, 0, 358, 359, 360, 361,
+ 362, 363, 0, 364, 0, 366, 0, 368, 369, 370,
+ 0, 371, 372, 373, 374, 375, 376, 377, 1210, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 0, 392, 393, 692, 394, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 0, 405,
+ 406, 407, 408, 0, 409, 1211, 411, 412, 693, 413,
+ 1212, 0, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 0, 426, 0, 427, 428, 0, 429, 430,
+ 431, 432, 433, 0, 1213, 1214, 0, 0, 436, 0,
+ 438, 0, 0, 440, 441, 442, 443, 444, 445, 0,
+ 0, 446, 447, 448, 449, 0, 0, 450, 451, 452,
+ 453, 0, 1215, 0, 456, 694, 457, 458, 459, 0,
+ 0, 460, 0, 0, 461, 462, 463, 464, 465, 0,
+ 0, 0, 0, 0, 0, 0, 0, 474, 475, 476,
+ 0, 0, 0, 1216, 185, 186, 187, 188, 189, 190,
+ 191, 192, 0, 194, 195, 196, 0, 1645, 0, 0,
+ 0, 0, 0, 197, 198, 0, 199, 673, 200, 201,
+ 202, 674, 1196, 675, 1197, 1198, 0, 206, 207, 208,
+ 209, 210, 0, 0, 211, 212, 1199, 1200, 215, 0,
+ 216, 217, 218, 219, 0, 0, 0, 221, 222, 223,
+ 224, 225, 226, 0, 227, 228, 229, 230, 231, 232,
+ 0, 233, 234, 235, 676, 236, 237, 0, 0, 0,
+ 677, 0, 0, 0, 238, 239, 240, 241, 242, 243,
+ 1201, 1202, 246, 0, 247, 0, 248, 249, 250, 251,
+ 252, 0, 253, 254, 255, 0, 0, 256, 257, 914,
+ 259, 260, 0, 261, 262, 263, 0, 264, 265, 0,
+ 266, 267, 268, 0, 270, 271, 0, 0, 273, 0,
+ 274, 1203, 276, 0, 277, 0, 278, 678, 0, 679,
+ 279, 280, 0, 281, 0, 0, 283, 0, 284, 285,
+ 286, 287, 288, 680, 289, 290, 291, 0, 292, 293,
+ 294, 295, 296, 297, 0, 681, 0, 299, 300, 301,
+ 302, 1204, 1205, 0, 1206, 0, 306, 682, 683, 307,
+ 684, 308, 309, 310, 311, 312, 313, 314, 0, 0,
+ 685, 316, 686, 0, 317, 318, 319, 0, 0, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, 332, 1207, 687, 1208, 0, 335, 336, 337, 338,
+ 339, 340, 341, 0, 343, 0, 344, 345, 688, 346,
+ 0, 0, 348, 1209, 350, 351, 0, 0, 352, 0,
+ 0, 0, 353, 354, 355, 0, 0, 0, 689, 690,
+ 691, 0, 358, 359, 360, 361, 362, 363, 0, 364,
+ 0, 366, 0, 368, 369, 370, 0, 371, 372, 373,
+ 374, 375, 376, 377, 1210, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
+ 392, 393, 692, 394, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 0, 405, 406, 407, 408, 0,
+ 409, 1211, 411, 412, 693, 413, 1212, 0, 415, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 0, 426,
+ 0, 427, 428, 0, 429, 430, 431, 432, 433, 0,
+ 1213, 1214, 0, 0, 436, 0, 438, 0, 0, 440,
+ 441, 442, 443, 444, 445, 0, 0, 446, 447, 448,
+ 449, 0, 0, 450, 451, 452, 453, 0, 1215, 0,
+ 456, 694, 457, 458, 459, 0, 0, 460, 0, 0,
+ 461, 462, 463, 464, 465, 0, 0, 0, 0, 0,
+ 0, 0, 0, 474, 475, 476, 0, 0, 0, 1806,
+ 185, 186, 187, 188, 189, 190, 191, 192, 0, 194,
+ 195, 196, 0, 1645, 0, 0, 0, 0, 0, 197,
+ 198, 0, 199, 0, 200, 201, 202, 0, 203, 0,
+ 204, 205, 0, 206, 207, 208, 209, 210, 0, 0,
+ 211, 212, 213, 214, 215, 0, 216, 217, 218, 219,
+ 220, 0, 0, 221, 222, 223, 224, 225, 226, 0,
+ 227, 228, 229, 230, 231, 232, 0, 233, 234, 235,
+ 0, 236, 237, 0, 0, 0, 0, 0, 0, 0,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 1496,
+ 247, 0, 248, 249, 250, 251, 252, 0, 253, 254,
+ 255, 0, 0, 256, 257, 258, 259, 260, 0, 261,
+ 262, 263, 0, 264, 265, 0, 266, 267, 268, 269,
+ 270, 271, 272, 1497, 273, 0, 274, 275, 276, 0,
+ 277, 0, 278, 0, 0, 0, 279, 280, 0, 281,
+ 282, 0, 283, 0, 284, 285, 286, 287, 288, 0,
+ 289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
+ 0, 0, 298, 299, 300, 301, 302, 303, 304, 0,
+ 305, 0, 306, 0, 0, 307, 0, 308, 309, 310,
+ 311, 312, 313, 314, 0, 315, 0, 316, 0, 0,
+ 317, 318, 319, 0, 0, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 0,
+ 334, 0, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 345, 0, 346, 0, 347, 348, 349,
+ 350, 351, 1498, 0, 352, 0, 1499, 0, 353, 354,
+ 355, 0, 0, 356, 0, 0, 0, 357, 358, 359,
+ 360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 0, 371, 372, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 0, 392, 393, 0, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 0, 405, 406, 407, 408, 0, 409, 410, 411, 412,
+ 0, 413, 414, 0, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 425, 426, 0, 427, 428, 0,
+ 429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
+ 436, 437, 438, 439, 1500, 440, 441, 442, 443, 444,
+ 445, 0, 0, 446, 447, 448, 449, 0, 0, 450,
+ 451, 452, 453, 454, 455, 0, 456, 0, 457, 458,
+ 459, 0, 0, 460, 0, 0, 461, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 0, 0, 0, 477, 1485, 585, 0, 0,
+ 0, 568, 0, 0, 0, 0, 0, 569, 1486, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 1506, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 1497, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 1498, 0, 352, 0, 1499, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 1500, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 1485, 585, 0, 0, 0,
+ 568, 0, 0, 0, 0, 0, 569, 1486, 185, 186,
+ 187, 188, 189, 190, 191, 192, 0, 194, 195, 196,
+ 0, 0, 0, 0, 0, 0, 0, 197, 198, 0,
+ 199, 0, 200, 201, 202, 0, 203, 0, 204, 205,
+ 0, 206, 207, 208, 209, 210, 0, 0, 211, 212,
+ 213, 214, 215, 0, 216, 217, 218, 219, 220, 0,
+ 0, 221, 222, 223, 224, 225, 226, 0, 227, 228,
+ 229, 230, 231, 232, 0, 233, 234, 235, 0, 236,
+ 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 0, 247, 0,
+ 248, 249, 250, 251, 252, 0, 253, 254, 255, 0,
+ 0, 256, 257, 258, 259, 260, 0, 261, 262, 263,
+ 0, 264, 265, 0, 266, 267, 268, 269, 270, 271,
+ 272, 1497, 273, 0, 274, 275, 276, 0, 277, 0,
+ 278, 0, 0, 0, 279, 280, 0, 281, 282, 0,
+ 283, 0, 284, 285, 286, 287, 288, 0, 289, 290,
+ 291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
+ 298, 299, 300, 301, 302, 303, 304, 0, 305, 0,
+ 306, 0, 0, 307, 0, 308, 309, 310, 311, 312,
+ 313, 314, 0, 315, 0, 316, 0, 0, 317, 318,
+ 319, 0, 0, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 332, 333, 0, 334, 0,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 345, 0, 346, 0, 347, 348, 349, 350, 351,
+ 1498, 0, 352, 0, 1499, 0, 353, 354, 355, 0,
+ 0, 356, 0, 0, 0, 357, 358, 359, 360, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 0, 371, 372, 373, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 0, 392, 393, 0, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 0, 405,
+ 406, 407, 408, 0, 409, 410, 411, 412, 0, 413,
+ 414, 0, 415, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 425, 426, 0, 427, 428, 0, 429, 430,
+ 431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
+ 438, 439, 1500, 440, 441, 442, 443, 444, 445, 0,
+ 0, 446, 447, 448, 449, 0, 0, 450, 451, 452,
+ 453, 454, 455, 0, 456, 0, 457, 458, 459, 0,
+ 0, 460, 0, 0, 461, 462, 463, 464, 465, 466,
+ 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 0, 0, 0, 477, 1485, 585, 0, 0, 0, 568,
+ 0, 0, 0, 0, 0, 569, 1486, 185, 559, 187,
+ 188, 189, 190, 191, 192, 560, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 561, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 562, 275, 276, 0, 277, 0, 563,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 564, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 565,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 566, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 567, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 0, 0, 0, 0, 0, 568, 0,
+ 0, 0, 0, 0, 569, 570, 185, 186, 187, 188,
+ 189, 190, 191, 192, 0, 194, 195, 196, 0, 0,
+ 0, 0, 0, 0, 0, 197, 198, 0, 199, 0,
+ 200, 201, 202, 0, 203, 0, 204, 205, 0, 206,
+ 207, 208, 209, 210, 0, 0, 211, 212, 213, 214,
+ 215, 0, 216, 217, 218, 219, 220, 0, 0, 221,
+ 222, 223, 224, 225, 226, 0, 227, 228, 229, 230,
+ 231, 232, 0, 233, 234, 235, 0, 236, 237, 0,
+ 0, 0, 0, 0, 0, 0, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 0, 247, 0, 248, 249,
+ 250, 251, 252, 0, 253, 254, 255, 0, 0, 256,
+ 257, 258, 259, 260, 0, 261, 262, 263, 0, 264,
+ 265, 0, 266, 267, 268, 269, 270, 271, 272, 0,
+ 273, 0, 274, 275, 276, 0, 277, 0, 278, 0,
+ 0, 0, 279, 280, 0, 281, 282, 0, 283, 0,
+ 284, 285, 286, 287, 288, 0, 289, 290, 291, 0,
+ 292, 293, 294, 295, 296, 297, 0, 0, 298, 299,
+ 300, 301, 302, 303, 304, 0, 305, 0, 306, 0,
+ 0, 307, 0, 308, 309, 310, 311, 312, 313, 314,
+ 0, 315, 0, 316, 0, 0, 317, 318, 319, 0,
+ 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 333, 0, 334, 0, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 345,
+ 0, 346, 0, 347, 348, 349, 350, 351, 0, 0,
+ 352, 0, 0, 0, 353, 354, 355, 0, 0, 356,
+ 0, 0, 0, 357, 358, 359, 360, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 0, 371,
+ 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 0, 392, 393, 0, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 0, 405, 406, 407,
+ 408, 0, 409, 410, 411, 412, 0, 413, 414, 0,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 0, 427, 428, 0, 429, 430, 431, 432,
+ 433, 0, 434, 435, 0, 0, 436, 437, 438, 439,
+ 0, 440, 441, 442, 443, 444, 445, 0, 0, 446,
+ 447, 448, 449, 0, 0, 450, 451, 452, 453, 454,
+ 455, 0, 456, 0, 457, 458, 459, 0, 0, 460,
+ 0, 0, 461, 462, 463, 464, 465, 466, 467, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 0, 0,
+ 0, 477, 0, 0, 0, 0, 0, 0, 3165, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 3564, 585, 3565, 3566, 0,
+ 568, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 1479, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 0, 585, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 0, 585, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 1313, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 0, 585, 185, 186, 187, 188, 189,
+ 190, 191, 192, 1511, 194, 195, 196, 1512, 1513, 1514,
+ 1515, 1516, 1517, 1518, 197, 198, 1519, 199, 673, 200,
+ 201, 202, 674, 203, 675, 204, 205, 1520, 206, 207,
+ 208, 209, 210, 1521, 1522, 211, 212, 213, 214, 215,
+ 1523, 216, 217, 218, 219, 220, 1524, 1525, 221, 222,
+ 223, 224, 225, 226, 1526, 227, 228, 229, 230, 231,
+ 232, 1527, 233, 234, 235, 676, 236, 237, 1528, 1529,
+ 1530, 677, 1531, 1532, 1533, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 1534, 247, 1535, 248, 249, 250,
+ 251, 252, 1536, 253, 254, 255, 1537, 1538, 256, 257,
+ 258, 259, 260, 1539, 261, 262, 263, 1540, 264, 265,
+ 1541, 266, 267, 268, 269, 270, 271, 272, 1542, 273,
+ 1543, 274, 275, 276, 1544, 277, 1545, 278, 678, 1546,
+ 679, 279, 280, 1547, 281, 282, 1548, 283, 1549, 284,
+ 285, 286, 287, 288, 680, 289, 290, 291, 1550, 292,
+ 293, 294, 295, 296, 297, 1551, 681, 298, 299, 300,
+ 301, 302, 303, 304, 1552, 305, 1553, 306, 682, 683,
+ 307, 684, 308, 309, 310, 311, 312, 313, 314, 1554,
+ 315, 685, 316, 686, 1555, 317, 318, 319, 1556, 1557,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 687, 334, 1558, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 1559, 344, 345, 688,
+ 346, 1560, 347, 348, 349, 350, 351, 1561, 1562, 352,
+ 1563, 1564, 1565, 353, 354, 355, 1566, 1567, 356, 689,
+ 690, 691, 357, 358, 359, 360, 361, 362, 363, 1568,
+ 364, 365, 366, 367, 368, 369, 370, 1569, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 1570,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 1571, 392, 393, 692, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 1572, 405, 406, 407, 408,
+ 1573, 409, 410, 411, 412, 693, 413, 414, 1574, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 1575, 427, 428, 1576, 429, 430, 431, 432, 433,
+ 1577, 434, 435, 1578, 1579, 436, 437, 438, 439, 1580,
+ 440, 441, 442, 443, 444, 445, 1581, 1582, 446, 447,
+ 448, 449, 1583, 1584, 450, 451, 452, 453, 454, 455,
+ 1585, 456, 694, 457, 458, 459, 1586, 1587, 460, 1588,
+ 1589, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 1590, 185, 186, 187, 188, 2272, 190, 191, 192, 1511,
+ 194, 195, 196, 1512, 1513, 1514, 1515, 1516, 1517, 1518,
+ 197, 198, 1519, 199, 673, 200, 201, 202, 674, 203,
+ 675, 204, 205, 1520, 206, 207, 208, 209, 210, 1521,
+ 1522, 211, 212, 213, 214, 215, 1523, 216, 217, 218,
+ 219, 220, 1524, 1525, 221, 222, 223, 224, 225, 226,
+ 1526, 227, 228, 229, 230, 231, 232, 1527, 233, 234,
+ 235, 676, 236, 237, 1528, 1529, 1530, 677, 1531, 1532,
+ 1533, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 1534, 247, 1535, 248, 249, 250, 251, 252, 1536, 253,
+ 254, 255, 1537, 1538, 256, 257, 258, 2273, 260, 1539,
+ 261, 262, 263, 1540, 264, 265, 1541, 266, 267, 268,
+ 269, 270, 271, 272, 1542, 273, 1543, 274, 275, 276,
+ 1544, 277, 1545, 278, 678, 1546, 679, 279, 280, 1547,
+ 281, 282, 1548, 283, 1549, 284, 285, 286, 287, 288,
+ 680, 289, 290, 291, 1550, 292, 293, 294, 295, 296,
+ 297, 1551, 681, 298, 299, 300, 301, 302, 303, 304,
+ 1552, 305, 1553, 306, 682, 683, 307, 684, 308, 309,
+ 310, 311, 312, 313, 314, 1554, 315, 685, 316, 686,
+ 1555, 317, 318, 319, 1556, 1557, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 687, 334, 1558, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 1559, 344, 345, 688, 346, 1560, 347, 348,
+ 349, 350, 351, 1561, 1562, 352, 1563, 1564, 1565, 353,
+ 354, 355, 1566, 1567, 356, 689, 690, 691, 357, 358,
+ 359, 360, 361, 362, 363, 1568, 364, 365, 366, 367,
+ 368, 369, 370, 1569, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 1570, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 1571, 392, 393, 692,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 1572, 405, 406, 407, 408, 1573, 2274, 410, 411,
+ 412, 693, 413, 414, 1574, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 1575, 427, 428,
+ 1576, 429, 430, 431, 432, 433, 1577, 434, 435, 1578,
+ 1579, 436, 437, 438, 439, 1580, 440, 441, 442, 443,
+ 444, 445, 1581, 1582, 446, 447, 448, 449, 1583, 1584,
+ 450, 451, 452, 453, 454, 455, 1585, 456, 694, 457,
+ 458, 459, 1586, 1587, 460, 1588, 1589, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 1590, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 673, 200, 201, 202, 674, 203, 675, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 676, 236, 237,
+ 0, 0, 0, 677, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 678, 0, 679, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 680, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 681, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 682, 683, 307, 684, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 685, 316, 686, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 687, 334, 637, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 688, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 638, 0, 0, 353, 354, 355, 0, 0,
+ 356, 689, 690, 691, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 692, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 693, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 694, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 695, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 673, 200, 201, 202,
+ 674, 203, 675, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 676, 236, 237, 0, 0, 0, 677,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 678, 0, 679, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 813, 680, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 681, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 682, 683, 307, 684,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 685,
+ 316, 686, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 687, 334, 637, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 688, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 638, 0,
+ 0, 353, 354, 355, 0, 0, 356, 689, 690, 691,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 692, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 693, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 694, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 695, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 673, 200, 201, 202, 674, 203, 675, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 676,
+ 236, 237, 0, 0, 0, 677, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 678, 0, 679, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 821, 680, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 681, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 682, 683, 307, 684, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 685, 316, 686, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 687, 334,
+ 637, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 688, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 638, 0, 0, 353, 354, 355,
+ 0, 0, 356, 689, 690, 691, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 692, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 693,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 694, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 695, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 1659, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 1660, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 1661, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 2387, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 1662, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 1663, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 609, 191, 192, 575,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 576, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 610,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 577, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 578, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 575, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 576, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 577, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 578, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 1335, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 1336, 278, 0, 0, 0, 1337,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 1338, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 637, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 638, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 1339, 401,
+ 402, 403, 404, 0, 1340, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 1341, 1342, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 3, 4, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 637, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 638, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 637, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 638, 0, 639, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 991,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 637, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 638, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 576, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 577, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 578, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 2097, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 2098, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 637, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 638, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 2099, 429, 2100, 431, 2101, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 637, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 638, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 1769, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 1770, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 2209,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 2210, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 2219, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 2220, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 520, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 521,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 603, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 604,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 605, 435, 0, 0, 606, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 631,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 632, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 633, 435, 0,
+ 0, 634, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 809, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 1004, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 619, 212, 213, 214, 1005, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 622, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 623, 395, 396, 397, 398, 399, 624, 401,
+ 402, 403, 404, 0, 405, 406, 407, 995, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 626,
+ 435, 0, 0, 627, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 628, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 673, 200, 201, 202, 674, 1196, 675, 1197,
+ 1198, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 1199, 1200, 215, 0, 216, 217, 218, 219, 0,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 676,
+ 236, 237, 0, 0, 0, 677, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 1201, 1202, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 914, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 0, 270,
+ 271, 0, 0, 273, 0, 274, 1203, 276, 0, 277,
+ 0, 278, 678, 0, 679, 279, 280, 0, 281, 0,
+ 0, 283, 0, 284, 285, 286, 287, 288, 680, 289,
+ 290, 291, 1687, 292, 293, 294, 295, 296, 297, 0,
+ 681, 1688, 299, 300, 301, 302, 1204, 1205, 0, 1206,
+ 0, 306, 682, 683, 307, 684, 308, 309, 310, 311,
+ 312, 313, 314, 0, 0, 685, 316, 686, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 1207, 687, 1208,
+ 0, 335, 336, 337, 338, 339, 340, 341, 0, 343,
+ 0, 344, 345, 688, 346, 0, 0, 348, 1209, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 1689, 689, 690, 691, 0, 358, 359, 360,
+ 361, 362, 363, 0, 364, 0, 366, 0, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 1210,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 692, 394, 395,
+ 0, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 1690, 411, 412, 693,
+ 413, 1212, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 0, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 1213, 1214, 0, 0, 436,
+ 0, 438, 0, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 0, 1215, 1691, 456, 694, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 0, 0, 0, 0, 0, 0, 0, 0, 474, 475,
+ 476, 0, 0, 0, 1216, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 2423, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 2436, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 2470, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 3091, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 3093, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 3095, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 3433,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 593, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 601, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 619, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 620, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 621, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 622, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 623, 395, 396, 397, 398, 399,
+ 624, 401, 402, 403, 404, 0, 405, 406, 407, 625,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 626, 435, 0, 0, 627, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 628, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 654, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 737, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 799, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 818, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 823, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 831,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 833, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 835, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 837, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 840, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 842,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 843,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 846, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 619, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 622, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 623, 395, 396, 397, 398, 399, 624, 401,
+ 402, 403, 404, 0, 405, 406, 407, 995, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 626,
+ 435, 0, 0, 627, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 628, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 1025, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 0, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 1266, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 434, 435, 0, 0, 436, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 1291,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 1293, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 0, 200, 201, 202,
+ 0, 203, 0, 204, 205, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 213, 214, 215, 0, 216,
+ 217, 218, 219, 220, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 0, 236, 237, 0, 0, 0, 0,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 258, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 269, 270, 271, 272, 0, 273, 0, 274,
+ 275, 276, 0, 277, 0, 278, 0, 0, 0, 279,
+ 280, 0, 281, 282, 0, 283, 0, 284, 285, 286,
+ 287, 288, 0, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 0, 298, 299, 300, 301, 302,
+ 303, 304, 0, 305, 0, 306, 0, 0, 307, 0,
+ 308, 309, 310, 311, 312, 313, 314, 0, 315, 0,
+ 316, 0, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 0, 334, 0, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 344, 345, 0, 346, 0,
+ 347, 348, 349, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 356, 0, 0, 0,
+ 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 0, 394, 395, 396, 397, 398, 1369, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 410, 411, 412, 0, 413, 414, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 434,
+ 435, 0, 0, 436, 437, 438, 439, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 454, 455, 0, 456,
+ 0, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 0, 0, 0, 477, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 0, 200, 201, 202, 0, 203, 0, 204,
+ 205, 0, 206, 207, 208, 209, 210, 0, 0, 619,
+ 212, 213, 214, 215, 0, 216, 217, 218, 219, 220,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 0,
+ 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 269, 270,
+ 271, 272, 0, 273, 0, 274, 275, 276, 0, 277,
+ 0, 278, 0, 0, 0, 279, 280, 0, 281, 282,
+ 0, 283, 0, 284, 285, 286, 287, 288, 0, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 0, 298, 299, 300, 301, 302, 303, 304, 0, 305,
+ 0, 306, 0, 0, 307, 0, 308, 309, 310, 311,
+ 312, 313, 314, 0, 315, 0, 316, 0, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 622, 333, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 345, 0, 346, 0, 347, 348, 349, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 356, 0, 0, 0, 357, 358, 359, 360,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 0, 623, 395,
+ 396, 397, 398, 399, 624, 401, 402, 403, 404, 0,
+ 405, 406, 407, 995, 0, 409, 410, 411, 412, 0,
+ 413, 414, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 0, 427, 428, 0, 1656,
+ 430, 431, 432, 433, 0, 626, 435, 0, 0, 627,
+ 437, 438, 439, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 454, 455, 0, 456, 0, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 628,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 0, 0, 0, 477, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 0, 200,
+ 201, 202, 0, 203, 0, 204, 205, 0, 206, 207,
+ 208, 209, 210, 0, 0, 619, 212, 213, 214, 215,
+ 0, 216, 217, 218, 219, 220, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 0, 236, 237, 0, 0,
+ 0, 0, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 258, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 269, 270, 271, 272, 0, 273,
+ 0, 274, 275, 276, 0, 277, 0, 278, 0, 0,
+ 0, 279, 280, 0, 281, 282, 0, 283, 0, 284,
+ 285, 286, 287, 288, 0, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 0, 298, 299, 300,
+ 301, 302, 303, 304, 0, 305, 0, 306, 0, 0,
+ 307, 0, 308, 309, 310, 311, 312, 313, 314, 0,
+ 315, 0, 316, 0, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 622, 333, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 344, 345, 0,
+ 346, 0, 347, 348, 349, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 356, 0,
+ 0, 0, 357, 358, 359, 360, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 0, 623, 395, 396, 397, 398, 399,
+ 1683, 401, 402, 403, 404, 0, 405, 406, 407, 995,
+ 0, 409, 410, 411, 412, 0, 413, 414, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 626, 435, 0, 0, 627, 437, 438, 439, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 454, 455,
+ 0, 456, 0, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 628, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 0, 0, 0,
+ 477, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 0, 200, 201, 202, 0, 203,
+ 0, 204, 205, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 213, 214, 215, 0, 216, 217, 218,
+ 219, 220, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 0, 236, 237, 0, 0, 0, 0, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 258, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 269, 270, 271, 272, 0, 273, 0, 274, 275, 276,
+ 0, 277, 0, 278, 0, 0, 0, 279, 280, 0,
+ 281, 282, 0, 283, 0, 284, 285, 286, 287, 1901,
+ 0, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 0, 298, 299, 300, 301, 302, 303, 304,
+ 0, 305, 0, 306, 0, 0, 307, 0, 308, 309,
+ 310, 311, 312, 313, 314, 0, 315, 0, 316, 0,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 345, 0, 346, 0, 347, 348,
+ 349, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 356, 0, 0, 0, 357, 358,
+ 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 0,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 410, 411,
+ 412, 0, 413, 414, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 434, 435, 0,
+ 0, 436, 437, 438, 439, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 454, 455, 0, 456, 0, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 0, 0, 0, 477, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 673, 200, 201, 202, 674, 1196, 675, 1197, 1198, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 1199,
+ 1200, 215, 0, 216, 217, 218, 219, 0, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 676, 236, 237,
+ 0, 0, 0, 677, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 1201, 1202, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 914, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 0, 270, 271, 0,
+ 0, 273, 0, 274, 1203, 276, 0, 277, 0, 278,
+ 678, 0, 679, 279, 280, 0, 281, 0, 0, 283,
+ 0, 284, 285, 286, 287, 288, 680, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 681, 0,
+ 299, 300, 301, 302, 1204, 1205, 0, 1206, 0, 306,
+ 682, 683, 307, 684, 308, 309, 310, 311, 312, 313,
+ 314, 0, 0, 685, 316, 686, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 1207, 687, 1208, 0, 335,
+ 336, 337, 338, 339, 340, 341, 0, 343, 0, 344,
+ 345, 688, 346, 1679, 0, 348, 1209, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 0, 689, 690, 691, 0, 358, 359, 360, 361, 362,
+ 363, 0, 364, 0, 366, 0, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 376, 377, 1210, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 692, 394, 395, 0, 397,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 1690, 411, 412, 693, 413, 1212,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 0, 426, 0, 427, 428, 2836, 429, 430, 431,
+ 432, 433, 0, 1213, 1214, 0, 0, 436, 0, 438,
+ 0, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 0, 1215, 0, 456, 694, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 0, 0,
+ 0, 0, 0, 0, 0, 0, 474, 475, 476, 0,
+ 0, 0, 1216, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 673, 200, 201, 202,
+ 674, 1196, 675, 1197, 1198, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 1199, 1200, 215, 0, 216,
+ 217, 218, 219, 0, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 676, 236, 237, 0, 0, 0, 677,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 1201,
+ 1202, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 914, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 0, 270, 271, 0, 0, 273, 0, 274,
+ 1203, 276, 0, 277, 0, 278, 678, 0, 679, 279,
+ 280, 0, 281, 0, 0, 283, 0, 284, 285, 286,
+ 287, 288, 680, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 681, 0, 299, 300, 301, 302,
+ 1204, 1205, 0, 1206, 0, 306, 682, 683, 307, 684,
+ 308, 309, 310, 311, 312, 313, 314, 0, 0, 685,
+ 316, 686, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 1207, 687, 1208, 0, 335, 336, 337, 338, 339,
+ 340, 341, 1728, 343, 0, 344, 345, 688, 346, 0,
+ 0, 348, 1209, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 0, 689, 690, 691,
+ 0, 358, 359, 360, 361, 362, 363, 0, 364, 0,
+ 366, 0, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 1210, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 692, 394, 395, 0, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 1211, 411, 412, 693, 413, 1212, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 0, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 1213,
+ 1214, 0, 0, 436, 0, 438, 0, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 0, 1215, 0, 456,
+ 694, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 0, 0, 0, 0, 0, 0,
+ 0, 0, 474, 475, 476, 0, 0, 0, 1216, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 673, 200, 201, 202, 674, 1196, 675, 1197,
+ 1198, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 1199, 1200, 215, 0, 216, 217, 218, 219, 0,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 676,
+ 236, 237, 0, 0, 0, 677, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 1201, 1202, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 914, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 0, 270,
+ 271, 0, 0, 273, 0, 274, 1203, 276, 0, 277,
+ 0, 278, 678, 0, 679, 279, 280, 0, 281, 0,
+ 0, 283, 0, 284, 285, 286, 287, 288, 680, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 681, 0, 299, 300, 301, 302, 1204, 1205, 0, 1206,
+ 0, 306, 682, 683, 307, 684, 308, 309, 310, 311,
+ 312, 313, 314, 0, 0, 685, 316, 686, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 1207, 687, 1208,
+ 0, 335, 336, 337, 338, 339, 340, 341, 2681, 343,
+ 0, 344, 345, 688, 346, 0, 0, 348, 1209, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 0, 689, 690, 691, 0, 358, 359, 360,
+ 361, 362, 363, 0, 364, 0, 366, 0, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 1210,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 692, 394, 395,
+ 0, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 1211, 411, 412, 693,
+ 413, 1212, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 0, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 1213, 1214, 0, 0, 436,
+ 0, 438, 0, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 0, 1215, 0, 456, 694, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 0, 0, 0, 0, 0, 0, 0, 0, 474, 475,
+ 476, 0, 0, 0, 1216, 185, 186, 187, 188, 189,
+ 190, 191, 192, 0, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 197, 198, 0, 199, 673, 200,
+ 201, 202, 674, 1196, 675, 1197, 1198, 0, 206, 207,
+ 208, 209, 210, 0, 0, 211, 212, 1199, 1200, 215,
+ 0, 216, 217, 218, 219, 0, 0, 0, 221, 222,
+ 223, 224, 225, 226, 0, 227, 228, 229, 230, 231,
+ 232, 0, 233, 234, 235, 676, 236, 237, 0, 0,
+ 0, 677, 0, 0, 0, 238, 239, 240, 241, 242,
+ 243, 1201, 1202, 246, 0, 247, 0, 248, 249, 250,
+ 251, 252, 0, 253, 254, 255, 0, 0, 256, 257,
+ 914, 259, 260, 0, 261, 262, 263, 0, 264, 265,
+ 0, 266, 267, 268, 0, 270, 271, 0, 0, 273,
+ 0, 274, 1203, 276, 0, 277, 0, 278, 678, 0,
+ 679, 279, 280, 0, 281, 0, 0, 283, 0, 284,
+ 285, 286, 287, 288, 680, 289, 290, 291, 0, 292,
+ 293, 294, 295, 296, 297, 0, 681, 0, 299, 300,
+ 301, 302, 1204, 1205, 0, 1206, 0, 306, 682, 683,
+ 307, 684, 308, 309, 310, 311, 312, 313, 314, 0,
+ 0, 685, 316, 686, 0, 317, 318, 319, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 1207, 687, 1208, 0, 335, 336, 337,
+ 338, 339, 340, 341, 0, 343, 0, 344, 345, 688,
+ 346, 0, 0, 348, 1209, 350, 351, 0, 0, 352,
+ 0, 0, 0, 353, 354, 355, 0, 0, 0, 689,
+ 690, 691, 0, 358, 359, 360, 361, 362, 363, 0,
+ 364, 0, 366, 0, 368, 369, 370, 0, 371, 372,
+ 373, 374, 375, 376, 377, 1210, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 0, 392, 393, 692, 394, 395, 0, 397, 398, 399,
+ 400, 401, 402, 403, 404, 0, 405, 406, 407, 408,
+ 0, 409, 1211, 411, 412, 693, 413, 1212, 0, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
+ 426, 0, 427, 428, 0, 429, 430, 431, 432, 433,
+ 0, 1213, 1214, 0, 0, 436, 0, 438, 0, 0,
+ 440, 441, 442, 443, 444, 445, 0, 0, 446, 447,
+ 448, 449, 0, 0, 450, 451, 452, 453, 0, 1215,
+ 0, 456, 694, 457, 458, 459, 0, 0, 460, 0,
+ 0, 461, 462, 463, 464, 465, 0, 0, 0, 0,
+ 0, 0, 0, 0, 474, 475, 476, 0, 0, 0,
+ 1216, 185, 186, 187, 188, 189, 190, 191, 192, 0,
+ 194, 195, 196, 0, 0, 0, 0, 0, 0, 0,
+ 197, 198, 0, 199, 673, 200, 201, 202, 674, 1196,
+ 675, 1197, 1198, 0, 206, 207, 208, 209, 210, 0,
+ 0, 211, 212, 1199, 1200, 215, 0, 216, 217, 218,
+ 219, 0, 0, 0, 221, 222, 223, 224, 225, 226,
+ 0, 227, 228, 229, 230, 231, 232, 0, 233, 234,
+ 235, 676, 236, 237, 0, 0, 0, 677, 0, 0,
+ 0, 238, 239, 240, 241, 242, 243, 1201, 1202, 246,
+ 0, 247, 0, 248, 249, 250, 251, 252, 0, 253,
+ 254, 255, 0, 0, 256, 257, 914, 259, 260, 0,
+ 261, 262, 263, 0, 264, 265, 0, 266, 267, 268,
+ 0, 270, 271, 0, 0, 273, 0, 274, 1203, 276,
+ 0, 277, 0, 278, 678, 0, 679, 279, 280, 0,
+ 281, 0, 0, 283, 0, 284, 285, 286, 287, 288,
+ 680, 289, 290, 291, 0, 292, 293, 294, 295, 296,
+ 297, 0, 681, 0, 299, 300, 301, 302, 1204, 1205,
+ 0, 1206, 0, 306, 682, 683, 307, 684, 308, 309,
+ 310, 311, 312, 313, 314, 0, 0, 685, 316, 686,
+ 0, 317, 318, 319, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 1207,
+ 687, 1208, 0, 335, 336, 337, 338, 339, 340, 341,
+ 0, 343, 0, 344, 345, 688, 346, 0, 0, 348,
+ 1209, 350, 351, 0, 0, 352, 0, 0, 0, 353,
+ 354, 355, 0, 0, 0, 689, 690, 691, 0, 358,
+ 359, 360, 361, 362, 363, 0, 364, 0, 366, 0,
+ 368, 369, 370, 0, 371, 372, 373, 374, 375, 376,
+ 377, 1210, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 0, 392, 393, 692,
+ 394, 395, 0, 397, 398, 399, 400, 401, 402, 403,
+ 404, 0, 405, 406, 407, 408, 0, 409, 1690, 411,
+ 412, 693, 413, 1212, 0, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 0, 426, 0, 427, 428,
+ 0, 429, 430, 431, 432, 433, 0, 1213, 1214, 0,
+ 0, 436, 0, 438, 0, 0, 440, 441, 442, 443,
+ 444, 445, 0, 0, 446, 447, 448, 449, 0, 0,
+ 450, 451, 452, 453, 0, 1215, 0, 456, 694, 457,
+ 458, 459, 0, 0, 460, 0, 0, 461, 462, 463,
+ 464, 465, 0, 0, 0, 0, 0, 0, 0, 0,
+ 474, 475, 476, 0, 0, 0, 1216, 185, 186, 187,
+ 188, 189, 190, 191, 192, 0, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 197, 198, 0, 199,
+ 0, 200, 201, 202, 0, 203, 0, 204, 205, 0,
+ 206, 207, 208, 209, 210, 0, 0, 211, 212, 213,
+ 214, 215, 0, 216, 217, 218, 219, 220, 0, 0,
+ 221, 222, 223, 224, 225, 226, 0, 227, 228, 229,
+ 230, 231, 232, 0, 233, 234, 235, 0, 236, 237,
+ 0, 0, 0, 0, 0, 0, 0, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 0, 247, 0, 248,
+ 249, 250, 251, 252, 0, 253, 254, 255, 0, 0,
+ 256, 257, 258, 259, 260, 0, 261, 262, 263, 0,
+ 264, 265, 0, 266, 267, 268, 269, 270, 271, 272,
+ 0, 273, 0, 274, 275, 276, 0, 277, 0, 278,
+ 0, 0, 0, 279, 280, 0, 281, 282, 0, 283,
+ 0, 284, 285, 286, 287, 288, 0, 289, 290, 291,
+ 0, 292, 293, 294, 295, 296, 297, 0, 0, 298,
+ 299, 300, 301, 302, 303, 304, 0, 305, 0, 306,
+ 0, 0, 307, 0, 308, 309, 310, 311, 312, 313,
+ 314, 0, 315, 0, 316, 0, 0, 317, 318, 319,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 0, 344,
+ 345, 0, 346, 0, 347, 348, 349, 350, 351, 0,
+ 0, 352, 0, 0, 0, 353, 354, 355, 0, 0,
+ 356, 0, 0, 0, 357, 358, 359, 360, 361, 0,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 0,
+ 371, 372, 373, 374, 375, 0, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 0, 392, 393, 0, 394, 395, 396, 0,
+ 398, 399, 400, 401, 402, 403, 404, 0, 405, 406,
+ 407, 408, 0, 409, 410, 411, 412, 0, 413, 414,
+ 0, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 0, 427, 428, 0, 429, 430, 431,
+ 432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
+ 439, 0, 440, 441, 442, 443, 444, 445, 0, 0,
+ 446, 447, 448, 449, 0, 0, 450, 451, 452, 453,
+ 454, 455, 0, 456, 0, 457, 458, 459, 0, 0,
+ 460, 0, 0, 461, 462, 463, 464, 465, 466, 467,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 0,
+ 0, 0, 477, 185, 186, 187, 188, 189, 190, 191,
+ 192, 0, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 197, 198, 0, 199, 673, 200, 201, 202,
+ 674, 1196, 675, 1197, 1198, 0, 206, 207, 208, 209,
+ 210, 0, 0, 211, 212, 1199, 1200, 215, 0, 216,
+ 217, 218, 219, 0, 0, 0, 221, 222, 223, 224,
+ 225, 226, 0, 227, 228, 229, 230, 231, 232, 0,
+ 233, 234, 235, 676, 236, 237, 0, 0, 0, 677,
+ 0, 0, 0, 238, 239, 240, 241, 242, 243, 1201,
+ 1202, 246, 0, 247, 0, 248, 249, 250, 251, 252,
+ 0, 253, 254, 255, 0, 0, 256, 257, 914, 259,
+ 260, 0, 261, 262, 263, 0, 264, 265, 0, 266,
+ 267, 268, 0, 270, 271, 0, 0, 273, 0, 274,
+ 1203, 276, 0, 277, 0, 278, 678, 0, 679, 279,
+ 280, 0, 281, 0, 0, 283, 0, 284, 285, 286,
+ 287, 288, 680, 289, 290, 291, 0, 292, 293, 294,
+ 295, 296, 297, 0, 681, 0, 299, 300, 301, 302,
+ 1204, 1205, 0, 1206, 0, 306, 682, 683, 307, 684,
+ 308, 309, 310, 311, 312, 313, 314, 0, 0, 685,
+ 316, 686, 0, 317, 318, 319, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 1207, 687, 1208, 0, 335, 336, 337, 338, 339,
+ 340, 341, 0, 343, 0, 344, 345, 688, 346, 0,
+ 0, 348, 1209, 350, 351, 0, 0, 352, 0, 0,
+ 0, 353, 354, 355, 0, 0, 0, 689, 690, 691,
+ 0, 358, 359, 360, 361, 362, 363, 0, 364, 0,
+ 366, 0, 368, 369, 370, 0, 371, 372, 373, 374,
+ 375, 376, 377, 1210, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 0, 392,
+ 393, 692, 394, 395, 0, 397, 398, 399, 400, 401,
+ 402, 403, 404, 0, 405, 406, 407, 408, 0, 409,
+ 0, 411, 412, 693, 413, 1212, 0, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 0, 426, 0,
+ 427, 428, 0, 429, 430, 431, 432, 433, 0, 1213,
+ 1214, 0, 0, 436, 0, 438, 0, 0, 440, 441,
+ 442, 443, 444, 445, 0, 0, 446, 447, 448, 449,
+ 0, 0, 450, 451, 452, 453, 0, 1215, 0, 456,
+ 694, 457, 458, 459, 0, 0, 460, 0, 0, 461,
+ 462, 463, 464, 465, 0, 0, 0, 0, 0, 0,
+ 0, 0, 474, 475, 476, 0, 0, 0, 1216, 185,
+ 186, 187, 188, 189, 190, 191, 192, 0, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 197, 198,
+ 0, 199, 673, 200, 201, 202, 674, 0, 675, 0,
+ 0, 0, 206, 207, 208, 209, 210, 0, 0, 211,
+ 212, 0, 0, 215, 0, 216, 217, 218, 219, 0,
+ 0, 0, 221, 222, 223, 224, 225, 226, 0, 227,
+ 228, 229, 230, 231, 232, 0, 233, 234, 235, 676,
+ 236, 237, 0, 0, 0, 677, 0, 0, 0, 238,
+ 239, 240, 241, 242, 243, 0, 0, 246, 0, 247,
+ 0, 248, 249, 250, 251, 252, 0, 253, 254, 255,
+ 0, 0, 256, 257, 258, 259, 260, 0, 261, 262,
+ 263, 0, 264, 265, 0, 266, 267, 268, 0, 270,
+ 271, 0, 0, 273, 0, 274, 0, 276, 0, 277,
+ 0, 278, 678, 0, 679, 279, 280, 0, 281, 0,
+ 0, 283, 0, 284, 285, 286, 287, 288, 680, 289,
+ 290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
+ 681, 0, 299, 300, 301, 302, 0, 0, 0, 0,
+ 0, 306, 682, 683, 307, 684, 308, 309, 310, 311,
+ 312, 313, 314, 0, 0, 685, 316, 686, 0, 317,
+ 318, 319, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 332, 0, 687, 0,
+ 0, 335, 336, 337, 338, 339, 340, 341, 0, 343,
+ 0, 344, 345, 688, 346, 0, 0, 348, 0, 350,
+ 351, 0, 0, 352, 0, 0, 0, 353, 354, 355,
+ 0, 0, 0, 689, 690, 691, 0, 358, 359, 360,
+ 361, 362, 363, 0, 364, 0, 366, 0, 368, 369,
+ 370, 0, 371, 372, 373, 374, 375, 376, 377, 0,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 0, 392, 393, 692, 394, 395,
+ 0, 397, 398, 399, 400, 401, 402, 403, 404, 0,
+ 405, 406, 407, 408, 0, 409, 0, 411, 412, 693,
+ 413, 0, 0, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 0, 426, 0, 427, 428, 0, 429,
+ 430, 431, 432, 433, 0, 0, 0, 0, 0, 436,
+ 0, 438, 0, 0, 440, 441, 442, 443, 444, 445,
+ 0, 0, 446, 447, 448, 449, 0, 0, 450, 451,
+ 452, 453, 0, 0, 0, 456, 694, 457, 458, 459,
+ 0, 0, 460, 0, 0, 461, 462, 463, 464, 465,
+ 0, 0, 0, 0, 0, 0, 0, 0, 474, 475,
+ 476, 0, 0, 0, 1216
};
static const short int yycheck[] =
{
- 0, 46, 157, 41, 0, 631, 777, 1299, 561, 699,
- 1314, 11, 1253, 21, 1205, 12, 478, 823, 884, 27,
- 659, 801, 597, 150, 702, 594, 0, 154, 1284, 836,
- 1816, 34, 22, 0, 0, 702, 653, 1489, 591, 684,
- 734, 1998, 1265, 1584, 34, 1237, 46, 1739, 693, 1413,
- 472, 1232, 514, 1349, 607, 667, 43, 7, 8, 1237,
- 1237, 1790, 2216, 13, 14, 747, 1237, 1237, 1237, 19,
- 2187, 21, 22, 755, 24, 1750, 770, 27, 28, 29,
- 705, 704, 32, 33, 34, 0, 36, 509, 38, 39,
- 1744, 1745, 42, 738, 0, 155, 994, 742, 2416, 159,
- 2562, 17, 0, 948, 749, 38, 0, 167, 1498, 855,
- 856, 756, 0, 11, 532, 0, 0, 11, 0, 847,
- 848, 20, 1495, 25, 1570, 1571, 663, 907, 874, 32,
- 512, 2336, 25, 45, 516, 45, 87, 762, 2166, 2167,
- 2168, 2169, 870, 525, 45, 5, 87, 39, 87, 87,
- 82, 131, 1693, 131, 131, 136, 14, 47, 11, 106,
- 47, 8, 1382, 92, 1009, 18, 111, 39, 57, 156,
- 1015, 11, 11, 25, 161, 162, 47, 171, 18, 24,
- 131, 168, 39, 54, 227, 39, 47, 30, 71, 24,
- 61, 11, 3006, 7, 207, 225, 43, 87, 18, 7,
- 61, 151, 152, 153, 131, 155, 134, 157, 87, 159,
- 160, 143, 19, 163, 228, 165, 166, 167, 82, 1760,
- 225, 1762, 1442, 2621, 231, 2623, 241, 149, 797, 2857,
- 32, 7, 161, 261, 1415, 54, 133, 171, 25, 279,
- 67, 128, 195, 94, 92, 3145, 3028, 62, 258, 132,
- 2960, 266, 115, 306, 307, 115, 718, 128, 186, 949,
- 126, 87, 62, 195, 258, 241, 198, 128, 91, 21,
- 116, 359, 360, 88, 157, 2313, 39, 79, 266, 143,
- 386, 279, 230, 289, 2746, 295, 381, 393, 88, 172,
- 104, 386, 15, 16, 270, 90, 104, 180, 393, 2337,
- 59, 3011, 145, 150, 382, 293, 149, 154, 135, 156,
- 316, 1382, 929, 401, 161, 162, 994, 293, 167, 25,
- 203, 168, 3222, 478, 258, 215, 1171, 994, 104, 382,
- 220, 195, 342, 286, 198, 232, 215, 96, 153, 182,
- 3122, 468, 1208, 95, 342, 168, 3246, 230, 354, 288,
- 1032, 146, 59, 153, 286, 362, 1360, 1361, 160, 514,
- 373, 401, 252, 406, 1368, 252, 989, 131, 1372, 1373,
- 115, 401, 262, 401, 325, 1566, 945, 3087, 505, 2841,
- 272, 252, 169, 1387, 511, 1389, 401, 401, 1078, 96,
- 318, 252, 320, 276, 220, 3023, 401, 1653, 325, 1170,
- 272, 2429, 268, 785, 283, 207, 1410, 246, 1412, 356,
- 349, 269, 406, 342, 2876, 272, 476, 39, 272, 279,
- 480, 1794, 286, 281, 104, 406, 406, 241, 406, 406,
- 490, 382, 295, 241, 816, 295, 220, 388, 3252, 351,
- 372, 382, 288, 825, 382, 386, 335, 300, 338, 1195,
- 1196, 338, 266, 404, 297, 837, 401, 1203, 2663, 25,
- 300, 344, 401, 169, 170, 1193, 1194, 338, 313, 401,
- 382, 329, 382, 1167, 1202, 2432, 2433, 338, 313, 318,
- 300, 320, 284, 242, 406, 293, 1023, 1258, 386, 401,
- 266, 401, 386, 344, 342, 393, 2894, 2959, 401, 393,
- 401, 403, 401, 349, 397, 1187, 325, 405, 372, 272,
- 403, 405, 218, 500, 406, 1888, 1739, 405, 2546, 469,
- 405, 405, 472, 405, 474, 533, 476, 535, 478, 537,
- 480, 481, 482, 541, 406, 242, 486, 2229, 488, 1184,
- 490, 2233, 394, 395, 396, 397, 462, 497, 966, 406,
- 295, 403, 406, 220, 1232, 401, 506, 406, 81, 509,
- 319, 325, 512, 718, 514, 1232, 516, 517, 1348, 1349,
- 2016, 521, 2018, 523, 1964, 525, 492, 1039, 528, 1359,
- 133, 708, 1362, 92, 1223, 207, 2127, 2128, 715, 51,
- 1370, 1371, 399, 1957, 401, 402, 82, 404, 382, 406,
- 138, 131, 1662, 1383, 1384, 392, 393, 394, 395, 396,
- 397, 3045, 319, 293, 1394, 132, 403, 89, 568, 466,
- 570, 468, 622, 573, 388, 92, 622, 1071, 89, 152,
- 59, 1256, 169, 1531, 1854, 1855, 763, 104, 327, 1859,
- 404, 99, 592, 101, 594, 595, 1374, 1375, 622, 12,
- 272, 1003, 161, 500, 334, 622, 622, 143, 505, 592,
- 400, 611, 595, 121, 511, 60, 406, 96, 1448, 359,
- 360, 293, 361, 92, 266, 281, 133, 3139, 1898, 1899,
- 1684, 87, 268, 23, 156, 1254, 392, 393, 394, 395,
- 396, 397, 67, 230, 61, 113, 1048, 403, 1879, 59,
- 143, 293, 2148, 1884, 7, 92, 87, 622, 555, 195,
- 13, 86, 198, 108, 561, 382, 622, 92, 668, 669,
- 87, 92, 2876, 329, 1947, 572, 243, 3189, 281, 99,
- 2176, 101, 2849, 91, 325, 2410, 96, 1415, 11, 277,
- 167, 116, 161, 215, 591, 695, 87, 165, 1415, 316,
- 1595, 121, 195, 1598, 1599, 705, 3190, 215, 317, 220,
- 607, 711, 220, 610, 1317, 1318, 228, 225, 718, 2215,
- 720, 240, 89, 359, 161, 232, 726, 624, 1401, 288,
- 730, 298, 249, 1854, 1855, 1229, 161, 737, 1859, 80,
- 161, 1235, 315, 316, 189, 745, 746, 216, 217, 162,
- 286, 104, 394, 803, 151, 1249, 153, 803, 148, 215,
- 168, 761, 762, 242, 764, 406, 90, 235, 818, 166,
- 406, 1283, 818, 283, 1447, 166, 99, 1898, 1899, 803,
- 217, 781, 782, 342, 215, 785, 803, 803, 359, 251,
- 349, 841, 401, 286, 114, 186, 241, 797, 215, 2806,
- 220, 308, 1274, 1531, 11, 225, 327, 317, 858, 169,
- 707, 708, 907, 813, 1531, 37, 816, 817, 715, 288,
- 325, 821, 146, 331, 134, 825, 3194, 3195, 288, 90,
- 150, 339, 242, 833, 1039, 406, 372, 837, 888, 839,
- 319, 99, 401, 101, 380, 1277, 382, 463, 215, 305,
- 360, 288, 308, 194, 1286, 196, 295, 907, 80, 401,
- 757, 758, 759, 288, 1296, 327, 763, 288, 1380, 337,
- 2612, 2650, 317, 342, 319, 2617, 186, 25, 2620, 3247,
- 349, 1313, 30, 1315, 1316, 146, 2177, 1319, 241, 349,
- 1686, 401, 99, 183, 251, 241, 1628, 38, 131, 361,
- 47, 406, 1956, 342, 2608, 342, 2408, 1602, 1603, 319,
- 2264, 331, 349, 266, 61, 2148, 149, 342, 815, 339,
- 1582, 342, 3143, 3144, 349, 66, 359, 977, 978, 151,
- 980, 132, 401, 215, 1755, 26, 2178, 227, 289, 836,
- 87, 401, 89, 2176, 2175, 945, 2292, 293, 2254, 565,
- 2178, 2178, 952, 953, 61, 46, 2229, 2178, 2178, 2178,
- 2233, 961, 241, 963, 401, 316, 99, 225, 101, 585,
- 327, 113, 194, 406, 196, 257, 401, 593, 119, 1711,
- 1712, 1713, 1714, 281, 126, 207, 2993, 266, 63, 380,
- 381, 382, 399, 169, 1824, 386, 0, 404, 998, 2053,
- 3221, 149, 393, 354, 361, 2596, 147, 1751, 318, 156,
- 320, 281, 2122, 400, 293, 2125, 2126, 1017, 240, 406,
- 396, 169, 170, 165, 405, 401, 101, 134, 404, 2139,
- 1067, 329, 392, 393, 394, 395, 396, 397, 2629, 1039,
- 2631, 183, 1872, 403, 354, 152, 126, 2317, 359, 271,
- 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 329,
- 2330, 1533, 959, 1063, 1064, 1065, 1066, 1499, 215, 317,
- 218, 1901, 266, 220, 352, 2911, 270, 474, 1283, 186,
- 1747, 303, 215, 126, 232, 227, 359, 360, 1265, 3130,
- 1267, 488, 225, 235, 318, 406, 320, 241, 1275, 293,
- 241, 2155, 2156, 183, 406, 252, 241, 1937, 660, 2379,
- 2380, 351, 360, 359, 360, 262, 318, 733, 320, 1949,
- 1950, 2352, 266, 132, 386, 266, 1236, 234, 401, 270,
- 2544, 266, 684, 274, 258, 270, 382, 1314, 400, 280,
- 183, 693, 382, 267, 1576, 3186, 287, 227, 157, 2891,
- 3191, 1879, 293, 401, 1773, 401, 1884, 1054, 293, 285,
- 301, 401, 1879, 172, 241, 359, 290, 1884, 309, 2064,
- 1067, 180, 1172, 1173, 382, 1380, 2071, 2072, 1178, 3220,
- 1180, 54, 175, 266, 227, 381, 397, 270, 61, 266,
- 386, 338, 403, 401, 126, 337, 2317, 325, 279, 2320,
- 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 241, 2330,
- 293, 318, 144, 320, 355, 1265, 392, 393, 394, 395,
- 396, 397, 329, 304, 359, 2021, 241, 403, 2513, 2514,
- 1325, 338, 2517, 266, 2519, 344, 1236, 385, 1238, 241,
- 1240, 1241, 1242, 1243, 392, 393, 394, 395, 396, 397,
- 382, 266, 230, 2148, 1254, 403, 1256, 1304, 2379, 2380,
- 402, 399, 7, 401, 266, 230, 404, 276, 13, 401,
- 71, 668, 669, 329, 1274, 1325, 359, 1277, 1278, 9,
- 32, 2176, 241, 1283, 1334, 2555, 1286, 1287, 1334, 1289,
- 1343, 2705, 1965, 909, 1294, 33, 1296, 401, 28, 1299,
- 1300, 39, 1342, 919, 382, 268, 51, 266, 382, 382,
- 1334, 270, 285, 1313, 930, 1315, 1316, 1334, 1334, 1319,
- 72, 399, 255, 401, 2013, 1325, 404, 401, 401, 1954,
- 64, 132, 948, 730, 293, 359, 360, 977, 978, 2612,
- 980, 93, 1342, 1343, 2617, 152, 1346, 2620, 745, 746,
- 375, 376, 97, 382, 382, 382, 157, 17, 382, 104,
- 112, 402, 107, 382, 761, 406, 44, 45, 1265, 1419,
- 1267, 172, 401, 401, 401, 127, 144, 401, 1275, 180,
- 1380, 399, 401, 401, 781, 782, 2496, 359, 360, 141,
- 113, 1288, 2502, 2503, 2504, 2505, 2506, 2507, 1295, 5,
- 396, 36, 203, 126, 10, 401, 1918, 402, 404, 154,
- 402, 406, 18, 2243, 406, 285, 1049, 1314, 1528, 1052,
- 1317, 1318, 1532, 1056, 3015, 2341, 2342, 402, 2285, 35,
- 401, 406, 1329, 404, 2555, 402, 1546, 2707, 2708, 406,
- 402, 113, 165, 1553, 406, 827, 828, 2175, 394, 395,
- 396, 397, 402, 175, 126, 402, 406, 403, 2175, 406,
- 183, 2702, 207, 1977, 1978, 1575, 402, 1577, 220, 386,
- 406, 977, 978, 2205, 980, 276, 228, 401, 2532, 1589,
- 402, 1591, 402, 402, 406, 254, 406, 406, 402, 1489,
- 230, 402, 406, 165, 2548, 406, 241, 402, 402, 1499,
- 401, 406, 406, 402, 227, 257, 402, 406, 36, 169,
- 406, 183, 235, 402, 26, 1625, 402, 406, 2348, 402,
- 406, 2377, 1632, 406, 1634, 270, 402, 402, 1528, 1529,
- 406, 406, 1532, 1533, 402, 402, 374, 1537, 406, 406,
- 2954, 402, 171, 1543, 1976, 406, 1546, 1444, 293, 1549,
- 404, 2842, 402, 1553, 1554, 227, 406, 402, 233, 1559,
- 402, 406, 1739, 235, 406, 230, 402, 402, 799, 2242,
- 406, 406, 232, 359, 360, 1575, 1576, 1577, 1578, 401,
- 1580, 402, 404, 1583, 1584, 406, 2707, 2708, 626, 1589,
- 628, 1591, 1592, 1593, 1594, 2214, 1979, 1980, 169, 1496,
- 2273, 2874, 17, 2035, 377, 378, 379, 1607, 1608, 1609,
- 1610, 1611, 1612, 1613, 337, 233, 1616, 1617, 2891, 2051,
- 1620, 1621, 1622, 2055, 2352, 1625, 1626, 402, 2234, 232,
- 2236, 406, 1632, 1633, 1634, 2352, 1636, 402, 318, 402,
- 320, 406, 2438, 406, 1739, 230, 2916, 402, 1648, 3003,
- 318, 406, 320, 1700, 325, 1655, 1656, 1657, 1658, 1659,
- 1660, 232, 26, 2403, 233, 337, 1063, 1064, 1065, 1066,
- 2940, 2941, 374, 402, 1724, 402, 402, 406, 1724, 406,
- 406, 2791, 2792, 2793, 402, 374, 2359, 402, 406, 1739,
- 402, 406, 402, 1693, 406, 171, 406, 402, 2752, 2753,
- 405, 1701, 402, 2757, 2758, 402, 406, 402, 394, 406,
- 402, 406, 402, 1918, 406, 402, 406, 402, 293, 406,
- 405, 1721, 1619, 130, 17, 385, 1726, 958, 388, 389,
- 390, 36, 392, 393, 394, 395, 396, 397, 402, 402,
- 1740, 402, 406, 403, 1744, 1745, 402, 402, 402, 402,
- 406, 406, 406, 406, 169, 3097, 401, 3099, 404, 1759,
- 1760, 1761, 1762, 7, 359, 360, 404, 3040, 1973, 13,
- 1947, 401, 230, 1773, 402, 1172, 1173, 1871, 406, 1873,
- 1874, 1178, 385, 266, 401, 388, 389, 390, 1788, 392,
- 393, 394, 395, 396, 397, 2916, 3066, 181, 1397, 401,
- 1697, 1400, 224, 285, 175, 401, 1901, 51, 401, 47,
- 359, 20, 1812, 401, 385, 26, 1816, 232, 26, 2940,
- 2941, 392, 393, 394, 395, 396, 397, 241, 1725, 175,
- 344, 117, 403, 117, 401, 1732, 117, 117, 117, 117,
- 406, 401, 1739, 1240, 1241, 1242, 1243, 117, 117, 230,
- 1466, 1901, 2284, 97, 1942, 1943, 3162, 2713, 117, 117,
- 104, 230, 2692, 107, 117, 1915, 3157, 3140, 117, 20,
- 127, 2603, 181, 382, 1984, 2985, 169, 401, 126, 126,
- 382, 401, 401, 401, 20, 1935, 401, 248, 401, 382,
- 1890, 401, 382, 401, 401, 401, 401, 1947, 401, 238,
- 401, 401, 38, 1300, 2593, 401, 401, 382, 382, 401,
- 154, 20, 401, 401, 20, 7, 401, 401, 1918, 406,
- 401, 13, 14, 401, 401, 73, 181, 19, 401, 21,
- 66, 401, 38, 401, 126, 27, 126, 29, 325, 232,
- 325, 404, 325, 2148, 287, 3066, 325, 325, 230, 325,
- 325, 325, 220, 343, 406, 325, 344, 325, 1958, 325,
- 66, 283, 1962, 207, 344, 325, 325, 325, 54, 230,
- 385, 2176, 154, 388, 389, 390, 1976, 392, 393, 394,
- 395, 396, 397, 119, 1984, 1985, 1986, 406, 403, 325,
- 325, 325, 283, 325, 325, 230, 401, 241, 1998, 230,
- 169, 401, 359, 351, 401, 401, 2116, 17, 20, 9,
- 19, 147, 87, 119, 344, 189, 354, 20, 126, 20,
- 230, 284, 266, 117, 2456, 2457, 270, 344, 357, 117,
- 344, 325, 117, 349, 273, 2035, 219, 1268, 1654, 175,
- 131, 147, 736, 356, 1941, 1276, 1662, 401, 323, 293,
- 1947, 2051, 2229, 386, 1285, 2055, 2233, 323, 200, 200,
- 293, 2737, 403, 323, 2920, 131, 406, 1298, 160, 175,
- 2070, 163, 165, 165, 401, 401, 327, 402, 406, 325,
- 388, 231, 406, 2083, 2084, 2085, 2086, 2264, 225, 325,
- 402, 325, 385, 183, 1710, 388, 389, 390, 283, 392,
- 393, 394, 395, 396, 397, 60, 2801, 220, 173, 401,
- 403, 173, 401, 220, 1730, 220, 2116, 2117, 230, 236,
- 36, 2951, 36, 406, 325, 402, 266, 2127, 2128, 325,
- 406, 266, 266, 258, 270, 169, 20, 169, 274, 169,
- 344, 344, 2142, 169, 280, 228, 388, 19, 325, 399,
- 325, 287, 325, 325, 399, 2265, 126, 293, 2208, 169,
- 388, 230, 2208, 234, 270, 301, 20, 139, 274, 401,
- 230, 142, 2222, 309, 280, 142, 2222, 2287, 126, 2229,
- 406, 287, 401, 2233, 20, 401, 230, 293, 402, 230,
- 316, 406, 2192, 8, 136, 301, 36, 230, 197, 406,
- 402, 131, 402, 309, 402, 402, 374, 402, 402, 2209,
- 374, 3067, 131, 402, 2214, 402, 402, 374, 406, 355,
- 401, 2271, 232, 2223, 402, 2271, 2226, 325, 2740, 357,
- 183, 402, 402, 3089, 159, 402, 402, 3093, 3094, 2239,
- 402, 3071, 401, 220, 402, 401, 401, 241, 183, 355,
- 402, 1648, 244, 359, 244, 325, 192, 341, 1655, 1656,
- 1657, 1658, 1659, 1660, 192, 2265, 192, 325, 325, 3090,
- 325, 325, 2272, 325, 325, 325, 169, 169, 169, 169,
- 169, 169, 169, 380, 2284, 399, 402, 2287, 286, 2186,
- 198, 402, 2387, 230, 334, 268, 406, 183, 2195, 388,
- 401, 2389, 2390, 2391, 2392, 228, 402, 325, 230, 344,
- 230, 172, 172, 237, 2211, 402, 225, 344, 233, 401,
- 401, 344, 25, 115, 115, 399, 406, 30, 110, 131,
- 1024, 403, 2229, 126, 402, 402, 2233, 2387, 402, 353,
- 45, 131, 401, 138, 1038, 2777, 2778, 159, 2780, 402,
- 388, 334, 126, 402, 401, 169, 325, 325, 169, 2256,
- 325, 2258, 1759, 325, 1761, 325, 2263, 2264, 169, 173,
- 359, 402, 400, 20, 2484, 385, 2486, 469, 388, 389,
- 390, 400, 392, 393, 394, 395, 396, 397, 2285, 126,
- 482, 234, 155, 403, 486, 401, 2454, 56, 347, 317,
- 172, 406, 20, 8, 401, 497, 3227, 402, 2408, 402,
- 401, 135, 131, 401, 506, 401, 131, 402, 402, 401,
- 358, 402, 36, 140, 3027, 517, 358, 406, 334, 521,
- 406, 523, 2432, 2433, 2050, 2612, 220, 220, 117, 344,
- 2617, 169, 145, 2620, 94, 406, 149, 220, 89, 1854,
- 1855, 133, 2884, 2965, 1859, 156, 2456, 2457, 133, 400,
- 131, 344, 2894, 149, 344, 105, 169, 170, 116, 402,
- 401, 47, 47, 233, 1168, 174, 568, 131, 570, 182,
- 2480, 325, 116, 169, 2484, 2485, 2486, 2487, 2488, 2489,
- 2490, 401, 233, 1898, 1899, 131, 348, 2394, 2395, 401,
- 401, 401, 302, 402, 402, 402, 2122, 262, 359, 2125,
- 2126, 169, 215, 126, 20, 218, 401, 193, 220, 401,
- 152, 256, 280, 2139, 280, 406, 233, 233, 126, 232,
- 2146, 317, 2148, 230, 1228, 2740, 122, 1768, 348, 406,
- 1771, 359, 105, 20, 1775, 230, 232, 230, 20, 100,
- 2550, 2551, 2552, 401, 2554, 402, 161, 279, 92, 116,
- 2176, 38, 2612, 342, 6, 261, 256, 2617, 401, 1699,
- 2620, 953, 2188, 1958, 232, 1624, 622, 2577, 2075, 1273,
- 2580, 2146, 2989, 2583, 2580, 2585, 1607, 1818, 2469, 66,
- 1284, 2583, 2835, 1995, 297, 2142, 2596, 2213, 3202, 3226,
- 3181, 3180, 3210, 695, 2263, 2585, 1250, 2773, 2608, 2868,
- 2610, 3283, 1688, 3260, 2814, 2813, 2176, 2175, 2150, 711,
- 3052, 2621, 3217, 2623, 2967, 2625, 1230, 3228, 720, 2629,
- 2970, 2631, 27, 562, 726, 2643, 2595, 817, 3140, 3040,
- 2750, 2015, 119, 2643, 1571, 737, 2601, 1570, 2545, 3106,
- 3282, 2761, 3251, 2763, 606, 3016, 1496, 20, 803, 2579,
- 2272, 1962, 1970, 1981, 2561, 803, 985, 1511, 986, 3101,
- 147, 1490, 764, 2070, 2571, 1947, 1739, 984, 2235, 2892,
- 500, 2362, 385, 1963, 2742, 388, 389, 390, 1674, 392,
- 393, 394, 395, 396, 397, 2577, 3069, 2874, 175, 385,
- 403, 2354, 388, 389, 390, 1973, 392, 393, 394, 395,
- 396, 397, 1915, 38, 2891, 2612, 1826, 403, 1913, -1,
- 2617, 813, -1, 2620, 1795, 1445, -1, 385, -1, 821,
- 388, 389, 390, -1, 392, 393, 394, 395, 396, 397,
- 2740, 66, -1, -1, 1438, 403, -1, 2363, -1, -1,
- 2750, 2751, -1, -1, -1, -1, -1, -1, -1, -1,
- 2965, 2761, 2762, 2763, 2822, -1, -1, -1, 1999, -1,
- -1, -1, -1, -1, 2774, -1, -1, 2777, 2778, 2779,
- 2780, -1, -1, -1, -1, -1, 2402, 2964, -1, -1,
- -1, -1, -1, 270, 119, 2845, -1, 274, -1, 2845,
- -1, 150, -1, 280, -1, 154, 2806, -1, -1, -1,
- 287, -1, -1, -1, -1, -1, 293, -1, -1, -1,
- -1, -1, 147, -1, 301, -1, 3003, 2724, 2725, 2726,
- 2727, -1, 309, -1, -1, -1, -1, -1, -1, 2455,
- -1, 2891, -1, -1, -1, -1, 2462, -1, 2464, -1,
- 2081, 2082, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 466, 2862, 3040, -1, -1, -1, -1, 2868, -1,
- -1, -1, -1, -1, 2874, -1, 1570, 1571, 355, -1,
- 2496, -1, -1, -1, 2884, -1, 2502, 2503, 2504, 2505,
- 2506, 2507, -1, -1, 2894, -1, -1, -1, -1, -1,
- -1, 169, -1, -1, -1, -1, -1, 2907, -1, -1,
- -1, 2911, 2317, -1, -1, 2320, 2321, 2322, 2323, 2324,
- 2325, 2326, 2327, 2328, -1, 2330, -1, -1, -1, -1,
- 0, -1, 2548, 2549, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3121, 270, -1, 272, -1, 274,
- 555, -1, -1, -1, -1, 280, 561, -1, -1, 1653,
- -1, -1, 287, 3140, 232, 2965, -1, 572, 293, -1,
- -1, -1, -1, -1, 2379, 2380, 301, 2874, 2594, -1,
- -1, 1675, -1, -1, 309, -1, 591, -1, -1, -1,
- -1, -1, -1, 2993, 2891, -1, -1, 67, -1, -1,
- -1, -1, 607, -1, -1, 610, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 3015, 2247, 3017, 2249, 624,
- 2251, -1, 2253, -1, 2255, -1, 3203, -1, -1, 2260,
- 355, -1, -1, -1, -1, -1, -1, -1, -1, 3039,
- 3040, -1, -1, 113, 3044, 3045, -1, -1, -1, -1,
- -1, -1, 3052, -1, -1, 2286, 126, -1, -1, -1,
- -1, 131, -1, -1, -1, 135, -1, 2964, 138, -1,
- 140, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 0, 48, 501, 670, 577, 578, 822, 162, 670, 582,
+ 829, 11, 167, 42, 0, 672, 1315, 21, 865, 620,
+ 170, 1111, 798, 27, 878, 744, 1337, 12, 1695, 891,
+ 1211, 912, 913, 22, 728, 623, 1436, 941, 702, 1973,
+ 539, 34, 1144, 627, 738, 34, 2111, 1258, 48, 1372,
+ 931, 1727, 1022, 1276, 0, 7, 1244, 1051, 0, 1885,
+ 696, 13, 14, 2272, 1244, 2274, 0, 19, 494, 21,
+ 22, 1020, 24, 1695, 1696, 27, 28, 29, 1244, 1095,
+ 32, 33, 34, 849, 36, 779, 38, 39, 1020, 1059,
+ 784, 43, 775, 1244, 1244, 47, 1244, 791, 2142, 1603,
+ 1311, 1947, 2413, 2366, 1890, 1891, 800, 533, 2333, 157,
+ 1138, 142, 2624, 157, 1896, 1064, 0, 0, 1064, 1612,
+ 41, 2837, 38, 44, 17, 2788, 2808, 1609, 806, 1007,
+ 667, 814, 1064, 1011, 1012, 20, 25, 25, 0, 902,
+ 903, 2366, 46, 0, 0, 39, 667, 25, 2541, 0,
+ 58, 32, 65, 707, 30, 92, 1832, 157, 116, 5,
+ 39, 14, 92, 69, 927, 39, 92, 92, 3279, 0,
+ 142, 99, 92, 97, 92, 11, 111, 92, 85, 11,
+ 11, 11, 137, 48, 234, 91, 18, 156, 18, 120,
+ 0, 97, 137, 7, 236, 97, 237, 963, 11, 75,
+ 773, 2857, 1080, 2859, 267, 18, 0, 24, 1086, 24,
+ 139, 163, 164, 165, 109, 121, 168, 52, 170, 137,
+ 172, 173, 234, 175, 275, 177, 75, 179, 180, 181,
+ 0, 140, 1908, 30, 1910, 60, 216, 204, 1802, 48,
+ 32, 2352, 2353, 2354, 2355, 2356, 2357, 229, 1126, 139,
+ 55, 1129, 1130, 62, 0, 176, 97, 845, 46, 69,
+ 759, 94, 168, 240, 139, 11, 168, 25, 109, 134,
+ 243, 144, 39, 60, 120, 69, 101, 248, 1405, 252,
+ 19, 3304, 178, 92, 128, 94, 195, 176, 177, 1008,
+ 1239, 83, 11, 294, 281, 109, 370, 3546, 285, 69,
+ 1178, 7, 168, 64, 341, 341, 172, 1239, 296, 137,
+ 1214, 137, 241, 369, 101, 181, 311, 139, 296, 95,
+ 1201, 1202, 309, 225, 226, 703, 404, 1102, 1209, 420,
+ 1105, 141, 2995, 424, 301, 490, 174, 46, 227, 1466,
+ 418, 239, 87, 165, 400, 106, 25, 141, 192, 985,
+ 728, 501, 3601, 92, 163, 152, 419, 345, 359, 156,
+ 738, 1177, 1181, 419, 359, 48, 241, 345, 419, 419,
+ 1145, 141, 55, 286, 529, 167, 272, 153, 419, 62,
+ 311, 536, 424, 303, 364, 104, 341, 424, 424, 539,
+ 3413, 378, 236, 287, 191, 324, 229, 303, 371, 306,
+ 265, 303, 237, 109, 149, 382, 296, 419, 287, 2672,
+ 137, 1405, 332, 287, 309, 224, 1004, 1193, 400, 292,
+ 229, 262, 258, 341, 216, 334, 332, 336, 253, 400,
+ 332, 284, 163, 361, 165, 359, 1199, 1200, 252, 374,
+ 1134, 3104, 1136, 296, 352, 1208, 366, 2672, 294, 180,
+ 1169, 134, 424, 359, 1424, 424, 265, 359, 378, 204,
+ 366, 419, 207, 400, 366, 311, 253, 404, 277, 1951,
+ 400, 3582, 378, 537, 400, 351, 378, 541, 288, 424,
+ 3143, 406, 400, 1330, 316, 400, 316, 551, 406, 1438,
+ 355, 1174, 345, 1171, 288, 309, 1190, 176, 334, 419,
+ 336, 1471, 351, 316, 422, 3161, 1438, 299, 2901, 1690,
+ 335, 424, 329, 419, 329, 419, 313, 419, 288, 1056,
+ 287, 410, 411, 412, 413, 414, 415, 558, 424, 2640,
+ 424, 483, 421, 421, 419, 1056, 341, 415, 419, 491,
+ 1094, 2606, 494, 421, 496, 424, 355, 499, 335, 501,
+ 424, 503, 504, 505, 506, 559, 301, 561, 510, 563,
+ 512, 423, 514, 567, 2046, 1229, 423, 423, 378, 521,
+ 3233, 1673, 423, 404, 2196, 281, 2198, 39, 530, 410,
+ 411, 533, 265, 87, 378, 537, 424, 539, 1266, 541,
+ 542, 484, 423, 545, 749, 547, 424, 549, 424, 551,
+ 2426, 756, 554, 524, 2430, 1371, 1372, 48, 378, 759,
+ 420, 3293, 400, 423, 341, 229, 1382, 120, 3124, 1385,
+ 1119, 62, 137, 516, 92, 138, 420, 1393, 1394, 423,
+ 3277, 419, 132, 499, 1397, 1398, 2129, 503, 2314, 2315,
+ 1406, 1407, 229, 216, 596, 149, 598, 392, 514, 601,
+ 420, 1417, 807, 423, 412, 413, 414, 415, 404, 2770,
+ 369, 661, 1885, 421, 410, 411, 121, 406, 589, 621,
+ 140, 623, 355, 625, 419, 661, 1264, 423, 417, 406,
+ 419, 420, 149, 422, 118, 424, 97, 12, 7, 264,
+ 1263, 400, 3320, 134, 13, 422, 648, 92, 294, 62,
+ 204, 7, 654, 207, 1653, 621, 1472, 1653, 97, 625,
+ 419, 2333, 86, 343, 252, 661, 104, 2117, 106, 661,
+ 21, 1653, 3438, 174, 645, 195, 27, 661, 94, 92,
+ 92, 410, 411, 412, 413, 414, 415, 204, 172, 1340,
+ 1341, 254, 421, 281, 2366, 2309, 3393, 7, 2312, 2313,
+ 380, 23, 2316, 13, 216, 131, 224, 168, 60, 87,
+ 712, 713, 2326, 85, 38, 496, 830, 40, 343, 104,
+ 1719, 106, 119, 60, 97, 48, 84, 661, 661, 168,
+ 95, 512, 400, 283, 96, 159, 400, 1719, 740, 2411,
+ 109, 216, 52, 3299, 68, 48, 1295, 301, 137, 101,
+ 752, 314, 1751, 109, 332, 380, 870, 759, 311, 761,
+ 157, 245, 251, 400, 101, 767, 880, 156, 243, 771,
+ 393, 149, 92, 419, 265, 287, 778, 252, 892, 224,
+ 298, 94, 3143, 3440, 301, 787, 788, 2619, 153, 92,
+ 1868, 3504, 102, 283, 169, 168, 234, 309, 303, 109,
+ 124, 851, 112, 805, 806, 85, 808, 343, 224, 1285,
+ 1738, 224, 92, 175, 334, 851, 336, 229, 1746, 3497,
+ 1748, 264, 138, 873, 826, 827, 204, 332, 830, 207,
+ 154, 419, 2105, 155, 260, 2012, 2013, 873, 392, 224,
+ 2017, 3234, 303, 845, 216, 203, 896, 205, 3107, 234,
+ 163, 161, 372, 173, 1403, 851, 2971, 2972, 2973, 851,
+ 862, 366, 864, 865, 355, 915, 963, 851, 870, 871,
+ 354, 332, 195, 378, 876, 195, 96, 55, 880, 2056,
+ 2057, 128, 3539, 252, 62, 132, 888, 178, 378, 364,
+ 892, 3284, 894, 1824, 63, 945, 252, 21, 359, 1020,
+ 343, 253, 3435, 3436, 419, 366, 216, 331, 332, 348,
+ 11, 224, 281, 963, 419, 3572, 253, 378, 378, 1119,
+ 359, 224, 1036, 301, 93, 281, 229, 252, 3241, 0,
+ 303, 712, 713, 129, 424, 298, 1762, 380, 406, 62,
+ 3502, 3503, 252, 1064, 224, 192, 1044, 1045, 1029, 1047,
+ 1044, 1045, 423, 1047, 422, 175, 281, 63, 419, 424,
+ 285, 285, 265, 287, 424, 289, 3241, 69, 2012, 2013,
+ 333, 295, 2848, 2017, 277, 285, 100, 2853, 302, 3372,
+ 2856, 272, 95, 335, 309, 309, 359, 93, 1160, 236,
+ 771, 160, 2888, 317, 1044, 1045, 176, 1047, 335, 309,
+ 2672, 325, 1004, 104, 3537, 3421, 787, 788, 2844, 1011,
+ 1012, 3573, 2056, 2057, 392, 378, 379, 140, 303, 215,
+ 398, 85, 400, 1025, 805, 1027, 84, 1853, 1854, 1855,
+ 1856, 2183, 419, 1035, 1036, 422, 159, 1903, 2037, 141,
+ 153, 321, 1911, 2042, 324, 826, 827, 332, 61, 373,
+ 296, 138, 355, 378, 160, 2037, 419, 272, 224, 239,
+ 2042, 322, 323, 2617, 1236, 303, 1068, 104, 252, 106,
+ 1242, 1276, 195, 1278, 298, 3491, 1078, 164, 398, 399,
+ 400, 366, 1287, 3499, 404, 378, 1088, 1259, 400, 126,
+ 410, 411, 179, 378, 332, 1295, 311, 281, 252, 345,
+ 113, 2827, 189, 161, 270, 2719, 17, 419, 2469, 333,
+ 2130, 2725, 2726, 2727, 2728, 2729, 2730, 1119, 1239, 1121,
+ 3536, 244, 128, 300, 2497, 298, 132, 281, 366, 2195,
+ 2368, 424, 1337, 304, 419, 271, 3230, 281, 2368, 400,
+ 2866, 285, 2868, 3504, 359, 203, 3405, 205, 1150, 1151,
+ 1152, 1153, 2368, 2426, 378, 379, 1158, 2430, 5, 295,
+ 333, 332, 379, 10, 1897, 309, 1982, 2368, 2368, 1171,
+ 2368, 18, 185, 186, 304, 1289, 418, 1179, 1180, 1655,
+ 397, 419, 424, 1185, 1298, 198, 192, 224, 35, 378,
+ 2118, 333, 229, 176, 3178, 419, 1310, 234, 252, 2460,
+ 252, 372, 332, 1403, 291, 378, 379, 1893, 559, 252,
+ 561, 334, 563, 336, 2030, 414, 567, 17, 569, 570,
+ 419, 1335, 345, 422, 1338, 1339, 1276, 281, 1342, 281,
+ 236, 252, 355, 1235, 378, 424, 378, 379, 281, 252,
+ 252, 1243, 372, 2059, 1073, 1247, 419, 1249, 1250, 1251,
+ 1252, 1348, 3367, 418, 182, 309, 1258, 2397, 241, 424,
+ 281, 25, 1264, 379, 1266, 176, 309, 15, 16, 281,
+ 2201, 379, 1101, 2272, 2273, 2274, 2173, 419, 104, 2095,
+ 106, 397, 3158, 1285, 1286, 1320, 1924, 1289, 1290, 397,
+ 417, 2107, 2108, 1295, 73, 422, 1298, 1299, 1348, 1301,
+ 126, 1303, 38, 419, 26, 272, 1308, 1357, 1310, 1311,
+ 347, 419, 400, 1315, 1316, 282, 294, 1438, 2768, 356,
+ 333, 1357, 335, 1366, 400, 47, 1365, 1243, 1330, 417,
+ 241, 419, 68, 1335, 422, 415, 1338, 1339, 305, 379,
+ 1342, 421, 320, 419, 2518, 2522, 1348, 341, 2525, 2526,
+ 2527, 2528, 2529, 2530, 2531, 2532, 2533, 397, 2535, 138,
+ 400, 1357, 419, 1365, 1366, 1357, 2365, 1369, 2542, 1150,
+ 1151, 1152, 1153, 1357, 419, 379, 176, 422, 9, 419,
+ 118, 1352, 417, 2365, 419, 164, 132, 422, 124, 345,
+ 128, 378, 1442, 397, 132, 400, 400, 28, 1179, 1180,
+ 179, 1403, 400, 229, 1185, 151, 2583, 2584, 234, 420,
+ 189, 85, 399, 424, 419, 419, 400, 404, 154, 2439,
+ 403, 419, 283, 410, 411, 3142, 400, 410, 411, 412,
+ 413, 414, 415, 212, 172, 419, 3050, 3051, 421, 268,
+ 400, 241, 730, 400, 732, 419, 400, 132, 414, 176,
+ 399, 739, 836, 419, 192, 404, 422, 300, 2478, 419,
+ 239, 73, 419, 847, 66, 419, 151, 404, 1249, 1250,
+ 1251, 1252, 239, 410, 411, 45, 46, 244, 2522, 2193,
+ 2114, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533,
+ 159, 2535, 403, 2943, 2145, 406, 407, 408, 236, 410,
+ 411, 412, 413, 414, 415, 420, 399, 245, 404, 424,
+ 421, 404, 291, 33, 410, 411, 252, 410, 411, 39,
+ 239, 347, 334, 419, 336, 244, 138, 2076, 420, 420,
+ 356, 423, 1653, 424, 777, 1316, 182, 420, 420, 2583,
+ 2584, 424, 424, 2563, 420, 281, 420, 420, 424, 285,
+ 424, 424, 164, 289, 32, 420, 420, 2556, 423, 295,
+ 424, 17, 2714, 151, 3290, 1615, 302, 179, 2029, 3241,
+ 2031, 2032, 1626, 309, 2556, 2848, 85, 189, 2490, 36,
+ 2853, 317, 361, 2856, 2735, 2736, 300, 1701, 2739, 325,
+ 2741, 2545, 2546, 378, 379, 420, 74, 25, 1719, 424,
+ 212, 1603, 30, 403, 2781, 420, 406, 407, 408, 424,
+ 410, 411, 412, 413, 414, 415, 354, 239, 420, 420,
+ 98, 421, 424, 424, 2440, 412, 413, 414, 415, 420,
+ 1751, 404, 420, 424, 421, 878, 424, 373, 420, 117,
+ 294, 295, 424, 420, 3258, 294, 295, 424, 1650, 1651,
+ 3322, 419, 1654, 1655, 1656, 133, 1007, 419, 1660, 420,
+ 1011, 1012, 777, 424, 1666, 1420, 37, 1669, 1423, 147,
+ 1672, 334, 2671, 336, 2673, 1677, 1678, 2581, 419, 291,
+ 1885, 1683, 420, 410, 411, 412, 413, 414, 415, 2671,
+ 36, 2673, 420, 417, 421, 419, 424, 26, 1700, 1701,
+ 394, 2700, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 2940,
+ 420, 1713, 1714, 84, 424, 1717, 1718, 378, 379, 1721,
+ 176, 485, 3439, 2654, 1726, 1727, 422, 420, 156, 1080,
+ 1732, 424, 1734, 1735, 1650, 1086, 2552, 2781, 1654, 2342,
+ 2343, 2344, 1744, 1745, 2367, 1747, 2643, 2644, 176, 177,
+ 1752, 229, 178, 1669, 1756, 1757, 1758, 1759, 1760, 237,
+ 334, 1677, 336, 878, 1766, 1767, 1768, 242, 2945, 2946,
+ 242, 1773, 2410, 1775, 1776, 1126, 420, 3227, 1129, 1130,
+ 424, 334, 341, 336, 1700, 241, 1788, 158, 1885, 664,
+ 239, 666, 270, 1795, 1796, 1797, 1798, 1799, 1800, 227,
+ 239, 1717, 17, 420, 1839, 420, 420, 424, 394, 424,
+ 424, 420, 2431, 241, 2433, 424, 1732, 1060, 1734, 1869,
+ 420, 2012, 2013, 1937, 424, 242, 2017, 1178, 26, 593,
+ 1832, 176, 203, 1869, 205, 1885, 1752, 420, 1840, 394,
+ 420, 424, 2611, 1759, 424, 216, 178, 420, 412, 613,
+ 1766, 424, 176, 378, 379, 619, 309, 1773, 622, 623,
+ 624, 136, 1864, 424, 3137, 2056, 2057, 97, 420, 1871,
+ 420, 420, 424, 420, 1117, 424, 2076, 424, 420, 420,
+ 251, 419, 424, 424, 1886, 3158, 420, 420, 1890, 1891,
+ 424, 424, 420, 420, 420, 1279, 241, 424, 424, 420,
+ 2105, 2945, 2946, 424, 1288, 1907, 1908, 1909, 1910, 395,
+ 396, 36, 1296, 1297, 3275, 286, 2037, 882, 883, 420,
+ 420, 2042, 1924, 424, 424, 420, 2146, 2147, 419, 424,
+ 1314, 1933, 1175, 420, 422, 1937, 2650, 424, 168, 2139,
+ 420, 2148, 2149, 1945, 424, 1060, 381, 403, 319, 1192,
+ 406, 407, 408, 419, 410, 411, 412, 413, 414, 415,
+ 420, 176, 2059, 1744, 424, 421, 420, 1969, 420, 420,
+ 424, 1973, 424, 424, 420, 403, 20, 420, 424, 419,
+ 1095, 424, 410, 411, 412, 413, 414, 415, 420, 422,
+ 239, 1234, 424, 421, 38, 420, 226, 420, 132, 424,
+ 420, 424, 1117, 190, 424, 361, 3183, 1788, 239, 2059,
+ 774, 239, 241, 2839, 1795, 1796, 1797, 1798, 1799, 1800,
+ 419, 2100, 2101, 2073, 68, 233, 241, 300, 182, 1945,
+ 3207, 3208, 1383, 1384, 420, 3384, 419, 3386, 424, 48,
+ 1391, 1284, 3315, 2093, 1395, 1396, 2048, 2951, 420, 20,
+ 420, 378, 424, 381, 424, 2105, 419, 1973, 403, 1410,
+ 1175, 1412, 407, 408, 26, 410, 411, 412, 413, 414,
+ 415, 420, 26, 303, 2076, 424, 421, 1192, 350, 420,
+ 124, 845, 1433, 424, 1435, 252, 410, 411, 412, 413,
+ 414, 415, 132, 182, 420, 420, 1211, 421, 424, 424,
+ 361, 122, 332, 122, 419, 122, 122, 381, 3107, 122,
+ 154, 424, 122, 239, 2930, 122, 2118, 122, 122, 1234,
+ 122, 122, 239, 122, 122, 2127, 1907, 2241, 1909, 359,
+ 419, 20, 190, 2333, 419, 1486, 366, 133, 182, 3183,
+ 132, 25, 132, 2257, 400, 400, 30, 2261, 378, 419,
+ 419, 2272, 2273, 2274, 419, 419, 2158, 2159, 2160, 3432,
+ 261, 419, 419, 3207, 3208, 419, 2366, 3064, 3345, 1284,
+ 249, 2173, 419, 400, 403, 400, 419, 406, 407, 408,
+ 2182, 410, 411, 412, 413, 414, 415, 20, 403, 419,
+ 424, 406, 407, 408, 400, 410, 411, 412, 413, 414,
+ 415, 965, 419, 419, 400, 38, 421, 419, 419, 419,
+ 419, 975, 2214, 2215, 2216, 2217, 419, 1601, 419, 1462,
+ 419, 2426, 986, 20, 419, 2430, 419, 419, 419, 419,
+ 419, 419, 75, 190, 20, 68, 132, 2239, 132, 2241,
+ 1004, 285, 2158, 1007, 2365, 289, 341, 1011, 1012, 341,
+ 422, 295, 239, 341, 341, 2257, 341, 302, 302, 2261,
+ 341, 341, 229, 341, 2469, 309, 360, 55, 152, 239,
+ 161, 341, 156, 317, 341, 1626, 2983, 419, 424, 361,
+ 252, 325, 341, 3187, 361, 341, 341, 36, 36, 341,
+ 419, 124, 176, 177, 341, 243, 239, 239, 2300, 341,
+ 341, 3345, 2304, 2305, 341, 341, 156, 191, 341, 298,
+ 341, 176, 2314, 2315, 378, 3059, 419, 419, 369, 419,
+ 20, 154, 19, 2239, 9, 92, 176, 361, 371, 373,
+ 198, 2522, 20, 377, 2525, 2526, 2527, 2528, 2529, 2530,
+ 2531, 2532, 2533, 227, 2535, 372, 239, 1462, 132, 182,
+ 2400, 419, 20, 2467, 299, 375, 122, 241, 3498, 7,
+ 122, 361, 176, 122, 2400, 13, 361, 122, 3265, 2419,
+ 41, 288, 341, 44, 228, 2489, 2426, 137, 1142, 339,
+ 2430, 2383, 2384, 2419, 366, 209, 374, 1738, 2304, 419,
+ 209, 241, 2583, 2584, 309, 1746, 421, 1748, 424, 2401,
+ 394, 339, 3218, 137, 52, 419, 3405, 419, 2410, 341,
+ 343, 150, 420, 424, 150, 406, 172, 240, 2420, 234,
+ 192, 2423, 341, 420, 298, 341, 2476, 241, 61, 313,
+ 180, 424, 239, 419, 2436, 2556, 180, 2986, 419, 229,
+ 2476, 246, 3346, 237, 2446, 424, 229, 229, 306, 341,
+ 281, 281, 285, 281, 102, 341, 289, 2459, 2460, 341,
+ 272, 109, 295, 176, 112, 2467, 20, 176, 2470, 302,
+ 1821, 176, 2672, 3377, 361, 2477, 309, 3381, 3382, 237,
+ 361, 1245, 3105, 176, 317, 176, 406, 2489, 19, 417,
+ 2492, 162, 325, 417, 2591, 341, 167, 341, 169, 341,
+ 1264, 419, 341, 174, 132, 176, 406, 134, 419, 20,
+ 3379, 182, 3378, 161, 2593, 2594, 2595, 2596, 1902, 403,
+ 145, 306, 406, 407, 408, 239, 410, 411, 412, 413,
+ 414, 415, 1916, 1917, 3350, 148, 1920, 421, 148, 132,
+ 373, 2591, 1926, 419, 377, 378, 424, 20, 122, 239,
+ 2671, 132, 2673, 403, 2470, 239, 406, 407, 408, 306,
+ 410, 411, 412, 413, 414, 415, 8, 332, 216, 1812,
+ 381, 421, 424, 2687, 2688, 1690, 2492, 142, 239, 2700,
+ 1695, 1696, 206, 424, 36, 420, 420, 137, 420, 403,
+ 2781, 1975, 406, 407, 408, 420, 410, 411, 412, 413,
+ 414, 415, 420, 420, 252, 2607, 419, 421, 424, 137,
+ 420, 420, 420, 394, 420, 2617, 420, 420, 420, 10,
+ 420, 420, 341, 394, 419, 248, 1390, 420, 128, 375,
+ 192, 2685, 419, 281, 364, 341, 166, 285, 229, 3455,
+ 419, 2643, 2644, 2848, 192, 256, 2648, 256, 2853, 3366,
+ 358, 2856, 3303, 176, 3366, 341, 201, 201, 201, 341,
+ 341, 309, 341, 341, 341, 341, 341, 176, 176, 176,
+ 176, 176, 176, 398, 417, 66, 192, 406, 7, 420,
+ 301, 207, 420, 243, 13, 2687, 2688, 350, 3554, 283,
+ 85, 378, 419, 424, 420, 86, 3245, 1812, 237, 239,
+ 341, 2703, 361, 239, 420, 2707, 2708, 2709, 2710, 2711,
+ 2712, 2713, 419, 179, 247, 179, 107, 419, 361, 234,
+ 1963, 361, 242, 52, 120, 1489, 424, 120, 417, 115,
+ 137, 132, 2648, 371, 46, 137, 144, 240, 421, 406,
+ 420, 166, 350, 134, 350, 341, 420, 420, 139, 419,
+ 132, 420, 341, 144, 2945, 2946, 420, 419, 341, 341,
+ 420, 176, 420, 1878, 420, 2116, 420, 2118, 159, 418,
+ 176, 418, 20, 102, 2776, 2777, 2778, 419, 2780, 378,
+ 109, 420, 180, 112, 419, 132, 2986, 162, 57, 381,
+ 2174, 2707, 333, 2709, 378, 424, 179, 419, 2848, 419,
+ 419, 419, 419, 2853, 2806, 420, 2856, 306, 141, 137,
+ 2812, 137, 483, 2815, 419, 2817, 420, 488, 420, 490,
+ 376, 376, 420, 424, 36, 2827, 146, 406, 2212, 2213,
+ 229, 350, 161, 122, 424, 229, 424, 3460, 176, 99,
+ 229, 94, 2844, 418, 2846, 163, 139, 137, 1963, 361,
+ 241, 20, 110, 524, 121, 2857, 85, 2859, 529, 2861,
+ 361, 420, 419, 137, 2866, 536, 2868, 181, 419, 38,
+ 341, 242, 419, 137, 365, 318, 7, 268, 420, 2881,
+ 377, 419, 13, 14, 419, 255, 420, 216, 19, 277,
+ 21, 420, 361, 378, 419, 419, 27, 132, 29, 68,
+ 20, 292, 424, 202, 229, 159, 269, 298, 2259, 48,
+ 295, 295, 583, 304, 48, 306, 47, 36, 589, 1683,
+ 242, 3035, 3036, 252, 3038, 240, 245, 132, 239, 600,
+ 333, 127, 3137, 242, 242, 365, 2990, 2991, 378, 20,
+ 424, 332, 333, 275, 424, 378, 337, 110, 239, 620,
+ 20, 3005, 281, 3158, 345, 124, 285, 239, 419, 350,
+ 105, 419, 2205, 420, 294, 2881, 121, 97, 639, 360,
+ 294, 6, 359, 2975, 645, 17, 1838, 269, 419, 2118,
+ 309, 372, 2333, 1012, 2986, 154, 3107, 2206, 1725, 2340,
+ 2341, 662, 3183, 2236, 2345, 2238, 661, 3496, 2671, 2331,
+ 3261, 2815, 2812, 1704, 3006, 2659, 2170, 1933, 3098, 3011,
+ 3012, 3518, 3553, 182, 3485, 2366, 3207, 3208, 3484, 2817,
+ 3022, 3023, 3526, 1260, 851, 2401, 1673, 3081, 2700, 2273,
+ 1794, 2824, 1246, 3035, 3036, 3037, 3038, 3151, 1802, 3244,
+ 1826, 3241, 173, 2378, 175, 3245, 177, 3161, 179, 3614,
+ 3589, 2365, 3072, 3071, 2335, 3533, 1237, 3247, 3467, 3109,
+ 2444, 3250, 3064, 27, 2448, 2881, 2450, 2310, 2452, 2453,
+ 3275, 3315, 590, 3109, 2826, 871, 3432, 2461, 749, 2830,
+ 2195, 2196, 3439, 2198, 3577, 756, 1696, 3613, 1852, 3291,
+ 2205, 1610, 20, 2809, 1041, 3011, 2477, 851, 2127, 636,
+ 851, 654, 2136, 2150, 1035, 1644, 3022, 2491, 3158, 3111,
+ 3315, 1875, 2636, 2990, 1643, 1054, 285, 1629, 3159, 1604,
+ 289, 2236, 1885, 2238, 2105, 2432, 295, 3129, 645, 2128,
+ 801, 802, 803, 302, 524, 3137, 807, 2806, 1811, 2382,
+ 309, 2566, 3348, 2558, 3512, 3516, 3513, 2139, 317, 3151,
+ 2073, 1984, 2071, 2396, 3345, 1952, 325, 1469, -1, 3161,
+ 1924, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3173, 3174, -1, -1, -1, 3178, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 165, 3273, 3097, 3098, 3099,
- 3100, 3101, 707, -1, -1, -1, 3003, -1, 3005, -1,
- -1, -1, 1806, 183, -1, -1, -1, 385, -1, 468,
- 2736, 389, 390, -1, 392, 393, 394, 395, 396, 397,
- 3027, -1, -1, -1, -1, 403, -1, -1, -1, -1,
- 3140, 3141, -1, 3040, -1, -1, 1238, -1, -1, -1,
- 2555, 3048, 757, 758, 759, -1, 505, 227, -1, -1,
- -1, -1, 511, -1, -1, 235, -1, -1, -1, 3264,
- -1, -1, -1, -1, -1, 2791, 2792, 2793, -1, -1,
- -1, -1, 3182, 3183, -1, -1, 1278, 2803, 2804, 3086,
- 3190, 2807, 2808, -1, -1, 1287, -1, 1289, -1, -1,
- -1, 3251, 1294, 273, -1, -1, -1, 3207, -1, -1,
- 815, -1, -1, -1, 3264, -1, -1, -1, 3218, -1,
- -1, -1, -1, -1, 3121, -1, -1, -1, -1, -1,
- -1, 836, 3282, -1, -1, 2851, -1, -1, -1, -1,
- -1, 590, -1, 3140, -1, -1, 316, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2875,
- 3260, -1, -1, -1, -1, -1, -1, 337, 617, -1,
+ -1, -1, -1, -1, -1, 2310, -1, -1, 869, -1,
+ -1, -1, 2445, 7, 373, -1, -1, 3412, 377, 13,
+ -1, -1, -1, -1, -1, -1, -1, 3331, 2333, -1,
+ 891, -1, -1, -1, -1, -1, -1, 3432, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3283, -1, -1, -1, 357, -1, -1,
- -1, -1, -1, -1, 10, -1, -1, -1, -1, -1,
- -1, -1, 2707, 2708, -1, -1, 3203, 377, 378, 379,
+ -1, -1, -1, 3245, -1, -1, -1, -1, 52, -1,
+ -1, 2366, -1, -1, -1, -1, 3037, -1, -1, -1,
+ 2503, -1, 3178, 3265, -1, -1, -1, 2382, -1, -1,
+ -1, -1, -1, -1, 3388, -1, -1, -1, -1, -1,
+ -1, 2396, -1, -1, 3405, -1, -1, -1, 3290, -1,
+ 3292, 2534, -1, -1, -1, -1, 2411, -1, 102, -1,
+ -1, -1, -1, -1, 2547, 109, -1, -1, 112, -1,
+ -1, -1, 3314, 3315, 3519, -1, -1, 3319, 3320, -1,
+ -1, 2672, -1, -1, -1, -1, -1, -1, -1, 3331,
+ 2445, -1, -1, -1, 2685, -1, -1, -1, 2581, -1,
+ -1, -1, -1, -1, -1, -1, 1017, -1, -1, -1,
+ -1, -1, -1, -1, 2118, -1, -1, 161, -1, -1,
+ 491, 3363, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 0, -1, 505, 506, -1, -1, -1, 510,
+ -1, -1, 3384, 3385, 3386, 3387, 3388, -1, 2503, -1,
+ 521, -1, -1, 2744, 2745, -1, -1, -1, 3603, 530,
+ 169, -1, -1, -1, 2755, 174, 10, -1, -1, -1,
+ -1, 542, 216, 182, 545, -1, 547, -1, 549, 2534,
+ -1, 2772, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3432, 3433, 2547, -1, -1, -1, 1107, -1, 42, -1,
+ -1, 69, -1, -1, -1, -1, -1, -1, 252, -1,
+ -1, 55, -1, -1, -1, -1, -1, -1, 62, -1,
+ -1, -1, 66, -1, -1, 596, 2581, 598, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 281, -1, -1,
+ 2864, 285, 86, 1154, 3486, -1, 3488, 2871, 2872, -1,
+ 118, -1, 2256, -1, 10, 3497, 3593, -1, -1, -1,
+ 128, -1, 1173, 107, 132, 309, 22, -1, -1, 137,
+ 3512, -1, -1, 141, 2278, -1, 144, -1, 146, -1,
+ -1, 3523, -1, 654, -1, -1, 42, 3577, -1, -1,
+ -1, -1, 3534, 3314, -1, 139, -1, -1, 3319, 3320,
+ -1, -1, -1, 3593, 172, 2309, -1, -1, 2312, 2313,
+ 66, 2794, 2316, -1, -1, 159, -1, 2672, -1, -1,
+ -1, -1, 2326, 3613, 192, 0, -1, 2331, -1, 2333,
+ 86, -1, -1, -1, -1, -1, -1, -1, -1, 183,
+ -1, -1, -1, -1, -1, -1, -1, 3589, -1, -1,
+ -1, 107, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2366, -1, 3385, 1276, 3387, 1278, 236, 740,
+ -1, -1, 3614, -1, -1, 2379, 1287, 245, 134, -1,
+ -1, 752, -1, 139, -1, -1, -1, -1, 144, 1300,
+ 761, -1, -1, -1, 69, -1, 767, 241, 1309, 2990,
+ 2991, -1, -1, 159, -1, 2409, 2410, 778, -1, -1,
+ -1, -1, 3433, -1, 3005, -1, -1, -1, -1, -1,
+ 288, -1, 3013, 3014, 268, -1, 1337, 3018, 3019, 1340,
+ 1341, -1, -1, -1, -1, -1, -1, 808, -1, 2794,
+ -1, 1352, -1, 118, -1, -1, -1, -1, 292, -1,
+ -1, -1, 296, 128, 298, -1, -1, 132, -1, -1,
+ 304, -1, 137, -1, 332, -1, 141, 3488, 2951, 144,
+ -1, 146, -1, -1, 483, 2830, 3497, -1, -1, 488,
+ -1, -1, -1, -1, -1, 241, 354, -1, 332, 333,
+ 3081, 862, -1, 337, -1, 251, -1, 172, -1, -1,
+ -1, 345, 3523, -1, -1, 876, 350, 375, -1, 377,
+ 378, -1, 268, -1, -1, -1, -1, 192, -1, -1,
+ -1, -1, -1, -1, 3007, -1, -1, -1, 372, -1,
+ -1, -1, 3015, -1, -1, -1, 292, -1, -1, -1,
+ 296, 7, 298, 3167, -1, 3169, 3170, 13, 304, 417,
+ 306, -1, 420, 3177, 422, 423, -1, 1468, -1, -1,
+ -1, 236, -1, 2567, -1, -1, 1477, -1, -1, -1,
+ 245, 37, -1, -1, 583, -1, 332, 333, -1, -1,
+ -1, 337, -1, -1, -1, 2940, 52, -1, -1, 345,
+ -1, 600, -1, -1, 350, -1, 2951, -1, -1, 17,
+ -1, -1, -1, -1, 360, 2609, -1, 25, -1, -1,
+ -1, 620, 30, 288, -1, -1, 372, -1, 84, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 2015, 2016, -1, 2018, -1, 42, -1, -1, 399,
- -1, -1, 402, -1, 404, 405, -1, 2031, 54, 2033,
- -1, -1, -1, -1, -1, 61, -1, -1, 64, -1,
- -1, -1, 701, 702, 959, -1, -1, -1, -1, 708,
- -1, -1, -1, -1, -1, 81, 715, -1, -1, 2985,
- -1, -1, -1, -1, 2990, -1, 3273, -1, -1, -1,
- 2074, -1, 2779, -1, -1, -1, 102, 736, -1, -1,
+ 639, -1, -1, -1, -1, -1, 102, -1, -1, -1,
+ -1, -1, -1, 109, -1, -1, 112, -1, -1, -1,
+ 3241, -1, 3007, 662, -1, -1, -1, 332, -1, -1,
+ 3015, -1, -1, -1, 1035, -1, -1, -1, 2672, -1,
+ -1, -1, -1, -1, -1, -1, -1, 17, -1, 354,
+ 3163, 21, 2686, -1, -1, 25, -1, -1, -1, 2693,
+ 30, 2695, 158, -1, -1, 161, -1, -1, -1, 1610,
+ 375, -1, 377, 378, 3187, -1, -1, 1078, -1, -1,
+ -1, -1, -1, -1, -1, 2719, -1, -1, -1, 3343,
+ -1, 2725, 2726, 2727, 2728, 2729, 2730, -1, -1, -1,
+ -1, -1, -1, -1, 152, -1, -1, 203, 156, 205,
+ -1, -1, 417, -1, -1, 420, -1, 422, 423, -1,
+ 216, -1, -1, -1, -1, -1, -1, -1, 176, 177,
+ 100, -1, -1, -1, -1, -1, -1, -1, 2772, 2773,
+ 2774, 2775, -1, 191, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 251, 252, 3142, -1, -1,
+ -1, -1, 801, 802, 803, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1716, 224, -1, 3163, 227,
+ -1, -1, 152, -1, -1, 281, 156, -1, -1, 285,
+ 286, 2825, -1, 241, -1, -1, 244, -1, -1, -1,
+ -1, -1, 3187, -1, -1, -1, 176, 177, -1, -1,
+ -1, -1, -1, 309, -1, -1, -1, -1, -1, -1,
+ -1, 191, 777, 319, 162, -1, -1, -1, -1, 167,
+ 869, -1, -1, 3346, 1235, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1247, -1, -1, -1,
+ 17, -1, 891, -1, 224, -1, 3241, 227, 25, -1,
+ -1, -1, -1, 30, 3377, 313, -1, -1, 3381, 3382,
+ -1, 241, -1, -1, 244, -1, -1, 8, -1, -1,
+ -1, -1, -1, -1, -1, 1286, -1, -1, -1, 1290,
+ -1, -1, -1, -1, -1, 1836, -1, -1, 1299, -1,
+ 1301, -1, 1303, -1, -1, -1, -1, 1308, -1, -1,
+ -1, -1, -1, 3534, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 878, -1, -1, -1, -1, -1, 1870,
+ 61, -1, -1, -1, -1, -1, 1877, 3322, -1, 70,
+ 71, 72, -1, 313, 1885, -1, -1, 2981, -1, -1,
+ -1, -1, -1, -1, -1, 403, -1, -1, 406, 407,
+ 408, 3346, 410, 411, 412, 413, 414, 415, 3589, -1,
+ 418, -1, -1, 421, -1, -1, -1, 425, 1017, -1,
+ -1, -1, -1, 114, -1, 152, -1, -1, -1, 156,
+ -1, 361, 3377, 3614, -1, -1, 3381, 3382, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 176,
+ 177, -1, -1, -1, -1, -1, 3050, 3051, -1, -1,
+ -1, -1, -1, -1, 191, 156, -1, 3061, 3062, -1,
+ 161, 3065, 3066, 403, -1, -1, 406, 407, 408, -1,
+ 410, 411, 412, 413, 414, 415, -1, -1, -1, -1,
+ -1, 421, 1007, -1, 3439, -1, -1, 224, -1, -1,
+ 227, -1, -1, -1, -1, -1, -1, -1, 1107, 200,
+ -1, -1, -1, -1, 241, -1, -1, 244, -1, -1,
+ -1, 3115, -1, -1, -1, -1, 217, 218, 219, 220,
+ 221, -1, 223, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1060, -1, 3141, -1, -1,
+ -1, -1, -1, -1, -1, 1154, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 256, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1173, -1, -1, -1, -1, -1,
+ 1095, -1, -1, -1, -1, -1, 313, -1, -1, -1,
+ -1, -1, 490, -1, -1, -1, -1, -1, 2099, -1,
+ -1, 292, 1117, -1, 2105, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 2635, 2636, -1, -1, -1, -1,
- -1, -1, -1, -1, 763, -1, -1, 133, -1, -1,
- -1, 3037, -1, -1, -1, -1, -1, -1, -1, 2123,
- -1, -1, -1, -1, -1, -1, 152, 1529, -1, -1,
- -1, -1, -1, -1, -1, 1537, 0, -1, -1, 1054,
- -1, 1543, 801, -1, 2148, -1, -1, 1549, -1, -1,
- 176, -1, 1554, -1, -1, -1, -1, 1559, -1, -1,
- -1, -1, -1, -1, 823, -1, -1, -1, -1, -1,
- -1, -1, 2176, -1, -1, -1, 1578, -1, 1580, -1,
- -1, -1, -1, -1, -1, -1, 845, 2191, -1, -1,
- 1592, 1593, 1594, -1, -1, -1, -1, -1, -1, -1,
- 2204, 2916, -1, 67, -1, -1, 232, 1609, 1610, 1611,
- 1612, 2215, 871, -1, 1616, 1617, -1, -1, 1620, 1621,
- 1622, -1, -1, -1, 1626, 2940, 2941, -1, -1, 255,
- -1, 1633, -1, -1, 1636, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 2248, 904, 905, -1, 907, 113,
- 2254, 277, -1, -1, -1, 281, -1, 283, -1, -1,
- -1, -1, 126, 289, -1, 924, -1, 131, -1, -1,
- -1, 135, -1, 17, 138, -1, 140, -1, -1, -1,
- -1, 25, -1, -1, -1, -1, 30, -1, -1, -1,
- 316, 317, 3218, -1, 2298, 321, -1, -1, -1, -1,
- -1, 165, -1, 329, -1, -1, -1, -1, 334, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 183,
- 979, -1, -1, 982, 983, 2329, -1, -1, 354, -1,
- -1, 990, 3039, -1, 3260, 994, -1, 3044, 3045, 2343,
+ -1, -1, -1, -1, -1, -1, -1, -1, 17, -1,
+ -1, 529, -1, -1, -1, -1, 25, 328, 536, 330,
+ -1, 30, -1, -1, 2145, -1, -1, 3241, -1, -1,
+ 17, -1, -1, 20, -1, -1, -1, -1, 25, -1,
+ 1175, -1, 353, 30, 3258, -1, -1, -1, 3262, 360,
+ -1, -1, 363, -1, -1, -1, 403, 1192, -1, 406,
+ 407, 408, -1, 410, 411, 412, 413, 414, 415, -1,
+ 1651, -1, -1, -1, 421, 1656, 1211, 424, 25, 1660,
+ -1, 1300, -1, 30, -1, 1666, -1, -1, -1, -1,
+ 1309, 1672, -1, -1, -1, -1, -1, 1678, 3312, 1234,
+ 618, -1, 1683, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3066, -1, -1, -1, -1, -1, 3283, -1, 2900,
- 2901, 2902, 2903, 227, -1, 1024, -1, -1, -1, 2910,
- -1, 235, -1, 1288, -1, -1, -1, -1, -1, 1038,
- 1295, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3098, -1, 3100, -1, -1, -1, -1, -1, -1,
- -1, 145, 1317, 1318, -1, 149, -1, -1, -1, 273,
- 1812, -1, -1, -1, 1329, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 169, 170, -1, -1, -1,
- -1, -1, -1, -1, 3141, -1, -1, -1, 182, -1,
+ -1, 1340, 1341, -1, -1, 1706, 1707, 1708, 1709, -1,
+ -1, -1, 1713, 1714, 652, -1, -1, 1718, -1, -1,
+ 1721, -1, -1, 152, -1, -1, -1, 156, -1, 1284,
+ -1, -1, -1, -1, 1735, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1745, 152, 1747, 176, 177, 156,
+ -1, -1, -1, -1, -1, 1756, 1757, 1758, -1, 1760,
+ -1, -1, 191, -1, -1, -1, 1767, 1768, -1, 176,
+ 177, -1, -1, -1, 1775, 1776, -1, -1, -1, -1,
+ -1, -1, -1, -1, 191, 152, -1, -1, -1, 156,
+ -1, -1, -1, -1, -1, 224, -1, -1, 227, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 176,
+ 177, 749, 241, -1, -1, 244, -1, 224, 756, -1,
+ 227, -1, -1, -1, 191, -1, -1, -1, -1, 1468,
+ -1, -1, -1, -1, 241, -1, 2377, 244, 1477, 777,
+ -1, -1, -1, -1, -1, -1, 2387, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 224, -1, -1,
+ 227, -1, 2403, -1, -1, -1, -1, -1, -1, 807,
+ -1, -1, -1, -1, 241, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 313, 2426, -1, -1, -1, 2430,
+ -1, -1, -1, -1, -1, -1, 17, -1, -1, -1,
+ 3534, -1, -1, -1, 25, -1, 313, 1462, -1, 30,
+ -1, 849, -1, 2454, -1, -1, 2457, -1, -1, -1,
+ -1, -1, -1, 2464, -1, -1, -1, -1, 2469, -1,
+ -1, -1, 25, -1, -1, -1, -1, 30, -1, -1,
+ 878, -1, -1, -1, -1, -1, 313, -1, -1, 2490,
+ -1, -1, -1, -1, -1, 3589, -1, -1, -1, -1,
+ -1, -1, 900, -1, -1, -1, -1, -1, 1969, -1,
+ -1, 1610, -1, -1, 403, -1, -1, 406, 407, 408,
+ 3614, 410, 411, 412, 413, 414, 415, -1, -1, -1,
+ 928, 398, 421, -1, -1, 424, 403, -1, -1, 406,
+ 407, 408, -1, 410, 411, 412, 413, 414, 415, -1,
+ -1, 132, -1, -1, 421, -1, 137, -1, -1, -1,
+ -1, -1, 960, 961, 117, 963, -1, -1, -1, -1,
+ -1, 152, -1, -1, -1, 156, 403, -1, -1, 406,
+ 407, 408, 980, 410, 411, 412, 413, 414, 415, -1,
+ -1, -1, -1, -1, 421, 176, 177, 2598, 2599, 152,
+ -1, -1, -1, 156, -1, -1, -1, -1, -1, -1,
+ 191, -1, -1, -1, -1, -1, -1, 1716, -1, -1,
+ -1, 1019, 1020, 176, 177, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
+ -1, -1, -1, 224, -1, -1, 227, -1, 1046, -1,
+ -1, -1, 1050, 1051, -1, -1, -1, -1, -1, -1,
+ 241, -1, 1060, 244, -1, -1, 1064, -1, -1, -1,
+ -1, -1, -1, -1, 227, 1690, -1, -1, -1, -1,
+ 1695, 1696, -1, -1, -1, -1, -1, -1, 241, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1095, 2159, 2160,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 316, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2472, -1,
- -1, 215, -1, 337, 218, -1, 3183, -1, -1, -1,
- -1, -1, -1, 3190, -1, -1, -1, -1, 232, -1,
- 234, -1, -1, 357, -1, -1, -1, -1, -1, -1,
- 3207, -1, -1, -1, -1, -1, -1, -1, -1, 1168,
- -1, -1, -1, 377, 378, 379, -1, -1, -1, -1,
- -1, -1, -1, 3064, -1, -1, -1, 1186, -1, 1444,
- -1, -1, -1, -1, -1, 399, -1, -1, 402, -1,
- 404, 405, -1, -1, -1, -1, 1205, -1, -1, -1,
- -1, -1, -1, 297, -1, -1, -1, -1, -1, -1,
- -1, -1, 2566, -1, -1, -1, -1, -1, -1, 1228,
- -1, -1, -1, 1232, -1, -1, -1, -1, -1, -1,
- -1, 1496, -1, 1985, 1986, -1, 17, -1, -1, -1,
+ -1, -1, -1, -1, 17, -1, -1, -1, -1, 1117,
+ -1, 2182, 25, -1, -1, -1, -1, 30, -1, -1,
+ -1, -1, 313, -1, -1, -1, 17, 1836, -1, -1,
-1, -1, -1, -1, 25, -1, -1, -1, -1, 30,
- -1, -1, -1, -1, -1, -1, 1265, -1, 1267, -1,
- -1, -1, -1, -1, 1273, -1, 1275, -1, -1, -1,
- -1, -1, -1, -1, -1, 1284, -1, -1, -1, -1,
+ -1, -1, -1, 2214, 2215, 2216, 2217, -1, -1, -1,
+ 313, -1, -1, -1, -1, -1, -1, -1, 2769, -1,
+ -1, 1870, -1, -1, -1, -1, -1, 1175, 1877, -1,
+ -1, -1, -1, -1, -1, -1, 2787, -1, -1, -1,
+ -1, -1, -1, -1, 1192, -1, -1, 1812, 2799, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 385, -1, 736, 388, 389, 390, -1, 392, 393,
- 394, 395, 396, 397, -1, 1314, 400, -1, -1, 403,
- -1, -1, -1, 407, -1, -1, 17, -1, -1, -1,
- -1, -1, -1, -1, 25, -1, -1, -1, -1, 30,
- -1, 2083, 2084, 2085, 2086, -1, -1, -1, 17, 1348,
- 1349, -1, 21, -1, -1, -1, 25, 1356, -1, -1,
- 1359, 30, -1, 1362, 1619, -1, -1, -1, -1, -1,
- -1, 1370, 1371, -1, 145, 2117, -1, -1, 149, 1378,
- -1, -1, 1381, 1382, 1383, 1384, -1, -1, -1, -1,
- 823, -1, 1391, 1392, -1, 1394, -1, 1396, 169, 170,
- 1399, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2754, 182, -1, -1, -1, 1414, 1415, -1, -1, 1418,
- -1, -1, -1, 1422, -1, -1, 95, 1426, -1, -1,
- 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438,
- -1, 1440, 1697, -1, 215, -1, 1445, 218, -1, 1448,
- 2192, -1, -1, -1, 145, -1, -1, -1, 149, -1,
- -1, 232, -1, 234, -1, -1, -1, 2209, -1, -1,
- 1725, -1, -1, -1, -1, -1, 145, 1732, 169, 170,
- 149, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 182, -1, -1, -1, -1, -1, -1, -1, 1498,
- 169, 170, -1, -1, -1, -1, -1, -1, -1, -1,
- 10, -1, -1, 182, -1, 948, -1, -1, -1, -1,
- -1, -1, -1, -1, 215, -1, 297, 218, -1, -1,
- -1, -1, 1531, -1, -1, -1, -1, -1, -1, -1,
- -1, 232, -1, 234, -1, -1, 215, -1, 1547, 218,
- -1, -1, 2896, -1, -1, -1, -1, 990, -1, -1,
- -1, -1, -1, 232, 64, 234, -1, 1566, -1, -1,
- -1, 1570, 1571, -1, -1, -1, -1, -1, -1, -1,
- -1, 81, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1024, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 102, -1, -1, 1038, 297, -1, -1, -1,
- -1, -1, -1, -1, 385, -1, -1, 388, 389, 390,
- -1, 392, 393, 394, 395, 396, 397, -1, 297, -1,
- -1, -1, 403, 133, -1, 406, -1, -1, 138, -1,
- -1, -1, -1, -1, -1, -1, 1645, -1, -1, -1,
- -1, -1, 152, -1, 1653, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1211, -1, -1, -1, -1, -1, -1,
+ -1, -1, 403, -1, -1, 406, 407, 408, -1, 410,
+ 411, 412, 413, 414, 415, -1, 1234, -1, -1, 2300,
+ 421, 1239, -1, -1, 2305, -1, -1, 2848, -1, 152,
+ 403, -1, 2853, 156, -1, 2856, -1, 410, 411, 412,
+ 413, 414, 415, 1878, -1, -1, -1, -1, 421, -1,
+ -1, 152, -1, 176, 177, 156, -1, -1, 1276, -1,
+ 1278, -1, -1, -1, -1, -1, 1284, -1, 191, 1287,
+ -1, -1, -1, -1, -1, 176, 177, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 590, 1673, 344, 1675, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1941, -1, -1, -1,
- -1, -1, -1, -1, 385, -1, -1, 388, 389, 390,
- 617, 392, 393, 394, 395, 396, 397, -1, -1, -1,
- -1, -1, 403, -1, -1, 406, 385, -1, -1, 388,
- 389, 390, -1, 392, 393, 394, 395, 396, 397, -1,
- -1, -1, 232, -1, 403, 1168, -1, -1, 2480, -1,
- 1739, -1, -1, 2485, -1, 2487, 2488, 2489, 2490, -1,
- 1749, -1, -1, 1186, -1, 255, -1, -1, -1, -1,
+ 191, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 224, 2383, 2384, 227, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 241, 1337,
+ 2401, 244, 17, 224, -1, -1, 227, -1, 1963, -1,
+ 25, -1, -1, -1, -1, 30, -1, -1, -1, 262,
+ 241, 2962, 2963, 2964, 2965, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1371, 1372, -1, -1, -1, -1, -1,
+ -1, 1379, -1, -1, 1382, 2446, -1, 1385, -1, -1,
+ -1, -1, -1, -1, -1, 1393, 1394, -1, 2459, -1,
+ 2099, -1, -1, 1401, -1, -1, 1404, 1405, 1406, 1407,
+ 313, -1, 17, -1, -1, 20, 1414, 1415, -1, 1417,
+ 25, 1419, -1, 326, 1422, 30, -1, -1, -1, -1,
+ -1, -1, 313, -1, -1, -1, -1, -1, -1, 1437,
+ 1438, -1, -1, 1441, -1, -1, 2145, 1445, -1, -1,
+ -1, 1449, -1, -1, -1, 1453, 1454, 1455, 1456, 1457,
+ 1458, 1459, 1460, 1461, 1462, -1, 1464, -1, -1, -1,
+ -1, 1469, 17, -1, 1472, -1, -1, 152, -1, -1,
+ 25, 156, -1, -1, -1, 30, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1205, -1, -1, -1, -1, 277, -1, 1778,
- -1, -1, -1, 283, 701, -1, -1, -1, -1, 289,
- 10, -1, 25, -1, -1, 1228, 1795, 30, -1, -1,
- -1, -1, 22, -1, -1, -1, -1, 1806, 2550, 2551,
- 2552, -1, 2554, -1, -1, -1, 316, 317, 3162, -1,
- -1, 321, 42, -1, -1, 1824, 1825, -1, -1, 329,
- -1, -1, -1, -1, 334, -1, -1, -1, -1, -1,
- 1273, 61, -1, 343, 64, -1, -1, -1, -1, -1,
- -1, 1284, -1, -1, 354, 1854, 1855, -1, -1, -1,
- 1859, 81, -1, -1, -1, -1, -1, 87, -1, -1,
- -1, -1, 1871, 1872, 1873, 1874, -1, -1, -1, -1,
- 1879, -1, 102, 2625, 1883, 1884, -1, 1886, -1, -1,
- 1889, -1, -1, -1, -1, -1, -1, -1, -1, 1898,
- 1899, -1, 1901, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 145, 133, 134, 1914, 149, 1916, 138, -1,
- -1, 1920, -1, -1, -1, -1, -1, -1, 845, -1,
- -1, 2186, 152, -1, -1, -1, 169, 170, 1937, -1,
- 2195, -1, -1, -1, -1, -1, -1, -1, 1947, 182,
- 1949, 1950, -1, -1, 871, 175, 2211, -1, -1, -1,
- -1, -1, -1, -1, -1, 1964, 186, -1, -1, -1,
- -1, 1970, -1, -1, -1, -1, -1, -1, -1, -1,
- 1979, 1980, 1981, -1, -1, 218, -1, 904, 905, -1,
- 907, -1, -1, -1, -1, 1994, -1, -1, -1, 232,
- -1, 2256, -1, 2258, -1, 1438, -1, 924, 2263, 2751,
- -1, -1, 232, -1, 234, -1, 2015, 2016, -1, 2018,
- 2762, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2285, -1, 2031, -1, 2033, 255, -1, 17, -1, -1,
- -1, -1, -1, -1, -1, 25, -1, -1, -1, -1,
- 30, -1, -1, -1, -1, -1, -1, 277, -1, -1,
- -1, 281, 979, 283, 297, 982, 983, -1, -1, -1,
- -1, -1, -1, -1, -1, 2074, 17, -1, -1, -1,
- -1, -1, -1, -1, 25, -1, -1, -1, -1, 30,
- -1, -1, -1, -1, -1, -1, -1, 317, 318, -1,
- 320, 321, -1, -1, -1, -1, -1, -1, -1, 329,
- -1, -1, -1, 333, 334, -1, -1, -1, 338, -1,
- 2862, -1, -1, 343, 2123, -1, 2868, -1, -1, -1,
- -1, -1, -1, 1566, -1, -1, -1, 1570, 1571, 2394,
- 2395, -1, -1, -1, -1, -1, 126, -1, -1, 2148,
- -1, 131, 385, -1, -1, 388, 389, 390, -1, 392,
- 393, 394, 395, 396, 397, 145, -1, -1, -1, 149,
- 403, -1, -1, -1, -1, -1, 2175, 2176, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 169,
- 170, -1, 2191, -1, -1, -1, 736, -1, -1, -1,
- -1, -1, 182, -1, 145, 2204, -1, -1, 149, -1,
- -1, -1, -1, -1, -1, -1, 2215, -1, -1, -1,
- 1653, -1, -1, -1, -1, -1, -1, -1, 169, 170,
- 2229, -1, -1, -1, 2233, 215, -1, -1, 218, -1,
- -1, 182, 1675, -1, 2243, -1, -1, -1, -1, 2248,
- -1, -1, 232, -1, 234, 2254, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2264, -1, -1, -1, -1,
- -1, -1, 736, -1, 215, -1, -1, 218, -1, -1,
- -1, -1, -1, 823, -1, -1, -1, -1, -1, -1,
- 2545, 232, -1, 234, -1, -1, 2295, -1, -1, 2298,
- -1, -1, -1, -1, -1, 2304, 2561, -1, 249, -1,
- -1, 2310, -1, 2312, -1, -1, 2571, 297, 2317, -1,
- -1, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328,
- 2329, 2330, -1, -1, -1, 2334, 2335, -1, -1, -1,
- -1, -1, -1, -1, 2343, -1, -1, -1, -1, 2348,
- -1, -1, -1, 2352, -1, 2354, 297, -1, -1, 823,
- -1, -1, -1, -1, -1, 2364, -1, -1, 2367, 310,
- 2369, -1, -1, 1806, -1, -1, -1, -1, 2377, 2378,
- 2379, 2380, -1, -1, -1, 2384, -1, -1, 2387, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2397, -1,
- -1, -1, -1, -1, -1, 385, -1, -1, 388, 389,
- 390, -1, 392, 393, 394, 395, 396, 397, -1, -1,
- -1, -1, -1, 403, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1356,
- 3182, -1, -1, -1, 385, -1, -1, 388, 389, 390,
- 990, 392, 393, 394, 395, 396, 397, -1, -1, -1,
- -1, 1378, 403, -1, 1381, -1, -1, 1384, -1, 2724,
- 2725, 2726, 2727, 2472, 1391, 1392, -1, -1, -1, 1396,
- -1, -1, 1399, -1, 1024, -1, -1, -1, 25, -1,
- -1, -1, -1, 30, -1, -1, -1, 1414, 1038, -1,
- -1, 1418, -1, -1, -1, 1422, -1, -1, -1, 1426,
- -1, -1, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436,
- 1437, -1, -1, 1440, -1, -1, 990, -1, 1445, -1,
- -1, -1, -1, -1, 8, -1, -1, -1, -1, -1,
+ 403, 176, 177, 406, 407, 408, -1, 410, 411, 412,
+ 413, 414, 415, -1, -1, -1, 191, -1, 421, -1,
+ -1, -1, 403, -1, -1, 406, 407, 408, -1, 410,
+ 411, 412, 413, 414, 415, -1, 3137, -1, -1, -1,
+ 421, -1, -1, -1, -1, -1, -1, 152, -1, 224,
+ -1, 156, 227, -1, -1, -1, -1, 3158, -1, -1,
+ -1, -1, -1, -1, -1, -1, 241, -1, -1, 244,
+ -1, 176, 177, -1, -1, -1, -1, -1, -1, -1,
+ 2195, 2196, -1, 2198, -1, -1, 191, -1, -1, -1,
+ 2205, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 152, -1, -1,
+ -1, 156, -1, -1, 1612, -1, -1, -1, -1, 224,
+ -1, 2236, 227, 2238, -1, -1, -1, -1, -1, -1,
+ -1, 176, 177, -1, -1, -1, 241, -1, 313, 244,
+ -1, -1, 2703, 3244, -1, -1, 191, 2708, -1, 2710,
+ 2711, 2712, 2713, -1, -1, 1653, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 736, -1, -1, -1, -1, 2555, -1, -1, -1,
- 1024, -1, -1, -1, -1, -1, -1, 2566, -1, -1,
- -1, -1, -1, -1, 1038, 112, -1, -1, -1, -1,
- -1, 1498, 2015, 2016, -1, 2018, 60, -1, -1, -1,
- -1, -1, -1, -1, 68, 69, 70, -1, 2031, -1,
- 2033, -1, -1, -1, -1, -1, -1, -1, 145, -1,
- -1, -1, 149, 2612, -1, -1, -1, -1, 2617, -1,
- -1, 2620, -1, -1, -1, -1, -1, -1, 1168, -1,
- 1547, -1, 169, 170, -1, 109, -1, -1, 823, -1,
- -1, 2074, -1, -1, -1, 182, 1186, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2656, -1, -1,
- -1, -1, -1, -1, -1, 1205, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 149, -1, -1, -1, -1,
- 154, 218, -1, -1, -1, -1, -1, -1, 1228, -1,
- 2123, -1, -1, 2692, -1, 232, -1, -1, -1, -1,
- 2699, 2700, -1, 2702, 1168, -1, -1, -1, 2707, 2708,
- 736, -1, -1, 2712, 2713, 2148, -1, 191, -1, 2718,
- 2719, -1, 1186, 2722, -1, -1, -1, -1, 1645, -1,
- -1, -1, -1, 1273, 208, 209, 210, 211, 212, -1,
- 214, 1205, -1, 2176, 1284, -1, -1, -1, -1, -1,
- 3005, -1, -1, -1, -1, 2754, 1673, -1, 2191, -1,
- 297, -1, -1, -1, 1228, -1, -1, -1, -1, -1,
- 244, 2204, 3027, -1, -1, 17, -1, -1, 20, -1,
- -1, -1, 2215, 25, -1, -1, -1, -1, 30, -1,
- -1, -1, -1, 3048, -1, -1, 736, 823, -1, -1,
- -1, -1, 25, 277, -1, 990, -1, 30, -1, 1273,
- -1, -1, -1, -1, -1, 2248, -1, -1, -1, -1,
- 1284, 2254, -1, -1, -1, -1, -1, -1, 736, -1,
- -1, 3086, 1749, -1, -1, 2834, -1, -1, 312, 1024,
- 314, -1, -1, -1, -1, -1, -1, -1, 385, -1,
- -1, -1, -1, 1038, -1, 392, 393, 394, 395, 396,
- 397, 1778, 336, -1, -1, 2298, 403, -1, -1, 343,
- -1, -1, 346, -1, -1, 2874, -1, -1, 1795, -1,
- -1, -1, -1, 823, -1, -1, -1, -1, 2887, -1,
- -1, -1, 2891, -1, -1, -1, 2329, 2896, 1438, -1,
- -1, -1, -1, 145, -1, -1, -1, 149, 1825, -1,
- 2343, -1, -1, -1, -1, 823, -1, 2916, -1, -1,
- -1, 2920, 145, -1, -1, -1, 149, 169, 170, -1,
+ -1, -1, 1670, -1, 3275, -1, -1, 3278, 2377, 224,
+ -1, -1, 227, -1, -1, -1, -1, -1, 2387, -1,
+ -1, -1, 1690, -1, -1, 2310, 241, 1695, 1696, 244,
+ -1, -1, 3303, -1, 2403, -1, -1, -1, 313, -1,
+ -1, -1, 257, -1, 3315, 2776, 2777, 2778, 2333, 2780,
+ -1, 1719, -1, -1, -1, -1, 3327, -1, 403, -1,
+ -1, 406, 407, 408, -1, 410, 411, 412, 413, 414,
+ 415, -1, -1, -1, -1, 420, 421, -1, -1, -1,
+ -1, 2366, -1, 1751, -1, 2454, -1, -1, 2457, -1,
+ -1, -1, -1, -1, -1, 2464, -1, 2382, 313, 17,
+ 3371, -1, 20, -1, -1, -1, -1, 25, -1, -1,
+ -1, 2396, 30, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2490, -1, -1, -1, -1, 2411, -1, 403, -1,
+ 2861, 406, 407, 408, -1, 410, 411, 412, 413, 414,
+ 415, 3412, 1810, -1, 1812, -1, 421, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 182, 2940, 2941, -1, 2377, 2944, 169, 170, -1, -1,
- -1, -1, 2951, 2952, 1871, -1, 1873, 1874, -1, 182,
- -1, -1, -1, -1, 990, 2964, 1883, -1, -1, 1886,
- -1, -1, 1889, 215, 1438, -1, 218, -1, -1, 2978,
- -1, -1, -1, 1168, -1, -1, -1, -1, -1, -1,
- 232, -1, 234, -1, -1, 218, -1, 1914, 1024, 1916,
- -1, 1186, -1, 1920, 3003, -1, -1, -1, -1, 232,
- -1, -1, 1038, -1, -1, -1, -1, -1, -1, -1,
- 1205, -1, -1, -1, -1, -1, 1566, -1, -1, -1,
- 1570, 1571, -1, -1, -1, -1, -1, -1, -1, 2472,
- -1, 3040, 3041, 1228, -1, -1, -1, 1964, -1, -1,
- 990, -1, -1, 1970, -1, 297, -1, -1, -1, -1,
- -1, -1, 1979, 1980, 1981, -1, -1, 3066, 3067, -1,
- 3069, -1, 3071, -1, 297, -1, -1, 1994, -1, -1,
- -1, -1, 990, -1, 1024, -1, -1, -1, 1273, -1,
- 3089, -1, -1, -1, 3093, 3094, -1, -1, 1038, 1284,
- -1, -1, 1566, -1, -1, -1, 1570, 1571, -1, -1,
- -1, -1, -1, 1653, -1, -1, 1024, -1, -1, -1,
- -1, -1, 3121, -1, -1, -1, -1, -1, -1, -1,
- 1038, -1, -1, 2566, -1, 1675, -1, -1, -1, -1,
- -1, 3140, 1168, 385, -1, -1, 388, 389, 390, -1,
- 392, 393, 394, 395, 396, 397, -1, -1, -1, -1,
- 1186, 403, 385, 3162, -1, -1, 389, 390, -1, 392,
- 393, 394, 395, 396, 397, -1, -1, -1, -1, 1205,
- 403, -1, -1, -1, -1, -1, -1, -1, -1, 1653,
- 25, -1, -1, -1, -1, 30, -1, -1, -1, -1,
- -1, -1, 1228, -1, 3203, -1, -1, -1, -1, -1,
- -1, 1675, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1168, -1,
+ 2445, 3432, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3, -1, -1, -1, 1186, 1273, -1, -1,
- -1, 736, 13, 1438, 15, 16, -1, -1, 1284, -1,
- 1168, -1, -1, -1, -1, 1205, 1806, -1, 29, 2702,
- -1, -1, -1, -1, 3273, -1, -1, 112, 1186, -1,
- 2713, -1, -1, -1, -1, -1, -1, 48, 1228, 50,
- 51, -1, -1, -1, 55, 56, -1, 1205, -1, -1,
- -1, -1, -1, -1, 65, -1, 67, -1, -1, -1,
- 145, -1, -1, -1, 149, -1, -1, -1, -1, -1,
- 1228, 2754, 83, -1, -1, 86, -1, -1, -1, -1,
- -1, 92, -1, 1273, 169, 170, -1, 98, 823, -1,
- -1, -1, 1806, 104, 1284, -1, -1, 182, -1, 110,
- -1, -1, -1, -1, -1, 116, -1, 118, -1, -1,
- -1, -1, 123, -1, -1, 1273, -1, -1, -1, -1,
- -1, -1, -1, -1, 135, -1, 1284, -1, 2295, -1,
- -1, 1566, -1, 218, -1, 1570, 1571, 2304, -1, -1,
- -1, -1, -1, 2310, -1, 2312, -1, 232, -1, -1,
- 161, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1438, -1, -1, -1, -1, 2334, 2335, -1,
- -1, -1, -1, 184, 185, -1, -1, -1, -1, 190,
- -1, -1, -1, -1, -1, -1, -1, 2354, 199, -1,
- -1, -1, -1, -1, -1, -1, -1, 2364, -1, -1,
- 2367, -1, 2369, -1, -1, -1, 217, -1, -1, -1,
- -1, 2378, 297, 2896, -1, -1, -1, 2384, 1653, -1,
- 2387, -1, -1, -1, -1, 2015, 2016, -1, 2018, -1,
- 2397, -1, -1, -1, -1, -1, -1, 2920, -1, 250,
- 1675, 2031, -1, 2033, -1, -1, -1, -1, 1438, 260,
- -1, -1, 263, -1, 265, 990, -1, -1, -1, 270,
- -1, -1, -1, -1, 275, -1, -1, 278, -1, -1,
- -1, 282, -1, -1, 25, -1, -1, 288, -1, 30,
- 1438, -1, 293, -1, 2074, 296, -1, -1, -1, 1024,
- 1566, -1, 303, -1, 1570, 1571, -1, -1, -1, -1,
- 385, 2015, 2016, 1038, 2018, -1, -1, 392, 393, 394,
- 395, 396, 397, -1, -1, -1, -1, 2031, 403, 2033,
- -1, 332, -1, -1, -1, -1, -1, -1, -1, 340,
- -1, 342, -1, 2123, 345, -1, -1, -1, 349, -1,
- -1, -1, -1, -1, -1, -1, 17, -1, -1, -1,
- -1, -1, -1, -1, 25, -1, -1, -1, 2148, 30,
- 2074, 112, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1806, -1, -1, -1, -1, 1566, 1653, -1, -1,
- 1570, 1571, -1, -1, 3067, -1, 2176, -1, -1, -1,
- 401, -1, -1, -1, 145, -1, -1, -1, 149, 1675,
- -1, 2191, -1, -1, -1, -1, 3089, -1, 1566, 2123,
- 3093, 3094, 1570, 1571, 2204, -1, -1, -1, 169, 170,
- -1, -1, -1, -1, -1, 2215, -1, -1, -1, -1,
- -1, 182, -1, 1168, 2148, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 403, -1,
+ -1, 406, 407, 408, -1, 410, 411, 412, 413, 414,
+ 415, -1, -1, -1, -1, -1, 421, -1, -1, -1,
+ 1878, -1, -1, -1, -1, -1, -1, 1885, 2503, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1895, -1, 2598,
+ 2599, -1, -1, -1, 152, -1, -1, -1, 156, 777,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3519, 2534,
+ -1, -1, -1, -1, -1, -1, -1, -1, 176, 177,
+ -1, 1929, 2547, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 191, -1, -1, -1, -1, -1, 618,
+ -1, 3012, -1, -1, 1952, -1, -1, -1, -1, -1,
+ -1, -1, 3023, -1, -1, 1963, 2581, -1, 25, -1,
+ -1, -1, -1, 30, -1, -1, 224, -1, -1, 227,
+ -1, -1, -1, 652, 1982, 1983, -1, -1, -1, -1,
+ -1, -1, -1, 241, -1, -1, 244, -1, -1, -1,
+ -1, -1, 3603, -1, -1, -1, -1, -1, -1, -1,
+ 878, -1, -1, -1, 2012, 2013, -1, -1, -1, 2017,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1186, -1, -1, -1, -1, -1, -1, 2248, -1,
- -1, -1, 2176, 1653, 2254, -1, -1, 218, -1, -1,
- 1205, -1, -1, -1, 145, -1, -1, 2191, 149, 3162,
- -1, 232, -1, -1, -1, 1675, -1, -1, -1, 2656,
- 2204, -1, -1, 1228, -1, 1653, -1, -1, 169, 170,
- -1, 2215, -1, -1, -1, -1, -1, -1, 2298, -1,
- -1, 182, -1, -1, -1, -1, -1, 1675, -1, -1,
+ -1, 2029, 2030, 2031, 2032, -1, -1, -1, -1, 2037,
+ -1, -1, -1, 2041, 2042, -1, 2044, -1, -1, 2047,
+ 3111, -1, -1, -1, -1, -1, -1, 2672, 2056, 2057,
+ 117, 2059, -1, -1, -1, 313, -1, -1, 3129, -1,
+ 2769, -1, -1, -1, 2072, -1, 2074, -1, -1, -1,
+ 2078, -1, -1, -1, -1, -1, -1, -1, 2787, -1,
+ -1, -1, -1, -1, -1, 152, -1, 2095, -1, 156,
+ 2799, -1, -1, -1, -1, -1, -1, 2105, -1, 2107,
+ 2108, 2109, 3173, -1, -1, -1, -1, -1, -1, 176,
+ 177, -1, -1, 2121, -1, -1, -1, -1, -1, -1,
+ -1, 2129, -1, -1, 191, -1, -1, -1, 2136, -1,
+ -1, -1, -1, 2141, -1, -1, -1, -1, -1, -1,
+ 2148, 2149, 2150, -1, -1, 403, -1, -1, 406, 407,
+ 408, -1, 410, 411, 412, 413, 414, 415, -1, -1,
+ 227, 2169, -1, 421, -1, -1, -1, -1, -1, 2794,
+ -1, -1, -1, -1, 241, -1, -1, -1, -1, -1,
+ -1, -1, 1060, -1, -1, -1, -1, 2195, 2196, -1,
+ 2198, -1, -1, -1, 777, -1, -1, 2205, -1, -1,
+ -1, -1, -1, -1, -1, 2830, -1, -1, -1, -1,
+ -1, 25, -1, -1, -1, -1, 30, 1095, -1, -1,
+ -1, 900, -1, -1, -1, -1, -1, -1, 2236, -1,
+ 2238, -1, -1, -1, -1, -1, -1, -1, -1, 1117,
+ -1, -1, -1, -1, -1, -1, 313, -1, -1, 928,
+ -1, -1, -1, 2962, 2963, 2964, 2965, -1, -1, -1,
+ -1, -1, -1, -1, 2272, 2273, 2274, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1806, -1, 2699, 2700, 2248, -1, -1, -1, 1273, 2329,
- 2254, -1, -1, -1, 215, 2712, 297, 218, -1, 1284,
- -1, 2718, 2719, 2343, -1, 2722, -1, -1, -1, -1,
- -1, 232, -1, 234, -1, -1, -1, -1, -1, -1,
+ -1, 960, 961, -1, 963, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 878, -1, 1175, -1, -1,
+ -1, 980, 2310, 117, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1192, 2940, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2333, 2951, -1, -1, -1,
+ -1, -1, -1, 1211, -1, -1, 403, -1, 152, -1,
+ 1019, -1, 156, 410, 411, 412, 413, 414, 415, -1,
+ -1, -1, -1, -1, 421, -1, 1234, 2365, 2366, -1,
+ -1, -1, 176, 177, -1, -1, -1, 1046, -1, -1,
+ -1, 1050, 1051, -1, 2382, -1, -1, 191, -1, -1,
+ -1, -1, 3007, -1, -1, -1, -1, -1, 2396, -1,
+ 3015, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2411, -1, -1, 1284, -1, -1, -1,
+ -1, -1, 17, 227, -1, 3486, -1, -1, 2426, -1,
+ 25, -1, 2430, -1, -1, 30, -1, 241, -1, -1,
+ -1, -1, 2440, -1, -1, -1, -1, 2445, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2015, 2016, -1, 2018, 2298, -1, -1, 2377, -1, -1,
- -1, -1, -1, -1, -1, -1, 2031, -1, 2033, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2329, 1806, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 297, -1, -1, 2343,
- -1, -1, -1, -1, 385, -1, -1, -1, -1, 2074,
- -1, 392, 393, 394, 395, 396, 397, -1, 1806, -1,
- -1, -1, 403, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2377, -1, -1, -1, 2834, -1, -1,
+ -1, 2469, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 17, -1, -1, -1, -1, -1, 1060, -1, 25,
+ -1, -1, -1, -1, 30, -1, -1, -1, -1, -1,
+ -1, -1, 2500, -1, -1, 2503, -1, -1, -1, 313,
+ -1, 2509, -1, -1, -1, -1, -1, 2515, -1, 2517,
+ -1, -1, 1095, -1, 2522, -1, 777, 2525, 2526, 2527,
+ 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, -1, -1,
+ -1, 2539, 2540, -1, 1117, -1, -1, -1, 3163, 2547,
+ -1, -1, -1, -1, 2552, -1, -1, 152, 2556, -1,
+ 2558, 156, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2568, -1, 3187, 2571, -1, 2573, -1, 777, -1, 3278,
+ -1, 176, 177, 2581, 2582, 2583, 2584, -1, -1, -1,
+ 2588, -1, -1, 2591, 1462, -1, 191, -1, -1, 403,
+ -1, 137, 1175, 2601, 3303, -1, 410, 411, 412, 413,
+ 414, 415, 2610, -1, -1, -1, 152, 421, -1, 1192,
+ 156, -1, -1, -1, -1, -1, 3241, 878, 3327, 224,
+ -1, -1, 227, -1, -1, -1, -1, -1, 1211, -1,
+ 176, 177, -1, -1, -1, -1, 241, -1, -1, 244,
+ -1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
+ -1, 1234, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3371, 2671, 2672, 2673, -1, -1, 878, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 224, -1,
+ -1, 227, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2700, -1, -1, 241, -1, 3322, 244, -1,
+ 1379, 1284, -1, -1, -1, -1, -1, -1, 313, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 2472, -1, -1, -1, -1, -1, 2123, -1,
+ -1, 3346, 1401, -1, -1, 1404, -1, -1, 1407, -1,
+ -1, -1, -1, -1, -1, 1414, 1415, -1, -1, -1,
+ 1419, -1, -1, 1422, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3377, -1, -1, -1, 3381, 3382, 1437, -1,
+ -1, -1, 1441, -1, -1, -1, 1445, 313, -1, -1,
+ 1449, -1, -1, 2781, 1453, 1454, 1455, 1456, 1457, 1458,
+ 1459, 1460, 1461, -1, -1, 1464, 2794, -1, -1, -1,
+ 1469, -1, -1, -1, -1, -1, -1, -1, 403, 1060,
+ -1, 406, 407, 408, -1, 410, 411, 412, 413, 414,
+ 415, -1, 1690, -1, -1, 420, 421, 1695, 1696, -1,
+ -1, -1, 2830, 2831, 2832, -1, -1, -1, 17, -1,
+ -1, 20, -1, -1, 1095, -1, 25, -1, -1, -1,
+ 2848, 30, -1, -1, -1, 2853, -1, -1, 2856, -1,
+ 1060, -1, -1, -1, -1, -1, 1117, 403, -1, -1,
+ 406, 407, 408, -1, 410, 411, 412, 413, 414, 415,
+ -1, -1, -1, -1, -1, 421, -1, -1, -1, 1462,
+ -1, -1, -1, -1, -1, 1095, 2894, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, -1,
+ -1, -1, -1, 30, -1, -1, -1, 1117, -1, -1,
+ -1, -1, -1, -1, 1175, -1, -1, -1, -1, -1,
+ -1, -1, 2930, -1, -1, -1, -1, -1, -1, 2937,
+ 2938, 1192, 2940, 1612, 1812, -1, -1, 2945, 2946, -1,
+ -1, -1, 2950, 2951, -1, -1, -1, -1, 2956, 2957,
+ 1211, -1, 2960, -1, -1, -1, 777, -1, -1, -1,
+ -1, -1, -1, 152, -1, 1175, -1, 156, -1, -1,
+ -1, -1, 2980, 1234, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1192, -1, -1, -1, -1, 176, 177, -1,
+ -1, 1670, -1, -1, -1, -1, -1, -1, -1, 3007,
+ 1878, 1211, 191, -1, -1, -1, -1, 3015, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1438, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 2148, 385, -1, -1, 388, 389, 390,
- 2887, 392, 393, 394, 395, 396, 397, -1, -1, -1,
- -1, 402, 403, -1, -1, -1, -1, -1, -1, 2015,
- 2016, 2176, 2018, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2031, 2191, 2033, 2472, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2204,
- -1, -1, -1, -1, -1, -1, 2566, 2944, -1, 17,
- 2215, -1, 20, -1, -1, 2952, -1, 25, -1, -1,
- -1, -1, 30, -1, -1, -1, -1, -1, 2074, -1,
+ -1, -1, -1, 1284, 1234, 152, -1, -1, -1, 156,
+ -1, -1, -1, -1, -1, 224, -1, -1, 227, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 176,
+ 177, -1, 241, -1, -1, 244, -1, 878, -1, -1,
+ -1, -1, -1, -1, 191, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1284, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1963, -1, -1, -1, 3097,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3107,
+ 227, -1, -1, -1, -1, -1, -1, 1690, -1, -1,
+ -1, -1, 1695, 1696, 241, -1, -1, -1, -1, 17,
+ -1, -1, -1, -1, 313, -1, -1, 25, -1, 3137,
+ -1, 1810, 30, -1, 3142, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3154, -1, -1, -1,
+ 3158, -1, -1, -1, -1, 3163, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 2978, -1, 2248, -1, -1, -1, -1, -1, 2254,
- -1, -1, -1, -1, -1, 2015, 2016, -1, 2018, -1,
- -1, 1566, -1, -1, -1, 1570, 1571, -1, -1, -1,
- -1, 2031, -1, 2033, -1, -1, -1, 2123, -1, -1,
- -1, -1, 2566, -1, -1, -1, -1, 2015, 2016, -1,
- 2018, -1, -1, 2298, -1, -1, -1, -1, -1, -1,
- -1, -1, 2148, 2031, 3041, 2033, -1, -1, -1, -1,
- -1, -1, -1, 17, 2074, -1, -1, -1, -1, -1,
- -1, 25, -1, -1, 2329, -1, 30, -1, -1, -1,
- 2176, -1, 3069, -1, -1, -1, -1, 145, 2343, -1,
- -1, 149, 2702, -1, -1, 2191, 2074, -1, 1653, -1,
- -1, -1, -1, 2713, -1, -1, -1, -1, 2204, -1,
- -1, 169, 170, 2123, -1, -1, -1, -1, -1, 2215,
- 1675, -1, 2377, -1, 182, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 2148, -1,
- -1, -1, -1, -1, 2754, 2123, -1, -1, -1, -1,
- -1, -1, 2248, -1, -1, -1, -1, 215, 2254, -1,
- 218, -1, -1, -1, -1, -1, 2176, -1, 2702, -1,
- 2148, -1, -1, -1, 232, -1, 234, -1, -1, 2713,
- -1, 2191, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 145, -1, -1, 2204, 149, -1, -1, 2176, -1,
- -1, -1, 2298, -1, -1, 2215, -1, -1, -1, -1,
- -1, -1, -1, 2191, -1, 169, 170, 2472, -1, -1,
- 2754, -1, -1, -1, -1, -1, 2204, 920, 182, -1,
- -1, -1, -1, 2329, -1, -1, -1, 2215, 2248, 297,
- -1, -1, -1, -1, 2254, -1, -1, 2343, -1, -1,
- -1, 1806, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 215, -1, -1, 218, -1, -1, -1, -1, -1,
- 2248, -1, -1, -1, -1, 968, 2254, -1, 232, -1,
- 234, 2377, -1, -1, -1, -1, 2896, -1, 2298, -1,
- -1, 245, -1, -1, -1, -1, -1, -1, -1, -1,
- 17, -1, -1, 20, -1, -1, -1, -1, 25, -1,
- 2920, 2566, -1, 30, -1, -1, -1, -1, -1, 2329,
- 2298, -1, -1, -1, -1, -1, -1, 385, -1, -1,
- 388, 389, 390, 2343, 392, 393, 394, 395, 396, 397,
- -1, -1, -1, 297, -1, 403, -1, -1, -1, -1,
- -1, 2329, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 2896, -1, -1, 2343, -1, 2377, -1, -1,
- -1, -1, -1, -1, -1, -1, 2472, -1, -1, -1,
- -1, -1, -1, -1, 17, -1, 2920, 1080, -1, -1,
- -1, -1, 25, -1, -1, -1, -1, 30, -1, 2377,
+ -1, -1, -1, -1, -1, 3183, -1, -1, -1, 3187,
+ -1, -1, -1, -1, -1, -1, 313, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 17, -1, -1, 3207,
+ 3208, 1462, -1, 3211, 25, -1, -1, -1, -1, 30,
+ 3218, 3219, -1, -1, 403, -1, 1895, 406, 407, 408,
+ -1, 410, 411, 412, 413, 414, 415, -1, -1, 1812,
+ -1, -1, 421, 3241, -1, -1, 3244, -1, -1, 1060,
+ -1, -1, -1, -1, 777, -1, -1, -1, -1, -1,
+ 1929, -1, 1462, -1, 152, -1, -1, -1, 156, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3275, -1, -1,
+ -1, -1, -1, 1952, 1095, -1, 403, -1, 176, 177,
+ 407, 408, -1, 410, 411, 412, 413, 414, 415, -1,
+ -1, -1, -1, 191, 421, 1878, 1117, -1, -1, -1,
+ -1, -1, -1, -1, 1983, -1, -1, 3315, 3316, -1,
+ -1, -1, -1, -1, 3322, -1, -1, 2195, 2196, -1,
+ 2198, -1, -1, -1, -1, -1, 224, 2205, -1, 227,
+ -1, 152, -1, -1, -1, 156, -1, 3345, 3346, -1,
+ 3348, -1, 3350, 241, -1, 878, 244, -1, -1, -1,
+ 2029, -1, 2031, 2032, 1175, 176, 177, -1, 2236, -1,
+ 2238, -1, 2041, -1, -1, 2044, 3374, -1, 2047, 3377,
+ 191, 1192, -1, 3381, 3382, -1, -1, -1, -1, -1,
+ 1963, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1211, -1, -1, 2072, -1, 2074, -1, 3405, -1, 2078,
+ -1, -1, -1, 224, 3412, -1, 227, -1, -1, -1,
+ -1, -1, -1, 1234, -1, 313, -1, -1, -1, -1,
+ 241, -1, -1, 244, 3432, -1, -1, -1, -1, 1690,
+ 2109, 3439, 2310, -1, 1695, 1696, -1, -1, -1, -1,
+ 338, -1, 2121, -1, -1, -1, -1, 3455, -1, -1,
+ 2129, -1, -1, -1, -1, 2333, -1, 2136, -1, -1,
+ -1, -1, 2141, 1284, -1, -1, -1, -1, -1, 2148,
+ 2149, 2150, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1690, -1, -1, -1, -1, 1695, 1696, -1, 2366, -1,
+ 2169, -1, 313, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2382, 403, -1, -1, 406, 407,
+ 408, 3519, 410, 411, 412, 413, 414, 415, 2396, -1,
+ -1, -1, -1, 421, -1, -1, -1, 1060, -1, -1,
+ -1, -1, -1, 2411, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1812, 17, -1, -1, 20, -1, -1, -1, -1,
+ 25, -1, 1095, -1, -1, 30, -1, 2445, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 145, -1,
- -1, 385, 149, -1, 388, 389, 390, -1, 392, 393,
- 394, 395, 396, 397, -1, -1, -1, 2702, -1, 403,
- -1, -1, 169, 170, -1, -1, -1, 3067, 2713, -1,
- 2015, 2016, 2472, 2018, -1, 182, -1, -1, -1, -1,
- 2566, -1, -1, -1, -1, -1, 2031, -1, 2033, 3089,
- -1, -1, -1, 3093, 3094, -1, -1, 17, -1, -1,
- -1, -1, -1, -1, 2472, 25, -1, -1, 215, 2754,
- 30, 218, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 145, -1, -1, 232, 149, 234, -1, 2074,
+ -1, -1, 403, -1, 1117, 406, 407, 408, -1, 410,
+ 411, 412, 413, 414, 415, 3603, -1, -1, -1, 420,
+ 421, -1, 1812, -1, -1, -1, -1, -1, -1, -1,
+ 17, -1, 2195, 2196, -1, 2198, -1, 1878, 25, -1,
+ -1, -1, 2205, 30, -1, 2503, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3067, -1, -1, 169, 170, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 182,
- -1, -1, 3162, -1, -1, 3089, 2566, -1, -1, 3093,
- 3094, -1, -1, -1, -1, -1, -1, -1, 2123, -1,
+ -1, 1462, 1175, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2236, -1, 2238, 2534, -1, -1, 1192,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1878, 2547,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1211, -1,
+ -1, -1, -1, -1, -1, -1, -1, 152, -1, -1,
+ -1, 156, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1234, 1963, 2581, -1, -1, -1, -1, -1, -1,
+ -1, 176, 177, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 191, 2310, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 297, -1, 215, -1, -1, 218, -1, -1, 2566, 17,
- -1, -1, 20, 2148, -1, -1, -1, 25, -1, 232,
- -1, 131, 30, -1, -1, -1, 2702, -1, -1, 1302,
- -1, -1, -1, -1, -1, 145, -1, 2713, -1, 149,
- -1, 2176, -1, -1, -1, -1, -1, -1, 3162, -1,
- -1, -1, -1, -1, -1, -1, 2191, -1, -1, 169,
- 170, 2896, -1, -1, -1, -1, -1, -1, -1, 2204,
- -1, -1, 182, -1, -1, -1, -1, -1, 2754, -1,
- 2215, 1354, -1, -1, 297, 2920, -1, -1, 385, -1,
- -1, 388, 389, 390, -1, 392, 393, 394, 395, 396,
- 397, -1, -1, -1, 1377, 215, 403, -1, 218, 1382,
- -1, -1, 2702, 2248, -1, -1, -1, -1, -1, 2254,
- -1, -1, 232, 2713, 234, -1, -1, -1, -1, 1402,
- 1403, -1, -1, 1406, -1, -1, -1, 145, -1, -1,
- -1, 149, -1, -1, 2702, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2713, -1, -1, -1, -1,
- -1, 169, 170, 2298, 2754, -1, -1, -1, -1, -1,
- 1443, -1, 385, -1, 182, 388, 389, 390, -1, 392,
- 393, 394, 395, 396, 397, -1, -1, 297, -1, -1,
- 403, -1, -1, -1, 2329, -1, 2754, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 215, 2343, -1,
- 218, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 2896, -1, -1, -1, 232, -1, 234, -1, -1, -1,
- -1, -1, 3067, -1, 1507, -1, -1, -1, -1, -1,
- -1, 1514, 2377, 1516, 2920, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3089, -1, -1, -1, 3093, 3094,
+ -1, -1, -1, -1, -1, 152, -1, -1, -1, 156,
+ 2333, 1284, -1, 1963, -1, -1, -1, -1, -1, 224,
+ -1, -1, 227, -1, -1, -1, -1, -1, -1, 176,
+ 177, -1, -1, -1, -1, -1, 241, -1, -1, 244,
+ -1, -1, -1, 2366, 191, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2672, -1, -1, -1, -1, 2382,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 385, -1, -1, 388, 389,
- 390, -1, 392, 393, 394, 395, 396, 397, -1, 297,
- -1, 17, -1, 403, -1, -1, -1, -1, -1, 25,
- -1, -1, -1, -1, 30, -1, 2896, -1, -1, -1,
- -1, -1, -1, 17, -1, -1, -1, -1, -1, -1,
- -1, 25, -1, -1, -1, -1, 30, 3162, -1, -1,
- 2920, -1, -1, -1, -1, -1, -1, 2472, 2896, -1,
- -1, -1, 17, -1, -1, -1, -1, -1, -1, -1,
- 25, -1, -1, -1, -1, 30, -1, -1, -1, -1,
- -1, -1, 2920, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 385, -1, -1,
- 388, 389, 390, -1, 392, 393, 394, 395, 396, 397,
- -1, 3067, -1, -1, -1, 403, -1, -1, -1, -1,
+ -1, -1, -1, 2396, -1, -1, -1, 224, -1, -1,
+ 227, 2500, -1, -1, -1, -1, -1, -1, 2411, -1,
+ 2509, -1, -1, -1, 241, -1, 2515, 244, 2517, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 313, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3089, -1, -1, -1, 3093, 3094, 145,
- -1, -1, -1, 149, -1, -1, -1, -1, -1, -1,
- 25, 2566, -1, -1, -1, 30, -1, -1, -1, -1,
- -1, 145, -1, 169, 170, 149, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 182, -1, -1, -1,
- -1, -1, -1, -1, -1, 169, 170, -1, -1, -1,
- 145, -1, -1, -1, 149, -1, -1, 3067, 182, -1,
- -1, -1, -1, -1, -1, -1, 3162, -1, -1, 215,
- -1, -1, 218, -1, 169, 170, -1, -1, -1, 3089,
- -1, -1, -1, 3093, 3094, -1, 232, 182, 234, 3067,
- -1, 215, -1, -1, 218, -1, -1, 112, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 232, -1,
- 234, 3089, -1, -1, -1, 3093, 3094, -1, -1, -1,
- 215, -1, -1, 218, -1, -1, -1, -1, -1, -1,
- 145, -1, -1, -1, 149, 1828, -1, 232, -1, 234,
- -1, -1, -1, -1, -1, -1, -1, 2702, -1, -1,
- -1, 297, 3162, -1, 169, 170, -1, 1850, 2713, 1852,
- -1, 1854, 1855, 1856, -1, -1, 1859, 182, -1, -1,
- 1863, -1, -1, 297, -1, -1, -1, 1870, -1, -1,
- -1, -1, 1875, -1, 3162, 17, -1, 1880, 20, -1,
- -1, -1, 1885, 25, -1, -1, -1, -1, 30, 2754,
- -1, 1894, 297, 218, -1, 1898, 1899, 1900, 17, -1,
- -1, -1, -1, -1, -1, -1, 25, 232, -1, 1912,
- -1, 30, -1, -1, -1, -1, 1919, 322, 1921, 1922,
- 1923, 1924, 1925, 1926, 1927, 1928, 1929, -1, 1931, 385,
- -1, -1, 388, 389, 390, -1, 392, 393, 394, 395,
- 396, 397, -1, -1, 400, -1, -1, 403, -1, -1,
- -1, 385, -1, -1, 388, 389, 390, -1, 392, 393,
- 394, 395, 396, 397, -1, -1, -1, -1, 402, 403,
- -1, -1, 297, -1, -1, -1, -1, -1, -1, -1,
- 385, -1, -1, 388, 389, 390, -1, 392, 393, 394,
- 395, 396, 397, -1, -1, -1, -1, -1, 403, 2002,
- -1, -1, -1, 145, -1, -1, -1, 149, -1, -1,
+ 2539, 2540, 2445, -1, -1, -1, -1, -1, -1, 1690,
+ -1, -1, -1, -1, 1695, 1696, -1, -1, -1, 2558,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2568,
+ -1, -1, 2571, -1, 2573, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2582, -1, -1, 313, -1, -1, 2588,
+ -1, -1, 2591, -1, -1, -1, 2794, 17, -1, -1,
+ 2503, -1, 2601, -1, -1, 25, -1, -1, -1, 1462,
+ 30, 2610, -1, -1, 2195, 2196, -1, 2198, 403, -1,
+ -1, 406, 407, 408, 2205, 410, 411, 412, 413, 414,
+ 415, 2534, 2830, -1, -1, -1, 421, -1, 17, -1,
+ -1, -1, -1, -1, 2547, -1, 25, -1, -1, -1,
+ -1, 30, -1, -1, -1, 2236, -1, 2238, -1, -1,
+ -1, -1, -1, -1, -1, 2195, 2196, -1, 2198, -1,
+ -1, 1812, 976, -1, -1, 2205, 403, -1, 2581, 406,
+ 407, 408, -1, 410, 411, 412, 413, 414, 415, -1,
+ -1, -1, -1, 420, 421, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2236, -1, 2238, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 17, -1, -1, -1, -1, 145, 169, 170, 25,
- 149, 2896, -1, -1, 30, -1, -1, -1, -1, -1,
- 182, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 169, 170, -1, -1, -1, 2920, -1, -1, -1, -1,
- 385, -1, -1, 182, -1, -1, -1, 392, 393, 394,
- 395, 396, 397, 215, -1, -1, 218, -1, 403, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1031, -1, 2310,
+ -1, -1, 152, -1, -1, -1, 156, 1878, -1, -1,
+ -1, -1, 2940, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2333, 2951, -1, -1, 176, 177, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2672,
+ -1, 191, -1, 152, -1, -1, -1, 156, -1, -1,
+ 2310, -1, -1, -1, -1, 2366, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 176, 177, -1,
+ -1, 2382, -1, 2333, 224, -1, -1, 227, -1, 3007,
+ -1, -1, 191, -1, -1, 2396, -1, 3015, -1, -1,
+ -1, 241, 1963, -1, 244, -1, -1, -1, -1, -1,
+ 2411, -1, 2831, 2832, -1, -1, 2366, 1690, -1, -1,
+ -1, -1, 1695, 1696, -1, 224, -1, -1, 227, -1,
+ -1, -1, 2382, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 241, -1, 2445, 244, 2396, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 232, -1, 234, -1, -1, -1, 215, -1, -1, 218,
+ -1, 2411, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2794, -1, 313, -1, 2894, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 232, -1, 234, -1, -1, 2121, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 17, -1,
- -1, -1, -1, -1, -1, -1, 25, -1, -1, -1,
- -1, 30, -1, -1, -1, -1, -1, -1, 2151, 145,
- -1, -1, -1, 149, -1, 297, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2445, -1, -1, -1, -1,
+ -1, -1, 2503, -1, -1, -1, -1, 2830, -1, -1,
+ -1, -1, -1, -1, 313, -1, -1, -1, 2937, 2938,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 169, 170, -1, -1, -1, 297, -1,
- -1, -1, -1, -1, -1, -1, 182, -1, -1, -1,
+ -1, 2950, -1, 2534, -1, -1, -1, 2956, 2957, 1812,
+ -1, 2960, -1, -1, -1, 3163, 2547, -1, -1, -1,
+ -1, -1, -1, 2503, -1, -1, -1, -1, -1, -1,
+ -1, 2980, -1, 403, -1, -1, 406, 407, 408, 3187,
+ 410, 411, 412, 413, 414, 415, -1, -1, 418, -1,
+ 2581, 421, -1, -1, 2534, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1318, -1, -1, 2547, -1, -1,
+ -1, -1, -1, -1, 403, 1878, -1, 406, 407, 408,
+ -1, 410, 411, 412, 413, 414, 415, 2940, -1, -1,
+ -1, 420, 421, 3241, -1, -1, -1, -1, 2951, -1,
+ -1, 2581, -1, -1, 2195, 2196, -1, 2198, -1, -1,
+ -1, -1, -1, -1, 2205, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1377, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3067, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 215,
- -1, -1, 218, -1, 3089, -1, -1, -1, 3093, 3094,
- -1, -1, -1, -1, -1, -1, 232, -1, 234, -1,
- -1, -1, 2245, 385, -1, -1, 388, 389, 390, -1,
- 392, 393, 394, 395, 396, 397, 145, -1, -1, 2262,
- 149, 403, -1, -1, -1, -1, 385, -1, -1, 388,
- 389, 390, -1, 392, 393, 394, 395, 396, 397, -1,
- 169, 170, -1, 402, 403, -1, -1, -1, -1, -1,
- -1, 2294, -1, 182, -1, -1, -1, 3162, -1, -1,
- -1, 297, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 2315, 2316, 2317, -1, -1, 2320, 2321, 2322,
- 2323, 2324, 2325, 2326, 2327, 2328, 215, 2330, 2331, 218,
+ -1, 2672, -1, -1, -1, 2236, 1400, 2238, 3097, -1,
+ -1, 1405, -1, -1, 3007, -1, -1, -1, -1, -1,
+ 1963, -1, 3015, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1425, 1426, -1, 3322, 1429, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 232, -1, 234, -1, -1, -1, -1,
- -1, -1, 2355, -1, -1, 2358, -1, 2360, 17, -1,
- -1, -1, 2365, 2366, -1, -1, 25, -1, -1, -1,
- -1, 30, -1, -1, -1, -1, 2379, 2380, 2381, -1,
- 2383, -1, -1, 2386, -1, -1, -1, -1, -1, 385,
- -1, -1, 388, 389, 390, -1, 392, 393, 394, 395,
- 396, 397, 17, -1, -1, -1, 402, 403, 297, -1,
+ -1, -1, 2672, -1, -1, -1, -1, -1, 3346, -1,
+ -1, -1, -1, -1, -1, 3154, -1, -1, -1, -1,
+ -1, -1, -1, 1467, -1, -1, -1, -1, -1, 2310,
+ -1, -1, -1, -1, 17, -1, -1, -1, -1, 3377,
+ -1, 3, 25, 3381, 3382, -1, -1, 30, -1, -1,
+ -1, 13, 2333, 15, 16, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1510, 29, -1, -1,
+ -1, -1, 3211, 2794, -1, -1, -1, -1, -1, -1,
+ 3219, -1, -1, -1, -1, 2366, -1, 49, -1, 51,
+ 52, -1, -1, -1, 56, 57, -1, -1, -1, -1,
+ -1, 2382, -1, -1, -1, 67, -1, 69, -1, 2830,
+ -1, -1, -1, -1, -1, 2396, -1, -1, -1, -1,
+ 3163, -1, -1, -1, 2794, -1, 88, -1, -1, 91,
+ 2411, -1, -1, -1, -1, 97, -1, -1, -1, -1,
+ -1, 103, -1, -1, 3187, -1, -1, 109, -1, -1,
+ -1, -1, -1, 115, -1, -1, -1, -1, -1, 121,
+ 2830, 123, -1, -1, 2445, -1, 128, -1, -1, 152,
+ -1, -1, -1, 156, -1, -1, -1, 3316, 1622, 141,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1632, -1,
+ -1, 1635, -1, 176, 177, -1, -1, -1, 3241, -1,
+ -1, -1, 2195, 2196, -1, 2198, 168, -1, 191, 3348,
+ -1, -1, 2205, -1, -1, -1, -1, -1, -1, 2940,
+ -1, -1, 2503, -1, -1, -1, -1, -1, -1, -1,
+ 2951, 193, 194, -1, -1, 3374, -1, 199, -1, -1,
+ -1, 224, -1, 2236, 227, 2238, 208, -1, -1, -1,
+ -1, -1, -1, 2534, -1, -1, -1, -1, 241, -1,
+ -1, 244, -1, -1, 226, -1, 2547, -1, -1, -1,
+ 2940, -1, -1, -1, -1, -1, -1, -1, -1, 3322,
+ -1, 2951, -1, -1, -1, -1, 3007, -1, -1, -1,
+ -1, -1, -1, -1, 3015, -1, -1, -1, -1, -1,
+ 2581, 263, -1, 3346, -1, -1, -1, -1, -1, -1,
+ -1, -1, 274, -1, -1, -1, 278, 2310, 280, -1,
+ -1, -1, -1, 285, -1, -1, -1, -1, 290, -1,
+ 313, 293, -1, -1, 3377, 297, -1, 3007, 3381, 3382,
+ 2333, 303, -1, -1, -1, 3015, -1, 309, -1, -1,
+ 312, -1, 17, -1, -1, -1, -1, 319, -1, -1,
25, -1, -1, -1, -1, 30, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 2430, -1, 17,
- -1, -1, -1, -1, -1, -1, -1, 25, -1, -1,
- -1, -1, 30, -1, -1, -1, -1, -1, -1, -1,
+ 332, -1, -1, 2366, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 348, -1, -1, 2382,
+ -1, 2672, -1, 17, -1, 357, -1, 359, -1, -1,
+ 362, 25, -1, 2396, 366, -1, 30, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 378, -1, 2411, -1,
+ 403, -1, -1, 406, 407, 408, -1, 410, 411, 412,
+ 413, 414, 415, -1, -1, -1, -1, 420, 421, -1,
+ -1, -1, 3163, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2445, -1, -1, -1, 17, 419, -1, -1,
+ -1, -1, -1, -1, 25, -1, 3187, -1, -1, 30,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 25, -1, -1, -1, -1, 30, -1, 152, -1, -1,
+ -1, 156, -1, 3163, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2503, 176, 177, 2794, -1, -1, -1, 3187, -1, -1,
+ 3241, -1, -1, -1, -1, -1, 191, -1, 152, -1,
+ -1, -1, 156, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2534, 1986, -1, -1, -1, -1, -1, -1, 2830,
+ -1, -1, 176, 177, 2547, -1, -1, -1, -1, 224,
+ -1, -1, 227, -1, 2008, -1, 2010, 191, 2012, 2013,
+ 2014, 3241, 117, 2017, -1, -1, 241, 2021, -1, 244,
+ -1, -1, -1, -1, 2028, -1, -1, -1, 2581, 2033,
+ -1, 152, -1, -1, 2038, 156, -1, -1, -1, 2043,
+ 224, 3322, -1, 227, -1, -1, -1, 152, 2052, -1,
+ -1, 156, 2056, 2057, 2058, 176, 177, 241, -1, -1,
+ 244, -1, -1, -1, -1, 3346, 2070, -1, -1, -1,
+ 191, 176, 177, 2077, -1, 2079, 2080, 2081, 2082, 2083,
+ 2084, 2085, 2086, 2087, -1, 2089, 191, -1, 313, -1,
+ -1, -1, 3322, -1, -1, -1, 3377, -1, -1, 2940,
+ 3381, 3382, -1, 224, -1, -1, 227, -1, -1, -1,
+ 2951, -1, -1, 25, -1, -1, 3346, -1, 30, 2672,
+ 241, -1, 227, 244, -1, -1, -1, -1, -1, 313,
+ -1, -1, -1, -1, -1, -1, 241, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3377, -1, -1,
+ -1, 3381, 3382, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3007, -1, -1, -1,
+ -1, -1, -1, 2177, 3015, -1, -1, -1, 403, -1,
+ -1, 406, 407, 408, -1, 410, 411, 412, 413, 414,
+ 415, -1, 313, -1, -1, 420, 421, -1, -1, -1,
+ -1, 17, -1, -1, -1, 117, -1, -1, 313, 25,
+ -1, -1, -1, -1, 30, -1, -1, -1, -1, 403,
+ -1, -1, 406, 407, 408, -1, 410, 411, 412, 413,
+ 414, 415, -1, -1, -1, -1, 420, 421, -1, -1,
+ 152, 2794, -1, -1, 156, -1, -1, -1, -1, -1,
+ 17, -1, -1, -1, -1, -1, -1, -1, 25, -1,
+ -1, -1, -1, 30, 176, 177, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2830, -1, 191,
+ -1, -1, 403, -1, -1, 406, 407, 408, -1, 410,
+ 411, 412, 413, 414, 415, -1, -1, -1, 403, 420,
+ 421, -1, -1, -1, -1, 410, 411, 412, 413, 414,
+ 415, -1, -1, -1, -1, 227, 421, -1, -1, -1,
+ -1, -1, 3163, -1, -1, -1, -1, -1, -1, 241,
+ -1, -1, 2336, -1, -1, -1, 152, -1, -1, -1,
+ 156, -1, -1, -1, -1, -1, 3187, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 145, -1, -1, -1,
- 149, -1, 25, -1, -1, -1, 385, 30, -1, 388,
- 389, 390, -1, 392, 393, 394, 395, 396, 397, -1,
- 169, 170, -1, 402, 403, -1, -1, -1, -1, -1,
- -1, -1, -1, 182, -1, -1, -1, -1, -1, -1,
- 145, -1, -1, -1, 149, -1, -1, -1, -1, -1,
+ 176, 177, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 152, -1, 2940, -1, 156,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2951, -1,
+ 3241, 313, -1, -1, -1, -1, -1, -1, 224, 176,
+ 177, 227, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 191, 241, -1, -1, 244, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2442, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 2555, -1, 169, 170, 215, 145, -1, 218,
- -1, 149, -1, -1, -1, -1, -1, 182, -1, -1,
- -1, -1, -1, 232, -1, 234, -1, -1, -1, 112,
- -1, 169, 170, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 182, -1, -1, -1, -1, -1,
- 215, -1, -1, 218, -1, -1, -1, -1, -1, -1,
- -1, -1, 145, -1, -1, -1, 149, 232, -1, 234,
- -1, -1, -1, -1, -1, -1, -1, 215, -1, -1,
- 218, -1, -1, -1, -1, -1, 169, 170, 297, -1,
- -1, -1, -1, -1, 232, -1, 234, -1, -1, 182,
- -1, -1, -1, -1, 2657, -1, -1, 2660, 2661, 2662,
- -1, 2664, -1, -1, -1, -1, 2669, 2670, 2671, 2672,
- 2673, 2674, 2675, 2676, 2677, 25, 2679, 2680, 2681, -1,
- 30, -1, 297, -1, -1, 218, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 232,
- -1, -1, -1, 2706, 2707, 2708, 2709, -1, 2711, 297,
- -1, -1, 2715, 2716, 2717, -1, -1, 2720, -1, -1,
- 2723, -1, -1, -1, -1, -1, 385, 2730, -1, 388,
- 389, 390, -1, 392, 393, 394, 395, 396, 397, -1,
- -1, -1, -1, 402, 403, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3007, -1, -1, 224, -1, 2463,
+ 227, -1, 3015, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 241, -1, -1, 244, -1, -1,
+ -1, 3322, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 403, -1, -1, -1, 2499, -1, 313, 410, 411,
+ 412, 413, 414, 415, -1, 3346, -1, -1, -1, 421,
+ -1, -1, -1, -1, -1, -1, 2520, 2521, 2522, -1,
+ -1, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533,
+ 17, 2535, 2536, -1, -1, -1, 3377, -1, 25, -1,
+ 3381, 3382, -1, 30, -1, -1, 313, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2559, -1, -1, 2562, -1,
+ 2564, -1, -1, -1, -1, 2569, 2570, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 17, -1, -1, 2583,
+ 2584, 2585, -1, 2587, 25, -1, 2590, 403, -1, 30,
+ 406, 407, 408, -1, 410, 411, 412, 413, 414, 415,
+ -1, 2605, -1, -1, 420, 421, -1, -1, -1, -1,
+ 3163, 2615, -1, -1, 25, -1, -1, -1, -1, 30,
+ -1, -1, -1, -1, 2628, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3187, -1, 403, 2641, -1, 406,
+ 407, 408, -1, 410, 411, 412, 413, 414, 415, -1,
+ -1, -1, -1, 420, 421, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 152, -1, -1, -1, 156,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 112, -1, 297, -1, -1, -1, -1, -1,
- 385, -1, -1, 388, 389, 390, -1, 392, 393, 394,
- 395, 396, 397, -1, -1, -1, -1, 402, 403, -1,
- -1, -1, -1, -1, -1, 145, -1, 385, -1, 149,
- 388, 389, 390, -1, 392, 393, 394, 395, 396, 397,
- -1, -1, -1, -1, 402, 403, -1, -1, -1, 169,
- 170, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 182, 2836, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3241, 176,
+ 177, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 191, -1, 117, -1, -1, -1,
+ -1, 152, -1, -1, -1, 156, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 385, -1, -1, -1, -1, -1, -1, 392,
- 393, 394, 395, 396, 397, -1, -1, -1, 218, -1,
- 403, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 232, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 176, 177, 224, -1, -1,
+ 227, 152, -1, -1, -1, 156, -1, -1, -1, -1,
+ 191, -1, -1, -1, 241, -1, -1, 244, -1, -1,
+ -1, -1, -1, 10, -1, 176, 177, -1, -1, 3322,
+ -1, -1, -1, -1, -1, 22, -1, 2781, -1, -1,
+ 191, -1, -1, 224, -1, -1, 227, -1, -1, -1,
+ -1, -1, -1, 3346, -1, 42, -1, -1, -1, -1,
+ 241, -1, -1, 244, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 62, 227, -1, -1, 66,
+ -1, -1, -1, -1, 3377, -1, 313, -1, 3381, 3382,
+ 241, -1, -1, -1, -1, -1, -1, -1, -1, 86,
+ -1, -1, -1, -1, -1, 92, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2912,
- -1, -1, -1, 2916, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 2928, -1, 2930, -1, -1,
- -1, -1, 2935, 2936, 2937, -1, -1, 2940, 2941, 2942,
- 2943, -1, 2945, -1, -1, -1, -1, 297, -1, -1,
+ 107, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 313, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 134, -1, -1,
+ -1, 2895, 139, 140, 2898, 2899, 2900, 144, 2902, -1,
+ -1, -1, 313, 2907, 2908, 2909, 2910, 2911, 2912, 2913,
+ 2914, 2915, 159, 2917, 2918, 2919, 403, -1, -1, 406,
+ 407, 408, -1, 410, 411, 412, 413, 414, 415, -1,
+ -1, -1, -1, 420, 421, 182, -1, -1, -1, -1,
+ 2944, 2945, 2946, 2947, -1, 2949, -1, -1, 195, 2953,
+ 2954, 2955, -1, -1, 2958, -1, -1, 2961, -1, -1,
+ -1, -1, 403, -1, 2968, 406, 407, 408, -1, 410,
+ 411, 412, 413, 414, 415, -1, -1, -1, -1, -1,
+ 421, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 403, -1, 241, -1, -1, 244, -1, 410,
+ 411, 412, 413, 414, 415, -1, -1, -1, -1, -1,
+ 421, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 268, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 292, -1, -1, -1, 296,
+ -1, 298, -1, -1, -1, -1, -1, -1, -1, 306,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 333, 334, -1, 336,
+ 337, -1, -1, -1, -1, 3099, -1, -1, 345, -1,
+ -1, -1, 349, 350, -1, -1, -1, -1, 355, -1,
+ -1, -1, -1, 360, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3139, 3140, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 3008, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 385, -1, -1, -1, -1,
- -1, -1, 392, 393, 394, 395, 396, 397, 3051, -1,
- -1, -1, -1, 403, -1, -1, -1, -1, -1, -1,
- -1, -1, 3065, 3066, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3079, 3080, 3081, -1,
- 3083, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3096, -1, -1, 3, 4, 5, 6,
- 7, 8, 9, 10, -1, 12, 13, 14, -1, -1,
- -1, -1, -1, -1, -1, 22, 23, -1, 25, -1,
- 27, 28, 29, -1, 31, -1, 33, 34, -1, 36,
- 37, 38, 39, 40, -1, 3138, 43, 44, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, 3150, 55, 56,
- 57, 58, 59, 60, -1, 62, 63, 64, 65, 66,
- -1, 68, 69, 70, -1, 72, 73, -1, -1, -1,
- -1, -1, 79, 80, 81, 82, 83, 84, 85, 86,
- -1, 88, -1, 90, 91, 92, 93, 94, -1, 96,
- 97, 98, -1, -1, 101, 102, 103, 104, 105, -1,
- 107, 108, 109, -1, 111, 112, -1, 114, 115, 116,
- 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
- 127, -1, 129, -1, -1, -1, 133, 134, -1, 136,
- 137, -1, 139, -1, 141, 142, 143, 144, -1, 146,
- 147, 148, -1, 150, 151, 152, 153, 154, 155, -1,
- -1, 158, 159, 160, 161, 162, 163, 164, -1, 166,
- -1, 168, -1, -1, 171, -1, 173, 174, 175, 176,
- 177, -1, 179, -1, 181, -1, -1, 184, 185, 186,
- -1, -1, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, -1, 204, -1, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, -1, 216,
- 217, -1, 219, -1, 221, 222, 223, 224, 225, -1,
- -1, 228, -1, -1, -1, 232, 233, -1, -1, 236,
- -1, -1, 239, 240, 241, 242, 243, 244, -1, 246,
- 247, 248, 249, 250, 251, -1, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, -1, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, -1,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, -1, 289, 290, 291, -1, 293, 294, 295, 296,
- -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
- 317, 318, 319, 320, 321, -1, 323, 324, -1, -1,
- 327, 328, 329, 330, -1, 332, 333, 334, 335, 336,
- -1, -1, 339, 340, 341, 342, -1, 344, 345, 346,
- 347, 348, 349, 350, 351, -1, 353, 354, 355, -1,
- -1, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, -1, -1,
- -1, -1, -1, 380, -1, -1, -1, -1, -1, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, -1, 399, -1, -1, 19, -1, 404, 22, 23,
- -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, 99, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 125, -1, 127, -1, 129, 130, -1, 132, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, 145, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, 157, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, -1, 179, 180, 181, 182, -1,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, -1, -1, 228, 229, -1, -1, 232, 233,
- -1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, -1, 338, 339, 340, 341, 342, 343,
- -1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 381, 382, 383,
- 384, 385, 386, 387, -1, -1, -1, -1, 392, 393,
- 394, -1, -1, -1, -1, -1, -1, 401, 402, 3,
- 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
- 14, -1, -1, -1, -1, 19, -1, -1, 22, 23,
- -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 125, -1, 127, -1, 129, 130, -1, 132, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, 145, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, 157, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, -1, 179, 180, 181, 182, -1,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, -1, -1, 228, 229, -1, -1, 232, 233,
- -1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, -1, 338, 339, 340, 341, 342, 343,
- -1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 381, 382, 383,
- 384, 385, 386, 387, -1, -1, -1, -1, 392, 393,
- -1, -1, -1, -1, -1, -1, -1, 401, 402, 3,
- 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
- 14, -1, -1, -1, -1, -1, 20, -1, 22, 23,
- -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
- 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, 71, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, 132, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, 157, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, 172, 173,
- 174, 175, 176, 177, -1, 179, 180, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
+ -1, -1, -1, -1, -1, 3179, -1, -1, -1, 3183,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3195, -1, 3197, -1, -1, -1, -1, 3202, 3203,
+ 3204, -1, -1, 3207, 3208, 3209, 3210, -1, 3212, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3226, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3281, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3330, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3344, 3345, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3358, 3359, 3360, -1, 3362, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, 22, 23, 402, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, -1, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, 71, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, -1, 118, 119, -1, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, 130, -1, 132, 133, 134, -1,
- 136, -1, -1, 139, -1, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- -1, 157, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, -1, -1, 180, 181, 182, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
- 216, 217, 218, 219, -1, -1, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- 236, 237, 238, -1, 240, 241, 242, 243, 244, -1,
- 246, -1, -1, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, -1, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, -1, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, -1, 329, -1, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, -1, -1,
- -1, -1, -1, -1, -1, -1, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
- -1, 19, -1, -1, 22, 23, 402, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, -1, 127,
- -1, 129, 130, 131, 132, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, 145, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, 157,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, -1, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, -1, -1,
- 228, 229, -1, -1, 232, 233, -1, -1, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, 326, 327,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, -1,
- 338, 339, 340, 341, 342, 343, -1, 345, 346, 347,
- 348, 349, 350, 351, 352, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 381, 382, 383, 384, 385, 386, 387,
- -1, -1, -1, -1, 392, 393, -1, -1, -1, -1,
- -1, -1, -1, 401, 3, 4, 5, 6, 7, 8,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, 3430, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, 3445, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, 3462, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, -1, -1, -1, -1, -1, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ -1, 417, -1, -1, 19, -1, 422, 22, 23, -1,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ -1, 56, 57, 58, 59, 60, 61, -1, 63, 64,
+ 65, 66, 67, 68, -1, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, -1, 93, -1,
+ 95, 96, 97, 98, 99, -1, 101, 102, 103, 104,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ -1, 116, 117, -1, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, -1, 129, 130, 131, -1, 133, -1,
+ 135, 136, -1, 138, 139, 140, -1, 142, 143, -1,
+ 145, -1, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, -1, 157, 158, 159, 160, 161, 162, -1, 164,
+ 165, 166, 167, 168, 169, 170, 171, -1, 173, -1,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ -1, -1, 237, 238, -1, -1, 241, 242, 243, -1,
+ -1, 246, 247, 248, 249, 250, 251, 252, 253, 254,
+ 255, 256, -1, 258, 259, 260, 261, 262, 263, 264,
+ -1, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, -1, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, -1, 330, 331, -1, 333, 334,
+ 335, 336, 337, -1, 339, 340, -1, -1, 343, 344,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, -1,
+ 355, 356, 357, 358, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, -1,
+ -1, 376, -1, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, -1, -1, 398, 399, 400, 401, 402, 403, 404,
+ 405, -1, -1, -1, -1, 410, 411, 412, -1, -1,
+ -1, -1, -1, -1, 419, 420, 3, 4, 5, 6,
+ 7, 8, 9, 10, -1, 12, 13, 14, -1, -1,
+ -1, -1, 19, -1, -1, 22, 23, -1, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, -1, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, -1, 56,
+ 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
+ 67, 68, -1, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, -1, 93, -1, 95, 96,
+ 97, 98, 99, -1, 101, 102, 103, -1, -1, 106,
+ 107, 108, 109, 110, -1, 112, 113, 114, -1, 116,
+ 117, -1, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, -1, 129, 130, 131, -1, 133, -1, 135, 136,
+ -1, 138, 139, 140, -1, 142, 143, -1, 145, -1,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
+ 157, 158, 159, 160, 161, 162, -1, 164, 165, 166,
+ 167, 168, 169, 170, 171, -1, 173, -1, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ -1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, -1, -1,
+ 237, 238, -1, -1, 241, 242, 243, -1, -1, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ -1, 258, 259, 260, 261, 262, 263, 264, -1, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, -1,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, -1, 330, 331, -1, 333, 334, 335, 336,
+ 337, -1, 339, 340, -1, -1, 343, 344, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, -1, 355, 356,
+ 357, 358, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, -1, 369, 370, 371, 372, 373, -1, -1, 376,
+ -1, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
+ -1, 398, 399, 400, 401, 402, 403, 404, 405, -1,
+ -1, -1, -1, 410, 411, -1, -1, -1, -1, -1,
+ -1, -1, 419, 420, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, 14, -1, -1, -1, -1,
- 19, -1, -1, 22, 23, -1, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, 60, -1, 62, 63, 64, 65, 66, -1, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, -1, 88,
- -1, 90, 91, 92, 93, 94, -1, 96, 97, 98,
- -1, -1, 101, 102, 103, 104, 105, -1, 107, 108,
- 109, -1, 111, 112, -1, 114, 115, 116, 117, 118,
+ -1, 20, -1, 22, 23, -1, 25, -1, 27, 28,
+ 29, -1, 31, -1, 33, 34, -1, 36, 37, 38,
+ 39, 40, -1, -1, 43, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, -1, 56, 57, 58,
+ 59, 60, 61, -1, 63, 64, 65, 66, 67, 68,
+ -1, 70, 71, 72, 73, 74, 75, -1, -1, -1,
+ -1, -1, -1, -1, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, -1, 93, -1, 95, 96, 97, 98,
+ 99, -1, 101, 102, 103, -1, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, 116, 117, -1,
119, 120, 121, 122, 123, 124, 125, -1, 127, -1,
- 129, 130, -1, 132, 133, 134, -1, 136, 137, -1,
- 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
- -1, 150, 151, 152, 153, 154, 155, -1, 157, 158,
- 159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, -1,
- 179, 180, 181, 182, -1, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
+ 129, 130, 131, -1, 133, -1, 135, -1, -1, 138,
+ 139, 140, -1, 142, 143, -1, 145, -1, 147, 148,
+ 149, 150, 151, -1, 153, 154, 155, -1, 157, 158,
+ 159, 160, 161, 162, -1, 164, 165, 166, 167, 168,
+ 169, 170, 171, -1, 173, -1, 175, -1, -1, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
+ 189, 190, -1, -1, 193, 194, 195, -1, -1, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, -1, -1, 228,
- 229, -1, -1, 232, 233, -1, -1, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
- 249, 250, 251, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, -1, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
+ 209, 210, 211, 212, 213, -1, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, -1, 225, 226, -1, 228,
+ -1, 230, 231, 232, 233, 234, -1, -1, 237, -1,
+ -1, -1, 241, 242, 243, -1, -1, 246, -1, -1,
+ -1, 250, 251, 252, 253, 254, 255, 256, -1, 258,
+ 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, -1, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
+ 299, 300, 301, 302, -1, 304, 305, 306, 307, -1,
309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
- 319, 320, 321, -1, 323, 324, -1, -1, 327, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, -1, 338,
- 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, -1, -1, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, -1, -1, -1, -1,
- -1, 380, 381, 382, 383, 384, 385, 386, 387, -1,
- -1, -1, -1, 392, 393, 394, -1, -1, -1, -1,
- -1, -1, 401, 3, 4, 5, 6, 7, 8, 9,
- 10, -1, 12, 13, 14, -1, -1, -1, -1, 19,
- -1, -1, 22, 23, -1, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
- 130, -1, 132, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, 145, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, 157, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, -1, 179,
- 180, 181, 182, -1, 184, 185, 186, 187, 188, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, -1, -1, 228, 229,
- -1, -1, 232, 233, -1, -1, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, -1, 338, 339,
- 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 381, 382, 383, 384, 385, 386, 387, -1, -1,
- -1, -1, 392, 393, -1, -1, -1, -1, -1, -1,
- -1, 401, 3, 4, 5, 6, 7, 8, 9, 10,
+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ -1, 330, 331, -1, 333, 334, 335, 336, 337, -1,
+ 339, 340, -1, -1, 343, 344, 345, 346, -1, 348,
+ 349, 350, 351, 352, 353, -1, -1, 356, 357, 358,
+ 359, -1, -1, 362, 363, 364, 365, 366, 367, -1,
+ 369, -1, 371, 372, 373, -1, -1, 376, -1, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, -1, -1, 398,
+ 3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
+ 13, 14, -1, -1, -1, -1, -1, -1, -1, 22,
+ 23, 420, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, -1, 36, 37, 38, 39, 40, -1, -1,
+ 43, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ -1, -1, -1, 56, 57, 58, 59, 60, 61, -1,
+ 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
+ 73, 74, 75, -1, -1, -1, 79, -1, -1, -1,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, -1,
+ 93, -1, 95, 96, 97, 98, 99, -1, 101, 102,
+ 103, -1, -1, 106, 107, 108, 109, 110, -1, 112,
+ 113, 114, -1, 116, 117, -1, 119, 120, 121, -1,
+ 123, 124, -1, -1, 127, -1, 129, 130, 131, -1,
+ 133, -1, 135, 136, -1, 138, 139, 140, -1, 142,
+ -1, -1, 145, -1, 147, 148, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ -1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
+ 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, -1, -1, 189, 190, 191, -1,
+ 193, 194, 195, -1, -1, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, -1, 215, 216, 217, 218, 219, 220, 221, -1,
+ 223, -1, 225, 226, 227, 228, -1, -1, 231, 232,
+ 233, 234, -1, -1, 237, -1, -1, -1, 241, 242,
+ 243, -1, -1, 246, 247, 248, 249, -1, 251, 252,
+ 253, 254, 255, 256, -1, 258, -1, 260, -1, 262,
+ 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, -1, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
+ 293, -1, 295, 296, 297, 298, 299, 300, 301, 302,
+ -1, 304, 305, 306, 307, -1, 309, 310, 311, 312,
+ 313, 314, 315, -1, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 326, -1, 328, -1, 330, 331, -1,
+ 333, 334, 335, 336, 337, -1, 339, 340, -1, -1,
+ 343, -1, 345, -1, -1, 348, 349, 350, 351, 352,
+ 353, -1, -1, 356, 357, 358, 359, -1, -1, 362,
+ 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
+ 373, -1, -1, 376, -1, -1, 379, 380, 381, 382,
+ 383, -1, -1, -1, -1, -1, -1, -1, -1, 392,
+ 393, 394, -1, -1, -1, 398, 3, 4, 5, 6,
+ 7, 8, 9, 10, -1, 12, 13, 14, -1, -1,
+ -1, -1, -1, -1, -1, 22, 23, 420, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, -1, 36,
+ 37, 38, 39, 40, -1, -1, 43, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, -1, -1, -1, 56,
+ 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
+ 67, 68, -1, 70, 71, 72, 73, 74, 75, -1,
+ -1, -1, 79, -1, -1, -1, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, -1, 93, -1, 95, 96,
+ 97, 98, 99, -1, 101, 102, 103, -1, -1, 106,
+ 107, 108, 109, 110, -1, 112, 113, 114, -1, 116,
+ 117, -1, 119, 120, 121, -1, 123, 124, -1, -1,
+ 127, -1, 129, 130, 131, -1, 133, -1, 135, 136,
+ -1, 138, 139, 140, -1, 142, -1, -1, 145, -1,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, -1, 164, 165, 166,
+ 167, 168, 169, 170, 171, -1, 173, -1, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ -1, -1, 189, 190, 191, -1, 193, 194, 195, -1,
+ -1, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, -1, 215, 216,
+ 217, 218, 219, 220, 221, -1, 223, -1, 225, 226,
+ 227, 228, -1, -1, 231, 232, 233, 234, -1, -1,
+ 237, -1, -1, -1, 241, 242, 243, -1, -1, 246,
+ 247, 248, 249, -1, 251, 252, 253, 254, 255, 256,
+ -1, 258, -1, 260, -1, 262, 263, 264, -1, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, -1, 289, 290, 291, 292, 293, -1, 295, 296,
+ 297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
+ 307, -1, 309, 310, 311, 312, 313, 314, 315, -1,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ -1, 328, -1, 330, 331, -1, 333, 334, 335, 336,
+ 337, -1, 339, 340, -1, -1, 343, -1, 345, -1,
+ -1, 348, 349, 350, 351, 352, 353, -1, -1, 356,
+ 357, 358, 359, -1, -1, 362, 363, 364, 365, -1,
+ 367, 368, 369, 370, 371, 372, 373, -1, -1, 376,
+ -1, -1, 379, 380, 381, 382, 383, -1, -1, -1,
+ -1, -1, -1, -1, -1, 392, 393, 394, -1, -1,
+ -1, 398, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, 14, -1, -1, -1, -1, 19, -1,
- -1, 22, 23, -1, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, 60,
- -1, 62, 63, 64, 65, 66, -1, 68, 69, 70,
+ -1, 22, 23, 420, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, -1, 56, 57, 58, 59, 60,
+ 61, -1, 63, 64, 65, 66, 67, 68, -1, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, -1, 88, -1, 90,
- 91, 92, 93, 94, -1, 96, 97, 98, -1, -1,
- 101, 102, 103, 104, 105, -1, 107, 108, 109, -1,
- 111, 112, -1, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, -1, 127, -1, 129, 130,
- -1, 132, 133, 134, -1, 136, 137, -1, 139, -1,
- 141, 142, 143, 144, 145, 146, 147, 148, -1, 150,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, -1, 93, -1, 95, 96, 97, 98, 99, -1,
+ 101, 102, 103, -1, -1, 106, 107, 108, 109, 110,
+ -1, 112, 113, 114, -1, 116, 117, -1, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
+ 131, -1, 133, -1, 135, 136, 137, 138, 139, 140,
+ -1, 142, 143, -1, 145, -1, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, 158, 159, 160,
- 161, 162, 163, 164, -1, 166, -1, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, -1, 179, 180,
- 181, 182, -1, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 161, 162, -1, 164, 165, 166, 167, 168, 169, 170,
+ 171, -1, 173, -1, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, -1, -1, 228, 229, -1,
- -1, 232, 233, -1, -1, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
- 251, -1, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, -1, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
- 321, -1, 323, 324, -1, -1, 327, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, -1, 338, 339, 340,
- 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, -1, -1, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, -1, -1, -1, -1, -1, 380,
- 381, 382, 383, 384, 385, 386, 387, -1, -1, -1,
- -1, 392, 393, -1, -1, -1, -1, -1, -1, -1,
- 401, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, -1, -1, -1, -1, 19, -1, -1,
- 22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, -1, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, 121,
- 122, 123, 124, 125, -1, 127, -1, 129, 130, -1,
- 132, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, 145, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, -1, 179, 180, 181,
- 182, -1, 184, 185, 186, 187, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, -1, -1, 228, 229, -1, -1,
- 232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, 331,
- 332, 333, 334, 335, 336, -1, 338, 339, 340, 341,
- 342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 381,
- 382, 383, 384, 385, 386, 387, -1, -1, -1, -1,
- 392, 393, -1, -1, -1, -1, -1, -1, -1, 401,
- 3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
- 13, 14, -1, -1, -1, -1, 19, -1, -1, 22,
- 23, -1, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, 60, -1, 62,
- 63, 64, 65, 66, -1, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, -1, 88, -1, 90, 91, 92,
- 93, 94, -1, 96, 97, 98, -1, -1, 101, 102,
- 103, 104, 105, -1, 107, 108, 109, -1, 111, 112,
- -1, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, -1, 127, -1, 129, 130, -1, 132,
- 133, 134, -1, 136, 137, -1, 139, -1, 141, 142,
- 143, 144, 145, 146, 147, 148, -1, 150, 151, 152,
- 153, 154, 155, -1, 157, 158, 159, 160, 161, 162,
- 163, 164, -1, 166, -1, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, -1, 179, 180, 181, 182,
- -1, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, -1, -1, 228, 229, -1, -1, 232,
- 233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, -1, 246, 247, 248, 249, 250, 251, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, -1,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- -1, 314, 315, -1, 317, 318, 319, 320, 321, -1,
- 323, 324, -1, -1, 327, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, -1, 338, 339, 340, 341, 342,
- 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, -1, -1, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, -1, -1, -1, -1, -1, 380, 381, 382,
- 383, 384, 385, 386, 387, -1, -1, -1, -1, 392,
- 393, -1, -1, -1, -1, -1, 399, -1, 401, 3,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, -1, -1, 237, 238, -1, -1,
+ 241, 242, 243, -1, -1, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, -1, 258, 259, 260,
+ 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, -1, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, -1, 317, 318, 319, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
+ 331, -1, 333, 334, 335, 336, 337, -1, 339, 340,
+ -1, 342, 343, 344, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, -1, 355, 356, 357, 358, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, -1, 369, 370,
+ 371, 372, 373, -1, -1, 376, -1, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, -1, -1, 398, 399, 400,
+ 401, 402, 403, 404, 405, -1, -1, -1, -1, 410,
+ 411, -1, -1, -1, -1, -1, -1, -1, 419, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, -1, -1, -1, -1, 19, -1, -1, 22, 23,
-1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, 71, 72, 73,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 125, -1, 127, -1, 129, 130, 131, 132, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, 145, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, 157, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, -1, 179, 180, 181, 182, -1,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, 136, -1, 138, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, -1, -1, 228, 229, -1, -1, 232, 233,
- -1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, -1, -1, 237, 238, -1, -1, 241, 242, 243,
+ -1, -1, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, 331, 332, 333,
- 334, 335, 336, -1, 338, 339, 340, 341, 342, 343,
- -1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 381, 382, 383,
- 384, 385, 386, 387, -1, -1, -1, -1, 392, 393,
- -1, -1, -1, -1, -1, -1, -1, 401, 3, 4,
- 5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
- -1, -1, -1, -1, 19, -1, -1, 22, 23, -1,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, 60, -1, 62, 63, 64,
- 65, 66, -1, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
- -1, 96, 97, 98, -1, -1, 101, 102, 103, 104,
- 105, -1, 107, 108, 109, -1, 111, 112, -1, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, -1, 127, -1, 129, 130, -1, 132, 133, 134,
- -1, 136, 137, -1, 139, -1, 141, 142, 143, 144,
- 145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
- 155, -1, 157, 158, 159, 160, 161, 162, 163, 164,
- -1, 166, -1, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, -1, 179, 180, 181, 182, -1, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, -1, -1, 228, 229, -1, -1, 232, 233, -1,
- -1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- -1, 246, 247, 248, 249, 250, 251, -1, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, -1, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
- 315, -1, 317, 318, 319, 320, 321, -1, 323, 324,
- -1, -1, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, -1, 338, 339, 340, 341, 342, 343, -1,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, -1, -1, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- -1, -1, -1, -1, -1, 380, 381, 382, 383, 384,
- 385, 386, 387, -1, -1, -1, -1, 392, 393, -1,
- -1, -1, -1, -1, -1, -1, 401, 3, 4, 5,
- 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
- -1, -1, -1, 19, -1, -1, 22, 23, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- -1, 127, -1, 129, 130, -1, 132, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, 145,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, 157, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, -1, 179, 180, 181, 182, -1, 184, 185,
- 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- -1, -1, 228, 229, -1, -1, 232, 233, -1, -1,
- 236, 237, 238, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, 331, 332, 333, 334, 335,
- 336, -1, 338, 339, 340, 341, 342, 343, -1, 345,
- 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 381, 382, 383, 384, 385,
- 386, 387, -1, -1, -1, -1, 392, 393, -1, -1,
- -1, -1, -1, -1, -1, 401, 3, 4, 5, 6,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ -1, 355, 356, 357, 358, 359, 360, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, 370, 371, 372, 373,
+ -1, -1, 376, -1, 378, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 399, 400, 401, 402, 403,
+ 404, 405, -1, -1, -1, -1, 410, 411, -1, -1,
+ -1, -1, -1, -1, -1, 419, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, 14, -1, -1,
-1, -1, 19, -1, -1, 22, 23, -1, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, -1, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, 48, 49, 50, 51, 52, -1, -1, 55, 56,
- 57, 58, 59, 60, -1, 62, 63, 64, 65, 66,
- -1, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 47, -1, 49, 50, 51, 52, 53, -1, -1, 56,
+ 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
+ 67, 68, -1, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- -1, 88, -1, 90, 91, 92, 93, 94, -1, 96,
- 97, 98, -1, -1, 101, 102, 103, 104, 105, -1,
- 107, 108, 109, -1, 111, 112, -1, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, -1,
- 127, -1, 129, 130, -1, 132, 133, 134, -1, 136,
- 137, -1, 139, -1, 141, 142, 143, 144, 145, 146,
- 147, 148, -1, 150, 151, 152, 153, 154, 155, -1,
- 157, 158, 159, 160, 161, 162, 163, 164, -1, 166,
- -1, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, -1, 179, 180, 181, 182, -1, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 87, 88, 89, 90, 91, -1, 93, -1, 95, 96,
+ 97, 98, 99, -1, 101, 102, 103, -1, -1, 106,
+ 107, 108, 109, 110, -1, 112, 113, 114, -1, 116,
+ 117, -1, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, -1, 129, 130, 131, -1, 133, -1, 135, 136,
+ -1, 138, 139, 140, -1, 142, 143, -1, 145, -1,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
+ 157, 158, 159, 160, 161, 162, -1, 164, 165, 166,
+ 167, 168, 169, 170, 171, -1, 173, -1, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ -1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, -1,
- -1, 228, 229, -1, -1, 232, 233, -1, -1, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
- 247, 248, 249, 250, 251, -1, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, -1, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, -1, -1,
+ 237, 238, -1, -1, 241, 242, 243, -1, -1, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ -1, 258, 259, 260, 261, 262, 263, 264, -1, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, -1, 314, 315, -1,
- 317, 318, 319, 320, 321, -1, 323, 324, -1, -1,
- 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- -1, 338, 339, 340, 341, 342, 343, -1, 345, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, -1,
- -1, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, -1, -1,
- -1, -1, -1, 380, 381, 382, 383, 384, 385, 386,
- 387, -1, -1, -1, -1, 392, 393, -1, -1, -1,
- -1, -1, -1, -1, 401, 3, 4, 5, 6, 7,
+ 297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, -1,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, -1, 330, 331, -1, 333, 334, 335, 336,
+ 337, -1, 339, 340, -1, -1, 343, 344, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, -1, 355, 356,
+ 357, 358, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, -1, 369, 370, 371, 372, 373, -1, -1, 376,
+ -1, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
+ -1, 398, 399, 400, 401, 402, 403, 404, 405, -1,
+ -1, -1, -1, 410, 411, -1, -1, -1, -1, -1,
+ 417, 418, 419, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, 19,
+ -1, -1, 22, 23, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, 136, -1, 138, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
+ 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, -1, -1, 237, 238, -1,
+ -1, 241, 242, 243, -1, -1, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, -1, 355, 356, 357, 358, 359,
+ 360, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ 370, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 399,
+ 400, 401, 402, 403, 404, 405, -1, -1, -1, -1,
+ 410, 411, 412, -1, -1, -1, -1, -1, -1, 419,
+ 3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
+ 13, 14, -1, -1, -1, -1, 19, -1, -1, 22,
+ 23, -1, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, -1, 56, 57, 58, 59, 60, 61, -1,
+ 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, -1, 95, 96, 97, 98, 99, -1, 101, 102,
+ 103, -1, -1, 106, 107, 108, 109, 110, -1, 112,
+ 113, 114, -1, 116, 117, -1, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
+ 133, -1, 135, 136, -1, 138, 139, 140, -1, 142,
+ 143, -1, 145, -1, 147, 148, 149, 150, 151, 152,
+ 153, 154, 155, -1, 157, 158, 159, 160, 161, 162,
+ -1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
+ 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, -1, -1, 237, 238, -1, -1, 241, 242,
+ 243, -1, -1, 246, 247, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, -1, 258, 259, 260, 261, 262,
+ 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, -1, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ -1, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, -1, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 326, 327, 328, -1, 330, 331, -1,
+ 333, 334, 335, 336, 337, -1, 339, 340, -1, -1,
+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, -1, 355, 356, 357, 358, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, -1, 369, 370, 371, 372,
+ 373, -1, -1, 376, -1, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, -1, -1, 398, 399, 400, 401, 402,
+ 403, 404, 405, -1, -1, -1, -1, 410, 411, -1,
+ -1, -1, -1, -1, -1, -1, 419, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ -1, -1, -1, 19, -1, -1, 22, 23, -1, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ 136, -1, 138, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, -1,
+ -1, 237, 238, -1, -1, 241, 242, 243, -1, -1,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, -1, 355,
+ 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, 370, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 399, 400, 401, 402, 403, 404, 405,
+ -1, -1, -1, -1, 410, 411, -1, -1, -1, -1,
+ -1, -1, -1, 419, 3, 4, 5, 6, 7, 8,
+ 9, 10, -1, 12, 13, 14, -1, -1, -1, -1,
+ 19, -1, -1, 22, 23, -1, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, -1, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, -1, 56, 57, 58,
+ 59, 60, 61, -1, 63, 64, 65, 66, 67, 68,
+ -1, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, -1, 93, -1, 95, 96, 97, 98,
+ 99, -1, 101, 102, 103, -1, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, 116, 117, -1,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, -1,
+ 129, 130, 131, -1, 133, -1, 135, 136, 137, 138,
+ 139, 140, -1, 142, 143, -1, 145, -1, 147, 148,
+ 149, 150, 151, 152, 153, 154, 155, -1, 157, 158,
+ 159, 160, 161, 162, -1, 164, 165, 166, 167, 168,
+ 169, 170, 171, -1, 173, -1, 175, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
+ 189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, -1, -1, 237, 238,
+ -1, -1, 241, 242, 243, -1, -1, 246, 247, 248,
+ 249, 250, 251, 252, 253, 254, 255, 256, -1, 258,
+ 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, -1, 278,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, -1, 317, 318,
+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ -1, 330, 331, -1, 333, 334, 335, 336, 337, -1,
+ 339, 340, -1, -1, 343, 344, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, -1,
+ 369, 370, 371, 372, 373, -1, -1, 376, -1, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, -1, -1, 398,
+ 399, 400, 401, 402, 403, 404, 405, -1, -1, -1,
+ -1, 410, 411, -1, -1, -1, -1, -1, -1, -1,
+ 419, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 12, 13, 14, -1, -1, -1, -1, 19, -1, -1,
+ 22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, 136, -1, 138, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
+ -1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, -1, -1, 237, 238, -1, -1, 241,
+ 242, 243, -1, -1, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, -1, 355, 356, 357, 358, 359, 360, -1,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 399, 400, 401,
+ 402, 403, 404, 405, -1, -1, -1, -1, 410, 411,
+ -1, -1, -1, -1, -1, -1, -1, 419, 3, 4,
+ 5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
+ -1, -1, -1, -1, 19, -1, -1, 22, 23, -1,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ -1, 56, 57, 58, 59, 60, 61, -1, 63, 64,
+ 65, 66, 67, 68, -1, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, -1, 93, -1,
+ 95, 96, 97, 98, 99, -1, 101, 102, 103, -1,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ -1, 116, 117, -1, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, -1, 129, 130, 131, -1, 133, -1,
+ 135, 136, -1, 138, 139, 140, -1, 142, 143, -1,
+ 145, -1, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, -1, 157, 158, 159, 160, 161, 162, -1, 164,
+ 165, 166, 167, 168, 169, 170, 171, -1, 173, -1,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ -1, -1, 237, 238, -1, -1, 241, 242, 243, -1,
+ -1, 246, 247, 248, 249, 250, 251, 252, 253, 254,
+ 255, 256, -1, 258, 259, 260, 261, 262, 263, 264,
+ -1, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, -1, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, -1, 330, 331, -1, 333, 334,
+ 335, 336, 337, -1, 339, 340, -1, -1, 343, 344,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, -1,
+ 355, 356, 357, 358, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, -1, 369, 370, 371, 372, 373, -1,
+ -1, 376, -1, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, -1, -1, 398, 399, 400, 401, 402, 403, 404,
+ 405, -1, -1, -1, -1, 410, 411, -1, -1, -1,
+ -1, -1, -1, -1, 419, 3, 4, 5, 6, 7,
8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
-1, 19, -1, -1, 22, 23, -1, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, -1, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, -1, 127,
- -1, 129, 130, -1, 132, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, 145, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, 157,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- -1, 179, 180, 181, 182, -1, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, 136, -1,
+ 138, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, -1, -1,
- 228, 229, -1, -1, 232, 233, -1, -1, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, -1, -1, 237,
+ 238, -1, -1, 241, 242, 243, -1, -1, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
-1, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, -1,
- 338, 339, 340, 341, 342, 343, -1, 345, 346, 347,
- 348, 349, 350, 351, 352, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 381, 382, 383, 384, 385, 386, 387,
- -1, -1, -1, -1, 392, 393, -1, -1, -1, -1,
- -1, -1, -1, 401, 3, 4, 5, 6, 7, 8,
- 9, 10, -1, 12, 13, 14, -1, -1, -1, -1,
- 19, -1, -1, 22, 23, -1, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, -1, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, 60, -1, 62, 63, 64, 65, 66, -1, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, -1, 88,
- -1, 90, 91, 92, 93, 94, -1, 96, 97, 98,
- -1, -1, 101, 102, 103, 104, 105, -1, 107, 108,
- 109, -1, 111, 112, -1, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, -1, 127, -1,
- 129, 130, -1, 132, 133, 134, -1, 136, 137, -1,
- 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
- -1, 150, 151, 152, 153, 154, 155, -1, 157, 158,
- 159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, -1,
- 179, 180, 181, 182, -1, 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, -1, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, -1, -1, 228,
- 229, -1, -1, 232, 233, -1, -1, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
- 249, 250, 251, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, -1, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
- 319, 320, 321, -1, 323, 324, -1, -1, 327, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, -1, -1,
- 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, -1, -1, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, -1, -1, -1, -1,
- -1, 380, 381, 382, 383, 384, 385, 386, 387, -1,
- -1, -1, -1, 392, 393, -1, -1, -1, -1, -1,
- -1, -1, 401, 3, 4, 5, 6, 7, 8, 9,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, -1, 355, 356, 357,
+ 358, 359, 360, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, 370, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 399, 400, 401, 402, 403, 404, 405, -1, -1,
+ -1, -1, 410, 411, -1, -1, -1, -1, -1, -1,
+ -1, 419, 3, 4, 5, 6, 7, 8, 9, 10,
+ -1, 12, 13, 14, -1, -1, -1, -1, 19, -1,
+ -1, 22, 23, -1, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, -1, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, -1, 56, 57, 58, 59, 60,
+ 61, -1, 63, 64, 65, 66, 67, 68, -1, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, -1, 93, -1, 95, 96, 97, 98, 99, -1,
+ 101, 102, 103, -1, -1, 106, 107, 108, 109, 110,
+ -1, 112, 113, 114, -1, 116, 117, -1, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
+ 131, -1, 133, -1, 135, 136, -1, 138, 139, 140,
+ -1, 142, 143, -1, 145, -1, 147, 148, 149, 150,
+ 151, 152, 153, 154, 155, -1, 157, 158, 159, 160,
+ 161, 162, -1, 164, 165, 166, 167, 168, 169, 170,
+ 171, -1, 173, -1, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
+ 191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, -1, -1, 237, 238, -1, -1,
+ 241, 242, 243, -1, -1, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, -1, 258, 259, 260,
+ 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, -1, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, -1, 317, 318, 319, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
+ 331, -1, 333, 334, 335, 336, 337, -1, 339, 340,
+ -1, -1, 343, 344, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, -1, 355, 356, 357, 358, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, -1, 369, 370,
+ 371, 372, 373, -1, -1, 376, -1, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, -1, -1, 398, 399, 400,
+ 401, 402, 403, 404, 405, -1, -1, -1, -1, 410,
+ 411, -1, -1, -1, -1, -1, -1, -1, 419, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
+ 14, -1, -1, -1, -1, 19, -1, -1, 22, 23,
+ -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, 136, -1, 138, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, -1, -1, 237, 238, -1, -1, 241, 242, 243,
+ -1, -1, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ -1, 355, 356, 357, 358, 359, 360, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, 370, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 399, 400, 401, 402, 403,
+ 404, 405, -1, -1, -1, -1, 410, 411, -1, -1,
+ -1, -1, -1, -1, -1, 419, 3, 4, 5, 6,
+ 7, 8, 9, 10, -1, 12, 13, 14, -1, -1,
+ -1, -1, 19, -1, -1, 22, 23, -1, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, -1, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, -1, 56,
+ 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
+ 67, 68, -1, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, -1, 93, -1, 95, 96,
+ 97, 98, 99, -1, 101, 102, 103, -1, -1, 106,
+ 107, 108, 109, 110, -1, 112, 113, 114, -1, 116,
+ 117, -1, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, -1, 129, 130, 131, -1, 133, -1, 135, 136,
+ -1, 138, 139, 140, -1, 142, 143, -1, 145, -1,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
+ 157, 158, 159, 160, 161, 162, -1, 164, 165, 166,
+ 167, 168, 169, 170, 171, -1, 173, -1, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ -1, 188, 189, 190, 191, -1, 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, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, -1, -1,
+ 237, 238, -1, -1, 241, 242, 243, -1, -1, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ -1, 258, 259, 260, 261, 262, 263, 264, -1, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, -1,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, -1, 330, 331, -1, 333, 334, 335, 336,
+ 337, -1, 339, 340, -1, -1, 343, 344, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, -1, -1, 356,
+ 357, 358, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, -1, 369, 370, 371, 372, 373, -1, -1, 376,
+ -1, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
+ -1, 398, 399, 400, 401, 402, 403, 404, 405, -1,
+ -1, -1, -1, 410, 411, -1, -1, -1, -1, -1,
+ -1, -1, 419, 3, 4, 5, 6, 7, 8, 9,
10, -1, 12, 13, 14, -1, -1, -1, -1, 19,
-1, -1, 22, 23, -1, 25, 26, 27, 28, 29,
-1, 31, 32, 33, 34, -1, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
+ 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, -1, -1, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, 136, -1, 138, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
+ 190, -1, -1, 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, -1, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, -1, -1, 237, 238, -1,
+ -1, 241, 242, 243, -1, -1, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, -1, 355, 356, 357, 358, 359,
+ 360, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ 370, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 399,
+ 400, 401, 402, 403, 404, 405, -1, -1, -1, -1,
+ 410, 411, -1, -1, -1, -1, -1, -1, -1, 419,
+ 3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
+ 13, 14, -1, -1, -1, -1, 19, -1, -1, 22,
+ 23, -1, 25, 26, 27, 28, 29, -1, 31, 32,
+ 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, -1, 56, 57, 58, 59, 60, 61, -1,
+ 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, -1,
+ 93, -1, 95, 96, 97, 98, 99, -1, 101, 102,
+ 103, -1, -1, 106, 107, 108, 109, 110, -1, 112,
+ 113, 114, -1, 116, -1, -1, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
+ 133, -1, 135, 136, -1, 138, 139, 140, -1, 142,
+ 143, -1, 145, -1, 147, 148, 149, 150, 151, -1,
+ 153, 154, 155, -1, 157, 158, 159, 160, 161, 162,
+ -1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
+ 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, -1, 188, 189, 190, -1, -1,
+ 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, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, -1, -1, 237, 238, -1, -1, 241, 242,
+ 243, -1, -1, 246, 247, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, -1, 258, 259, 260, 261, 262,
+ 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, -1, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ -1, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ -1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 326, 327, 328, -1, 330, 331, -1,
+ 333, 334, 335, 336, 337, -1, 339, 340, -1, -1,
+ 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, -1, -1, 356, 357, 358, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, -1, 369, 370, 371, 372,
+ 373, -1, -1, 376, -1, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, -1, -1, 398, 399, 400, 401, 402,
+ 403, 404, 405, -1, -1, -1, -1, 410, 411, -1,
+ -1, -1, -1, -1, -1, -1, 419, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, 42, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ 136, -1, 138, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, 189, 190, 191, -1, 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, -1, 225,
+ 226, 227, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, 238, -1, 240, 241, 242, 243, -1, -1,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, 332, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, 370, 371, 372, 373, -1, -1,
+ 376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, -1, -1, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, 419, 22, 23, -1, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, 42, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, 136, -1,
+ 138, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, 164, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, 189, 190, 191, -1, 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, -1, 225, 226, 227,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ 238, -1, 240, 241, 242, 243, -1, -1, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, 360, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, 370, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, -1, -1, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, 419, 22, 23, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, 42, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, -1, -1, 114, 115, 116, 117, 118, 119,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
- 130, -1, 132, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
+ 130, 131, -1, 133, -1, 135, 136, -1, 138, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, -1, 179,
- 180, 181, -1, -1, 184, 185, 186, 187, 188, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 160, 161, 162, -1, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
+ 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, -1, -1, 228, 229,
- -1, -1, 232, 233, -1, -1, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, 279,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, 227, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, 238, -1,
+ -1, 241, 242, 243, -1, -1, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, -1, 338, 339,
- 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 381, 382, 383, 384, 385, 386, 387, -1, -1,
- -1, -1, 392, 393, -1, -1, -1, -1, -1, -1,
- -1, 401, 3, 4, 5, 6, 7, 8, 9, 10,
- -1, 12, 13, 14, -1, -1, -1, -1, 19, -1,
- -1, 22, 23, -1, 25, 26, 27, 28, 29, -1,
- 31, 32, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, 60,
- -1, 62, 63, 64, 65, 66, -1, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, -1, 88, -1, 90,
- 91, 92, 93, 94, -1, 96, 97, 98, -1, -1,
- 101, 102, 103, 104, 105, -1, 107, 108, 109, -1,
- 111, -1, -1, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, -1, 127, -1, 129, 130,
- -1, 132, 133, 134, -1, 136, 137, -1, 139, -1,
- 141, 142, 143, 144, -1, 146, 147, 148, -1, 150,
- 151, 152, 153, 154, 155, -1, 157, 158, 159, 160,
- 161, 162, 163, 164, -1, 166, -1, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, -1, 179, 180,
- 181, -1, -1, 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, -1, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, -1, -1, 228, 229, -1,
- -1, 232, 233, -1, -1, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
- 251, -1, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, -1, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
- 321, -1, 323, 324, -1, -1, 327, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
- 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, -1, -1, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, -1, -1, -1, -1, -1, 380,
- 381, 382, 383, 384, 385, 386, 387, -1, -1, -1,
- -1, 392, 393, -1, -1, -1, -1, -1, -1, -1,
- 401, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, 130, -1,
- 132, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, 145, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, -1, 179, 180, 181,
- 182, -1, 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, -1, 216, 217, 218, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, 229, -1, 231,
- 232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, 401,
- 22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, 130, -1,
- 132, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, 145, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, -1, 179, 180, 181,
- 182, -1, 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, -1, 216, 217, 218, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, 229, -1, 231,
- 232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, 401,
- 22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, 130, -1,
- 132, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, 145, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, -1, 179, 180, 181,
- 182, -1, 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, -1, 216, 217, 218, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, 229, -1, -1,
- 232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, -1,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ 360, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ 370, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, -1,
-1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, 401,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, 419,
22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, 130, -1,
- 132, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, 145, 146, 147, 148, -1, 150, 151,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, 73, 74, 75, -1, -1, -1, 79, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, 136, -1, 138, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, -1, 179, 180, 181,
- 182, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 162, -1, 164, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, 218, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, 229, -1, -1,
- 232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, 297, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, 401,
- 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
- -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, 229, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, 227, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, 238, -1, -1, 241,
+ 242, 243, -1, -1, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, 401,
- 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
- -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
+ 312, 313, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, 370, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, -1, -1, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, 419, 22, 23,
+ -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, 332, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, 378, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, -1, -1, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, 419, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, 238, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, -1, -1, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, 419, 22, 23, -1, 25, -1, 27,
+ 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, -1, -1, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, 419, 22, 23, -1, 25, -1, 27, 28, 29,
+ -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, -1,
-1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, 401,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, 419,
22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
-1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, 401,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 419, 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, -1, 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, -1, 123, 124,
+ -1, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, -1, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ -1, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, -1, 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, -1, 223, 224,
+ 225, 226, 227, 228, 229, -1, 231, 232, 233, 234,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
+ 245, -1, 247, 248, 249, -1, 251, 252, 253, 254,
+ 255, 256, 257, 258, -1, 260, -1, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, -1,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, -1, 328, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, -1, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 382, 383, -1,
+ -1, -1, -1, -1, -1, -1, -1, 392, 393, 394,
+ -1, -1, -1, 398, 399, 400, -1, -1, 403, 404,
+ -1, 406, 407, 408, -1, 410, 411, 412, 413, 414,
+ 415, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
-1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 401,
- 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, -1,
- 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, -1, 118, 119, -1, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, -1, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, -1, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- -1, 214, 215, 216, 217, 218, 219, 220, -1, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, -1, 237, 238, -1, 240, 241, 242,
- 243, 244, 245, 246, -1, -1, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, -1, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, -1, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, 327, -1, 329, -1, 331, 332,
- 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, 372,
- 373, 374, -1, -1, -1, -1, -1, 380, 381, 382,
- -1, -1, 385, 386, -1, 388, 389, 390, -1, 392,
- 393, 394, 395, 396, 397, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, -1, -1, -1, -1, 385, -1, -1,
- 388, 389, 390, -1, 392, 393, 394, 395, 396, 397,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, -1, -1, -1,
+ -1, 403, -1, -1, 406, 407, 408, -1, 410, 411,
+ 412, 413, 414, 415, 3, 4, 5, 6, 7, 8,
+ 9, 10, -1, 12, 13, 14, -1, -1, -1, -1,
+ -1, -1, -1, 22, 23, -1, 25, -1, 27, 28,
+ 29, -1, 31, -1, 33, 34, -1, 36, 37, 38,
+ 39, 40, -1, -1, 43, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, -1, 56, 57, 58,
+ 59, 60, 61, -1, 63, 64, 65, 66, 67, 68,
+ -1, 70, 71, 72, -1, 74, 75, -1, -1, -1,
+ -1, -1, -1, -1, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, -1, 93, -1, 95, 96, 97, 98,
+ 99, -1, 101, 102, 103, -1, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, 116, 117, -1,
+ 119, 120, 121, 122, 123, 124, 125, -1, 127, -1,
+ 129, 130, 131, -1, 133, -1, 135, -1, -1, -1,
+ 139, 140, -1, 142, 143, -1, 145, -1, 147, 148,
+ 149, 150, 151, -1, 153, 154, 155, -1, 157, 158,
+ 159, 160, 161, 162, -1, -1, 165, 166, 167, 168,
+ 169, 170, 171, -1, 173, -1, 175, -1, -1, 178,
+ -1, 180, 181, 182, 183, 184, 185, 186, -1, 188,
+ -1, 190, -1, -1, 193, 194, 195, -1, -1, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, -1, 213, -1, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, -1, 225, 226, -1, 228,
+ -1, 230, 231, 232, 233, 234, -1, -1, 237, -1,
+ -1, -1, 241, 242, 243, -1, -1, 246, -1, -1,
+ -1, 250, 251, 252, 253, 254, 255, 256, -1, 258,
+ 259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, -1, 278,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
+ 289, 290, -1, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, -1, 304, 305, 306, 307, -1,
+ 309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ -1, 330, 331, -1, 333, 334, 335, 336, 337, -1,
+ 339, 340, -1, -1, 343, 344, 345, 346, -1, 348,
+ 349, 350, 351, 352, 353, -1, -1, 356, 357, 358,
+ 359, -1, -1, 362, 363, 364, 365, 366, 367, -1,
+ 369, -1, 371, 372, 373, -1, -1, 376, -1, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, -1, -1, 398,
+ -1, -1, -1, -1, 403, -1, -1, 406, 407, 408,
+ -1, 410, 411, 412, 413, 414, 415, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, -1, -1, -1, -1, 403, -1, -1,
+ 406, 407, 408, -1, 410, 411, 412, 413, 414, 415,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, 14, -1, -1, -1, -1, -1, -1, -1, 22,
23, -1, 25, -1, 27, 28, 29, -1, 31, -1,
33, 34, -1, 36, 37, 38, 39, 40, -1, -1,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, 60, -1, 62,
- 63, 64, 65, 66, -1, 68, 69, 70, -1, 72,
- 73, -1, -1, -1, -1, -1, 79, 80, 81, 82,
- 83, 84, 85, 86, -1, 88, -1, 90, 91, 92,
- 93, 94, -1, 96, 97, 98, -1, -1, 101, 102,
- 103, 104, 105, -1, 107, 108, 109, -1, 111, 112,
- -1, 114, 115, 116, 117, 118, 119, 120, -1, 122,
- 123, 124, 125, -1, 127, -1, 129, -1, -1, -1,
- 133, 134, -1, 136, 137, -1, 139, -1, 141, 142,
- 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
- 153, 154, 155, -1, -1, 158, 159, 160, 161, 162,
- 163, 164, -1, 166, -1, 168, -1, -1, 171, -1,
- 173, 174, 175, 176, 177, -1, 179, -1, 181, -1,
- -1, 184, 185, 186, -1, -1, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- -1, 204, -1, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, -1, 216, 217, -1, 219, -1, 221, 222,
- 223, 224, 225, -1, -1, 228, -1, -1, -1, 232,
- 233, -1, -1, 236, -1, -1, 239, 240, 241, 242,
- 243, 244, -1, 246, 247, 248, 249, 250, 251, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, -1,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, -1, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, -1, 289, 290, 291, -1,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- -1, 314, 315, -1, 317, 318, 319, 320, 321, -1,
- 323, 324, -1, -1, 327, 328, 329, 330, -1, 332,
- 333, 334, 335, 336, -1, -1, 339, 340, 341, 342,
- -1, -1, 345, 346, 347, 348, 349, 350, 351, -1,
- 353, 354, 355, -1, -1, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, -1, -1, -1, -1, -1, 380, -1, -1,
- -1, -1, 385, -1, -1, 388, 389, 390, -1, 392,
- 393, 394, 395, 396, 397, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, -1, -1, -1, -1, 385, -1, -1,
- 388, 389, 390, -1, 392, 393, 394, 395, 396, 397,
+ 43, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, -1, 56, 57, 58, 59, 60, 61, -1,
+ 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
+ -1, 74, 75, -1, -1, -1, -1, -1, -1, -1,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, -1,
+ 93, -1, 95, 96, 97, 98, 99, -1, 101, 102,
+ 103, -1, -1, 106, 107, 108, 109, 110, -1, 112,
+ 113, 114, -1, 116, 117, -1, 119, 120, 121, 122,
+ 123, 124, 125, -1, 127, -1, 129, 130, 131, -1,
+ 133, -1, 135, -1, -1, -1, 139, 140, -1, 142,
+ 143, -1, 145, -1, 147, 148, 149, 150, 151, -1,
+ 153, 154, 155, -1, 157, 158, 159, 160, 161, 162,
+ -1, -1, 165, 166, 167, 168, 169, 170, 171, -1,
+ 173, -1, 175, -1, -1, 178, -1, 180, 181, 182,
+ 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
+ 193, 194, 195, -1, -1, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, -1,
+ 213, -1, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, -1, 225, 226, -1, 228, -1, 230, 231, 232,
+ 233, 234, -1, -1, 237, -1, -1, -1, 241, 242,
+ 243, -1, -1, 246, -1, -1, -1, 250, 251, 252,
+ 253, 254, 255, 256, -1, 258, 259, 260, 261, 262,
+ 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, -1, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, -1, 289, 290, -1, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ -1, 304, 305, 306, 307, -1, 309, 310, 311, 312,
+ -1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 326, 327, 328, -1, 330, 331, -1,
+ 333, 334, 335, 336, 337, -1, 339, 340, -1, -1,
+ 343, 344, 345, 346, -1, 348, 349, 350, 351, 352,
+ 353, -1, -1, 356, 357, 358, 359, -1, -1, 362,
+ 363, 364, 365, 366, 367, -1, 369, -1, 371, 372,
+ 373, -1, -1, 376, -1, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, -1, -1, 398, -1, -1, -1, -1,
+ 403, -1, -1, 406, 407, 408, -1, 410, 411, 412,
+ 413, 414, 415, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
+ -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, -1,
+ -1, -1, -1, 403, -1, -1, 406, 407, 408, -1,
+ 410, 411, 412, 413, 414, 415, 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, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
+ -1, 398, 3, 4, 5, 6, 7, 8, 9, 10,
+ -1, 12, 13, 14, -1, 412, -1, -1, -1, -1,
+ -1, 22, 23, -1, 25, -1, 27, 28, 29, -1,
+ 31, -1, 33, 34, -1, 36, 37, 38, 39, 40,
+ -1, -1, 43, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, -1, 56, 57, 58, 59, 60,
+ 61, -1, 63, 64, 65, 66, 67, 68, -1, 70,
+ 71, 72, -1, 74, 75, -1, -1, -1, -1, -1,
+ -1, -1, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, -1, 93, -1, 95, 96, 97, 98, 99, -1,
+ 101, 102, 103, -1, -1, 106, 107, 108, 109, 110,
+ -1, 112, 113, 114, -1, 116, 117, -1, 119, 120,
+ 121, 122, 123, 124, 125, -1, 127, -1, 129, 130,
+ 131, -1, 133, -1, 135, -1, -1, -1, 139, 140,
+ -1, 142, 143, -1, 145, -1, 147, 148, 149, 150,
+ 151, -1, 153, 154, 155, -1, 157, 158, 159, 160,
+ 161, 162, -1, -1, 165, 166, 167, 168, 169, 170,
+ 171, -1, 173, -1, 175, -1, -1, 178, -1, 180,
+ 181, 182, 183, 184, 185, 186, -1, 188, -1, 190,
+ -1, -1, 193, 194, 195, -1, -1, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, -1, 213, -1, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, -1, 225, 226, -1, 228, -1, 230,
+ 231, 232, 233, 234, -1, -1, 237, -1, -1, -1,
+ 241, 242, 243, -1, -1, 246, -1, -1, -1, 250,
+ 251, 252, 253, 254, 255, 256, -1, 258, 259, 260,
+ 261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, -1, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
+ -1, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, -1, 304, 305, 306, 307, -1, 309, 310,
+ 311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, -1, 330,
+ 331, -1, 333, 334, 335, 336, 337, -1, 339, 340,
+ -1, -1, 343, 344, 345, 346, -1, 348, 349, 350,
+ 351, 352, 353, -1, -1, 356, 357, 358, 359, -1,
+ -1, 362, 363, 364, 365, 366, 367, -1, 369, -1,
+ 371, 372, 373, -1, -1, 376, -1, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, -1, -1, 398, 3, 4,
+ 5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
+ -1, 412, -1, -1, -1, -1, -1, 22, 23, -1,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ -1, 36, 37, 38, 39, 40, -1, -1, 43, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, -1, -1,
+ -1, 56, 57, 58, 59, 60, 61, -1, 63, 64,
+ 65, 66, 67, 68, -1, 70, 71, 72, 73, 74,
+ 75, -1, -1, -1, 79, -1, -1, -1, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, -1, 93, -1,
+ 95, 96, 97, 98, 99, -1, 101, 102, 103, -1,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ -1, 116, 117, -1, 119, 120, 121, -1, 123, 124,
+ -1, -1, 127, -1, 129, 130, 131, -1, 133, -1,
+ 135, 136, -1, 138, 139, 140, -1, 142, -1, -1,
+ 145, -1, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, -1, 157, 158, 159, 160, 161, 162, -1, 164,
+ -1, 166, 167, 168, 169, 170, 171, -1, 173, -1,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, -1, -1, 189, 190, 191, -1, 193, 194,
+ 195, -1, -1, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, -1,
+ 215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
+ 225, 226, 227, 228, -1, -1, 231, 232, 233, 234,
+ -1, -1, 237, -1, -1, -1, 241, 242, 243, -1,
+ -1, -1, 247, 248, 249, -1, 251, 252, 253, 254,
+ 255, 256, -1, 258, -1, 260, -1, 262, 263, 264,
+ -1, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, -1, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, -1, 289, 290, 291, 292, 293, -1,
+ 295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
+ 305, 306, 307, -1, 309, 310, 311, 312, 313, 314,
+ 315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, -1, 328, -1, 330, 331, -1, 333, 334,
+ 335, 336, 337, -1, 339, 340, -1, -1, 343, -1,
+ 345, -1, -1, 348, 349, 350, 351, 352, 353, -1,
+ -1, 356, 357, 358, 359, -1, -1, 362, 363, 364,
+ 365, -1, 367, -1, 369, 370, 371, 372, 373, -1,
+ -1, 376, -1, -1, 379, 380, 381, 382, 383, -1,
+ -1, -1, -1, -1, -1, -1, -1, 392, 393, 394,
+ -1, -1, -1, 398, 3, 4, 5, 6, 7, 8,
+ 9, 10, -1, 12, 13, 14, -1, 412, -1, -1,
+ -1, -1, -1, 22, 23, -1, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, -1, 36, 37, 38,
+ 39, 40, -1, -1, 43, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, -1, -1, -1, 56, 57, 58,
+ 59, 60, 61, -1, 63, 64, 65, 66, 67, 68,
+ -1, 70, 71, 72, 73, 74, 75, -1, -1, -1,
+ 79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, -1, 93, -1, 95, 96, 97, 98,
+ 99, -1, 101, 102, 103, -1, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, -1, 116, 117, -1,
+ 119, 120, 121, -1, 123, 124, -1, -1, 127, -1,
+ 129, 130, 131, -1, 133, -1, 135, 136, -1, 138,
+ 139, 140, -1, 142, -1, -1, 145, -1, 147, 148,
+ 149, 150, 151, 152, 153, 154, 155, -1, 157, 158,
+ 159, 160, 161, 162, -1, 164, -1, 166, 167, 168,
+ 169, 170, 171, -1, 173, -1, 175, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, -1, -1,
+ 189, 190, 191, -1, 193, 194, 195, -1, -1, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, -1, 215, 216, 217, 218,
+ 219, 220, 221, -1, 223, -1, 225, 226, 227, 228,
+ -1, -1, 231, 232, 233, 234, -1, -1, 237, -1,
+ -1, -1, 241, 242, 243, -1, -1, -1, 247, 248,
+ 249, -1, 251, 252, 253, 254, 255, 256, -1, 258,
+ -1, 260, -1, 262, 263, 264, -1, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, -1, 278,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
+ 289, 290, 291, 292, 293, -1, 295, 296, 297, 298,
+ 299, 300, 301, 302, -1, 304, 305, 306, 307, -1,
+ 309, 310, 311, 312, 313, 314, 315, -1, 317, 318,
+ 319, 320, 321, 322, 323, 324, 325, 326, -1, 328,
+ -1, 330, 331, -1, 333, 334, 335, 336, 337, -1,
+ 339, 340, -1, -1, 343, -1, 345, -1, -1, 348,
+ 349, 350, 351, 352, 353, -1, -1, 356, 357, 358,
+ 359, -1, -1, 362, 363, 364, 365, -1, 367, -1,
+ 369, 370, 371, 372, 373, -1, -1, 376, -1, -1,
+ 379, 380, 381, 382, 383, -1, -1, -1, -1, -1,
+ -1, -1, -1, 392, 393, 394, -1, -1, -1, 398,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
- 13, 14, -1, -1, -1, -1, -1, -1, -1, 22,
+ 13, 14, -1, 412, -1, -1, -1, -1, -1, 22,
23, -1, 25, -1, 27, 28, 29, -1, 31, -1,
33, 34, -1, 36, 37, 38, 39, 40, -1, -1,
- 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
- -1, -1, 55, 56, 57, 58, 59, 60, -1, 62,
- 63, 64, 65, 66, -1, 68, 69, 70, -1, 72,
- 73, -1, -1, -1, -1, -1, 79, 80, 81, 82,
- 83, 84, 85, 86, -1, 88, -1, 90, 91, 92,
- 93, 94, -1, 96, 97, 98, -1, -1, 101, 102,
- 103, 104, 105, -1, 107, 108, 109, -1, 111, 112,
- -1, 114, 115, 116, 117, 118, 119, 120, -1, 122,
- 123, 124, 125, -1, 127, -1, 129, -1, -1, -1,
- 133, 134, -1, 136, 137, -1, 139, -1, 141, 142,
- 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
- 153, 154, 155, -1, -1, 158, 159, 160, 161, 162,
- 163, 164, -1, 166, -1, 168, -1, -1, 171, -1,
- 173, 174, 175, 176, 177, -1, 179, -1, 181, -1,
- -1, 184, 185, 186, -1, -1, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- -1, 204, -1, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, -1, 216, 217, -1, 219, -1, 221, 222,
- 223, 224, 225, -1, -1, 228, -1, -1, -1, 232,
- 233, -1, -1, 236, -1, -1, 239, 240, 241, 242,
- 243, 244, -1, 246, 247, 248, 249, 250, 251, -1,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, -1,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- -1, 274, 275, -1, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, -1, 289, 290, 291, -1,
- 293, 294, 295, 296, -1, 298, 299, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- -1, 314, 315, -1, 317, 318, 319, 320, 321, -1,
- 323, 324, -1, -1, 327, 328, 329, 330, -1, 332,
- 333, 334, 335, 336, -1, -1, 339, 340, 341, 342,
- -1, -1, 345, 346, 347, 348, 349, 350, 351, -1,
- 353, 354, 355, -1, -1, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, -1, -1, -1, -1, -1, 380, -1, -1,
- -1, -1, 385, -1, -1, 388, 389, 390, -1, 392,
- 393, 394, 395, 396, 397, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, -1, -1, -1, -1, 385, -1, -1,
- 388, 389, 390, -1, 392, 393, 394, 395, 396, 397,
- 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,
+ 43, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, -1, 56, 57, 58, 59, 60, 61, -1,
+ 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
+ -1, 74, 75, -1, -1, -1, -1, -1, -1, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 93, -1, 95, 96, 97, 98, 99, -1, 101, 102,
+ 103, -1, -1, 106, 107, 108, 109, 110, -1, 112,
+ 113, 114, -1, 116, 117, -1, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, -1, 129, 130, 131, -1,
+ 133, -1, 135, -1, -1, -1, 139, 140, -1, 142,
+ 143, -1, 145, -1, 147, 148, 149, 150, 151, -1,
+ 153, 154, 155, -1, 157, 158, 159, 160, 161, 162,
+ -1, -1, 165, 166, 167, 168, 169, 170, 171, -1,
+ 173, -1, 175, -1, -1, 178, -1, 180, 181, 182,
+ 183, 184, 185, 186, -1, 188, -1, 190, -1, -1,
+ 193, 194, 195, -1, -1, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, -1,
+ 213, -1, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, -1, 225, 226, -1, 228, -1, 230, 231, 232,
+ 233, 234, 235, -1, 237, -1, 239, -1, 241, 242,
+ 243, -1, -1, 246, -1, -1, -1, 250, 251, 252,
+ 253, 254, 255, 256, -1, 258, 259, 260, 261, 262,
+ 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, -1, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, -1, 289, 290, -1, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
- 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ -1, 304, 305, 306, 307, -1, 309, 310, 311, 312,
+ -1, 314, 315, -1, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 326, 327, 328, -1, 330, 331, -1,
+ 333, 334, 335, 336, 337, -1, 339, 340, -1, -1,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, -1, -1, -1, -1, -1, 380, 3, 4,
+ 353, -1, -1, 356, 357, 358, 359, -1, -1, 362,
+ 363, 364, 365, 366, 367, -1, 369, -1, 371, 372,
+ 373, -1, -1, 376, -1, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, -1, -1, 398, 399, 400, -1, -1,
+ -1, 404, -1, -1, -1, -1, -1, 410, 411, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, 235, -1, 237, -1, 239, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 399, 400, -1, -1, -1,
+ 404, -1, -1, -1, -1, -1, 410, 411, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
- -1, 394, -1, -1, -1, -1, -1, 22, 23, -1,
+ -1, -1, -1, -1, -1, -1, -1, 22, 23, -1,
25, -1, 27, 28, 29, -1, 31, -1, 33, 34,
-1, 36, 37, 38, 39, 40, -1, -1, 43, 44,
- 45, 46, -1, 48, 49, 50, 51, 52, -1, -1,
- 55, 56, 57, 58, 59, 60, -1, 62, 63, 64,
- 65, 66, -1, 68, 69, 70, -1, 72, 73, -1,
- -1, -1, -1, -1, 79, 80, 81, 82, 83, 84,
- 85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
- -1, 96, 97, 98, -1, -1, 101, 102, 103, 104,
- 105, -1, 107, 108, 109, -1, 111, 112, -1, 114,
- 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
- 125, -1, 127, -1, 129, -1, -1, -1, 133, 134,
- -1, 136, 137, -1, 139, -1, 141, 142, 143, 144,
- -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
- 155, -1, -1, 158, 159, 160, 161, 162, 163, 164,
- -1, 166, -1, 168, -1, -1, 171, -1, 173, 174,
- 175, 176, 177, -1, 179, -1, 181, -1, -1, 184,
- 185, 186, -1, -1, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
- -1, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- -1, 216, 217, -1, 219, -1, 221, 222, 223, 224,
- 225, -1, -1, 228, -1, -1, -1, 232, 233, -1,
- -1, 236, -1, -1, 239, 240, 241, 242, 243, 244,
- -1, 246, 247, 248, 249, 250, 251, -1, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, -1, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, -1, 274,
- 275, -1, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, -1, 289, 290, 291, -1, 293, 294,
- 295, 296, -1, 298, 299, -1, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, -1, 314,
- 315, -1, 317, 318, 319, 320, 321, -1, 323, 324,
- -1, -1, 327, 328, 329, 330, -1, 332, 333, 334,
- 335, 336, -1, -1, 339, 340, 341, 342, -1, -1,
- 345, 346, 347, 348, 349, 350, 351, -1, 353, 354,
- 355, -1, -1, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- -1, -1, -1, -1, -1, 380, 3, 4, 5, 6,
- 7, 8, 9, 10, -1, 12, 13, 14, -1, 394,
- -1, -1, -1, -1, -1, 22, 23, -1, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, -1, 36,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ -1, 56, 57, 58, 59, 60, 61, -1, 63, 64,
+ 65, 66, 67, 68, -1, 70, 71, 72, -1, 74,
+ 75, -1, -1, -1, -1, -1, -1, -1, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, -1, 93, -1,
+ 95, 96, 97, 98, 99, -1, 101, 102, 103, -1,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ -1, 116, 117, -1, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, -1, 129, 130, 131, -1, 133, -1,
+ 135, -1, -1, -1, 139, 140, -1, 142, 143, -1,
+ 145, -1, 147, 148, 149, 150, 151, -1, 153, 154,
+ 155, -1, 157, 158, 159, 160, 161, 162, -1, -1,
+ 165, 166, 167, 168, 169, 170, 171, -1, 173, -1,
+ 175, -1, -1, 178, -1, 180, 181, 182, 183, 184,
+ 185, 186, -1, 188, -1, 190, -1, -1, 193, 194,
+ 195, -1, -1, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, -1, 213, -1,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, -1,
+ 225, 226, -1, 228, -1, 230, 231, 232, 233, 234,
+ 235, -1, 237, -1, 239, -1, 241, 242, 243, -1,
+ -1, 246, -1, -1, -1, 250, 251, 252, 253, 254,
+ 255, 256, -1, 258, 259, 260, 261, 262, 263, 264,
+ -1, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, -1, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, -1, 289, 290, -1, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
+ 305, 306, 307, -1, 309, 310, 311, 312, -1, 314,
+ 315, -1, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, -1, 330, 331, -1, 333, 334,
+ 335, 336, 337, -1, 339, 340, -1, -1, 343, 344,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, -1,
+ -1, 356, 357, 358, 359, -1, -1, 362, 363, 364,
+ 365, 366, 367, -1, 369, -1, 371, 372, 373, -1,
+ -1, 376, -1, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, -1, -1, 398, 399, 400, -1, -1, -1, 404,
+ -1, -1, -1, -1, -1, 410, 411, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, -1, -1, -1, -1, -1, 404, -1,
+ -1, -1, -1, -1, 410, 411, 3, 4, 5, 6,
+ 7, 8, 9, 10, -1, 12, 13, 14, -1, -1,
+ -1, -1, -1, -1, -1, 22, 23, -1, 25, -1,
+ 27, 28, 29, -1, 31, -1, 33, 34, -1, 36,
37, 38, 39, 40, -1, -1, 43, 44, 45, 46,
- -1, 48, 49, 50, 51, -1, -1, -1, 55, 56,
- 57, 58, 59, 60, -1, 62, 63, 64, 65, 66,
- -1, 68, 69, 70, 71, 72, 73, -1, -1, -1,
- -1, -1, 79, 80, 81, 82, 83, 84, 85, 86,
- -1, 88, -1, 90, 91, 92, 93, 94, -1, 96,
- 97, 98, -1, -1, 101, 102, 103, 104, 105, -1,
- 107, 108, 109, -1, 111, 112, -1, 114, 115, 116,
- -1, 118, 119, -1, -1, 122, 123, 124, 125, -1,
- 127, -1, 129, 130, -1, 132, 133, 134, -1, 136,
- -1, -1, 139, -1, 141, 142, 143, 144, 145, 146,
- 147, 148, -1, 150, 151, 152, 153, 154, 155, -1,
- 157, -1, 159, 160, 161, 162, 163, 164, -1, 166,
- -1, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, -1, -1, 180, 181, 182, -1, 184, 185, 186,
- -1, -1, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
- 207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
- 217, 218, 219, -1, -1, 222, 223, 224, 225, -1,
- -1, 228, -1, -1, -1, 232, 233, -1, -1, -1,
- 237, 238, -1, 240, 241, 242, 243, 244, -1, 246,
- -1, -1, 249, 250, 251, -1, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, -1, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, -1, 274, 275, 276,
- 277, 278, -1, 280, 281, 282, 283, 284, 285, 286,
- 287, -1, 289, 290, 291, -1, 293, 294, 295, 296,
- 297, 298, 299, -1, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, -1, 312, -1, 314, 315, -1,
- 317, 318, 319, 320, 321, -1, 323, 324, -1, -1,
- 327, -1, 329, -1, -1, 332, 333, 334, 335, 336,
- -1, -1, 339, 340, 341, 342, -1, -1, 345, 346,
- 347, 348, -1, 350, 351, 352, 353, 354, 355, -1,
- -1, 358, 359, 360, 361, 362, 363, -1, -1, -1,
- -1, -1, -1, -1, -1, 372, 373, 374, -1, -1,
- -1, -1, -1, 380, 3, 4, 5, 6, 7, 8,
- 9, 10, -1, 12, 13, 14, -1, 394, -1, -1,
- -1, -1, -1, 22, 23, -1, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, -1, 36, 37, 38,
- 39, 40, -1, -1, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, -1, -1, -1, 55, 56, 57, 58,
- 59, 60, -1, 62, 63, 64, 65, 66, -1, 68,
- 69, 70, 71, 72, 73, -1, -1, -1, -1, -1,
- 79, 80, 81, 82, 83, 84, 85, 86, -1, 88,
- -1, 90, 91, 92, 93, 94, -1, 96, 97, 98,
- -1, -1, 101, 102, 103, 104, 105, -1, 107, 108,
- 109, -1, 111, 112, -1, 114, 115, 116, -1, 118,
- 119, -1, -1, 122, 123, 124, 125, -1, 127, -1,
- 129, 130, -1, 132, 133, 134, -1, 136, -1, -1,
- 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
- -1, 150, 151, 152, 153, 154, 155, -1, 157, -1,
- 159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, -1,
- -1, 180, 181, 182, -1, 184, 185, 186, -1, -1,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, -1, 206, 207, 208,
- 209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
- 219, -1, -1, 222, 223, 224, 225, -1, -1, 228,
- -1, -1, -1, 232, 233, -1, -1, -1, 237, 238,
- -1, 240, 241, 242, 243, 244, -1, 246, -1, -1,
- 249, 250, 251, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, -1, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, 276, 277, 278,
- -1, 280, 281, 282, 283, 284, 285, 286, 287, -1,
- 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, -1, 312, -1, 314, 315, -1, 317, 318,
- 319, 320, 321, -1, 323, 324, -1, -1, 327, -1,
- 329, -1, -1, 332, 333, 334, 335, 336, -1, -1,
- 339, 340, 341, 342, -1, -1, 345, 346, 347, 348,
- -1, 350, 351, 352, 353, 354, 355, -1, -1, 358,
- 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
- -1, -1, -1, 372, 373, 374, -1, -1, -1, -1,
- -1, 380, 3, 4, 5, 6, 7, 8, 9, 10,
- -1, 12, 13, 14, -1, 394, -1, -1, -1, -1,
- -1, 22, 23, -1, 25, -1, 27, 28, 29, -1,
- 31, -1, 33, 34, -1, 36, 37, 38, 39, 40,
- -1, -1, 43, 44, 45, 46, -1, 48, 49, 50,
- 51, 52, -1, -1, 55, 56, 57, 58, 59, 60,
- -1, 62, 63, 64, 65, 66, -1, 68, 69, 70,
- -1, 72, 73, -1, -1, -1, -1, -1, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
- 91, 92, 93, 94, -1, 96, 97, 98, -1, -1,
- 101, 102, 103, 104, 105, -1, 107, 108, 109, -1,
- 111, 112, -1, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, -1, 127, -1, 129, -1,
- -1, -1, 133, 134, -1, 136, 137, -1, 139, -1,
- 141, 142, 143, 144, -1, 146, 147, 148, -1, 150,
- 151, 152, 153, 154, 155, -1, -1, 158, 159, 160,
- 161, 162, 163, 164, -1, 166, -1, 168, -1, -1,
- 171, -1, 173, 174, 175, 176, 177, -1, 179, -1,
- 181, -1, -1, 184, 185, 186, -1, -1, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, -1, 204, -1, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, -1, 216, 217, -1, 219, -1,
- 221, 222, 223, 224, 225, 226, -1, 228, -1, 230,
- -1, 232, 233, -1, -1, 236, -1, -1, 239, 240,
- 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
- 251, -1, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, -1, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, -1, 274, 275, -1, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
- 291, -1, 293, 294, 295, 296, -1, 298, 299, -1,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, -1, 314, 315, -1, 317, 318, 319, 320,
- 321, -1, 323, 324, -1, -1, 327, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
- 341, 342, -1, -1, 345, 346, 347, 348, 349, 350,
- 351, -1, 353, 354, 355, -1, -1, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, -1, -1, -1, -1, -1, 380,
- 381, 382, -1, -1, -1, 386, -1, -1, -1, -1,
- -1, -1, 393, 3, 4, 5, 6, 7, 8, 9,
- 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
- -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, 226, -1, 228, -1,
- 230, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 381, 382, -1, -1, -1, 386, -1, -1, -1,
- -1, -1, -1, 393, 3, 4, 5, 6, 7, 8,
- 9, 10, -1, 12, 13, 14, -1, -1, -1, -1,
- -1, -1, -1, 22, 23, -1, 25, -1, 27, 28,
- 29, -1, 31, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, -1, -1, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, 60, -1, 62, 63, 64, 65, 66, -1, 68,
- 69, 70, -1, 72, 73, -1, -1, -1, -1, -1,
- 79, 80, 81, 82, 83, 84, 85, 86, -1, 88,
- -1, 90, 91, 92, 93, 94, -1, 96, 97, 98,
- -1, -1, 101, 102, 103, 104, 105, -1, 107, 108,
- 109, -1, 111, 112, -1, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, -1, 127, -1,
- 129, -1, -1, -1, 133, 134, -1, 136, 137, -1,
- 139, -1, 141, 142, 143, 144, -1, 146, 147, 148,
- -1, 150, 151, 152, 153, 154, 155, -1, -1, 158,
- 159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
- -1, -1, 171, -1, 173, 174, 175, 176, 177, -1,
- 179, -1, 181, -1, -1, 184, 185, 186, -1, -1,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, -1, 204, -1, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, -1, 216, 217, -1,
- 219, -1, 221, 222, 223, 224, 225, 226, -1, 228,
- -1, 230, -1, 232, 233, -1, -1, 236, -1, -1,
- 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
- 249, 250, 251, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, -1, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, -1, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
- 289, 290, 291, -1, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
- 319, 320, 321, -1, 323, 324, -1, -1, 327, 328,
- 329, 330, 331, 332, 333, 334, 335, 336, -1, -1,
- 339, 340, 341, 342, -1, -1, 345, 346, 347, 348,
- 349, 350, 351, -1, 353, 354, 355, -1, -1, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, -1, -1, -1, -1,
- -1, 380, 381, 382, -1, -1, -1, 386, -1, -1,
- -1, -1, -1, -1, 393, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, 17, 345, 346, 347,
- 348, 349, 350, 351, 25, 353, 354, 355, -1, 30,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, 17, -1, -1,
- -1, -1, 380, -1, -1, 25, -1, -1, 386, -1,
- 30, -1, -1, -1, -1, 393, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 145, -1, -1, -1, 149, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 169, 170,
- -1, -1, -1, -1, -1, 145, -1, -1, -1, 149,
- -1, 182, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 169,
- 170, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 182, -1, 215, -1, -1, 218, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 232, -1, 234, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 215, -1, -1, 218, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 232, -1, 234, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 297, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 297, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 385, -1, -1, 388, 389, 390,
- -1, 392, 393, 394, 395, 396, 397, -1, -1, -1,
- -1, 402, 403, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 385, -1, -1, 388, 389,
- 390, -1, 392, 393, 394, 395, 396, 397, -1, -1,
- -1, -1, -1, 403, 3, 4, 5, 6, 7, 8,
- 9, 10, -1, 12, 13, 14, -1, -1, -1, -1,
- -1, -1, -1, 22, 23, -1, 25, -1, 27, 28,
- 29, -1, 31, -1, 33, 34, -1, 36, 37, 38,
- 39, 40, -1, -1, 43, 44, 45, 46, -1, 48,
- 49, 50, 51, 52, -1, -1, 55, 56, 57, 58,
- 59, 60, -1, 62, 63, 64, 65, 66, -1, 68,
- 69, 70, -1, 72, 73, -1, -1, -1, -1, -1,
- 79, 80, 81, 82, 83, 84, 85, 86, -1, 88,
- -1, 90, 91, 92, 93, 94, -1, 96, 97, 98,
- -1, -1, 101, 102, 103, 104, 105, -1, 107, 108,
- 109, -1, 111, 112, -1, 114, 115, 116, 117, 118,
- 119, 120, -1, 122, 123, 124, 125, -1, 127, -1,
- 129, -1, -1, -1, 133, 134, -1, 136, 137, -1,
- 139, -1, 141, 142, 143, 144, -1, 146, 147, 148,
- -1, 150, 151, 152, 153, 154, 155, -1, -1, 158,
- 159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
- -1, -1, 171, -1, 173, 174, 175, 176, 177, -1,
- 179, -1, 181, -1, -1, 184, 185, 186, -1, -1,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, -1, 204, -1, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, -1, 216, 217, -1,
- 219, -1, 221, 222, 223, 224, 225, -1, -1, 228,
- -1, -1, -1, 232, 233, -1, -1, 236, -1, -1,
- 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
- 249, 250, 251, -1, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, -1, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, -1, 274, 275, -1, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
- 289, 290, 291, -1, 293, 294, 295, 296, -1, 298,
- 299, -1, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, -1, 314, 315, -1, 317, 318,
- 319, 320, 321, -1, 323, 324, -1, -1, 327, 328,
- 329, 330, -1, 332, 333, 334, 335, 336, -1, -1,
- 339, 340, 341, 342, -1, -1, 345, 346, 347, 348,
- 349, 350, 351, -1, 353, 354, 355, -1, -1, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, -1, -1, -1, -1,
- -1, 380, -1, -1, -1, -1, -1, -1, 387, 3,
+ 47, -1, 49, 50, 51, 52, 53, -1, -1, 56,
+ 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
+ 67, 68, -1, 70, 71, 72, -1, 74, 75, -1,
+ -1, -1, -1, -1, -1, -1, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, -1, 93, -1, 95, 96,
+ 97, 98, 99, -1, 101, 102, 103, -1, -1, 106,
+ 107, 108, 109, 110, -1, 112, 113, 114, -1, 116,
+ 117, -1, 119, 120, 121, 122, 123, 124, 125, -1,
+ 127, -1, 129, 130, 131, -1, 133, -1, 135, -1,
+ -1, -1, 139, 140, -1, 142, 143, -1, 145, -1,
+ 147, 148, 149, 150, 151, -1, 153, 154, 155, -1,
+ 157, 158, 159, 160, 161, 162, -1, -1, 165, 166,
+ 167, 168, 169, 170, 171, -1, 173, -1, 175, -1,
+ -1, 178, -1, 180, 181, 182, 183, 184, 185, 186,
+ -1, 188, -1, 190, -1, -1, 193, 194, 195, -1,
+ -1, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, -1, 213, -1, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, -1, 225, 226,
+ -1, 228, -1, 230, 231, 232, 233, 234, -1, -1,
+ 237, -1, -1, -1, 241, 242, 243, -1, -1, 246,
+ -1, -1, -1, 250, 251, 252, 253, 254, 255, 256,
+ -1, 258, 259, 260, 261, 262, 263, 264, -1, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, -1, 289, 290, -1, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
+ 307, -1, 309, 310, 311, 312, -1, 314, 315, -1,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, -1, 330, 331, -1, 333, 334, 335, 336,
+ 337, -1, 339, 340, -1, -1, 343, 344, 345, 346,
+ -1, 348, 349, 350, 351, 352, 353, -1, -1, 356,
+ 357, 358, 359, -1, -1, 362, 363, 364, 365, 366,
+ 367, -1, 369, -1, 371, 372, 373, -1, -1, 376,
+ -1, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, -1,
+ -1, 398, -1, -1, -1, -1, -1, -1, 405, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 399, 400, 401, 402, -1,
+ 404, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
+ 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, -1, 400, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
-1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 381, 382, 383,
- 384, -1, 386, 3, 4, 5, 6, 7, 8, 9,
- 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
- -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, -1, 382, 3, 4, 5, 6, 7, 8, 9,
- 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
- -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, -1, 382, 3, 4, 5, 6, 7, 8, 9,
- 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
- -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, -1, 382, 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, 224, 225, 226, 227, 228, 229,
- 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
- 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
- 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, 130, -1,
- 132, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, 145, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, -1, 179, 180, 181,
- 182, -1, 184, 185, 186, -1, -1, 189, 190, 191,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, -1, 400, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, -1, 400, 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, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 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, -1, 216, 217, 218, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, 229, -1, -1,
- 232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, 297, 298, 299, -1, 301,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, -1, -1, 358, 359, 360, 361,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
+ 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, 73, 74, 75,
+ -1, -1, -1, 79, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ 136, -1, 138, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, 164, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
+ -1, -1, 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, -1, 225,
+ 226, 227, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, 238, -1, -1, 241, 242, 243, -1, -1,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, 313, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, 370, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, 22, 23, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, 73, 74, 75, -1, -1, -1, 79,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, 136, -1, 138, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, 164, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
+ 190, 191, -1, 193, 194, 195, -1, -1, 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, -1, 225, 226, 227, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, 238, -1,
+ -1, 241, 242, 243, -1, -1, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, 313, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ 370, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
-1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, 71, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, 130, -1, 132, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, 145, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, 157, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, -1, 179, 180, 181, 182, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
+ 74, 75, -1, -1, -1, 79, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, 136, -1, 138, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, 218, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, 229, -1, -1, 232, 233,
- -1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
- 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
- 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, 71, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, 130, -1, 132, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, 145,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, 157, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, -1, 179, 180, 181, 182, -1, 184, 185,
- 186, -1, -1, 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, -1,
- 216, 217, 218, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, 229, -1, -1, 232, 233, -1, -1,
- 236, 237, 238, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, 227, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, 238, -1, -1, 241, 242, 243,
+ -1, -1, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, 313,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, 370, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
-1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- 128, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, 182, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
+ 48, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, 134, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, 191, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- 338, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
- -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, 135, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, 355, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
-1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, 141,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
+ -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, 134, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, 238, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, 15, 16, -1, -1, -1, -1, -1, 22, 23,
-1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, 229, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, 238, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
+ 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ 238, -1, 240, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, 238, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
+ 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
-1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
-1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, -1, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, -1, -1, -1, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, -1,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, -1, -1, 171, -1, 173, 174, 175,
- 176, 177, -1, 179, -1, 181, -1, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
- 216, 217, -1, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, 229, -1, 231, 232, 233, -1, -1,
- 236, -1, -1, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- -1, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, 349, 350, 351, -1, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
+ -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, 238, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, 238, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
-1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, 229, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
- 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, 360, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
+ 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, 360, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, -1, -1, -1, -1, -1,
-1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
-1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, 229,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, 316, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
+ 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
-1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, 22, 23, -1, 25, 26, 27, 28, 29,
+ -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
- -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
+ -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, -1,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
+ 74, 75, -1, -1, -1, 79, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, -1, 123,
+ 124, -1, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, 136, -1, 138, 139, 140, -1, 142, -1,
+ -1, 145, -1, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, -1,
+ 164, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, -1, -1, 189, 190, 191, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, 229, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, 316, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
+ -1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
+ -1, 225, 226, 227, 228, -1, -1, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, 247, 248, 249, -1, 251, 252, 253,
+ 254, 255, 256, -1, 258, -1, 260, -1, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ -1, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, 313,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, -1, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ -1, 345, -1, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ -1, -1, -1, -1, -1, -1, -1, -1, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
+ -1, -1, 20, -1, 22, 23, -1, 25, -1, 27,
+ 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 12, 13, 14, -1, -1, -1, -1, -1, 20, -1,
+ 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
+ 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
-1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
-1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, -1, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, -1, -1, -1, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, -1,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, -1, -1, 171, -1, 173, 174, 175,
- 176, 177, -1, 179, -1, 181, -1, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
- 216, 217, -1, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, 229, -1, -1, 232, 233, -1, -1,
- 236, -1, -1, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- -1, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, 349, 350, 351, -1, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, 343, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, -1, -1, -1, -1, -1,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, 144, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
-1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
-1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
+ 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, -1,
12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
-1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
- -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
- 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, 361,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
-1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
-1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, -1, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, -1, -1, -1, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, -1,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, -1, -1, 171, -1, 173, 174, 175,
- 176, 177, -1, 179, -1, 181, -1, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, -1, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
- 216, 217, -1, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- 236, -1, -1, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- -1, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, 349, 350, 351, -1, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, -1, -1, -1, -1, -1,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
-1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
-1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
+ 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
+ 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, -1,
12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, 25, 26, 27, 28, 29, -1, 31,
+ 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
-1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
+ -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
- 14, -1, -1, -1, -1, -1, 20, -1, 22, 23,
+ 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
-1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
+ 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
+ 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
- -1, -1, -1, -1, 20, -1, 22, 23, -1, 25,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
-1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, -1, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, -1, -1, -1, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, -1,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, -1, -1, 171, -1, 173, 174, 175,
- 176, 177, -1, 179, -1, 181, -1, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, -1, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
- 216, 217, -1, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- 236, -1, -1, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- -1, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, 349, 350, 351, -1, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- 138, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
-1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
-1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
- -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
-1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
- 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
- -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
- 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, -1, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, -1, -1, -1, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, -1,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, -1, -1, 171, -1, 173, 174, 175,
- 176, 177, -1, 179, -1, 181, -1, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, -1, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
- 216, 217, -1, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- 236, -1, -1, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- -1, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, 344, 345,
- 346, 347, 348, 349, 350, 351, -1, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
-1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
- 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
- -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, -1,
12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
-1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
- 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
- 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
- -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
- 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
-1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
-1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, -1, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, -1, -1, -1, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, -1,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, -1, -1, 171, -1, 173, 174, 175,
- 176, 177, -1, 179, -1, 181, -1, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, -1, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
- 216, 217, -1, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- 236, -1, -1, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- -1, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, 349, 350, 351, -1, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
-1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
-1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
- -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
- 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ 14, -1, -1, -1, -1, -1, 20, -1, 22, 23,
-1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
- 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
- -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
- 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, -1, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, -1, -1, -1, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, -1,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, -1, -1, 171, -1, 173, 174, 175,
- 176, 177, -1, 179, -1, 181, -1, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, -1, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
- 216, 217, -1, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- 236, -1, -1, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- -1, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, 349, 350, 351, -1, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, -1, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
-1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
- 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
- -1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, -1,
12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
-1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
- 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
- 14, -1, -1, -1, -1, -1, 20, -1, 22, 23,
- -1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
- 34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, -1,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
-1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
-1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, 52, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, -1, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, -1, -1, -1, 133, 134, -1,
- 136, 137, -1, 139, -1, 141, 142, 143, 144, -1,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, -1, -1, 171, -1, 173, 174, 175,
- 176, 177, -1, 179, -1, 181, -1, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, -1, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
- 216, 217, -1, 219, -1, 221, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- 236, -1, -1, 239, 240, 241, 242, 243, 244, -1,
- 246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- -1, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, -1, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, 328, 329, 330, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, 349, 350, 351, -1, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
- 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, 52, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, -1, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, 117,
- 118, 119, 120, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, -1, -1, -1, 133, 134, -1, 136, 137,
- -1, 139, -1, 141, 142, 143, 144, -1, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, -1,
- 158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, -1, -1, 171, -1, 173, 174, 175, 176, 177,
- -1, 179, -1, 181, -1, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, -1, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- -1, 219, -1, 221, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, 236, -1,
- -1, 239, 240, 241, 242, 243, 244, -1, 246, 247,
- 248, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, -1, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, -1,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- 328, 329, 330, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, 349, 350, 351, -1, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, 255,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
-1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
-1, 31, -1, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, 52, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, -1, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, 117, 118, 119,
- 120, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- -1, -1, -1, 133, 134, -1, 136, 137, -1, 139,
- -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, -1, 158, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
- -1, 171, -1, 173, 174, 175, 176, 177, -1, 179,
- -1, 181, -1, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, -1, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, -1, 219,
- -1, 221, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, 236, -1, -1, 239,
- 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, -1, 277, 278, 279,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, -1, -1, -1, -1,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, 122, 123, 124, 125, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, -1, -1, -1, 139,
+ 140, -1, 142, 143, -1, 145, -1, 147, 148, 149,
+ 150, 151, -1, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, -1, 165, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, -1, -1, 178, -1,
+ 180, 181, 182, 183, 184, 185, 186, -1, 188, -1,
+ 190, -1, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, -1, 228, -1,
+ 230, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, 246, -1, -1, -1,
+ 250, 251, 252, 253, 254, 255, 256, -1, 258, 259,
+ 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 290, -1, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
310, 311, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, 328, 329,
- 330, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, 349,
- 350, 351, -1, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
- 370, 371, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
- -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, 117, 118, 119, 120, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, -1, -1,
- -1, 133, 134, -1, 136, 137, -1, 139, -1, 141,
- 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
- -1, 173, 174, 175, 176, 177, -1, 179, -1, 181,
- -1, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, -1, 216, 217, -1, 219, -1, 221,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, 236, -1, -1, 239, 240, 241,
- 242, 243, 244, -1, 246, 247, 248, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, -1, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, 328, 329, 330, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, 349, 350, 351,
- -1, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
+ 320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, 344, 345, 346, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, 366, 367, -1, 369,
+ -1, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, -1, -1, 398, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
-1, 25, -1, 27, 28, 29, -1, 31, -1, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, -1, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, -1, -1, -1, 133,
- 134, -1, 136, 137, -1, 139, -1, 141, 142, 143,
- 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, -1, 158, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, -1, -1, 171, -1, 173,
- 174, 175, 176, 177, -1, 179, -1, 181, -1, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, -1, 216, 217, -1, 219, -1, 221, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, 236, -1, -1, 239, 240, 241, 242, 243,
- 244, -1, 246, 247, 248, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, -1, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, -1, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, 328, 329, 330, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, 349, 350, 351, -1, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, 122, 123,
+ 124, 125, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, -1, -1, -1, 139, 140, -1, 142, 143,
+ -1, 145, -1, 147, 148, 149, 150, 151, -1, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, -1, -1, 178, -1, 180, 181, 182, 183,
+ 184, 185, 186, -1, 188, -1, 190, -1, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, -1, 228, -1, 230, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, 246, -1, -1, -1, 250, 251, 252, 253,
+ 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, -1,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ 344, 345, 346, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, 366, 367, -1, 369, -1, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
+ 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
+ 28, 29, -1, 31, -1, 33, 34, -1, 36, 37,
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, 122, 123, 124, 125, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, -1, -1,
+ -1, 139, 140, -1, 142, 143, -1, 145, -1, 147,
+ 148, 149, 150, 151, -1, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, -1, 165, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, -1, -1,
+ 178, -1, 180, 181, 182, 183, 184, 185, 186, -1,
+ 188, -1, 190, -1, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, -1, 225, 226, -1,
+ 228, -1, 230, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, 246, -1,
+ -1, -1, 250, 251, 252, 253, 254, 255, 256, -1,
+ 258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, -1, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, 344, 345, 346, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, 366, 367,
+ -1, 369, -1, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ 22, 23, -1, 25, -1, 27, 28, 29, -1, 31,
+ -1, 33, 34, -1, 36, 37, 38, 39, 40, -1,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, -1, 74, 75, -1, -1, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ 122, 123, 124, 125, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, -1, -1, -1, 139, 140, -1,
+ 142, 143, -1, 145, -1, 147, 148, 149, 150, 151,
+ -1, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, -1, 165, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, -1, -1, 178, -1, 180, 181,
+ 182, 183, 184, 185, 186, -1, 188, -1, 190, -1,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ -1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, -1, 225, 226, -1, 228, -1, 230, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, 246, -1, -1, -1, 250, 251,
+ 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
+ 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, 344, 345, 346, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, 366, 367, -1, 369, -1, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
-1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, -1, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, 71, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, -1, 118, 119, -1, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, 130, -1, 132, 133, 134, -1,
- 136, -1, -1, 139, -1, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- -1, 157, 158, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, -1, -1, 180, 181, 182, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
- 216, 217, 218, 219, -1, -1, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- 236, 237, 238, -1, 240, 241, 242, 243, 244, -1,
- 246, -1, -1, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, -1, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, -1, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, -1, 329, -1, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, -1, -1,
- -1, -1, -1, -1, -1, -1, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
- 8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, -1, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, 71, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, -1,
- 118, 119, -1, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, 130, -1, 132, 133, 134, -1, 136, -1,
- -1, 139, -1, 141, 142, 143, 144, 145, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, 157,
- -1, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- -1, -1, 180, 181, 182, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, -1, 216, 217,
- 218, 219, -1, -1, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, -1, 237,
- 238, -1, 240, 241, 242, 243, 244, -1, 246, -1,
- -1, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, -1, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, 294, 295, 296, 297,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, -1, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, -1, -1, 327,
- -1, 329, -1, -1, 332, 333, 334, 335, 336, -1,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, -1, 350, 351, 352, 353, 354, 355, -1, -1,
- 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
- -1, -1, -1, -1, 372, 373, 374, -1, -1, -1,
- -1, -1, 380, 3, 4, 5, 6, 7, 8, 9,
+ 46, 47, -1, 49, 50, 51, 52, -1, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, 73, 74, 75,
+ -1, -1, -1, 79, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, -1, 123, 124, -1,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ 136, -1, 138, 139, 140, -1, 142, -1, -1, 145,
+ -1, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, 164, -1,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, -1, -1, 189, 190, 191, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
+ 226, 227, 228, 229, -1, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ -1, 247, 248, 249, -1, 251, 252, 253, 254, 255,
+ 256, -1, 258, -1, 260, -1, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, 291, 292, 293, -1, 295,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, 313, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, -1, 328, -1, 330, 331, 332, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, -1, 345,
+ -1, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ -1, 367, -1, 369, 370, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, -1, -1,
+ -1, -1, -1, -1, -1, -1, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
-1, -1, 22, 23, -1, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
- 40, -1, -1, 43, 44, 45, 46, -1, 48, 49,
- 50, 51, -1, -1, -1, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, 66, -1, 68, 69,
- 70, 71, 72, 73, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, 84, 85, 86, -1, 88, -1,
- 90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
- -1, 101, 102, 103, 104, 105, -1, 107, 108, 109,
- -1, 111, 112, -1, 114, 115, 116, -1, 118, 119,
- -1, -1, 122, 123, 124, 125, -1, 127, -1, 129,
- 130, -1, 132, 133, 134, -1, 136, -1, -1, 139,
- -1, 141, 142, 143, 144, 145, 146, 147, 148, -1,
- 150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
- 160, 161, 162, 163, 164, -1, 166, -1, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, -1, -1,
- 180, 181, 182, -1, 184, 185, 186, -1, -1, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, -1, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, -1, 216, 217, 218, 219,
- -1, -1, 222, 223, 224, 225, -1, -1, 228, -1,
- -1, -1, 232, 233, -1, -1, -1, 237, 238, -1,
- 240, 241, 242, 243, 244, -1, 246, -1, -1, 249,
- 250, 251, -1, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 274, 275, 276, 277, 278, -1,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, -1, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, 73, 74, 75, -1, -1, -1, 79,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, -1, 123, 124, -1, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, 136, -1, 138, 139,
+ 140, -1, 142, -1, -1, 145, -1, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, 164, -1, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, -1, -1, 189,
+ 190, 191, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, -1, 225, 226, 227, 228, -1,
+ -1, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, -1, 247, 248, 249,
+ -1, 251, 252, 253, 254, 255, 256, -1, 258, -1,
+ 260, -1, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
- 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
- -1, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, -1, 312, -1, 314, 315, -1, 317, 318, 319,
- 320, 321, -1, 323, 324, -1, -1, 327, -1, 329,
- -1, -1, 332, 333, 334, 335, 336, -1, -1, 339,
- 340, 341, 342, -1, -1, 345, 346, 347, 348, -1,
- 350, 351, 352, 353, 354, 355, -1, -1, 358, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, 372, 373, 374, -1, -1, -1, -1, -1,
- 380, 3, 4, 5, 6, 7, 8, 9, 10, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, -1, 36, 37, 38, 39, 40, -1,
- -1, 43, 44, 45, 46, -1, 48, 49, 50, 51,
- -1, -1, -1, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
- 72, 73, -1, -1, -1, -1, -1, 79, 80, 81,
- 82, 83, 84, 85, 86, -1, 88, -1, 90, 91,
- 92, 93, 94, -1, 96, 97, 98, -1, -1, 101,
- 102, 103, 104, 105, -1, 107, 108, 109, -1, 111,
- 112, -1, 114, 115, 116, -1, 118, 119, -1, -1,
- 122, 123, 124, 125, -1, 127, -1, 129, 130, -1,
- 132, 133, 134, -1, 136, -1, -1, 139, -1, 141,
- 142, 143, 144, 145, 146, 147, 148, -1, 150, 151,
- 152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
- 162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, -1, -1, 180, 181,
- 182, -1, 184, 185, 186, -1, -1, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, -1, 206, 207, 208, 209, 210, 211,
- 212, -1, 214, -1, 216, 217, 218, 219, 220, -1,
- 222, 223, 224, 225, -1, -1, 228, -1, -1, -1,
- 232, 233, -1, -1, -1, 237, 238, -1, 240, 241,
- 242, 243, 244, -1, 246, -1, -1, 249, 250, 251,
- -1, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, 274, 275, 276, 277, 278, -1, 280, 281,
- 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
- -1, 293, 294, 295, 296, 297, 298, 299, -1, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, -1,
- 312, -1, 314, 315, -1, 317, 318, 319, 320, 321,
- -1, 323, 324, -1, -1, 327, -1, 329, -1, -1,
- 332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
- 342, -1, -1, 345, 346, 347, 348, -1, 350, 351,
- 352, 353, 354, 355, -1, -1, 358, 359, 360, 361,
- 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
- 372, 373, 374, -1, -1, -1, -1, -1, 380, 3,
+ 290, 291, 292, 293, -1, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, 313, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, -1, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, -1, 345, -1, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, -1, 367, -1, 369,
+ 370, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, -1, -1, -1, -1, -1, -1,
+ -1, -1, 392, 393, 394, -1, -1, -1, 398, 3,
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
-1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, -1, 36, 37, 38, 39, 40, -1, -1, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, -1, -1,
- -1, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, 66, -1, 68, 69, 70, 71, 72, 73,
- -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
- 84, 85, 86, -1, 88, -1, 90, 91, 92, 93,
- 94, -1, 96, 97, 98, -1, -1, 101, 102, 103,
- 104, 105, -1, 107, 108, 109, -1, 111, 112, -1,
- 114, 115, 116, -1, 118, 119, -1, -1, 122, 123,
- 124, 125, -1, 127, -1, 129, 130, -1, 132, 133,
- 134, -1, 136, -1, -1, 139, -1, 141, 142, 143,
- 144, 145, 146, 147, 148, -1, 150, 151, 152, 153,
- 154, 155, -1, 157, -1, 159, 160, 161, 162, 163,
- 164, -1, 166, -1, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, -1, -1, 180, 181, 182, -1,
- 184, 185, 186, -1, -1, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, -1, 206, 207, 208, 209, 210, 211, 212, -1,
- 214, -1, 216, 217, 218, 219, -1, -1, 222, 223,
- 224, 225, -1, -1, 228, -1, -1, -1, 232, 233,
- -1, -1, -1, 237, 238, -1, 240, 241, 242, 243,
- 244, -1, 246, -1, -1, 249, 250, 251, -1, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, -1, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 274, 275, 276, 277, 278, -1, 280, 281, 282, 283,
- 284, 285, 286, 287, -1, 289, 290, 291, -1, 293,
- 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, -1, 312, -1,
- 314, 315, -1, 317, 318, 319, 320, 321, -1, 323,
- 324, -1, -1, 327, -1, 329, -1, -1, 332, 333,
- 334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
- -1, 345, 346, 347, 348, -1, 350, 351, 352, 353,
- 354, 355, -1, -1, 358, 359, 360, 361, 362, 363,
- -1, -1, -1, -1, -1, -1, -1, -1, 372, 373,
- 374, -1, -1, -1, -1, -1, 380, 3, 4, 5,
- 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
- 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
- 46, -1, 48, 49, 50, 51, -1, -1, -1, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, 71, 72, 73, -1, -1,
- -1, -1, -1, 79, 80, 81, 82, 83, 84, 85,
- 86, -1, 88, -1, 90, 91, 92, 93, 94, -1,
- 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
- -1, 107, 108, 109, -1, 111, 112, -1, 114, 115,
- 116, -1, 118, 119, -1, -1, 122, 123, 124, 125,
- -1, 127, -1, 129, 130, -1, 132, 133, 134, -1,
- 136, -1, -1, 139, -1, 141, 142, 143, 144, 145,
- 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
- -1, 157, -1, 159, 160, 161, 162, 163, 164, -1,
- 166, -1, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, -1, -1, 180, 181, 182, -1, 184, 185,
- 186, -1, -1, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
- 206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
- 216, 217, 218, 219, -1, -1, 222, 223, 224, 225,
- -1, -1, 228, -1, -1, -1, 232, 233, -1, -1,
- -1, 237, 238, -1, 240, 241, 242, 243, 244, -1,
- 246, -1, -1, 249, 250, 251, -1, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 274, 275,
- 276, 277, 278, -1, 280, 281, 282, 283, 284, 285,
- 286, 287, -1, 289, 290, 291, -1, 293, 294, 295,
- 296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, -1, 312, -1, 314, 315,
- -1, 317, 318, 319, 320, 321, -1, 323, 324, -1,
- -1, 327, -1, 329, -1, -1, 332, 333, 334, 335,
- 336, -1, -1, 339, 340, 341, 342, -1, -1, 345,
- 346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
- -1, -1, 358, 359, 360, 361, 362, 363, -1, -1,
- -1, -1, -1, -1, -1, -1, 372, 373, 374, -1,
- -1, -1, -1, -1, 380, 3, 4, 5, 6, 7,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, -1,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
+ 74, 75, -1, -1, -1, 79, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, -1, 123,
+ 124, -1, -1, 127, -1, 129, 130, 131, -1, 133,
+ -1, 135, 136, -1, 138, 139, 140, -1, 142, -1,
+ -1, 145, -1, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ 164, -1, 166, 167, 168, 169, 170, 171, -1, 173,
+ -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, -1, -1, 189, 190, 191, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ -1, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ -1, 225, 226, 227, 228, -1, -1, 231, 232, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, -1, 247, 248, 249, -1, 251, 252, 253,
+ 254, 255, 256, -1, 258, -1, 260, -1, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ -1, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, 310, 311, 312, 313,
+ 314, 315, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, -1, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, 339, 340, -1, -1, 343,
+ -1, 345, -1, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, -1, 367, -1, 369, 370, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ -1, -1, -1, -1, -1, -1, -1, -1, 392, 393,
+ 394, -1, -1, -1, 398, 3, 4, 5, 6, 7,
8, 9, 10, -1, 12, 13, 14, -1, -1, -1,
-1, -1, -1, -1, 22, 23, -1, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, -1, 36, 37,
- 38, 39, 40, -1, -1, 43, 44, 45, 46, -1,
- 48, 49, 50, 51, -1, -1, -1, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, 66, -1,
- 68, 69, 70, 71, 72, 73, -1, -1, -1, -1,
- -1, 79, 80, 81, 82, 83, 84, 85, 86, -1,
- 88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
- 98, -1, -1, 101, 102, 103, 104, 105, -1, 107,
- 108, 109, -1, 111, 112, -1, 114, 115, 116, -1,
- 118, 119, -1, -1, 122, 123, 124, 125, -1, 127,
- -1, 129, 130, -1, 132, 133, 134, -1, 136, -1,
- -1, 139, -1, 141, 142, 143, 144, 145, 146, 147,
- 148, -1, 150, 151, 152, 153, 154, 155, -1, 157,
- -1, 159, 160, 161, 162, 163, 164, -1, 166, -1,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- -1, -1, 180, 181, 182, -1, 184, 185, 186, -1,
- -1, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, -1, 206, 207,
- 208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
- 218, 219, -1, -1, 222, 223, 224, 225, -1, -1,
- 228, -1, -1, -1, 232, 233, -1, -1, -1, 237,
- 238, -1, 240, 241, 242, 243, 244, -1, 246, -1,
- -1, 249, 250, 251, -1, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, 274, 275, 276, 277,
- 278, -1, 280, 281, 282, 283, 284, 285, 286, 287,
- -1, 289, 290, 291, -1, 293, -1, 295, 296, 297,
- 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, -1, 312, -1, 314, 315, -1, 317,
- 318, 319, 320, 321, -1, 323, 324, 10, -1, 327,
- -1, 329, -1, -1, 332, 333, 334, 335, 336, 22,
- -1, 339, 340, 341, 342, -1, -1, 345, 346, 347,
- 348, -1, 350, 351, 352, 353, 354, 355, -1, 42,
- 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
- -1, -1, -1, -1, 372, 373, 374, -1, -1, -1,
- -1, 64, 380, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 81, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 102,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 133, -1, -1, -1, -1, 138, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 152,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 232,
- -1, -1, -1, -1, -1, -1, -1, 240, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 255, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 277, -1, -1, -1, 281, -1,
- 283, -1, -1, -1, -1, -1, 289, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 316, 317, -1, -1, -1, 321, -1,
- -1, -1, -1, -1, -1, -1, 329, -1, -1, -1,
- -1, 334, -1, -1, -1, -1, -1, -1, -1, -1,
- 343, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 354
+ 38, 39, 40, -1, -1, 43, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, -1, -1, -1, 56, 57,
+ 58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
+ 68, -1, 70, 71, 72, 73, 74, 75, -1, -1,
+ -1, 79, -1, -1, -1, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
+ 98, 99, -1, 101, 102, 103, -1, -1, 106, 107,
+ 108, 109, 110, -1, 112, 113, 114, -1, 116, 117,
+ -1, 119, 120, 121, -1, 123, 124, -1, -1, 127,
+ -1, 129, 130, 131, -1, 133, -1, 135, 136, -1,
+ 138, 139, 140, -1, 142, -1, -1, 145, -1, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
+ 158, 159, 160, 161, 162, -1, 164, -1, 166, 167,
+ 168, 169, 170, 171, -1, 173, -1, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
+ -1, 189, 190, 191, -1, 193, 194, 195, -1, -1,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, -1, 215, 216, 217,
+ 218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
+ 228, -1, -1, 231, 232, 233, 234, -1, -1, 237,
+ -1, -1, -1, 241, 242, 243, -1, -1, -1, 247,
+ 248, 249, -1, 251, 252, 253, 254, 255, 256, -1,
+ 258, -1, 260, -1, 262, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ -1, 289, 290, 291, 292, 293, -1, 295, 296, 297,
+ 298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, 313, 314, 315, -1, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
+ 328, -1, 330, 331, -1, 333, 334, 335, 336, 337,
+ -1, 339, 340, -1, -1, 343, -1, 345, -1, -1,
+ 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
+ 358, 359, -1, -1, 362, 363, 364, 365, -1, 367,
+ -1, 369, 370, 371, 372, 373, -1, -1, 376, -1,
+ -1, 379, 380, 381, 382, 383, -1, -1, -1, -1,
+ -1, -1, -1, -1, 392, 393, 394, -1, -1, -1,
+ 398, 3, 4, 5, 6, 7, 8, 9, 10, -1,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ 22, 23, -1, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, -1, 36, 37, 38, 39, 40, -1,
+ -1, 43, 44, 45, 46, 47, -1, 49, 50, 51,
+ 52, -1, -1, -1, 56, 57, 58, 59, 60, 61,
+ -1, 63, 64, 65, 66, 67, 68, -1, 70, 71,
+ 72, 73, 74, 75, -1, -1, -1, 79, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ -1, 93, -1, 95, 96, 97, 98, 99, -1, 101,
+ 102, 103, -1, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, -1, 116, 117, -1, 119, 120, 121,
+ -1, 123, 124, -1, -1, 127, -1, 129, 130, 131,
+ -1, 133, -1, 135, 136, -1, 138, 139, 140, -1,
+ 142, -1, -1, 145, -1, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, -1, 157, 158, 159, 160, 161,
+ 162, -1, 164, -1, 166, 167, 168, 169, 170, 171,
+ -1, 173, -1, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, -1, -1, 189, 190, 191,
+ -1, 193, 194, 195, -1, -1, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, -1, 215, 216, 217, 218, 219, 220, 221,
+ -1, 223, -1, 225, 226, 227, 228, -1, -1, 231,
+ 232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
+ 242, 243, -1, -1, -1, 247, 248, 249, -1, 251,
+ 252, 253, 254, 255, 256, -1, 258, -1, 260, -1,
+ 262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
+ 292, 293, -1, 295, 296, 297, 298, 299, 300, 301,
+ 302, -1, 304, 305, 306, 307, -1, 309, 310, 311,
+ 312, 313, 314, 315, -1, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, -1, 328, -1, 330, 331,
+ -1, 333, 334, 335, 336, 337, -1, 339, 340, -1,
+ -1, 343, -1, 345, -1, -1, 348, 349, 350, 351,
+ 352, 353, -1, -1, 356, 357, 358, 359, -1, -1,
+ 362, 363, 364, 365, -1, 367, -1, 369, 370, 371,
+ 372, 373, -1, -1, 376, -1, -1, 379, 380, 381,
+ 382, 383, -1, -1, -1, -1, -1, -1, -1, -1,
+ 392, 393, 394, -1, -1, -1, 398, 3, 4, 5,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, 25,
+ -1, 27, 28, 29, -1, 31, -1, 33, 34, -1,
+ 36, 37, 38, 39, 40, -1, -1, 43, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, -1,
+ 56, 57, 58, 59, 60, 61, -1, 63, 64, 65,
+ 66, 67, 68, -1, 70, 71, 72, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
+ 96, 97, 98, 99, -1, 101, 102, 103, -1, -1,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
+ 116, 117, -1, 119, 120, 121, 122, 123, 124, 125,
+ -1, 127, -1, 129, 130, 131, -1, 133, -1, 135,
+ -1, -1, -1, 139, 140, -1, 142, 143, -1, 145,
+ -1, 147, 148, 149, 150, 151, -1, 153, 154, 155,
+ -1, 157, 158, 159, 160, 161, 162, -1, -1, 165,
+ 166, 167, 168, 169, 170, 171, -1, 173, -1, 175,
+ -1, -1, 178, -1, 180, 181, 182, 183, 184, 185,
+ 186, -1, 188, -1, 190, -1, -1, 193, 194, 195,
+ -1, -1, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, -1, 225,
+ 226, -1, 228, -1, 230, 231, 232, 233, 234, -1,
+ -1, 237, -1, -1, -1, 241, 242, 243, -1, -1,
+ 246, -1, -1, -1, 250, 251, 252, 253, 254, -1,
+ 256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
+ 266, 267, 268, 269, 270, -1, 272, 273, 274, 275,
+ 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, -1, 289, 290, -1, 292, 293, 294, -1,
+ 296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
+ -1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, 330, 331, -1, 333, 334, 335,
+ 336, 337, -1, 339, 340, -1, -1, 343, 344, 345,
+ 346, -1, 348, 349, 350, 351, 352, 353, -1, -1,
+ 356, 357, 358, 359, -1, -1, 362, 363, 364, 365,
+ 366, 367, -1, 369, -1, 371, 372, 373, -1, -1,
+ 376, -1, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, 398, 3, 4, 5, 6, 7, 8, 9,
+ 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, 22, 23, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
+ 40, -1, -1, 43, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, -1, -1, -1, 56, 57, 58, 59,
+ 60, 61, -1, 63, 64, 65, 66, 67, 68, -1,
+ 70, 71, 72, 73, 74, 75, -1, -1, -1, 79,
+ -1, -1, -1, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, -1, 93, -1, 95, 96, 97, 98, 99,
+ -1, 101, 102, 103, -1, -1, 106, 107, 108, 109,
+ 110, -1, 112, 113, 114, -1, 116, 117, -1, 119,
+ 120, 121, -1, 123, 124, -1, -1, 127, -1, 129,
+ 130, 131, -1, 133, -1, 135, 136, -1, 138, 139,
+ 140, -1, 142, -1, -1, 145, -1, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, -1, 157, 158, 159,
+ 160, 161, 162, -1, 164, -1, 166, 167, 168, 169,
+ 170, 171, -1, 173, -1, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, -1, -1, 189,
+ 190, 191, -1, 193, 194, 195, -1, -1, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, -1, 215, 216, 217, 218, 219,
+ 220, 221, -1, 223, -1, 225, 226, 227, 228, -1,
+ -1, 231, 232, 233, 234, -1, -1, 237, -1, -1,
+ -1, 241, 242, 243, -1, -1, -1, 247, 248, 249,
+ -1, 251, 252, 253, 254, 255, 256, -1, 258, -1,
+ 260, -1, 262, 263, 264, -1, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
+ 290, 291, 292, 293, -1, 295, 296, 297, 298, 299,
+ 300, 301, 302, -1, 304, 305, 306, 307, -1, 309,
+ -1, 311, 312, 313, 314, 315, -1, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, -1, 328, -1,
+ 330, 331, -1, 333, 334, 335, 336, 337, -1, 339,
+ 340, -1, -1, 343, -1, 345, -1, -1, 348, 349,
+ 350, 351, 352, 353, -1, -1, 356, 357, 358, 359,
+ -1, -1, 362, 363, 364, 365, -1, 367, -1, 369,
+ 370, 371, 372, 373, -1, -1, 376, -1, -1, 379,
+ 380, 381, 382, 383, -1, -1, -1, -1, -1, -1,
+ -1, -1, 392, 393, 394, -1, -1, -1, 398, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, 25, 26, 27, 28, 29, 30, -1, 32, -1,
+ -1, -1, 36, 37, 38, 39, 40, -1, -1, 43,
+ 44, -1, -1, 47, -1, 49, 50, 51, 52, -1,
+ -1, -1, 56, 57, 58, 59, 60, 61, -1, 63,
+ 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
+ 74, 75, -1, -1, -1, 79, -1, -1, -1, 83,
+ 84, 85, 86, 87, 88, -1, -1, 91, -1, 93,
+ -1, 95, 96, 97, 98, 99, -1, 101, 102, 103,
+ -1, -1, 106, 107, 108, 109, 110, -1, 112, 113,
+ 114, -1, 116, 117, -1, 119, 120, 121, -1, 123,
+ 124, -1, -1, 127, -1, 129, -1, 131, -1, 133,
+ -1, 135, 136, -1, 138, 139, 140, -1, 142, -1,
+ -1, 145, -1, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, -1, 157, 158, 159, 160, 161, 162, -1,
+ 164, -1, 166, 167, 168, 169, -1, -1, -1, -1,
+ -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, -1, -1, 189, 190, 191, -1, 193,
+ 194, 195, -1, -1, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, -1, 212, -1,
+ -1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
+ -1, 225, 226, 227, 228, -1, -1, 231, -1, 233,
+ 234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
+ -1, -1, -1, 247, 248, 249, -1, 251, 252, 253,
+ 254, 255, 256, -1, 258, -1, 260, -1, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 272, -1,
+ 274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ -1, 295, 296, 297, 298, 299, 300, 301, 302, -1,
+ 304, 305, 306, 307, -1, 309, -1, 311, 312, 313,
+ 314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, -1, 328, -1, 330, 331, -1, 333,
+ 334, 335, 336, 337, -1, -1, -1, -1, -1, 343,
+ -1, 345, -1, -1, 348, 349, 350, 351, 352, 353,
+ -1, -1, 356, 357, 358, 359, -1, -1, 362, 363,
+ 364, 365, -1, -1, -1, 369, 370, 371, 372, 373,
+ -1, -1, 376, -1, -1, 379, 380, 381, 382, 383,
+ -1, -1, -1, -1, -1, -1, -1, -1, 392, 393,
+ 394, -1, -1, -1, 398
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const unsigned short int yystos[] =
{
- 0, 3, 13, 15, 16, 29, 48, 50, 51, 55,
- 56, 65, 67, 83, 86, 92, 98, 104, 110, 116,
- 118, 123, 135, 161, 184, 185, 190, 199, 217, 250,
- 260, 263, 265, 270, 275, 278, 282, 288, 293, 296,
- 303, 332, 340, 342, 345, 349, 401, 409, 410, 411,
- 412, 416, 417, 418, 419, 420, 421, 422, 423, 424,
- 426, 427, 431, 441, 443, 444, 447, 448, 449, 457,
- 458, 467, 495, 500, 501, 508, 513, 515, 517, 518,
- 531, 532, 533, 534, 544, 550, 551, 554, 555, 556,
- 557, 558, 563, 564, 567, 570, 571, 581, 582, 585,
- 593, 607, 610, 611, 612, 615, 617, 619, 622, 624,
- 625, 626, 634, 635, 636, 637, 638, 643, 645, 646,
- 650, 651, 654, 655, 656, 658, 659, 660, 661, 663,
- 664, 665, 670, 673, 676, 678, 679, 684, 686, 690,
- 697, 700, 701, 702, 703, 704, 725, 327, 361, 639,
- 10, 64, 81, 102, 133, 138, 152, 232, 255, 277,
- 283, 289, 316, 317, 321, 329, 334, 343, 354, 514,
- 639, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 22, 23, 25, 27, 28, 29, 31,
- 33, 34, 36, 37, 38, 39, 40, 43, 44, 45,
- 46, 48, 49, 50, 51, 52, 55, 56, 57, 58,
- 59, 60, 62, 63, 64, 65, 66, 68, 69, 70,
- 72, 73, 79, 80, 81, 82, 83, 84, 85, 86,
- 88, 90, 91, 92, 93, 94, 96, 97, 98, 101,
- 102, 103, 104, 105, 107, 108, 109, 111, 112, 114,
- 115, 116, 117, 118, 119, 120, 122, 123, 124, 125,
- 127, 129, 133, 134, 136, 137, 139, 141, 142, 143,
- 144, 146, 147, 148, 150, 151, 152, 153, 154, 155,
- 158, 159, 160, 161, 162, 163, 164, 166, 168, 171,
- 173, 174, 175, 176, 177, 179, 181, 184, 185, 186,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 204, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 216, 217, 219, 221, 222, 223,
- 224, 225, 228, 232, 233, 236, 239, 240, 241, 242,
- 243, 244, 246, 247, 248, 249, 250, 251, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, 274, 275, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 289, 290, 291, 293, 294, 295, 296, 298, 299, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 314, 315, 317, 318, 319, 320, 321, 323, 324,
- 327, 328, 329, 330, 332, 333, 334, 335, 336, 339,
- 340, 341, 342, 345, 346, 347, 348, 349, 350, 351,
- 353, 354, 355, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 380, 815, 827, 830, 831, 205, 229, 811, 813, 819,
- 827, 834, 230, 251, 639, 32, 463, 701, 10, 22,
- 42, 61, 81, 87, 102, 134, 138, 186, 232, 234,
- 277, 283, 317, 318, 320, 321, 329, 333, 334, 338,
- 343, 468, 509, 547, 586, 594, 11, 250, 815, 815,
- 131, 11, 246, 318, 320, 10, 22, 42, 64, 81,
- 102, 133, 138, 152, 232, 240, 277, 281, 283, 289,
- 316, 317, 321, 329, 334, 343, 354, 514, 559, 639,
- 815, 665, 672, 4, 11, 27, 124, 129, 177, 206,
- 253, 264, 386, 393, 568, 815, 826, 11, 67, 262,
- 288, 572, 573, 574, 827, 167, 827, 382, 820, 824,
- 316, 707, 568, 815, 827, 327, 815, 240, 81, 152,
- 315, 316, 620, 282, 827, 11, 291, 323, 327, 433,
- 827, 8, 135, 572, 573, 251, 639, 827, 11, 99,
- 709, 62, 186, 201, 277, 291, 323, 327, 363, 432,
- 433, 11, 291, 323, 327, 433, 327, 707, 394, 827,
- 231, 734, 735, 813, 827, 132, 667, 401, 808, 701,
- 702, 0, 405, 352, 666, 113, 165, 235, 337, 710,
- 711, 406, 26, 30, 32, 71, 130, 132, 145, 157,
- 169, 170, 172, 180, 182, 203, 218, 237, 238, 276,
- 297, 352, 380, 811, 821, 828, 830, 832, 561, 827,
- 816, 827, 561, 580, 821, 825, 827, 734, 49, 122,
- 385, 388, 389, 390, 392, 393, 394, 395, 396, 397,
- 614, 777, 778, 827, 825, 815, 734, 813, 734, 815,
- 285, 815, 561, 825, 734, 175, 171, 258, 640, 641,
- 642, 399, 404, 802, 803, 344, 662, 230, 10, 42,
- 54, 61, 64, 81, 102, 133, 152, 176, 232, 277,
- 281, 283, 289, 316, 317, 321, 329, 334, 354, 514,
- 565, 824, 813, 325, 821, 815, 401, 329, 816, 561,
- 318, 320, 825, 318, 320, 49, 122, 614, 268, 825,
- 428, 827, 815, 285, 815, 561, 825, 289, 316, 354,
- 514, 64, 152, 133, 281, 11, 815, 698, 735, 144,
- 821, 815, 144, 618, 144, 816, 144, 821, 144, 814,
- 815, 49, 122, 144, 614, 36, 144, 814, 144, 815,
- 144, 815, 285, 144, 815, 144, 814, 175, 144, 560,
- 561, 401, 677, 666, 826, 11, 826, 11, 826, 826,
- 386, 131, 149, 569, 254, 230, 325, 406, 813, 812,
- 813, 569, 824, 401, 674, 36, 815, 815, 813, 827,
- 26, 374, 171, 404, 233, 233, 230, 131, 824, 325,
- 230, 19, 31, 33, 34, 41, 42, 44, 45, 52,
- 74, 75, 76, 77, 78, 84, 85, 103, 117, 120,
- 121, 125, 137, 163, 164, 166, 179, 187, 188, 202,
- 204, 215, 220, 221, 223, 232, 239, 247, 259, 279,
- 292, 299, 311, 323, 324, 328, 330, 331, 338, 343,
- 350, 365, 366, 367, 368, 369, 370, 371, 381, 383,
- 384, 385, 386, 387, 392, 393, 394, 401, 701, 744,
- 747, 750, 751, 752, 754, 755, 756, 757, 760, 761,
- 764, 766, 767, 775, 779, 796, 801, 809, 810, 811,
- 821, 822, 823, 824, 11, 445, 812, 291, 432, 87,
- 439, 824, 382, 440, 827, 26, 46, 432, 374, 641,
- 233, 131, 325, 388, 26, 374, 171, 642, 812, 401,
- 813, 20, 827, 293, 394, 130, 668, 87, 764, 806,
- 807, 402, 402, 411, 813, 11, 99, 708, 708, 36,
- 708, 126, 183, 227, 714, 720, 722, 723, 808, 803,
- 401, 539, 241, 266, 404, 562, 241, 266, 293, 359,
- 413, 441, 442, 7, 104, 241, 293, 454, 38, 66,
- 119, 147, 241, 266, 274, 280, 287, 293, 301, 309,
- 355, 442, 603, 608, 401, 595, 7, 104, 266, 425,
- 241, 266, 270, 293, 452, 453, 561, 561, 401, 404,
- 266, 413, 442, 241, 266, 266, 293, 502, 7, 13,
- 51, 97, 104, 107, 154, 207, 266, 293, 450, 451,
- 453, 241, 266, 59, 96, 242, 319, 230, 241, 293,
- 266, 413, 442, 266, 815, 181, 231, 362, 406, 640,
- 764, 11, 15, 16, 17, 18, 19, 20, 21, 24,
- 35, 41, 42, 47, 53, 54, 61, 67, 74, 75,
- 76, 77, 78, 87, 89, 95, 99, 100, 106, 110,
- 113, 121, 126, 128, 131, 135, 138, 140, 149, 156,
- 165, 167, 178, 183, 187, 188, 205, 215, 220, 226,
- 227, 229, 230, 231, 234, 235, 245, 252, 262, 273,
- 288, 292, 300, 313, 316, 322, 325, 326, 331, 337,
- 338, 343, 344, 356, 357, 380, 394, 818, 829, 830,
- 831, 832, 833, 802, 819, 827, 813, 821, 401, 815,
- 821, 224, 49, 122, 614, 815, 285, 815, 175, 561,
- 401, 482, 306, 307, 460, 824, 401, 539, 540, 47,
- 31, 33, 34, 44, 45, 84, 85, 125, 163, 164,
- 166, 202, 204, 223, 259, 294, 299, 323, 324, 350,
- 380, 741, 743, 745, 747, 749, 751, 752, 753, 755,
- 756, 760, 761, 828, 830, 815, 413, 20, 657, 413,
- 561, 561, 401, 535, 468, 413, 26, 429, 241, 516,
- 59, 96, 242, 319, 9, 28, 519, 20, 535, 413,
- 813, 496, 813, 813, 175, 561, 58, 819, 821, 815,
- 32, 79, 160, 207, 284, 344, 685, 117, 539, 39,
- 272, 455, 117, 401, 117, 117, 595, 117, 406, 144,
- 561, 144, 561, 117, 401, 814, 117, 117, 230, 117,
- 59, 96, 242, 319, 117, 230, 117, 144, 440, 117,
- 406, 455, 764, 782, 67, 671, 676, 679, 684, 690,
- 697, 700, 815, 81, 133, 175, 283, 289, 316, 317,
- 575, 812, 814, 574, 87, 401, 680, 700, 149, 406,
- 687, 815, 741, 784, 20, 814, 127, 621, 621, 621,
- 181, 827, 126, 126, 575, 814, 282, 827, 401, 399,
- 701, 786, 351, 758, 764, 800, 401, 758, 758, 401,
- 401, 401, 401, 746, 746, 248, 701, 401, 401, 748,
- 401, 401, 401, 401, 44, 45, 758, 764, 401, 746,
- 401, 401, 401, 401, 401, 359, 360, 401, 762, 401,
- 762, 401, 401, 701, 401, 401, 401, 401, 401, 401,
- 401, 804, 764, 764, 349, 701, 764, 782, 824, 45,
- 401, 759, 401, 824, 17, 20, 25, 30, 145, 149,
- 169, 170, 182, 215, 218, 232, 234, 297, 385, 388,
- 389, 390, 392, 393, 394, 395, 396, 397, 403, 777,
- 779, 781, 238, 764, 167, 406, 705, 803, 401, 824,
- 90, 146, 446, 46, 87, 440, 20, 87, 186, 380,
- 381, 393, 438, 505, 506, 507, 761, 824, 826, 63,
- 101, 773, 73, 87, 121, 226, 230, 331, 434, 435,
- 437, 440, 505, 87, 434, 181, 455, 813, 827, 401,
- 691, 692, 693, 694, 695, 827, 666, 402, 406, 401,
- 669, 701, 703, 704, 703, 712, 713, 764, 703, 258,
- 295, 342, 11, 716, 764, 717, 764, 720, 721, 714,
- 715, 126, 723, 394, 784, 241, 266, 293, 325, 325,
- 818, 404, 325, 325, 432, 652, 47, 61, 128, 252,
- 338, 480, 481, 61, 87, 215, 325, 87, 215, 283,
- 230, 505, 287, 325, 325, 220, 505, 91, 168, 283,
- 272, 603, 609, 149, 158, 236, 294, 402, 596, 597,
- 598, 599, 601, 741, 828, 325, 343, 325, 325, 535,
- 317, 535, 406, 344, 344, 213, 613, 741, 614, 325,
- 414, 325, 325, 325, 283, 37, 80, 151, 194, 196,
- 207, 240, 271, 303, 503, 54, 480, 623, 623, 230,
- 281, 329, 61, 623, 14, 269, 281, 329, 813, 154,
- 325, 623, 283, 360, 406, 325, 325, 561, 561, 561,
- 561, 734, 325, 283, 325, 414, 325, 241, 266, 258,
- 267, 290, 436, 640, 400, 407, 539, 741, 230, 595,
- 505, 561, 561, 401, 169, 230, 59, 96, 242, 319,
- 230, 561, 169, 483, 484, 827, 359, 464, 413, 380,
- 541, 542, 535, 401, 743, 20, 19, 742, 82, 143,
- 195, 198, 286, 372, 401, 763, 562, 746, 9, 647,
- 741, 414, 547, 344, 536, 537, 829, 354, 414, 825,
- 67, 135, 430, 467, 500, 518, 570, 585, 643, 815,
- 189, 561, 561, 561, 561, 92, 161, 342, 520, 521,
- 111, 401, 414, 502, 20, 225, 401, 497, 482, 440,
- 126, 819, 230, 595, 20, 359, 360, 699, 284, 401,
- 701, 727, 728, 729, 734, 736, 767, 811, 821, 357,
- 738, 821, 455, 741, 816, 821, 455, 814, 815, 117,
- 344, 117, 344, 614, 613, 455, 814, 815, 813, 815,
- 815, 813, 814, 117, 455, 560, 561, 402, 406, 468,
- 814, 579, 580, 814, 814, 812, 812, 814, 325, 359,
- 583, 349, 681, 682, 827, 273, 683, 5, 115, 279,
- 295, 688, 813, 219, 689, 402, 406, 675, 679, 684,
- 690, 700, 325, 573, 572, 573, 131, 136, 584, 827,
- 782, 782, 785, 786, 401, 356, 797, 798, 764, 782,
- 823, 823, 782, 82, 143, 195, 198, 286, 372, 380,
- 382, 783, 787, 823, 782, 782, 823, 823, 758, 758,
- 764, 614, 764, 788, 392, 393, 765, 766, 775, 779,
- 790, 402, 782, 764, 782, 791, 323, 323, 823, 823,
- 764, 35, 131, 178, 326, 764, 782, 794, 782, 200,
- 764, 771, 772, 773, 200, 764, 773, 802, 402, 406,
- 293, 823, 823, 763, 764, 829, 323, 24, 313, 805,
- 764, 401, 701, 795, 99, 101, 121, 215, 220, 225,
- 331, 339, 764, 30, 145, 149, 182, 297, 401, 764,
- 325, 764, 764, 764, 764, 764, 764, 764, 764, 764,
- 741, 764, 11, 18, 300, 776, 279, 401, 775, 134,
- 186, 316, 318, 320, 706, 813, 810, 131, 726, 11,
- 99, 394, 402, 782, 327, 381, 401, 824, 406, 402,
- 695, 696, 406, 726, 388, 804, 664, 813, 806, 814,
- 406, 21, 95, 344, 591, 231, 225, 724, 724, 227,
- 406, 183, 402, 402, 325, 325, 283, 825, 815, 818,
- 825, 816, 60, 653, 401, 815, 173, 173, 401, 815,
- 220, 825, 764, 220, 815, 220, 91, 168, 825, 815,
- 230, 815, 236, 828, 402, 406, 599, 601, 598, 601,
- 828, 562, 825, 814, 825, 815, 815, 453, 817, 827,
- 817, 406, 402, 406, 825, 8, 60, 68, 69, 70,
- 109, 149, 154, 191, 208, 209, 210, 211, 212, 214,
- 244, 277, 312, 314, 336, 343, 346, 415, 825, 815,
- 815, 815, 505, 36, 504, 505, 505, 80, 194, 196,
- 36, 413, 413, 472, 827, 827, 815, 815, 11, 343,
- 815, 815, 827, 281, 329, 281, 329, 815, 11, 343,
- 815, 813, 815, 815, 815, 51, 228, 293, 451, 825,
- 815, 7, 13, 104, 241, 266, 241, 266, 535, 266,
- 266, 266, 825, 815, 825, 815, 325, 325, 57, 335,
- 258, 764, 169, 20, 561, 169, 169, 344, 344, 613,
- 220, 566, 824, 561, 561, 561, 561, 561, 561, 169,
- 566, 402, 406, 228, 131, 325, 459, 461, 388, 402,
- 406, 764, 19, 742, 741, 399, 399, 325, 325, 325,
- 325, 823, 746, 520, 60, 108, 189, 241, 317, 319,
- 648, 473, 126, 817, 402, 406, 388, 813, 429, 234,
- 468, 824, 535, 535, 535, 535, 230, 234, 401, 739,
- 740, 827, 116, 700, 813, 182, 469, 470, 471, 472,
- 477, 480, 498, 499, 827, 359, 360, 491, 20, 139,
- 824, 230, 813, 20, 175, 274, 602, 603, 604, 627,
- 142, 142, 126, 701, 728, 729, 20, 730, 827, 406,
- 71, 132, 157, 172, 180, 203, 276, 731, 730, 20,
- 730, 827, 803, 401, 73, 764, 683, 539, 20, 595,
- 561, 817, 561, 817, 401, 402, 230, 455, 230, 455,
- 440, 455, 764, 316, 406, 138, 576, 577, 825, 8,
- 584, 402, 406, 804, 809, 115, 295, 115, 295, 279,
- 342, 197, 741, 815, 131, 230, 576, 36, 455, 402,
- 400, 400, 406, 782, 764, 106, 798, 799, 20, 402,
- 402, 402, 402, 402, 131, 402, 402, 402, 402, 402,
- 406, 402, 245, 789, 402, 765, 765, 149, 169, 232,
- 388, 389, 390, 392, 393, 394, 395, 396, 397, 403,
- 779, 765, 402, 402, 126, 131, 792, 793, 402, 374,
- 374, 402, 402, 20, 794, 782, 794, 794, 131, 402,
- 402, 829, 20, 402, 406, 764, 829, 406, 764, 804,
- 764, 827, 402, 402, 374, 765, 765, 112, 782, 131,
- 99, 101, 121, 220, 225, 331, 339, 401, 112, 313,
- 805, 764, 795, 764, 325, 614, 764, 401, 701, 318,
- 320, 318, 320, 813, 707, 707, 727, 357, 737, 782,
- 782, 402, 402, 641, 823, 763, 435, 402, 406, 692,
- 738, 806, 402, 713, 232, 777, 780, 375, 376, 592,
- 814, 689, 689, 717, 717, 716, 825, 815, 815, 183,
- 764, 481, 401, 401, 483, 455, 159, 220, 562, 597,
- 601, 601, 396, 241, 266, 7, 104, 241, 266, 741,
- 241, 213, 741, 814, 183, 244, 138, 277, 220, 824,
- 814, 823, 244, 814, 341, 505, 561, 505, 505, 741,
- 104, 293, 334, 454, 455, 455, 815, 815, 815, 815,
- 325, 192, 192, 192, 325, 325, 325, 325, 325, 325,
- 325, 825, 815, 400, 566, 741, 169, 566, 566, 817,
- 817, 402, 169, 169, 169, 169, 169, 169, 566, 484,
- 460, 32, 72, 93, 112, 127, 141, 220, 228, 257,
- 462, 232, 393, 505, 538, 601, 780, 824, 833, 380,
- 542, 402, 399, 402, 823, 400, 823, 143, 195, 286,
- 195, 286, 286, 198, 402, 230, 183, 388, 649, 649,
- 649, 649, 649, 47, 61, 87, 89, 156, 215, 220,
- 252, 262, 338, 474, 475, 476, 334, 537, 538, 482,
- 268, 316, 813, 521, 543, 824, 402, 406, 741, 815,
- 401, 813, 402, 406, 402, 406, 228, 535, 228, 230,
- 492, 700, 510, 815, 325, 813, 344, 587, 605, 824,
- 440, 600, 601, 359, 604, 606, 230, 700, 402, 827,
- 401, 728, 172, 237, 732, 728, 732, 172, 731, 732,
- 172, 401, 827, 401, 782, 225, 455, 741, 455, 344,
- 455, 344, 455, 613, 455, 813, 813, 455, 496, 813,
- 580, 825, 359, 406, 578, 233, 700, 682, 115, 115,
- 814, 575, 455, 825, 786, 402, 322, 764, 110, 741,
- 764, 764, 764, 792, 765, 99, 101, 215, 225, 765,
- 765, 765, 765, 765, 765, 765, 765, 765, 741, 765,
- 764, 764, 793, 792, 762, 762, 741, 402, 402, 402,
- 782, 402, 406, 829, 772, 249, 310, 774, 402, 406,
- 353, 768, 20, 402, 759, 824, 764, 17, 17, 764,
- 402, 764, 131, 401, 784, 764, 765, 765, 112, 112,
- 764, 402, 112, 764, 707, 707, 707, 707, 813, 813,
- 764, 138, 718, 402, 402, 824, 402, 388, 695, 683,
- 401, 592, 649, 402, 483, 483, 402, 159, 396, 334,
- 325, 325, 133, 232, 308, 545, 546, 133, 232, 552,
- 553, 325, 325, 325, 826, 824, 814, 814, 824, 824,
- 473, 215, 215, 305, 308, 741, 815, 126, 126, 268,
- 126, 144, 825, 815, 825, 815, 815, 815, 815, 402,
- 566, 169, 169, 169, 566, 566, 566, 566, 566, 566,
- 344, 465, 466, 657, 657, 215, 257, 657, 657, 89,
- 156, 215, 528, 529, 530, 823, 359, 360, 400, 400,
- 763, 813, 649, 87, 823, 824, 87, 824, 87, 815,
- 87, 815, 87, 815, 401, 815, 765, 90, 146, 89,
- 220, 173, 813, 606, 741, 20, 813, 126, 522, 234,
- 402, 406, 740, 677, 469, 478, 155, 490, 471, 499,
- 827, 56, 317, 493, 377, 378, 379, 644, 347, 511,
- 562, 824, 587, 817, 401, 406, 602, 535, 92, 161,
- 288, 342, 632, 730, 401, 814, 728, 230, 344, 733,
- 728, 172, 728, 739, 401, 739, 827, 402, 387, 815,
- 402, 817, 817, 402, 455, 455, 20, 401, 135, 577,
- 584, 131, 764, 402, 402, 793, 131, 99, 101, 225,
- 401, 402, 364, 770, 782, 358, 358, 402, 764, 207,
- 764, 406, 769, 743, 763, 765, 765, 764, 784, 402,
- 17, 17, 764, 764, 112, 764, 402, 813, 813, 813,
- 813, 36, 140, 719, 824, 808, 614, 826, 402, 402,
- 606, 334, 825, 815, 823, 823, 741, 406, 823, 823,
- 406, 825, 815, 825, 220, 220, 507, 827, 344, 456,
- 814, 814, 561, 814, 117, 169, 566, 566, 566, 413,
- 94, 824, 824, 220, 483, 824, 824, 90, 146, 89,
- 530, 529, 400, 133, 133, 131, 527, 826, 764, 215,
- 475, 606, 482, 344, 494, 344, 700, 401, 105, 523,
- 116, 521, 824, 402, 114, 150, 479, 401, 491, 92,
- 104, 249, 815, 47, 47, 233, 510, 174, 512, 131,
- 401, 401, 588, 589, 767, 827, 824, 606, 325, 814,
- 402, 764, 401, 728, 733, 402, 739, 402, 455, 455,
- 455, 455, 233, 455, 576, 765, 131, 401, 784, 401,
- 402, 406, 402, 402, 348, 302, 402, 402, 402, 765,
- 765, 764, 782, 764, 763, 402, 262, 606, 494, 401,
- 821, 614, 546, 401, 401, 553, 764, 359, 268, 359,
- 359, 126, 566, 461, 824, 483, 580, 20, 616, 813,
- 528, 402, 494, 193, 485, 152, 817, 644, 279, 304,
- 524, 256, 491, 62, 88, 153, 62, 88, 153, 812,
- 492, 280, 280, 233, 233, 824, 561, 588, 764, 402,
- 406, 344, 561, 590, 590, 813, 402, 814, 402, 455,
- 765, 784, 402, 771, 782, 207, 373, 813, 494, 784,
- 595, 261, 401, 549, 784, 784, 560, 561, 560, 561,
- 814, 616, 23, 148, 126, 132, 243, 298, 230, 486,
- 487, 488, 317, 122, 548, 821, 492, 402, 493, 402,
- 402, 606, 589, 561, 591, 591, 737, 402, 402, 402,
- 402, 348, 482, 402, 613, 402, 402, 359, 105, 92,
- 342, 230, 488, 230, 487, 815, 561, 20, 401, 493,
- 606, 590, 493, 592, 592, 100, 485, 821, 402, 561,
- 279, 39, 207, 272, 293, 489, 489, 545, 381, 383,
- 384, 386, 525, 526, 824, 827, 493, 591, 737, 12,
- 162, 633, 486, 595, 549, 116, 6, 87, 220, 402,
- 406, 737, 592, 216, 401, 628, 630, 635, 679, 684,
- 690, 700, 528, 256, 526, 629, 630, 631, 701, 702,
- 821, 402, 405, 401, 631, 525, 402
+ 0, 3, 13, 15, 16, 29, 49, 51, 52, 56,
+ 57, 67, 69, 88, 91, 97, 103, 109, 115, 121,
+ 123, 128, 141, 168, 193, 194, 199, 208, 226, 263,
+ 274, 278, 280, 285, 290, 293, 297, 303, 309, 312,
+ 319, 332, 348, 357, 359, 362, 366, 378, 419, 427,
+ 428, 429, 430, 434, 435, 436, 437, 438, 439, 440,
+ 441, 442, 444, 445, 449, 459, 461, 462, 465, 466,
+ 467, 477, 478, 487, 515, 521, 522, 528, 534, 536,
+ 538, 539, 540, 541, 550, 554, 555, 556, 558, 559,
+ 560, 573, 574, 575, 576, 586, 592, 593, 596, 597,
+ 598, 599, 600, 605, 607, 610, 613, 614, 624, 625,
+ 628, 636, 655, 658, 659, 660, 663, 665, 667, 670,
+ 673, 674, 675, 683, 684, 685, 686, 687, 692, 694,
+ 695, 699, 700, 703, 704, 705, 707, 708, 709, 710,
+ 712, 713, 714, 719, 722, 725, 727, 728, 733, 735,
+ 739, 746, 749, 750, 751, 752, 753, 754, 781, 343,
+ 380, 688, 10, 66, 86, 107, 134, 139, 144, 159,
+ 241, 268, 292, 298, 304, 306, 332, 333, 337, 345,
+ 350, 360, 372, 535, 688, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 22, 23, 25,
+ 27, 28, 29, 31, 33, 34, 36, 37, 38, 39,
+ 40, 43, 44, 45, 46, 47, 49, 50, 51, 52,
+ 53, 56, 57, 58, 59, 60, 61, 63, 64, 65,
+ 66, 67, 68, 70, 71, 72, 74, 75, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, 93, 95, 96,
+ 97, 98, 99, 101, 102, 103, 106, 107, 108, 109,
+ 110, 112, 113, 114, 116, 117, 119, 120, 121, 122,
+ 123, 124, 125, 127, 129, 130, 131, 133, 135, 139,
+ 140, 142, 143, 145, 147, 148, 149, 150, 151, 153,
+ 154, 155, 157, 158, 159, 160, 161, 162, 165, 166,
+ 167, 168, 169, 170, 171, 173, 175, 178, 180, 181,
+ 182, 183, 184, 185, 186, 188, 190, 193, 194, 195,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 213, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 225, 226, 228, 230, 231, 232,
+ 233, 234, 237, 241, 242, 243, 246, 250, 251, 252,
+ 253, 254, 255, 256, 258, 259, 260, 261, 262, 263,
+ 264, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 289, 290, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 304, 305, 306, 307, 309,
+ 310, 311, 312, 314, 315, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 330, 331, 333,
+ 334, 335, 336, 337, 339, 340, 343, 344, 345, 346,
+ 348, 349, 350, 351, 352, 353, 356, 357, 358, 359,
+ 362, 363, 364, 365, 366, 367, 369, 371, 372, 373,
+ 376, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, 398, 883, 895,
+ 898, 899, 370, 715, 239, 264, 688, 32, 483, 750,
+ 10, 22, 42, 62, 86, 92, 107, 134, 140, 144,
+ 195, 241, 244, 292, 298, 306, 333, 334, 336, 337,
+ 345, 349, 350, 355, 360, 488, 529, 589, 629, 637,
+ 11, 263, 883, 883, 137, 11, 258, 334, 336, 10,
+ 22, 42, 66, 86, 107, 134, 139, 144, 159, 241,
+ 251, 292, 296, 298, 304, 306, 332, 333, 337, 345,
+ 350, 360, 372, 535, 601, 688, 883, 714, 721, 4,
+ 11, 27, 129, 135, 184, 215, 266, 279, 404, 410,
+ 411, 611, 883, 891, 894, 11, 69, 277, 303, 615,
+ 616, 617, 895, 174, 895, 400, 888, 892, 332, 759,
+ 611, 883, 895, 343, 883, 251, 86, 159, 331, 332,
+ 668, 297, 895, 11, 307, 339, 343, 451, 895, 8,
+ 141, 615, 616, 264, 688, 895, 11, 104, 761, 43,
+ 63, 195, 210, 292, 298, 307, 339, 343, 383, 450,
+ 451, 11, 307, 339, 343, 451, 343, 214, 238, 240,
+ 790, 879, 881, 895, 902, 759, 412, 895, 790, 792,
+ 138, 716, 419, 876, 276, 755, 756, 883, 750, 751,
+ 0, 423, 715, 118, 172, 245, 354, 762, 763, 750,
+ 752, 753, 424, 26, 30, 32, 73, 79, 136, 138,
+ 152, 164, 176, 177, 179, 189, 191, 212, 227, 247,
+ 248, 249, 291, 313, 370, 398, 879, 889, 896, 898,
+ 900, 603, 895, 884, 895, 603, 85, 623, 889, 893,
+ 895, 881, 50, 127, 403, 406, 407, 408, 410, 411,
+ 412, 413, 414, 415, 662, 845, 846, 895, 893, 883,
+ 881, 883, 790, 883, 300, 883, 603, 201, 893, 881,
+ 182, 178, 272, 689, 690, 691, 881, 887, 895, 10,
+ 42, 55, 62, 66, 86, 107, 139, 159, 183, 241,
+ 292, 296, 298, 304, 332, 333, 337, 345, 350, 372,
+ 535, 608, 892, 881, 341, 889, 883, 419, 345, 884,
+ 603, 85, 334, 336, 893, 334, 336, 50, 127, 662,
+ 283, 893, 446, 895, 883, 883, 300, 883, 603, 201,
+ 893, 304, 332, 372, 535, 66, 159, 139, 296, 11,
+ 883, 747, 792, 151, 889, 883, 151, 666, 151, 884,
+ 85, 151, 889, 151, 882, 883, 50, 127, 151, 662,
+ 36, 151, 882, 151, 883, 151, 883, 151, 883, 300,
+ 151, 883, 151, 201, 882, 182, 151, 602, 603, 419,
+ 726, 715, 894, 11, 894, 11, 894, 894, 891, 891,
+ 137, 156, 612, 267, 419, 419, 502, 502, 502, 239,
+ 341, 424, 502, 881, 790, 791, 612, 892, 419, 723,
+ 36, 883, 883, 881, 895, 26, 394, 178, 422, 242,
+ 242, 239, 137, 892, 341, 239, 19, 31, 33, 34,
+ 41, 42, 45, 46, 53, 76, 77, 78, 79, 80,
+ 81, 82, 89, 90, 108, 122, 125, 126, 130, 143,
+ 170, 171, 173, 188, 196, 197, 211, 213, 224, 229,
+ 230, 232, 241, 250, 259, 273, 294, 308, 315, 327,
+ 339, 340, 344, 346, 347, 355, 360, 367, 385, 386,
+ 387, 388, 389, 390, 391, 399, 401, 402, 403, 405,
+ 410, 411, 412, 419, 750, 801, 804, 807, 808, 809,
+ 811, 812, 813, 814, 817, 818, 822, 824, 825, 843,
+ 847, 864, 869, 877, 878, 879, 889, 890, 891, 892,
+ 892, 11, 463, 880, 881, 307, 450, 92, 457, 892,
+ 458, 892, 895, 892, 26, 47, 450, 394, 690, 242,
+ 137, 341, 406, 26, 394, 178, 691, 419, 881, 417,
+ 422, 870, 871, 412, 791, 20, 895, 309, 136, 717,
+ 92, 822, 874, 875, 755, 424, 419, 718, 420, 420,
+ 429, 881, 11, 104, 760, 760, 36, 760, 128, 132,
+ 192, 236, 766, 776, 778, 779, 762, 763, 876, 871,
+ 419, 581, 252, 281, 422, 604, 252, 281, 309, 378,
+ 431, 459, 460, 7, 109, 252, 309, 470, 381, 38,
+ 68, 124, 154, 252, 281, 289, 295, 302, 309, 317,
+ 325, 373, 460, 649, 656, 419, 638, 7, 109, 281,
+ 443, 7, 13, 52, 102, 109, 112, 161, 216, 252,
+ 281, 285, 309, 468, 469, 603, 603, 419, 661, 422,
+ 281, 309, 431, 460, 252, 281, 37, 84, 158, 203,
+ 205, 216, 251, 281, 286, 309, 319, 468, 524, 525,
+ 243, 252, 371, 544, 552, 281, 309, 468, 252, 281,
+ 60, 101, 253, 335, 239, 252, 281, 309, 132, 281,
+ 431, 460, 281, 309, 468, 883, 190, 240, 382, 424,
+ 689, 361, 711, 239, 889, 419, 883, 889, 233, 50,
+ 127, 662, 883, 300, 883, 182, 603, 502, 322, 323,
+ 480, 892, 419, 581, 582, 48, 31, 33, 34, 45,
+ 46, 89, 90, 130, 170, 171, 173, 211, 213, 232,
+ 273, 310, 315, 339, 340, 367, 398, 798, 800, 802,
+ 804, 806, 808, 809, 810, 812, 813, 817, 818, 896,
+ 898, 883, 431, 20, 706, 381, 431, 603, 603, 419,
+ 577, 488, 431, 26, 447, 350, 551, 252, 537, 60,
+ 101, 253, 335, 9, 28, 561, 20, 577, 132, 431,
+ 881, 516, 881, 881, 182, 603, 59, 887, 895, 889,
+ 883, 32, 83, 167, 216, 299, 361, 734, 122, 581,
+ 39, 287, 471, 122, 419, 122, 381, 122, 638, 122,
+ 424, 151, 603, 151, 603, 122, 661, 882, 122, 122,
+ 239, 122, 471, 122, 60, 101, 253, 335, 122, 239,
+ 122, 132, 151, 151, 458, 122, 424, 471, 822, 850,
+ 69, 515, 720, 725, 728, 733, 739, 746, 749, 883,
+ 419, 503, 504, 895, 503, 86, 134, 139, 182, 298,
+ 304, 332, 333, 618, 880, 882, 617, 92, 419, 729,
+ 749, 156, 424, 736, 883, 798, 851, 20, 882, 133,
+ 669, 669, 669, 190, 895, 132, 132, 618, 882, 297,
+ 895, 419, 417, 750, 852, 369, 815, 822, 868, 419,
+ 815, 815, 419, 419, 419, 419, 803, 803, 261, 750,
+ 419, 419, 805, 419, 419, 419, 419, 45, 46, 815,
+ 822, 419, 803, 419, 419, 419, 419, 419, 379, 397,
+ 419, 819, 419, 819, 419, 419, 750, 419, 419, 419,
+ 419, 419, 419, 419, 872, 822, 822, 366, 750, 822,
+ 850, 892, 46, 419, 816, 419, 892, 17, 20, 25,
+ 30, 152, 156, 176, 177, 191, 224, 227, 241, 244,
+ 313, 398, 403, 406, 407, 408, 410, 411, 412, 413,
+ 414, 415, 421, 845, 847, 849, 249, 822, 174, 424,
+ 757, 871, 419, 892, 95, 153, 464, 424, 47, 92,
+ 458, 20, 92, 195, 398, 399, 411, 456, 527, 818,
+ 892, 894, 64, 106, 831, 75, 92, 126, 235, 239,
+ 347, 452, 453, 455, 458, 527, 92, 452, 190, 881,
+ 822, 11, 15, 16, 17, 18, 19, 20, 21, 24,
+ 35, 41, 42, 48, 54, 55, 62, 69, 76, 77,
+ 78, 80, 81, 82, 92, 94, 100, 104, 105, 111,
+ 115, 118, 126, 128, 132, 134, 137, 141, 144, 146,
+ 156, 163, 172, 174, 187, 192, 196, 197, 214, 224,
+ 229, 235, 236, 238, 239, 240, 244, 245, 257, 265,
+ 277, 288, 303, 308, 316, 329, 332, 338, 341, 342,
+ 347, 354, 355, 360, 361, 368, 374, 375, 377, 378,
+ 398, 412, 886, 897, 898, 899, 900, 901, 870, 65,
+ 286, 606, 895, 419, 740, 741, 742, 743, 744, 895,
+ 715, 420, 424, 756, 882, 20, 718, 752, 753, 752,
+ 764, 765, 822, 752, 129, 215, 773, 272, 311, 359,
+ 11, 768, 822, 770, 771, 822, 824, 776, 777, 766,
+ 767, 132, 779, 766, 776, 412, 851, 252, 281, 309,
+ 341, 341, 886, 422, 341, 341, 333, 450, 701, 48,
+ 62, 134, 265, 355, 500, 501, 62, 92, 224, 341,
+ 92, 224, 298, 883, 239, 527, 302, 341, 341, 229,
+ 527, 96, 175, 298, 287, 649, 657, 156, 165, 246,
+ 310, 368, 420, 639, 642, 643, 644, 646, 798, 896,
+ 341, 360, 55, 500, 671, 671, 239, 296, 345, 62,
+ 671, 14, 284, 296, 345, 881, 161, 341, 341, 419,
+ 473, 333, 378, 379, 473, 424, 361, 361, 222, 798,
+ 252, 662, 341, 432, 341, 341, 527, 36, 526, 527,
+ 527, 84, 203, 205, 36, 341, 431, 298, 431, 216,
+ 525, 419, 341, 229, 892, 544, 341, 671, 298, 341,
+ 341, 603, 603, 603, 603, 881, 341, 341, 298, 82,
+ 360, 557, 893, 341, 432, 341, 298, 252, 281, 272,
+ 282, 305, 454, 689, 887, 881, 581, 798, 239, 638,
+ 527, 603, 603, 661, 176, 239, 60, 101, 253, 335,
+ 239, 603, 176, 378, 484, 431, 398, 583, 584, 577,
+ 419, 800, 20, 19, 799, 87, 149, 204, 207, 301,
+ 392, 419, 820, 821, 604, 803, 9, 696, 798, 883,
+ 432, 589, 361, 578, 579, 897, 372, 432, 893, 69,
+ 141, 448, 487, 521, 560, 613, 628, 692, 892, 552,
+ 553, 883, 198, 603, 603, 603, 603, 97, 168, 348,
+ 359, 562, 563, 116, 419, 557, 432, 523, 524, 20,
+ 234, 419, 517, 502, 458, 132, 887, 239, 419, 640,
+ 20, 378, 379, 748, 299, 419, 750, 783, 784, 785,
+ 790, 793, 825, 879, 889, 375, 795, 889, 471, 798,
+ 884, 151, 883, 889, 471, 882, 883, 122, 361, 122,
+ 361, 662, 471, 471, 882, 883, 881, 883, 883, 883,
+ 881, 882, 557, 122, 122, 471, 602, 603, 420, 424,
+ 488, 503, 420, 424, 420, 882, 85, 306, 622, 623,
+ 882, 882, 880, 880, 882, 341, 378, 626, 366, 730,
+ 731, 895, 288, 732, 5, 120, 294, 311, 737, 790,
+ 228, 738, 420, 424, 724, 728, 733, 739, 749, 341,
+ 616, 615, 616, 137, 142, 627, 895, 850, 418, 850,
+ 852, 853, 419, 374, 865, 866, 822, 850, 891, 891,
+ 850, 87, 149, 204, 207, 301, 392, 398, 854, 855,
+ 892, 891, 850, 850, 891, 891, 815, 815, 822, 662,
+ 822, 856, 410, 411, 823, 824, 843, 847, 858, 420,
+ 850, 822, 850, 859, 339, 394, 891, 891, 822, 35,
+ 137, 187, 342, 822, 850, 862, 850, 209, 822, 829,
+ 830, 831, 209, 822, 831, 870, 420, 424, 309, 891,
+ 891, 820, 822, 897, 339, 24, 329, 873, 822, 419,
+ 750, 863, 104, 106, 126, 224, 229, 234, 347, 356,
+ 822, 30, 152, 156, 191, 313, 419, 822, 341, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822, 798, 822,
+ 11, 18, 316, 844, 294, 419, 843, 140, 195, 332,
+ 334, 336, 758, 881, 878, 137, 782, 11, 104, 368,
+ 412, 420, 850, 881, 343, 399, 419, 892, 424, 420,
+ 418, 425, 150, 150, 471, 744, 745, 424, 782, 406,
+ 872, 713, 881, 874, 420, 750, 424, 21, 100, 361,
+ 634, 419, 769, 894, 240, 234, 780, 780, 236, 424,
+ 192, 294, 295, 772, 777, 767, 420, 420, 341, 341,
+ 298, 893, 883, 886, 893, 884, 883, 61, 702, 419,
+ 883, 180, 180, 419, 883, 229, 893, 822, 229, 883,
+ 216, 252, 364, 531, 544, 229, 96, 175, 893, 883,
+ 239, 883, 246, 896, 420, 424, 644, 646, 643, 646,
+ 896, 604, 893, 882, 492, 895, 895, 883, 883, 11,
+ 360, 883, 883, 895, 296, 345, 296, 345, 883, 11,
+ 360, 883, 881, 893, 883, 475, 476, 897, 883, 237,
+ 52, 237, 469, 885, 895, 885, 424, 420, 424, 341,
+ 893, 8, 61, 70, 71, 72, 114, 156, 161, 200,
+ 217, 218, 219, 220, 221, 223, 256, 292, 328, 330,
+ 353, 360, 363, 433, 893, 883, 527, 603, 883, 527,
+ 883, 527, 7, 109, 309, 545, 546, 547, 548, 897,
+ 893, 883, 883, 883, 893, 883, 7, 13, 109, 252,
+ 281, 252, 281, 577, 281, 281, 281, 893, 883, 883,
+ 306, 893, 883, 883, 341, 341, 58, 352, 272, 176,
+ 20, 603, 176, 176, 361, 361, 176, 229, 609, 892,
+ 603, 603, 603, 603, 603, 603, 176, 609, 237, 137,
+ 341, 479, 481, 406, 420, 424, 822, 19, 799, 798,
+ 417, 417, 341, 341, 341, 419, 341, 891, 803, 562,
+ 61, 113, 185, 186, 198, 252, 333, 335, 697, 493,
+ 531, 532, 132, 885, 420, 424, 406, 881, 447, 244,
+ 488, 134, 892, 577, 577, 577, 577, 239, 244, 419,
+ 796, 797, 895, 306, 121, 749, 881, 191, 489, 490,
+ 491, 492, 497, 500, 518, 519, 895, 378, 379, 511,
+ 20, 145, 892, 239, 881, 420, 641, 642, 647, 20,
+ 182, 289, 377, 648, 649, 650, 676, 148, 148, 132,
+ 750, 784, 785, 20, 786, 895, 424, 73, 138, 164,
+ 179, 189, 212, 291, 787, 786, 20, 786, 895, 871,
+ 419, 75, 822, 732, 581, 20, 122, 471, 638, 603,
+ 885, 603, 885, 661, 239, 471, 471, 239, 471, 306,
+ 132, 458, 471, 822, 332, 420, 504, 381, 882, 424,
+ 144, 619, 620, 893, 8, 627, 420, 424, 872, 877,
+ 120, 311, 120, 311, 294, 359, 206, 798, 883, 137,
+ 239, 619, 36, 471, 420, 418, 418, 424, 850, 822,
+ 111, 866, 867, 20, 420, 420, 420, 420, 420, 137,
+ 420, 420, 420, 420, 420, 424, 420, 257, 857, 420,
+ 823, 823, 156, 176, 241, 406, 407, 408, 410, 411,
+ 412, 413, 414, 415, 421, 847, 823, 420, 420, 132,
+ 137, 860, 861, 420, 394, 420, 420, 20, 862, 850,
+ 862, 862, 137, 420, 420, 897, 20, 420, 424, 822,
+ 897, 424, 822, 872, 822, 895, 420, 420, 394, 823,
+ 823, 117, 850, 137, 104, 106, 126, 229, 234, 347,
+ 356, 419, 117, 329, 873, 822, 863, 822, 341, 662,
+ 822, 419, 750, 334, 336, 334, 336, 881, 759, 759,
+ 783, 375, 794, 850, 850, 822, 420, 248, 836, 420,
+ 424, 690, 891, 820, 453, 822, 420, 424, 741, 795,
+ 874, 765, 241, 845, 848, 395, 396, 635, 822, 772,
+ 880, 738, 738, 770, 770, 768, 128, 893, 883, 883,
+ 192, 822, 501, 419, 419, 503, 471, 364, 341, 530,
+ 883, 544, 166, 229, 604, 642, 646, 646, 414, 798,
+ 109, 309, 470, 672, 471, 471, 883, 883, 883, 883,
+ 420, 424, 406, 422, 252, 281, 7, 109, 252, 281,
+ 798, 222, 798, 893, 882, 192, 256, 144, 292, 229,
+ 892, 882, 891, 256, 882, 358, 547, 548, 547, 420,
+ 424, 549, 892, 341, 201, 201, 201, 341, 341, 341,
+ 341, 341, 341, 341, 883, 893, 883, 609, 798, 176,
+ 609, 609, 885, 885, 609, 176, 176, 176, 176, 176,
+ 176, 609, 480, 32, 74, 98, 117, 133, 147, 229,
+ 237, 270, 482, 241, 410, 411, 527, 580, 646, 848,
+ 892, 901, 398, 584, 420, 417, 420, 891, 418, 891,
+ 149, 204, 821, 204, 821, 821, 891, 207, 420, 239,
+ 192, 406, 698, 698, 698, 698, 698, 698, 698, 48,
+ 62, 92, 94, 163, 224, 229, 265, 277, 355, 494,
+ 495, 496, 243, 542, 350, 579, 580, 502, 283, 332,
+ 85, 881, 563, 585, 892, 420, 424, 798, 883, 883,
+ 378, 520, 419, 881, 420, 424, 420, 424, 237, 473,
+ 237, 239, 512, 749, 530, 341, 881, 361, 630, 420,
+ 424, 92, 406, 651, 892, 458, 332, 645, 646, 378,
+ 650, 652, 239, 749, 420, 895, 419, 784, 179, 247,
+ 788, 784, 788, 179, 787, 788, 179, 419, 895, 419,
+ 850, 234, 471, 798, 883, 471, 361, 471, 361, 471,
+ 471, 881, 881, 883, 557, 471, 881, 882, 623, 893,
+ 378, 424, 621, 242, 749, 731, 120, 120, 882, 618,
+ 471, 893, 852, 420, 338, 822, 115, 798, 822, 822,
+ 822, 860, 823, 104, 106, 224, 234, 823, 823, 823,
+ 823, 823, 823, 823, 823, 823, 798, 823, 822, 822,
+ 861, 860, 819, 819, 798, 420, 420, 420, 850, 420,
+ 424, 897, 830, 262, 326, 832, 420, 424, 371, 826,
+ 20, 420, 816, 892, 822, 17, 17, 822, 420, 822,
+ 137, 419, 851, 822, 823, 823, 117, 117, 822, 420,
+ 117, 822, 759, 759, 759, 759, 881, 881, 822, 144,
+ 774, 420, 420, 420, 836, 419, 837, 895, 836, 892,
+ 368, 420, 418, 406, 744, 732, 419, 635, 420, 240,
+ 773, 698, 420, 503, 503, 420, 893, 604, 166, 414,
+ 350, 493, 224, 85, 224, 321, 324, 350, 476, 580,
+ 897, 341, 341, 139, 241, 324, 587, 588, 139, 241,
+ 594, 595, 341, 341, 420, 420, 420, 894, 892, 882,
+ 882, 892, 892, 546, 883, 132, 132, 283, 132, 151,
+ 893, 883, 893, 883, 883, 883, 883, 544, 420, 609,
+ 176, 176, 609, 609, 609, 609, 609, 609, 361, 485,
+ 486, 706, 706, 224, 270, 706, 706, 94, 163, 224,
+ 570, 571, 572, 891, 378, 379, 418, 418, 420, 820,
+ 881, 698, 92, 891, 892, 92, 892, 92, 892, 92,
+ 892, 92, 883, 92, 883, 92, 883, 419, 883, 823,
+ 95, 153, 94, 229, 180, 881, 652, 419, 798, 20,
+ 881, 381, 132, 564, 420, 424, 797, 542, 726, 85,
+ 216, 489, 498, 162, 510, 491, 519, 895, 57, 333,
+ 513, 378, 693, 532, 892, 630, 885, 419, 647, 822,
+ 822, 424, 419, 648, 577, 97, 168, 303, 359, 681,
+ 786, 419, 882, 784, 239, 361, 789, 784, 179, 784,
+ 796, 419, 796, 895, 420, 405, 883, 420, 471, 885,
+ 885, 471, 471, 306, 419, 141, 620, 627, 137, 822,
+ 420, 420, 861, 137, 104, 106, 234, 419, 420, 384,
+ 828, 850, 376, 376, 420, 822, 216, 822, 424, 827,
+ 800, 820, 823, 823, 822, 851, 420, 17, 17, 822,
+ 822, 117, 822, 420, 881, 881, 881, 881, 36, 146,
+ 775, 836, 836, 836, 838, 895, 822, 892, 876, 662,
+ 769, 894, 420, 420, 652, 350, 229, 229, 894, 895,
+ 798, 406, 893, 883, 891, 891, 798, 424, 891, 891,
+ 424, 893, 883, 882, 882, 603, 882, 122, 176, 609,
+ 609, 431, 99, 892, 892, 229, 503, 892, 892, 95,
+ 153, 94, 572, 571, 418, 139, 165, 139, 137, 569,
+ 894, 822, 224, 495, 652, 502, 361, 514, 543, 547,
+ 361, 749, 419, 883, 110, 565, 121, 892, 85, 420,
+ 119, 157, 499, 419, 511, 97, 109, 262, 883, 40,
+ 48, 195, 181, 533, 137, 419, 419, 631, 632, 825,
+ 895, 892, 644, 653, 654, 896, 652, 341, 882, 420,
+ 822, 419, 784, 789, 420, 796, 420, 471, 471, 471,
+ 883, 242, 471, 619, 823, 137, 419, 851, 419, 420,
+ 424, 420, 420, 365, 318, 420, 420, 420, 823, 823,
+ 822, 850, 822, 377, 833, 255, 839, 420, 820, 420,
+ 772, 277, 652, 514, 361, 472, 580, 419, 889, 662,
+ 588, 419, 419, 595, 378, 283, 378, 378, 132, 609,
+ 481, 892, 503, 623, 20, 664, 664, 881, 570, 420,
+ 514, 202, 505, 159, 420, 424, 885, 693, 542, 294,
+ 320, 566, 269, 511, 63, 93, 160, 63, 93, 160,
+ 880, 512, 295, 295, 48, 242, 48, 892, 603, 631,
+ 822, 420, 424, 361, 603, 633, 633, 646, 420, 424,
+ 881, 420, 882, 420, 471, 823, 851, 420, 829, 850,
+ 216, 393, 834, 835, 895, 36, 762, 763, 836, 240,
+ 881, 514, 822, 851, 638, 275, 591, 661, 851, 851,
+ 602, 603, 602, 603, 882, 664, 23, 155, 132, 138,
+ 254, 314, 239, 506, 507, 508, 333, 547, 127, 590,
+ 889, 512, 420, 513, 242, 242, 420, 420, 378, 474,
+ 632, 603, 634, 634, 648, 653, 794, 420, 420, 420,
+ 420, 365, 424, 20, 850, 271, 295, 840, 502, 420,
+ 591, 420, 420, 378, 110, 97, 359, 239, 508, 239,
+ 507, 883, 603, 20, 419, 513, 474, 633, 473, 513,
+ 635, 635, 652, 105, 835, 837, 30, 75, 351, 841,
+ 842, 841, 420, 505, 889, 603, 294, 39, 216, 287,
+ 309, 509, 509, 587, 399, 401, 402, 567, 568, 891,
+ 892, 895, 513, 634, 794, 12, 169, 682, 842, 294,
+ 131, 260, 506, 638, 121, 6, 92, 229, 420, 424,
+ 794, 635, 225, 419, 677, 679, 684, 728, 733, 739,
+ 749, 17, 570, 269, 568, 678, 679, 680, 750, 751,
+ 842, 889, 420, 423, 419, 680, 567, 420
};
#define yyerrok (yyerrstatus = 0)
@@ -14406,12 +16229,12 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 539 "gram.y"
+#line 596 "gram.y"
{ parsetree = (yyvsp[0].list); }
break;
case 3:
-#line 544 "gram.y"
+#line 601 "gram.y"
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
else
@@ -14420,7 +16243,7 @@ yyreduce:
break;
case 4:
-#line 550 "gram.y"
+#line 607 "gram.y"
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = list_make1((yyvsp[0].node));
else
@@ -14428,13 +16251,13 @@ yyreduce:
}
break;
- case 96:
-#line 650 "gram.y"
+ case 105:
+#line 716 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 97:
-#line 661 "gram.y"
+ case 106:
+#line 727 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_ROLE;
@@ -14444,200 +16267,200 @@ yyreduce:
}
break;
- case 98:
-#line 671 "gram.y"
+ case 107:
+#line 737 "gram.y"
{}
break;
- case 99:
-#line 672 "gram.y"
+ case 108:
+#line 738 "gram.y"
{}
break;
- case 100:
-#line 681 "gram.y"
+ case 109:
+#line 747 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
break;
- case 101:
-#line 682 "gram.y"
+ case 110:
+#line 748 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 102:
-#line 687 "gram.y"
+ case 111:
+#line 753 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeString((yyvsp[0].str)));
}
break;
- case 103:
-#line 692 "gram.y"
+ case 112:
+#line 758 "gram.y"
{
(yyval.defelt) = makeDefElem("password", NULL);
}
break;
- case 104:
-#line 696 "gram.y"
+ case 113:
+#line 762 "gram.y"
{
(yyval.defelt) = makeDefElem("encryptedPassword",
(Node *)makeString((yyvsp[0].str)));
}
break;
- case 105:
-#line 701 "gram.y"
+ case 114:
+#line 767 "gram.y"
{
(yyval.defelt) = makeDefElem("unencryptedPassword",
(Node *)makeString((yyvsp[0].str)));
}
break;
- case 106:
-#line 706 "gram.y"
+ case 115:
+#line 772 "gram.y"
{
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE));
}
break;
- case 107:
-#line 710 "gram.y"
+ case 116:
+#line 776 "gram.y"
{
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE));
}
break;
- case 108:
-#line 714 "gram.y"
+ case 117:
+#line 780 "gram.y"
{
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(TRUE));
}
break;
- case 109:
-#line 718 "gram.y"
+ case 118:
+#line 784 "gram.y"
{
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(FALSE));
}
break;
- case 110:
-#line 722 "gram.y"
+ case 119:
+#line 788 "gram.y"
{
(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(TRUE));
}
break;
- case 111:
-#line 726 "gram.y"
+ case 120:
+#line 792 "gram.y"
{
(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(FALSE));
}
break;
- case 112:
-#line 730 "gram.y"
+ case 121:
+#line 796 "gram.y"
{
(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(TRUE));
}
break;
- case 113:
-#line 734 "gram.y"
+ case 122:
+#line 800 "gram.y"
{
(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(FALSE));
}
break;
- case 114:
-#line 738 "gram.y"
+ case 123:
+#line 804 "gram.y"
{
/* For backwards compatibility, synonym for SUPERUSER */
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE));
}
break;
- case 115:
-#line 743 "gram.y"
+ case 124:
+#line 809 "gram.y"
{
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE));
}
break;
- case 116:
-#line 747 "gram.y"
+ case 125:
+#line 813 "gram.y"
{
(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(TRUE));
}
break;
- case 117:
-#line 751 "gram.y"
+ case 126:
+#line 817 "gram.y"
{
(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(FALSE));
}
break;
- case 118:
-#line 755 "gram.y"
+ case 127:
+#line 821 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)));
}
break;
- case 119:
-#line 759 "gram.y"
+ case 128:
+#line 825 "gram.y"
{
(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 120:
-#line 764 "gram.y"
+ case 129:
+#line 830 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list));
}
break;
- case 121:
-#line 769 "gram.y"
+ case 130:
+#line 835 "gram.y"
{
(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)));
}
break;
- case 122:
-#line 773 "gram.y"
+ case 131:
+#line 839 "gram.y"
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list));
}
break;
- case 123:
-#line 777 "gram.y"
+ case 132:
+#line 843 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list));
}
break;
- case 124:
-#line 781 "gram.y"
+ case 133:
+#line 847 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list));
}
break;
- case 125:
-#line 785 "gram.y"
+ case 134:
+#line 851 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list));
}
break;
- case 126:
-#line 799 "gram.y"
+ case 135:
+#line 865 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_USER;
@@ -14647,8 +16470,8 @@ yyreduce:
}
break;
- case 127:
-#line 817 "gram.y"
+ case 136:
+#line 883 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[-2].str);
@@ -14658,8 +16481,8 @@ yyreduce:
}
break;
- case 128:
-#line 828 "gram.y"
+ case 137:
+#line 894 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[-1].str);
@@ -14668,8 +16491,8 @@ yyreduce:
}
break;
- case 129:
-#line 845 "gram.y"
+ case 138:
+#line 911 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[-2].str);
@@ -14679,8 +16502,8 @@ yyreduce:
}
break;
- case 130:
-#line 857 "gram.y"
+ case 139:
+#line 923 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[-1].str);
@@ -14689,8 +16512,8 @@ yyreduce:
}
break;
- case 131:
-#line 877 "gram.y"
+ case 140:
+#line 943 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
@@ -14699,8 +16522,8 @@ yyreduce:
}
break;
- case 132:
-#line 884 "gram.y"
+ case 141:
+#line 950 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
@@ -14709,8 +16532,8 @@ yyreduce:
}
break;
- case 133:
-#line 903 "gram.y"
+ case 142:
+#line 969 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
@@ -14719,8 +16542,8 @@ yyreduce:
}
break;
- case 134:
-#line 910 "gram.y"
+ case 143:
+#line 976 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[0].list);
@@ -14729,8 +16552,8 @@ yyreduce:
}
break;
- case 135:
-#line 927 "gram.y"
+ case 144:
+#line 993 "gram.y"
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_GROUP;
@@ -14740,8 +16563,8 @@ yyreduce:
}
break;
- case 136:
-#line 945 "gram.y"
+ case 145:
+#line 1011 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[-3].str);
@@ -14752,18 +16575,18 @@ yyreduce:
}
break;
- case 137:
-#line 955 "gram.y"
+ case 146:
+#line 1021 "gram.y"
{ (yyval.ival) = +1; }
break;
- case 138:
-#line 956 "gram.y"
+ case 147:
+#line 1022 "gram.y"
{ (yyval.ival) = -1; }
break;
- case 139:
-#line 969 "gram.y"
+ case 148:
+#line 1035 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
@@ -14772,8 +16595,8 @@ yyreduce:
}
break;
- case 140:
-#line 976 "gram.y"
+ case 149:
+#line 1042 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
@@ -14782,8 +16605,8 @@ yyreduce:
}
break;
- case 141:
-#line 993 "gram.y"
+ case 150:
+#line 1059 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* One can omit the schema name or the authorization id. */
@@ -14797,8 +16620,8 @@ yyreduce:
}
break;
- case 142:
-#line 1005 "gram.y"
+ case 151:
+#line 1071 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* ...but not both */
@@ -14809,28 +16632,28 @@ yyreduce:
}
break;
- case 143:
-#line 1016 "gram.y"
+ case 152:
+#line 1082 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 144:
-#line 1017 "gram.y"
+ case 153:
+#line 1083 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 145:
-#line 1021 "gram.y"
+ case 154:
+#line 1087 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
break;
- case 146:
-#line 1022 "gram.y"
+ case 155:
+#line 1088 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 153:
-#line 1050 "gram.y"
+ case 162:
+#line 1116 "gram.y"
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = false;
@@ -14838,8 +16661,8 @@ yyreduce:
}
break;
- case 154:
-#line 1056 "gram.y"
+ case 163:
+#line 1122 "gram.y"
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = true;
@@ -14847,8 +16670,8 @@ yyreduce:
}
break;
- case 155:
-#line 1062 "gram.y"
+ case 164:
+#line 1128 "gram.y"
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = false;
@@ -14856,8 +16679,8 @@ yyreduce:
}
break;
- case 156:
-#line 1071 "gram.y"
+ case 165:
+#line 1137 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -14867,8 +16690,8 @@ yyreduce:
}
break;
- case 157:
-#line 1079 "gram.y"
+ case 166:
+#line 1145 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -14878,8 +16701,8 @@ yyreduce:
}
break;
- case 158:
-#line 1087 "gram.y"
+ case 167:
+#line 1153 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
@@ -14888,8 +16711,8 @@ yyreduce:
}
break;
- case 159:
-#line 1094 "gram.y"
+ case 168:
+#line 1160 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
@@ -14898,8 +16721,8 @@ yyreduce:
}
break;
- case 160:
-#line 1101 "gram.y"
+ case 169:
+#line 1167 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
@@ -14908,8 +16731,8 @@ yyreduce:
}
break;
- case 161:
-#line 1109 "gram.y"
+ case 170:
+#line 1175 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
@@ -14922,8 +16745,8 @@ yyreduce:
}
break;
- case 162:
-#line 1120 "gram.y"
+ case 171:
+#line 1186 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
@@ -14933,8 +16756,8 @@ yyreduce:
}
break;
- case 163:
-#line 1128 "gram.y"
+ case 172:
+#line 1194 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
@@ -14944,44 +16767,66 @@ yyreduce:
}
break;
- case 164:
-#line 1136 "gram.y"
+ case 173:
+#line 1202 "gram.y"
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("current database cannot be changed"),
+ scanner_errposition((yylsp[0]))));
+ (yyval.vsetstmt) = NULL; /*not reached*/
+ }
+ break;
+
+ case 174:
+#line 1210 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+ n->kind = VAR_SET_VALUE;
+ n->name = "search_path";
+ n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
+ (yyval.vsetstmt) = n;
+ }
+ break;
+
+ case 175:
+#line 1218 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "client_encoding";
if ((yyvsp[0].str) != NULL)
- n->args = list_make1(makeStringConst((yyvsp[0].str), NULL));
+ n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
else
n->kind = VAR_SET_DEFAULT;
(yyval.vsetstmt) = n;
}
break;
- case 165:
-#line 1147 "gram.y"
+ case 176:
+#line 1229 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "role";
- n->args = list_make1(makeStringConst((yyvsp[0].str), NULL));
+ n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
(yyval.vsetstmt) = n;
}
break;
- case 166:
-#line 1155 "gram.y"
+ case 177:
+#line 1237 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "session_authorization";
- n->args = list_make1(makeStringConst((yyvsp[0].str), NULL));
+ n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
(yyval.vsetstmt) = n;
}
break;
- case 167:
-#line 1163 "gram.y"
+ case 178:
+#line 1245 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
@@ -14990,182 +16835,195 @@ yyreduce:
}
break;
- case 168:
-#line 1170 "gram.y"
+ case 179:
+#line 1252 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "xmloption";
- n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", NULL));
+ n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
(yyval.vsetstmt) = n;
}
break;
- case 169:
-#line 1179 "gram.y"
+ case 180:
+#line 1261 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 170:
-#line 1181 "gram.y"
+ case 181:
+#line 1263 "gram.y"
{
(yyval.str) = palloc(strlen((yyvsp[-2].str)) + strlen((yyvsp[0].str)) + 2);
sprintf((yyval.str), "%s.%s", (yyvsp[-2].str), (yyvsp[0].str));
}
break;
- case 171:
-#line 1187 "gram.y"
+ case 182:
+#line 1269 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 172:
-#line 1188 "gram.y"
+ case 183:
+#line 1270 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
break;
- case 173:
-#line 1192 "gram.y"
- { (yyval.node) = makeStringConst((yyvsp[0].str), NULL); }
+ case 184:
+#line 1274 "gram.y"
+ { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
break;
- case 174:
-#line 1194 "gram.y"
- { (yyval.node) = makeStringConst((yyvsp[0].str), NULL); }
+ case 185:
+#line 1276 "gram.y"
+ { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
break;
- case 175:
-#line 1196 "gram.y"
- { (yyval.node) = makeAConst((yyvsp[0].value)); }
+ case 186:
+#line 1278 "gram.y"
+ { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
break;
- case 176:
-#line 1199 "gram.y"
+ case 187:
+#line 1281 "gram.y"
{ (yyval.str) = "read uncommitted"; }
break;
- case 177:
-#line 1200 "gram.y"
+ case 188:
+#line 1282 "gram.y"
{ (yyval.str) = "read committed"; }
break;
- case 178:
-#line 1201 "gram.y"
+ case 189:
+#line 1283 "gram.y"
{ (yyval.str) = "repeatable read"; }
break;
- case 179:
-#line 1202 "gram.y"
+ case 190:
+#line 1284 "gram.y"
{ (yyval.str) = "serializable"; }
break;
- case 180:
-#line 1206 "gram.y"
+ case 191:
+#line 1288 "gram.y"
{ (yyval.str) = "true"; }
break;
- case 181:
-#line 1207 "gram.y"
+ case 192:
+#line 1289 "gram.y"
{ (yyval.str) = "false"; }
break;
- case 182:
-#line 1208 "gram.y"
+ case 193:
+#line 1290 "gram.y"
{ (yyval.str) = "on"; }
break;
- case 183:
-#line 1209 "gram.y"
+ case 194:
+#line 1291 "gram.y"
{ (yyval.str) = "off"; }
break;
- case 184:
-#line 1222 "gram.y"
+ case 195:
+#line 1304 "gram.y"
{
- (yyval.node) = makeStringConst((yyvsp[0].str), NULL);
+ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
break;
- case 185:
-#line 1226 "gram.y"
+ case 196:
+#line 1308 "gram.y"
{
- (yyval.node) = makeStringConst((yyvsp[0].str), NULL);
+ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
break;
- case 186:
-#line 1230 "gram.y"
+ case 197:
+#line 1312 "gram.y"
{
- A_Const *n = (A_Const *) makeStringConst((yyvsp[-1].str), (yyvsp[-2].typnam));
- if ((yyvsp[0].ival) != INTERVAL_FULL_RANGE)
+ TypeName *t = (yyvsp[-2].typnam);
+ if ((yyvsp[0].list) != NIL)
{
- if (((yyvsp[0].ival) & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
+ A_Const *n = (A_Const *) linitial((yyvsp[0].list));
+ if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("time zone interval must be HOUR or HOUR TO MINUTE")));
- n->typename->typmods = list_make1(makeIntConst((yyvsp[0].ival)));
+ errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
+ scanner_errposition((yylsp[0]))));
}
- (yyval.node) = (Node *)n;
+ t->typmods = (yyvsp[0].list);
+ (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
}
break;
- case 187:
-#line 1243 "gram.y"
+ case 198:
+#line 1327 "gram.y"
{
- A_Const *n = (A_Const *) makeStringConst((yyvsp[-1].str), (yyvsp[-5].typnam));
- if (((yyvsp[0].ival) != INTERVAL_FULL_RANGE)
- && (((yyvsp[0].ival) & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0))
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("time zone interval must be HOUR or HOUR TO MINUTE")));
- n->typename->typmods = list_make2(makeIntConst((yyvsp[0].ival)),
- makeIntConst((yyvsp[-3].ival)));
- (yyval.node) = (Node *)n;
+ TypeName *t = (yyvsp[-5].typnam);
+ if ((yyvsp[0].list) != NIL)
+ {
+ A_Const *n = (A_Const *) linitial((yyvsp[0].list));
+ if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
+ scanner_errposition((yylsp[0]))));
+ if (list_length((yyvsp[0].list)) != 1)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("interval precision specified twice"),
+ scanner_errposition((yylsp[-5]))));
+ t->typmods = lappend((yyvsp[0].list), makeIntConst((yyvsp[-3].ival), (yylsp[-3])));
+ }
+ else
+ t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
+ makeIntConst((yyvsp[-3].ival), (yylsp[-3])));
+ (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
}
break;
- case 188:
-#line 1254 "gram.y"
- { (yyval.node) = makeAConst((yyvsp[0].value)); }
+ case 199:
+#line 1349 "gram.y"
+ { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
break;
- case 189:
-#line 1255 "gram.y"
+ case 200:
+#line 1350 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 190:
-#line 1256 "gram.y"
+ case 201:
+#line 1351 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 191:
-#line 1260 "gram.y"
+ case 202:
+#line 1355 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 192:
-#line 1261 "gram.y"
+ case 203:
+#line 1356 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 193:
-#line 1262 "gram.y"
+ case 204:
+#line 1357 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 194:
-#line 1266 "gram.y"
+ case 205:
+#line 1361 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 195:
-#line 1267 "gram.y"
+ case 206:
+#line 1362 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 196:
-#line 1272 "gram.y"
+ case 207:
+#line 1367 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
@@ -15174,8 +17032,8 @@ yyreduce:
}
break;
- case 197:
-#line 1279 "gram.y"
+ case 208:
+#line 1374 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
@@ -15184,8 +17042,8 @@ yyreduce:
}
break;
- case 198:
-#line 1286 "gram.y"
+ case 209:
+#line 1381 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
@@ -15194,8 +17052,8 @@ yyreduce:
}
break;
- case 199:
-#line 1293 "gram.y"
+ case 210:
+#line 1388 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
@@ -15204,8 +17062,8 @@ yyreduce:
}
break;
- case 200:
-#line 1300 "gram.y"
+ case 211:
+#line 1395 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
@@ -15213,18 +17071,18 @@ yyreduce:
}
break;
- case 201:
-#line 1309 "gram.y"
+ case 212:
+#line 1404 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
break;
- case 202:
-#line 1310 "gram.y"
+ case 213:
+#line 1405 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
break;
- case 203:
-#line 1316 "gram.y"
+ case 214:
+#line 1411 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[0].str);
@@ -15232,8 +17090,8 @@ yyreduce:
}
break;
- case 204:
-#line 1322 "gram.y"
+ case 215:
+#line 1417 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
@@ -15241,8 +17099,8 @@ yyreduce:
}
break;
- case 205:
-#line 1328 "gram.y"
+ case 216:
+#line 1423 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
@@ -15250,8 +17108,8 @@ yyreduce:
}
break;
- case 206:
-#line 1334 "gram.y"
+ case 217:
+#line 1429 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
@@ -15259,8 +17117,8 @@ yyreduce:
}
break;
- case 207:
-#line 1340 "gram.y"
+ case 218:
+#line 1435 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
@@ -15268,8 +17126,8 @@ yyreduce:
}
break;
- case 208:
-#line 1350 "gram.y"
+ case 219:
+#line 1445 "gram.y"
{
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
n->constraints = (yyvsp[-1].list);
@@ -15278,36 +17136,36 @@ yyreduce:
}
break;
- case 209:
-#line 1359 "gram.y"
+ case 220:
+#line 1454 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 210:
-#line 1360 "gram.y"
+ case 221:
+#line 1455 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 211:
-#line 1364 "gram.y"
+ case 222:
+#line 1459 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 212:
-#line 1365 "gram.y"
+ case 223:
+#line 1460 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 213:
-#line 1374 "gram.y"
+ case 224:
+#line 1469 "gram.y"
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *)n;
}
break;
- case 214:
-#line 1389 "gram.y"
+ case 225:
+#line 1484 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
@@ -15315,8 +17173,8 @@ yyreduce:
}
break;
- case 215:
-#line 1395 "gram.y"
+ case 226:
+#line 1490 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
@@ -15324,8 +17182,8 @@ yyreduce:
}
break;
- case 216:
-#line 1401 "gram.y"
+ case 227:
+#line 1496 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
@@ -15333,8 +17191,8 @@ yyreduce:
}
break;
- case 217:
-#line 1407 "gram.y"
+ case 228:
+#line 1502 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
@@ -15342,8 +17200,8 @@ yyreduce:
}
break;
- case 218:
-#line 1423 "gram.y"
+ case 229:
+#line 1520 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
@@ -15353,8 +17211,8 @@ yyreduce:
}
break;
- case 219:
-#line 1431 "gram.y"
+ case 230:
+#line 1528 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
@@ -15364,18 +17222,40 @@ yyreduce:
}
break;
- case 220:
-#line 1441 "gram.y"
+ case 231:
+#line 1536 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->relkind = OBJECT_SEQUENCE;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 232:
+#line 1544 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->relkind = OBJECT_VIEW;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 233:
+#line 1554 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 221:
-#line 1442 "gram.y"
+ case 234:
+#line 1555 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
break;
- case 222:
-#line 1449 "gram.y"
+ case 235:
+#line 1561 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
@@ -15384,8 +17264,8 @@ yyreduce:
}
break;
- case 223:
-#line 1457 "gram.y"
+ case 236:
+#line 1569 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ColumnDefault;
@@ -15395,8 +17275,8 @@ yyreduce:
}
break;
- case 224:
-#line 1466 "gram.y"
+ case 237:
+#line 1578 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
@@ -15405,8 +17285,8 @@ yyreduce:
}
break;
- case 225:
-#line 1474 "gram.y"
+ case 238:
+#line 1586 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
@@ -15415,19 +17295,19 @@ yyreduce:
}
break;
- case 226:
-#line 1482 "gram.y"
+ case 239:
+#line 1594 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStatistics;
n->name = (yyvsp[-3].str);
- n->def = (Node *) (yyvsp[0].value);
+ n->def = (Node *) makeInteger((yyvsp[0].ival));
(yyval.node) = (Node *)n;
}
break;
- case 227:
-#line 1491 "gram.y"
+ case 240:
+#line 1603 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStorage;
@@ -15437,8 +17317,8 @@ yyreduce:
}
break;
- case 228:
-#line 1500 "gram.y"
+ case 241:
+#line 1612 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
@@ -15448,20 +17328,20 @@ yyreduce:
}
break;
- case 229:
-#line 1512 "gram.y"
+ case 242:
+#line 1624 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AlterColumnType;
- n->name = (yyvsp[-3].str);
+ n->name = (yyvsp[-4].str);
n->def = (Node *) (yyvsp[-1].typnam);
n->transform = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
break;
- case 230:
-#line 1522 "gram.y"
+ case 243:
+#line 1634 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
@@ -15470,8 +17350,8 @@ yyreduce:
}
break;
- case 231:
-#line 1530 "gram.y"
+ case 244:
+#line 1642 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropConstraint;
@@ -15481,8 +17361,17 @@ yyreduce:
}
break;
- case 232:
-#line 1539 "gram.y"
+ case 245:
+#line 1651 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ n->subtype = AT_AddOids;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 246:
+#line 1658 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
@@ -15490,8 +17379,8 @@ yyreduce:
}
break;
- case 233:
-#line 1546 "gram.y"
+ case 247:
+#line 1665 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
@@ -15500,8 +17389,8 @@ yyreduce:
}
break;
- case 234:
-#line 1554 "gram.y"
+ case 248:
+#line 1673 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
@@ -15510,8 +17399,8 @@ yyreduce:
}
break;
- case 235:
-#line 1562 "gram.y"
+ case 249:
+#line 1681 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
@@ -15520,8 +17409,8 @@ yyreduce:
}
break;
- case 236:
-#line 1570 "gram.y"
+ case 250:
+#line 1689 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
@@ -15530,8 +17419,8 @@ yyreduce:
}
break;
- case 237:
-#line 1578 "gram.y"
+ case 251:
+#line 1697 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
@@ -15539,9 +17428,9 @@ yyreduce:
(yyval.node) = (Node *)n;
}
break;
-
- case 238:
-#line 1586 "gram.y"
+
+ case 252:
+#line 1705 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
@@ -15549,8 +17438,8 @@ yyreduce:
}
break;
- case 239:
-#line 1593 "gram.y"
+ case 253:
+#line 1712 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
@@ -15558,8 +17447,8 @@ yyreduce:
}
break;
- case 240:
-#line 1600 "gram.y"
+ case 254:
+#line 1719 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
@@ -15568,8 +17457,8 @@ yyreduce:
}
break;
- case 241:
-#line 1608 "gram.y"
+ case 255:
+#line 1727 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
@@ -15577,8 +17466,8 @@ yyreduce:
}
break;
- case 242:
-#line 1615 "gram.y"
+ case 256:
+#line 1734 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
@@ -15586,8 +17475,8 @@ yyreduce:
}
break;
- case 243:
-#line 1622 "gram.y"
+ case 257:
+#line 1741 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
@@ -15596,8 +17485,8 @@ yyreduce:
}
break;
- case 244:
-#line 1630 "gram.y"
+ case 258:
+#line 1749 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
@@ -15606,8 +17495,8 @@ yyreduce:
}
break;
- case 245:
-#line 1638 "gram.y"
+ case 259:
+#line 1757 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
@@ -15616,8 +17505,8 @@ yyreduce:
}
break;
- case 246:
-#line 1646 "gram.y"
+ case 260:
+#line 1765 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
@@ -15626,8 +17515,8 @@ yyreduce:
}
break;
- case 247:
-#line 1654 "gram.y"
+ case 261:
+#line 1773 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
@@ -15636,8 +17525,8 @@ yyreduce:
}
break;
- case 248:
-#line 1662 "gram.y"
+ case 262:
+#line 1781 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
@@ -15646,25 +17535,8 @@ yyreduce:
}
break;
- case 249:
-#line 1669 "gram.y"
- {
- (yyval.node) = (yyvsp[0].node);
- }
- break;
-
- case 250:
-#line 1675 "gram.y"
- { (yyval.list) = list_make1((yyvsp[0].node)); }
- break;
-
- case 251:
-#line 1676 "gram.y"
- { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
- break;
-
- case 252:
-#line 1683 "gram.y"
+ case 263:
+#line 1789 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
@@ -15673,8 +17545,8 @@ yyreduce:
}
break;
- case 253:
-#line 1691 "gram.y"
+ case 264:
+#line 1797 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
@@ -15683,8 +17555,8 @@ yyreduce:
}
break;
- case 254:
-#line 1699 "gram.y"
+ case 265:
+#line 1805 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
@@ -15693,8 +17565,8 @@ yyreduce:
}
break;
- case 255:
-#line 1707 "gram.y"
+ case 266:
+#line 1813 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
@@ -15703,8 +17575,8 @@ yyreduce:
}
break;
- case 256:
-#line 1717 "gram.y"
+ case 267:
+#line 1823 "gram.y"
{
/* Treat SET DEFAULT NULL the same as DROP DEFAULT */
if (exprIsNullConstant((yyvsp[0].node)))
@@ -15714,38 +17586,92 @@ yyreduce:
}
break;
- case 257:
-#line 1724 "gram.y"
+ case 268:
+#line 1830 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 258:
-#line 1728 "gram.y"
+ case 269:
+#line 1834 "gram.y"
{ (yyval.dbehavior) = DROP_CASCADE; }
break;
- case 259:
-#line 1729 "gram.y"
+ case 270:
+#line 1835 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; }
break;
- case 260:
-#line 1730 "gram.y"
+ case 271:
+#line 1836 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
break;
- case 261:
-#line 1734 "gram.y"
+ case 272:
+#line 1840 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 262:
-#line 1735 "gram.y"
+ case 273:
+#line 1841 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 263:
-#line 1749 "gram.y"
+ case 274:
+#line 1845 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+ break;
+
+ case 275:
+#line 1848 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+ break;
+
+ case 276:
+#line 1849 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 277:
+#line 1853 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+ break;
+
+ case 278:
+#line 1854 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+ break;
+
+ case 279:
+#line 1860 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node));
+ }
+ break;
+
+ case 280:
+#line 1864 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL);
+ }
+ break;
+
+ case 281:
+#line 1868 "gram.y"
+ {
+ (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
+ DEFELEM_UNSPEC);
+ }
+ break;
+
+ case 282:
+#line 1873 "gram.y"
+ {
+ (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC);
+ }
+ break;
+
+ case 283:
+#line 1888 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[0].str);
@@ -15753,8 +17679,8 @@ yyreduce:
}
break;
- case 264:
-#line 1755 "gram.y"
+ case 284:
+#line 1894 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
@@ -15762,8 +17688,8 @@ yyreduce:
}
break;
- case 265:
-#line 1779 "gram.y"
+ case 285:
+#line 1918 "gram.y"
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = (yyvsp[-7].range);
@@ -15786,8 +17712,8 @@ yyreduce:
}
break;
- case 266:
-#line 1801 "gram.y"
+ case 286:
+#line 1940 "gram.y"
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = NULL;
@@ -15800,159 +17726,159 @@ yyreduce:
}
break;
- case 267:
-#line 1814 "gram.y"
+ case 287:
+#line 1953 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 268:
-#line 1815 "gram.y"
+ case 288:
+#line 1954 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 269:
-#line 1824 "gram.y"
+ case 289:
+#line 1963 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 270:
-#line 1825 "gram.y"
+ case 290:
+#line 1964 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 271:
-#line 1826 "gram.y"
+ case 291:
+#line 1965 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 272:
-#line 1832 "gram.y"
+ case 292:
+#line 1971 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
break;
- case 273:
-#line 1833 "gram.y"
+ case 293:
+#line 1972 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 274:
-#line 1839 "gram.y"
+ case 294:
+#line 1978 "gram.y"
{
(yyval.defelt) = makeDefElem("binary", (Node *)makeInteger(TRUE));
}
break;
- case 275:
-#line 1843 "gram.y"
+ case 295:
+#line 1982 "gram.y"
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
}
break;
- case 276:
-#line 1847 "gram.y"
+ case 296:
+#line 1986 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 277:
-#line 1851 "gram.y"
+ case 297:
+#line 1990 "gram.y"
{
(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 278:
-#line 1855 "gram.y"
+ case 298:
+#line 1994 "gram.y"
{
(yyval.defelt) = makeDefElem("csv", (Node *)makeInteger(TRUE));
}
break;
- case 279:
-#line 1859 "gram.y"
+ case 299:
+#line 1998 "gram.y"
{
(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(TRUE));
}
break;
- case 280:
-#line 1863 "gram.y"
+ case 300:
+#line 2002 "gram.y"
{
(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 281:
-#line 1867 "gram.y"
+ case 301:
+#line 2006 "gram.y"
{
(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 282:
-#line 1871 "gram.y"
+ case 302:
+#line 2010 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list));
}
break;
- case 283:
-#line 1875 "gram.y"
+ case 303:
+#line 2014 "gram.y"
{
(yyval.defelt) = makeDefElem("force_notnull", (Node *)(yyvsp[0].list));
}
break;
- case 284:
-#line 1884 "gram.y"
+ case 304:
+#line 2023 "gram.y"
{
(yyval.defelt) = makeDefElem("binary", (Node *)makeInteger(TRUE));
}
break;
- case 285:
-#line 1887 "gram.y"
+ case 305:
+#line 2026 "gram.y"
{ (yyval.defelt) = NULL; }
break;
- case 286:
-#line 1892 "gram.y"
+ case 306:
+#line 2031 "gram.y"
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
}
break;
- case 287:
-#line 1895 "gram.y"
+ case 307:
+#line 2034 "gram.y"
{ (yyval.defelt) = NULL; }
break;
- case 288:
-#line 1901 "gram.y"
+ case 308:
+#line 2040 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 289:
-#line 1904 "gram.y"
+ case 309:
+#line 2043 "gram.y"
{ (yyval.defelt) = NULL; }
break;
- case 290:
-#line 1908 "gram.y"
+ case 310:
+#line 2047 "gram.y"
{}
break;
- case 291:
-#line 1909 "gram.y"
+ case 311:
+#line 2048 "gram.y"
{}
break;
- case 292:
-#line 1922 "gram.y"
+ case 312:
+#line 2061 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-7].range)->istemp = (yyvsp[-9].boolean);
@@ -15967,8 +17893,8 @@ yyreduce:
}
break;
- case 293:
-#line 1936 "gram.y"
+ case 313:
+#line 2075 "gram.y"
{
/* SQL99 CREATE TABLE OF <UDT> (cols) seems to be satisfied
* by our inheritance capabilities. Let's try it...
@@ -15986,82 +17912,82 @@ yyreduce:
}
break;
- case 294:
-#line 1960 "gram.y"
+ case 314:
+#line 2099 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 295:
-#line 1961 "gram.y"
+ case 315:
+#line 2100 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 296:
-#line 1962 "gram.y"
+ case 316:
+#line 2101 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 297:
-#line 1963 "gram.y"
+ case 317:
+#line 2102 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 298:
-#line 1964 "gram.y"
+ case 318:
+#line 2103 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 299:
-#line 1965 "gram.y"
+ case 319:
+#line 2104 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 300:
-#line 1966 "gram.y"
+ case 320:
+#line 2105 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 301:
-#line 1970 "gram.y"
+ case 321:
+#line 2109 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 302:
-#line 1971 "gram.y"
+ case 322:
+#line 2110 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 303:
-#line 1976 "gram.y"
+ case 323:
+#line 2115 "gram.y"
{
(yyval.list) = list_make1((yyvsp[0].node));
}
break;
- case 304:
-#line 1980 "gram.y"
+ case 324:
+#line 2119 "gram.y"
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
break;
- case 305:
-#line 1986 "gram.y"
+ case 325:
+#line 2125 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 306:
-#line 1987 "gram.y"
+ case 326:
+#line 2126 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 307:
-#line 1988 "gram.y"
+ case 327:
+#line 2127 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 308:
-#line 1992 "gram.y"
+ case 328:
+#line 2131 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[-2].str);
@@ -16072,18 +17998,18 @@ yyreduce:
}
break;
- case 309:
-#line 2003 "gram.y"
+ case 329:
+#line 2142 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
break;
- case 310:
-#line 2004 "gram.y"
+ case 330:
+#line 2143 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 311:
-#line 2009 "gram.y"
+ case 331:
+#line 2148 "gram.y"
{
switch (nodeTag((yyvsp[0].node)))
{
@@ -16106,18 +18032,18 @@ yyreduce:
}
break;
- case 312:
-#line 2029 "gram.y"
+ case 332:
+#line 2168 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 313:
-#line 2030 "gram.y"
+ case 333:
+#line 2169 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 314:
-#line 2050 "gram.y"
+ case 334:
+#line 2189 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
@@ -16130,8 +18056,8 @@ yyreduce:
}
break;
- case 315:
-#line 2061 "gram.y"
+ case 335:
+#line 2200 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
@@ -16144,8 +18070,8 @@ yyreduce:
}
break;
- case 316:
-#line 2072 "gram.y"
+ case 336:
+#line 2211 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
@@ -16159,8 +18085,8 @@ yyreduce:
}
break;
- case 317:
-#line 2084 "gram.y"
+ case 337:
+#line 2223 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
@@ -16174,8 +18100,8 @@ yyreduce:
}
break;
- case 318:
-#line 2096 "gram.y"
+ case 338:
+#line 2235 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
@@ -16188,8 +18114,8 @@ yyreduce:
}
break;
- case 319:
-#line 2107 "gram.y"
+ case 339:
+#line 2246 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_DEFAULT;
@@ -16210,8 +18136,8 @@ yyreduce:
}
break;
- case 320:
-#line 2126 "gram.y"
+ case 340:
+#line 2265 "gram.y"
{
FkConstraint *n = makeNode(FkConstraint);
n->constr_name = NULL;
@@ -16227,8 +18153,8 @@ yyreduce:
}
break;
- case 321:
-#line 2155 "gram.y"
+ case 341:
+#line 2294 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
@@ -16236,8 +18162,8 @@ yyreduce:
}
break;
- case 322:
-#line 2161 "gram.y"
+ case 342:
+#line 2300 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
@@ -16245,8 +18171,8 @@ yyreduce:
}
break;
- case 323:
-#line 2167 "gram.y"
+ case 343:
+#line 2306 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
@@ -16254,8 +18180,8 @@ yyreduce:
}
break;
- case 324:
-#line 2173 "gram.y"
+ case 344:
+#line 2312 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
@@ -16263,8 +18189,8 @@ yyreduce:
}
break;
- case 325:
-#line 2191 "gram.y"
+ case 345:
+#line 2330 "gram.y"
{
InhRelation *n = makeNode(InhRelation);
n->relation = (yyvsp[-1].range);
@@ -16273,48 +18199,48 @@ yyreduce:
}
break;
- case 326:
-#line 2200 "gram.y"
+ case 346:
+#line 2339 "gram.y"
{ (yyval.list) = lappend_int((yyvsp[-1].list), (yyvsp[0].ival)); }
break;
- case 327:
-#line 2201 "gram.y"
+ case 347:
+#line 2340 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 328:
-#line 2205 "gram.y"
+ case 348:
+#line 2344 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_INCLUDING_DEFAULTS; }
break;
- case 329:
-#line 2206 "gram.y"
+ case 349:
+#line 2345 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_EXCLUDING_DEFAULTS; }
break;
- case 330:
-#line 2207 "gram.y"
+ case 350:
+#line 2346 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_INCLUDING_CONSTRAINTS; }
break;
- case 331:
-#line 2208 "gram.y"
+ case 351:
+#line 2347 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_EXCLUDING_CONSTRAINTS; }
break;
- case 332:
-#line 2209 "gram.y"
+ case 352:
+#line 2348 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_INCLUDING_INDEXES; }
break;
- case 333:
-#line 2210 "gram.y"
+ case 353:
+#line 2349 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_EXCLUDING_INDEXES; }
break;
- case 334:
-#line 2220 "gram.y"
+ case 354:
+#line 2359 "gram.y"
{
switch (nodeTag((yyvsp[0].node)))
{
@@ -16337,13 +18263,13 @@ yyreduce:
}
break;
- case 335:
-#line 2240 "gram.y"
+ case 355:
+#line 2379 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 336:
-#line 2245 "gram.y"
+ case 356:
+#line 2384 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
@@ -16355,8 +18281,8 @@ yyreduce:
}
break;
- case 337:
-#line 2255 "gram.y"
+ case 357:
+#line 2394 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
@@ -16370,8 +18296,8 @@ yyreduce:
}
break;
- case 338:
-#line 2267 "gram.y"
+ case 358:
+#line 2406 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
@@ -16385,8 +18311,8 @@ yyreduce:
}
break;
- case 339:
-#line 2280 "gram.y"
+ case 359:
+#line 2419 "gram.y"
{
FkConstraint *n = makeNode(FkConstraint);
n->constr_name = NULL;
@@ -16402,550 +18328,900 @@ yyreduce:
}
break;
- case 340:
-#line 2296 "gram.y"
+ case 360:
+#line 2435 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 341:
-#line 2297 "gram.y"
+ case 361:
+#line 2436 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 342:
-#line 2301 "gram.y"
+ case 362:
+#line 2440 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 343:
-#line 2302 "gram.y"
+ case 363:
+#line 2441 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
break;
- case 344:
-#line 2306 "gram.y"
+ case 364:
+#line 2445 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[0].str));
}
break;
- case 345:
-#line 2312 "gram.y"
+ case 365:
+#line 2451 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
}
break;
- case 346:
-#line 2316 "gram.y"
+ case 366:
+#line 2455 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("MATCH PARTIAL not yet implemented")));
+ errmsg("MATCH PARTIAL not yet implemented"),
+ scanner_errposition((yylsp[-1]))));
(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
}
break;
- case 347:
-#line 2323 "gram.y"
+ case 367:
+#line 2463 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_UNSPECIFIED;
}
break;
- case 348:
-#line 2327 "gram.y"
+ case 368:
+#line 2467 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_UNSPECIFIED;
}
break;
- case 349:
-#line 2340 "gram.y"
+ case 369:
+#line 2480 "gram.y"
{ (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
break;
- case 350:
-#line 2342 "gram.y"
+ case 370:
+#line 2482 "gram.y"
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
break;
- case 351:
-#line 2344 "gram.y"
- { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
+ case 371:
+#line 2484 "gram.y"
+ { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
+ break;
+
+ case 372:
+#line 2486 "gram.y"
+ { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
+ break;
+
+ case 373:
+#line 2488 "gram.y"
+ { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
+ break;
+
+ case 374:
+#line 2491 "gram.y"
+ { (yyval.ival) = (yyvsp[0].ival); }
+ break;
+
+ case 375:
+#line 2494 "gram.y"
+ { (yyval.ival) = (yyvsp[0].ival); }
+ break;
+
+ case 376:
+#line 2498 "gram.y"
+ { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
+ break;
+
+ case 377:
+#line 2499 "gram.y"
+ { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
+ break;
+
+ case 378:
+#line 2500 "gram.y"
+ { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
+ break;
+
+ case 379:
+#line 2501 "gram.y"
+ { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
+ break;
+
+ case 380:
+#line 2502 "gram.y"
+ { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
+ break;
+
+ case 381:
+#line 2505 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+ break;
+
+ case 382:
+#line 2506 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 383:
+#line 2511 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+ break;
+
+ case 384:
+#line 2512 "gram.y"
+ { (yyval.list) = list_make1(defWithOids(true)); }
+ break;
+
+ case 385:
+#line 2513 "gram.y"
+ { (yyval.list) = list_make1(defWithOids(false)); }
+ break;
+
+ case 386:
+#line 2514 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 387:
+#line 2517 "gram.y"
+ { (yyval.oncommit) = ONCOMMIT_DROP; }
+ break;
+
+ case 388:
+#line 2518 "gram.y"
+ { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
+ break;
+
+ case 389:
+#line 2519 "gram.y"
+ { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
+ break;
+
+ case 390:
+#line 2520 "gram.y"
+ { (yyval.oncommit) = ONCOMMIT_NOOP; }
+ break;
+
+ case 391:
+#line 2523 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+ break;
+
+ case 392:
+#line 2524 "gram.y"
+ { (yyval.str) = NULL; }
+ break;
+
+ case 393:
+#line 2527 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+ break;
+
+ case 394:
+#line 2528 "gram.y"
+ { (yyval.str) = NULL; }
+ break;
+
+ case 395:
+#line 2539 "gram.y"
+ {
+ /*
+ * When the SelectStmt is a set-operation tree, we must
+ * stuff the INTO information into the leftmost component
+ * Select, because that's where analyze.c will expect
+ * to find it. Similarly, the output column names must
+ * be attached to that Select's target list.
+ */
+ SelectStmt *n = findLeftmostSelect((SelectStmt *) (yyvsp[-1].node));
+ if (n->intoClause != NULL)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("CREATE TABLE AS cannot specify INTO"),
+ scanner_errposition(exprLocation((Node *) n->intoClause))));
+ (yyvsp[-3].into)->rel->istemp = (yyvsp[-5].boolean);
+ n->intoClause = (yyvsp[-3].into);
+ /* Implement WITH NO DATA by forcing top-level LIMIT 0 */
+ if (!(yyvsp[0].boolean))
+ ((SelectStmt *) (yyvsp[-1].node))->limitCount = makeIntConst(0, -1);
+ (yyval.node) = (yyvsp[-1].node);
+ }
+ break;
+
+ case 396:
+#line 2564 "gram.y"
+ {
+ (yyval.into) = makeNode(IntoClause);
+ (yyval.into)->rel = (yyvsp[-4].range);
+ (yyval.into)->colNames = (yyvsp[-3].list);
+ (yyval.into)->options = (yyvsp[-2].list);
+ (yyval.into)->onCommit = (yyvsp[-1].oncommit);
+ (yyval.into)->tableSpaceName = (yyvsp[0].str);
+ }
+ break;
+
+ case 397:
+#line 2575 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+ break;
+
+ case 398:
+#line 2576 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 399:
+#line 2580 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+ break;
+
+ case 400:
+#line 2581 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+ break;
+
+ case 401:
+#line 2586 "gram.y"
+ {
+ ColumnDef *n = makeNode(ColumnDef);
+ n->colname = (yyvsp[0].str);
+ n->typename = NULL;
+ n->inhcount = 0;
+ n->is_local = true;
+ n->is_not_null = false;
+ n->raw_default = NULL;
+ n->cooked_default = NULL;
+ n->constraints = NIL;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 402:
+#line 2601 "gram.y"
+ { (yyval.boolean) = TRUE; }
+ break;
+
+ case 403:
+#line 2602 "gram.y"
+ { (yyval.boolean) = FALSE; }
+ break;
+
+ case 404:
+#line 2603 "gram.y"
+ { (yyval.boolean) = TRUE; }
+ break;
+
+ case 405:
+#line 2617 "gram.y"
+ {
+ CreateSeqStmt *n = makeNode(CreateSeqStmt);
+ (yyvsp[-1].range)->istemp = (yyvsp[-3].boolean);
+ n->sequence = (yyvsp[-1].range);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 406:
+#line 2628 "gram.y"
+ {
+ AlterSeqStmt *n = makeNode(AlterSeqStmt);
+ n->sequence = (yyvsp[-1].range);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 407:
+#line 2636 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+ break;
+
+ case 408:
+#line 2637 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 409:
+#line 2640 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+ break;
+
+ case 410:
+#line 2641 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
break;
- case 352:
-#line 2346 "gram.y"
- { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
+ case 411:
+#line 2645 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value));
+ }
break;
- case 353:
-#line 2348 "gram.y"
- { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
+ case 412:
+#line 2649 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE));
+ }
break;
- case 354:
-#line 2351 "gram.y"
- { (yyval.ival) = (yyvsp[0].ival); }
+ case 413:
+#line 2653 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE));
+ }
break;
- case 355:
-#line 2354 "gram.y"
- { (yyval.ival) = (yyvsp[0].ival); }
+ case 414:
+#line 2657 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value));
+ }
break;
- case 356:
-#line 2358 "gram.y"
- { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
+ case 415:
+#line 2661 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value));
+ }
break;
- case 357:
-#line 2359 "gram.y"
- { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
+ case 416:
+#line 2665 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value));
+ }
break;
- case 358:
-#line 2360 "gram.y"
- { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
+ case 417:
+#line 2669 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("maxvalue", NULL);
+ }
break;
- case 359:
-#line 2361 "gram.y"
- { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
+ case 418:
+#line 2673 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("minvalue", NULL);
+ }
break;
- case 360:
-#line 2362 "gram.y"
- { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
+ case 419:
+#line 2677 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list));
+ }
break;
- case 361:
-#line 2365 "gram.y"
- { (yyval.list) = (yyvsp[-1].list); }
+ case 420:
+#line 2681 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value));
+ }
break;
- case 362:
-#line 2366 "gram.y"
- { (yyval.list) = NIL; }
+ case 421:
+#line 2685 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("restart", NULL);
+ }
break;
- case 363:
-#line 2371 "gram.y"
- { (yyval.list) = (yyvsp[0].list); }
+ case 422:
+#line 2689 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value));
+ }
break;
- case 364:
-#line 2372 "gram.y"
- { (yyval.list) = list_make1(defWithOids(true)); }
+ case 423:
+#line 2694 "gram.y"
+ {}
break;
- case 365:
-#line 2373 "gram.y"
- { (yyval.list) = list_make1(defWithOids(false)); }
+ case 424:
+#line 2695 "gram.y"
+ {}
break;
- case 366:
-#line 2374 "gram.y"
- { (yyval.list) = NIL; }
+ case 425:
+#line 2699 "gram.y"
+ { (yyval.value) = makeFloat((yyvsp[0].str)); }
break;
- case 367:
-#line 2377 "gram.y"
- { (yyval.oncommit) = ONCOMMIT_DROP; }
+ case 426:
+#line 2701 "gram.y"
+ {
+ (yyval.value) = makeFloat((yyvsp[0].str));
+ doNegateFloat((yyval.value));
+ }
break;
- case 368:
-#line 2378 "gram.y"
- { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
+ case 427:
+#line 2705 "gram.y"
+ { (yyval.value) = makeInteger((yyvsp[0].ival)); }
break;
- case 369:
-#line 2379 "gram.y"
- { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
+ case 428:
+#line 2718 "gram.y"
+ {
+ CreatePLangStmt *n = makeNode(CreatePLangStmt);
+ n->plname = (yyvsp[0].str);
+ /* parameters are all to be supplied by system */
+ n->plhandler = NIL;
+ n->plvalidator = NIL;
+ n->pltrusted = false;
+ (yyval.node) = (Node *)n;
+ }
break;
- case 370:
-#line 2380 "gram.y"
- { (yyval.oncommit) = ONCOMMIT_NOOP; }
+ case 429:
+#line 2729 "gram.y"
+ {
+ CreatePLangStmt *n = makeNode(CreatePLangStmt);
+ n->plname = (yyvsp[-4].str);
+ n->plhandler = (yyvsp[-2].list);
+ n->plvalidator = (yyvsp[-1].list);
+ n->pltrusted = (yyvsp[-7].boolean);
+ /* LANCOMPILER is now ignored entirely */
+ (yyval.node) = (Node *)n;
+ }
break;
- case 371:
-#line 2383 "gram.y"
- { (yyval.str) = (yyvsp[0].str); }
+ case 430:
+#line 2741 "gram.y"
+ { (yyval.boolean) = TRUE; }
break;
- case 372:
-#line 2384 "gram.y"
- { (yyval.str) = NULL; }
+ case 431:
+#line 2742 "gram.y"
+ { (yyval.boolean) = FALSE; }
break;
- case 373:
-#line 2387 "gram.y"
- { (yyval.str) = (yyvsp[0].str); }
+ case 432:
+#line 2750 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 374:
-#line 2388 "gram.y"
- { (yyval.str) = NULL; }
+ case 433:
+#line 2751 "gram.y"
+ { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
break;
- case 375:
-#line 2399 "gram.y"
- {
- /*
- * When the SelectStmt is a set-operation tree, we must
- * stuff the INTO information into the leftmost component
- * Select, because that's where analyze.c will expect
- * to find it. Similarly, the output column names must
- * be attached to that Select's target list.
- */
- SelectStmt *n = findLeftmostSelect((SelectStmt *) (yyvsp[0].node));
- if (n->intoClause != NULL)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("CREATE TABLE AS cannot specify INTO")));
- (yyvsp[-2].into)->rel->istemp = (yyvsp[-4].boolean);
- n->intoClause = (yyvsp[-2].into);
- (yyval.node) = (yyvsp[0].node);
- }
+ case 434:
+#line 2755 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
break;
- case 376:
-#line 2420 "gram.y"
- {
- (yyval.into) = makeNode(IntoClause);
- (yyval.into)->rel = (yyvsp[-4].range);
- (yyval.into)->colNames = (yyvsp[-3].list);
- (yyval.into)->options = (yyvsp[-2].list);
- (yyval.into)->onCommit = (yyvsp[-1].oncommit);
- (yyval.into)->tableSpaceName = (yyvsp[0].str);
- }
+ case 435:
+#line 2756 "gram.y"
+ { (yyval.list) = NIL; }
break;
- case 377:
-#line 2431 "gram.y"
- { (yyval.list) = (yyvsp[-1].list); }
+ case 436:
+#line 2760 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
break;
- case 378:
-#line 2432 "gram.y"
+ case 437:
+#line 2761 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 379:
-#line 2436 "gram.y"
- { (yyval.list) = list_make1((yyvsp[0].node)); }
+ case 438:
+#line 2765 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
break;
- case 380:
-#line 2437 "gram.y"
- { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+ case 439:
+#line 2766 "gram.y"
+ { (yyval.str) = NULL; }
break;
- case 381:
-#line 2442 "gram.y"
+ case 440:
+#line 2771 "gram.y"
{
- ColumnDef *n = makeNode(ColumnDef);
- n->colname = (yyvsp[0].str);
- n->typename = NULL;
- n->inhcount = 0;
- n->is_local = true;
- n->is_not_null = false;
- n->raw_default = NULL;
- n->cooked_default = NULL;
- n->constraints = NIL;
+ DropPLangStmt *n = makeNode(DropPLangStmt);
+ n->plname = (yyvsp[-1].str);
+ n->behavior = (yyvsp[0].dbehavior);
+ n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 382:
-#line 2467 "gram.y"
+ case 441:
+#line 2779 "gram.y"
{
- CreateSeqStmt *n = makeNode(CreateSeqStmt);
- (yyvsp[-1].range)->istemp = (yyvsp[-3].boolean);
- n->sequence = (yyvsp[-1].range);
- n->options = (yyvsp[0].list);
+ DropPLangStmt *n = makeNode(DropPLangStmt);
+ n->plname = (yyvsp[-1].str);
+ n->behavior = (yyvsp[0].dbehavior);
+ n->missing_ok = true;
(yyval.node) = (Node *)n;
}
break;
- case 383:
-#line 2478 "gram.y"
+ case 442:
+#line 2789 "gram.y"
+ {}
+ break;
+
+ case 443:
+#line 2790 "gram.y"
+ {}
+ break;
+
+ case 444:
+#line 2801 "gram.y"
{
- AlterSeqStmt *n = makeNode(AlterSeqStmt);
- n->sequence = (yyvsp[-1].range);
- n->options = (yyvsp[0].list);
- (yyval.node) = (Node *)n;
+ CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
+ n->tablespacename = (yyvsp[-3].str);
+ n->owner = (yyvsp[-2].str);
+ n->location = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
}
break;
- case 384:
-#line 2486 "gram.y"
- { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+ case 445:
+#line 2810 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
break;
- case 385:
-#line 2487 "gram.y"
- { (yyval.list) = NIL; }
+ case 446:
+#line 2811 "gram.y"
+ { (yyval.str) = NULL; }
break;
- case 386:
-#line 2491 "gram.y"
+ case 447:
+#line 2825 "gram.y"
{
- (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value));
+ DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
+ n->tablespacename = (yyvsp[0].str);
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
}
break;
- case 387:
-#line 2495 "gram.y"
+ case 448:
+#line 2832 "gram.y"
{
- (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE));
+ DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
+ n->tablespacename = (yyvsp[0].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
}
break;
- case 388:
-#line 2499 "gram.y"
+ case 449:
+#line 2848 "gram.y"
{
- (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE));
+ CreateFdwStmt *n = makeNode(CreateFdwStmt);
+ n->fdwname = (yyvsp[-2].str);
+ n->validator = (yyvsp[-1].list);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
}
break;
- case 389:
-#line 2503 "gram.y"
+ case 450:
+#line 2865 "gram.y"
{
- (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value));
+ DropFdwStmt *n = makeNode(DropFdwStmt);
+ n->fdwname = (yyvsp[-1].str);
+ n->missing_ok = false;
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
}
break;
- case 390:
-#line 2507 "gram.y"
+ case 451:
+#line 2873 "gram.y"
{
- (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value));
+ DropFdwStmt *n = makeNode(DropFdwStmt);
+ n->fdwname = (yyvsp[-1].str);
+ n->missing_ok = true;
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
}
break;
- case 391:
-#line 2511 "gram.y"
+ case 452:
+#line 2890 "gram.y"
{
- (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value));
+ AlterFdwStmt *n = makeNode(AlterFdwStmt);
+ n->fdwname = (yyvsp[-2].str);
+ n->validator = (yyvsp[-1].list);
+ n->change_validator = true;
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
}
break;
- case 392:
-#line 2515 "gram.y"
+ case 453:
+#line 2899 "gram.y"
{
- (yyval.defelt) = makeDefElem("maxvalue", NULL);
+ AlterFdwStmt *n = makeNode(AlterFdwStmt);
+ n->fdwname = (yyvsp[-1].str);
+ n->validator = (yyvsp[0].list);
+ n->change_validator = true;
+ (yyval.node) = (Node *) n;
}
break;
- case 393:
-#line 2519 "gram.y"
+ case 454:
+#line 2907 "gram.y"
{
- (yyval.defelt) = makeDefElem("minvalue", NULL);
+ AlterFdwStmt *n = makeNode(AlterFdwStmt);
+ n->fdwname = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
}
break;
- case 394:
-#line 2523 "gram.y"
- {
- (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list));
- }
+ case 455:
+#line 2917 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
break;
- case 395:
-#line 2527 "gram.y"
+ case 456:
+#line 2918 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 457:
+#line 2923 "gram.y"
{
- (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value));
+ (yyval.list) = list_make1((yyvsp[0].defelt));
}
break;
- case 396:
-#line 2531 "gram.y"
+ case 458:
+#line 2927 "gram.y"
{
- (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value));
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
break;
- case 397:
-#line 2536 "gram.y"
- {}
+ case 459:
+#line 2934 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
break;
- case 398:
-#line 2537 "gram.y"
- {}
+ case 460:
+#line 2939 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].defelt));
+ }
break;
- case 399:
-#line 2541 "gram.y"
- { (yyval.value) = (yyvsp[0].value); }
+ case 461:
+#line 2943 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
+ }
break;
- case 400:
-#line 2542 "gram.y"
- { (yyval.value) = (yyvsp[0].value); }
+ case 462:
+#line 2950 "gram.y"
+ {
+ (yyval.defelt) = (yyvsp[0].defelt);
+ }
break;
- case 401:
-#line 2545 "gram.y"
- { (yyval.value) = makeFloat((yyvsp[0].str)); }
+ case 463:
+#line 2954 "gram.y"
+ {
+ (yyval.defelt) = (yyvsp[0].defelt);
+ (yyval.defelt)->defaction = DEFELEM_SET;
+ }
break;
- case 402:
-#line 2547 "gram.y"
+ case 464:
+#line 2959 "gram.y"
{
- (yyval.value) = makeFloat((yyvsp[0].str));
- doNegateFloat((yyval.value));
+ (yyval.defelt) = (yyvsp[0].defelt);
+ (yyval.defelt)->defaction = DEFELEM_ADD;
}
break;
- case 403:
-#line 2553 "gram.y"
- { (yyval.value) = makeInteger((yyvsp[0].ival)); }
+ case 465:
+#line 2964 "gram.y"
+ {
+ (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP);
+ }
break;
- case 404:
-#line 2566 "gram.y"
+ case 466:
+#line 2971 "gram.y"
{
- CreatePLangStmt *n = makeNode(CreatePLangStmt);
- n->plname = (yyvsp[0].str);
- /* parameters are all to be supplied by system */
- n->plhandler = NIL;
- n->plvalidator = NIL;
- n->pltrusted = false;
- (yyval.node) = (Node *)n;
- }
+ (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node));
+ }
break;
- case 405:
-#line 2577 "gram.y"
- {
- CreatePLangStmt *n = makeNode(CreatePLangStmt);
- n->plname = (yyvsp[-4].str);
- n->plhandler = (yyvsp[-2].list);
- n->plvalidator = (yyvsp[-1].list);
- n->pltrusted = (yyvsp[-7].boolean);
- /* LANCOMPILER is now ignored entirely */
- (yyval.node) = (Node *)n;
- }
+ case 467:
+#line 2977 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
break;
- case 406:
-#line 2589 "gram.y"
- { (yyval.boolean) = TRUE; }
+ case 468:
+#line 2982 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
break;
- case 407:
-#line 2590 "gram.y"
- { (yyval.boolean) = FALSE; }
+ case 469:
+#line 2994 "gram.y"
+ {
+ CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
+ n->servername = (yyvsp[-7].str);
+ n->servertype = (yyvsp[-6].str);
+ n->version = (yyvsp[-5].str);
+ n->fdwname = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
break;
- case 408:
-#line 2598 "gram.y"
- { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+ case 470:
+#line 3006 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
break;
- case 409:
-#line 2599 "gram.y"
- { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
+ case 471:
+#line 3007 "gram.y"
+ { (yyval.str) = NULL; }
break;
- case 410:
-#line 2603 "gram.y"
- { (yyval.list) = (yyvsp[0].list); }
+ case 472:
+#line 3012 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
break;
- case 411:
-#line 2604 "gram.y"
- { (yyval.list) = NIL; }
+ case 473:
+#line 3013 "gram.y"
+ { (yyval.str) = NULL; }
break;
- case 412:
-#line 2608 "gram.y"
+ case 474:
+#line 3017 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 413:
-#line 2609 "gram.y"
+ case 475:
+#line 3018 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 414:
-#line 2614 "gram.y"
+ case 476:
+#line 3029 "gram.y"
{
- DropPLangStmt *n = makeNode(DropPLangStmt);
- n->plname = (yyvsp[-1].str);
- n->behavior = (yyvsp[0].dbehavior);
+ DropForeignServerStmt *n = makeNode(DropForeignServerStmt);
+ n->servername = (yyvsp[-1].str);
n->missing_ok = false;
- (yyval.node) = (Node *)n;
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
}
break;
- case 415:
-#line 2622 "gram.y"
+ case 477:
+#line 3037 "gram.y"
{
- DropPLangStmt *n = makeNode(DropPLangStmt);
- n->plname = (yyvsp[-1].str);
- n->behavior = (yyvsp[0].dbehavior);
+ DropForeignServerStmt *n = makeNode(DropForeignServerStmt);
+ n->servername = (yyvsp[-1].str);
n->missing_ok = true;
- (yyval.node) = (Node *)n;
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
}
break;
- case 416:
-#line 2632 "gram.y"
- {}
+ case 478:
+#line 3054 "gram.y"
+ {
+ AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
+ n->servername = (yyvsp[-2].str);
+ n->version = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ n->has_version = true;
+ (yyval.node) = (Node *) n;
+ }
break;
- case 417:
-#line 2633 "gram.y"
- {}
+ case 479:
+#line 3063 "gram.y"
+ {
+ AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
+ n->servername = (yyvsp[-1].str);
+ n->version = (yyvsp[0].str);
+ n->has_version = true;
+ (yyval.node) = (Node *) n;
+ }
break;
- case 418:
-#line 2644 "gram.y"
+ case 480:
+#line 3071 "gram.y"
{
- CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
- n->tablespacename = (yyvsp[-3].str);
- n->owner = (yyvsp[-2].str);
- n->location = (yyvsp[0].str);
+ AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
+ n->servername = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
break;
- case 419:
-#line 2653 "gram.y"
- { (yyval.str) = (yyvsp[0].str); }
+ case 481:
+#line 3087 "gram.y"
+ {
+ CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
+ n->username = (yyvsp[-3].str);
+ n->servername = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
break;
- case 420:
-#line 2654 "gram.y"
- { (yyval.str) = NULL; }
+ case 482:
+#line 3098 "gram.y"
+ { (yyval.str) = "current_user"; }
break;
- case 421:
-#line 2668 "gram.y"
+ case 483:
+#line 3099 "gram.y"
+ { (yyval.str) = "current_user"; }
+ break;
+
+ case 484:
+#line 3100 "gram.y"
+ { (yyval.str) = (strcmp((yyvsp[0].str), "public") == 0) ? NULL : (yyvsp[0].str); }
+ break;
+
+ case 485:
+#line 3111 "gram.y"
{
- DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
- n->tablespacename = (yyvsp[0].str);
+ DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
+ n->username = (yyvsp[-2].str);
+ n->servername = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
}
break;
- case 422:
-#line 2675 "gram.y"
+ case 486:
+#line 3119 "gram.y"
{
- DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
- n->tablespacename = (yyvsp[0].str);
+ DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
+ n->username = (yyvsp[-2].str);
+ n->servername = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
}
break;
- case 423:
-#line 2695 "gram.y"
+ case 487:
+#line 3136 "gram.y"
+ {
+ AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
+ n->username = (yyvsp[-3].str);
+ n->servername = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 488:
+#line 3157 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[-11].str);
@@ -16954,7 +19230,7 @@ yyreduce:
n->args = (yyvsp[-1].list);
n->before = (yyvsp[-10].boolean);
n->row = (yyvsp[-6].boolean);
- memcpy(n->actions, (yyvsp[-9].str), 4);
+ n->events = (yyvsp[-9].ival);
n->isconstraint = FALSE;
n->deferrable = FALSE;
n->initdeferred = FALSE;
@@ -16963,8 +19239,8 @@ yyreduce:
}
break;
- case 424:
-#line 2715 "gram.y"
+ case 489:
+#line 3177 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[-15].str);
@@ -16973,77 +19249,68 @@ yyreduce:
n->args = (yyvsp[-1].list);
n->before = FALSE;
n->row = TRUE;
- memcpy(n->actions, (yyvsp[-13].str), 4);
+ n->events = (yyvsp[-13].ival);
n->isconstraint = TRUE;
n->deferrable = ((yyvsp[-9].ival) & 1) != 0;
n->initdeferred = ((yyvsp[-9].ival) & 2) != 0;
-
n->constrrel = (yyvsp[-10].range);
(yyval.node) = (Node *)n;
}
break;
- case 425:
-#line 2734 "gram.y"
+ case 490:
+#line 3195 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 426:
-#line 2735 "gram.y"
+ case 491:
+#line 3196 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 427:
-#line 2740 "gram.y"
- {
- char *e = palloc(4);
- e[0] = (yyvsp[0].chr); e[1] = '\0';
- (yyval.str) = e;
- }
+ case 492:
+#line 3201 "gram.y"
+ { (yyval.ival) = (yyvsp[0].ival); }
break;
- case 428:
-#line 2746 "gram.y"
+ case 493:
+#line 3203 "gram.y"
{
- char *e = palloc(4);
- e[0] = (yyvsp[-2].chr); e[1] = (yyvsp[0].chr); e[2] = '\0';
- (yyval.str) = e;
+ if ((yyvsp[-2].ival) & (yyvsp[0].ival))
+ yyerror("duplicate trigger events specified");
+ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival);
}
break;
- case 429:
-#line 2752 "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;
- }
+ case 494:
+#line 3211 "gram.y"
+ { (yyval.ival) = TRIGGER_TYPE_INSERT; }
break;
- case 430:
-#line 2760 "gram.y"
- { (yyval.chr) = 'i'; }
+ case 495:
+#line 3212 "gram.y"
+ { (yyval.ival) = TRIGGER_TYPE_DELETE; }
break;
- case 431:
-#line 2761 "gram.y"
- { (yyval.chr) = 'd'; }
+ case 496:
+#line 3213 "gram.y"
+ { (yyval.ival) = TRIGGER_TYPE_UPDATE; }
break;
- case 432:
-#line 2762 "gram.y"
- { (yyval.chr) = 'u'; }
+ case 497:
+#line 3214 "gram.y"
+ { (yyval.ival) = TRIGGER_TYPE_TRUNCATE; }
break;
- case 433:
-#line 2767 "gram.y"
+ case 498:
+#line 3219 "gram.y"
{
(yyval.boolean) = (yyvsp[0].boolean);
}
break;
- case 434:
-#line 2771 "gram.y"
+ case 499:
+#line 3223 "gram.y"
{
/*
* If ROW/STATEMENT not specified, default to
@@ -17053,43 +19320,43 @@ yyreduce:
}
break;
- case 435:
-#line 2781 "gram.y"
+ case 500:
+#line 3233 "gram.y"
{}
break;
- case 436:
-#line 2782 "gram.y"
+ case 501:
+#line 3234 "gram.y"
{}
break;
- case 437:
-#line 2786 "gram.y"
+ case 502:
+#line 3238 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 438:
-#line 2787 "gram.y"
+ case 503:
+#line 3239 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 439:
-#line 2791 "gram.y"
+ case 504:
+#line 3243 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].value)); }
break;
- case 440:
-#line 2792 "gram.y"
+ case 505:
+#line 3244 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
break;
- case 441:
-#line 2793 "gram.y"
+ case 506:
+#line 3245 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 442:
-#line 2798 "gram.y"
+ case 507:
+#line 3250 "gram.y"
{
char buf[64];
snprintf(buf, sizeof(buf), "%d", (yyvsp[0].ival));
@@ -17097,59 +19364,60 @@ yyreduce:
}
break;
- case 443:
-#line 2803 "gram.y"
+ case 508:
+#line 3255 "gram.y"
{ (yyval.value) = makeString((yyvsp[0].str)); }
break;
- case 444:
-#line 2804 "gram.y"
+ case 509:
+#line 3256 "gram.y"
{ (yyval.value) = makeString((yyvsp[0].str)); }
break;
- case 445:
-#line 2805 "gram.y"
+ case 510:
+#line 3257 "gram.y"
{ (yyval.value) = makeString((yyvsp[0].str)); }
break;
- case 446:
-#line 2806 "gram.y"
+ case 511:
+#line 3258 "gram.y"
{ (yyval.value) = makeString((yyvsp[0].str)); }
break;
- case 447:
-#line 2807 "gram.y"
+ case 512:
+#line 3259 "gram.y"
{ (yyval.value) = makeString((yyvsp[0].str)); }
break;
- case 448:
-#line 2811 "gram.y"
+ case 513:
+#line 3263 "gram.y"
{ (yyval.range) = (yyvsp[0].range); }
break;
- case 449:
-#line 2812 "gram.y"
+ case 514:
+#line 3264 "gram.y"
{ (yyval.range) = NULL; }
break;
- case 450:
-#line 2817 "gram.y"
+ case 515:
+#line 3269 "gram.y"
{ (yyval.ival) = (yyvsp[0].ival); }
break;
- case 451:
-#line 2819 "gram.y"
+ case 516:
+#line 3271 "gram.y"
{
if ((yyvsp[-1].ival) == 0 && (yyvsp[0].ival) != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE")));
+ errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
+ scanner_errposition((yylsp[-1]))));
(yyval.ival) = (yyvsp[-1].ival) | (yyvsp[0].ival);
}
break;
- case 452:
-#line 2827 "gram.y"
+ case 517:
+#line 3280 "gram.y"
{
if ((yyvsp[0].ival) != 0)
(yyval.ival) = 3;
@@ -17158,44 +19426,45 @@ yyreduce:
}
break;
- case 453:
-#line 2834 "gram.y"
+ case 518:
+#line 3287 "gram.y"
{
if ((yyvsp[0].ival) == 0 && (yyvsp[-1].ival) != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE")));
+ errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
+ scanner_errposition((yylsp[-1]))));
(yyval.ival) = (yyvsp[-1].ival) | (yyvsp[0].ival);
}
break;
- case 454:
-#line 2842 "gram.y"
+ case 519:
+#line 3296 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 455:
-#line 2846 "gram.y"
+ case 520:
+#line 3300 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 456:
-#line 2847 "gram.y"
+ case 521:
+#line 3301 "gram.y"
{ (yyval.ival) = 1; }
break;
- case 457:
-#line 2851 "gram.y"
+ case 522:
+#line 3305 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 458:
-#line 2852 "gram.y"
+ case 523:
+#line 3306 "gram.y"
{ (yyval.ival) = 2; }
break;
- case 459:
-#line 2858 "gram.y"
+ case 524:
+#line 3312 "gram.y"
{
DropPropertyStmt *n = makeNode(DropPropertyStmt);
n->relation = (yyvsp[-1].range);
@@ -17207,8 +19476,8 @@ yyreduce:
}
break;
- case 460:
-#line 2868 "gram.y"
+ case 525:
+#line 3322 "gram.y"
{
DropPropertyStmt *n = makeNode(DropPropertyStmt);
n->relation = (yyvsp[-1].range);
@@ -17220,8 +19489,8 @@ yyreduce:
}
break;
- case 461:
-#line 2891 "gram.y"
+ case 526:
+#line 3345 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[-5].str);
@@ -17238,8 +19507,8 @@ yyreduce:
}
break;
- case 462:
-#line 2909 "gram.y"
+ case 527:
+#line 3363 "gram.y"
{
DropPropertyStmt *n = makeNode(DropPropertyStmt);
n->relation = NULL;
@@ -17253,8 +19522,8 @@ yyreduce:
}
break;
- case 463:
-#line 2932 "gram.y"
+ case 528:
+#line 3386 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
@@ -17266,8 +19535,8 @@ yyreduce:
}
break;
- case 464:
-#line 2942 "gram.y"
+ case 529:
+#line 3396 "gram.y"
{
/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
DefineStmt *n = makeNode(DefineStmt);
@@ -17280,8 +19549,8 @@ yyreduce:
}
break;
- case 465:
-#line 2953 "gram.y"
+ case 530:
+#line 3407 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_OPERATOR;
@@ -17293,8 +19562,8 @@ yyreduce:
}
break;
- case 466:
-#line 2963 "gram.y"
+ case 531:
+#line 3417 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TYPE;
@@ -17306,8 +19575,8 @@ yyreduce:
}
break;
- case 467:
-#line 2973 "gram.y"
+ case 532:
+#line 3427 "gram.y"
{
/* Shell type (identified by lack of definition) */
DefineStmt *n = makeNode(DefineStmt);
@@ -17320,8 +19589,8 @@ yyreduce:
}
break;
- case 468:
-#line 2984 "gram.y"
+ case 533:
+#line 3438 "gram.y"
{
CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
RangeVar *r = makeNode(RangeVar);
@@ -17348,17 +19617,19 @@ yyreduce:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
- NameListToString((yyvsp[-4].list)))));
+ NameListToString((yyvsp[-4].list))),
+ scanner_errposition((yylsp[-4]))));
break;
}
+ r->location = (yylsp[-4]);
n->typevar = r;
n->coldeflist = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
break;
- case 469:
-#line 3018 "gram.y"
+ case 534:
+#line 3474 "gram.y"
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typename = (yyvsp[-5].list);
@@ -17367,8 +19638,8 @@ yyreduce:
}
break;
- case 470:
-#line 3025 "gram.y"
+ case 535:
+#line 3481 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSPARSER;
@@ -17379,8 +19650,8 @@ yyreduce:
}
break;
- case 471:
-#line 3034 "gram.y"
+ case 536:
+#line 3490 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSDICTIONARY;
@@ -17391,8 +19662,8 @@ yyreduce:
}
break;
- case 472:
-#line 3043 "gram.y"
+ case 537:
+#line 3499 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSTEMPLATE;
@@ -17403,8 +19674,8 @@ yyreduce:
}
break;
- case 473:
-#line 3052 "gram.y"
+ case 538:
+#line 3508 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSCONFIGURATION;
@@ -17415,104 +19686,104 @@ yyreduce:
}
break;
- case 474:
-#line 3062 "gram.y"
+ case 539:
+#line 3518 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 475:
-#line 3065 "gram.y"
+ case 540:
+#line 3521 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
break;
- case 476:
-#line 3066 "gram.y"
+ case 541:
+#line 3522 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
break;
- case 477:
-#line 3070 "gram.y"
+ case 542:
+#line 3526 "gram.y"
{
- (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node));
+ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node));
}
break;
- case 478:
-#line 3074 "gram.y"
+ case 543:
+#line 3530 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL);
}
break;
- case 479:
-#line 3080 "gram.y"
+ case 544:
+#line 3536 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[0].typnam); }
break;
- case 480:
-#line 3081 "gram.y"
+ case 545:
+#line 3537 "gram.y"
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
break;
- case 481:
-#line 3082 "gram.y"
+ case 546:
+#line 3538 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[0].list); }
break;
- case 482:
-#line 3083 "gram.y"
+ case 547:
+#line 3539 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[0].value); }
break;
- case 483:
-#line 3084 "gram.y"
+ case 548:
+#line 3540 "gram.y"
{ (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
break;
- case 484:
-#line 3087 "gram.y"
+ case 549:
+#line 3543 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 485:
-#line 3088 "gram.y"
+ case 550:
+#line 3544 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 486:
-#line 3091 "gram.y"
+ case 551:
+#line 3547 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 487:
-#line 3094 "gram.y"
+ case 552:
+#line 3550 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
break;
- case 488:
-#line 3095 "gram.y"
+ case 553:
+#line 3551 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
break;
- case 489:
-#line 3099 "gram.y"
+ case 554:
+#line 3560 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node));
}
break;
- case 490:
-#line 3105 "gram.y"
+ case 555:
+#line 3566 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 491:
-#line 3107 "gram.y"
+ case 556:
+#line 3568 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
break;
- case 492:
-#line 3125 "gram.y"
+ case 557:
+#line 3586 "gram.y"
{
CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
n->opclassname = (yyvsp[-9].list);
@@ -17525,44 +19796,42 @@ yyreduce:
}
break;
- case 493:
-#line 3138 "gram.y"
+ case 558:
+#line 3599 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 494:
-#line 3139 "gram.y"
+ case 559:
+#line 3600 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
break;
- case 495:
-#line 3144 "gram.y"
+ case 560:
+#line 3605 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = (yyvsp[-1].list);
n->args = NIL;
n->number = (yyvsp[-2].ival);
- n->recheck = (yyvsp[0].boolean);
(yyval.node) = (Node *) n;
}
break;
- case 496:
-#line 3154 "gram.y"
+ case 561:
+#line 3614 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
- n->name = (yyvsp[-4].list);
- n->args = (yyvsp[-2].list);
- n->number = (yyvsp[-5].ival);
- n->recheck = (yyvsp[0].boolean);
+ n->name = (yyvsp[-2].list);
+ n->args = (yyvsp[-1].list);
+ n->number = (yyvsp[-3].ival);
(yyval.node) = (Node *) n;
}
break;
- case 497:
-#line 3164 "gram.y"
+ case 562:
+#line 3623 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
@@ -17573,8 +19842,8 @@ yyreduce:
}
break;
- case 498:
-#line 3173 "gram.y"
+ case 563:
+#line 3632 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
@@ -17586,8 +19855,8 @@ yyreduce:
}
break;
- case 499:
-#line 3183 "gram.y"
+ case 564:
+#line 3642 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
@@ -17596,38 +19865,45 @@ yyreduce:
}
break;
- case 500:
-#line 3191 "gram.y"
+ case 565:
+#line 3650 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 501:
-#line 3192 "gram.y"
+ case 566:
+#line 3651 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 502:
-#line 3195 "gram.y"
+ case 567:
+#line 3654 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 503:
-#line 3196 "gram.y"
+ case 568:
+#line 3655 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 504:
-#line 3199 "gram.y"
- { (yyval.boolean) = TRUE; }
+ case 569:
+#line 3659 "gram.y"
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("RECHECK is no longer supported"),
+ errhint("Update your data type."),
+ scanner_errposition((yylsp[0]))));
+ (yyval.boolean) = TRUE;
+ }
break;
- case 505:
-#line 3200 "gram.y"
+ case 570:
+#line 3667 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 506:
-#line 3206 "gram.y"
+ case 571:
+#line 3673 "gram.y"
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[-2].list);
@@ -17636,8 +19912,8 @@ yyreduce:
}
break;
- case 507:
-#line 3216 "gram.y"
+ case 572:
+#line 3683 "gram.y"
{
AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
n->opfamilyname = (yyvsp[-4].list);
@@ -17648,8 +19924,8 @@ yyreduce:
}
break;
- case 508:
-#line 3225 "gram.y"
+ case 573:
+#line 3692 "gram.y"
{
AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
n->opfamilyname = (yyvsp[-4].list);
@@ -17660,18 +19936,18 @@ yyreduce:
}
break;
- case 509:
-#line 3236 "gram.y"
+ case 574:
+#line 3703 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 510:
-#line 3237 "gram.y"
+ case 575:
+#line 3704 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
break;
- case 511:
-#line 3242 "gram.y"
+ case 576:
+#line 3709 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
@@ -17681,8 +19957,8 @@ yyreduce:
}
break;
- case 512:
-#line 3250 "gram.y"
+ case 577:
+#line 3717 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
@@ -17692,8 +19968,8 @@ yyreduce:
}
break;
- case 513:
-#line 3262 "gram.y"
+ case 578:
+#line 3729 "gram.y"
{
RemoveOpClassStmt *n = makeNode(RemoveOpClassStmt);
n->opclassname = (yyvsp[-3].list);
@@ -17704,8 +19980,8 @@ yyreduce:
}
break;
- case 514:
-#line 3271 "gram.y"
+ case 579:
+#line 3738 "gram.y"
{
RemoveOpClassStmt *n = makeNode(RemoveOpClassStmt);
n->opclassname = (yyvsp[-3].list);
@@ -17716,8 +19992,8 @@ yyreduce:
}
break;
- case 515:
-#line 3283 "gram.y"
+ case 580:
+#line 3750 "gram.y"
{
RemoveOpFamilyStmt *n = makeNode(RemoveOpFamilyStmt);
n->opfamilyname = (yyvsp[-3].list);
@@ -17728,8 +20004,8 @@ yyreduce:
}
break;
- case 516:
-#line 3292 "gram.y"
+ case 581:
+#line 3759 "gram.y"
{
RemoveOpFamilyStmt *n = makeNode(RemoveOpFamilyStmt);
n->opfamilyname = (yyvsp[-3].list);
@@ -17740,8 +20016,8 @@ yyreduce:
}
break;
- case 517:
-#line 3313 "gram.y"
+ case 582:
+#line 3780 "gram.y"
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[-1].list);
@@ -17750,8 +20026,8 @@ yyreduce:
}
break;
- case 518:
-#line 3323 "gram.y"
+ case 583:
+#line 3790 "gram.y"
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[-2].list);
@@ -17760,8 +20036,8 @@ yyreduce:
}
break;
- case 519:
-#line 3341 "gram.y"
+ case 584:
+#line 3808 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[-4].objtype);
@@ -17772,8 +20048,8 @@ yyreduce:
}
break;
- case 520:
-#line 3350 "gram.y"
+ case 585:
+#line 3817 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[-2].objtype);
@@ -17784,108 +20060,124 @@ yyreduce:
}
break;
- case 521:
-#line 3361 "gram.y"
+ case 586:
+#line 3828 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; }
break;
- case 522:
-#line 3362 "gram.y"
+ case 587:
+#line 3829 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; }
break;
- case 523:
-#line 3363 "gram.y"
+ case 588:
+#line 3830 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; }
break;
- case 524:
-#line 3364 "gram.y"
+ case 589:
+#line 3831 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; }
break;
- case 525:
-#line 3365 "gram.y"
+ case 590:
+#line 3832 "gram.y"
{ (yyval.objtype) = OBJECT_TYPE; }
break;
- case 526:
-#line 3366 "gram.y"
+ case 591:
+#line 3833 "gram.y"
{ (yyval.objtype) = OBJECT_DOMAIN; }
break;
- case 527:
-#line 3367 "gram.y"
+ case 592:
+#line 3834 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; }
break;
- case 528:
-#line 3368 "gram.y"
+ case 593:
+#line 3835 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; }
break;
- case 529:
-#line 3369 "gram.y"
+ case 594:
+#line 3836 "gram.y"
{ (yyval.objtype) = OBJECT_TSPARSER; }
break;
- case 530:
-#line 3370 "gram.y"
+ case 595:
+#line 3837 "gram.y"
{ (yyval.objtype) = OBJECT_TSDICTIONARY; }
break;
- case 531:
-#line 3371 "gram.y"
+ case 596:
+#line 3838 "gram.y"
{ (yyval.objtype) = OBJECT_TSTEMPLATE; }
break;
- case 532:
-#line 3372 "gram.y"
+ case 597:
+#line 3839 "gram.y"
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; }
break;
- case 533:
-#line 3376 "gram.y"
+ case 598:
+#line 3843 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].list)); }
break;
- case 534:
-#line 3377 "gram.y"
+ case 599:
+#line 3844 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
break;
- case 535:
-#line 3380 "gram.y"
+ case 600:
+#line 3847 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 536:
-#line 3381 "gram.y"
+ case 601:
+#line 3848 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
break;
- case 537:
-#line 3385 "gram.y"
+ case 602:
+#line 3852 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 538:
-#line 3387 "gram.y"
+ case 603:
+#line 3854 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
break;
- case 539:
-#line 3400 "gram.y"
+ case 604:
+#line 3867 "gram.y"
{
TruncateStmt *n = makeNode(TruncateStmt);
- n->relations = (yyvsp[-1].list);
+ n->relations = (yyvsp[-2].list);
+ n->restart_seqs = (yyvsp[-1].boolean);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
break;
- case 540:
-#line 3431 "gram.y"
+ case 605:
+#line 3877 "gram.y"
+ { (yyval.boolean) = false; }
+ break;
+
+ case 606:
+#line 3878 "gram.y"
+ { (yyval.boolean) = true; }
+ break;
+
+ case 607:
+#line 3879 "gram.y"
+ { (yyval.boolean) = false; }
+ break;
+
+ case 608:
+#line 3905 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = (yyvsp[-3].objtype);
@@ -17896,8 +20188,8 @@ yyreduce:
}
break;
- case 541:
-#line 3440 "gram.y"
+ case 609:
+#line 3914 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_AGGREGATE;
@@ -17908,8 +20200,8 @@ yyreduce:
}
break;
- case 542:
-#line 3449 "gram.y"
+ case 610:
+#line 3923 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_FUNCTION;
@@ -17920,20 +20212,20 @@ yyreduce:
}
break;
- case 543:
-#line 3459 "gram.y"
+ case 611:
+#line 3932 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPERATOR;
- n->objname = (yyvsp[-5].list);
- n->objargs = (yyvsp[-3].list);
+ n->objname = (yyvsp[-3].list);
+ n->objargs = (yyvsp[-2].list);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
break;
- case 544:
-#line 3468 "gram.y"
+ case 612:
+#line 3941 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_CONSTRAINT;
@@ -17944,8 +20236,8 @@ yyreduce:
}
break;
- case 545:
-#line 3477 "gram.y"
+ case 613:
+#line 3950 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_RULE;
@@ -17956,8 +20248,8 @@ yyreduce:
}
break;
- case 546:
-#line 3486 "gram.y"
+ case 614:
+#line 3959 "gram.y"
{
/* Obsolete syntax supported for awhile for compatibility */
CommentStmt *n = makeNode(CommentStmt);
@@ -17969,8 +20261,8 @@ yyreduce:
}
break;
- case 547:
-#line 3496 "gram.y"
+ case 615:
+#line 3969 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TRIGGER;
@@ -17981,8 +20273,8 @@ yyreduce:
}
break;
- case 548:
-#line 3505 "gram.y"
+ case 616:
+#line 3978 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPCLASS;
@@ -17993,8 +20285,8 @@ yyreduce:
}
break;
- case 549:
-#line 3514 "gram.y"
+ case 617:
+#line 3987 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPFAMILY;
@@ -18005,8 +20297,8 @@ yyreduce:
}
break;
- case 550:
-#line 3523 "gram.y"
+ case 618:
+#line 3996 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LARGEOBJECT;
@@ -18017,8 +20309,8 @@ yyreduce:
}
break;
- case 551:
-#line 3532 "gram.y"
+ case 619:
+#line 4005 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_CAST;
@@ -18029,8 +20321,8 @@ yyreduce:
}
break;
- case 552:
-#line 3541 "gram.y"
+ case 620:
+#line 4014 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LANGUAGE;
@@ -18041,8 +20333,8 @@ yyreduce:
}
break;
- case 553:
-#line 3550 "gram.y"
+ case 621:
+#line 4023 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TSPARSER;
@@ -18052,8 +20344,8 @@ yyreduce:
}
break;
- case 554:
-#line 3558 "gram.y"
+ case 622:
+#line 4031 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TSDICTIONARY;
@@ -18063,8 +20355,8 @@ yyreduce:
}
break;
- case 555:
-#line 3566 "gram.y"
+ case 623:
+#line 4039 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TSTEMPLATE;
@@ -18074,8 +20366,8 @@ yyreduce:
}
break;
- case 556:
-#line 3574 "gram.y"
+ case 624:
+#line 4047 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TSCONFIGURATION;
@@ -18085,78 +20377,78 @@ yyreduce:
}
break;
- case 557:
-#line 3584 "gram.y"
+ case 625:
+#line 4057 "gram.y"
{ (yyval.objtype) = OBJECT_COLUMN; }
break;
- case 558:
-#line 3585 "gram.y"
+ case 626:
+#line 4058 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; }
break;
- case 559:
-#line 3586 "gram.y"
+ case 627:
+#line 4059 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; }
break;
- case 560:
-#line 3587 "gram.y"
+ case 628:
+#line 4060 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; }
break;
- case 561:
-#line 3588 "gram.y"
+ case 629:
+#line 4061 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; }
break;
- case 562:
-#line 3589 "gram.y"
+ case 630:
+#line 4062 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; }
break;
- case 563:
-#line 3590 "gram.y"
+ case 631:
+#line 4063 "gram.y"
{ (yyval.objtype) = OBJECT_TYPE; }
break;
- case 564:
-#line 3591 "gram.y"
+ case 632:
+#line 4064 "gram.y"
{ (yyval.objtype) = OBJECT_TYPE; }
break;
- case 565:
-#line 3592 "gram.y"
+ case 633:
+#line 4065 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; }
break;
- case 566:
-#line 3593 "gram.y"
+ case 634:
+#line 4066 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; }
break;
- case 567:
-#line 3594 "gram.y"
+ case 635:
+#line 4067 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; }
break;
- case 568:
-#line 3595 "gram.y"
+ case 636:
+#line 4068 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; }
break;
- case 569:
-#line 3599 "gram.y"
+ case 637:
+#line 4072 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 570:
-#line 3600 "gram.y"
+ case 638:
+#line 4073 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 571:
-#line 3611 "gram.y"
+ case 639:
+#line 4084 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[-2].node);
n->portalname = (yyvsp[0].str);
@@ -18165,8 +20457,8 @@ yyreduce:
}
break;
- case 572:
-#line 3618 "gram.y"
+ case 640:
+#line 4091 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18177,8 +20469,8 @@ yyreduce:
}
break;
- case 573:
-#line 3627 "gram.y"
+ case 641:
+#line 4100 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[-2].node);
n->portalname = (yyvsp[0].str);
@@ -18187,8 +20479,8 @@ yyreduce:
}
break;
- case 574:
-#line 3634 "gram.y"
+ case 642:
+#line 4107 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18199,8 +20491,8 @@ yyreduce:
}
break;
- case 575:
-#line 3646 "gram.y"
+ case 643:
+#line 4119 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18209,8 +20501,8 @@ yyreduce:
}
break;
- case 576:
-#line 3653 "gram.y"
+ case 644:
+#line 4126 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18219,8 +20511,8 @@ yyreduce:
}
break;
- case 577:
-#line 3660 "gram.y"
+ case 645:
+#line 4133 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_BACKWARD;
@@ -18229,8 +20521,8 @@ yyreduce:
}
break;
- case 578:
-#line 3667 "gram.y"
+ case 646:
+#line 4140 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_ABSOLUTE;
@@ -18239,8 +20531,8 @@ yyreduce:
}
break;
- case 579:
-#line 3674 "gram.y"
+ case 647:
+#line 4147 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_ABSOLUTE;
@@ -18249,8 +20541,8 @@ yyreduce:
}
break;
- case 580:
-#line 3681 "gram.y"
+ case 648:
+#line 4154 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_ABSOLUTE;
@@ -18259,8 +20551,8 @@ yyreduce:
}
break;
- case 581:
-#line 3688 "gram.y"
+ case 649:
+#line 4161 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_RELATIVE;
@@ -18269,8 +20561,8 @@ yyreduce:
}
break;
- case 582:
-#line 3695 "gram.y"
+ case 650:
+#line 4168 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18279,8 +20571,8 @@ yyreduce:
}
break;
- case 583:
-#line 3702 "gram.y"
+ case 651:
+#line 4175 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18289,8 +20581,8 @@ yyreduce:
}
break;
- case 584:
-#line 3709 "gram.y"
+ case 652:
+#line 4182 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18299,8 +20591,8 @@ yyreduce:
}
break;
- case 585:
-#line 3716 "gram.y"
+ case 653:
+#line 4189 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18309,8 +20601,8 @@ yyreduce:
}
break;
- case 586:
-#line 3723 "gram.y"
+ case 654:
+#line 4196 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_FORWARD;
@@ -18319,8 +20611,8 @@ yyreduce:
}
break;
- case 587:
-#line 3730 "gram.y"
+ case 655:
+#line 4203 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_BACKWARD;
@@ -18329,8 +20621,8 @@ yyreduce:
}
break;
- case 588:
-#line 3737 "gram.y"
+ case 656:
+#line 4210 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_BACKWARD;
@@ -18339,8 +20631,8 @@ yyreduce:
}
break;
- case 589:
-#line 3744 "gram.y"
+ case 657:
+#line 4217 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->direction = FETCH_BACKWARD;
@@ -18349,18 +20641,18 @@ yyreduce:
}
break;
- case 590:
-#line 3752 "gram.y"
+ case 658:
+#line 4225 "gram.y"
{}
break;
- case 591:
-#line 3753 "gram.y"
+ case 659:
+#line 4226 "gram.y"
{}
break;
- case 592:
-#line 3765 "gram.y"
+ case 660:
+#line 4238 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
@@ -18373,8 +20665,8 @@ yyreduce:
}
break;
- case 593:
-#line 3780 "gram.y"
+ case 661:
+#line 4253 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
@@ -18388,8 +20680,8 @@ yyreduce:
}
break;
- case 594:
-#line 3793 "gram.y"
+ case 662:
+#line 4266 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
@@ -18403,143 +20695,203 @@ yyreduce:
}
break;
- case 595:
-#line 3818 "gram.y"
+ case 663:
+#line 4290 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 596:
-#line 3820 "gram.y"
+ case 664:
+#line 4292 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 597:
-#line 3822 "gram.y"
+ case 665:
+#line 4294 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 598:
-#line 3826 "gram.y"
- { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+ case 666:
+#line 4296 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = NULL;
+ n->cols = (yyvsp[-1].list);
+ (yyval.list) = list_make1(n);
+ }
break;
- case 599:
-#line 3828 "gram.y"
- { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+ case 667:
+#line 4303 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = NULL;
+ n->cols = (yyvsp[-1].list);
+ (yyval.list) = list_make1(n);
+ }
break;
- case 600:
-#line 3831 "gram.y"
- { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+ case 668:
+#line 4311 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
break;
- case 601:
-#line 3832 "gram.y"
- { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+ case 669:
+#line 4312 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
break;
- case 602:
-#line 3833 "gram.y"
- { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+ case 670:
+#line 4316 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = pstrdup((yyvsp[-1].keyword));
+ n->cols = (yyvsp[0].list);
+ (yyval.accesspriv) = n;
+ }
break;
- case 603:
-#line 3834 "gram.y"
- { (yyval.str) = (yyvsp[0].str); }
+ case 671:
+#line 4323 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = pstrdup((yyvsp[-1].keyword));
+ n->cols = (yyvsp[0].list);
+ (yyval.accesspriv) = n;
+ }
break;
- case 604:
-#line 3843 "gram.y"
+ case 672:
+#line 4330 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = pstrdup((yyvsp[-1].keyword));
+ n->cols = (yyvsp[0].list);
+ (yyval.accesspriv) = n;
+ }
+ break;
+
+ case 673:
+#line 4337 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = (yyvsp[-1].str);
+ n->cols = (yyvsp[0].list);
+ (yyval.accesspriv) = n;
+ }
+ break;
+
+ case 674:
+#line 4351 "gram.y"
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_RELATION;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
break;
- case 605:
-#line 3850 "gram.y"
+ case 675:
+#line 4358 "gram.y"
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_RELATION;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
break;
- case 606:
-#line 3857 "gram.y"
+ case 676:
+#line 4365 "gram.y"
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_SEQUENCE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
break;
- case 607:
-#line 3864 "gram.y"
+ case 677:
+#line 4372 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+ n->objtype = ACL_OBJECT_FDW;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+ break;
+
+ case 678:
+#line 4379 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+ n->objtype = ACL_OBJECT_FOREIGN_SERVER;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+ break;
+
+ case 679:
+#line 4386 "gram.y"
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_FUNCTION;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
break;
- case 608:
-#line 3871 "gram.y"
+ case 680:
+#line 4393 "gram.y"
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_DATABASE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
break;
- case 609:
-#line 3878 "gram.y"
+ case 681:
+#line 4400 "gram.y"
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_LANGUAGE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
break;
- case 610:
-#line 3885 "gram.y"
+ case 682:
+#line 4407 "gram.y"
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_NAMESPACE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
break;
- case 611:
-#line 3892 "gram.y"
+ case 683:
+#line 4414 "gram.y"
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_TABLESPACE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
break;
- case 612:
-#line 3902 "gram.y"
+ case 684:
+#line 4424 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 613:
-#line 3903 "gram.y"
+ case 685:
+#line 4425 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
break;
- case 614:
-#line 3907 "gram.y"
+ case 686:
+#line 4429 "gram.y"
{
PrivGrantee *n = makeNode(PrivGrantee);
/* This hack lets us avoid reserving PUBLIC as a keyword*/
@@ -18551,8 +20903,8 @@ yyreduce:
}
break;
- case 615:
-#line 3917 "gram.y"
+ case 687:
+#line 4439 "gram.y"
{
PrivGrantee *n = makeNode(PrivGrantee);
/* Treat GROUP PUBLIC as a synonym for PUBLIC */
@@ -18564,28 +20916,28 @@ yyreduce:
}
break;
- case 616:
-#line 3930 "gram.y"
+ case 688:
+#line 4452 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 617:
-#line 3931 "gram.y"
+ case 689:
+#line 4453 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 618:
-#line 3935 "gram.y"
+ case 690:
+#line 4457 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].funwithargs)); }
break;
- case 619:
-#line 3937 "gram.y"
+ case 691:
+#line 4459 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].funwithargs)); }
break;
- case 620:
-#line 3942 "gram.y"
+ case 692:
+#line 4464 "gram.y"
{
FuncWithArgs *n = makeNode(FuncWithArgs);
n->funcname = (yyvsp[-1].list);
@@ -18594,8 +20946,8 @@ yyreduce:
}
break;
- case 621:
-#line 3958 "gram.y"
+ case 693:
+#line 4480 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
@@ -18607,8 +20959,8 @@ yyreduce:
}
break;
- case 622:
-#line 3971 "gram.y"
+ case 694:
+#line 4493 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
@@ -18620,8 +20972,8 @@ yyreduce:
}
break;
- case 623:
-#line 3981 "gram.y"
+ case 695:
+#line 4503 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
@@ -18633,28 +20985,28 @@ yyreduce:
}
break;
- case 624:
-#line 3992 "gram.y"
+ case 696:
+#line 4514 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 625:
-#line 3993 "gram.y"
+ case 697:
+#line 4515 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 626:
-#line 3996 "gram.y"
+ case 698:
+#line 4518 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 627:
-#line 3997 "gram.y"
+ case 699:
+#line 4519 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 628:
-#line 4015 "gram.y"
+ case 700:
+#line 4537 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[-11].boolean);
@@ -18670,8 +21022,8 @@ yyreduce:
}
break;
- case 629:
-#line 4031 "gram.y"
+ case 701:
+#line 4553 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[-12].boolean);
@@ -18687,38 +21039,38 @@ yyreduce:
}
break;
- case 630:
-#line 4047 "gram.y"
+ case 702:
+#line 4569 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 631:
-#line 4048 "gram.y"
+ case 703:
+#line 4570 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 632:
-#line 4052 "gram.y"
+ case 704:
+#line 4574 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 633:
-#line 4053 "gram.y"
+ case 705:
+#line 4575 "gram.y"
{ (yyval.str) = DEFAULT_INDEX_TYPE; }
break;
- case 634:
-#line 4056 "gram.y"
+ case 706:
+#line 4578 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].ielem)); }
break;
- case 635:
-#line 4057 "gram.y"
+ case 707:
+#line 4579 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
break;
- case 636:
-#line 4066 "gram.y"
+ case 708:
+#line 4588 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = (yyvsp[-3].str);
@@ -18729,8 +21081,8 @@ yyreduce:
}
break;
- case 637:
-#line 4075 "gram.y"
+ case 709:
+#line 4597 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
@@ -18741,8 +21093,8 @@ yyreduce:
}
break;
- case 638:
-#line 4084 "gram.y"
+ case 710:
+#line 4606 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
@@ -18753,53 +21105,53 @@ yyreduce:
}
break;
- case 639:
-#line 4094 "gram.y"
+ case 711:
+#line 4616 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 640:
-#line 4095 "gram.y"
+ case 712:
+#line 4617 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 641:
-#line 4096 "gram.y"
+ case 713:
+#line 4618 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 642:
-#line 4099 "gram.y"
+ case 714:
+#line 4621 "gram.y"
{ (yyval.ival) = SORTBY_ASC; }
break;
- case 643:
-#line 4100 "gram.y"
+ case 715:
+#line 4622 "gram.y"
{ (yyval.ival) = SORTBY_DESC; }
break;
- case 644:
-#line 4101 "gram.y"
+ case 716:
+#line 4623 "gram.y"
{ (yyval.ival) = SORTBY_DEFAULT; }
break;
- case 645:
-#line 4104 "gram.y"
+ case 717:
+#line 4626 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_FIRST; }
break;
- case 646:
-#line 4105 "gram.y"
+ case 718:
+#line 4627 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_LAST; }
break;
- case 647:
-#line 4106 "gram.y"
+ case 719:
+#line 4628 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; }
break;
- case 648:
-#line 4124 "gram.y"
+ case 720:
+#line 4646 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->replace = (yyvsp[-7].boolean);
@@ -18812,8 +21164,23 @@ yyreduce:
}
break;
- case 649:
-#line 4136 "gram.y"
+ case 721:
+#line 4658 "gram.y"
+ {
+ CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
+ n->replace = (yyvsp[-10].boolean);
+ n->funcname = (yyvsp[-8].list);
+ n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list));
+ n->returnType = TableFuncTypeName((yyvsp[-3].list));
+ n->returnType->location = (yylsp[-5]);
+ n->options = (yyvsp[-1].list);
+ n->withClause = (yyvsp[0].list);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 722:
+#line 4671 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->replace = (yyvsp[-5].boolean);
@@ -18826,113 +21193,143 @@ yyreduce:
}
break;
- case 650:
-#line 4149 "gram.y"
+ case 723:
+#line 4684 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 651:
-#line 4150 "gram.y"
+ case 724:
+#line 4685 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 652:
-#line 4153 "gram.y"
+ case 725:
+#line 4688 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 653:
-#line 4154 "gram.y"
+ case 726:
+#line 4689 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 654:
-#line 4158 "gram.y"
+ case 727:
+#line 4693 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
break;
- case 655:
-#line 4159 "gram.y"
+ case 728:
+#line 4694 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
break;
- case 656:
-#line 4174 "gram.y"
+ case 729:
+#line 4702 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+ break;
+
+ case 730:
+#line 4703 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 731:
+#line 4707 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
+ break;
+
+ case 732:
+#line 4709 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
+ break;
+
+ case 733:
+#line 4724 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[-1].str);
n->argType = (yyvsp[0].typnam);
n->mode = (yyvsp[-2].fun_param_mode);
+ n->defexpr = NULL;
(yyval.fun_param) = n;
}
break;
- case 657:
-#line 4182 "gram.y"
+ case 734:
+#line 4733 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[-2].str);
n->argType = (yyvsp[0].typnam);
n->mode = (yyvsp[-1].fun_param_mode);
+ n->defexpr = NULL;
(yyval.fun_param) = n;
}
break;
- case 658:
-#line 4190 "gram.y"
+ case 735:
+#line 4742 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[-1].str);
n->argType = (yyvsp[0].typnam);
n->mode = FUNC_PARAM_IN;
+ n->defexpr = NULL;
(yyval.fun_param) = n;
}
break;
- case 659:
-#line 4198 "gram.y"
+ case 736:
+#line 4751 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[0].typnam);
n->mode = (yyvsp[-1].fun_param_mode);
+ n->defexpr = NULL;
(yyval.fun_param) = n;
}
break;
- case 660:
-#line 4206 "gram.y"
+ case 737:
+#line 4760 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[0].typnam);
n->mode = FUNC_PARAM_IN;
+ n->defexpr = NULL;
(yyval.fun_param) = n;
}
break;
- case 661:
-#line 4216 "gram.y"
+ case 738:
+#line 4771 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; }
break;
- case 662:
-#line 4217 "gram.y"
+ case 739:
+#line 4772 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
break;
- case 663:
-#line 4218 "gram.y"
+ case 740:
+#line 4773 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
break;
- case 664:
-#line 4219 "gram.y"
+ case 741:
+#line 4774 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
break;
- case 666:
-#line 4230 "gram.y"
+ case 742:
+#line 4775 "gram.y"
+ { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
+ break;
+
+ case 744:
+#line 4786 "gram.y"
{
/* We can catch over-specified results here if we want to,
* but for now better to silently swallow typmod, etc.
@@ -18942,13 +21339,13 @@ yyreduce:
}
break;
- case 667:
-#line 4244 "gram.y"
+ case 745:
+#line 4800 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 668:
-#line 4246 "gram.y"
+ case 746:
+#line 4802 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
(yyval.typnam)->pct_type = true;
@@ -18956,8 +21353,8 @@ yyreduce:
}
break;
- case 669:
-#line 4252 "gram.y"
+ case 747:
+#line 4808 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
(yyval.typnam)->pct_type = true;
@@ -18966,153 +21363,209 @@ yyreduce:
}
break;
- case 670:
-#line 4263 "gram.y"
+ case 748:
+#line 4818 "gram.y"
+ {
+ (yyval.fun_param) = (yyvsp[0].fun_param);
+ }
+ break;
+
+ case 749:
+#line 4822 "gram.y"
+ {
+ (yyval.fun_param) = (yyvsp[-2].fun_param);
+ (yyval.fun_param)->defexpr = (yyvsp[0].node);
+ }
+ break;
+
+ case 750:
+#line 4827 "gram.y"
+ {
+ (yyval.fun_param) = (yyvsp[-2].fun_param);
+ (yyval.fun_param)->defexpr = (yyvsp[0].node);
+ }
+ break;
+
+ case 751:
+#line 4836 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
break;
- case 671:
-#line 4264 "gram.y"
+ case 752:
+#line 4837 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
break;
- case 672:
-#line 4272 "gram.y"
+ case 753:
+#line 4845 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(FALSE));
}
break;
- case 673:
-#line 4276 "gram.y"
+ case 754:
+#line 4849 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
}
break;
- case 674:
-#line 4280 "gram.y"
+ case 755:
+#line 4853 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
}
break;
- case 675:
-#line 4284 "gram.y"
+ case 756:
+#line 4857 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"));
}
break;
- case 676:
-#line 4288 "gram.y"
+ case 757:
+#line 4861 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"));
}
break;
- case 677:
-#line 4292 "gram.y"
+ case 758:
+#line 4865 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"));
}
break;
- case 678:
-#line 4296 "gram.y"
+ case 759:
+#line 4869 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
}
break;
- case 679:
-#line 4300 "gram.y"
+ case 760:
+#line 4873 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
}
break;
- case 680:
-#line 4304 "gram.y"
+ case 761:
+#line 4877 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
}
break;
- case 681:
-#line 4308 "gram.y"
+ case 762:
+#line 4881 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
}
break;
- case 682:
-#line 4312 "gram.y"
+ case 763:
+#line 4885 "gram.y"
{
(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value));
}
break;
- case 683:
-#line 4316 "gram.y"
+ case 764:
+#line 4889 "gram.y"
{
(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value));
}
break;
- case 684:
-#line 4320 "gram.y"
+ case 765:
+#line 4893 "gram.y"
{
/* we abuse the normal content of a DefElem here */
(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt));
}
break;
- case 685:
-#line 4328 "gram.y"
+ case 766:
+#line 4901 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list));
}
break;
- case 686:
-#line 4332 "gram.y"
+ case 767:
+#line 4905 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 687:
-#line 4336 "gram.y"
+ case 768:
+#line 4909 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("window", (Node *)makeInteger(TRUE));
+ }
+ break;
+
+ case 769:
+#line 4913 "gram.y"
{
(yyval.defelt) = (yyvsp[0].defelt);
}
break;
- case 688:
-#line 4341 "gram.y"
+ case 770:
+#line 4918 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 689:
-#line 4343 "gram.y"
+ case 771:
+#line 4920 "gram.y"
{
(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
}
break;
- case 690:
-#line 4349 "gram.y"
+ case 772:
+#line 4926 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 691:
-#line 4350 "gram.y"
+ case 773:
+#line 4927 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 692:
-#line 4363 "gram.y"
+ case 774:
+#line 4931 "gram.y"
+ {
+ FunctionParameter *n = makeNode(FunctionParameter);
+ n->name = (yyvsp[-1].str);
+ n->argType = (yyvsp[0].typnam);
+ n->mode = FUNC_PARAM_TABLE;
+ n->defexpr = NULL;
+ (yyval.fun_param) = n;
+ }
+ break;
+
+ case 775:
+#line 4943 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].fun_param));
+ }
+ break;
+
+ case 776:
+#line 4947 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
+ }
+ break;
+
+ case 777:
+#line 4962 "gram.y"
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->func = (yyvsp[-2].funwithargs);
@@ -19121,18 +21574,18 @@ yyreduce:
}
break;
- case 693:
-#line 4373 "gram.y"
+ case 778:
+#line 4972 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
break;
- case 694:
-#line 4374 "gram.y"
+ case 779:
+#line 4973 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
break;
- case 697:
-#line 4396 "gram.y"
+ case 782:
+#line 4995 "gram.y"
{
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
n->kind = OBJECT_FUNCTION;
@@ -19144,8 +21597,8 @@ yyreduce:
}
break;
- case 698:
-#line 4406 "gram.y"
+ case 783:
+#line 5005 "gram.y"
{
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
n->kind = OBJECT_FUNCTION;
@@ -19157,8 +21610,8 @@ yyreduce:
}
break;
- case 699:
-#line 4419 "gram.y"
+ case 784:
+#line 5018 "gram.y"
{
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
n->kind = OBJECT_AGGREGATE;
@@ -19170,8 +21623,8 @@ yyreduce:
}
break;
- case 700:
-#line 4429 "gram.y"
+ case 785:
+#line 5028 "gram.y"
{
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
n->kind = OBJECT_AGGREGATE;
@@ -19183,108 +21636,124 @@ yyreduce:
}
break;
- case 701:
-#line 4442 "gram.y"
+ case 786:
+#line 5041 "gram.y"
{
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
n->kind = OBJECT_OPERATOR;
- n->name = (yyvsp[-4].list);
- n->args = (yyvsp[-2].list);
+ n->name = (yyvsp[-2].list);
+ n->args = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
break;
- case 702:
-#line 4452 "gram.y"
+ case 787:
+#line 5051 "gram.y"
{
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
n->kind = OBJECT_OPERATOR;
- n->name = (yyvsp[-4].list);
- n->args = (yyvsp[-2].list);
+ n->name = (yyvsp[-2].list);
+ n->args = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
break;
- case 703:
-#line 4465 "gram.y"
+ case 788:
+#line 5064 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("missing argument"),
- errhint("Use NONE to denote the missing argument of a unary operator.")));
+ errhint("Use NONE to denote the missing argument of a unary operator."),
+ scanner_errposition((yylsp[0]))));
}
break;
- case 704:
-#line 4472 "gram.y"
- { (yyval.list) = list_make2((yyvsp[-2].typnam), (yyvsp[0].typnam)); }
+ case 789:
+#line 5072 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
break;
- case 705:
-#line 4474 "gram.y"
- { (yyval.list) = list_make2(NULL, (yyvsp[0].typnam)); }
+ case 790:
+#line 5074 "gram.y"
+ { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
break;
- case 706:
-#line 4476 "gram.y"
- { (yyval.list) = list_make2((yyvsp[-2].typnam), NULL); }
+ case 791:
+#line 5076 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
break;
- case 707:
-#line 4481 "gram.y"
+ case 792:
+#line 5081 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 708:
-#line 4483 "gram.y"
+ case 793:
+#line 5083 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
break;
- case 709:
-#line 4495 "gram.y"
+ case 794:
+#line 5095 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[-7].typnam);
n->targettype = (yyvsp[-5].typnam);
n->func = (yyvsp[-1].funwithargs);
n->context = (CoercionContext) (yyvsp[0].ival);
+ n->inout = false;
(yyval.node) = (Node *)n;
}
break;
- case 710:
-#line 4505 "gram.y"
+ case 795:
+#line 5106 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[-6].typnam);
n->targettype = (yyvsp[-4].typnam);
n->func = NULL;
n->context = (CoercionContext) (yyvsp[0].ival);
+ n->inout = false;
(yyval.node) = (Node *)n;
}
break;
- case 711:
-#line 4515 "gram.y"
+ case 796:
+#line 5117 "gram.y"
+ {
+ CreateCastStmt *n = makeNode(CreateCastStmt);
+ n->sourcetype = (yyvsp[-6].typnam);
+ n->targettype = (yyvsp[-4].typnam);
+ n->func = NULL;
+ n->context = (CoercionContext) (yyvsp[0].ival);
+ n->inout = true;
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 797:
+#line 5128 "gram.y"
{ (yyval.ival) = COERCION_IMPLICIT; }
break;
- case 712:
-#line 4516 "gram.y"
+ case 798:
+#line 5129 "gram.y"
{ (yyval.ival) = COERCION_ASSIGNMENT; }
break;
- case 713:
-#line 4517 "gram.y"
+ case 799:
+#line 5130 "gram.y"
{ (yyval.ival) = COERCION_EXPLICIT; }
break;
- case 714:
-#line 4522 "gram.y"
+ case 800:
+#line 5135 "gram.y"
{
DropCastStmt *n = makeNode(DropCastStmt);
n->sourcetype = (yyvsp[-4].typnam);
@@ -19295,18 +21764,18 @@ yyreduce:
}
break;
- case 715:
-#line 4532 "gram.y"
+ case 801:
+#line 5145 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 716:
-#line 4533 "gram.y"
+ case 802:
+#line 5146 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 717:
-#line 4548 "gram.y"
+ case 803:
+#line 5161 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-2].objtype);
@@ -19316,8 +21785,8 @@ yyreduce:
}
break;
- case 718:
-#line 4556 "gram.y"
+ case 804:
+#line 5169 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = OBJECT_DATABASE;
@@ -19329,8 +21798,8 @@ yyreduce:
}
break;
- case 719:
-#line 4566 "gram.y"
+ case 805:
+#line 5179 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = OBJECT_DATABASE;
@@ -19342,28 +21811,28 @@ yyreduce:
}
break;
- case 720:
-#line 4578 "gram.y"
+ case 806:
+#line 5191 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; }
break;
- case 721:
-#line 4579 "gram.y"
+ case 807:
+#line 5192 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; }
break;
- case 722:
-#line 4582 "gram.y"
+ case 808:
+#line 5195 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 723:
-#line 4583 "gram.y"
+ case 809:
+#line 5196 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 724:
-#line 4594 "gram.y"
+ case 810:
+#line 5207 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_AGGREGATE;
@@ -19374,8 +21843,8 @@ yyreduce:
}
break;
- case 725:
-#line 4603 "gram.y"
+ case 811:
+#line 5216 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_CONVERSION;
@@ -19385,8 +21854,8 @@ yyreduce:
}
break;
- case 726:
-#line 4611 "gram.y"
+ case 812:
+#line 5224 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DATABASE;
@@ -19396,8 +21865,8 @@ yyreduce:
}
break;
- case 727:
-#line 4619 "gram.y"
+ case 813:
+#line 5232 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FUNCTION;
@@ -19408,8 +21877,8 @@ yyreduce:
}
break;
- case 728:
-#line 4628 "gram.y"
+ case 814:
+#line 5241 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
@@ -19419,8 +21888,8 @@ yyreduce:
}
break;
- case 729:
-#line 4636 "gram.y"
+ case 815:
+#line 5249 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_LANGUAGE;
@@ -19430,8 +21899,8 @@ yyreduce:
}
break;
- case 730:
-#line 4644 "gram.y"
+ case 816:
+#line 5257 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPCLASS;
@@ -19442,8 +21911,8 @@ yyreduce:
}
break;
- case 731:
-#line 4653 "gram.y"
+ case 817:
+#line 5266 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPFAMILY;
@@ -19454,8 +21923,8 @@ yyreduce:
}
break;
- case 732:
-#line 4662 "gram.y"
+ case 818:
+#line 5275 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SCHEMA;
@@ -19465,8 +21934,8 @@ yyreduce:
}
break;
- case 733:
-#line 4670 "gram.y"
+ case 819:
+#line 5283 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLE;
@@ -19477,8 +21946,8 @@ yyreduce:
}
break;
- case 734:
-#line 4679 "gram.y"
+ case 820:
+#line 5292 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SEQUENCE;
@@ -19489,8 +21958,8 @@ yyreduce:
}
break;
- case 735:
-#line 4688 "gram.y"
+ case 821:
+#line 5301 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_VIEW;
@@ -19501,8 +21970,8 @@ yyreduce:
}
break;
- case 736:
-#line 4697 "gram.y"
+ case 822:
+#line 5310 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_INDEX;
@@ -19513,8 +21982,8 @@ yyreduce:
}
break;
- case 737:
-#line 4706 "gram.y"
+ case 823:
+#line 5319 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
@@ -19525,8 +21994,8 @@ yyreduce:
}
break;
- case 738:
-#line 4715 "gram.y"
+ case 824:
+#line 5328 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TRIGGER;
@@ -19537,8 +22006,8 @@ yyreduce:
}
break;
- case 739:
-#line 4724 "gram.y"
+ case 825:
+#line 5337 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
@@ -19548,8 +22017,8 @@ yyreduce:
}
break;
- case 740:
-#line 4732 "gram.y"
+ case 826:
+#line 5345 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
@@ -19559,8 +22028,8 @@ yyreduce:
}
break;
- case 741:
-#line 4740 "gram.y"
+ case 827:
+#line 5353 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLESPACE;
@@ -19570,8 +22039,8 @@ yyreduce:
}
break;
- case 742:
-#line 4748 "gram.y"
+ case 828:
+#line 5361 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSPARSER;
@@ -19581,8 +22050,8 @@ yyreduce:
}
break;
- case 743:
-#line 4756 "gram.y"
+ case 829:
+#line 5369 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSDICTIONARY;
@@ -19592,8 +22061,8 @@ yyreduce:
}
break;
- case 744:
-#line 4764 "gram.y"
+ case 830:
+#line 5377 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSTEMPLATE;
@@ -19603,8 +22072,8 @@ yyreduce:
}
break;
- case 745:
-#line 4772 "gram.y"
+ case 831:
+#line 5385 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSCONFIGURATION;
@@ -19614,18 +22083,39 @@ yyreduce:
}
break;
- case 746:
-#line 4781 "gram.y"
+ case 832:
+#line 5393 "gram.y"
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_TYPE;
+ n->object = (yyvsp[-3].list);
+ n->newname = (yyvsp[0].str);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 833:
+#line 5402 "gram.y"
{ (yyval.ival) = COLUMN; }
break;
- case 747:
-#line 4782 "gram.y"
+ case 834:
+#line 5403 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 748:
-#line 4793 "gram.y"
+ case 835:
+#line 5406 "gram.y"
+ { (yyval.ival) = 1; }
+ break;
+
+ case 836:
+#line 5407 "gram.y"
+ { (yyval.ival) = 0; }
+ break;
+
+ case 837:
+#line 5418 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_AGGREGATE;
@@ -19636,8 +22126,8 @@ yyreduce:
}
break;
- case 749:
-#line 4802 "gram.y"
+ case 838:
+#line 5427 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_DOMAIN;
@@ -19647,8 +22137,8 @@ yyreduce:
}
break;
- case 750:
-#line 4810 "gram.y"
+ case 839:
+#line 5435 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FUNCTION;
@@ -19659,8 +22149,19 @@ yyreduce:
}
break;
- case 751:
-#line 4819 "gram.y"
+ case 840:
+#line 5444 "gram.y"
+ {
+ AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
+ n->objectType = OBJECT_TABLE;
+ n->relation = (yyvsp[-3].range);
+ n->newschema = (yyvsp[0].str);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 841:
+#line 5452 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_SEQUENCE;
@@ -19670,19 +22171,19 @@ yyreduce:
}
break;
- case 752:
-#line 4827 "gram.y"
+ case 842:
+#line 5460 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
- n->objectType = OBJECT_TABLE;
+ n->objectType = OBJECT_VIEW;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 753:
-#line 4835 "gram.y"
+ case 843:
+#line 5468 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TYPE;
@@ -19692,8 +22193,8 @@ yyreduce:
}
break;
- case 754:
-#line 4851 "gram.y"
+ case 844:
+#line 5484 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_AGGREGATE;
@@ -19704,8 +22205,8 @@ yyreduce:
}
break;
- case 755:
-#line 4860 "gram.y"
+ case 845:
+#line 5493 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_CONVERSION;
@@ -19715,19 +22216,19 @@ yyreduce:
}
break;
- case 756:
-#line 4868 "gram.y"
+ case 846:
+#line 5501 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DATABASE;
- n->object = list_make1((yyvsp[-3].str));
+ n->object = list_make1(makeString((yyvsp[-3].str)));
n->newowner = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 757:
-#line 4876 "gram.y"
+ case 847:
+#line 5509 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DOMAIN;
@@ -19737,8 +22238,8 @@ yyreduce:
}
break;
- case 758:
-#line 4884 "gram.y"
+ case 848:
+#line 5517 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FUNCTION;
@@ -19749,31 +22250,31 @@ yyreduce:
}
break;
- case 759:
-#line 4893 "gram.y"
+ case 849:
+#line 5526 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LANGUAGE;
- n->object = list_make1((yyvsp[-3].str));
+ n->object = list_make1(makeString((yyvsp[-3].str)));
n->newowner = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 760:
-#line 4901 "gram.y"
+ case 850:
+#line 5534 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPERATOR;
- n->object = (yyvsp[-6].list);
- n->objarg = (yyvsp[-4].list);
+ n->object = (yyvsp[-4].list);
+ n->objarg = (yyvsp[-3].list);
n->newowner = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 761:
-#line 4910 "gram.y"
+ case 851:
+#line 5543 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPCLASS;
@@ -19784,8 +22285,8 @@ yyreduce:
}
break;
- case 762:
-#line 4919 "gram.y"
+ case 852:
+#line 5552 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPFAMILY;
@@ -19796,19 +22297,19 @@ yyreduce:
}
break;
- case 763:
-#line 4928 "gram.y"
+ case 853:
+#line 5561 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_SCHEMA;
- n->object = list_make1((yyvsp[-3].str));
+ n->object = list_make1(makeString((yyvsp[-3].str)));
n->newowner = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 764:
-#line 4936 "gram.y"
+ case 854:
+#line 5569 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TYPE;
@@ -19818,19 +22319,19 @@ yyreduce:
}
break;
- case 765:
-#line 4944 "gram.y"
+ case 855:
+#line 5577 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TABLESPACE;
- n->object = list_make1((yyvsp[-3].str));
+ n->object = list_make1(makeString((yyvsp[-3].str)));
n->newowner = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 766:
-#line 4952 "gram.y"
+ case 856:
+#line 5585 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSDICTIONARY;
@@ -19840,8 +22341,8 @@ yyreduce:
}
break;
- case 767:
-#line 4960 "gram.y"
+ case 857:
+#line 5593 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSCONFIGURATION;
@@ -19851,13 +22352,35 @@ yyreduce:
}
break;
- case 768:
-#line 4977 "gram.y"
+ case 858:
+#line 5601 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+ n->objectType = OBJECT_FDW;
+ n->object = list_make1(makeString((yyvsp[-3].str)));
+ n->newowner = (yyvsp[0].str);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 859:
+#line 5609 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+ n->objectType = OBJECT_FOREIGN_SERVER;
+ n->object = list_make1(makeString((yyvsp[-3].str)));
+ n->newowner = (yyvsp[0].str);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 860:
+#line 5626 "gram.y"
{ QueryIsRule=TRUE; }
break;
- case 769:
-#line 4980 "gram.y"
+ case 861:
+#line 5629 "gram.y"
{
RuleStmt *n = makeNode(RuleStmt);
n->replace = (yyvsp[-12].boolean);
@@ -19872,23 +22395,23 @@ yyreduce:
}
break;
- case 770:
-#line 4995 "gram.y"
+ case 862:
+#line 5644 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 771:
-#line 4996 "gram.y"
+ case 863:
+#line 5645 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 772:
-#line 4997 "gram.y"
+ case 864:
+#line 5646 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 773:
-#line 5003 "gram.y"
+ case 865:
+#line 5652 "gram.y"
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
else
@@ -19896,8 +22419,8 @@ yyreduce:
}
break;
- case 774:
-#line 5009 "gram.y"
+ case 866:
+#line 5658 "gram.y"
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = list_make1((yyvsp[0].node));
else
@@ -19905,53 +22428,53 @@ yyreduce:
}
break;
- case 780:
-#line 5025 "gram.y"
+ case 872:
+#line 5674 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 781:
-#line 5026 "gram.y"
+ case 873:
+#line 5675 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 782:
-#line 5029 "gram.y"
+ case 874:
+#line 5678 "gram.y"
{ (yyval.ival) = CMD_SELECT; }
break;
- case 783:
-#line 5030 "gram.y"
+ case 875:
+#line 5679 "gram.y"
{ (yyval.ival) = CMD_UPDATE; }
break;
- case 784:
-#line 5031 "gram.y"
+ case 876:
+#line 5680 "gram.y"
{ (yyval.ival) = CMD_DELETE; }
break;
- case 785:
-#line 5032 "gram.y"
+ case 877:
+#line 5681 "gram.y"
{ (yyval.ival) = CMD_INSERT; }
break;
- case 786:
-#line 5036 "gram.y"
+ case 878:
+#line 5685 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 787:
-#line 5037 "gram.y"
+ case 879:
+#line 5686 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 788:
-#line 5038 "gram.y"
+ case 880:
+#line 5687 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 789:
-#line 5044 "gram.y"
+ case 881:
+#line 5693 "gram.y"
{
DropPropertyStmt *n = makeNode(DropPropertyStmt);
n->relation = (yyvsp[-1].range);
@@ -19963,8 +22486,8 @@ yyreduce:
}
break;
- case 790:
-#line 5054 "gram.y"
+ case 882:
+#line 5703 "gram.y"
{
DropPropertyStmt *n = makeNode(DropPropertyStmt);
n->relation = (yyvsp[-1].range);
@@ -19976,52 +22499,44 @@ yyreduce:
}
break;
- case 791:
-#line 5075 "gram.y"
+ case 883:
+#line 5724 "gram.y"
{
NotifyStmt *n = makeNode(NotifyStmt);
- n->relation = makeNode(RangeVar);
- n->relation->relname = (yyvsp[0].str);
- n->relation->schemaname = NULL;
+ n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 792:
-#line 5085 "gram.y"
+ case 884:
+#line 5732 "gram.y"
{
ListenStmt *n = makeNode(ListenStmt);
- n->relation = makeNode(RangeVar);
- n->relation->relname = (yyvsp[0].str);
- n->relation->schemaname = NULL;
+ n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 793:
-#line 5096 "gram.y"
+ case 885:
+#line 5741 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
- n->relation = makeNode(RangeVar);
- n->relation->relname = (yyvsp[0].str);
- n->relation->schemaname = NULL;
+ n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
break;
- case 794:
-#line 5104 "gram.y"
+ case 886:
+#line 5747 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
- n->relation = makeNode(RangeVar);
- n->relation->relname = "*";
- n->relation->schemaname = NULL;
+ n->conditionname = NULL;
(yyval.node) = (Node *)n;
}
break;
- case 795:
-#line 5125 "gram.y"
+ case 887:
+#line 5766 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
@@ -20030,8 +22545,8 @@ yyreduce:
}
break;
- case 796:
-#line 5132 "gram.y"
+ case 888:
+#line 5773 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_BEGIN;
@@ -20040,8 +22555,8 @@ yyreduce:
}
break;
- case 797:
-#line 5139 "gram.y"
+ case 889:
+#line 5780 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_START;
@@ -20050,8 +22565,8 @@ yyreduce:
}
break;
- case 798:
-#line 5146 "gram.y"
+ case 890:
+#line 5787 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
@@ -20060,8 +22575,8 @@ yyreduce:
}
break;
- case 799:
-#line 5153 "gram.y"
+ case 891:
+#line 5794 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
@@ -20070,8 +22585,8 @@ yyreduce:
}
break;
- case 800:
-#line 5160 "gram.y"
+ case 892:
+#line 5801 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
@@ -20080,8 +22595,8 @@ yyreduce:
}
break;
- case 801:
-#line 5167 "gram.y"
+ case 893:
+#line 5808 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_SAVEPOINT;
@@ -20091,8 +22606,8 @@ yyreduce:
}
break;
- case 802:
-#line 5175 "gram.y"
+ case 894:
+#line 5816 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
@@ -20102,8 +22617,8 @@ yyreduce:
}
break;
- case 803:
-#line 5183 "gram.y"
+ case 895:
+#line 5824 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
@@ -20113,8 +22628,8 @@ yyreduce:
}
break;
- case 804:
-#line 5191 "gram.y"
+ case 896:
+#line 5832 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
@@ -20124,8 +22639,8 @@ yyreduce:
}
break;
- case 805:
-#line 5199 "gram.y"
+ case 897:
+#line 5840 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
@@ -20135,8 +22650,8 @@ yyreduce:
}
break;
- case 806:
-#line 5207 "gram.y"
+ case 898:
+#line 5848 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_PREPARE;
@@ -20145,8 +22660,8 @@ yyreduce:
}
break;
- case 807:
-#line 5214 "gram.y"
+ case 899:
+#line 5855 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT_PREPARED;
@@ -20155,8 +22670,8 @@ yyreduce:
}
break;
- case 808:
-#line 5221 "gram.y"
+ case 900:
+#line 5862 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_PREPARED;
@@ -20165,61 +22680,61 @@ yyreduce:
}
break;
- case 809:
-#line 5229 "gram.y"
+ case 901:
+#line 5870 "gram.y"
{}
break;
- case 810:
-#line 5230 "gram.y"
+ case 902:
+#line 5871 "gram.y"
{}
break;
- case 811:
-#line 5231 "gram.y"
+ case 903:
+#line 5872 "gram.y"
{}
break;
- case 812:
-#line 5236 "gram.y"
+ case 904:
+#line 5877 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_isolation",
- makeStringConst((yyvsp[0].str), NULL)); }
+ makeStringConst((yyvsp[0].str), (yylsp[0]))); }
break;
- case 813:
-#line 5239 "gram.y"
+ case 905:
+#line 5880 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
- makeIntConst(TRUE)); }
+ makeIntConst(TRUE, (yylsp[-1]))); }
break;
- case 814:
-#line 5242 "gram.y"
+ case 906:
+#line 5883 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
- makeIntConst(FALSE)); }
+ makeIntConst(FALSE, (yylsp[-1]))); }
break;
- case 815:
-#line 5249 "gram.y"
+ case 907:
+#line 5890 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
break;
- case 816:
-#line 5251 "gram.y"
+ case 908:
+#line 5892 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
break;
- case 817:
-#line 5253 "gram.y"
+ case 909:
+#line 5894 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
break;
- case 819:
-#line 5259 "gram.y"
+ case 911:
+#line 5900 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 820:
-#line 5273 "gram.y"
+ case 912:
+#line 5914 "gram.y"
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[-4].range);
@@ -20231,8 +22746,8 @@ yyreduce:
}
break;
- case 821:
-#line 5284 "gram.y"
+ case 913:
+#line 5925 "gram.y"
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[-4].range);
@@ -20244,8 +22759,8 @@ yyreduce:
}
break;
- case 822:
-#line 5301 "gram.y"
+ case 914:
+#line 5938 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
@@ -20253,8 +22768,8 @@ yyreduce:
}
break;
- case 823:
-#line 5307 "gram.y"
+ case 915:
+#line 5944 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
@@ -20262,8 +22777,8 @@ yyreduce:
}
break;
- case 824:
-#line 5313 "gram.y"
+ case 916:
+#line 5950 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
@@ -20271,13 +22786,13 @@ yyreduce:
}
break;
- case 825:
-#line 5318 "gram.y"
+ case 917:
+#line 5955 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 826:
-#line 5329 "gram.y"
+ case 918:
+#line 5966 "gram.y"
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[0].str);
@@ -20285,8 +22800,8 @@ yyreduce:
}
break;
- case 827:
-#line 5345 "gram.y"
+ case 919:
+#line 5982 "gram.y"
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[-2].str);
@@ -20295,112 +22810,140 @@ yyreduce:
}
break;
- case 828:
-#line 5354 "gram.y"
+ case 920:
+#line 5991 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
break;
- case 829:
-#line 5355 "gram.y"
+ case 921:
+#line 5992 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 830:
-#line 5360 "gram.y"
+ case 922:
+#line 5997 "gram.y"
{
(yyval.defelt) = makeDefElem("tablespace", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 831:
-#line 5364 "gram.y"
+ case 923:
+#line 6001 "gram.y"
{
(yyval.defelt) = makeDefElem("tablespace", NULL);
}
break;
- case 832:
-#line 5368 "gram.y"
+ case 924:
+#line 6005 "gram.y"
{
(yyval.defelt) = makeDefElem("location", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 833:
-#line 5372 "gram.y"
+ case 925:
+#line 6009 "gram.y"
{
(yyval.defelt) = makeDefElem("location", NULL);
}
break;
- case 834:
-#line 5376 "gram.y"
+ case 926:
+#line 6013 "gram.y"
{
(yyval.defelt) = makeDefElem("template", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 835:
-#line 5380 "gram.y"
+ case 927:
+#line 6017 "gram.y"
{
(yyval.defelt) = makeDefElem("template", NULL);
}
break;
- case 836:
-#line 5384 "gram.y"
+ case 928:
+#line 6021 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 837:
-#line 5388 "gram.y"
+ case 929:
+#line 6025 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeInteger((yyvsp[0].ival)));
}
break;
- case 838:
-#line 5392 "gram.y"
+ case 930:
+#line 6029 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", NULL);
}
break;
- case 839:
-#line 5396 "gram.y"
+ case 931:
+#line 6033 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("lc_collate", (Node *)makeString((yyvsp[0].str)));
+ }
+ break;
+
+ case 932:
+#line 6037 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("lc_collate", NULL);
+ }
+ break;
+
+ case 933:
+#line 6041 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("lc_ctype", (Node *)makeString((yyvsp[0].str)));
+ }
+ break;
+
+ case 934:
+#line 6045 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("lc_ctype", NULL);
+ }
+ break;
+
+ case 935:
+#line 6049 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)));
}
break;
- case 840:
-#line 5400 "gram.y"
+ case 936:
+#line 6053 "gram.y"
{
(yyval.defelt) = makeDefElem("owner", (Node *)makeString((yyvsp[0].str)));
}
break;
- case 841:
-#line 5404 "gram.y"
+ case 937:
+#line 6057 "gram.y"
{
(yyval.defelt) = makeDefElem("owner", NULL);
}
break;
- case 842:
-#line 5413 "gram.y"
+ case 938:
+#line 6066 "gram.y"
{}
break;
- case 843:
-#line 5414 "gram.y"
+ case 939:
+#line 6067 "gram.y"
{}
break;
- case 844:
-#line 5426 "gram.y"
+ case 940:
+#line 6079 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[-2].str);
@@ -20409,8 +22952,19 @@ yyreduce:
}
break;
- case 845:
-#line 5436 "gram.y"
+ case 941:
+#line 6086 "gram.y"
+ {
+ AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
+ n->dbname = (yyvsp[-3].str);
+ n->options = list_make1(makeDefElem("tablespace",
+ (Node *)makeString((yyvsp[0].str))));
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 942:
+#line 6097 "gram.y"
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[-1].str);
@@ -20419,25 +22973,25 @@ yyreduce:
}
break;
- case 846:
-#line 5446 "gram.y"
+ case 943:
+#line 6107 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
break;
- case 847:
-#line 5447 "gram.y"
+ case 944:
+#line 6108 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 848:
-#line 5452 "gram.y"
+ case 945:
+#line 6113 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)));
}
break;
- case 849:
-#line 5466 "gram.y"
+ case 946:
+#line 6127 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[0].str);
@@ -20446,8 +23000,8 @@ yyreduce:
}
break;
- case 850:
-#line 5473 "gram.y"
+ case 947:
+#line 6134 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[0].str);
@@ -20456,8 +23010,8 @@ yyreduce:
}
break;
- case 851:
-#line 5490 "gram.y"
+ case 948:
+#line 6151 "gram.y"
{
CreateDomainStmt *n = makeNode(CreateDomainStmt);
n->domainname = (yyvsp[-3].list);
@@ -20467,8 +23021,8 @@ yyreduce:
}
break;
- case 852:
-#line 5502 "gram.y"
+ case 949:
+#line 6163 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'T';
@@ -20478,8 +23032,8 @@ yyreduce:
}
break;
- case 853:
-#line 5511 "gram.y"
+ case 950:
+#line 6172 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
@@ -20488,8 +23042,8 @@ yyreduce:
}
break;
- case 854:
-#line 5519 "gram.y"
+ case 951:
+#line 6180 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
@@ -20498,8 +23052,8 @@ yyreduce:
}
break;
- case 855:
-#line 5527 "gram.y"
+ case 952:
+#line 6188 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'C';
@@ -20509,8 +23063,8 @@ yyreduce:
}
break;
- case 856:
-#line 5536 "gram.y"
+ case 953:
+#line 6197 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'X';
@@ -20521,18 +23075,18 @@ yyreduce:
}
break;
- case 857:
-#line 5546 "gram.y"
+ case 954:
+#line 6207 "gram.y"
{}
break;
- case 858:
-#line 5547 "gram.y"
+ case 955:
+#line 6208 "gram.y"
{}
break;
- case 859:
-#line 5559 "gram.y"
+ case 956:
+#line 6220 "gram.y"
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[-1].list);
@@ -20541,8 +23095,8 @@ yyreduce:
}
break;
- case 860:
-#line 5569 "gram.y"
+ case 957:
+#line 6230 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[-6].list);
@@ -20554,8 +23108,8 @@ yyreduce:
}
break;
- case 861:
-#line 5579 "gram.y"
+ case 958:
+#line 6240 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[-6].list);
@@ -20567,8 +23121,8 @@ yyreduce:
}
break;
- case 862:
-#line 5589 "gram.y"
+ case 959:
+#line 6250 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[-6].list);
@@ -20580,8 +23134,8 @@ yyreduce:
}
break;
- case 863:
-#line 5599 "gram.y"
+ case 960:
+#line 6260 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[-8].list);
@@ -20593,8 +23147,8 @@ yyreduce:
}
break;
- case 864:
-#line 5609 "gram.y"
+ case 961:
+#line 6270 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[-4].list);
@@ -20604,8 +23158,8 @@ yyreduce:
}
break;
- case 865:
-#line 5617 "gram.y"
+ case 962:
+#line 6278 "gram.y"
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = (yyvsp[-6].list);
@@ -20615,8 +23169,8 @@ yyreduce:
}
break;
- case 866:
-#line 5639 "gram.y"
+ case 963:
+#line 6300 "gram.y"
{
CreateConversionStmt *n = makeNode(CreateConversionStmt);
n->conversion_name = (yyvsp[-6].list);
@@ -20628,54 +23182,58 @@ yyreduce:
}
break;
- case 867:
-#line 5661 "gram.y"
+ case 964:
+#line 6322 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[-1].range);
n->indexname = (yyvsp[0].str);
+ n->verbose = (yyvsp[-2].boolean);
(yyval.node) = (Node*)n;
}
break;
- case 868:
-#line 5668 "gram.y"
+ case 965:
+#line 6330 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
+ n->verbose = (yyvsp[0].boolean);
(yyval.node) = (Node*)n;
}
break;
- case 869:
-#line 5676 "gram.y"
+ case 966:
+#line 6339 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[0].range);
n->indexname = (yyvsp[-2].str);
+ n->verbose = (yyvsp[-3].boolean);
(yyval.node) = (Node*)n;
}
break;
- case 870:
-#line 5685 "gram.y"
+ case 967:
+#line 6349 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 871:
-#line 5686 "gram.y"
+ case 968:
+#line 6350 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 872:
-#line 5699 "gram.y"
+ case 969:
+#line 6363 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->vacuum = true;
n->analyze = false;
n->full = (yyvsp[-2].boolean);
n->freeze_min_age = (yyvsp[-1].boolean) ? 0 : -1;
+ n->freeze_table_age = (yyvsp[-1].boolean) ? 0 : -1;
n->verbose = (yyvsp[0].boolean);
n->relation = NULL;
n->va_cols = NIL;
@@ -20683,14 +23241,15 @@ yyreduce:
}
break;
- case 873:
-#line 5711 "gram.y"
+ case 970:
+#line 6376 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->vacuum = true;
n->analyze = false;
n->full = (yyvsp[-3].boolean);
n->freeze_min_age = (yyvsp[-2].boolean) ? 0 : -1;
+ n->freeze_table_age = (yyvsp[-2].boolean) ? 0 : -1;
n->verbose = (yyvsp[-1].boolean);
n->relation = (yyvsp[0].range);
n->va_cols = NIL;
@@ -20698,26 +23257,28 @@ yyreduce:
}
break;
- case 874:
-#line 5723 "gram.y"
+ case 971:
+#line 6389 "gram.y"
{
VacuumStmt *n = (VacuumStmt *) (yyvsp[0].node);
n->vacuum = true;
n->full = (yyvsp[-3].boolean);
n->freeze_min_age = (yyvsp[-2].boolean) ? 0 : -1;
+ n->freeze_table_age = (yyvsp[-2].boolean) ? 0 : -1;
n->verbose |= (yyvsp[-1].boolean);
(yyval.node) = (Node *)n;
}
break;
- case 875:
-#line 5735 "gram.y"
+ case 972:
+#line 6402 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->vacuum = false;
n->analyze = true;
n->full = false;
n->freeze_min_age = -1;
+ n->freeze_table_age = -1;
n->verbose = (yyvsp[0].boolean);
n->relation = NULL;
n->va_cols = NIL;
@@ -20725,14 +23286,15 @@ yyreduce:
}
break;
- case 876:
-#line 5747 "gram.y"
+ case 973:
+#line 6415 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->vacuum = false;
n->analyze = true;
n->full = false;
n->freeze_min_age = -1;
+ n->freeze_table_age = -1;
n->verbose = (yyvsp[-2].boolean);
n->relation = (yyvsp[-1].range);
n->va_cols = (yyvsp[0].list);
@@ -20740,58 +23302,58 @@ yyreduce:
}
break;
- case 877:
-#line 5761 "gram.y"
+ case 974:
+#line 6430 "gram.y"
{}
break;
- case 878:
-#line 5762 "gram.y"
+ case 975:
+#line 6431 "gram.y"
{}
break;
- case 879:
-#line 5766 "gram.y"
+ case 976:
+#line 6435 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 880:
-#line 5767 "gram.y"
+ case 977:
+#line 6436 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 881:
-#line 5770 "gram.y"
+ case 978:
+#line 6439 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 882:
-#line 5771 "gram.y"
+ case 979:
+#line 6440 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 883:
-#line 5774 "gram.y"
+ case 980:
+#line 6443 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 884:
-#line 5775 "gram.y"
+ case 981:
+#line 6444 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 885:
-#line 5779 "gram.y"
+ case 982:
+#line 6448 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 886:
-#line 5780 "gram.y"
+ case 983:
+#line 6449 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 887:
-#line 5792 "gram.y"
+ case 984:
+#line 6461 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->analyze = (yyvsp[-2].boolean);
@@ -20801,18 +23363,18 @@ yyreduce:
}
break;
- case 894:
-#line 5811 "gram.y"
+ case 992:
+#line 6481 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 895:
-#line 5812 "gram.y"
+ case 993:
+#line 6482 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 896:
-#line 5823 "gram.y"
+ case 994:
+#line 6493 "gram.y"
{
PrepareStmt *n = makeNode(PrepareStmt);
n->name = (yyvsp[-3].str);
@@ -20822,18 +23384,18 @@ yyreduce:
}
break;
- case 897:
-#line 5832 "gram.y"
+ case 995:
+#line 6502 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 898:
-#line 5833 "gram.y"
+ case 996:
+#line 6503 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 903:
-#line 5851 "gram.y"
+ case 1001:
+#line 6521 "gram.y"
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[-1].str);
@@ -20843,8 +23405,8 @@ yyreduce:
}
break;
- case 904:
-#line 5860 "gram.y"
+ case 1002:
+#line 6530 "gram.y"
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[-1].str);
@@ -20860,18 +23422,18 @@ yyreduce:
}
break;
- case 905:
-#line 5875 "gram.y"
+ case 1003:
+#line 6545 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 906:
-#line 5876 "gram.y"
+ case 1004:
+#line 6546 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 907:
-#line 5887 "gram.y"
+ case 1005:
+#line 6557 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[0].str);
@@ -20879,8 +23441,8 @@ yyreduce:
}
break;
- case 908:
-#line 5893 "gram.y"
+ case 1006:
+#line 6563 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[0].str);
@@ -20888,8 +23450,8 @@ yyreduce:
}
break;
- case 909:
-#line 5899 "gram.y"
+ case 1007:
+#line 6569 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
@@ -20897,8 +23459,8 @@ yyreduce:
}
break;
- case 910:
-#line 5905 "gram.y"
+ case 1008:
+#line 6575 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
@@ -20906,8 +23468,8 @@ yyreduce:
}
break;
- case 911:
-#line 5921 "gram.y"
+ case 1009:
+#line 6591 "gram.y"
{
(yyvsp[-1].istmt)->relation = (yyvsp[-2].range);
(yyvsp[-1].istmt)->returningList = (yyvsp[0].list);
@@ -20915,8 +23477,8 @@ yyreduce:
}
break;
- case 912:
-#line 5930 "gram.y"
+ case 1010:
+#line 6600 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
@@ -20924,8 +23486,8 @@ yyreduce:
}
break;
- case 913:
-#line 5936 "gram.y"
+ case 1011:
+#line 6606 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[-2].list);
@@ -20933,8 +23495,8 @@ yyreduce:
}
break;
- case 914:
-#line 5942 "gram.y"
+ case 1012:
+#line 6612 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
@@ -20942,39 +23504,39 @@ yyreduce:
}
break;
- case 915:
-#line 5951 "gram.y"
+ case 1013:
+#line 6621 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].target)); }
break;
- case 916:
-#line 5953 "gram.y"
+ case 1014:
+#line 6623 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
break;
- case 917:
-#line 5958 "gram.y"
+ case 1015:
+#line 6628 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[-1].str);
- (yyval.target)->indirection = (yyvsp[0].list);
+ (yyval.target)->indirection = check_indirection((yyvsp[0].list));
(yyval.target)->val = NULL;
(yyval.target)->location = (yylsp[-1]);
}
break;
- case 918:
-#line 5968 "gram.y"
+ case 1016:
+#line 6638 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 919:
-#line 5969 "gram.y"
+ case 1017:
+#line 6639 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 920:
-#line 5982 "gram.y"
+ case 1018:
+#line 6652 "gram.y"
{
DeleteStmt *n = makeNode(DeleteStmt);
n->relation = (yyvsp[-3].range);
@@ -20985,18 +23547,18 @@ yyreduce:
}
break;
- case 921:
-#line 5993 "gram.y"
+ case 1019:
+#line 6663 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 922:
-#line 5994 "gram.y"
+ case 1020:
+#line 6664 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 923:
-#line 5998 "gram.y"
+ case 1021:
+#line 6676 "gram.y"
{
LockStmt *n = makeNode(LockStmt);
@@ -21007,68 +23569,68 @@ yyreduce:
}
break;
- case 924:
-#line 6008 "gram.y"
+ case 1022:
+#line 6686 "gram.y"
{ (yyval.ival) = (yyvsp[-1].ival); }
break;
- case 925:
-#line 6009 "gram.y"
+ case 1023:
+#line 6687 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; }
break;
- case 926:
-#line 6012 "gram.y"
+ case 1024:
+#line 6690 "gram.y"
{ (yyval.ival) = AccessShareLock; }
break;
-
- case 927:
-#line 6013 "gram.y"
+
+ case 1025:
+#line 6691 "gram.y"
{ (yyval.ival) = RowShareLock; }
break;
- case 928:
-#line 6014 "gram.y"
+ case 1026:
+#line 6692 "gram.y"
{ (yyval.ival) = RowExclusiveLock; }
break;
- case 929:
-#line 6015 "gram.y"
+ case 1027:
+#line 6693 "gram.y"
{ (yyval.ival) = ShareUpdateExclusiveLock; }
break;
- case 930:
-#line 6016 "gram.y"
+ case 1028:
+#line 6694 "gram.y"
{ (yyval.ival) = ShareLock; }
break;
- case 931:
-#line 6017 "gram.y"
+ case 1029:
+#line 6695 "gram.y"
{ (yyval.ival) = ShareRowExclusiveLock; }
break;
- case 932:
-#line 6018 "gram.y"
+ case 1030:
+#line 6696 "gram.y"
{ (yyval.ival) = ExclusiveLock; }
break;
- case 933:
-#line 6019 "gram.y"
+ case 1031:
+#line 6697 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; }
break;
- case 934:
-#line 6022 "gram.y"
+ case 1032:
+#line 6700 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 935:
-#line 6023 "gram.y"
+ case 1033:
+#line 6701 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 936:
-#line 6039 "gram.y"
+ case 1034:
+#line 6717 "gram.y"
{
UpdateStmt *n = makeNode(UpdateStmt);
n->relation = (yyvsp[-5].range);
@@ -21080,36 +23642,36 @@ yyreduce:
}
break;
- case 937:
-#line 6051 "gram.y"
+ case 1035:
+#line 6729 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 938:
-#line 6052 "gram.y"
+ case 1036:
+#line 6730 "gram.y"
{ (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
break;
- case 939:
-#line 6056 "gram.y"
+ case 1037:
+#line 6734 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].target)); }
break;
- case 940:
-#line 6057 "gram.y"
+ case 1038:
+#line 6735 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 941:
-#line 6062 "gram.y"
+ case 1039:
+#line 6740 "gram.y"
{
(yyval.target) = (yyvsp[-2].target);
(yyval.target)->val = (Node *) (yyvsp[0].node);
}
break;
- case 942:
-#line 6070 "gram.y"
+ case 1040:
+#line 6748 "gram.y"
{
ListCell *col_cell;
ListCell *val_cell;
@@ -21122,7 +23684,8 @@ yyreduce:
if (list_length((yyvsp[-3].list)) != list_length((yyvsp[0].list)))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("number of columns does not match number of values")));
+ errmsg("number of columns does not match number of values"),
+ scanner_errposition((yylsp[-4]))));
forboth(col_cell, (yyvsp[-3].list), val_cell, (yyvsp[0].list))
{
ResTarget *res_col = (ResTarget *) lfirst(col_cell);
@@ -21135,29 +23698,29 @@ yyreduce:
}
break;
- case 943:
-#line 6097 "gram.y"
+ case 1041:
+#line 6776 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[-1].str);
- (yyval.target)->indirection = (yyvsp[0].list);
+ (yyval.target)->indirection = check_indirection((yyvsp[0].list));
(yyval.target)->val = NULL; /* upper production sets this */
(yyval.target)->location = (yylsp[-1]);
}
break;
- case 944:
-#line 6107 "gram.y"
+ case 1042:
+#line 6786 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].target)); }
break;
- case 945:
-#line 6108 "gram.y"
+ case 1043:
+#line 6787 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
break;
- case 946:
-#line 6119 "gram.y"
+ case 1044:
+#line 6798 "gram.y"
{
DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
n->portalname = (yyvsp[-5].str);
@@ -21168,141 +23731,248 @@ yyreduce:
}
break;
- case 947:
-#line 6129 "gram.y"
+ case 1045:
+#line 6808 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 948:
-#line 6130 "gram.y"
+ case 1046:
+#line 6809 "gram.y"
{ (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
break;
- case 949:
-#line 6131 "gram.y"
+ case 1047:
+#line 6810 "gram.y"
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
break;
- case 950:
-#line 6132 "gram.y"
+ case 1048:
+#line 6811 "gram.y"
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
break;
- case 951:
-#line 6133 "gram.y"
+ case 1049:
+#line 6812 "gram.y"
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
break;
- case 952:
-#line 6136 "gram.y"
+ case 1050:
+#line 6815 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 953:
-#line 6137 "gram.y"
+ case 1051:
+#line 6816 "gram.y"
{ (yyval.ival) = CURSOR_OPT_HOLD; }
break;
- case 954:
-#line 6138 "gram.y"
+ case 1052:
+#line 6817 "gram.y"
{ (yyval.ival) = 0; }
break;
- case 957:
-#line 6191 "gram.y"
+ case 1055:
+#line 6870 "gram.y"
{ (yyval.node) = (yyvsp[-1].node); }
break;
- case 958:
-#line 6192 "gram.y"
+ case 1056:
+#line 6871 "gram.y"
{ (yyval.node) = (yyvsp[-1].node); }
break;
- case 959:
-#line 6202 "gram.y"
+ case 1057:
+#line 6885 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 960:
-#line 6204 "gram.y"
+ case 1058:
+#line 6887 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
- NULL, NULL);
+ NULL, NULL, NULL);
(yyval.node) = (yyvsp[-1].node);
}
break;
- case 961:
-#line 6210 "gram.y"
+ case 1059:
+#line 6893 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
- list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1));
+ list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
+ NULL);
(yyval.node) = (yyvsp[-3].node);
}
break;
- case 962:
-#line 6216 "gram.y"
+ case 1060:
+#line 6900 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
- list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1));
+ list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
+ NULL);
(yyval.node) = (yyvsp[-3].node);
}
break;
- case 963:
-#line 6224 "gram.y"
+ case 1061:
+#line 6907 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
+ NULL, NULL,
+ (yyvsp[-1].with));
+ (yyval.node) = (yyvsp[0].node);
+ }
+ break;
+
+ case 1062:
+#line 6914 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
+ NULL, NULL,
+ (yyvsp[-2].with));
+ (yyval.node) = (yyvsp[-1].node);
+ }
+ break;
+
+ case 1063:
+#line 6921 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
+ list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
+ (yyvsp[-4].with));
+ (yyval.node) = (yyvsp[-3].node);
+ }
+ break;
+
+ case 1064:
+#line 6928 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
+ list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
+ (yyvsp[-4].with));
+ (yyval.node) = (yyvsp[-3].node);
+ }
+ break;
+
+ case 1065:
+#line 6937 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 964:
-#line 6225 "gram.y"
+ case 1066:
+#line 6938 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 965:
-#line 6255 "gram.y"
+ case 1067:
+#line 6968 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
- n->distinctClause = (yyvsp[-6].list);
- n->targetList = (yyvsp[-5].list);
- n->intoClause = (yyvsp[-4].into);
- n->fromClause = (yyvsp[-3].list);
- n->whereClause = (yyvsp[-2].node);
- n->groupClause = (yyvsp[-1].list);
- n->havingClause = (yyvsp[0].node);
+ n->distinctClause = (yyvsp[-7].list);
+ n->targetList = (yyvsp[-6].list);
+ n->intoClause = (yyvsp[-5].into);
+ n->fromClause = (yyvsp[-4].list);
+ n->whereClause = (yyvsp[-3].node);
+ n->groupClause = (yyvsp[-2].list);
+ n->havingClause = (yyvsp[-1].node);
+ n->windowClause = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
break;
- case 966:
-#line 6266 "gram.y"
+ case 1068:
+#line 6980 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 967:
-#line 6268 "gram.y"
+ case 1069:
+#line 6982 "gram.y"
+ {
+ /* same as SELECT * FROM relation_expr */
+ ColumnRef *cr = makeNode(ColumnRef);
+ ResTarget *rt = makeNode(ResTarget);
+ SelectStmt *n = makeNode(SelectStmt);
+
+ cr->fields = list_make1(makeNode(A_Star));
+ cr->location = -1;
+
+ rt->name = NULL;
+ rt->indirection = NIL;
+ rt->val = (Node *)cr;
+ rt->location = -1;
+
+ n->targetList = list_make1(rt);
+ n->fromClause = list_make1((yyvsp[0].range));
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1070:
+#line 7001 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
break;
- case 968:
-#line 6272 "gram.y"
+ case 1071:
+#line 7005 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
break;
- case 969:
-#line 6276 "gram.y"
+ case 1072:
+#line 7009 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
break;
- case 970:
-#line 6283 "gram.y"
+ case 1073:
+#line 7024 "gram.y"
+ {
+ (yyval.with) = makeNode(WithClause);
+ (yyval.with)->ctes = (yyvsp[0].list);
+ (yyval.with)->recursive = false;
+ (yyval.with)->location = (yylsp[-1]);
+ }
+ break;
+
+ case 1074:
+#line 7031 "gram.y"
+ {
+ (yyval.with) = makeNode(WithClause);
+ (yyval.with)->ctes = (yyvsp[0].list);
+ (yyval.with)->recursive = true;
+ (yyval.with)->location = (yylsp[-2]);
+ }
+ break;
+
+ case 1075:
+#line 7040 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+ break;
+
+ case 1076:
+#line 7041 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+ break;
+
+ case 1077:
+#line 7045 "gram.y"
+ {
+ CommonTableExpr *n = makeNode(CommonTableExpr);
+ n->ctename = (yyvsp[-3].str);
+ n->aliascolnames = (yyvsp[-2].list);
+ n->ctequery = (yyvsp[0].node);
+ n->location = (yylsp[-3]);
+ (yyval.node) = (Node *) n;
+ }
+ break;
+
+ case 1078:
+#line 7057 "gram.y"
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[0].range);
@@ -21313,280 +23983,336 @@ yyreduce:
}
break;
- case 971:
-#line 6292 "gram.y"
+ case 1079:
+#line 7066 "gram.y"
{ (yyval.into) = NULL; }
break;
- case 972:
-#line 6301 "gram.y"
+ case 1080:
+#line 7075 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->istemp = true;
}
break;
- case 973:
-#line 6306 "gram.y"
+ case 1081:
+#line 7080 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->istemp = true;
}
break;
- case 974:
-#line 6311 "gram.y"
+ case 1082:
+#line 7085 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->istemp = true;
}
break;
- case 975:
-#line 6316 "gram.y"
+ case 1083:
+#line 7090 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->istemp = true;
}
break;
- case 976:
-#line 6321 "gram.y"
+ case 1084:
+#line 7095 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->istemp = true;
}
break;
- case 977:
-#line 6326 "gram.y"
+ case 1085:
+#line 7100 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->istemp = true;
}
break;
- case 978:
-#line 6331 "gram.y"
+ case 1086:
+#line 7105 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->istemp = false;
}
break;
- case 979:
-#line 6336 "gram.y"
+ case 1087:
+#line 7110 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->istemp = false;
}
break;
- case 980:
-#line 6342 "gram.y"
+ case 1088:
+#line 7116 "gram.y"
{}
break;
- case 981:
-#line 6343 "gram.y"
+ case 1089:
+#line 7117 "gram.y"
{}
break;
- case 982:
-#line 6346 "gram.y"
+ case 1090:
+#line 7120 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 983:
-#line 6347 "gram.y"
+ case 1091:
+#line 7121 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 984:
-#line 6348 "gram.y"
+ case 1092:
+#line 7122 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 985:
-#line 6355 "gram.y"
+ case 1093:
+#line 7129 "gram.y"
{ (yyval.list) = list_make1(NIL); }
break;
- case 986:
-#line 6356 "gram.y"
+ case 1094:
+#line 7130 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 987:
-#line 6357 "gram.y"
+ case 1095:
+#line 7131 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 988:
-#line 6358 "gram.y"
+ case 1096:
+#line 7132 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 989:
-#line 6362 "gram.y"
+ case 1097:
+#line 7136 "gram.y"
{ (yyval.list) = (yyvsp[0].list);}
break;
- case 990:
-#line 6363 "gram.y"
+ case 1098:
+#line 7137 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 991:
-#line 6367 "gram.y"
+ case 1099:
+#line 7141 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 992:
-#line 6371 "gram.y"
+ case 1100:
+#line 7145 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].sortby)); }
break;
- case 993:
-#line 6372 "gram.y"
+ case 1101:
+#line 7146 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
break;
- case 994:
-#line 6376 "gram.y"
+ case 1102:
+#line 7150 "gram.y"
{
(yyval.sortby) = makeNode(SortBy);
(yyval.sortby)->node = (yyvsp[-3].node);
(yyval.sortby)->sortby_dir = SORTBY_USING;
(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
(yyval.sortby)->useOp = (yyvsp[-1].list);
+ (yyval.sortby)->location = (yylsp[-1]);
}
break;
- case 995:
-#line 6384 "gram.y"
+ case 1103:
+#line 7159 "gram.y"
{
(yyval.sortby) = makeNode(SortBy);
(yyval.sortby)->node = (yyvsp[-2].node);
(yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
(yyval.sortby)->useOp = NIL;
+ (yyval.sortby)->location = -1; /* no operator */
}
break;
- case 996:
-#line 6396 "gram.y"
+ case 1104:
+#line 7172 "gram.y"
{ (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
break;
- case 997:
-#line 6398 "gram.y"
+ case 1105:
+#line 7174 "gram.y"
{ (yyval.list) = list_make2((yyvsp[-2].node), (yyvsp[0].node)); }
break;
- case 998:
-#line 6400 "gram.y"
- { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
+ case 1106:
+#line 7176 "gram.y"
+ { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
+ break;
+
+ case 1107:
+#line 7178 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
+ break;
+
+ case 1108:
+#line 7180 "gram.y"
+ {
+ /* Disabled because it was too confusing, bjm 2002-02-18 */
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("LIMIT #,# syntax is not supported"),
+ errhint("Use separate LIMIT and OFFSET clauses."),
+ scanner_errposition((yylsp[-3]))));
+ }
+ break;
+
+ case 1109:
+#line 7190 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[-1].node), NULL); }
+ break;
+
+ case 1110:
+#line 7192 "gram.y"
+ { (yyval.list) = list_make2(NULL, (yyvsp[-2].node)); }
+ break;
+
+ case 1111:
+#line 7194 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[-6].node), (yyvsp[-2].node)); }
+ break;
+
+ case 1112:
+#line 7198 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+ break;
+
+ case 1113:
+#line 7200 "gram.y"
+ { (yyval.list) = list_make2(NULL,NULL); }
+ break;
+
+ case 1114:
+#line 7204 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+ break;
+
+ case 1115:
+#line 7206 "gram.y"
+ {
+ /* LIMIT ALL is represented as a NULL constant */
+ (yyval.node) = makeNullAConst((yylsp[0]));
+ }
+ break;
+
+ case 1116:
+#line 7218 "gram.y"
+ { (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0])); }
+ break;
+
+ case 1117:
+#line 7219 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
break;
- case 999:
-#line 6402 "gram.y"
- { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
+ case 1118:
+#line 7220 "gram.y"
+ { (yyval.node) = makeIntConst(1, -1); }
break;
- case 1000:
-#line 6404 "gram.y"
- {
- /* Disabled because it was too confusing, bjm 2002-02-18 */
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("LIMIT #,# syntax is not supported"),
- errhint("Use separate LIMIT and OFFSET clauses.")));
- }
+ case 1119:
+#line 7224 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
break;
- case 1001:
-#line 6414 "gram.y"
- { (yyval.list) = (yyvsp[0].list); }
+ case 1120:
+#line 7232 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
break;
- case 1002:
-#line 6416 "gram.y"
- { (yyval.list) = list_make2(NULL,NULL); }
+ case 1121:
+#line 7237 "gram.y"
+ { (yyval.ival) = 0; }
break;
- case 1003:
-#line 6420 "gram.y"
- { (yyval.node) = (yyvsp[0].node); }
+ case 1122:
+#line 7238 "gram.y"
+ { (yyval.ival) = 0; }
break;
- case 1004:
-#line 6422 "gram.y"
- {
- /* LIMIT ALL is represented as a NULL constant */
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Null;
- (yyval.node) = (Node *)n;
- }
+ case 1123:
+#line 7243 "gram.y"
+ { (yyval.ival) = 0; }
break;
- case 1005:
-#line 6431 "gram.y"
- { (yyval.node) = (yyvsp[0].node); }
+ case 1124:
+#line 7244 "gram.y"
+ { (yyval.ival) = 0; }
break;
- case 1006:
-#line 6435 "gram.y"
+ case 1125:
+#line 7248 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 1007:
-#line 6436 "gram.y"
+ case 1126:
+#line 7249 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1008:
-#line 6440 "gram.y"
+ case 1127:
+#line 7253 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1009:
-#line 6441 "gram.y"
+ case 1128:
+#line 7254 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1010:
-#line 6445 "gram.y"
+ case 1129:
+#line 7258 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 1011:
-#line 6446 "gram.y"
+ case 1130:
+#line 7259 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1012:
-#line 6450 "gram.y"
+ case 1131:
+#line 7263 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 1013:
-#line 6451 "gram.y"
+ case 1132:
+#line 7264 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1014:
-#line 6455 "gram.y"
+ case 1133:
+#line 7268 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 1015:
-#line 6456 "gram.y"
+ case 1134:
+#line 7269 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
break;
- case 1016:
-#line 6461 "gram.y"
+ case 1135:
+#line 7274 "gram.y"
{
LockingClause *n = makeNode(LockingClause);
n->lockedRels = (yyvsp[-1].list);
@@ -21596,8 +24322,8 @@ yyreduce:
}
break;
- case 1017:
-#line 6469 "gram.y"
+ case 1136:
+#line 7282 "gram.y"
{
LockingClause *n = makeNode(LockingClause);
n->lockedRels = (yyvsp[-1].list);
@@ -21607,18 +24333,18 @@ yyreduce:
}
break;
- case 1018:
-#line 6479 "gram.y"
+ case 1137:
+#line 7292 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 1019:
-#line 6480 "gram.y"
+ case 1138:
+#line 7293 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1020:
-#line 6486 "gram.y"
+ case 1139:
+#line 7299 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[0].list));
@@ -21626,8 +24352,8 @@ yyreduce:
}
break;
- case 1021:
-#line 6492 "gram.y"
+ case 1140:
+#line 7305 "gram.y"
{
SelectStmt *n = (SelectStmt *) (yyvsp[-2].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[0].list));
@@ -21635,43 +24361,43 @@ yyreduce:
}
break;
- case 1022:
-#line 6509 "gram.y"
+ case 1141:
+#line 7322 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 1023:
-#line 6510 "gram.y"
+ case 1142:
+#line 7323 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1024:
-#line 6514 "gram.y"
+ case 1143:
+#line 7327 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 1025:
-#line 6515 "gram.y"
+ case 1144:
+#line 7328 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
break;
- case 1026:
-#line 6526 "gram.y"
+ case 1145:
+#line 7339 "gram.y"
{
(yyval.node) = (Node *) (yyvsp[0].range);
}
break;
- case 1027:
-#line 6530 "gram.y"
+ case 1146:
+#line 7343 "gram.y"
{
(yyvsp[-1].range)->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) (yyvsp[-1].range);
}
break;
- case 1028:
-#line 6535 "gram.y"
+ case 1147:
+#line 7348 "gram.y"
{
RangeFunction *n = makeNode(RangeFunction);
n->funccallnode = (yyvsp[0].node);
@@ -21680,8 +24406,8 @@ yyreduce:
}
break;
- case 1029:
-#line 6542 "gram.y"
+ case 1148:
+#line 7355 "gram.y"
{
RangeFunction *n = makeNode(RangeFunction);
n->funccallnode = (yyvsp[-1].node);
@@ -21691,8 +24417,8 @@ yyreduce:
}
break;
- case 1030:
-#line 6550 "gram.y"
+ case 1149:
+#line 7363 "gram.y"
{
RangeFunction *n = makeNode(RangeFunction);
n->funccallnode = (yyvsp[-4].node);
@@ -21701,8 +24427,8 @@ yyreduce:
}
break;
- case 1031:
-#line 6557 "gram.y"
+ case 1150:
+#line 7370 "gram.y"
{
RangeFunction *n = makeNode(RangeFunction);
Alias *a = makeNode(Alias);
@@ -21714,8 +24440,8 @@ yyreduce:
}
break;
- case 1032:
-#line 6567 "gram.y"
+ case 1151:
+#line 7380 "gram.y"
{
RangeFunction *n = makeNode(RangeFunction);
Alias *a = makeNode(Alias);
@@ -21727,8 +24453,8 @@ yyreduce:
}
break;
- case 1033:
-#line 6577 "gram.y"
+ case 1152:
+#line 7390 "gram.y"
{
/*
* The SQL spec does not permit a subselect
@@ -21746,18 +24472,20 @@ yyreduce:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("VALUES in FROM must have an alias"),
- errhint("For example, FROM (VALUES ...) [AS] foo.")));
+ errhint("For example, FROM (VALUES ...) [AS] foo."),
+ scanner_errposition((yylsp[0]))));
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("subquery in FROM must have an alias"),
- errhint("For example, FROM (SELECT ...) [AS] foo.")));
+ errhint("For example, FROM (SELECT ...) [AS] foo."),
+ scanner_errposition((yylsp[0]))));
(yyval.node) = NULL;
}
break;
- case 1034:
-#line 6603 "gram.y"
+ case 1153:
+#line 7418 "gram.y"
{
RangeSubselect *n = makeNode(RangeSubselect);
n->subquery = (yyvsp[-1].node);
@@ -21766,30 +24494,30 @@ yyreduce:
}
break;
- case 1035:
-#line 6610 "gram.y"
+ case 1154:
+#line 7425 "gram.y"
{
(yyval.node) = (Node *) (yyvsp[0].jexpr);
}
break;
- case 1036:
-#line 6614 "gram.y"
+ case 1155:
+#line 7429 "gram.y"
{
(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) (yyvsp[-2].jexpr);
}
break;
- case 1037:
-#line 6640 "gram.y"
+ case 1156:
+#line 7455 "gram.y"
{
(yyval.jexpr) = (yyvsp[-1].jexpr);
}
break;
- case 1038:
-#line 6644 "gram.y"
+ case 1157:
+#line 7459 "gram.y"
{
/* CROSS JOIN is same as unqualified inner join */
JoinExpr *n = makeNode(JoinExpr);
@@ -21803,8 +24531,8 @@ yyreduce:
}
break;
- case 1039:
-#line 6656 "gram.y"
+ case 1158:
+#line 7471 "gram.y"
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[-3].jtype);
@@ -21819,8 +24547,8 @@ yyreduce:
}
break;
- case 1040:
-#line 6669 "gram.y"
+ case 1159:
+#line 7484 "gram.y"
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
@@ -21836,8 +24564,8 @@ yyreduce:
}
break;
- case 1041:
-#line 6683 "gram.y"
+ case 1160:
+#line 7498 "gram.y"
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[-2].jtype);
@@ -21850,8 +24578,8 @@ yyreduce:
}
break;
- case 1042:
-#line 6694 "gram.y"
+ case 1161:
+#line 7509 "gram.y"
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
@@ -21865,8 +24593,8 @@ yyreduce:
}
break;
- case 1043:
-#line 6709 "gram.y"
+ case 1162:
+#line 7524 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[-3].str);
@@ -21874,16 +24602,16 @@ yyreduce:
}
break;
- case 1044:
-#line 6715 "gram.y"
+ case 1163:
+#line 7530 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[0].str);
}
break;
- case 1045:
-#line 6720 "gram.y"
+ case 1164:
+#line 7535 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[-3].str);
@@ -21891,56 +24619,56 @@ yyreduce:
}
break;
- case 1046:
-#line 6726 "gram.y"
+ case 1165:
+#line 7541 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[0].str);
}
break;
- case 1047:
-#line 6732 "gram.y"
+ case 1166:
+#line 7547 "gram.y"
{ (yyval.jtype) = JOIN_FULL; }
break;
- case 1048:
-#line 6733 "gram.y"
+ case 1167:
+#line 7548 "gram.y"
{ (yyval.jtype) = JOIN_LEFT; }
break;
- case 1049:
-#line 6734 "gram.y"
+ case 1168:
+#line 7549 "gram.y"
{ (yyval.jtype) = JOIN_RIGHT; }
break;
- case 1050:
-#line 6735 "gram.y"
+ case 1169:
+#line 7550 "gram.y"
{ (yyval.jtype) = JOIN_INNER; }
break;
- case 1051:
-#line 6739 "gram.y"
+ case 1170:
+#line 7554 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1052:
-#line 6740 "gram.y"
+ case 1171:
+#line 7555 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1053:
-#line 6752 "gram.y"
+ case 1172:
+#line 7567 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[-1].list); }
break;
- case 1054:
-#line 6753 "gram.y"
+ case 1173:
+#line 7568 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1055:
-#line 6759 "gram.y"
+ case 1174:
+#line 7574 "gram.y"
{
/* default inheritance */
(yyval.range) = (yyvsp[0].range);
@@ -21949,8 +24677,8 @@ yyreduce:
}
break;
- case 1056:
-#line 6766 "gram.y"
+ case 1175:
+#line 7581 "gram.y"
{
/* inheritance query */
(yyval.range) = (yyvsp[-1].range);
@@ -21959,8 +24687,8 @@ yyreduce:
}
break;
- case 1057:
-#line 6773 "gram.y"
+ case 1176:
+#line 7588 "gram.y"
{
/* no inheritance */
(yyval.range) = (yyvsp[0].range);
@@ -21969,8 +24697,8 @@ yyreduce:
}
break;
- case 1058:
-#line 6780 "gram.y"
+ case 1177:
+#line 7595 "gram.y"
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[-1].range);
@@ -21979,15 +24707,25 @@ yyreduce:
}
break;
- case 1059:
-#line 6799 "gram.y"
+ case 1178:
+#line 7605 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].range)); }
+ break;
+
+ case 1179:
+#line 7606 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
+ break;
+
+ case 1180:
+#line 7620 "gram.y"
{
(yyval.range) = (yyvsp[0].range);
}
break;
- case 1060:
-#line 6803 "gram.y"
+ case 1181:
+#line 7624 "gram.y"
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[0].str);
@@ -21996,8 +24734,8 @@ yyreduce:
}
break;
- case 1061:
-#line 6810 "gram.y"
+ case 1182:
+#line 7631 "gram.y"
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[0].str);
@@ -22006,28 +24744,28 @@ yyreduce:
}
break;
- case 1062:
-#line 6819 "gram.y"
+ case 1183:
+#line 7640 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1063:
-#line 6824 "gram.y"
+ case 1184:
+#line 7645 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1064:
-#line 6825 "gram.y"
+ case 1185:
+#line 7646 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1065:
-#line 6830 "gram.y"
+ case 1186:
+#line 7651 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1066:
-#line 6832 "gram.y"
+ case 1187:
+#line 7653 "gram.y"
{
CurrentOfExpr *n = makeNode(CurrentOfExpr);
/* cvarno is filled in by parse analysis */
@@ -22037,8 +24775,8 @@ yyreduce:
}
break;
- case 1067:
-#line 6840 "gram.y"
+ case 1188:
+#line 7661 "gram.y"
{
CurrentOfExpr *n = makeNode(CurrentOfExpr);
/* cvarno is filled in by parse analysis */
@@ -22048,27 +24786,27 @@ yyreduce:
}
break;
- case 1068:
-#line 6847 "gram.y"
+ case 1189:
+#line 7668 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1069:
-#line 6853 "gram.y"
+ case 1190:
+#line 7674 "gram.y"
{
(yyval.list) = list_make1((yyvsp[0].node));
}
break;
- case 1070:
-#line 6857 "gram.y"
+ case 1191:
+#line 7678 "gram.y"
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
break;
- case 1071:
-#line 6863 "gram.y"
+ case 1192:
+#line 7684 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[-1].str);
@@ -22079,16 +24817,16 @@ yyreduce:
}
break;
- case 1072:
-#line 6884 "gram.y"
+ case 1193:
+#line 7705 "gram.y"
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[0].list);
}
break;
- case 1073:
-#line 6889 "gram.y"
+ case 1194:
+#line 7710 "gram.y"
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[0].list);
@@ -22096,105 +24834,129 @@ yyreduce:
}
break;
- case 1074:
-#line 6895 "gram.y"
+ case 1195:
+#line 7717 "gram.y"
{
- /* SQL99's redundant syntax */
(yyval.typnam) = (yyvsp[-4].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
}
break;
- case 1075:
-#line 6901 "gram.y"
+ case 1196:
+#line 7722 "gram.y"
{
- /* SQL99's redundant syntax */
(yyval.typnam) = (yyvsp[-4].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
(yyval.typnam)->setof = TRUE;
}
break;
- case 1076:
-#line 6911 "gram.y"
+ case 1197:
+#line 7728 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-1].typnam);
+ (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
+ }
+ break;
+
+ case 1198:
+#line 7733 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-1].typnam);
+ (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
+ (yyval.typnam)->setof = TRUE;
+ }
+ break;
+
+ case 1199:
+#line 7742 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
break;
- case 1077:
-#line 6913 "gram.y"
+ case 1200:
+#line 7744 "gram.y"
{ (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
break;
- case 1078:
-#line 6915 "gram.y"
+ case 1201:
+#line 7746 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1079:
-#line 6919 "gram.y"
+ case 1202:
+#line 7750 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1080:
-#line 6920 "gram.y"
+ case 1203:
+#line 7751 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1081:
-#line 6921 "gram.y"
+ case 1204:
+#line 7752 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1082:
-#line 6922 "gram.y"
+ case 1205:
+#line 7753 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1083:
-#line 6923 "gram.y"
+ case 1206:
+#line 7754 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1084:
-#line 6925 "gram.y"
+ case 1207:
+#line 7756 "gram.y"
{
(yyval.typnam) = (yyvsp[-1].typnam);
- if ((yyvsp[0].ival) != INTERVAL_FULL_RANGE)
- (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[0].ival)));
+ (yyval.typnam)->typmods = (yyvsp[0].list);
}
break;
- case 1085:
-#line 6931 "gram.y"
+ case 1208:
+#line 7761 "gram.y"
{
(yyval.typnam) = (yyvsp[-4].typnam);
- (yyval.typnam)->typmods = list_make2(makeIntConst((yyvsp[0].ival)),
- makeIntConst((yyvsp[-2].ival)));
+ if ((yyvsp[0].list) != NIL)
+ {
+ if (list_length((yyvsp[0].list)) != 1)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("interval precision specified twice"),
+ scanner_errposition((yylsp[-4]))));
+ (yyval.typnam)->typmods = lappend((yyvsp[0].list), makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
+ }
+ else
+ (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
+ makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
}
break;
- case 1086:
-#line 6950 "gram.y"
+ case 1209:
+#line 7790 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1087:
-#line 6951 "gram.y"
+ case 1210:
+#line 7791 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1088:
-#line 6952 "gram.y"
+ case 1211:
+#line 7792 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1089:
-#line 6953 "gram.y"
+ case 1212:
+#line 7793 "gram.y"
{ (yyval.typnam) = (yyvsp[0].typnam); }
break;
- case 1090:
-#line 6965 "gram.y"
+ case 1213:
+#line 7805 "gram.y"
{
(yyval.typnam) = makeTypeName((yyvsp[-1].str));
(yyval.typnam)->typmods = (yyvsp[0].list);
@@ -22202,8 +24964,8 @@ yyreduce:
}
break;
- case 1091:
-#line 6971 "gram.y"
+ case 1214:
+#line 7811 "gram.y"
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
(yyval.typnam)->typmods = (yyvsp[0].list);
@@ -22211,74 +24973,74 @@ yyreduce:
}
break;
- case 1092:
-#line 6978 "gram.y"
+ case 1215:
+#line 7818 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 1093:
-#line 6979 "gram.y"
+ case 1216:
+#line 7819 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1094:
-#line 6986 "gram.y"
+ case 1217:
+#line 7826 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[0]);
}
break;
- case 1095:
-#line 6991 "gram.y"
+ case 1218:
+#line 7831 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[0]);
}
break;
- case 1096:
-#line 6996 "gram.y"
+ case 1219:
+#line 7836 "gram.y"
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[0]);
}
break;
- case 1097:
-#line 7001 "gram.y"
+ case 1220:
+#line 7841 "gram.y"
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[0]);
}
break;
- case 1098:
-#line 7006 "gram.y"
+ case 1221:
+#line 7846 "gram.y"
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[0]);
}
break;
- case 1099:
-#line 7011 "gram.y"
+ case 1222:
+#line 7851 "gram.y"
{
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->location = (yylsp[-1]);
}
break;
- case 1100:
-#line 7016 "gram.y"
+ case 1223:
+#line 7856 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[-1]);
}
break;
- case 1101:
-#line 7021 "gram.y"
+ case 1224:
+#line 7861 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
@@ -22286,8 +25048,8 @@ yyreduce:
}
break;
- case 1102:
-#line 7027 "gram.y"
+ case 1225:
+#line 7867 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
@@ -22295,8 +25057,8 @@ yyreduce:
}
break;
- case 1103:
-#line 7033 "gram.y"
+ case 1226:
+#line 7873 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
@@ -22304,16 +25066,16 @@ yyreduce:
}
break;
- case 1104:
-#line 7039 "gram.y"
+ case 1227:
+#line 7879 "gram.y"
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[0]);
}
break;
- case 1105:
-#line 7046 "gram.y"
+ case 1228:
+#line 7886 "gram.y"
{
/*
* Check FLOAT() precision limits assuming IEEE floating
@@ -22322,7 +25084,8 @@ yyreduce:
if ((yyvsp[-1].ival) < 1)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("precision for type float must be at least 1 bit")));
+ errmsg("precision for type float must be at least 1 bit"),
+ scanner_errposition((yylsp[-1]))));
else if ((yyvsp[-1].ival) <= 24)
(yyval.typnam) = SystemTypeName("float4");
else if ((yyvsp[-1].ival) <= 53)
@@ -22330,48 +25093,49 @@ yyreduce:
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("precision for type float must be less than 54 bits")));
+ errmsg("precision for type float must be less than 54 bits"),
+ scanner_errposition((yylsp[-1]))));
}
break;
- case 1106:
-#line 7065 "gram.y"
+ case 1229:
+#line 7907 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
}
break;
- case 1107:
-#line 7075 "gram.y"
+ case 1230:
+#line 7917 "gram.y"
{
(yyval.typnam) = (yyvsp[0].typnam);
}
break;
- case 1108:
-#line 7079 "gram.y"
+ case 1231:
+#line 7921 "gram.y"
{
(yyval.typnam) = (yyvsp[0].typnam);
}
break;
- case 1109:
-#line 7087 "gram.y"
+ case 1232:
+#line 7929 "gram.y"
{
(yyval.typnam) = (yyvsp[0].typnam);
}
break;
- case 1110:
-#line 7091 "gram.y"
+ case 1233:
+#line 7933 "gram.y"
{
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->typmods = NIL;
}
break;
- case 1111:
-#line 7099 "gram.y"
+ case 1234:
+#line 7941 "gram.y"
{
char *typname;
@@ -22382,8 +25146,8 @@ yyreduce:
}
break;
- case 1112:
-#line 7111 "gram.y"
+ case 1235:
+#line 7953 "gram.y"
{
/* bit defaults to bit(1), varbit to no limit */
if ((yyvsp[0].boolean))
@@ -22393,35 +25157,35 @@ yyreduce:
else
{
(yyval.typnam) = SystemTypeName("bit");
- (yyval.typnam)->typmods = list_make1(makeIntConst(1));
+ (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
}
(yyval.typnam)->location = (yylsp[-1]);
}
break;
- case 1113:
-#line 7132 "gram.y"
+ case 1236:
+#line 7974 "gram.y"
{
(yyval.typnam) = (yyvsp[0].typnam);
}
break;
- case 1114:
-#line 7136 "gram.y"
+ case 1237:
+#line 7978 "gram.y"
{
(yyval.typnam) = (yyvsp[0].typnam);
}
break;
- case 1115:
-#line 7142 "gram.y"
+ case 1238:
+#line 7984 "gram.y"
{
(yyval.typnam) = (yyvsp[0].typnam);
}
break;
- case 1116:
-#line 7146 "gram.y"
+ case 1239:
+#line 7988 "gram.y"
{
/* Length was not specified so allow to be unrestricted.
* This handles problems with fixed-length (bpchar) strings
@@ -22434,8 +25198,8 @@ yyreduce:
}
break;
- case 1117:
-#line 7159 "gram.y"
+ case 1240:
+#line 8001 "gram.y"
{
if (((yyvsp[0].str) != NULL) && (strcmp((yyvsp[0].str), "sql_text") != 0))
{
@@ -22449,13 +25213,13 @@ yyreduce:
}
(yyval.typnam) = SystemTypeName((yyvsp[-4].str));
- (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival)));
+ (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
(yyval.typnam)->location = (yylsp[-4]);
}
break;
- case 1118:
-#line 7178 "gram.y"
+ case 1241:
+#line 8020 "gram.y"
{
if (((yyvsp[0].str) != NULL) && (strcmp((yyvsp[0].str), "sql_text") != 0))
{
@@ -22472,107 +25236,99 @@ yyreduce:
/* char defaults to char(1), varchar to no limit */
if (strcmp((yyvsp[-1].str), "char") == 0)
- (yyval.typnam)->typmods = list_make1(makeIntConst(1));
+ (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
(yyval.typnam)->location = (yylsp[-1]);
}
break;
- case 1119:
-#line 7201 "gram.y"
+ case 1242:
+#line 8043 "gram.y"
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; }
break;
- case 1120:
-#line 7203 "gram.y"
+ case 1243:
+#line 8045 "gram.y"
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; }
break;
- case 1121:
-#line 7205 "gram.y"
+ case 1244:
+#line 8047 "gram.y"
{ (yyval.str) = "varchar"; }
break;
- case 1122:
-#line 7207 "gram.y"
+ case 1245:
+#line 8049 "gram.y"
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; }
break;
- case 1123:
-#line 7209 "gram.y"
+ case 1246:
+#line 8051 "gram.y"
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; }
break;
- case 1124:
-#line 7211 "gram.y"
+ case 1247:
+#line 8053 "gram.y"
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "char"; }
break;
- case 1125:
-#line 7215 "gram.y"
+ case 1248:
+#line 8057 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1126:
-#line 7216 "gram.y"
+ case 1249:
+#line 8058 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1127:
-#line 7220 "gram.y"
+ case 1250:
+#line 8062 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1128:
-#line 7221 "gram.y"
+ case 1251:
+#line 8063 "gram.y"
{ (yyval.str) = NULL; }
break;
- case 1129:
-#line 7229 "gram.y"
+ case 1252:
+#line 8071 "gram.y"
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
- /* XXX the timezone field seems to be unused
- * - thomas 2001-09-06
- */
- (yyval.typnam)->timezone = (yyvsp[0].boolean);
- (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival)));
+ (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
(yyval.typnam)->location = (yylsp[-4]);
}
break;
- case 1130:
-#line 7242 "gram.y"
+ case 1253:
+#line 8080 "gram.y"
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
- /* XXX the timezone field seems to be unused
- * - thomas 2001-09-06
- */
- (yyval.typnam)->timezone = (yyvsp[0].boolean);
(yyval.typnam)->location = (yylsp[-1]);
}
break;
- case 1131:
-#line 7254 "gram.y"
+ case 1254:
+#line 8088 "gram.y"
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
- (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival)));
+ (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
(yyval.typnam)->location = (yylsp[-4]);
}
break;
- case 1132:
-#line 7263 "gram.y"
+ case 1255:
+#line 8097 "gram.y"
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timetz");
@@ -22582,340 +25338,394 @@ yyreduce:
}
break;
- case 1133:
-#line 7274 "gram.y"
+ case 1256:
+#line 8108 "gram.y"
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[0]);
}
break;
- case 1134:
-#line 7281 "gram.y"
+ case 1257:
+#line 8115 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1135:
-#line 7282 "gram.y"
+ case 1258:
+#line 8116 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1136:
-#line 7283 "gram.y"
+ case 1259:
+#line 8117 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1137:
-#line 7287 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(YEAR); }
+ case 1260:
+#line 8122 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
break;
- case 1138:
-#line 7288 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(MONTH); }
+ case 1261:
+#line 8124 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
break;
- case 1139:
-#line 7289 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(DAY); }
+ case 1262:
+#line 8126 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
break;
- case 1140:
-#line 7290 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(HOUR); }
+ case 1263:
+#line 8128 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
break;
- case 1141:
-#line 7291 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(MINUTE); }
+ case 1264:
+#line 8130 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
break;
- case 1142:
-#line 7292 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(SECOND); }
+ case 1265:
+#line 8132 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
break;
- case 1143:
-#line 7294 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH); }
+ case 1266:
+#line 8134 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
+ INTERVAL_MASK(MONTH), (yylsp[-2])));
+ }
break;
- case 1144:
-#line 7296 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR); }
+ case 1267:
+#line 8139 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR), (yylsp[-2])));
+ }
break;
- case 1145:
-#line 7298 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)
- | INTERVAL_MASK(MINUTE); }
+ case 1268:
+#line 8144 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE), (yylsp[-2])));
+ }
break;
- case 1146:
-#line 7301 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)
- | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND); }
+ case 1269:
+#line 8150 "gram.y"
+ {
+ (yyval.list) = (yyvsp[0].list);
+ linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), (yylsp[-2]));
+ }
break;
- case 1147:
-#line 7304 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE); }
+ case 1270:
+#line 8158 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE), (yylsp[-2])));
+ }
break;
- case 1148:
-#line 7306 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE)
- | INTERVAL_MASK(SECOND); }
+ case 1271:
+#line 8163 "gram.y"
+ {
+ (yyval.list) = (yyvsp[0].list);
+ linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), (yylsp[-2]));
+ }
break;
- case 1149:
-#line 7309 "gram.y"
- { (yyval.ival) = INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND); }
+ case 1272:
+#line 8170 "gram.y"
+ {
+ (yyval.list) = (yyvsp[0].list);
+ linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), (yylsp[-2]));
+ }
break;
- case 1150:
-#line 7310 "gram.y"
- { (yyval.ival) = INTERVAL_FULL_RANGE; }
+ case 1273:
+#line 8176 "gram.y"
+ { (yyval.list) = NIL; }
break;
- case 1151:
-#line 7336 "gram.y"
+ case 1274:
+#line 8181 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
+ }
+ break;
+
+ case 1275:
+#line 8185 "gram.y"
+ {
+ (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
+ makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+ }
+ break;
+
+ case 1276:
+#line 8214 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1152:
-#line 7338 "gram.y"
- { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam)); }
+ case 1277:
+#line 8216 "gram.y"
+ { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
break;
- case 1153:
-#line 7340 "gram.y"
+ case 1278:
+#line 8218 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("timezone");
n->args = list_make2((yyvsp[0].node), (yyvsp[-4].node));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-3]);
(yyval.node) = (Node *) n;
}
break;
- case 1154:
-#line 7359 "gram.y"
+ case 1279:
+#line 8239 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1155:
-#line 7361 "gram.y"
+ case 1280:
+#line 8241 "gram.y"
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
break;
- case 1156:
-#line 7363 "gram.y"
+ case 1281:
+#line 8243 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1157:
-#line 7365 "gram.y"
+ case 1282:
+#line 8245 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1158:
-#line 7367 "gram.y"
+ case 1283:
+#line 8247 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1159:
-#line 7369 "gram.y"
+ case 1284:
+#line 8249 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1160:
-#line 7371 "gram.y"
+ case 1285:
+#line 8251 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1161:
-#line 7373 "gram.y"
+ case 1286:
+#line 8253 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1162:
-#line 7375 "gram.y"
+ case 1287:
+#line 8255 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1163:
-#line 7377 "gram.y"
+ case 1288:
+#line 8257 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1164:
-#line 7379 "gram.y"
+ case 1289:
+#line 8259 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1165:
-#line 7382 "gram.y"
+ case 1290:
+#line 8262 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1166:
-#line 7384 "gram.y"
+ case 1291:
+#line 8264 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1167:
-#line 7386 "gram.y"
+ case 1292:
+#line 8266 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
break;
- case 1168:
-#line 7389 "gram.y"
+ case 1293:
+#line 8269 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL, (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1169:
-#line 7391 "gram.y"
+ case 1294:
+#line 8271 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL, (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1170:
-#line 7393 "gram.y"
+ case 1295:
+#line 8273 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1171:
-#line 7396 "gram.y"
+ case 1296:
+#line 8276 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1172:
-#line 7398 "gram.y"
+ case 1297:
+#line 8278 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("like_escape");
n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
}
break;
- case 1173:
-#line 7408 "gram.y"
+ case 1298:
+#line 8290 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); }
break;
- case 1174:
-#line 7410 "gram.y"
+ case 1299:
+#line 8292 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("like_escape");
n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
}
break;
- case 1175:
-#line 7420 "gram.y"
+ case 1300:
+#line 8304 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1176:
-#line 7422 "gram.y"
+ case 1301:
+#line 8306 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("like_escape");
n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
}
break;
- case 1177:
-#line 7432 "gram.y"
+ case 1302:
+#line 8318 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); }
break;
- case 1178:
-#line 7434 "gram.y"
+ case 1303:
+#line 8320 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("like_escape");
n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
}
break;
- case 1179:
-#line 7445 "gram.y"
+ case 1304:
+#line 8333 "gram.y"
{
- A_Const *c = makeNode(A_Const);
FuncCall *n = makeNode(FuncCall);
- c->val.type = T_Null;
n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2((yyvsp[0].node), (Node *) c);
+ n->args = list_make2((yyvsp[0].node), makeNullAConst(-1));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-2]);
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
}
break;
- case 1180:
-#line 7457 "gram.y"
+ case 1305:
+#line 8345 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("similar_escape");
n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
}
break;
- case 1181:
-#line 7467 "gram.y"
+ case 1306:
+#line 8357 "gram.y"
{
- A_Const *c = makeNode(A_Const);
FuncCall *n = makeNode(FuncCall);
- c->val.type = T_Null;
n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2((yyvsp[0].node), (Node *) c);
+ n->args = list_make2((yyvsp[0].node), makeNullAConst(-1));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
}
break;
- case 1182:
-#line 7479 "gram.y"
+ case 1307:
+#line 8369 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("similar_escape");
n->args = list_make2((yyvsp[-2].node), (yyvsp[0].node));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
}
break;
- case 1183:
-#line 7499 "gram.y"
+ case 1308:
+#line 8391 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-2].node);
@@ -22924,8 +25734,8 @@ yyreduce:
}
break;
- case 1184:
-#line 7506 "gram.y"
+ case 1309:
+#line 8398 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-1].node);
@@ -22934,8 +25744,8 @@ yyreduce:
}
break;
- case 1185:
-#line 7513 "gram.y"
+ case 1310:
+#line 8405 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-3].node);
@@ -22944,8 +25754,8 @@ yyreduce:
}
break;
- case 1186:
-#line 7520 "gram.y"
+ case 1311:
+#line 8412 "gram.y"
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-1].node);
@@ -22954,15 +25764,15 @@ yyreduce:
}
break;
- case 1187:
-#line 7527 "gram.y"
+ case 1312:
+#line 8419 "gram.y"
{
(yyval.node) = (Node *)makeOverlaps((yyvsp[-2].list), (yyvsp[0].list), (yylsp[-1]));
}
break;
- case 1188:
-#line 7531 "gram.y"
+ case 1313:
+#line 8423 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
@@ -22971,8 +25781,8 @@ yyreduce:
}
break;
- case 1189:
-#line 7538 "gram.y"
+ case 1314:
+#line 8430 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
@@ -22981,8 +25791,8 @@ yyreduce:
}
break;
- case 1190:
-#line 7545 "gram.y"
+ case 1315:
+#line 8437 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
@@ -22991,8 +25801,8 @@ yyreduce:
}
break;
- case 1191:
-#line 7552 "gram.y"
+ case 1316:
+#line 8444 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
@@ -23001,8 +25811,8 @@ yyreduce:
}
break;
- case 1192:
-#line 7559 "gram.y"
+ case 1317:
+#line 8451 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
@@ -23011,8 +25821,8 @@ yyreduce:
}
break;
- case 1193:
-#line 7566 "gram.y"
+ case 1318:
+#line 8458 "gram.y"
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
@@ -23021,15 +25831,15 @@ yyreduce:
}
break;
- case 1194:
-#line 7573 "gram.y"
+ case 1319:
+#line 8465 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
}
break;
- case 1195:
-#line 7577 "gram.y"
+ case 1320:
+#line 8469 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL,
(Node *) makeSimpleA_Expr(AEXPR_DISTINCT,
@@ -23039,22 +25849,22 @@ yyreduce:
}
break;
- case 1196:
-#line 7585 "gram.y"
+ case 1321:
+#line 8477 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
}
break;
- case 1197:
-#line 7589 "gram.y"
+ case 1322:
+#line 8481 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
}
break;
- case 1198:
-#line 7593 "gram.y"
+ case 1323:
+#line 8490 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL,
(Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-5].node), (yyvsp[-2].node), (yylsp[-4])),
@@ -23063,8 +25873,8 @@ yyreduce:
}
break;
- case 1199:
-#line 7600 "gram.y"
+ case 1324:
+#line 8497 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL,
(Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-6].node), (yyvsp[-2].node), (yylsp[-5])),
@@ -23073,8 +25883,8 @@ yyreduce:
}
break;
- case 1200:
-#line 7607 "gram.y"
+ case 1325:
+#line 8504 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_OR, NIL,
(Node *) makeA_Expr(AEXPR_AND, NIL,
@@ -23089,8 +25899,8 @@ yyreduce:
}
break;
- case 1201:
-#line 7620 "gram.y"
+ case 1326:
+#line 8517 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_AND, NIL,
(Node *) makeA_Expr(AEXPR_OR, NIL,
@@ -23105,8 +25915,8 @@ yyreduce:
}
break;
- case 1202:
-#line 7633 "gram.y"
+ case 1327:
+#line 8530 "gram.y"
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[0].node), SubLink))
@@ -23116,6 +25926,7 @@ yyreduce:
n->subLinkType = ANY_SUBLINK;
n->testexpr = (yyvsp[-2].node);
n->operName = list_make1(makeString("="));
+ n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
else
@@ -23126,8 +25937,8 @@ yyreduce:
}
break;
- case 1203:
-#line 7651 "gram.y"
+ case 1328:
+#line 8549 "gram.y"
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[0].node), SubLink))
@@ -23138,6 +25949,7 @@ yyreduce:
n->subLinkType = ANY_SUBLINK;
n->testexpr = (yyvsp[-3].node);
n->operName = list_make1(makeString("="));
+ n->location = (yylsp[-1]);
/* Stick a NOT on top */
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (Node *) n, (yylsp[-2]));
}
@@ -23149,20 +25961,21 @@ yyreduce:
}
break;
- case 1204:
-#line 7671 "gram.y"
+ case 1329:
+#line 8570 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = (yyvsp[-1].ival);
n->testexpr = (yyvsp[-3].node);
n->operName = (yyvsp[-2].list);
n->subselect = (yyvsp[0].node);
+ n->location = (yylsp[-2]);
(yyval.node) = (Node *)n;
}
break;
- case 1205:
-#line 7680 "gram.y"
+ case 1330:
+#line 8580 "gram.y"
{
if ((yyvsp[-3].ival) == ANY_SUBLINK)
(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
@@ -23171,8 +25984,8 @@ yyreduce:
}
break;
- case 1206:
-#line 7687 "gram.y"
+ case 1331:
+#line 8587 "gram.y"
{
/* Not sure how to get rid of the parentheses
* but there are lots of shift/reduce errors without them.
@@ -23185,171 +25998,177 @@ yyreduce:
*/
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("UNIQUE predicate is not yet implemented")));
+ errmsg("UNIQUE predicate is not yet implemented"),
+ scanner_errposition((yylsp[-1]))));
}
break;
- case 1207:
-#line 7702 "gram.y"
+ case 1332:
+#line 8603 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1((yyvsp[-2].node)));
+ (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1((yyvsp[-2].node)), (yylsp[-1]));
}
break;
- case 1208:
-#line 7706 "gram.y"
+ case 1333:
+#line 8608 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL,
- makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1((yyvsp[-3].node))),
+ makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1((yyvsp[-3].node)), (yylsp[-2])),
(yylsp[-2]));
}
break;
- case 1209:
-#line 7723 "gram.y"
+ case 1334:
+#line 8626 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1210:
-#line 7725 "gram.y"
- { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam)); }
+ case 1335:
+#line 8628 "gram.y"
+ { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
break;
- case 1211:
-#line 7727 "gram.y"
+ case 1336:
+#line 8630 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1212:
-#line 7729 "gram.y"
+ case 1337:
+#line 8632 "gram.y"
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
break;
- case 1213:
-#line 7731 "gram.y"
+ case 1338:
+#line 8634 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1214:
-#line 7733 "gram.y"
+ case 1339:
+#line 8636 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1215:
-#line 7735 "gram.y"
+ case 1340:
+#line 8638 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1216:
-#line 7737 "gram.y"
+ case 1341:
+#line 8640 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1217:
-#line 7739 "gram.y"
+ case 1342:
+#line 8642 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1218:
-#line 7741 "gram.y"
+ case 1343:
+#line 8644 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1219:
-#line 7743 "gram.y"
+ case 1344:
+#line 8646 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1220:
-#line 7745 "gram.y"
+ case 1345:
+#line 8648 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1221:
-#line 7747 "gram.y"
+ case 1346:
+#line 8650 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1222:
-#line 7749 "gram.y"
+ case 1347:
+#line 8652 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1223:
-#line 7751 "gram.y"
+ case 1348:
+#line 8654 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
break;
- case 1224:
-#line 7753 "gram.y"
+ case 1349:
+#line 8656 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
break;
- case 1225:
-#line 7755 "gram.y"
+ case 1350:
+#line 8658 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
}
break;
- case 1226:
-#line 7759 "gram.y"
+ case 1351:
+#line 8662 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL,
NULL, (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])), (yylsp[-4]));
}
break;
- case 1227:
-#line 7764 "gram.y"
+ case 1352:
+#line 8667 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
}
break;
- case 1228:
-#line 7768 "gram.y"
+ case 1353:
+#line 8671 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
}
break;
- case 1229:
-#line 7772 "gram.y"
+ case 1354:
+#line 8675 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1((yyvsp[-2].node)));
+ (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1((yyvsp[-2].node)), (yylsp[-1]));
}
break;
- case 1230:
-#line 7776 "gram.y"
+ case 1355:
+#line 8680 "gram.y"
{
(yyval.node) = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL,
- makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1((yyvsp[-3].node))),
+ makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1((yyvsp[-3].node)), (yylsp[-2])),
(yylsp[-2]));
}
break;
- case 1231:
-#line 7791 "gram.y"
+ case 1356:
+#line 8696 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1232:
-#line 7792 "gram.y"
+ case 1357:
+#line 8697 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1233:
-#line 7794 "gram.y"
+ case 1358:
+#line 8699 "gram.y"
{
ParamRef *p = makeNode(ParamRef);
p->number = (yyvsp[-1].ival);
+ p->location = (yylsp[-1]);
if ((yyvsp[0].list))
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = (Node *) p;
- n->indirection = (yyvsp[0].list);
+ n->indirection = check_indirection((yyvsp[0].list));
(yyval.node) = (Node *) n;
}
else
@@ -23357,14 +26176,14 @@ yyreduce:
}
break;
- case 1234:
-#line 7808 "gram.y"
+ case 1359:
+#line 8714 "gram.y"
{
if ((yyvsp[0].list))
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = (yyvsp[-2].node);
- n->indirection = (yyvsp[0].list);
+ n->indirection = check_indirection((yyvsp[0].list));
(yyval.node) = (Node *)n;
}
else
@@ -23372,125 +26191,173 @@ yyreduce:
}
break;
- case 1235:
-#line 7820 "gram.y"
+ case 1360:
+#line 8726 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1236:
-#line 7822 "gram.y"
+ case 1361:
+#line 8728 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1237:
-#line 7824 "gram.y"
+ case 1362:
+#line 8730 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = EXPR_SUBLINK;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[0].node);
+ n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
break;
- case 1238:
-#line 7833 "gram.y"
+ case 1363:
+#line 8740 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = EXISTS_SUBLINK;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[0].node);
+ n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
break;
- case 1239:
-#line 7842 "gram.y"
+ case 1364:
+#line 8750 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subLinkType = ARRAY_SUBLINK;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[0].node);
+ n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
break;
- case 1240:
-#line 7851 "gram.y"
- { (yyval.node) = (yyvsp[0].node); }
+ case 1365:
+#line 8760 "gram.y"
+ {
+ A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[0].node);
+ Assert(IsA(n, A_ArrayExpr));
+ /* point outermost A_ArrayExpr to the ARRAY keyword */
+ n->location = (yylsp[-1]);
+ (yyval.node) = (Node *)n;
+ }
break;
- case 1241:
-#line 7853 "gram.y"
+ case 1366:
+#line 8768 "gram.y"
{
RowExpr *r = makeNode(RowExpr);
r->args = (yyvsp[0].list);
- r->row_typeid = 0; /* not analyzed yet */
+ r->row_typeid = InvalidOid; /* not analyzed yet */
+ r->location = (yylsp[0]);
(yyval.node) = (Node *)r;
}
break;
- case 1242:
-#line 7870 "gram.y"
+ case 1367:
+#line 8786 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[-2].list);
+ n->funcname = (yyvsp[-3].list);
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
- n->location = (yylsp[-2]);
+ n->func_variadic = FALSE;
+ n->over = (yyvsp[0].windef);
+ n->location = (yylsp[-3]);
(yyval.node) = (Node *)n;
}
break;
- case 1243:
-#line 7880 "gram.y"
+ case 1368:
+#line 8798 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[-3].list);
- n->args = (yyvsp[-1].list);
+ n->funcname = (yyvsp[-4].list);
+ n->args = (yyvsp[-2].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
- n->location = (yylsp[-3]);
+ n->func_variadic = FALSE;
+ n->over = (yyvsp[0].windef);
+ n->location = (yylsp[-4]);
(yyval.node) = (Node *)n;
}
break;
- case 1244:
-#line 7890 "gram.y"
+ case 1369:
+#line 8810 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[-4].list);
- n->args = (yyvsp[-1].list);
+ n->funcname = (yyvsp[-5].list);
+ n->args = list_make1((yyvsp[-2].node));
+ n->agg_star = FALSE;
+ n->agg_distinct = FALSE;
+ n->func_variadic = TRUE;
+ n->over = (yyvsp[0].windef);
+ n->location = (yylsp[-5]);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1370:
+#line 8822 "gram.y"
+ {
+ FuncCall *n = makeNode(FuncCall);
+ n->funcname = (yyvsp[-7].list);
+ n->args = lappend((yyvsp[-5].list), (yyvsp[-2].node));
+ n->agg_star = FALSE;
+ n->agg_distinct = FALSE;
+ n->func_variadic = TRUE;
+ n->over = (yyvsp[0].windef);
+ n->location = (yylsp[-7]);
+ (yyval.node) = (Node *)n;
+ }
+ break;
+
+ case 1371:
+#line 8834 "gram.y"
+ {
+ FuncCall *n = makeNode(FuncCall);
+ n->funcname = (yyvsp[-5].list);
+ n->args = (yyvsp[-2].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
/* Ideally we'd mark the FuncCall node to indicate
* "must be an aggregate", but there's no provision
* for that in FuncCall at the moment.
*/
- n->location = (yylsp[-4]);
+ n->func_variadic = FALSE;
+ n->over = (yyvsp[0].windef);
+ n->location = (yylsp[-5]);
(yyval.node) = (Node *)n;
}
break;
- case 1245:
-#line 7904 "gram.y"
+ case 1372:
+#line 8850 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[-4].list);
- n->args = (yyvsp[-1].list);
+ n->funcname = (yyvsp[-5].list);
+ n->args = (yyvsp[-2].list);
n->agg_star = FALSE;
n->agg_distinct = TRUE;
- n->location = (yylsp[-4]);
+ n->func_variadic = FALSE;
+ n->over = (yyvsp[0].windef);
+ n->location = (yylsp[-5]);
(yyval.node) = (Node *)n;
}
break;
- case 1246:
-#line 7914 "gram.y"
+ case 1373:
+#line 8862 "gram.y"
{
/*
* We consider AGGREGATE(*) to invoke a parameterless
@@ -23503,17 +26370,19 @@ yyreduce:
* really was.
*/
FuncCall *n = makeNode(FuncCall);
- n->funcname = (yyvsp[-3].list);
+ n->funcname = (yyvsp[-4].list);
n->args = NIL;
n->agg_star = TRUE;
n->agg_distinct = FALSE;
- n->location = (yylsp[-3]);
+ n->func_variadic = FALSE;
+ n->over = (yyvsp[0].windef);
+ n->location = (yylsp[-4]);
(yyval.node) = (Node *)n;
}
break;
- case 1247:
-#line 7934 "gram.y"
+ case 1374:
+#line 8884 "gram.y"
{
/*
* Translate as "'now'::text::date".
@@ -23530,61 +26399,43 @@ yyreduce:
* that is actually possible, but not clear that we want
* to rely on it.)
*/
- A_Const *s = makeNode(A_Const);
- TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
- d = SystemTypeName("date");
-
- (yyval.node) = (Node *)makeTypeCast((Node *)s, d);
+ Node *n;
+ n = makeStringConstCast("now", (yylsp[0]), SystemTypeName("text"));
+ (yyval.node) = makeTypeCast(n, SystemTypeName("date"), -1);
}
break;
- case 1248:
-#line 7962 "gram.y"
+ case 1375:
+#line 8905 "gram.y"
{
/*
* Translate as "'now'::text::timetz".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
- TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
- d = SystemTypeName("timetz");
-
- (yyval.node) = (Node *)makeTypeCast((Node *)s, d);
+ Node *n;
+ n = makeStringConstCast("now", (yylsp[0]), SystemTypeName("text"));
+ (yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), -1);
}
break;
- case 1249:
-#line 7979 "gram.y"
+ case 1376:
+#line 8915 "gram.y"
{
/*
* Translate as "'now'::text::timetz(n)".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
+ Node *n;
TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
+ n = makeStringConstCast("now", (yylsp[-3]), SystemTypeName("text"));
d = SystemTypeName("timetz");
- d->typmods = list_make1(makeIntConst((yyvsp[-1].ival)));
-
- (yyval.node) = (Node *)makeTypeCast((Node *)s, d);
+ d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+ (yyval.node) = makeTypeCast(n, d, -1);
}
break;
- case 1250:
-#line 7996 "gram.y"
+ case 1377:
+#line 8928 "gram.y"
{
/*
* Translate as "now()", since we have a function that
@@ -23595,185 +26446,199 @@ yyreduce:
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
break;
- case 1251:
-#line 8010 "gram.y"
+ case 1378:
+#line 8944 "gram.y"
{
/*
* Translate as "'now'::text::timestamptz(n)".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
+ Node *n;
TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
+ n = makeStringConstCast("now", (yylsp[-3]), SystemTypeName("text"));
d = SystemTypeName("timestamptz");
- d->typmods = list_make1(makeIntConst((yyvsp[-1].ival)));
-
- (yyval.node) = (Node *)makeTypeCast((Node *)s, d);
+ d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+ (yyval.node) = makeTypeCast(n, d, -1);
}
break;
- case 1252:
-#line 8028 "gram.y"
+ case 1379:
+#line 8957 "gram.y"
{
/*
* Translate as "'now'::text::time".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
- TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
- d = SystemTypeName("time");
-
- (yyval.node) = (Node *)makeTypeCast((Node *)s, d);
+ Node *n;
+ n = makeStringConstCast("now", (yylsp[0]), SystemTypeName("text"));
+ (yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), -1);
}
break;
- case 1253:
-#line 8045 "gram.y"
+ case 1380:
+#line 8967 "gram.y"
{
/*
* Translate as "'now'::text::time(n)".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
+ Node *n;
TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
+ n = makeStringConstCast("now", (yylsp[-3]), SystemTypeName("text"));
d = SystemTypeName("time");
- d->typmods = list_make1(makeIntConst((yyvsp[-1].ival)));
-
- (yyval.node) = (Node *)makeTypeCast((Node *)s, d);
+ d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+ (yyval.node) = makeTypeCast((Node *)n, d, -1);
}
break;
- case 1254:
-#line 8062 "gram.y"
+ case 1381:
+#line 8980 "gram.y"
{
/*
* Translate as "'now'::text::timestamp".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
- TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
- d = SystemTypeName("timestamp");
-
- (yyval.node) = (Node *)makeTypeCast((Node *)s, d);
+ Node *n;
+ n = makeStringConstCast("now", (yylsp[0]), SystemTypeName("text"));
+ (yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), -1);
}
break;
- case 1255:
-#line 8079 "gram.y"
+ case 1382:
+#line 8990 "gram.y"
{
/*
* Translate as "'now'::text::timestamp(n)".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
+ Node *n;
TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
+ n = makeStringConstCast("now", (yylsp[-3]), SystemTypeName("text"));
d = SystemTypeName("timestamp");
- d->typmods = list_make1(makeIntConst((yyvsp[-1].ival)));
+ d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+ (yyval.node) = makeTypeCast(n, d, -1);
+ }
+ break;
+
+ case 1383:
+#line 9003 "gram.y"
+ {
+ FuncCall *n = makeNode(FuncCall);
+ n->funcname = SystemFuncName("current_user");
+ n->args = NIL;
+ n->agg_star = FALSE;
+ n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
+ n->location = (yylsp[0]);
+ (yyval.node) = (Node *)n;
+ }
+ break;
- (yyval.node) = (Node *)makeTypeCast((Node *)s, d);
+ case 1384:
+#line 9015 "gram.y"
+ {
+ FuncCall *n = makeNode(FuncCall);
+ n->funcname = SystemFuncName("current_user");
+ n->args = NIL;
+ n->agg_star = FALSE;
+ n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
+ n->location = (yylsp[0]);
+ (yyval.node) = (Node *)n;
}
break;
- case 1256:
-#line 8097 "gram.y"
+ case 1385:
+#line 9027 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
+ n->funcname = SystemFuncName("session_user");
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
break;
- case 1257:
-#line 8107 "gram.y"
+ case 1386:
+#line 9039 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("current_user");
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
break;
- case 1258:
-#line 8117 "gram.y"
+ case 1387:
+#line 9051 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("session_user");
+ n->funcname = SystemFuncName("current_database");
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
break;
- case 1259:
-#line 8127 "gram.y"
+ case 1388:
+#line 9063 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
+ n->funcname = SystemFuncName("current_schema");
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
break;
- case 1260:
-#line 8137 "gram.y"
- { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam)); }
+ case 1389:
+#line 9075 "gram.y"
+ { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
break;
- case 1261:
-#line 8139 "gram.y"
+ case 1390:
+#line 9077 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("date_part");
n->args = (yyvsp[-1].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-3]);
(yyval.node) = (Node *)n;
}
break;
- case 1262:
-#line 8149 "gram.y"
+ case 1391:
+#line 9089 "gram.y"
{
/* overlay(A PLACING B FROM C FOR D) is converted to
* substring(A, 1, C-1) || B || substring(A, C+1, C+D)
@@ -23785,13 +26650,15 @@ yyreduce:
n->args = (yyvsp[-1].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-3]);
(yyval.node) = (Node *)n;
}
break;
- case 1263:
-#line 8164 "gram.y"
+ case 1392:
+#line 9106 "gram.y"
{
/* position(A in B) is converted to position(B, A) */
FuncCall *n = makeNode(FuncCall);
@@ -23799,13 +26666,15 @@ yyreduce:
n->args = (yyvsp[-1].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-3]);
(yyval.node) = (Node *)n;
}
break;
- case 1264:
-#line 8175 "gram.y"
+ case 1393:
+#line 9119 "gram.y"
{
/* substring(A from B for C) is converted to
* substring(A, B, C) - thomas 2000-11-28
@@ -23815,13 +26684,15 @@ yyreduce:
n->args = (yyvsp[-1].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-3]);
(yyval.node) = (Node *)n;
}
break;
- case 1265:
-#line 8188 "gram.y"
+ case 1394:
+#line 9134 "gram.y"
{
/* TREAT(expr AS target) converts expr of a particular type to target,
* which is defined to be a subtype of the original expression.
@@ -23837,13 +26708,15 @@ yyreduce:
n->args = list_make1((yyvsp[-3].node));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-5]);
(yyval.node) = (Node *)n;
}
break;
- case 1266:
-#line 8207 "gram.y"
+ case 1395:
+#line 9155 "gram.y"
{
/* various trim expressions are defined in SQL92
* - thomas 1997-07-19
@@ -23853,563 +26726,741 @@ yyreduce:
n->args = (yyvsp[-1].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-4]);
(yyval.node) = (Node *)n;
}
break;
- case 1267:
-#line 8220 "gram.y"
+ case 1396:
+#line 9170 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("ltrim");
n->args = (yyvsp[-1].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-4]);
(yyval.node) = (Node *)n;
}
break;
- case 1268:
-#line 8230 "gram.y"
+ case 1397:
+#line 9182 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("rtrim");
n->args = (yyvsp[-1].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-4]);
(yyval.node) = (Node *)n;
}
break;
- case 1269:
-#line 8240 "gram.y"
+ case 1398:
+#line 9194 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("btrim");
n->args = (yyvsp[-1].list);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = (yylsp[-3]);
(yyval.node) = (Node *)n;
}
break;
- case 1270:
-#line 8250 "gram.y"
+ case 1399:
+#line 9206 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
}
break;
- case 1271:
-#line 8254 "gram.y"
+ case 1400:
+#line 9210 "gram.y"
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[-1].list);
+ c->location = (yylsp[-3]);
(yyval.node) = (Node *)c;
}
break;
- case 1272:
-#line 8260 "gram.y"
+ case 1401:
+#line 9217 "gram.y"
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[-1].list);
v->op = IS_GREATEST;
+ v->location = (yylsp[-3]);
(yyval.node) = (Node *)v;
}
break;
- case 1273:
-#line 8267 "gram.y"
+ case 1402:
+#line 9225 "gram.y"
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[-1].list);
v->op = IS_LEAST;
+ v->location = (yylsp[-3]);
(yyval.node) = (Node *)v;
}
break;
- case 1274:
-#line 8274 "gram.y"
+ case 1403:
+#line 9233 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list));
+ (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
}
break;
- case 1275:
-#line 8278 "gram.y"
+ case 1404:
+#line 9237 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL);
+ (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
}
break;
- case 1276:
-#line 8282 "gram.y"
+ case 1405:
+#line 9241 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL);
+ (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
}
break;
- case 1277:
-#line 8286 "gram.y"
+ case 1406:
+#line 9245 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list));
+ (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
}
break;
- case 1278:
-#line 8290 "gram.y"
+ case 1407:
+#line 9249 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list));
+ (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
}
break;
- case 1279:
-#line 8294 "gram.y"
+ case 1408:
+#line 9253 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL);
+ (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
}
break;
- case 1280:
-#line 8298 "gram.y"
+ case 1409:
+#line 9257 "gram.y"
{
- XmlExpr *x = (XmlExpr *) makeXmlExpr(IS_XMLPARSE, NULL, NIL,
- list_make2((yyvsp[-2].node),
- makeBoolAConst((yyvsp[-1].boolean))));
+ XmlExpr *x = (XmlExpr *)
+ makeXmlExpr(IS_XMLPARSE, NULL, NIL,
+ list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
+ (yylsp[-5]));
x->xmloption = (yyvsp[-3].ival);
(yyval.node) = (Node *)x;
}
break;
- case 1281:
-#line 8306 "gram.y"
+ case 1410:
+#line 9266 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL);
+ (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
}
break;
- case 1282:
-#line 8310 "gram.y"
+ case 1411:
+#line 9270 "gram.y"
{
- (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)));
+ (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
}
break;
- case 1283:
-#line 8314 "gram.y"
+ case 1412:
+#line 9274 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
- list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)));
+ list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
}
break;
- case 1284:
-#line 8319 "gram.y"
+ case 1413:
+#line 9279 "gram.y"
{
XmlSerialize *n = makeNode(XmlSerialize);
n->xmloption = (yyvsp[-4].ival);
n->expr = (yyvsp[-3].node);
n->typename = (yyvsp[-1].typnam);
+ n->location = (yylsp[-6]);
(yyval.node) = (Node *)n;
}
break;
- case 1285:
-#line 8332 "gram.y"
+ case 1414:
+#line 9293 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1286:
-#line 8334 "gram.y"
- {
- A_Const *val = makeNode(A_Const);
- val->val.type = T_Null;
- (yyval.node) = (Node *) val;
- }
+ case 1415:
+#line 9295 "gram.y"
+ { (yyval.node) = makeNullAConst(-1); }
break;
- case 1287:
-#line 8342 "gram.y"
- { (yyval.node) = (Node *) makeIntConst(XML_STANDALONE_YES); }
+ case 1416:
+#line 9299 "gram.y"
+ { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
break;
- case 1288:
-#line 8344 "gram.y"
- { (yyval.node) = (Node *) makeIntConst(XML_STANDALONE_NO); }
+ case 1417:
+#line 9301 "gram.y"
+ { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
break;
- case 1289:
-#line 8346 "gram.y"
- { (yyval.node) = (Node *) makeIntConst(XML_STANDALONE_NO_VALUE); }
+ case 1418:
+#line 9303 "gram.y"
+ { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
break;
- case 1290:
-#line 8348 "gram.y"
- { (yyval.node) = (Node *) makeIntConst(XML_STANDALONE_OMITTED); }
+ case 1419:
+#line 9305 "gram.y"
+ { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
break;
- case 1291:
-#line 8351 "gram.y"
+ case 1420:
+#line 9308 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 1292:
-#line 8354 "gram.y"
+ case 1421:
+#line 9311 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].target)); }
break;
- case 1293:
-#line 8355 "gram.y"
+ case 1422:
+#line 9312 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
break;
- case 1294:
-#line 8359 "gram.y"
+ case 1423:
+#line 9316 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[0].str);
- (yyval.target)->indirection = NULL;
+ (yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *) (yyvsp[-2].node);
(yyval.target)->location = (yylsp[-2]);
}
break;
- case 1295:
-#line 8367 "gram.y"
+ case 1424:
+#line 9324 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
- (yyval.target)->indirection = NULL;
+ (yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *) (yyvsp[0].node);
(yyval.target)->location = (yylsp[0]);
}
break;
- case 1296:
-#line 8376 "gram.y"
+ case 1425:
+#line 9333 "gram.y"
{ (yyval.ival) = XMLOPTION_DOCUMENT; }
break;
- case 1297:
-#line 8377 "gram.y"
+ case 1426:
+#line 9334 "gram.y"
{ (yyval.ival) = XMLOPTION_CONTENT; }
break;
- case 1298:
-#line 8380 "gram.y"
+ case 1427:
+#line 9337 "gram.y"
{ (yyval.boolean) = TRUE; }
break;
- case 1299:
-#line 8381 "gram.y"
+ case 1428:
+#line 9338 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1300:
-#line 8382 "gram.y"
+ case 1429:
+#line 9339 "gram.y"
{ (yyval.boolean) = FALSE; }
break;
- case 1301:
-#line 8395 "gram.y"
+ case 1430:
+#line 9346 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+ break;
+
+ case 1431:
+#line 9347 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 1432:
+#line 9351 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].windef)); }
+ break;
+
+ case 1433:
+#line 9353 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
+ break;
+
+ case 1434:
+#line 9358 "gram.y"
+ {
+ WindowDef *n = (yyvsp[0].windef);
+ n->name = (yyvsp[-2].str);
+ (yyval.windef) = n;
+ }
+ break;
+
+ case 1435:
+#line 9366 "gram.y"
+ { (yyval.windef) = (yyvsp[0].windef); }
+ break;
+
+ case 1436:
+#line 9368 "gram.y"
+ {
+ WindowDef *n = makeNode(WindowDef);
+ n->name = (yyvsp[0].str);
+ n->refname = NULL;
+ n->partitionClause = NIL;
+ n->orderClause = NIL;
+ n->frameOptions = FRAMEOPTION_DEFAULTS;
+ n->location = (yylsp[0]);
+ (yyval.windef) = n;
+ }
+ break;
+
+ case 1437:
+#line 9379 "gram.y"
+ { (yyval.windef) = NULL; }
+ break;
+
+ case 1438:
+#line 9384 "gram.y"
+ {
+ WindowDef *n = makeNode(WindowDef);
+ n->name = NULL;
+ n->refname = (yyvsp[-4].str);
+ n->partitionClause = (yyvsp[-3].list);
+ n->orderClause = (yyvsp[-2].list);
+ n->frameOptions = (yyvsp[-1].ival);
+ n->location = (yylsp[-5]);
+ (yyval.windef) = n;
+ }
+ break;
+
+ case 1439:
+#line 9406 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+ break;
+
+ case 1440:
+#line 9407 "gram.y"
+ { (yyval.str) = NULL; }
+ break;
+
+ case 1441:
+#line 9410 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+ break;
+
+ case 1442:
+#line 9411 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 1443:
+#line 9421 "gram.y"
+ {
+ (yyval.ival) = FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE | (yyvsp[0].ival);
+ }
+ break;
+
+ case 1444:
+#line 9425 "gram.y"
+ {
+ (yyval.ival) = FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS | (yyvsp[0].ival);
+ }
+ break;
+
+ case 1445:
+#line 9429 "gram.y"
+ { (yyval.ival) = FRAMEOPTION_DEFAULTS; }
+ break;
+
+ case 1446:
+#line 9433 "gram.y"
+ {
+ /* reject invalid cases */
+ if ((yyvsp[0].ival) & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
+ ereport(ERROR,
+ (errcode(ERRCODE_WINDOWING_ERROR),
+ errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
+ scanner_errposition((yylsp[0]))));
+ if ((yyvsp[0].ival) & FRAMEOPTION_START_CURRENT_ROW)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("frame start at CURRENT ROW is not implemented"),
+ scanner_errposition((yylsp[0]))));
+ (yyval.ival) = (yyvsp[0].ival) | FRAMEOPTION_END_CURRENT_ROW;
+ }
+ break;
+
+ case 1447:
+#line 9448 "gram.y"
+ {
+ /* reject invalid cases */
+ if ((yyvsp[-2].ival) & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
+ ereport(ERROR,
+ (errcode(ERRCODE_WINDOWING_ERROR),
+ errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
+ scanner_errposition((yylsp[-2]))));
+ if ((yyvsp[-2].ival) & FRAMEOPTION_START_CURRENT_ROW)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("frame start at CURRENT ROW is not implemented"),
+ scanner_errposition((yylsp[-2]))));
+ if ((yyvsp[0].ival) & FRAMEOPTION_START_UNBOUNDED_PRECEDING)
+ ereport(ERROR,
+ (errcode(ERRCODE_WINDOWING_ERROR),
+ errmsg("frame end cannot be UNBOUNDED PRECEDING"),
+ scanner_errposition((yylsp[0]))));
+ /* shift converts START_ options to END_ options */
+ (yyval.ival) = FRAMEOPTION_BETWEEN | (yyvsp[-2].ival) | ((yyvsp[0].ival) << 1);
+ }
+ break;
+
+ case 1448:
+#line 9477 "gram.y"
+ {
+ (yyval.ival) = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
+ }
+ break;
+
+ case 1449:
+#line 9481 "gram.y"
+ {
+ (yyval.ival) = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
+ }
+ break;
+
+ case 1450:
+#line 9485 "gram.y"
+ {
+ (yyval.ival) = FRAMEOPTION_START_CURRENT_ROW;
+ }
+ break;
+
+ case 1451:
+#line 9501 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 1302:
-#line 8396 "gram.y"
+ case 1452:
+#line 9502 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1303:
-#line 8397 "gram.y"
+ case 1453:
+#line 9503 "gram.y"
{ (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
break;
- case 1304:
-#line 8400 "gram.y"
+ case 1454:
+#line 9506 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; }
break;
- case 1305:
-#line 8401 "gram.y"
+ case 1455:
+#line 9507 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; }
break;
- case 1306:
-#line 8402 "gram.y"
+ case 1456:
+#line 9508 "gram.y"
{ (yyval.ival) = ALL_SUBLINK; }
break;
- case 1307:
-#line 8405 "gram.y"
+ case 1457:
+#line 9511 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1308:
-#line 8406 "gram.y"
+ case 1458:
+#line 9512 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1309:
-#line 8409 "gram.y"
+ case 1459:
+#line 9515 "gram.y"
{ (yyval.str) = "+"; }
break;
- case 1310:
-#line 8410 "gram.y"
+ case 1460:
+#line 9516 "gram.y"
{ (yyval.str) = "-"; }
break;
- case 1311:
-#line 8411 "gram.y"
+ case 1461:
+#line 9517 "gram.y"
{ (yyval.str) = "*"; }
break;
- case 1312:
-#line 8412 "gram.y"
+ case 1462:
+#line 9518 "gram.y"
{ (yyval.str) = "/"; }
break;
- case 1313:
-#line 8413 "gram.y"
+ case 1463:
+#line 9519 "gram.y"
{ (yyval.str) = "%"; }
break;
- case 1314:
-#line 8414 "gram.y"
+ case 1464:
+#line 9520 "gram.y"
{ (yyval.str) = "^"; }
break;
- case 1315:
-#line 8415 "gram.y"
+ case 1465:
+#line 9521 "gram.y"
{ (yyval.str) = "<"; }
break;
- case 1316:
-#line 8416 "gram.y"
+ case 1466:
+#line 9522 "gram.y"
{ (yyval.str) = ">"; }
break;
- case 1317:
-#line 8417 "gram.y"
+ case 1467:
+#line 9523 "gram.y"
{ (yyval.str) = "="; }
break;
- case 1318:
-#line 8421 "gram.y"
+ case 1468:
+#line 9527 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 1319:
-#line 8423 "gram.y"
+ case 1469:
+#line 9529 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 1320:
-#line 8428 "gram.y"
+ case 1470:
+#line 9534 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 1321:
-#line 8430 "gram.y"
+ case 1471:
+#line 9536 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 1322:
-#line 8435 "gram.y"
+ case 1472:
+#line 9541 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 1323:
-#line 8437 "gram.y"
+ case 1473:
+#line 9543 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 1324:
-#line 8439 "gram.y"
+ case 1474:
+#line 9545 "gram.y"
{ (yyval.list) = list_make1(makeString("~~")); }
break;
- case 1325:
-#line 8441 "gram.y"
+ case 1475:
+#line 9547 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~")); }
break;
- case 1326:
-#line 8443 "gram.y"
+ case 1476:
+#line 9549 "gram.y"
{ (yyval.list) = list_make1(makeString("~~*")); }
break;
- case 1327:
-#line 8445 "gram.y"
+ case 1477:
+#line 9551 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~*")); }
break;
- case 1328:
-#line 8457 "gram.y"
+ case 1478:
+#line 9563 "gram.y"
{
(yyval.list) = list_make1((yyvsp[0].node));
}
break;
- case 1329:
-#line 8461 "gram.y"
+ case 1479:
+#line 9567 "gram.y"
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
break;
- case 1330:
-#line 8468 "gram.y"
- {
- A_Const *n = makeNode(A_Const);
- n->val.type = T_String;
- n->val.val.str = (yyvsp[-2].str);
- (yyval.list) = list_make2((Node *) n, (yyvsp[0].node));
- }
- break;
-
- case 1331:
-#line 8474 "gram.y"
- { (yyval.list) = NIL; }
- break;
-
- case 1332:
-#line 8477 "gram.y"
+ case 1480:
+#line 9572 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
break;
- case 1333:
-#line 8478 "gram.y"
+ case 1481:
+#line 9573 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
break;
- case 1334:
-#line 8482 "gram.y"
- { (yyval.list) = list_make1((yyvsp[0].node)); }
+ case 1482:
+#line 9577 "gram.y"
+ {
+ (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
+ }
break;
- case 1335:
-#line 8484 "gram.y"
- { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+ case 1483:
+#line 9581 "gram.y"
+ {
+ (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
+ }
break;
- case 1336:
-#line 8488 "gram.y"
+ case 1484:
+#line 9585 "gram.y"
{
- ArrayExpr *n = makeNode(ArrayExpr);
- n->elements = (yyvsp[-1].list);
- (yyval.node) = (Node *)n;
+ (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
}
break;
- case 1337:
-#line 8494 "gram.y"
+ case 1485:
+#line 9590 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+ break;
+
+ case 1486:
+#line 9591 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+ break;
+
+ case 1487:
+#line 9597 "gram.y"
{
- ArrayExpr *n = makeNode(ArrayExpr);
- n->elements = (yyvsp[-1].list);
- (yyval.node) = (Node *)n;
+ (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
}
break;
- case 1338:
-#line 8506 "gram.y"
+ case 1488:
+#line 9600 "gram.y"
+ { (yyval.list) = NIL; }
+ break;
+
+ case 1489:
+#line 9607 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1339:
-#line 8507 "gram.y"
+ case 1490:
+#line 9608 "gram.y"
{ (yyval.str) = "year"; }
break;
- case 1340:
-#line 8508 "gram.y"
+ case 1491:
+#line 9609 "gram.y"
{ (yyval.str) = "month"; }
break;
- case 1341:
-#line 8509 "gram.y"
+ case 1492:
+#line 9610 "gram.y"
{ (yyval.str) = "day"; }
break;
- case 1342:
-#line 8510 "gram.y"
+ case 1493:
+#line 9611 "gram.y"
{ (yyval.str) = "hour"; }
break;
- case 1343:
-#line 8511 "gram.y"
+ case 1494:
+#line 9612 "gram.y"
{ (yyval.str) = "minute"; }
break;
- case 1344:
-#line 8512 "gram.y"
+ case 1495:
+#line 9613 "gram.y"
{ (yyval.str) = "second"; }
break;
- case 1345:
-#line 8513 "gram.y"
+ case 1496:
+#line 9614 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1346:
-#line 8523 "gram.y"
+ case 1497:
+#line 9624 "gram.y"
{
(yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
break;
- case 1347:
-#line 8527 "gram.y"
+ case 1498:
+#line 9628 "gram.y"
{
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
break;
- case 1348:
-#line 8534 "gram.y"
+ case 1499:
+#line 9635 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1349:
-#line 8540 "gram.y"
+ case 1500:
+#line 9641 "gram.y"
{ (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
break;
- case 1350:
-#line 8541 "gram.y"
+ case 1501:
+#line 9642 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1351:
-#line 8558 "gram.y"
+ case 1502:
+#line 9659 "gram.y"
{
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
break;
- case 1352:
-#line 8562 "gram.y"
+ case 1503:
+#line 9663 "gram.y"
{
/* not legal per SQL99, but might as well allow it */
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
}
break;
- case 1353:
-#line 8567 "gram.y"
+ case 1504:
+#line 9668 "gram.y"
{
(yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
}
break;
- case 1354:
-#line 8571 "gram.y"
+ case 1505:
+#line 9672 "gram.y"
{
/*
* Since there are no cases where this syntax allows
@@ -24420,53 +27471,51 @@ yyreduce:
* which it is likely to do if the second argument
* is unknown or doesn't have an implicit cast to int4.
*/
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Integer;
- n->val.val.ival = 1;
- (yyval.list) = list_make3((yyvsp[-1].node), (Node *) n,
- makeTypeCast((yyvsp[0].node), SystemTypeName("int4")));
+ (yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
+ makeTypeCast((yyvsp[0].node),
+ SystemTypeName("int4"), -1));
}
break;
- case 1355:
-#line 8588 "gram.y"
+ case 1506:
+#line 9687 "gram.y"
{
(yyval.list) = (yyvsp[0].list);
}
break;
- case 1356:
-#line 8592 "gram.y"
+ case 1507:
+#line 9691 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1357:
-#line 8596 "gram.y"
+ case 1508:
+#line 9695 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1358:
-#line 8599 "gram.y"
+ case 1509:
+#line 9698 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1359:
-#line 8602 "gram.y"
+ case 1510:
+#line 9701 "gram.y"
{ (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
break;
- case 1360:
-#line 8603 "gram.y"
+ case 1511:
+#line 9702 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 1361:
-#line 8604 "gram.y"
+ case 1512:
+#line 9703 "gram.y"
{ (yyval.list) = (yyvsp[0].list); }
break;
- case 1362:
-#line 8608 "gram.y"
+ case 1513:
+#line 9707 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = (yyvsp[0].node);
@@ -24475,93 +27524,95 @@ yyreduce:
}
break;
- case 1363:
-#line 8614 "gram.y"
+ case 1514:
+#line 9713 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[-1].list); }
break;
- case 1364:
-#line 8625 "gram.y"
+ case 1515:
+#line 9724 "gram.y"
{
CaseExpr *c = makeNode(CaseExpr);
- c->casetype = 0; /* not analyzed yet */
+ c->casetype = InvalidOid; /* not analyzed yet */
c->arg = (Expr *) (yyvsp[-3].node);
c->args = (yyvsp[-2].list);
c->defresult = (Expr *) (yyvsp[-1].node);
+ c->location = (yylsp[-4]);
(yyval.node) = (Node *)c;
}
break;
- case 1365:
-#line 8637 "gram.y"
+ case 1516:
+#line 9737 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 1366:
-#line 8638 "gram.y"
+ case 1517:
+#line 9738 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
break;
- case 1367:
-#line 8643 "gram.y"
+ case 1518:
+#line 9743 "gram.y"
{
CaseWhen *w = makeNode(CaseWhen);
w->expr = (Expr *) (yyvsp[-2].node);
w->result = (Expr *) (yyvsp[0].node);
+ w->location = (yylsp[-3]);
(yyval.node) = (Node *)w;
}
break;
- case 1368:
-#line 8652 "gram.y"
+ case 1519:
+#line 9753 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1369:
-#line 8653 "gram.y"
+ case 1520:
+#line 9754 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1370:
-#line 8656 "gram.y"
+ case 1521:
+#line 9757 "gram.y"
{ (yyval.node) = (yyvsp[0].node); }
break;
- case 1371:
-#line 8657 "gram.y"
+ case 1522:
+#line 9758 "gram.y"
{ (yyval.node) = NULL; }
break;
- case 1372:
-#line 8666 "gram.y"
+ case 1523:
+#line 9767 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]));
}
break;
- case 1373:
-#line 8670 "gram.y"
+ case 1524:
+#line 9771 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]));
}
break;
- case 1374:
-#line 8677 "gram.y"
+ case 1525:
+#line 9778 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[0].str));
}
break;
- case 1375:
-#line 8681 "gram.y"
+ case 1526:
+#line 9782 "gram.y"
{
- (yyval.node) = (Node *) makeString("*");
+ (yyval.node) = (Node *) makeNode(A_Star);
}
break;
- case 1376:
-#line 8685 "gram.y"
+ case 1527:
+#line 9786 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = NULL;
@@ -24570,8 +27621,8 @@ yyreduce:
}
break;
- case 1377:
-#line 8692 "gram.y"
+ case 1528:
+#line 9793 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = (yyvsp[-3].node);
@@ -24580,63 +27631,67 @@ yyreduce:
}
break;
- case 1378:
-#line 8701 "gram.y"
+ case 1529:
+#line 9802 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 1379:
-#line 8702 "gram.y"
+ case 1530:
+#line 9803 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
break;
- case 1380:
-#line 8706 "gram.y"
+ case 1531:
+#line 9807 "gram.y"
{ (yyval.list) = NIL; }
break;
- case 1381:
-#line 8707 "gram.y"
+ case 1532:
+#line 9808 "gram.y"
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
break;
- case 1384:
-#line 8722 "gram.y"
+ case 1535:
+#line 9823 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[0].node); }
break;
- case 1385:
-#line 8723 "gram.y"
- { (yyval.node) = (Node *) makeNode(SetToDefault); }
+ case 1536:
+#line 9825 "gram.y"
+ {
+ SetToDefault *n = makeNode(SetToDefault);
+ n->location = (yylsp[0]);
+ (yyval.node) = (Node *) n;
+ }
break;
- case 1386:
-#line 8727 "gram.y"
+ case 1537:
+#line 9833 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].node)); }
break;
- case 1387:
-#line 8728 "gram.y"
+ case 1538:
+#line 9834 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
break;
- case 1388:
-#line 8736 "gram.y"
+ case 1539:
+#line 9842 "gram.y"
{ (yyval.list) = (yyvsp[-1].list); }
break;
- case 1389:
-#line 8747 "gram.y"
+ case 1540:
+#line 9853 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].target)); }
break;
- case 1390:
-#line 8748 "gram.y"
+ case 1541:
+#line 9854 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
break;
- case 1391:
-#line 8753 "gram.y"
+ case 1542:
+#line 9858 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[0].str);
@@ -24646,8 +27701,19 @@ yyreduce:
}
break;
- case 1392:
-#line 8761 "gram.y"
+ case 1543:
+#line 9874 "gram.y"
+ {
+ (yyval.target) = makeNode(ResTarget);
+ (yyval.target)->name = (yyvsp[0].str);
+ (yyval.target)->indirection = NIL;
+ (yyval.target)->val = (Node *)(yyvsp[-1].node);
+ (yyval.target)->location = (yylsp[-1]);
+ }
+ break;
+
+ case 1544:
+#line 9882 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
@@ -24657,11 +27723,11 @@ yyreduce:
}
break;
- case 1393:
-#line 8769 "gram.y"
+ case 1545:
+#line 9890 "gram.y"
{
ColumnRef *n = makeNode(ColumnRef);
- n->fields = list_make1(makeString("*"));
+ n->fields = list_make1(makeNode(A_Star));
n->location = (yylsp[0]);
(yyval.target) = makeNode(ResTarget);
@@ -24672,38 +27738,39 @@ yyreduce:
}
break;
- case 1394:
-#line 8790 "gram.y"
+ case 1546:
+#line 9911 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1395:
-#line 8791 "gram.y"
+ case 1547:
+#line 9912 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1396:
-#line 8795 "gram.y"
+ case 1548:
+#line 9916 "gram.y"
{ (yyval.list) = list_make1((yyvsp[0].range)); }
break;
- case 1397:
-#line 8796 "gram.y"
+ case 1549:
+#line 9917 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
break;
- case 1398:
-#line 8808 "gram.y"
+ case 1550:
+#line 9929 "gram.y"
{
(yyval.range) = makeNode(RangeVar);
(yyval.range)->catalogname = NULL;
(yyval.range)->schemaname = NULL;
(yyval.range)->relname = (yyvsp[0].str);
+ (yyval.range)->location = (yylsp[0]);
}
break;
- case 1399:
-#line 8815 "gram.y"
+ case 1551:
+#line 9937 "gram.y"
{
check_qualified_name((yyvsp[0].list));
(yyval.range) = makeNode(RangeVar);
@@ -24723,306 +27790,290 @@ yyreduce:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
- NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list))))));
+ NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
+ scanner_errposition((yylsp[-1]))));
break;
}
+ (yyval.range)->location = (yylsp[-1]);
}
break;
- case 1400:
-#line 8841 "gram.y"
+ case 1552:
+#line 9965 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 1401:
-#line 8843 "gram.y"
+ case 1553:
+#line 9967 "gram.y"
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
break;
- case 1402:
-#line 8847 "gram.y"
+ case 1554:
+#line 9971 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1403:
-#line 8850 "gram.y"
+ case 1555:
+#line 9974 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1404:
-#line 8853 "gram.y"
+ case 1556:
+#line 9977 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1405:
-#line 8855 "gram.y"
+ case 1557:
+#line 9979 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1406:
-#line 8857 "gram.y"
+ case 1558:
+#line 9981 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1407:
-#line 8859 "gram.y"
+ case 1559:
+#line 9983 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1408:
-#line 8870 "gram.y"
+ case 1560:
+#line 9994 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
break;
- case 1409:
-#line 8872 "gram.y"
+ case 1561:
+#line 9996 "gram.y"
{ (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list))); }
break;
- case 1410:
-#line 8880 "gram.y"
+ case 1562:
+#line 10004 "gram.y"
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Integer;
- n->val.val.ival = (yyvsp[0].ival);
- (yyval.node) = (Node *)n;
+ (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
}
break;
- case 1411:
-#line 8887 "gram.y"
+ case 1563:
+#line 10008 "gram.y"
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Float;
- n->val.val.str = (yyvsp[0].str);
- (yyval.node) = (Node *)n;
+ (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
}
break;
- case 1412:
-#line 8894 "gram.y"
+ case 1564:
+#line 10012 "gram.y"
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_String;
- n->val.val.str = (yyvsp[0].str);
- (yyval.node) = (Node *)n;
+ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
break;
- case 1413:
-#line 8901 "gram.y"
+ case 1565:
+#line 10016 "gram.y"
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_BitString;
- n->val.val.str = (yyvsp[0].str);
- (yyval.node) = (Node *)n;
+ (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
}
break;
- case 1414:
-#line 8908 "gram.y"
+ case 1566:
+#line 10020 "gram.y"
{
/* This is a bit constant per SQL99:
* Without Feature F511, "BIT data type",
* a <general literal> shall not be a
* <bit string literal> or a <hex string literal>.
*/
- A_Const *n = makeNode(A_Const);
- n->val.type = T_BitString;
- n->val.val.str = (yyvsp[0].str);
- (yyval.node) = (Node *)n;
+ (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
}
break;
- case 1415:
-#line 8920 "gram.y"
+ case 1567:
+#line 10029 "gram.y"
{
/* generic type 'literal' syntax */
- A_Const *n = makeNode(A_Const);
- n->typename = makeTypeNameFromNameList((yyvsp[-1].list));
- n->typename->location = (yylsp[-1]);
- n->val.type = T_String;
- n->val.val.str = (yyvsp[0].str);
- (yyval.node) = (Node *)n;
+ TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
+ t->location = (yylsp[-1]);
+ (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
}
break;
- case 1416:
-#line 8930 "gram.y"
+ case 1568:
+#line 10036 "gram.y"
{
/* generic syntax with a type modifier */
- A_Const *n = makeNode(A_Const);
- n->typename = makeTypeNameFromNameList((yyvsp[-4].list));
- n->typename->typmods = (yyvsp[-2].list);
- n->typename->location = (yylsp[-4]);
- n->val.type = T_String;
- n->val.val.str = (yyvsp[0].str);
- (yyval.node) = (Node *)n;
+ TypeName *t = makeTypeNameFromNameList((yyvsp[-4].list));
+ t->typmods = (yyvsp[-2].list);
+ t->location = (yylsp[-4]);
+ (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
}
break;
- case 1417:
-#line 8941 "gram.y"
+ case 1569:
+#line 10044 "gram.y"
{
- A_Const *n = makeNode(A_Const);
- n->typename = (yyvsp[-1].typnam);
- n->val.type = T_String;
- n->val.val.str = (yyvsp[0].str);
- (yyval.node) = (Node *)n;
+ (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
}
break;
- case 1418:
-#line 8949 "gram.y"
+ case 1570:
+#line 10048 "gram.y"
{
- A_Const *n = makeNode(A_Const);
- n->typename = (yyvsp[-2].typnam);
- n->val.type = T_String;
- n->val.val.str = (yyvsp[-1].str);
- /* precision is not specified, but fields may be... */
- if ((yyvsp[0].ival) != INTERVAL_FULL_RANGE)
- n->typename->typmods = list_make1(makeIntConst((yyvsp[0].ival)));
- (yyval.node) = (Node *)n;
+ TypeName *t = (yyvsp[-2].typnam);
+ t->typmods = (yyvsp[0].list);
+ (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
}
break;
- case 1419:
-#line 8960 "gram.y"
+ case 1571:
+#line 10054 "gram.y"
{
- A_Const *n = makeNode(A_Const);
- n->typename = (yyvsp[-5].typnam);
- n->val.type = T_String;
- n->val.val.str = (yyvsp[-1].str);
- n->typename->typmods = list_make2(makeIntConst((yyvsp[0].ival)),
- makeIntConst((yyvsp[-3].ival)));
- (yyval.node) = (Node *)n;
+ TypeName *t = (yyvsp[-5].typnam);
+ if ((yyvsp[0].list) != NIL)
+ {
+ if (list_length((yyvsp[0].list)) != 1)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("interval precision specified twice"),
+ scanner_errposition((yylsp[-5]))));
+ t->typmods = lappend((yyvsp[0].list), makeIntConst((yyvsp[-3].ival), (yylsp[-3])));
+ }
+ else
+ t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
+ makeIntConst((yyvsp[-3].ival), (yylsp[-3])));
+ (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
}
break;
- case 1420:
-#line 8970 "gram.y"
+ case 1572:
+#line 10071 "gram.y"
{
- (yyval.node) = (Node *)makeBoolAConst(TRUE);
+ (yyval.node) = makeBoolAConst(TRUE, (yylsp[0]));
}
break;
- case 1421:
-#line 8974 "gram.y"
+ case 1573:
+#line 10075 "gram.y"
{
- (yyval.node) = (Node *)makeBoolAConst(FALSE);
+ (yyval.node) = makeBoolAConst(FALSE, (yylsp[0]));
}
break;
- case 1422:
-#line 8978 "gram.y"
+ case 1574:
+#line 10079 "gram.y"
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Null;
- (yyval.node) = (Node *)n;
+ (yyval.node) = makeNullAConst((yylsp[0]));
}
break;
- case 1423:
-#line 8985 "gram.y"
+ case 1575:
+#line 10084 "gram.y"
{ (yyval.ival) = (yyvsp[0].ival); }
break;
- case 1424:
-#line 8986 "gram.y"
+ case 1576:
+#line 10085 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1425:
-#line 8987 "gram.y"
+ case 1577:
+#line 10086 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1426:
-#line 8989 "gram.y"
+ case 1578:
+#line 10088 "gram.y"
{ (yyval.ival) = (yyvsp[0].ival); }
break;
- case 1427:
-#line 8990 "gram.y"
+ case 1579:
+#line 10089 "gram.y"
+ { (yyval.ival) = + (yyvsp[0].ival); }
+ break;
+
+ case 1580:
+#line 10090 "gram.y"
{ (yyval.ival) = - (yyvsp[0].ival); }
break;
- case 1428:
-#line 9006 "gram.y"
+ case 1581:
+#line 10106 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1429:
-#line 9007 "gram.y"
+ case 1582:
+#line 10107 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
break;
- case 1430:
-#line 9008 "gram.y"
+ case 1583:
+#line 10108 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
break;
- case 1431:
-#line 9013 "gram.y"
+ case 1584:
+#line 10113 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1432:
-#line 9014 "gram.y"
+ case 1585:
+#line 10114 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
break;
- case 1433:
-#line 9015 "gram.y"
+ case 1586:
+#line 10115 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
break;
- case 1434:
-#line 9021 "gram.y"
+ case 1587:
+#line 10121 "gram.y"
{ (yyval.str) = (yyvsp[0].str); }
break;
- case 1435:
-#line 9022 "gram.y"
+ case 1588:
+#line 10122 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
break;
- case 1436:
-#line 9023 "gram.y"
+ case 1589:
+#line 10123 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
break;
- case 1437:
-#line 9024 "gram.y"
+ case 1590:
+#line 10124 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
break;
- case 1438:
-#line 9025 "gram.y"
+ case 1591:
+#line 10125 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
break;
- case 1811:
-#line 9457 "gram.y"
+ case 1984:
+#line 10577 "gram.y"
{
if (QueryIsRule)
(yyval.str) = "*OLD*";
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("OLD used in query that is not in a rule")));
+ errmsg("OLD used in query that is not in a rule"),
+ scanner_errposition((yylsp[0]))));
}
break;
- case 1812:
-#line 9466 "gram.y"
+ case 1985:
+#line 10587 "gram.y"
{
if (QueryIsRule)
(yyval.str) = "*NEW*";
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("NEW used in query that is not in a rule")));
+ errmsg("NEW used in query that is not in a rule"),
+ scanner_errposition((yylsp[0]))));
}
break;
@@ -25031,7 +28082,7 @@ yyreduce:
}
/* Line 1126 of yacc.c. */
-#line 25035 "gram.c"
+#line 28086 "gram.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -25306,11 +28357,11 @@ yyreturn:
}
-#line 9476 "gram.y"
+#line 10598 "gram.y"
static Node *
-makeColumnRef(char *relname, List *indirection, int location)
+makeColumnRef(char *colname, List *indirection, int location)
{
/*
* Generate a ColumnRef node, with an A_Indirection node added if there
@@ -25332,95 +28383,128 @@ makeColumnRef(char *relname, List *indirection, int location)
if (nfields == 0)
{
/* easy case - all indirection goes to A_Indirection */
- c->fields = list_make1(makeString(relname));
- i->indirection = indirection;
+ c->fields = list_make1(makeString(colname));
+ i->indirection = check_indirection(indirection);
}
else
{
/* got to split the list in two */
- i->indirection = list_copy_tail(indirection, nfields);
+ i->indirection = check_indirection(list_copy_tail(indirection,
+ nfields));
indirection = list_truncate(indirection, nfields);
- c->fields = lcons(makeString(relname), indirection);
+ c->fields = lcons(makeString(colname), indirection);
}
i->arg = (Node *) c;
return (Node *) i;
}
+ else if (IsA(lfirst(l), A_Star))
+ {
+ /* We only allow '*' at the end of a ColumnRef */
+ if (lnext(l) != NULL)
+ yyerror("improper use of \"*\"");
+ }
nfields++;
}
/* No subscripting, so all indirection gets added to field list */
- c->fields = lcons(makeString(relname), indirection);
+ c->fields = lcons(makeString(colname), indirection);
return (Node *) c;
}
static Node *
-makeTypeCast(Node *arg, TypeName *typename)
+makeTypeCast(Node *arg, TypeName *typename, int location)
{
- /*
- * Simply generate a TypeCast node.
- *
- * Earlier we would determine whether an A_Const would
- * be acceptable, however Domains require coerce_type()
- * to process them -- applying constraints as required.
- */
TypeCast *n = makeNode(TypeCast);
n->arg = arg;
n->typename = typename;
+ n->location = location;
return (Node *) n;
}
static Node *
-makeStringConst(char *str, TypeName *typename)
+makeStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
n->val.val.str = str;
- n->typename = typename;
+ n->location = location;
return (Node *)n;
}
static Node *
-makeIntConst(int val)
+makeStringConstCast(char *str, int location, TypeName *typename)
+{
+ Node *s = makeStringConst(str, location);
+
+ return makeTypeCast(s, typename, -1);
+}
+
+static Node *
+makeIntConst(int val, int location)
{
A_Const *n = makeNode(A_Const);
+
n->val.type = T_Integer;
n->val.val.ival = val;
- n->typename = SystemTypeName("int4");
+ n->location = location;
return (Node *)n;
}
static Node *
-makeFloatConst(char *str)
+makeFloatConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Float;
n->val.val.str = str;
- n->typename = SystemTypeName("float8");
+ n->location = location;
+
+ return (Node *)n;
+}
+
+static Node *
+makeBitStringConst(char *str, int location)
+{
+ A_Const *n = makeNode(A_Const);
+
+ n->val.type = T_BitString;
+ n->val.val.str = str;
+ n->location = location;
+
+ return (Node *)n;
+}
+
+static Node *
+makeNullAConst(int location)
+{
+ A_Const *n = makeNode(A_Const);
+
+ n->val.type = T_Null;
+ n->location = location;
return (Node *)n;
}
static Node *
-makeAConst(Value *v)
+makeAConst(Value *v, int location)
{
Node *n;
switch (v->type)
{
case T_Float:
- n = makeFloatConst(v->val.str);
+ n = makeFloatConst(v->val.str, location);
break;
case T_Integer:
- n = makeIntConst(v->val.ival);
+ n = makeIntConst(v->val.ival, location);
break;
case T_String:
default:
- n = makeStringConst(v->val.str, NULL);
+ n = makeStringConst(v->val.str, location);
break;
}
@@ -25428,16 +28512,18 @@ makeAConst(Value *v)
}
/* makeBoolAConst()
- * Create an A_Const node and initialize to a boolean constant.
+ * Create an A_Const string node and put it inside a boolean cast.
*/
-static A_Const *
-makeBoolAConst(bool state)
+static Node *
+makeBoolAConst(bool state, int location)
{
A_Const *n = makeNode(A_Const);
+
n->val.type = T_String;
- n->val.val.str = (state? "t": "f");
- n->typename = SystemTypeName("bool");
- return n;
+ n->val.val.str = (state ? "t" : "f");
+ n->location = location;
+
+ return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
}
/* makeOverlaps()
@@ -25454,16 +28540,20 @@ makeOverlaps(List *largs, List *rargs, int location)
else if (list_length(largs) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("wrong number of parameters on left side of OVERLAPS expression")));
+ errmsg("wrong number of parameters on left side of OVERLAPS expression"),
+ scanner_errposition(location)));
if (list_length(rargs) == 1)
rargs = lappend(rargs, rargs);
else if (list_length(rargs) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("wrong number of parameters on right side of OVERLAPS expression")));
+ errmsg("wrong number of parameters on right side of OVERLAPS expression"),
+ scanner_errposition(location)));
n->args = list_concat(largs, rargs);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = location;
return n;
}
@@ -25482,8 +28572,6 @@ check_qualified_name(List *names)
{
if (!IsA(lfirst(i), String))
yyerror("syntax error");
- else if (strcmp(strVal(lfirst(i)), "*") == 0)
- yyerror("syntax error");
}
}
@@ -25501,12 +28589,31 @@ check_func_name(List *names)
{
if (!IsA(lfirst(i), String))
yyerror("syntax error");
- else if (strcmp(strVal(lfirst(i)), "*") == 0)
- yyerror("syntax error");
}
return names;
}
+/* check_indirection --- check the result of indirection production
+ *
+ * We only allow '*' at the end of the list, but it's hard to enforce that
+ * in the grammar, so do it here.
+ */
+static List *
+check_indirection(List *indirection)
+{
+ ListCell *l;
+
+ foreach(l, indirection)
+ {
+ if (IsA(lfirst(l), A_Star))
+ {
+ if (lnext(l) != NULL)
+ yyerror("improper use of \"*\"");
+ }
+ }
+ return indirection;
+}
+
/* extractArgTypes()
* Given a list of FunctionParameter nodes, extract a list of just the
* argument types (TypeNames) for input parameters only. This is what
@@ -25523,7 +28630,7 @@ extractArgTypes(List *parameters)
{
FunctionParameter *p = (FunctionParameter *) lfirst(i);
- if (p->mode != FUNC_PARAM_OUT) /* keep if IN or INOUT */
+ if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
result = lappend(result, p->argType);
}
return result;
@@ -25548,8 +28655,11 @@ findLeftmostSelect(SelectStmt *node)
static void
insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
- Node *limitOffset, Node *limitCount)
+ Node *limitOffset, Node *limitCount,
+ WithClause *withClause)
{
+ Assert(IsA(stmt, SelectStmt));
+
/*
* Tests here are to reject constructs like
* (SELECT foo ORDER BY bar) ORDER BY baz
@@ -25559,7 +28669,8 @@ insertSelectOptions(SelectStmt *stmt,
if (stmt->sortClause)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("multiple ORDER BY clauses not allowed")));
+ errmsg("multiple ORDER BY clauses not allowed"),
+ scanner_errposition(exprLocation((Node *) sortClause))));
stmt->sortClause = sortClause;
}
/* We can handle multiple locking clauses, though */
@@ -25569,7 +28680,8 @@ insertSelectOptions(SelectStmt *stmt,
if (stmt->limitOffset)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("multiple OFFSET clauses not allowed")));
+ errmsg("multiple OFFSET clauses not allowed"),
+ scanner_errposition(exprLocation(limitOffset))));
stmt->limitOffset = limitOffset;
}
if (limitCount)
@@ -25577,9 +28689,19 @@ insertSelectOptions(SelectStmt *stmt,
if (stmt->limitCount)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("multiple LIMIT clauses not allowed")));
+ errmsg("multiple LIMIT clauses not allowed"),
+ scanner_errposition(exprLocation(limitCount))));
stmt->limitCount = limitCount;
}
+ if (withClause)
+ {
+ if (stmt->withClause)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("multiple WITH clauses not allowed"),
+ scanner_errposition(exprLocation((Node *) withClause))));
+ stmt->withClause = withClause;
+ }
}
static Node *
@@ -25607,20 +28729,13 @@ SystemFuncName(char *name)
* Build a properly-qualified reference to a built-in type.
*
* typmod is defaulted, but may be changed afterwards by caller.
+ * Likewise for the location.
*/
TypeName *
SystemTypeName(char *name)
{
- return makeTypeNameFromNameList(list_make1(makeString(name)));
-}
-
-/* parser_init()
- * Initialize to parse one query string
- */
-void
-parser_init(void)
-{
- QueryIsRule = FALSE;
+ return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
+ makeString(name)));
}
/* exprIsNullConstant()
@@ -25633,8 +28748,7 @@ exprIsNullConstant(Node *arg)
{
A_Const *con = (A_Const *) arg;
- if (con->val.type == T_Null &&
- con->typename == NULL)
+ if (con->val.type == T_Null)
return TRUE;
}
return FALSE;
@@ -25660,6 +28774,9 @@ doNegate(Node *n, int location)
{
A_Const *con = (A_Const *)n;
+ /* report the constant's location as that of the '-' sign */
+ con->location = location;
+
if (con->val.type == T_Integer)
{
con->val.val.ival = -con->val.val.ival;
@@ -25695,7 +28812,18 @@ doNegateFloat(Value *v)
}
static Node *
-makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args)
+makeAArrayExpr(List *elements, int location)
+{
+ A_ArrayExpr *n = makeNode(A_ArrayExpr);
+
+ n->elements = elements;
+ n->location = location;
+ return (Node *) n;
+}
+
+static Node *
+makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
+ int location)
{
XmlExpr *x = makeNode(XmlExpr);
@@ -25708,9 +28836,66 @@ makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args)
x->named_args = named_args;
x->arg_names = NIL;
x->args = args;
+ /* xmloption, if relevant, must be filled in by caller */
+ /* type and typmod will be filled in during parse analysis */
+ x->location = location;
return (Node *) x;
}
+/* parser_init()
+ * Initialize to parse one query string
+ */
+void
+parser_init(void)
+{
+ QueryIsRule = FALSE;
+}
+
+/*
+ * Merge the input and output parameters of a table function.
+ */
+static List *
+mergeTableFuncParameters(List *func_args, List *columns)
+{
+ ListCell *lc;
+
+ /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
+ foreach(lc, func_args)
+ {
+ FunctionParameter *p = (FunctionParameter *) lfirst(lc);
+
+ if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
+ }
+
+ return list_concat(func_args, columns);
+}
+
+/*
+ * Determine return type of a TABLE function. A single result column
+ * returns setof that column's type; otherwise return setof record.
+ */
+static TypeName *
+TableFuncTypeName(List *columns)
+{
+ TypeName *result;
+
+ if (list_length(columns) == 1)
+ {
+ FunctionParameter *p = (FunctionParameter *) linitial(columns);
+
+ result = (TypeName *) copyObject(p->argType);
+ }
+ else
+ result = SystemTypeName("record");
+
+ result->setof = true;
+
+ return result;
+}
+
/*
* Create a DefElem setting "oids" to the specified value.
*/
diff --git a/parser/gram.h b/parser/gram.h
index 31682e446..43de21fd4 100644
--- a/parser/gram.h
+++ b/parser/gram.h
@@ -69,354 +69,372 @@
CASCADED = 295,
CASE = 296,
CAST = 297,
- CHAIN = 298,
- CHAR_P = 299,
- CHARACTER = 300,
- CHARACTERISTICS = 301,
- CHECK = 302,
- CHECKPOINT = 303,
- CLASS = 304,
- CLOSE = 305,
- CLUSTER = 306,
- COALESCE = 307,
- COLLATE = 308,
- COLUMN = 309,
- COMMENT = 310,
- COMMIT = 311,
- COMMITTED = 312,
- CONCURRENTLY = 313,
- CONFIGURATION = 314,
- CONNECTION = 315,
- CONSTRAINT = 316,
- CONSTRAINTS = 317,
- CONTENT_P = 318,
- CONVERSION_P = 319,
- COPY = 320,
- COST = 321,
- CREATE = 322,
- CREATEDB = 323,
- CREATEROLE = 324,
- CREATEUSER = 325,
- CROSS = 326,
- CSV = 327,
- CURRENT_P = 328,
- CURRENT_DATE = 329,
- CURRENT_ROLE = 330,
- CURRENT_TIME = 331,
- CURRENT_TIMESTAMP = 332,
- CURRENT_USER = 333,
- CURSOR = 334,
- CYCLE = 335,
- DATABASE = 336,
- DAY_P = 337,
- DEALLOCATE = 338,
- DEC = 339,
- DECIMAL_P = 340,
- DECLARE = 341,
- DEFAULT = 342,
- DEFAULTS = 343,
- DEFERRABLE = 344,
- DEFERRED = 345,
- DEFINER = 346,
- DELETE_P = 347,
- DELIMITER = 348,
- DELIMITERS = 349,
- DESC = 350,
- DICTIONARY = 351,
- DISABLE_P = 352,
- DISCARD = 353,
- DISTINCT = 354,
- DO = 355,
- DOCUMENT_P = 356,
- DOMAIN_P = 357,
- DOUBLE_P = 358,
- DROP = 359,
- EACH = 360,
- ELSE = 361,
- ENABLE_P = 362,
- ENCODING = 363,
- ENCRYPTED = 364,
- END_P = 365,
- ENUM_P = 366,
- ESCAPE = 367,
- EXCEPT = 368,
- EXCLUDING = 369,
- EXCLUSIVE = 370,
- EXECUTE = 371,
- EXISTS = 372,
- EXPLAIN = 373,
- EXTERNAL = 374,
- EXTRACT = 375,
- FALSE_P = 376,
- FAMILY = 377,
- FETCH = 378,
- FIRST_P = 379,
- FLOAT_P = 380,
- FOR = 381,
- FORCE = 382,
- FOREIGN = 383,
- FORWARD = 384,
- FREEZE = 385,
- FROM = 386,
- FULL = 387,
- FUNCTION = 388,
- GLOBAL = 389,
- GRANT = 390,
- GRANTED = 391,
- GREATEST = 392,
- GROUP_P = 393,
- HANDLER = 394,
- HAVING = 395,
- HEADER_P = 396,
- HOLD = 397,
- HOUR_P = 398,
- IF_P = 399,
- ILIKE = 400,
- IMMEDIATE = 401,
- IMMUTABLE = 402,
- IMPLICIT_P = 403,
- IN_P = 404,
- INCLUDING = 405,
- INCREMENT = 406,
- INDEX = 407,
- INDEXES = 408,
- INHERIT = 409,
- INHERITS = 410,
- INITIALLY = 411,
- INNER_P = 412,
- INOUT = 413,
- INPUT_P = 414,
- INSENSITIVE = 415,
- INSERT = 416,
- INSTEAD = 417,
- INT_P = 418,
- INTEGER = 419,
- INTERSECT = 420,
- INTERVAL = 421,
- INTO = 422,
- INVOKER = 423,
- IS = 424,
- ISNULL = 425,
- ISOLATION = 426,
- JOIN = 427,
- KEY = 428,
- LANCOMPILER = 429,
- LANGUAGE = 430,
- LARGE_P = 431,
- LAST_P = 432,
- LEADING = 433,
- LEAST = 434,
- LEFT = 435,
- LEVEL = 436,
- LIKE = 437,
- LIMIT = 438,
- LISTEN = 439,
- LOAD = 440,
- LOCAL = 441,
- LOCALTIME = 442,
- LOCALTIMESTAMP = 443,
- LOCATION = 444,
- LOCK_P = 445,
- LOGIN_P = 446,
- MAPPING = 447,
- MATCH = 448,
- MAXVALUE = 449,
- MINUTE_P = 450,
- MINVALUE = 451,
- MODE = 452,
- MONTH_P = 453,
- MOVE = 454,
- NAME_P = 455,
- NAMES = 456,
- NATIONAL = 457,
- NATURAL = 458,
- NCHAR = 459,
- NEW = 460,
- NEXT = 461,
- NO = 462,
- NOCREATEDB = 463,
- NOCREATEROLE = 464,
- NOCREATEUSER = 465,
- NOINHERIT = 466,
- NOLOGIN_P = 467,
- NONE = 468,
- NOSUPERUSER = 469,
- NOT = 470,
- NOTHING = 471,
- NOTIFY = 472,
- NOTNULL = 473,
- NOWAIT = 474,
- NULL_P = 475,
- NULLIF = 476,
- NULLS_P = 477,
- NUMERIC = 478,
- OBJECT_P = 479,
- OF = 480,
- OFF = 481,
- OFFSET = 482,
- OIDS = 483,
- OLD = 484,
- ON = 485,
- ONLY = 486,
- OPERATOR = 487,
- OPTION = 488,
- OR = 489,
- ORDER = 490,
- OUT_P = 491,
- OUTER_P = 492,
- OVERLAPS = 493,
- OVERLAY = 494,
- OWNED = 495,
- OWNER = 496,
- PARSER = 497,
- PARTIAL = 498,
- PASSWORD = 499,
- PLACING = 500,
- PLANS = 501,
- POSITION = 502,
- PRECISION = 503,
- PRESERVE = 504,
- PREPARE = 505,
- PREPARED = 506,
- PRIMARY = 507,
- PRIOR = 508,
- PRIVILEGES = 509,
- PROCEDURAL = 510,
- PROCEDURE = 511,
- QUOTE = 512,
- READ = 513,
- REAL = 514,
- REASSIGN = 515,
- RECHECK = 516,
- REFERENCES = 517,
- REINDEX = 518,
- RELATIVE_P = 519,
- RELEASE = 520,
- RENAME = 521,
- REPEATABLE = 522,
- REPLACE = 523,
- REPLICA = 524,
- RESET = 525,
- RESTART = 526,
- RESTRICT = 527,
- RETURNING = 528,
- RETURNS = 529,
- REVOKE = 530,
- RIGHT = 531,
- ROLE = 532,
- ROLLBACK = 533,
- ROW = 534,
- ROWS = 535,
- RULE = 536,
- SAVEPOINT = 537,
- SCHEMA = 538,
- SCROLL = 539,
- SEARCH = 540,
- SECOND_P = 541,
- SECURITY = 542,
- SELECT = 543,
- SEQUENCE = 544,
- SERIALIZABLE = 545,
- SESSION = 546,
- SESSION_USER = 547,
- SET = 548,
- SETOF = 549,
- SHARE = 550,
- SHOW = 551,
- SIMILAR = 552,
- SIMPLE = 553,
- SMALLINT = 554,
- SOME = 555,
- STABLE = 556,
- STANDALONE_P = 557,
- START = 558,
- STATEMENT = 559,
- STATISTICS = 560,
- STDIN = 561,
- STDOUT = 562,
- STORAGE = 563,
- STRICT_P = 564,
- STRIP_P = 565,
- SUBSTRING = 566,
- SUPERUSER_P = 567,
- SYMMETRIC = 568,
- SYSID = 569,
- SYSTEM_P = 570,
- TABLE = 571,
- TABLESPACE = 572,
- TEMP = 573,
- TEMPLATE = 574,
- TEMPORARY = 575,
- TEXT_P = 576,
- THEN = 577,
- TIME = 578,
- TIMESTAMP = 579,
- TO = 580,
- TRAILING = 581,
- TRANSACTION = 582,
- TREAT = 583,
- TRIGGER = 584,
- TRIM = 585,
- TRUE_P = 586,
- TRUNCATE = 587,
- TRUSTED = 588,
- TYPE_P = 589,
- UNCOMMITTED = 590,
- UNENCRYPTED = 591,
- UNION = 592,
- UNIQUE = 593,
- UNKNOWN = 594,
- UNLISTEN = 595,
- UNTIL = 596,
- UPDATE = 597,
- USER = 598,
- USING = 599,
- VACUUM = 600,
- VALID = 601,
- VALIDATOR = 602,
- VALUE_P = 603,
- VALUES = 604,
- VARCHAR = 605,
- VARYING = 606,
- VERBOSE = 607,
- VERSION_P = 608,
- VIEW = 609,
- VOLATILE = 610,
- WHEN = 611,
- WHERE = 612,
- WHITESPACE_P = 613,
- WITH = 614,
- WITHOUT = 615,
- WORK = 616,
- WRITE = 617,
- XML_P = 618,
- XMLATTRIBUTES = 619,
- XMLCONCAT = 620,
- XMLELEMENT = 621,
- XMLFOREST = 622,
- XMLPARSE = 623,
- XMLPI = 624,
- XMLROOT = 625,
- XMLSERIALIZE = 626,
- YEAR_P = 627,
- YES_P = 628,
- ZONE = 629,
- NULLS_FIRST = 630,
- NULLS_LAST = 631,
- WITH_CASCADED = 632,
- WITH_LOCAL = 633,
- WITH_CHECK = 634,
- IDENT = 635,
- FCONST = 636,
- SCONST = 637,
- BCONST = 638,
- XCONST = 639,
- Op = 640,
- ICONST = 641,
- PARAM = 642,
- POSTFIXOP = 643,
- UMINUS = 644,
- TYPECAST = 645
+ CATALOG_P = 298,
+ CHAIN = 299,
+ CHAR_P = 300,
+ CHARACTER = 301,
+ CHARACTERISTICS = 302,
+ CHECK = 303,
+ CHECKPOINT = 304,
+ CLASS = 305,
+ CLOSE = 306,
+ CLUSTER = 307,
+ COALESCE = 308,
+ COLLATE = 309,
+ COLUMN = 310,
+ COMMENT = 311,
+ COMMIT = 312,
+ COMMITTED = 313,
+ CONCURRENTLY = 314,
+ CONFIGURATION = 315,
+ CONNECTION = 316,
+ CONSTRAINT = 317,
+ CONSTRAINTS = 318,
+ CONTENT_P = 319,
+ CONTINUE_P = 320,
+ CONVERSION_P = 321,
+ COPY = 322,
+ COST = 323,
+ CREATE = 324,
+ CREATEDB = 325,
+ CREATEROLE = 326,
+ CREATEUSER = 327,
+ CROSS = 328,
+ CSV = 329,
+ CURRENT_P = 330,
+ CURRENT_CATALOG = 331,
+ CURRENT_DATE = 332,
+ CURRENT_ROLE = 333,
+ CURRENT_SCHEMA = 334,
+ CURRENT_TIME = 335,
+ CURRENT_TIMESTAMP = 336,
+ CURRENT_USER = 337,
+ CURSOR = 338,
+ CYCLE = 339,
+ DATA_P = 340,
+ DATABASE = 341,
+ DAY_P = 342,
+ DEALLOCATE = 343,
+ DEC = 344,
+ DECIMAL_P = 345,
+ DECLARE = 346,
+ DEFAULT = 347,
+ DEFAULTS = 348,
+ DEFERRABLE = 349,
+ DEFERRED = 350,
+ DEFINER = 351,
+ DELETE_P = 352,
+ DELIMITER = 353,
+ DELIMITERS = 354,
+ DESC = 355,
+ DICTIONARY = 356,
+ DISABLE_P = 357,
+ DISCARD = 358,
+ DISTINCT = 359,
+ DO = 360,
+ DOCUMENT_P = 361,
+ DOMAIN_P = 362,
+ DOUBLE_P = 363,
+ DROP = 364,
+ EACH = 365,
+ ELSE = 366,
+ ENABLE_P = 367,
+ ENCODING = 368,
+ ENCRYPTED = 369,
+ END_P = 370,
+ ENUM_P = 371,
+ ESCAPE = 372,
+ EXCEPT = 373,
+ EXCLUDING = 374,
+ EXCLUSIVE = 375,
+ EXECUTE = 376,
+ EXISTS = 377,
+ EXPLAIN = 378,
+ EXTERNAL = 379,
+ EXTRACT = 380,
+ FALSE_P = 381,
+ FAMILY = 382,
+ FETCH = 383,
+ FIRST_P = 384,
+ FLOAT_P = 385,
+ FOLLOWING = 386,
+ FOR = 387,
+ FORCE = 388,
+ FOREIGN = 389,
+ FORWARD = 390,
+ FREEZE = 391,
+ FROM = 392,
+ FULL = 393,
+ FUNCTION = 394,
+ GLOBAL = 395,
+ GRANT = 396,
+ GRANTED = 397,
+ GREATEST = 398,
+ GROUP_P = 399,
+ HANDLER = 400,
+ HAVING = 401,
+ HEADER_P = 402,
+ HOLD = 403,
+ HOUR_P = 404,
+ IDENTITY_P = 405,
+ IF_P = 406,
+ ILIKE = 407,
+ IMMEDIATE = 408,
+ IMMUTABLE = 409,
+ IMPLICIT_P = 410,
+ IN_P = 411,
+ INCLUDING = 412,
+ INCREMENT = 413,
+ INDEX = 414,
+ INDEXES = 415,
+ INHERIT = 416,
+ INHERITS = 417,
+ INITIALLY = 418,
+ INNER_P = 419,
+ INOUT = 420,
+ INPUT_P = 421,
+ INSENSITIVE = 422,
+ INSERT = 423,
+ INSTEAD = 424,
+ INT_P = 425,
+ INTEGER = 426,
+ INTERSECT = 427,
+ INTERVAL = 428,
+ INTO = 429,
+ INVOKER = 430,
+ IS = 431,
+ ISNULL = 432,
+ ISOLATION = 433,
+ JOIN = 434,
+ KEY = 435,
+ LANCOMPILER = 436,
+ LANGUAGE = 437,
+ LARGE_P = 438,
+ LAST_P = 439,
+ LC_COLLATE_P = 440,
+ LC_CTYPE_P = 441,
+ LEADING = 442,
+ LEAST = 443,
+ LEFT = 444,
+ LEVEL = 445,
+ LIKE = 446,
+ LIMIT = 447,
+ LISTEN = 448,
+ LOAD = 449,
+ LOCAL = 450,
+ LOCALTIME = 451,
+ LOCALTIMESTAMP = 452,
+ LOCATION = 453,
+ LOCK_P = 454,
+ LOGIN_P = 455,
+ MAPPING = 456,
+ MATCH = 457,
+ MAXVALUE = 458,
+ MINUTE_P = 459,
+ MINVALUE = 460,
+ MODE = 461,
+ MONTH_P = 462,
+ MOVE = 463,
+ NAME_P = 464,
+ NAMES = 465,
+ NATIONAL = 466,
+ NATURAL = 467,
+ NCHAR = 468,
+ NEW = 469,
+ NEXT = 470,
+ NO = 471,
+ NOCREATEDB = 472,
+ NOCREATEROLE = 473,
+ NOCREATEUSER = 474,
+ NOINHERIT = 475,
+ NOLOGIN_P = 476,
+ NONE = 477,
+ NOSUPERUSER = 478,
+ NOT = 479,
+ NOTHING = 480,
+ NOTIFY = 481,
+ NOTNULL = 482,
+ NOWAIT = 483,
+ NULL_P = 484,
+ NULLIF = 485,
+ NULLS_P = 486,
+ NUMERIC = 487,
+ OBJECT_P = 488,
+ OF = 489,
+ OFF = 490,
+ OFFSET = 491,
+ OIDS = 492,
+ OLD = 493,
+ ON = 494,
+ ONLY = 495,
+ OPERATOR = 496,
+ OPTION = 497,
+ OPTIONS = 498,
+ OR = 499,
+ ORDER = 500,
+ OUT_P = 501,
+ OUTER_P = 502,
+ OVER = 503,
+ OVERLAPS = 504,
+ OVERLAY = 505,
+ OWNED = 506,
+ OWNER = 507,
+ PARSER = 508,
+ PARTIAL = 509,
+ PARTITION = 510,
+ PASSWORD = 511,
+ PLACING = 512,
+ PLANS = 513,
+ POSITION = 514,
+ PRECEDING = 515,
+ PRECISION = 516,
+ PRESERVE = 517,
+ PREPARE = 518,
+ PREPARED = 519,
+ PRIMARY = 520,
+ PRIOR = 521,
+ PRIVILEGES = 522,
+ PROCEDURAL = 523,
+ PROCEDURE = 524,
+ QUOTE = 525,
+ RANGE = 526,
+ READ = 527,
+ REAL = 528,
+ REASSIGN = 529,
+ RECHECK = 530,
+ RECURSIVE = 531,
+ REFERENCES = 532,
+ REINDEX = 533,
+ RELATIVE_P = 534,
+ RELEASE = 535,
+ RENAME = 536,
+ REPEATABLE = 537,
+ REPLACE = 538,
+ REPLICA = 539,
+ RESET = 540,
+ RESTART = 541,
+ RESTRICT = 542,
+ RETURNING = 543,
+ RETURNS = 544,
+ REVOKE = 545,
+ RIGHT = 546,
+ ROLE = 547,
+ ROLLBACK = 548,
+ ROW = 549,
+ ROWS = 550,
+ RULE = 551,
+ SAVEPOINT = 552,
+ SCHEMA = 553,
+ SCROLL = 554,
+ SEARCH = 555,
+ SECOND_P = 556,
+ SECURITY = 557,
+ SELECT = 558,
+ SEQUENCE = 559,
+ SERIALIZABLE = 560,
+ SERVER = 561,
+ SESSION = 562,
+ SESSION_USER = 563,
+ SET = 564,
+ SETOF = 565,
+ SHARE = 566,
+ SHOW = 567,
+ SIMILAR = 568,
+ SIMPLE = 569,
+ SMALLINT = 570,
+ SOME = 571,
+ STABLE = 572,
+ STANDALONE_P = 573,
+ START = 574,
+ STATEMENT = 575,
+ STATISTICS = 576,
+ STDIN = 577,
+ STDOUT = 578,
+ STORAGE = 579,
+ STRICT_P = 580,
+ STRIP_P = 581,
+ SUBSTRING = 582,
+ SUPERUSER_P = 583,
+ SYMMETRIC = 584,
+ SYSID = 585,
+ SYSTEM_P = 586,
+ TABLE = 587,
+ TABLESPACE = 588,
+ TEMP = 589,
+ TEMPLATE = 590,
+ TEMPORARY = 591,
+ TEXT_P = 592,
+ THEN = 593,
+ TIME = 594,
+ TIMESTAMP = 595,
+ TO = 596,
+ TRAILING = 597,
+ TRANSACTION = 598,
+ TREAT = 599,
+ TRIGGER = 600,
+ TRIM = 601,
+ TRUE_P = 602,
+ TRUNCATE = 603,
+ TRUSTED = 604,
+ TYPE_P = 605,
+ UNBOUNDED = 606,
+ UNCOMMITTED = 607,
+ UNENCRYPTED = 608,
+ UNION = 609,
+ UNIQUE = 610,
+ UNKNOWN = 611,
+ UNLISTEN = 612,
+ UNTIL = 613,
+ UPDATE = 614,
+ USER = 615,
+ USING = 616,
+ VACUUM = 617,
+ VALID = 618,
+ VALIDATOR = 619,
+ VALUE_P = 620,
+ VALUES = 621,
+ VARCHAR = 622,
+ VARIADIC = 623,
+ VARYING = 624,
+ VERBOSE = 625,
+ VERSION_P = 626,
+ VIEW = 627,
+ VOLATILE = 628,
+ WHEN = 629,
+ WHERE = 630,
+ WHITESPACE_P = 631,
+ WINDOW = 632,
+ WITH = 633,
+ WITHOUT = 634,
+ WORK = 635,
+ WRAPPER = 636,
+ WRITE = 637,
+ XML_P = 638,
+ XMLATTRIBUTES = 639,
+ XMLCONCAT = 640,
+ XMLELEMENT = 641,
+ XMLFOREST = 642,
+ XMLPARSE = 643,
+ XMLPI = 644,
+ XMLROOT = 645,
+ XMLSERIALIZE = 646,
+ YEAR_P = 647,
+ YES_P = 648,
+ ZONE = 649,
+ NULLS_FIRST = 650,
+ NULLS_LAST = 651,
+ WITH_TIME = 652,
+ IDENT = 653,
+ FCONST = 654,
+ SCONST = 655,
+ BCONST = 656,
+ XCONST = 657,
+ Op = 658,
+ ICONST = 659,
+ PARAM = 660,
+ POSTFIXOP = 661,
+ UMINUS = 662,
+ TYPECAST = 663
};
#endif
/* Tokens. */
@@ -460,360 +478,378 @@
#define CASCADED 295
#define CASE 296
#define CAST 297
-#define CHAIN 298
-#define CHAR_P 299
-#define CHARACTER 300
-#define CHARACTERISTICS 301
-#define CHECK 302
-#define CHECKPOINT 303
-#define CLASS 304
-#define CLOSE 305
-#define CLUSTER 306
-#define COALESCE 307
-#define COLLATE 308
-#define COLUMN 309
-#define COMMENT 310
-#define COMMIT 311
-#define COMMITTED 312
-#define CONCURRENTLY 313
-#define CONFIGURATION 314
-#define CONNECTION 315
-#define CONSTRAINT 316
-#define CONSTRAINTS 317
-#define CONTENT_P 318
-#define CONVERSION_P 319
-#define COPY 320
-#define COST 321
-#define CREATE 322
-#define CREATEDB 323
-#define CREATEROLE 324
-#define CREATEUSER 325
-#define CROSS 326
-#define CSV 327
-#define CURRENT_P 328
-#define CURRENT_DATE 329
-#define CURRENT_ROLE 330
-#define CURRENT_TIME 331
-#define CURRENT_TIMESTAMP 332
-#define CURRENT_USER 333
-#define CURSOR 334
-#define CYCLE 335
-#define DATABASE 336
-#define DAY_P 337
-#define DEALLOCATE 338
-#define DEC 339
-#define DECIMAL_P 340
-#define DECLARE 341
-#define DEFAULT 342
-#define DEFAULTS 343
-#define DEFERRABLE 344
-#define DEFERRED 345
-#define DEFINER 346
-#define DELETE_P 347
-#define DELIMITER 348
-#define DELIMITERS 349
-#define DESC 350
-#define DICTIONARY 351
-#define DISABLE_P 352
-#define DISCARD 353
-#define DISTINCT 354
-#define DO 355
-#define DOCUMENT_P 356
-#define DOMAIN_P 357
-#define DOUBLE_P 358
-#define DROP 359
-#define EACH 360
-#define ELSE 361
-#define ENABLE_P 362
-#define ENCODING 363
-#define ENCRYPTED 364
-#define END_P 365
-#define ENUM_P 366
-#define ESCAPE 367
-#define EXCEPT 368
-#define EXCLUDING 369
-#define EXCLUSIVE 370
-#define EXECUTE 371
-#define EXISTS 372
-#define EXPLAIN 373
-#define EXTERNAL 374
-#define EXTRACT 375
-#define FALSE_P 376
-#define FAMILY 377
-#define FETCH 378
-#define FIRST_P 379
-#define FLOAT_P 380
-#define FOR 381
-#define FORCE 382
-#define FOREIGN 383
-#define FORWARD 384
-#define FREEZE 385
-#define FROM 386
-#define FULL 387
-#define FUNCTION 388
-#define GLOBAL 389
-#define GRANT 390
-#define GRANTED 391
-#define GREATEST 392
-#define GROUP_P 393
-#define HANDLER 394
-#define HAVING 395
-#define HEADER_P 396
-#define HOLD 397
-#define HOUR_P 398
-#define IF_P 399
-#define ILIKE 400
-#define IMMEDIATE 401
-#define IMMUTABLE 402
-#define IMPLICIT_P 403
-#define IN_P 404
-#define INCLUDING 405
-#define INCREMENT 406
-#define INDEX 407
-#define INDEXES 408
-#define INHERIT 409
-#define INHERITS 410
-#define INITIALLY 411
-#define INNER_P 412
-#define INOUT 413
-#define INPUT_P 414
-#define INSENSITIVE 415
-#define INSERT 416
-#define INSTEAD 417
-#define INT_P 418
-#define INTEGER 419
-#define INTERSECT 420
-#define INTERVAL 421
-#define INTO 422
-#define INVOKER 423
-#define IS 424
-#define ISNULL 425
-#define ISOLATION 426
-#define JOIN 427
-#define KEY 428
-#define LANCOMPILER 429
-#define LANGUAGE 430
-#define LARGE_P 431
-#define LAST_P 432
-#define LEADING 433
-#define LEAST 434
-#define LEFT 435
-#define LEVEL 436
-#define LIKE 437
-#define LIMIT 438
-#define LISTEN 439
-#define LOAD 440
-#define LOCAL 441
-#define LOCALTIME 442
-#define LOCALTIMESTAMP 443
-#define LOCATION 444
-#define LOCK_P 445
-#define LOGIN_P 446
-#define MAPPING 447
-#define MATCH 448
-#define MAXVALUE 449
-#define MINUTE_P 450
-#define MINVALUE 451
-#define MODE 452
-#define MONTH_P 453
-#define MOVE 454
-#define NAME_P 455
-#define NAMES 456
-#define NATIONAL 457
-#define NATURAL 458
-#define NCHAR 459
-#define NEW 460
-#define NEXT 461
-#define NO 462
-#define NOCREATEDB 463
-#define NOCREATEROLE 464
-#define NOCREATEUSER 465
-#define NOINHERIT 466
-#define NOLOGIN_P 467
-#define NONE 468
-#define NOSUPERUSER 469
-#define NOT 470
-#define NOTHING 471
-#define NOTIFY 472
-#define NOTNULL 473
-#define NOWAIT 474
-#define NULL_P 475
-#define NULLIF 476
-#define NULLS_P 477
-#define NUMERIC 478
-#define OBJECT_P 479
-#define OF 480
-#define OFF 481
-#define OFFSET 482
-#define OIDS 483
-#define OLD 484
-#define ON 485
-#define ONLY 486
-#define OPERATOR 487
-#define OPTION 488
-#define OR 489
-#define ORDER 490
-#define OUT_P 491
-#define OUTER_P 492
-#define OVERLAPS 493
-#define OVERLAY 494
-#define OWNED 495
-#define OWNER 496
-#define PARSER 497
-#define PARTIAL 498
-#define PASSWORD 499
-#define PLACING 500
-#define PLANS 501
-#define POSITION 502
-#define PRECISION 503
-#define PRESERVE 504
-#define PREPARE 505
-#define PREPARED 506
-#define PRIMARY 507
-#define PRIOR 508
-#define PRIVILEGES 509
-#define PROCEDURAL 510
-#define PROCEDURE 511
-#define QUOTE 512
-#define READ 513
-#define REAL 514
-#define REASSIGN 515
-#define RECHECK 516
-#define REFERENCES 517
-#define REINDEX 518
-#define RELATIVE_P 519
-#define RELEASE 520
-#define RENAME 521
-#define REPEATABLE 522
-#define REPLACE 523
-#define REPLICA 524
-#define RESET 525
-#define RESTART 526
-#define RESTRICT 527
-#define RETURNING 528
-#define RETURNS 529
-#define REVOKE 530
-#define RIGHT 531
-#define ROLE 532
-#define ROLLBACK 533
-#define ROW 534
-#define ROWS 535
-#define RULE 536
-#define SAVEPOINT 537
-#define SCHEMA 538
-#define SCROLL 539
-#define SEARCH 540
-#define SECOND_P 541
-#define SECURITY 542
-#define SELECT 543
-#define SEQUENCE 544
-#define SERIALIZABLE 545
-#define SESSION 546
-#define SESSION_USER 547
-#define SET 548
-#define SETOF 549
-#define SHARE 550
-#define SHOW 551
-#define SIMILAR 552
-#define SIMPLE 553
-#define SMALLINT 554
-#define SOME 555
-#define STABLE 556
-#define STANDALONE_P 557
-#define START 558
-#define STATEMENT 559
-#define STATISTICS 560
-#define STDIN 561
-#define STDOUT 562
-#define STORAGE 563
-#define STRICT_P 564
-#define STRIP_P 565
-#define SUBSTRING 566
-#define SUPERUSER_P 567
-#define SYMMETRIC 568
-#define SYSID 569
-#define SYSTEM_P 570
-#define TABLE 571
-#define TABLESPACE 572
-#define TEMP 573
-#define TEMPLATE 574
-#define TEMPORARY 575
-#define TEXT_P 576
-#define THEN 577
-#define TIME 578
-#define TIMESTAMP 579
-#define TO 580
-#define TRAILING 581
-#define TRANSACTION 582
-#define TREAT 583
-#define TRIGGER 584
-#define TRIM 585
-#define TRUE_P 586
-#define TRUNCATE 587
-#define TRUSTED 588
-#define TYPE_P 589
-#define UNCOMMITTED 590
-#define UNENCRYPTED 591
-#define UNION 592
-#define UNIQUE 593
-#define UNKNOWN 594
-#define UNLISTEN 595
-#define UNTIL 596
-#define UPDATE 597
-#define USER 598
-#define USING 599
-#define VACUUM 600
-#define VALID 601
-#define VALIDATOR 602
-#define VALUE_P 603
-#define VALUES 604
-#define VARCHAR 605
-#define VARYING 606
-#define VERBOSE 607
-#define VERSION_P 608
-#define VIEW 609
-#define VOLATILE 610
-#define WHEN 611
-#define WHERE 612
-#define WHITESPACE_P 613
-#define WITH 614
-#define WITHOUT 615
-#define WORK 616
-#define WRITE 617
-#define XML_P 618
-#define XMLATTRIBUTES 619
-#define XMLCONCAT 620
-#define XMLELEMENT 621
-#define XMLFOREST 622
-#define XMLPARSE 623
-#define XMLPI 624
-#define XMLROOT 625
-#define XMLSERIALIZE 626
-#define YEAR_P 627
-#define YES_P 628
-#define ZONE 629
-#define NULLS_FIRST 630
-#define NULLS_LAST 631
-#define WITH_CASCADED 632
-#define WITH_LOCAL 633
-#define WITH_CHECK 634
-#define IDENT 635
-#define FCONST 636
-#define SCONST 637
-#define BCONST 638
-#define XCONST 639
-#define Op 640
-#define ICONST 641
-#define PARAM 642
-#define POSTFIXOP 643
-#define UMINUS 644
-#define TYPECAST 645
+#define CATALOG_P 298
+#define CHAIN 299
+#define CHAR_P 300
+#define CHARACTER 301
+#define CHARACTERISTICS 302
+#define CHECK 303
+#define CHECKPOINT 304
+#define CLASS 305
+#define CLOSE 306
+#define CLUSTER 307
+#define COALESCE 308
+#define COLLATE 309
+#define COLUMN 310
+#define COMMENT 311
+#define COMMIT 312
+#define COMMITTED 313
+#define CONCURRENTLY 314
+#define CONFIGURATION 315
+#define CONNECTION 316
+#define CONSTRAINT 317
+#define CONSTRAINTS 318
+#define CONTENT_P 319
+#define CONTINUE_P 320
+#define CONVERSION_P 321
+#define COPY 322
+#define COST 323
+#define CREATE 324
+#define CREATEDB 325
+#define CREATEROLE 326
+#define CREATEUSER 327
+#define CROSS 328
+#define CSV 329
+#define CURRENT_P 330
+#define CURRENT_CATALOG 331
+#define CURRENT_DATE 332
+#define CURRENT_ROLE 333
+#define CURRENT_SCHEMA 334
+#define CURRENT_TIME 335
+#define CURRENT_TIMESTAMP 336
+#define CURRENT_USER 337
+#define CURSOR 338
+#define CYCLE 339
+#define DATA_P 340
+#define DATABASE 341
+#define DAY_P 342
+#define DEALLOCATE 343
+#define DEC 344
+#define DECIMAL_P 345
+#define DECLARE 346
+#define DEFAULT 347
+#define DEFAULTS 348
+#define DEFERRABLE 349
+#define DEFERRED 350
+#define DEFINER 351
+#define DELETE_P 352
+#define DELIMITER 353
+#define DELIMITERS 354
+#define DESC 355
+#define DICTIONARY 356
+#define DISABLE_P 357
+#define DISCARD 358
+#define DISTINCT 359
+#define DO 360
+#define DOCUMENT_P 361
+#define DOMAIN_P 362
+#define DOUBLE_P 363
+#define DROP 364
+#define EACH 365
+#define ELSE 366
+#define ENABLE_P 367
+#define ENCODING 368
+#define ENCRYPTED 369
+#define END_P 370
+#define ENUM_P 371
+#define ESCAPE 372
+#define EXCEPT 373
+#define EXCLUDING 374
+#define EXCLUSIVE 375
+#define EXECUTE 376
+#define EXISTS 377
+#define EXPLAIN 378
+#define EXTERNAL 379
+#define EXTRACT 380
+#define FALSE_P 381
+#define FAMILY 382
+#define FETCH 383
+#define FIRST_P 384
+#define FLOAT_P 385
+#define FOLLOWING 386
+#define FOR 387
+#define FORCE 388
+#define FOREIGN 389
+#define FORWARD 390
+#define FREEZE 391
+#define FROM 392
+#define FULL 393
+#define FUNCTION 394
+#define GLOBAL 395
+#define GRANT 396
+#define GRANTED 397
+#define GREATEST 398
+#define GROUP_P 399
+#define HANDLER 400
+#define HAVING 401
+#define HEADER_P 402
+#define HOLD 403
+#define HOUR_P 404
+#define IDENTITY_P 405
+#define IF_P 406
+#define ILIKE 407
+#define IMMEDIATE 408
+#define IMMUTABLE 409
+#define IMPLICIT_P 410
+#define IN_P 411
+#define INCLUDING 412
+#define INCREMENT 413
+#define INDEX 414
+#define INDEXES 415
+#define INHERIT 416
+#define INHERITS 417
+#define INITIALLY 418
+#define INNER_P 419
+#define INOUT 420
+#define INPUT_P 421
+#define INSENSITIVE 422
+#define INSERT 423
+#define INSTEAD 424
+#define INT_P 425
+#define INTEGER 426
+#define INTERSECT 427
+#define INTERVAL 428
+#define INTO 429
+#define INVOKER 430
+#define IS 431
+#define ISNULL 432
+#define ISOLATION 433
+#define JOIN 434
+#define KEY 435
+#define LANCOMPILER 436
+#define LANGUAGE 437
+#define LARGE_P 438
+#define LAST_P 439
+#define LC_COLLATE_P 440
+#define LC_CTYPE_P 441
+#define LEADING 442
+#define LEAST 443
+#define LEFT 444
+#define LEVEL 445
+#define LIKE 446
+#define LIMIT 447
+#define LISTEN 448
+#define LOAD 449
+#define LOCAL 450
+#define LOCALTIME 451
+#define LOCALTIMESTAMP 452
+#define LOCATION 453
+#define LOCK_P 454
+#define LOGIN_P 455
+#define MAPPING 456
+#define MATCH 457
+#define MAXVALUE 458
+#define MINUTE_P 459
+#define MINVALUE 460
+#define MODE 461
+#define MONTH_P 462
+#define MOVE 463
+#define NAME_P 464
+#define NAMES 465
+#define NATIONAL 466
+#define NATURAL 467
+#define NCHAR 468
+#define NEW 469
+#define NEXT 470
+#define NO 471
+#define NOCREATEDB 472
+#define NOCREATEROLE 473
+#define NOCREATEUSER 474
+#define NOINHERIT 475
+#define NOLOGIN_P 476
+#define NONE 477
+#define NOSUPERUSER 478
+#define NOT 479
+#define NOTHING 480
+#define NOTIFY 481
+#define NOTNULL 482
+#define NOWAIT 483
+#define NULL_P 484
+#define NULLIF 485
+#define NULLS_P 486
+#define NUMERIC 487
+#define OBJECT_P 488
+#define OF 489
+#define OFF 490
+#define OFFSET 491
+#define OIDS 492
+#define OLD 493
+#define ON 494
+#define ONLY 495
+#define OPERATOR 496
+#define OPTION 497
+#define OPTIONS 498
+#define OR 499
+#define ORDER 500
+#define OUT_P 501
+#define OUTER_P 502
+#define OVER 503
+#define OVERLAPS 504
+#define OVERLAY 505
+#define OWNED 506
+#define OWNER 507
+#define PARSER 508
+#define PARTIAL 509
+#define PARTITION 510
+#define PASSWORD 511
+#define PLACING 512
+#define PLANS 513
+#define POSITION 514
+#define PRECEDING 515
+#define PRECISION 516
+#define PRESERVE 517
+#define PREPARE 518
+#define PREPARED 519
+#define PRIMARY 520
+#define PRIOR 521
+#define PRIVILEGES 522
+#define PROCEDURAL 523
+#define PROCEDURE 524
+#define QUOTE 525
+#define RANGE 526
+#define READ 527
+#define REAL 528
+#define REASSIGN 529
+#define RECHECK 530
+#define RECURSIVE 531
+#define REFERENCES 532
+#define REINDEX 533
+#define RELATIVE_P 534
+#define RELEASE 535
+#define RENAME 536
+#define REPEATABLE 537
+#define REPLACE 538
+#define REPLICA 539
+#define RESET 540
+#define RESTART 541
+#define RESTRICT 542
+#define RETURNING 543
+#define RETURNS 544
+#define REVOKE 545
+#define RIGHT 546
+#define ROLE 547
+#define ROLLBACK 548
+#define ROW 549
+#define ROWS 550
+#define RULE 551
+#define SAVEPOINT 552
+#define SCHEMA 553
+#define SCROLL 554
+#define SEARCH 555
+#define SECOND_P 556
+#define SECURITY 557
+#define SELECT 558
+#define SEQUENCE 559
+#define SERIALIZABLE 560
+#define SERVER 561
+#define SESSION 562
+#define SESSION_USER 563
+#define SET 564
+#define SETOF 565
+#define SHARE 566
+#define SHOW 567
+#define SIMILAR 568
+#define SIMPLE 569
+#define SMALLINT 570
+#define SOME 571
+#define STABLE 572
+#define STANDALONE_P 573
+#define START 574
+#define STATEMENT 575
+#define STATISTICS 576
+#define STDIN 577
+#define STDOUT 578
+#define STORAGE 579
+#define STRICT_P 580
+#define STRIP_P 581
+#define SUBSTRING 582
+#define SUPERUSER_P 583
+#define SYMMETRIC 584
+#define SYSID 585
+#define SYSTEM_P 586
+#define TABLE 587
+#define TABLESPACE 588
+#define TEMP 589
+#define TEMPLATE 590
+#define TEMPORARY 591
+#define TEXT_P 592
+#define THEN 593
+#define TIME 594
+#define TIMESTAMP 595
+#define TO 596
+#define TRAILING 597
+#define TRANSACTION 598
+#define TREAT 599
+#define TRIGGER 600
+#define TRIM 601
+#define TRUE_P 602
+#define TRUNCATE 603
+#define TRUSTED 604
+#define TYPE_P 605
+#define UNBOUNDED 606
+#define UNCOMMITTED 607
+#define UNENCRYPTED 608
+#define UNION 609
+#define UNIQUE 610
+#define UNKNOWN 611
+#define UNLISTEN 612
+#define UNTIL 613
+#define UPDATE 614
+#define USER 615
+#define USING 616
+#define VACUUM 617
+#define VALID 618
+#define VALIDATOR 619
+#define VALUE_P 620
+#define VALUES 621
+#define VARCHAR 622
+#define VARIADIC 623
+#define VARYING 624
+#define VERBOSE 625
+#define VERSION_P 626
+#define VIEW 627
+#define VOLATILE 628
+#define WHEN 629
+#define WHERE 630
+#define WHITESPACE_P 631
+#define WINDOW 632
+#define WITH 633
+#define WITHOUT 634
+#define WORK 635
+#define WRAPPER 636
+#define WRITE 637
+#define XML_P 638
+#define XMLATTRIBUTES 639
+#define XMLCONCAT 640
+#define XMLELEMENT 641
+#define XMLFOREST 642
+#define XMLPARSE 643
+#define XMLPI 644
+#define XMLROOT 645
+#define XMLSERIALIZE 646
+#define YEAR_P 647
+#define YES_P 648
+#define ZONE 649
+#define NULLS_FIRST 650
+#define NULLS_LAST 651
+#define WITH_TIME 652
+#define IDENT 653
+#define FCONST 654
+#define SCONST 655
+#define BCONST 656
+#define XCONST 657
+#define Op 658
+#define ICONST 659
+#define PARAM 660
+#define POSTFIXOP 661
+#define UMINUS 662
+#define TYPECAST 663
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 146 "gram.y"
+#line 162 "gram.y"
typedef union YYSTYPE {
int ival;
char chr;
@@ -834,20 +870,23 @@ typedef union YYSTYPE {
FuncWithArgs *funwithargs;
DefElem *defelt;
SortBy *sortby;
+ WindowDef *windef;
JoinExpr *jexpr;
IndexElem *ielem;
Alias *alias;
RangeVar *range;
IntoClause *into;
+ WithClause *with;
A_Indices *aind;
ResTarget *target;
- PrivTarget *privtarget;
+ struct PrivTarget *privtarget;
+ AccessPriv *accesspriv;
InsertStmt *istmt;
VariableSetStmt *vsetstmt;
} YYSTYPE;
/* Line 1447 of yacc.c. */
-#line 851 "gram.h"
+#line 890 "gram.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
diff --git a/parser/gram.y b/parser/gram.y
index df4490344..473d99e54 100644
--- a/parser/gram.y
+++ b/parser/gram.y
@@ -6,13 +6,13 @@
* gram.y
* POSTGRES SQL YACC rules/actions
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.603 2007/09/24 01:29:28 adunstan Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.662 2009/04/06 08:42:52 heikki Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -108,6 +108,13 @@ extern TypeName *SystemTypeName(char *name);
extern List *SystemFuncName(char *name);
extern void yyerror(const char *s);
+/* Private struct for the result of privilege_target production */
+typedef struct PrivTarget
+{
+ GrantObjectType objtype;
+ List *objs;
+} PrivTarget;
+
/*
* 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
@@ -115,30 +122,39 @@ extern void yyerror(const char *s);
*/
/*#define __YYSCLASS*/
-static Node *makeColumnRef(char *relname, List *indirection, int location);
-static Node *makeTypeCast(Node *arg, TypeName *typename);
-static Node *makeStringConst(char *str, TypeName *typename);
-static Node *makeIntConst(int val);
-static Node *makeFloatConst(char *str);
-static Node *makeAConst(Value *v);
-static A_Const *makeBoolAConst(bool state);
+static Node *makeColumnRef(char *colname, List *indirection, int location);
+static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
+static Node *makeStringConst(char *str, int location);
+static Node *makeStringConstCast(char *str, int location, TypeName *typename);
+static Node *makeIntConst(int val, int location);
+static Node *makeFloatConst(char *str, int location);
+static Node *makeBitStringConst(char *str, int location);
+static Node *makeNullAConst(int location);
+static Node *makeAConst(Value *v, int location);
+static Node *makeBoolAConst(bool state, int location);
static FuncCall *makeOverlaps(List *largs, List *rargs, int location);
static void check_qualified_name(List *names);
static List *check_func_name(List *names);
+static List *check_indirection(List *indirection);
static List *extractArgTypes(List *parameters);
static SelectStmt *findLeftmostSelect(SelectStmt *node);
static void insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
- Node *limitOffset, Node *limitCount);
+ Node *limitOffset, Node *limitCount,
+ WithClause *withClause);
static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
static Node *doNegate(Node *n, int location);
static void doNegateFloat(Value *v);
-static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args);
+static Node *makeAArrayExpr(List *elements, int location);
+static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
+ List *args, int location);
+static List *mergeTableFuncParameters(List *func_args, List *columns);
+static TypeName *TableFuncTypeName(List *columns);
static DefElem *defWithOids(bool value);
-
%}
+%expect 0
%name-prefix="base_yy"
%locations
@@ -163,33 +179,39 @@ static DefElem *defWithOids(bool value);
FuncWithArgs *funwithargs;
DefElem *defelt;
SortBy *sortby;
+ WindowDef *windef;
JoinExpr *jexpr;
IndexElem *ielem;
Alias *alias;
RangeVar *range;
IntoClause *into;
+ WithClause *with;
A_Indices *aind;
ResTarget *target;
- PrivTarget *privtarget;
+ struct PrivTarget *privtarget;
+ AccessPriv *accesspriv;
InsertStmt *istmt;
VariableSetStmt *vsetstmt;
}
%type <node> stmt schema_stmt
- AlterDatabaseStmt AlterDatabaseSetStmt AlterDomainStmt AlterGroupStmt
+ AlterDatabaseStmt AlterDatabaseSetStmt AlterDomainStmt AlterFdwStmt
+ AlterForeignServerStmt AlterGroupStmt
AlterObjectSchemaStmt AlterOwnerStmt AlterSeqStmt AlterTableStmt
- AlterUserStmt AlterUserSetStmt AlterRoleStmt AlterRoleSetStmt
+ AlterUserStmt AlterUserMappingStmt AlterUserSetStmt AlterRoleStmt AlterRoleSetStmt
AnalyzeStmt ClosePortalStmt ClusterStmt CommentStmt
ConstraintsSetStmt CopyStmt CreateAsStmt CreateCastStmt
CreateDomainStmt CreateGroupStmt CreateOpClassStmt
CreateOpFamilyStmt AlterOpFamilyStmt CreatePLangStmt
CreateSchemaStmt CreateSeqStmt CreateStmt CreateTableSpaceStmt
- CreateAssertStmt CreateTrigStmt CreateUserStmt CreateRoleStmt
+ CreateFdwStmt CreateForeignServerStmt CreateAssertStmt CreateTrigStmt
+ CreateUserStmt CreateUserMappingStmt CreateRoleStmt
CreatedbStmt DeclareCursorStmt DefineStmt DeleteStmt DiscardStmt
DropGroupStmt DropOpClassStmt DropOpFamilyStmt DropPLangStmt DropStmt
DropAssertStmt DropTrigStmt DropRuleStmt DropCastStmt DropRoleStmt
- DropUserStmt DropdbStmt DropTableSpaceStmt ExplainStmt FetchStmt
+ DropUserStmt DropdbStmt DropTableSpaceStmt DropFdwStmt
+ DropForeignServerStmt DropUserMappingStmt ExplainStmt FetchStmt
GrantStmt GrantRoleStmt IndexStmt InsertStmt ListenStmt LoadStmt
LockStmt NotifyStmt ExplainableStmt PreparableStmt
CreateFunctionStmt AlterFunctionStmt ReindexStmt RemoveAggrStmt
@@ -209,8 +231,8 @@ static DefElem *defWithOids(bool value);
%type <node> alter_column_default opclass_item opclass_drop alter_using
%type <ival> add_drop opt_asc_desc opt_nulls_order
-%type <node> alter_table_cmd alter_rel_cmd
-%type <list> alter_table_cmds alter_rel_cmds
+%type <node> alter_table_cmd
+%type <list> alter_table_cmds
%type <dbehavior> opt_drop_behavior
@@ -222,18 +244,22 @@ static DefElem *defWithOids(bool value);
%type <ival> opt_lock lock_type cast_context
%type <boolean> opt_force opt_or_replace
opt_grant_grant_option opt_grant_admin_option
- opt_nowait opt_if_exists
+ opt_nowait opt_if_exists opt_with_data
%type <list> OptRoleList
%type <defelt> OptRoleElem
+%type <str> opt_type
+%type <str> foreign_server_version opt_foreign_server_version
+%type <str> auth_ident
+
%type <str> OptSchemaName
%type <list> OptSchemaEltList
-%type <boolean> TriggerActionTime TriggerForSpec opt_trusted
+%type <boolean> TriggerActionTime TriggerForSpec opt_trusted opt_restart_seqs
%type <str> opt_lancompiler
-%type <str> TriggerEvents
+%type <ival> TriggerEvents TriggerOneEvent
%type <value> TriggerFuncArg
%type <str> relation_name copy_file_name
@@ -241,7 +267,7 @@ static DefElem *defWithOids(bool value);
index_name name file_name cluster_index_specification
%type <list> func_name handler_name qual_Op qual_all_Op subquery_Op
- opt_class opt_validator
+ opt_class opt_validator validator_clause
%type <range> qualified_name OptConstrFromTable
@@ -250,16 +276,17 @@ static DefElem *defWithOids(bool value);
%type <str> iso_level opt_encoding
%type <node> grantee
%type <list> grantee_list
-%type <str> privilege
+%type <accesspriv> privilege
%type <list> privileges privilege_list
%type <privtarget> privilege_target
%type <funwithargs> function_with_argtypes
%type <list> function_with_argtypes_list
-%type <chr> TriggerOneEvent
%type <list> stmtblock stmtmulti
OptTableElementList TableElementList OptInherit definition
+ reloptions opt_reloptions
OptWith opt_distinct opt_definition func_args func_args_list
+ func_args_with_defaults func_args_with_defaults_list
func_as createfunc_opt_list alterfunc_opt_list
aggr_args old_aggr_definition old_aggr_list
oper_argtypes RuleActionList RuleActionMulti
@@ -271,19 +298,21 @@ static DefElem *defWithOids(bool value);
target_list insert_column_list set_target_list
set_clause_list set_clause multiple_set_clause
ctext_expr_list ctext_row def_list indirection opt_indirection
- group_clause TriggerFuncArgs select_limit
+ reloption_list group_clause TriggerFuncArgs select_limit
opt_select_limit opclass_item_list opclass_drop_list
opt_opfamily transaction_mode_list_or_empty
TableFuncElementList opt_type_modifiers
prep_type_clause
execute_param_clause using_clause returning_clause
- enum_val_list
+ enum_val_list table_func_column_list
+ create_generic_options alter_generic_options
+ relation_expr_list
%type <range> OptTempTableName
%type <into> into_clause create_as_target
%type <defelt> createfunc_opt_item common_func_opt_item
-%type <fun_param> func_arg
+%type <fun_param> func_arg func_arg_with_default table_func_column
%type <fun_param_mode> arg_class
%type <typnam> func_return func_type
@@ -300,7 +329,7 @@ static DefElem *defWithOids(bool value);
%type <list> extract_list overlay_list position_list
%type <list> substr_list trim_list
-%type <ival> opt_interval
+%type <list> opt_interval interval_second
%type <node> overlay_placing substr_from substr_for
%type <boolean> opt_instead opt_analyze
@@ -310,13 +339,15 @@ static DefElem *defWithOids(bool value);
%type <boolean> copy_from
-%type <ival> opt_column event cursor_options opt_hold
+%type <ival> opt_column event cursor_options opt_hold opt_set_data
%type <objtype> reindex_type drop_type comment_type
%type <node> fetch_direction select_limit_value select_offset_value
+ select_offset_value2 opt_select_fetch_first_value
+%type <ival> row_or_rows first_or_next
-%type <list> OptSeqList
-%type <defelt> OptSeqElem
+%type <list> OptSeqOptList SeqOptList
+%type <defelt> SeqOptElem
%type <istmt> insert_rest
@@ -324,7 +355,7 @@ static DefElem *defWithOids(bool value);
%type <node> TableElement ConstraintElem TableFuncElement
%type <node> columnDef
-%type <defelt> def_elem old_aggr_elem
+%type <defelt> def_elem reloption_elem old_aggr_elem
%type <node> def_arg columnElem where_clause where_or_current_clause
a_expr b_expr c_expr func_expr AexprConst indirection_el
columnref in_expr having_clause func_table array_expr
@@ -334,7 +365,7 @@ static DefElem *defWithOids(bool value);
%type <ival> sub_type
%type <list> OptCreateAs CreateAsList
%type <node> CreateAsElement ctext_expr
-%type <value> NumericOnly FloatOnly IntegerOnly
+%type <value> NumericOnly
%type <alias> alias_clause
%type <sortby> sortby
%type <ielem> index_elem
@@ -344,6 +375,11 @@ static DefElem *defWithOids(bool value);
%type <range> relation_expr_opt_alias
%type <target> target_el single_set_clause set_target insert_column_item
+%type <str> generic_option_name
+%type <node> generic_option_arg
+%type <defelt> generic_option_elem alter_generic_option_elem
+%type <list> generic_option_list alter_generic_option_list
+
%type <typnam> Typename SimpleTypename ConstTypename
GenericType Numeric opt_float
Character ConstCharacter
@@ -385,10 +421,19 @@ static DefElem *defWithOids(bool value);
%type <ival> document_or_content
%type <boolean> xml_whitespace_option
+%type <node> common_table_expr
+%type <with> with_clause
+%type <list> cte_list
+
+%type <list> window_clause window_definition_list opt_partition_clause
+%type <windef> window_definition over_clause window_specification
+%type <str> opt_existing_window_name
+%type <ival> opt_frame_clause frame_extent frame_bound
+
/*
* If you make any token changes, update the keyword table in
- * parser/keywords.c and add new keywords to the appropriate one of
+ * src/include/parser/kwlist.h and add new keywords to the appropriate one of
* the reserved-or-not-so-reserved keyword lists, below; search
* this file for "Name classification hierarchy".
*/
@@ -401,40 +446,41 @@ static DefElem *defWithOids(bool value);
BACKWARD BEFORE BEGIN_P BETWEEN BIGINT BINARY BIT
BOOLEAN_P BOTH BY
- CACHE CALLED CASCADE CASCADED CASE CAST CHAIN CHAR_P
+ CACHE CALLED CASCADE CASCADED CASE CAST CATALOG_P CHAIN CHAR_P
CHARACTER CHARACTERISTICS CHECK CHECKPOINT CLASS CLOSE
CLUSTER COALESCE COLLATE COLUMN COMMENT COMMIT
COMMITTED CONCURRENTLY CONFIGURATION CONNECTION CONSTRAINT CONSTRAINTS
- CONTENT_P CONVERSION_P COPY COST CREATE CREATEDB
- CREATEROLE CREATEUSER CROSS CSV CURRENT_P CURRENT_DATE CURRENT_ROLE
+ CONTENT_P CONTINUE_P CONVERSION_P COPY COST CREATE CREATEDB
+ CREATEROLE CREATEUSER CROSS CSV CURRENT_P
+ CURRENT_CATALOG CURRENT_DATE CURRENT_ROLE CURRENT_SCHEMA
CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE
- DATABASE DAY_P DEALLOCATE DEC DECIMAL_P DECLARE DEFAULT DEFAULTS
+ DATA_P DATABASE DAY_P DEALLOCATE DEC DECIMAL_P DECLARE DEFAULT DEFAULTS
DEFERRABLE DEFERRED DEFINER DELETE_P DELIMITER DELIMITERS DESC
DICTIONARY DISABLE_P DISCARD DISTINCT DO DOCUMENT_P DOMAIN_P DOUBLE_P DROP
- EACH ELSE ENABLE_P ENCODING ENCRYPTED END_P ENUM_P ESCAPE EXCEPT EXCLUDING
- EXCLUSIVE EXECUTE EXISTS EXPLAIN EXTERNAL EXTRACT
+ EACH ELSE ENABLE_P ENCODING ENCRYPTED END_P ENUM_P ESCAPE EXCEPT
+ EXCLUDING EXCLUSIVE EXECUTE EXISTS EXPLAIN EXTERNAL EXTRACT
- FALSE_P FAMILY FETCH FIRST_P FLOAT_P FOR FORCE FOREIGN FORWARD
+ FALSE_P FAMILY FETCH FIRST_P FLOAT_P FOLLOWING FOR FORCE FOREIGN FORWARD
FREEZE FROM FULL FUNCTION
GLOBAL GRANT GRANTED GREATEST GROUP_P
HANDLER HAVING HEADER_P HOLD HOUR_P
- IF_P ILIKE IMMEDIATE IMMUTABLE IMPLICIT_P IN_P INCLUDING INCREMENT
- INDEX INDEXES INHERIT INHERITS INITIALLY INNER_P INOUT INPUT_P
- INSENSITIVE INSERT INSTEAD INT_P INTEGER INTERSECT
- INTERVAL INTO INVOKER IS ISNULL ISOLATION
+ IDENTITY_P IF_P ILIKE IMMEDIATE IMMUTABLE IMPLICIT_P IN_P
+ INCLUDING INCREMENT INDEX INDEXES INHERIT INHERITS INITIALLY
+ INNER_P INOUT INPUT_P INSENSITIVE INSERT INSTEAD INT_P INTEGER
+ INTERSECT INTERVAL INTO INVOKER IS ISNULL ISOLATION
JOIN
KEY
- LANCOMPILER LANGUAGE LARGE_P LAST_P LEADING LEAST LEFT LEVEL
- LIKE LIMIT LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP LOCATION
- LOCK_P LOGIN_P
+ LANCOMPILER LANGUAGE LARGE_P LAST_P LC_COLLATE_P LC_CTYPE_P LEADING
+ LEAST LEFT LEVEL LIKE LIMIT LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP
+ LOCATION LOCK_P LOGIN_P
MAPPING MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
@@ -442,21 +488,21 @@ static DefElem *defWithOids(bool value);
NOCREATEROLE NOCREATEUSER NOINHERIT NOLOGIN_P NONE NOSUPERUSER
NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLIF NULLS_P NUMERIC
- OBJECT_P OF OFF OFFSET OIDS OLD ON ONLY OPERATOR OPTION OR
- ORDER OUT_P OUTER_P OVERLAPS OVERLAY OWNED OWNER
+ OBJECT_P OF OFF OFFSET OIDS OLD ON ONLY OPERATOR OPTION OPTIONS OR
+ ORDER OUT_P OUTER_P OVER OVERLAPS OVERLAY OWNED OWNER
- PARSER PARTIAL PASSWORD PLACING PLANS POSITION
- PRECISION PRESERVE PREPARE PREPARED PRIMARY
+ PARSER PARTIAL PARTITION PASSWORD PLACING PLANS POSITION
+ PRECEDING PRECISION PRESERVE PREPARE PREPARED PRIMARY
PRIOR PRIVILEGES PROCEDURAL PROCEDURE
QUOTE
- READ REAL REASSIGN RECHECK REFERENCES REINDEX RELATIVE_P RELEASE RENAME
- REPEATABLE REPLACE REPLICA RESET RESTART RESTRICT RETURNING RETURNS REVOKE
- RIGHT ROLE ROLLBACK ROW ROWS RULE
+ RANGE READ REAL REASSIGN RECHECK RECURSIVE REFERENCES REINDEX
+ RELATIVE_P RELEASE RENAME REPEATABLE REPLACE REPLICA RESET RESTART
+ RESTRICT RETURNING RETURNS REVOKE RIGHT ROLE ROLLBACK ROW ROWS RULE
SAVEPOINT SCHEMA SCROLL SEARCH SECOND_P SECURITY SELECT SEQUENCE
- SERIALIZABLE SESSION SESSION_USER SET SETOF SHARE
+ SERIALIZABLE SERVER SESSION SESSION_USER SET SETOF SHARE
SHOW SIMILAR SIMPLE SMALLINT SOME STABLE STANDALONE_P START STATEMENT
STATISTICS STDIN STDOUT STORAGE STRICT_P STRIP_P SUBSTRING SUPERUSER_P
SYMMETRIC SYSID SYSTEM_P
@@ -465,13 +511,13 @@ static DefElem *defWithOids(bool value);
TO TRAILING TRANSACTION TREAT TRIGGER TRIM TRUE_P
TRUNCATE TRUSTED TYPE_P
- UNCOMMITTED UNENCRYPTED UNION UNIQUE UNKNOWN UNLISTEN UNTIL
+ UNBOUNDED UNCOMMITTED UNENCRYPTED UNION UNIQUE UNKNOWN UNLISTEN UNTIL
UPDATE USER USING
- VACUUM VALID VALIDATOR VALUE_P VALUES VARCHAR VARYING
+ VACUUM VALID VALIDATOR VALUE_P VALUES VARCHAR VARIADIC VARYING
VERBOSE VERSION_P VIEW VOLATILE
- WHEN WHERE WHITESPACE_P WITH WITHOUT WORK WRITE
+ WHEN WHERE WHITESPACE_P WINDOW WITH WITHOUT WORK WRAPPER WRITE
XML_P XMLATTRIBUTES XMLCONCAT XMLELEMENT XMLFOREST XMLPARSE
XMLPI XMLROOT XMLSERIALIZE
@@ -480,11 +526,11 @@ static DefElem *defWithOids(bool value);
ZONE
-/* The grammar thinks these are keywords, but they are not in the keywords.c
+/* The grammar thinks these are keywords, but they are not in the kwlist.h
* list and so can never be entered directly. The filter in parser.c
* creates these tokens when required.
*/
-%token NULLS_FIRST NULLS_LAST WITH_CASCADED WITH_LOCAL WITH_CHECK
+%token NULLS_FIRST NULLS_LAST WITH_TIME
/* Special token types, not actually keywords - see the "lex" file */
%token <str> IDENT FCONST SCONST BCONST XCONST Op
@@ -505,6 +551,17 @@ static DefElem *defWithOids(bool value);
%nonassoc BETWEEN
%nonassoc IN_P
%left POSTFIXOP /* dummy for postfix Op rules */
+/*
+ * To support target_el without AS, we must give IDENT an explicit priority
+ * between POSTFIXOP and Op. We can safely assign the same priority to
+ * various unreserved keywords as needed to resolve ambiguities (this can't
+ * have any bad effects since obviously the keywords will still behave the
+ * same as if they weren't keywords). We need to do this for PARTITION,
+ * RANGE, ROWS to support opt_existing_window_name; and for RANGE, ROWS
+ * so that they can follow a_expr without creating
+ * postfix-operator problems.
+ */
+%nonassoc IDENT PARTITION RANGE ROWS
%left Op OPERATOR /* multi-character ops and user-defined operators */
%nonassoc NOTNULL
%nonassoc ISNULL
@@ -558,6 +615,8 @@ stmt :
AlterDatabaseStmt
| AlterDatabaseSetStmt
| AlterDomainStmt
+ | AlterFdwStmt
+ | AlterForeignServerStmt
| AlterFunctionStmt
| AlterGroupStmt
| AlterObjectSchemaStmt
@@ -568,6 +627,7 @@ stmt :
| AlterRoleStmt
| AlterTSConfigurationStmt
| AlterTSDictionaryStmt
+ | AlterUserMappingStmt
| AlterUserSetStmt
| AlterUserStmt
| AnalyzeStmt
@@ -582,6 +642,8 @@ stmt :
| CreateCastStmt
| CreateConversionStmt
| CreateDomainStmt
+ | CreateFdwStmt
+ | CreateForeignServerStmt
| CreateFunctionStmt
| CreateGroupStmt
| CreateOpClassStmt
@@ -595,6 +657,7 @@ stmt :
| CreateTrigStmt
| CreateRoleStmt
| CreateUserStmt
+ | CreateUserMappingStmt
| CreatedbStmt
| DeallocateStmt
| DeclareCursorStmt
@@ -603,6 +666,8 @@ stmt :
| DiscardStmt
| DropAssertStmt
| DropCastStmt
+ | DropFdwStmt
+ | DropForeignServerStmt
| DropGroupStmt
| DropOpClassStmt
| DropOpFamilyStmt
@@ -614,6 +679,7 @@ stmt :
| DropTrigStmt
| DropRoleStmt
| DropUserStmt
+ | DropUserMappingStmt
| DropdbStmt
| ExecuteStmt
| ExplainStmt
@@ -1132,13 +1198,29 @@ set_rest: /* Generic SET syntaxes: */
n->args = $5;
$$ = n;
}
+ | CATALOG_P Sconst
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("current database cannot be changed"),
+ scanner_errposition(@2)));
+ $$ = NULL; /*not reached*/
+ }
+ | SCHEMA Sconst
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+ n->kind = VAR_SET_VALUE;
+ n->name = "search_path";
+ n->args = list_make1(makeStringConst($2, @2));
+ $$ = n;
+ }
| NAMES opt_encoding
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "client_encoding";
if ($2 != NULL)
- n->args = list_make1(makeStringConst($2, NULL));
+ n->args = list_make1(makeStringConst($2, @2));
else
n->kind = VAR_SET_DEFAULT;
$$ = n;
@@ -1148,7 +1230,7 @@ set_rest: /* Generic SET syntaxes: */
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "role";
- n->args = list_make1(makeStringConst($2, NULL));
+ n->args = list_make1(makeStringConst($2, @2));
$$ = n;
}
| SESSION AUTHORIZATION ColId_or_Sconst
@@ -1156,7 +1238,7 @@ set_rest: /* Generic SET syntaxes: */
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "session_authorization";
- n->args = list_make1(makeStringConst($3, NULL));
+ n->args = list_make1(makeStringConst($3, @3));
$$ = n;
}
| SESSION AUTHORIZATION DEFAULT
@@ -1171,7 +1253,7 @@ set_rest: /* Generic SET syntaxes: */
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "xmloption";
- n->args = list_make1(makeStringConst($3 == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", NULL));
+ n->args = list_make1(makeStringConst($3 == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", @3));
$$ = n;
}
;
@@ -1189,11 +1271,11 @@ var_list: var_value { $$ = list_make1($1); }
;
var_value: opt_boolean
- { $$ = makeStringConst($1, NULL); }
+ { $$ = makeStringConst($1, @1); }
| ColId_or_Sconst
- { $$ = makeStringConst($1, NULL); }
+ { $$ = makeStringConst($1, @1); }
| NumericOnly
- { $$ = makeAConst($1); }
+ { $$ = makeAConst($1, @1); }
;
iso_level: READ UNCOMMITTED { $$ = "read uncommitted"; }
@@ -1215,43 +1297,56 @@ opt_boolean:
* - an integer or floating point number
* - a time interval per SQL99
* ColId gives reduce/reduce errors against ConstInterval and LOCAL,
- * so use IDENT and reject anything which is a reserved word.
+ * so use IDENT (meaning we reject anything that is a key word).
*/
zone_value:
Sconst
{
- $$ = makeStringConst($1, NULL);
+ $$ = makeStringConst($1, @1);
}
| IDENT
{
- $$ = makeStringConst($1, NULL);
+ $$ = makeStringConst($1, @1);
}
| ConstInterval Sconst opt_interval
{
- A_Const *n = (A_Const *) makeStringConst($2, $1);
- if ($3 != INTERVAL_FULL_RANGE)
+ TypeName *t = $1;
+ if ($3 != NIL)
{
- if (($3 & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
+ A_Const *n = (A_Const *) linitial($3);
+ if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("time zone interval must be HOUR or HOUR TO MINUTE")));
- n->typename->typmods = list_make1(makeIntConst($3));
+ errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
+ scanner_errposition(@3)));
}
- $$ = (Node *)n;
+ t->typmods = $3;
+ $$ = makeStringConstCast($2, @2, t);
}
| ConstInterval '(' Iconst ')' Sconst opt_interval
{
- A_Const *n = (A_Const *) makeStringConst($5, $1);
- if (($6 != INTERVAL_FULL_RANGE)
- && (($6 & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0))
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("time zone interval must be HOUR or HOUR TO MINUTE")));
- n->typename->typmods = list_make2(makeIntConst($6),
- makeIntConst($3));
- $$ = (Node *)n;
+ TypeName *t = $1;
+ if ($6 != NIL)
+ {
+ A_Const *n = (A_Const *) linitial($6);
+ if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
+ scanner_errposition(@6)));
+ if (list_length($6) != 1)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("interval precision specified twice"),
+ scanner_errposition(@1)));
+ t->typmods = lappend($6, makeIntConst($3, @3));
+ }
+ else
+ t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
+ makeIntConst($3, @3));
+ $$ = makeStringConstCast($5, @5, t);
}
- | NumericOnly { $$ = makeAConst($1); }
+ | NumericOnly { $$ = makeAConst($1, @1); }
| DEFAULT { $$ = NULL; }
| LOCAL { $$ = NULL; }
;
@@ -1264,7 +1359,7 @@ opt_encoding:
ColId_or_Sconst:
ColId { $$ = $1; }
- | SCONST { $$ = $1; }
+ | Sconst { $$ = $1; }
;
VariableResetStmt:
@@ -1414,8 +1509,10 @@ DiscardStmt:
/*****************************************************************************
*
- * ALTER [ TABLE | INDEX ] variations
+ * ALTER [ TABLE | INDEX | SEQUENCE | VIEW ] variations
*
+ * Note: we accept all subcommands for each of the four variants, and sort
+ * out what's really legal at execution time.
*****************************************************************************/
AlterTableStmt:
@@ -1427,7 +1524,7 @@ AlterTableStmt:
n->relkind = OBJECT_TABLE;
$$ = (Node *)n;
}
- | ALTER INDEX relation_expr alter_rel_cmds
+ | ALTER INDEX qualified_name alter_table_cmds
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = $3;
@@ -1435,6 +1532,22 @@ AlterTableStmt:
n->relkind = OBJECT_INDEX;
$$ = (Node *)n;
}
+ | ALTER SEQUENCE qualified_name alter_table_cmds
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+ n->relation = $3;
+ n->cmds = $4;
+ n->relkind = OBJECT_SEQUENCE;
+ $$ = (Node *)n;
+ }
+ | ALTER VIEW qualified_name alter_table_cmds
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+ n->relation = $3;
+ n->cmds = $4;
+ n->relkind = OBJECT_VIEW;
+ $$ = (Node *)n;
+ }
;
alter_table_cmds:
@@ -1442,9 +1555,8 @@ alter_table_cmds:
| alter_table_cmds ',' alter_table_cmd { $$ = lappend($1, $3); }
;
-/* Subcommands that are for ALTER TABLE only */
alter_table_cmd:
- /* ALTER TABLE <relation> ADD [COLUMN] <coldef> */
+ /* ALTER TABLE <name> ADD [COLUMN] <coldef> */
ADD_P opt_column columnDef
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1452,7 +1564,7 @@ alter_table_cmd:
n->def = $3;
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> ALTER [COLUMN] <colname> {SET DEFAULT <expr>|DROP DEFAULT} */
+ /* ALTER TABLE <name> ALTER [COLUMN] <colname> {SET DEFAULT <expr>|DROP DEFAULT} */
| ALTER opt_column ColId alter_column_default
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1461,7 +1573,7 @@ alter_table_cmd:
n->def = $4;
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> ALTER [COLUMN] <colname> DROP NOT NULL */
+ /* ALTER TABLE <name> ALTER [COLUMN] <colname> DROP NOT NULL */
| ALTER opt_column ColId DROP NOT NULL_P
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1469,7 +1581,7 @@ alter_table_cmd:
n->name = $3;
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> ALTER [COLUMN] <colname> SET NOT NULL */
+ /* ALTER TABLE <name> ALTER [COLUMN] <colname> SET NOT NULL */
| ALTER opt_column ColId SET NOT NULL_P
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1477,16 +1589,16 @@ alter_table_cmd:
n->name = $3;
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> ALTER [COLUMN] <colname> SET STATISTICS <IntegerOnly> */
- | ALTER opt_column ColId SET STATISTICS IntegerOnly
+ /* ALTER TABLE <name> ALTER [COLUMN] <colname> SET STATISTICS <SignedIconst> */
+ | ALTER opt_column ColId SET STATISTICS SignedIconst
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStatistics;
n->name = $3;
- n->def = (Node *) $6;
+ n->def = (Node *) makeInteger($6);
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> ALTER [COLUMN] <colname> SET STORAGE <storagemode> */
+ /* ALTER TABLE <name> ALTER [COLUMN] <colname> SET STORAGE <storagemode> */
| ALTER opt_column ColId SET STORAGE ColId
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1495,7 +1607,7 @@ alter_table_cmd:
n->def = (Node *) makeString($6);
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> DROP [COLUMN] <colname> [RESTRICT|CASCADE] */
+ /* ALTER TABLE <name> DROP [COLUMN] <colname> [RESTRICT|CASCADE] */
| DROP opt_column ColId opt_drop_behavior
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1505,19 +1617,19 @@ alter_table_cmd:
$$ = (Node *)n;
}
/*
- * ALTER TABLE <relation> ALTER [COLUMN] <colname> TYPE <typename>
+ * ALTER TABLE <name> ALTER [COLUMN] <colname> [SET DATA] TYPE <typename>
* [ USING <expression> ]
*/
- | ALTER opt_column ColId TYPE_P Typename alter_using
+ | ALTER opt_column ColId opt_set_data TYPE_P Typename alter_using
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AlterColumnType;
n->name = $3;
- n->def = (Node *) $5;
- n->transform = $6;
+ n->def = (Node *) $6;
+ n->transform = $7;
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> ADD CONSTRAINT ... */
+ /* ALTER TABLE <name> ADD CONSTRAINT ... */
| ADD_P TableConstraint
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1525,7 +1637,7 @@ alter_table_cmd:
n->def = $2;
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> DROP CONSTRAINT <name> [RESTRICT|CASCADE] */
+ /* ALTER TABLE <name> DROP CONSTRAINT <name> [RESTRICT|CASCADE] */
| DROP CONSTRAINT name opt_drop_behavior
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1534,7 +1646,14 @@ alter_table_cmd:
n->behavior = $4;
$$ = (Node *)n;
}
- /* ALTER TABLE <relation> SET WITHOUT OIDS */
+ /* ALTER TABLE <name> SET WITH OIDS */
+ | SET WITH OIDS
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ n->subtype = AT_AddOids;
+ $$ = (Node *)n;
+ }
+ /* ALTER TABLE <name> SET WITHOUT OIDS */
| SET WITHOUT OIDS
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1665,28 +1784,15 @@ alter_table_cmd:
n->def = (Node *) $3;
$$ = (Node *)n;
}
- | alter_rel_cmd
- {
- $$ = $1;
- }
- ;
-
-alter_rel_cmds:
- alter_rel_cmd { $$ = list_make1($1); }
- | alter_rel_cmds ',' alter_rel_cmd { $$ = lappend($1, $3); }
- ;
-
-/* Subcommands that are for ALTER TABLE or ALTER INDEX */
-alter_rel_cmd:
- /* ALTER [TABLE|INDEX] <name> OWNER TO RoleId */
- OWNER TO RoleId
+ /* ALTER TABLE <name> OWNER TO RoleId */
+ | OWNER TO RoleId
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
n->name = $3;
$$ = (Node *)n;
}
- /* ALTER [TABLE|INDEX] <name> SET TABLESPACE <tablespacename> */
+ /* ALTER TABLE <name> SET TABLESPACE <tablespacename> */
| SET TABLESPACE name
{
AlterTableCmd *n = makeNode(AlterTableCmd);
@@ -1694,16 +1800,16 @@ alter_rel_cmd:
n->name = $3;
$$ = (Node *)n;
}
- /* ALTER [TABLE|INDEX] <name> SET (...) */
- | SET definition
+ /* ALTER TABLE <name> SET (...) */
+ | SET reloptions
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
n->def = (Node *)$2;
$$ = (Node *)n;
}
- /* ALTER [TABLE|INDEX] <name> RESET (...) */
- | RESET definition
+ /* ALTER TABLE <name> RESET (...) */
+ | RESET reloptions
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
@@ -1735,6 +1841,39 @@ alter_using:
| /* EMPTY */ { $$ = NULL; }
;
+reloptions:
+ '(' reloption_list ')' { $$ = $2; }
+ ;
+
+opt_reloptions: WITH reloptions { $$ = $2; }
+ | /* EMPTY */ { $$ = NIL; }
+ ;
+
+reloption_list:
+ reloption_elem { $$ = list_make1($1); }
+ | reloption_list ',' reloption_elem { $$ = lappend($1, $3); }
+ ;
+
+/* This should match def_elem and also allow qualified names */
+reloption_elem:
+ ColLabel '=' def_arg
+ {
+ $$ = makeDefElem($1, (Node *) $3);
+ }
+ | ColLabel
+ {
+ $$ = makeDefElem($1, NULL);
+ }
+ | ColLabel '.' ColLabel '=' def_arg
+ {
+ $$ = makeDefElemExtended($1, $3, (Node *) $5,
+ DEFELEM_UNSPEC);
+ }
+ | ColLabel '.' ColLabel
+ {
+ $$ = makeDefElemExtended($1, $3, NULL, DEFELEM_UNSPEC);
+ }
+ ;
/*****************************************************************************
@@ -2184,7 +2323,7 @@ ConstraintAttr:
* tables completely decoupled except for the original commonality in definitions.
*
* This is very similar to CREATE TABLE AS except for the INCLUDING DEFAULTS extension
- * which is a part of SQL 200N
+ * which is a part of SQL:2003.
*/
TableLikeClause:
LIKE qualified_name TableLikeOptionList
@@ -2316,7 +2455,8 @@ key_match: MATCH FULL
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("MATCH PARTIAL not yet implemented")));
+ errmsg("MATCH PARTIAL not yet implemented"),
+ scanner_errposition(@1)));
$$ = FKCONSTR_MATCH_PARTIAL;
}
| MATCH SIMPLE
@@ -2368,7 +2508,7 @@ OptInherit: INHERITS '(' qualified_name_list ')' { $$ = $3; }
/* WITH (options) is preferred, WITH OIDS and WITHOUT OIDS are legacy forms */
OptWith:
- WITH definition { $$ = $2; }
+ WITH reloptions { $$ = $2; }
| WITH OIDS { $$ = list_make1(defWithOids(true)); }
| WITHOUT OIDS { $$ = list_make1(defWithOids(false)); }
| /*EMPTY*/ { $$ = NIL; }
@@ -2395,7 +2535,7 @@ OptConsTableSpace: USING INDEX TABLESPACE name { $$ = $4; }
*/
CreateAsStmt:
- CREATE OptTemp TABLE create_as_target AS SelectStmt
+ CREATE OptTemp TABLE create_as_target AS SelectStmt opt_with_data
{
/*
* When the SelectStmt is a set-operation tree, we must
@@ -2408,9 +2548,13 @@ CreateAsStmt:
if (n->intoClause != NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("CREATE TABLE AS cannot specify INTO")));
+ errmsg("CREATE TABLE AS cannot specify INTO"),
+ scanner_errposition(exprLocation((Node *) n->intoClause))));
$4->rel->istemp = $2;
n->intoClause = $4;
+ /* Implement WITH NO DATA by forcing top-level LIMIT 0 */
+ if (!$7)
+ ((SelectStmt *) $6)->limitCount = makeIntConst(0, -1);
$$ = $6;
}
;
@@ -2453,6 +2597,12 @@ CreateAsElement:
}
;
+opt_with_data:
+ WITH DATA_P { $$ = TRUE; }
+ | WITH NO DATA_P { $$ = FALSE; }
+ | /*EMPTY*/ { $$ = TRUE; }
+ ;
+
/*****************************************************************************
*
@@ -2463,7 +2613,7 @@ CreateAsElement:
*****************************************************************************/
CreateSeqStmt:
- CREATE OptTemp SEQUENCE qualified_name OptSeqList
+ CREATE OptTemp SEQUENCE qualified_name OptSeqOptList
{
CreateSeqStmt *n = makeNode(CreateSeqStmt);
$4->istemp = $2;
@@ -2474,7 +2624,7 @@ CreateSeqStmt:
;
AlterSeqStmt:
- ALTER SEQUENCE qualified_name OptSeqList
+ ALTER SEQUENCE qualified_name SeqOptList
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = $3;
@@ -2483,11 +2633,15 @@ AlterSeqStmt:
}
;
-OptSeqList: OptSeqList OptSeqElem { $$ = lappend($1, $2); }
+OptSeqOptList: SeqOptList { $$ = $1; }
| /*EMPTY*/ { $$ = NIL; }
;
-OptSeqElem: CACHE NumericOnly
+SeqOptList: SeqOptElem { $$ = list_make1($1); }
+ | SeqOptList SeqOptElem { $$ = lappend($1, $2); }
+ ;
+
+SeqOptElem: CACHE NumericOnly
{
$$ = makeDefElem("cache", (Node *)$2);
}
@@ -2527,6 +2681,10 @@ OptSeqElem: CACHE NumericOnly
{
$$ = makeDefElem("start", (Node *)$3);
}
+ | RESTART
+ {
+ $$ = makeDefElem("restart", NULL);
+ }
| RESTART opt_with NumericOnly
{
$$ = makeDefElem("restart", (Node *)$3);
@@ -2538,21 +2696,15 @@ opt_by: BY {}
;
NumericOnly:
- FloatOnly { $$ = $1; }
- | IntegerOnly { $$ = $1; }
- ;
-
-FloatOnly: FCONST { $$ = makeFloat($1); }
+ FCONST { $$ = makeFloat($1); }
| '-' FCONST
{
$$ = makeFloat($2);
doNegateFloat($$);
}
+ | SignedIconst { $$ = makeInteger($1); };
;
-IntegerOnly: SignedIconst { $$ = makeInteger($1); };
-
-
/*****************************************************************************
*
* QUERIES :
@@ -2599,8 +2751,13 @@ handler_name:
| name attrs { $$ = lcons(makeString($1), $2); }
;
-opt_validator:
+validator_clause:
VALIDATOR handler_name { $$ = $2; }
+ | NO VALIDATOR { $$ = NIL; }
+ ;
+
+opt_validator:
+ validator_clause { $$ = $1; }
| /*EMPTY*/ { $$ = NIL; }
;
@@ -2682,201 +2839,498 @@ DropTableSpaceStmt: DROP TABLESPACE name
/*****************************************************************************
*
- * QUERIES :
- * CREATE TRIGGER ...
- * DROP TRIGGER ...
+ * QUERY:
+ * CREATE FOREIGN DATA WRAPPER name [ VALIDATOR name ]
*
*****************************************************************************/
-CreateTrigStmt:
- CREATE TRIGGER name TriggerActionTime TriggerEvents ON
- qualified_name TriggerForSpec EXECUTE PROCEDURE
- func_name '(' TriggerFuncArgs ')'
+CreateFdwStmt: CREATE FOREIGN DATA_P WRAPPER name opt_validator create_generic_options
{
- CreateTrigStmt *n = makeNode(CreateTrigStmt);
- n->trigname = $3;
- n->relation = $7;
- n->funcname = $11;
- n->args = $13;
- n->before = $4;
- n->row = $8;
- memcpy(n->actions, $5, 4);
- n->isconstraint = FALSE;
- n->deferrable = FALSE;
- n->initdeferred = FALSE;
- n->constrrel = NULL;
- $$ = (Node *)n;
+ CreateFdwStmt *n = makeNode(CreateFdwStmt);
+ n->fdwname = $5;
+ n->validator = $6;
+ n->options = $7;
+ $$ = (Node *) n;
}
- | CREATE CONSTRAINT TRIGGER name AFTER TriggerEvents ON
- qualified_name OptConstrFromTable
- ConstraintAttributeSpec
- FOR EACH ROW EXECUTE PROCEDURE
- func_name '(' TriggerFuncArgs ')'
- {
- CreateTrigStmt *n = makeNode(CreateTrigStmt);
- n->trigname = $4;
- n->relation = $8;
- n->funcname = $16;
- n->args = $18;
- n->before = FALSE;
- n->row = TRUE;
- memcpy(n->actions, $6, 4);
- n->isconstraint = TRUE;
- n->deferrable = ($10 & 1) != 0;
- n->initdeferred = ($10 & 2) != 0;
+ ;
- n->constrrel = $9;
- $$ = (Node *)n;
+/*****************************************************************************
+ *
+ * QUERY :
+ * DROP FOREIGN DATA WRAPPER name
+ *
+ ****************************************************************************/
+
+DropFdwStmt: DROP FOREIGN DATA_P WRAPPER name opt_drop_behavior
+ {
+ DropFdwStmt *n = makeNode(DropFdwStmt);
+ n->fdwname = $5;
+ n->missing_ok = false;
+ n->behavior = $6;
+ $$ = (Node *) n;
+ }
+ | DROP FOREIGN DATA_P WRAPPER IF_P EXISTS name opt_drop_behavior
+ {
+ DropFdwStmt *n = makeNode(DropFdwStmt);
+ n->fdwname = $7;
+ n->missing_ok = true;
+ n->behavior = $8;
+ $$ = (Node *) n;
}
;
-TriggerActionTime:
- BEFORE { $$ = TRUE; }
- | AFTER { $$ = FALSE; }
- ;
+/*****************************************************************************
+ *
+ * QUERY :
+ * ALTER FOREIGN DATA WRAPPER name
+ *
+ ****************************************************************************/
-TriggerEvents:
- TriggerOneEvent
+AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name validator_clause alter_generic_options
{
- char *e = palloc(4);
- e[0] = $1; e[1] = '\0';
- $$ = e;
+ AlterFdwStmt *n = makeNode(AlterFdwStmt);
+ n->fdwname = $5;
+ n->validator = $6;
+ n->change_validator = true;
+ n->options = $7;
+ $$ = (Node *) n;
}
- | TriggerOneEvent OR TriggerOneEvent
+ | ALTER FOREIGN DATA_P WRAPPER name validator_clause
{
- char *e = palloc(4);
- e[0] = $1; e[1] = $3; e[2] = '\0';
- $$ = e;
+ AlterFdwStmt *n = makeNode(AlterFdwStmt);
+ n->fdwname = $5;
+ n->validator = $6;
+ n->change_validator = true;
+ $$ = (Node *) n;
}
- | TriggerOneEvent OR TriggerOneEvent OR TriggerOneEvent
+ | ALTER FOREIGN DATA_P WRAPPER name alter_generic_options
{
- char *e = palloc(4);
- e[0] = $1; e[1] = $3; e[2] = $5; e[3] = '\0';
- $$ = e;
+ AlterFdwStmt *n = makeNode(AlterFdwStmt);
+ n->fdwname = $5;
+ n->options = $6;
+ $$ = (Node *) n;
}
;
-TriggerOneEvent:
- INSERT { $$ = 'i'; }
- | DELETE_P { $$ = 'd'; }
- | UPDATE { $$ = 'u'; }
+/* Options definition for CREATE FDW, SERVER and USER MAPPING */
+create_generic_options:
+ OPTIONS '(' generic_option_list ')' { $$ = $3; }
+ | /*EMPTY*/ { $$ = NIL; }
;
-TriggerForSpec:
- FOR TriggerForOpt TriggerForType
+generic_option_list:
+ generic_option_elem
{
- $$ = $3;
+ $$ = list_make1($1);
}
- | /* EMPTY */
+ | generic_option_list ',' generic_option_elem
{
- /*
- * If ROW/STATEMENT not specified, default to
- * STATEMENT, per SQL
- */
- $$ = FALSE;
+ $$ = lappend($1, $3);
}
;
-TriggerForOpt:
- EACH {}
- | /*EMPTY*/ {}
- ;
-
-TriggerForType:
- ROW { $$ = TRUE; }
- | STATEMENT { $$ = FALSE; }
- ;
-
-TriggerFuncArgs:
- TriggerFuncArg { $$ = list_make1($1); }
- | TriggerFuncArgs ',' TriggerFuncArg { $$ = lappend($1, $3); }
- | /*EMPTY*/ { $$ = NIL; }
+/* Options definition for ALTER FDW, SERVER and USER MAPPING */
+alter_generic_options:
+ OPTIONS '(' alter_generic_option_list ')' { $$ = $3; }
;
-TriggerFuncArg:
- ICONST
+alter_generic_option_list:
+ alter_generic_option_elem
{
- char buf[64];
- snprintf(buf, sizeof(buf), "%d", $1);
- $$ = makeString(pstrdup(buf));
+ $$ = list_make1($1);
+ }
+ | alter_generic_option_list ',' alter_generic_option_elem
+ {
+ $$ = lappend($1, $3);
}
- | FCONST { $$ = makeString($1); }
- | Sconst { $$ = makeString($1); }
- | BCONST { $$ = makeString($1); }
- | XCONST { $$ = makeString($1); }
- | ColId { $$ = makeString($1); }
- ;
-
-OptConstrFromTable:
- FROM qualified_name { $$ = $2; }
- | /*EMPTY*/ { $$ = NULL; }
;
-ConstraintAttributeSpec:
- ConstraintDeferrabilitySpec
- { $$ = $1; }
- | ConstraintDeferrabilitySpec ConstraintTimeSpec
+alter_generic_option_elem:
+ generic_option_elem
{
- if ($1 == 0 && $2 != 0)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE")));
- $$ = $1 | $2;
+ $$ = $1;
}
- | ConstraintTimeSpec
+ | SET generic_option_elem
{
- if ($1 != 0)
- $$ = 3;
- else
- $$ = 0;
+ $$ = $2;
+ $$->defaction = DEFELEM_SET;
}
- | ConstraintTimeSpec ConstraintDeferrabilitySpec
+ | ADD_P generic_option_elem
{
- if ($2 == 0 && $1 != 0)
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE")));
- $$ = $1 | $2;
+ $$ = $2;
+ $$->defaction = DEFELEM_ADD;
+ }
+ | DROP generic_option_name
+ {
+ $$ = makeDefElemExtended(NULL, $2, NULL, DEFELEM_DROP);
}
- | /*EMPTY*/
- { $$ = 0; }
;
-ConstraintDeferrabilitySpec:
- NOT DEFERRABLE { $$ = 0; }
- | DEFERRABLE { $$ = 1; }
+generic_option_elem:
+ generic_option_name generic_option_arg
+ {
+ $$ = makeDefElem($1, $2);
+ }
;
-ConstraintTimeSpec:
- INITIALLY IMMEDIATE { $$ = 0; }
- | INITIALLY DEFERRED { $$ = 2; }
+generic_option_name:
+ ColLabel { $$ = $1; }
;
-
-DropTrigStmt:
- DROP TRIGGER name ON qualified_name opt_drop_behavior
- {
- DropPropertyStmt *n = makeNode(DropPropertyStmt);
- n->relation = $5;
- n->property = $3;
- n->behavior = $6;
- n->removeType = OBJECT_TRIGGER;
- n->missing_ok = false;
- $$ = (Node *) n;
- }
- | DROP TRIGGER IF_P EXISTS name ON qualified_name opt_drop_behavior
- {
- DropPropertyStmt *n = makeNode(DropPropertyStmt);
- n->relation = $7;
- n->property = $5;
- n->behavior = $8;
- n->removeType = OBJECT_TRIGGER;
- n->missing_ok = true;
- $$ = (Node *) n;
- }
+/* We could use def_arg here, but the spec only requires string literals */
+generic_option_arg:
+ Sconst { $$ = (Node *) makeString($1); }
;
-
+/*****************************************************************************
+ *
+ * QUERY:
+ * CREATE SERVER name [TYPE] [VERSION] [OPTIONS]
+ *
+ *****************************************************************************/
+
+CreateForeignServerStmt: CREATE SERVER name opt_type opt_foreign_server_version
+ FOREIGN DATA_P WRAPPER name create_generic_options
+ {
+ CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
+ n->servername = $3;
+ n->servertype = $4;
+ n->version = $5;
+ n->fdwname = $9;
+ n->options = $10;
+ $$ = (Node *) n;
+ }
+ ;
+
+opt_type:
+ TYPE_P Sconst { $$ = $2; }
+ | /*EMPTY*/ { $$ = NULL; }
+ ;
+
+
+foreign_server_version:
+ VERSION_P Sconst { $$ = $2; }
+ | VERSION_P NULL_P { $$ = NULL; }
+ ;
+
+opt_foreign_server_version:
+ foreign_server_version { $$ = $1; }
+ | /*EMPTY*/ { $$ = NULL; }
+ ;
+
+/*****************************************************************************
+ *
+ * QUERY :
+ * DROP SERVER name
+ *
+ ****************************************************************************/
+
+DropForeignServerStmt: DROP SERVER name opt_drop_behavior
+ {
+ DropForeignServerStmt *n = makeNode(DropForeignServerStmt);
+ n->servername = $3;
+ n->missing_ok = false;
+ n->behavior = $4;
+ $$ = (Node *) n;
+ }
+ | DROP SERVER IF_P EXISTS name opt_drop_behavior
+ {
+ DropForeignServerStmt *n = makeNode(DropForeignServerStmt);
+ n->servername = $5;
+ n->missing_ok = true;
+ n->behavior = $6;
+ $$ = (Node *) n;
+ }
+ ;
+
+/*****************************************************************************
+ *
+ * QUERY :
+ * ALTER SERVER name [VERSION] [OPTIONS]
+ *
+ ****************************************************************************/
+
+AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_options
+ {
+ AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
+ n->servername = $3;
+ n->version = $4;
+ n->options = $5;
+ n->has_version = true;
+ $$ = (Node *) n;
+ }
+ | ALTER SERVER name foreign_server_version
+ {
+ AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
+ n->servername = $3;
+ n->version = $4;
+ n->has_version = true;
+ $$ = (Node *) n;
+ }
+ | ALTER SERVER name alter_generic_options
+ {
+ AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
+ n->servername = $3;
+ n->options = $4;
+ $$ = (Node *) n;
+ }
+ ;
+
+/*****************************************************************************
+ *
+ * QUERY:
+ * CREATE USER MAPPING FOR auth_ident SERVER name [OPTIONS]
+ *
+ *****************************************************************************/
+
+CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options
+ {
+ CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
+ n->username = $5;
+ n->servername = $7;
+ n->options = $8;
+ $$ = (Node *) n;
+ }
+ ;
+
+/* User mapping authorization identifier */
+auth_ident:
+ CURRENT_USER { $$ = "current_user"; }
+ | USER { $$ = "current_user"; }
+ | RoleId { $$ = (strcmp($1, "public") == 0) ? NULL : $1; }
+ ;
+
+/*****************************************************************************
+ *
+ * QUERY :
+ * DROP USER MAPPING FOR auth_ident SERVER name
+ *
+ ****************************************************************************/
+
+DropUserMappingStmt: DROP USER MAPPING FOR auth_ident SERVER name
+ {
+ DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
+ n->username = $5;
+ n->servername = $7;
+ n->missing_ok = false;
+ $$ = (Node *) n;
+ }
+ | DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name
+ {
+ DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
+ n->username = $7;
+ n->servername = $9;
+ n->missing_ok = true;
+ $$ = (Node *) n;
+ }
+ ;
+
+/*****************************************************************************
+ *
+ * QUERY :
+ * ALTER USER MAPPING FOR auth_ident SERVER name OPTIONS
+ *
+ ****************************************************************************/
+
+AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options
+ {
+ AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
+ n->username = $5;
+ n->servername = $7;
+ n->options = $8;
+ $$ = (Node *) n;
+ }
+ ;
+
+/*****************************************************************************
+ *
+ * QUERIES :
+ * CREATE TRIGGER ...
+ * DROP TRIGGER ...
+ *
+ *****************************************************************************/
+
+CreateTrigStmt:
+ CREATE TRIGGER name TriggerActionTime TriggerEvents ON
+ qualified_name TriggerForSpec EXECUTE PROCEDURE
+ func_name '(' TriggerFuncArgs ')'
+ {
+ CreateTrigStmt *n = makeNode(CreateTrigStmt);
+ n->trigname = $3;
+ n->relation = $7;
+ n->funcname = $11;
+ n->args = $13;
+ n->before = $4;
+ n->row = $8;
+ n->events = $5;
+ n->isconstraint = FALSE;
+ n->deferrable = FALSE;
+ n->initdeferred = FALSE;
+ n->constrrel = NULL;
+ $$ = (Node *)n;
+ }
+ | CREATE CONSTRAINT TRIGGER name AFTER TriggerEvents ON
+ qualified_name OptConstrFromTable
+ ConstraintAttributeSpec
+ FOR EACH ROW EXECUTE PROCEDURE
+ func_name '(' TriggerFuncArgs ')'
+ {
+ CreateTrigStmt *n = makeNode(CreateTrigStmt);
+ n->trigname = $4;
+ n->relation = $8;
+ n->funcname = $16;
+ n->args = $18;
+ n->before = FALSE;
+ n->row = TRUE;
+ n->events = $6;
+ n->isconstraint = TRUE;
+ n->deferrable = ($10 & 1) != 0;
+ n->initdeferred = ($10 & 2) != 0;
+ n->constrrel = $9;
+ $$ = (Node *)n;
+ }
+ ;
+
+TriggerActionTime:
+ BEFORE { $$ = TRUE; }
+ | AFTER { $$ = FALSE; }
+ ;
+
+TriggerEvents:
+ TriggerOneEvent
+ { $$ = $1; }
+ | TriggerEvents OR TriggerOneEvent
+ {
+ if ($1 & $3)
+ yyerror("duplicate trigger events specified");
+ $$ = $1 | $3;
+ }
+ ;
+
+TriggerOneEvent:
+ INSERT { $$ = TRIGGER_TYPE_INSERT; }
+ | DELETE_P { $$ = TRIGGER_TYPE_DELETE; }
+ | UPDATE { $$ = TRIGGER_TYPE_UPDATE; }
+ | TRUNCATE { $$ = TRIGGER_TYPE_TRUNCATE; }
+ ;
+
+TriggerForSpec:
+ FOR TriggerForOpt TriggerForType
+ {
+ $$ = $3;
+ }
+ | /* EMPTY */
+ {
+ /*
+ * If ROW/STATEMENT not specified, default to
+ * STATEMENT, per SQL
+ */
+ $$ = FALSE;
+ }
+ ;
+
+TriggerForOpt:
+ EACH {}
+ | /*EMPTY*/ {}
+ ;
+
+TriggerForType:
+ ROW { $$ = TRUE; }
+ | STATEMENT { $$ = FALSE; }
+ ;
+
+TriggerFuncArgs:
+ TriggerFuncArg { $$ = list_make1($1); }
+ | TriggerFuncArgs ',' TriggerFuncArg { $$ = lappend($1, $3); }
+ | /*EMPTY*/ { $$ = NIL; }
+ ;
+
+TriggerFuncArg:
+ Iconst
+ {
+ char buf[64];
+ snprintf(buf, sizeof(buf), "%d", $1);
+ $$ = makeString(pstrdup(buf));
+ }
+ | FCONST { $$ = makeString($1); }
+ | Sconst { $$ = makeString($1); }
+ | BCONST { $$ = makeString($1); }
+ | XCONST { $$ = makeString($1); }
+ | ColId { $$ = makeString($1); }
+ ;
+
+OptConstrFromTable:
+ FROM qualified_name { $$ = $2; }
+ | /*EMPTY*/ { $$ = NULL; }
+ ;
+
+ConstraintAttributeSpec:
+ ConstraintDeferrabilitySpec
+ { $$ = $1; }
+ | ConstraintDeferrabilitySpec ConstraintTimeSpec
+ {
+ if ($1 == 0 && $2 != 0)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
+ scanner_errposition(@1)));
+ $$ = $1 | $2;
+ }
+ | ConstraintTimeSpec
+ {
+ if ($1 != 0)
+ $$ = 3;
+ else
+ $$ = 0;
+ }
+ | ConstraintTimeSpec ConstraintDeferrabilitySpec
+ {
+ if ($2 == 0 && $1 != 0)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
+ scanner_errposition(@1)));
+ $$ = $1 | $2;
+ }
+ | /*EMPTY*/
+ { $$ = 0; }
+ ;
+
+ConstraintDeferrabilitySpec:
+ NOT DEFERRABLE { $$ = 0; }
+ | DEFERRABLE { $$ = 1; }
+ ;
+
+ConstraintTimeSpec:
+ INITIALLY IMMEDIATE { $$ = 0; }
+ | INITIALLY DEFERRED { $$ = 2; }
+ ;
+
+
+DropTrigStmt:
+ DROP TRIGGER name ON qualified_name opt_drop_behavior
+ {
+ DropPropertyStmt *n = makeNode(DropPropertyStmt);
+ n->relation = $5;
+ n->property = $3;
+ n->behavior = $6;
+ n->removeType = OBJECT_TRIGGER;
+ n->missing_ok = false;
+ $$ = (Node *) n;
+ }
+ | DROP TRIGGER IF_P EXISTS name ON qualified_name opt_drop_behavior
+ {
+ DropPropertyStmt *n = makeNode(DropPropertyStmt);
+ n->relation = $7;
+ n->property = $5;
+ n->behavior = $8;
+ n->removeType = OBJECT_TRIGGER;
+ n->missing_ok = true;
+ $$ = (Node *) n;
+ }
+ ;
+
+
/*****************************************************************************
*
* QUERIES :
@@ -3007,9 +3461,11 @@ DefineStmt:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
- NameListToString($3))));
+ NameListToString($3)),
+ scanner_errposition(@3)));
break;
}
+ r->location = @3;
n->typevar = r;
n->coldeflist = $6;
$$ = (Node *)n;
@@ -3066,9 +3522,9 @@ def_list: def_elem { $$ = list_make1($1); }
| def_list ',' def_elem { $$ = lappend($1, $3); }
;
-def_elem: ColLabel '=' def_arg
+def_elem: ColLabel '=' def_arg
{
- $$ = makeDefElem($1, (Node *)$3);
+ $$ = makeDefElem($1, (Node *) $3);
}
| ColLabel
{
@@ -3095,6 +3551,11 @@ old_aggr_list: old_aggr_elem { $$ = list_make1($1); }
| old_aggr_list ',' old_aggr_elem { $$ = lappend($1, $3); }
;
+/*
+ * Must use IDENT here to avoid reduce/reduce conflicts; fortunately none of
+ * the item names needed in old aggregate definitions are likely to become
+ * SQL keywords.
+ */
old_aggr_elem: IDENT '=' def_arg
{
$$ = makeDefElem($1, (Node *)$3);
@@ -3147,17 +3608,15 @@ opclass_item:
n->name = $3;
n->args = NIL;
n->number = $2;
- n->recheck = $4;
$$ = (Node *) n;
}
- | OPERATOR Iconst any_operator '(' oper_argtypes ')' opt_recheck
+ | OPERATOR Iconst any_operator oper_argtypes opt_recheck
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = $3;
- n->args = $5;
+ n->args = $4;
n->number = $2;
- n->recheck = $7;
$$ = (Node *) n;
}
| FUNCTION Iconst func_name func_args
@@ -3196,7 +3655,15 @@ opt_opfamily: FAMILY any_name { $$ = $2; }
| /*EMPTY*/ { $$ = NIL; }
;
-opt_recheck: RECHECK { $$ = TRUE; }
+opt_recheck: RECHECK
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("RECHECK is no longer supported"),
+ errhint("Update your data type."),
+ scanner_errposition(@1)));
+ $$ = TRUE;
+ }
| /*EMPTY*/ { $$ = FALSE; }
;
@@ -3396,15 +3863,22 @@ attrs: '.' attr_name
*****************************************************************************/
TruncateStmt:
- TRUNCATE opt_table qualified_name_list opt_drop_behavior
+ TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior
{
TruncateStmt *n = makeNode(TruncateStmt);
n->relations = $3;
- n->behavior = $4;
+ n->restart_seqs = $4;
+ n->behavior = $5;
$$ = (Node *)n;
}
;
+opt_restart_seqs:
+ CONTINUE_P IDENTITY_P { $$ = false; }
+ | RESTART IDENTITY_P { $$ = true; }
+ | /* EMPTY */ { $$ = false; }
+ ;
+
/*****************************************************************************
*
* The COMMENT ON statement can take different forms based upon the type of
@@ -3412,7 +3886,7 @@ TruncateStmt:
*
* COMMENT ON [ [ DATABASE | DOMAIN | INDEX | SEQUENCE | TABLE | TYPE | VIEW |
* CONVERSION | LANGUAGE | OPERATOR CLASS | LARGE OBJECT |
- * CAST | COLUMN | SCHEMA | TABLESPACE | ROLE |
+ * CAST | COLUMN | SCHEMA | TABLESPACE | ROLE |
* TEXT SEARCH PARSER | TEXT SEARCH DICTIONARY |
* TEXT SEARCH TEMPLATE |
* TEXT SEARCH CONFIGURATION ] <objname> |
@@ -3454,14 +3928,13 @@ CommentStmt:
n->comment = $7;
$$ = (Node *) n;
}
- | COMMENT ON OPERATOR any_operator '(' oper_argtypes ')'
- IS comment_text
+ | COMMENT ON OPERATOR any_operator oper_argtypes IS comment_text
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPERATOR;
n->objname = $4;
- n->objargs = $6;
- n->comment = $9;
+ n->objargs = $5;
+ n->comment = $7;
$$ = (Node *) n;
}
| COMMENT ON CONSTRAINT name ON any_name IS comment_text
@@ -3805,12 +4278,11 @@ RevokeStmt:
/*
- * A privilege list is represented as a list of strings; the validity of
- * the privilege names gets checked at execution. This is a bit annoying
- * but we have little choice because of the syntactic conflict with lists
- * of role names in GRANT/REVOKE. What's more, we have to call out in
- * the "privilege" production any reserved keywords that need to be usable
- * as privilege names.
+ * Privilege names are represented as strings; the validity of the privilege
+ * names gets checked at execution. This is a bit annoying but we have little
+ * choice because of the syntactic conflict with lists of role names in
+ * GRANT/REVOKE. What's more, we have to call out in the "privilege"
+ * production any reserved keywords that need to be usable as privilege names.
*/
/* either ALL [PRIVILEGES] or a list of individual privileges */
@@ -3820,18 +4292,54 @@ privileges: privilege_list
{ $$ = NIL; }
| ALL PRIVILEGES
{ $$ = NIL; }
+ | ALL '(' columnList ')'
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = NULL;
+ n->cols = $3;
+ $$ = list_make1(n);
+ }
+ | ALL PRIVILEGES '(' columnList ')'
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = NULL;
+ n->cols = $4;
+ $$ = list_make1(n);
+ }
;
-privilege_list: privilege
- { $$ = list_make1(makeString($1)); }
- | privilege_list ',' privilege
- { $$ = lappend($1, makeString($3)); }
+privilege_list: privilege { $$ = list_make1($1); }
+ | privilege_list ',' privilege { $$ = lappend($1, $3); }
;
-privilege: SELECT { $$ = pstrdup($1); }
- | REFERENCES { $$ = pstrdup($1); }
- | CREATE { $$ = pstrdup($1); }
- | ColId { $$ = $1; }
+privilege: SELECT opt_column_list
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = pstrdup($1);
+ n->cols = $2;
+ $$ = n;
+ }
+ | REFERENCES opt_column_list
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = pstrdup($1);
+ n->cols = $2;
+ $$ = n;
+ }
+ | CREATE opt_column_list
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = pstrdup($1);
+ n->cols = $2;
+ $$ = n;
+ }
+ | ColId opt_column_list
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = $1;
+ n->cols = $2;
+ $$ = n;
+ }
;
@@ -3841,56 +4349,70 @@ privilege: SELECT { $$ = pstrdup($1); }
privilege_target:
qualified_name_list
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_RELATION;
n->objs = $1;
$$ = n;
}
| TABLE qualified_name_list
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_RELATION;
n->objs = $2;
$$ = n;
}
| SEQUENCE qualified_name_list
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_SEQUENCE;
n->objs = $2;
$$ = n;
}
+ | FOREIGN DATA_P WRAPPER name_list
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+ n->objtype = ACL_OBJECT_FDW;
+ n->objs = $4;
+ $$ = n;
+ }
+ | FOREIGN SERVER name_list
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+ n->objtype = ACL_OBJECT_FOREIGN_SERVER;
+ n->objs = $3;
+ $$ = n;
+ }
| FUNCTION function_with_argtypes_list
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_FUNCTION;
n->objs = $2;
$$ = n;
}
| DATABASE name_list
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_DATABASE;
n->objs = $2;
$$ = n;
}
| LANGUAGE name_list
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_LANGUAGE;
n->objs = $2;
$$ = n;
}
| SCHEMA name_list
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_NAMESPACE;
n->objs = $2;
$$ = n;
}
| TABLESPACE name_list
{
- PrivTarget *n = makeNode(PrivTarget);
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->objtype = ACL_OBJECT_TABLESPACE;
n->objs = $2;
$$ = n;
@@ -4011,7 +4533,7 @@ opt_granted_by: GRANTED BY RoleId { $$ = $3; }
IndexStmt: CREATE index_opt_unique INDEX index_name
ON qualified_name access_method_clause '(' index_params ')'
- opt_definition OptTableSpace where_clause
+ opt_reloptions OptTableSpace where_clause
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = $2;
@@ -4027,7 +4549,7 @@ IndexStmt: CREATE index_opt_unique INDEX index_name
}
| CREATE index_opt_unique INDEX CONCURRENTLY index_name
ON qualified_name access_method_clause '(' index_params ')'
- opt_definition OptTableSpace where_clause
+ opt_reloptions OptTableSpace where_clause
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = $2;
@@ -4097,8 +4619,8 @@ opt_class: any_name { $$ = $1; }
;
opt_asc_desc: ASC { $$ = SORTBY_ASC; }
- | DESC { $$ = SORTBY_DESC; }
- | /*EMPTY*/ { $$ = SORTBY_DEFAULT; }
+ | DESC { $$ = SORTBY_DESC; }
+ | /*EMPTY*/ { $$ = SORTBY_DEFAULT; }
;
opt_nulls_order: NULLS_FIRST { $$ = SORTBY_NULLS_FIRST; }
@@ -4119,7 +4641,7 @@ opt_nulls_order: NULLS_FIRST { $$ = SORTBY_NULLS_FIRST; }
*****************************************************************************/
CreateFunctionStmt:
- CREATE opt_or_replace FUNCTION func_name func_args
+ CREATE opt_or_replace FUNCTION func_name func_args_with_defaults
RETURNS func_return createfunc_opt_list opt_definition
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
@@ -4131,7 +4653,20 @@ CreateFunctionStmt:
n->withClause = $9;
$$ = (Node *)n;
}
- | CREATE opt_or_replace FUNCTION func_name func_args
+ | CREATE opt_or_replace FUNCTION func_name func_args_with_defaults
+ RETURNS TABLE '(' table_func_column_list ')' createfunc_opt_list opt_definition
+ {
+ CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
+ n->replace = $2;
+ n->funcname = $4;
+ n->parameters = mergeTableFuncParameters($5, $9);
+ n->returnType = TableFuncTypeName($9);
+ n->returnType->location = @7;
+ n->options = $11;
+ n->withClause = $12;
+ $$ = (Node *)n;
+ }
+ | CREATE opt_or_replace FUNCTION func_name func_args_with_defaults
createfunc_opt_list opt_definition
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
@@ -4159,6 +4694,21 @@ func_args_list:
| func_args_list ',' func_arg { $$ = lappend($1, $3); }
;
+/*
+ * func_args_with_defaults is separate because we only want to accept
+ * defaults in CREATE FUNCTION, not in ALTER etc.
+ */
+func_args_with_defaults:
+ '(' func_args_with_defaults_list ')' { $$ = $2; }
+ | '(' ')' { $$ = NIL; }
+ ;
+
+func_args_with_defaults_list:
+ func_arg_with_default { $$ = list_make1($1); }
+ | func_args_with_defaults_list ',' func_arg_with_default
+ { $$ = lappend($1, $3); }
+ ;
+
/*
* The style with arg_class first is SQL99 standard, but Oracle puts
* param_name first; accept both since it's likely people will try both
@@ -4176,6 +4726,7 @@ func_arg:
n->name = $2;
n->argType = $3;
n->mode = $1;
+ n->defexpr = NULL;
$$ = n;
}
| param_name arg_class func_type
@@ -4184,6 +4735,7 @@ func_arg:
n->name = $1;
n->argType = $3;
n->mode = $2;
+ n->defexpr = NULL;
$$ = n;
}
| param_name func_type
@@ -4192,6 +4744,7 @@ func_arg:
n->name = $1;
n->argType = $2;
n->mode = FUNC_PARAM_IN;
+ n->defexpr = NULL;
$$ = n;
}
| arg_class func_type
@@ -4200,6 +4753,7 @@ func_arg:
n->name = NULL;
n->argType = $2;
n->mode = $1;
+ n->defexpr = NULL;
$$ = n;
}
| func_type
@@ -4208,15 +4762,17 @@ func_arg:
n->name = NULL;
n->argType = $1;
n->mode = FUNC_PARAM_IN;
+ n->defexpr = NULL;
$$ = n;
}
;
/* INOUT is SQL99 standard, IN OUT is for Oracle compatibility */
-arg_class: IN_P { $$ = FUNC_PARAM_IN; }
- | OUT_P { $$ = FUNC_PARAM_OUT; }
- | INOUT { $$ = FUNC_PARAM_INOUT; }
- | IN_P OUT_P { $$ = FUNC_PARAM_INOUT; }
+arg_class: IN_P { $$ = FUNC_PARAM_IN; }
+ | OUT_P { $$ = FUNC_PARAM_OUT; }
+ | INOUT { $$ = FUNC_PARAM_INOUT; }
+ | IN_P OUT_P { $$ = FUNC_PARAM_INOUT; }
+ | VARIADIC { $$ = FUNC_PARAM_VARIADIC; }
;
/*
@@ -4257,6 +4813,23 @@ func_type: Typename { $$ = $1; }
}
;
+func_arg_with_default:
+ func_arg
+ {
+ $$ = $1;
+ }
+ | func_arg DEFAULT a_expr
+ {
+ $$ = $1;
+ $$->defexpr = $3;
+ }
+ | func_arg '=' a_expr
+ {
+ $$ = $1;
+ $$->defexpr = $3;
+ }
+ ;
+
createfunc_opt_list:
/* Must be at least one to prevent conflict */
@@ -4332,6 +4905,10 @@ createfunc_opt_item:
{
$$ = makeDefElem("language", (Node *)makeString($2));
}
+ | WINDOW
+ {
+ $$ = makeDefElem("window", (Node *)makeInteger(TRUE));
+ }
| common_func_opt_item
{
$$ = $1;
@@ -4345,9 +4922,31 @@ func_as: Sconst { $$ = list_make1(makeString($1)); }
}
;
-opt_definition:
- WITH definition { $$ = $2; }
- | /*EMPTY*/ { $$ = NIL; }
+opt_definition:
+ WITH definition { $$ = $2; }
+ | /*EMPTY*/ { $$ = NIL; }
+ ;
+
+table_func_column: param_name func_type
+ {
+ FunctionParameter *n = makeNode(FunctionParameter);
+ n->name = $1;
+ n->argType = $2;
+ n->mode = FUNC_PARAM_TABLE;
+ n->defexpr = NULL;
+ $$ = n;
+ }
+ ;
+
+table_func_column_list:
+ table_func_column
+ {
+ $$ = list_make1($1);
+ }
+ | table_func_column_list ',' table_func_column
+ {
+ $$ = lappend($1, $3);
+ }
;
/*****************************************************************************
@@ -4438,42 +5037,43 @@ RemoveAggrStmt:
;
RemoveOperStmt:
- DROP OPERATOR any_operator '(' oper_argtypes ')' opt_drop_behavior
+ DROP OPERATOR any_operator oper_argtypes opt_drop_behavior
{
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
n->kind = OBJECT_OPERATOR;
n->name = $3;
- n->args = $5;
- n->behavior = $7;
+ n->args = $4;
+ n->behavior = $5;
n->missing_ok = false;
$$ = (Node *)n;
}
- | DROP OPERATOR IF_P EXISTS any_operator '(' oper_argtypes ')' opt_drop_behavior
+ | DROP OPERATOR IF_P EXISTS any_operator oper_argtypes opt_drop_behavior
{
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
n->kind = OBJECT_OPERATOR;
n->name = $5;
- n->args = $7;
- n->behavior = $9;
+ n->args = $6;
+ n->behavior = $7;
n->missing_ok = true;
$$ = (Node *)n;
}
;
oper_argtypes:
- Typename
+ '(' Typename ')'
{
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("missing argument"),
- errhint("Use NONE to denote the missing argument of a unary operator.")));
+ errhint("Use NONE to denote the missing argument of a unary operator."),
+ scanner_errposition(@3)));
}
- | Typename ',' Typename
- { $$ = list_make2($1, $3); }
- | NONE ',' Typename /* left unary */
- { $$ = list_make2(NULL, $3); }
- | Typename ',' NONE /* right unary */
- { $$ = list_make2($1, NULL); }
+ | '(' Typename ',' Typename ')'
+ { $$ = list_make2($2, $4); }
+ | '(' NONE ',' Typename ')' /* left unary */
+ { $$ = list_make2(NULL, $4); }
+ | '(' Typename ',' NONE ')' /* right unary */
+ { $$ = list_make2($2, NULL); }
;
any_operator:
@@ -4498,6 +5098,7 @@ CreateCastStmt: CREATE CAST '(' Typename AS Typename ')'
n->targettype = $6;
n->func = $10;
n->context = (CoercionContext) $11;
+ n->inout = false;
$$ = (Node *)n;
}
| CREATE CAST '(' Typename AS Typename ')'
@@ -4508,6 +5109,18 @@ CreateCastStmt: CREATE CAST '(' Typename AS Typename ')'
n->targettype = $6;
n->func = NULL;
n->context = (CoercionContext) $10;
+ n->inout = false;
+ $$ = (Node *)n;
+ }
+ | CREATE CAST '(' Typename AS Typename ')'
+ WITH INOUT cast_context
+ {
+ CreateCastStmt *n = makeNode(CreateCastStmt);
+ n->sourcetype = $4;
+ n->targettype = $6;
+ n->func = NULL;
+ n->context = (CoercionContext) $10;
+ n->inout = true;
$$ = (Node *)n;
}
;
@@ -4675,7 +5288,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->newname = $6;
$$ = (Node *)n;
}
- | ALTER SEQUENCE relation_expr RENAME TO name
+ | ALTER SEQUENCE qualified_name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SEQUENCE;
@@ -4684,7 +5297,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->newname = $6;
$$ = (Node *)n;
}
- | ALTER VIEW relation_expr RENAME TO name
+ | ALTER VIEW qualified_name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_VIEW;
@@ -4693,7 +5306,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->newname = $6;
$$ = (Node *)n;
}
- | ALTER INDEX relation_expr RENAME TO name
+ | ALTER INDEX qualified_name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_INDEX;
@@ -4711,7 +5324,7 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->newname = $8;
$$ = (Node *)n;
}
- | ALTER TRIGGER name ON relation_expr RENAME TO name
+ | ALTER TRIGGER name ON qualified_name RENAME TO name
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TRIGGER;
@@ -4776,12 +5389,24 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
n->newname = $8;
$$ = (Node *)n;
}
+ | ALTER TYPE_P any_name RENAME TO name
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+ n->renameType = OBJECT_TYPE;
+ n->object = $3;
+ n->newname = $6;
+ $$ = (Node *)n;
+ }
;
opt_column: COLUMN { $$ = COLUMN; }
| /*EMPTY*/ { $$ = 0; }
;
+opt_set_data: SET DATA_P { $$ = 1; }
+ | /*EMPTY*/ { $$ = 0; }
+ ;
+
/*****************************************************************************
*
* ALTER THING name SET SCHEMA name
@@ -4815,7 +5440,15 @@ AlterObjectSchemaStmt:
n->newschema = $6;
$$ = (Node *)n;
}
- | ALTER SEQUENCE relation_expr SET SCHEMA name
+ | ALTER TABLE relation_expr SET SCHEMA name
+ {
+ AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
+ n->objectType = OBJECT_TABLE;
+ n->relation = $3;
+ n->newschema = $6;
+ $$ = (Node *)n;
+ }
+ | ALTER SEQUENCE qualified_name SET SCHEMA name
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_SEQUENCE;
@@ -4823,10 +5456,10 @@ AlterObjectSchemaStmt:
n->newschema = $6;
$$ = (Node *)n;
}
- | ALTER TABLE relation_expr SET SCHEMA name
+ | ALTER VIEW qualified_name SET SCHEMA name
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
- n->objectType = OBJECT_TABLE;
+ n->objectType = OBJECT_VIEW;
n->relation = $3;
n->newschema = $6;
$$ = (Node *)n;
@@ -4868,7 +5501,7 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DATABASE;
- n->object = list_make1($3);
+ n->object = list_make1(makeString($3));
n->newowner = $6;
$$ = (Node *)n;
}
@@ -4893,17 +5526,17 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LANGUAGE;
- n->object = list_make1($4);
+ n->object = list_make1(makeString($4));
n->newowner = $7;
$$ = (Node *)n;
}
- | ALTER OPERATOR any_operator '(' oper_argtypes ')' OWNER TO RoleId
+ | ALTER OPERATOR any_operator oper_argtypes OWNER TO RoleId
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPERATOR;
n->object = $3;
- n->objarg = $5;
- n->newowner = $9;
+ n->objarg = $4;
+ n->newowner = $7;
$$ = (Node *)n;
}
| ALTER OPERATOR CLASS any_name USING access_method OWNER TO RoleId
@@ -4928,7 +5561,7 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_SCHEMA;
- n->object = list_make1($3);
+ n->object = list_make1(makeString($3));
n->newowner = $6;
$$ = (Node *)n;
}
@@ -4944,7 +5577,7 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TABLESPACE;
- n->object = list_make1($3);
+ n->object = list_make1(makeString($3));
n->newowner = $6;
$$ = (Node *)n;
}
@@ -4964,6 +5597,22 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
n->newowner = $8;
$$ = (Node *)n;
}
+ | ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleId
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+ n->objectType = OBJECT_FDW;
+ n->object = list_make1(makeString($5));
+ n->newowner = $8;
+ $$ = (Node *)n;
+ }
+ | ALTER SERVER name OWNER TO RoleId
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+ n->objectType = OBJECT_FOREIGN_SERVER;
+ n->object = list_make1(makeString($3));
+ n->newowner = $6;
+ $$ = (Node *)n;
+ }
;
@@ -5066,7 +5715,7 @@ DropRuleStmt:
/*****************************************************************************
*
* QUERY:
- * NOTIFY <qualified_name> can appear both in rule bodies and
+ * NOTIFY <identifier> can appear both in rule bodies and
* as a query-level command
*
*****************************************************************************/
@@ -5074,9 +5723,7 @@ DropRuleStmt:
NotifyStmt: NOTIFY ColId
{
NotifyStmt *n = makeNode(NotifyStmt);
- n->relation = makeNode(RangeVar);
- n->relation->relname = $2;
- n->relation->schemaname = NULL;
+ n->conditionname = $2;
$$ = (Node *)n;
}
;
@@ -5084,9 +5731,7 @@ NotifyStmt: NOTIFY ColId
ListenStmt: LISTEN ColId
{
ListenStmt *n = makeNode(ListenStmt);
- n->relation = makeNode(RangeVar);
- n->relation->relname = $2;
- n->relation->schemaname = NULL;
+ n->conditionname = $2;
$$ = (Node *)n;
}
;
@@ -5095,17 +5740,13 @@ UnlistenStmt:
UNLISTEN ColId
{
UnlistenStmt *n = makeNode(UnlistenStmt);
- n->relation = makeNode(RangeVar);
- n->relation->relname = $2;
- n->relation->schemaname = NULL;
+ n->conditionname = $2;
$$ = (Node *)n;
}
| UNLISTEN '*'
{
UnlistenStmt *n = makeNode(UnlistenStmt);
- n->relation = makeNode(RangeVar);
- n->relation->relname = "*";
- n->relation->schemaname = NULL;
+ n->conditionname = NULL;
$$ = (Node *)n;
}
;
@@ -5234,13 +5875,13 @@ opt_transaction: WORK {}
transaction_mode_item:
ISOLATION LEVEL iso_level
{ $$ = makeDefElem("transaction_isolation",
- makeStringConst($3, NULL)); }
+ makeStringConst($3, @3)); }
| READ ONLY
{ $$ = makeDefElem("transaction_read_only",
- makeIntConst(TRUE)); }
+ makeIntConst(TRUE, @1)); }
| READ WRITE
{ $$ = makeDefElem("transaction_read_only",
- makeIntConst(FALSE)); }
+ makeIntConst(FALSE, @1)); }
;
/* Syntax with commas is SQL-spec, without commas is Postgres historical */
@@ -5292,24 +5933,20 @@ ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list
}
;
-/*
- * We use merged tokens here to avoid creating shift/reduce conflicts against
- * a whole lot of other uses of WITH.
- */
opt_check_option:
- WITH_CHECK OPTION
+ WITH CHECK OPTION
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("WITH CHECK OPTION is not implemented")));
}
- | WITH_CASCADED CHECK OPTION
+ | WITH CASCADED CHECK OPTION
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("WITH CHECK OPTION is not implemented")));
}
- | WITH_LOCAL CHECK OPTION
+ | WITH LOCAL CHECK OPTION
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
@@ -5392,6 +6029,22 @@ createdb_opt_item:
{
$$ = makeDefElem("encoding", NULL);
}
+ | LC_COLLATE_P opt_equal Sconst
+ {
+ $$ = makeDefElem("lc_collate", (Node *)makeString($3));
+ }
+ | LC_COLLATE_P opt_equal DEFAULT
+ {
+ $$ = makeDefElem("lc_collate", NULL);
+ }
+ | LC_CTYPE_P opt_equal Sconst
+ {
+ $$ = makeDefElem("lc_ctype", (Node *)makeString($3));
+ }
+ | LC_CTYPE_P opt_equal DEFAULT
+ {
+ $$ = makeDefElem("lc_ctype", NULL);
+ }
| CONNECTION LIMIT opt_equal SignedIconst
{
$$ = makeDefElem("connectionlimit", (Node *)makeInteger($4));
@@ -5429,6 +6082,14 @@ AlterDatabaseStmt:
n->options = $5;
$$ = (Node *)n;
}
+ | ALTER DATABASE database_name SET TABLESPACE name
+ {
+ AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
+ n->dbname = $3;
+ n->options = list_make1(makeDefElem("tablespace",
+ (Node *)makeString($6)));
+ $$ = (Node *)n;
+ }
;
AlterDatabaseSetStmt:
@@ -5585,7 +6246,7 @@ AlterTSConfigurationStmt:
n->replace = false;
$$ = (Node*)n;
}
- | ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name WITH any_name
+ | ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name WITH any_name
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = $5;
@@ -5595,7 +6256,7 @@ AlterTSConfigurationStmt:
n->replace = true;
$$ = (Node*)n;
}
- | ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name WITH any_name
+ | ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name WITH any_name
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = $5;
@@ -5605,7 +6266,7 @@ AlterTSConfigurationStmt:
n->replace = true;
$$ = (Node*)n;
}
- | ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list
+ | ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = $5;
@@ -5613,7 +6274,7 @@ AlterTSConfigurationStmt:
n->missing_ok = false;
$$ = (Node*)n;
}
- | ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list
+ | ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->cfgname = $5;
@@ -5650,33 +6311,36 @@ CreateConversionStmt:
/*****************************************************************************
*
* QUERY:
- * CLUSTER <qualified_name> [ USING <index_name> ]
- * CLUSTER
- * CLUSTER <index_name> ON <qualified_name> (for pre-8.3)
+ * CLUSTER [VERBOSE] <qualified_name> [ USING <index_name> ]
+ * CLUSTER [VERBOSE]
+ * CLUSTER [VERBOSE] <index_name> ON <qualified_name> (for pre-8.3)
*
*****************************************************************************/
ClusterStmt:
- CLUSTER qualified_name cluster_index_specification
+ CLUSTER opt_verbose qualified_name cluster_index_specification
{
ClusterStmt *n = makeNode(ClusterStmt);
- n->relation = $2;
- n->indexname = $3;
+ n->relation = $3;
+ n->indexname = $4;
+ n->verbose = $2;
$$ = (Node*)n;
}
- | CLUSTER
+ | CLUSTER opt_verbose
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
+ n->verbose = $2;
$$ = (Node*)n;
}
/* kept for pre-8.3 compatibility */
- | CLUSTER index_name ON qualified_name
+ | CLUSTER opt_verbose index_name ON qualified_name
{
ClusterStmt *n = makeNode(ClusterStmt);
- n->relation = $4;
- n->indexname = $2;
+ n->relation = $5;
+ n->indexname = $3;
+ n->verbose = $2;
$$ = (Node*)n;
}
;
@@ -5702,6 +6366,7 @@ VacuumStmt: VACUUM opt_full opt_freeze opt_verbose
n->analyze = false;
n->full = $2;
n->freeze_min_age = $3 ? 0 : -1;
+ n->freeze_table_age = $3 ? 0 : -1;
n->verbose = $4;
n->relation = NULL;
n->va_cols = NIL;
@@ -5714,6 +6379,7 @@ VacuumStmt: VACUUM opt_full opt_freeze opt_verbose
n->analyze = false;
n->full = $2;
n->freeze_min_age = $3 ? 0 : -1;
+ n->freeze_table_age = $3 ? 0 : -1;
n->verbose = $4;
n->relation = $5;
n->va_cols = NIL;
@@ -5725,6 +6391,7 @@ VacuumStmt: VACUUM opt_full opt_freeze opt_verbose
n->vacuum = true;
n->full = $2;
n->freeze_min_age = $3 ? 0 : -1;
+ n->freeze_table_age = $3 ? 0 : -1;
n->verbose |= $4;
$$ = (Node *)n;
}
@@ -5738,6 +6405,7 @@ AnalyzeStmt:
n->analyze = true;
n->full = false;
n->freeze_min_age = -1;
+ n->freeze_table_age = -1;
n->verbose = $2;
n->relation = NULL;
n->va_cols = NIL;
@@ -5750,6 +6418,7 @@ AnalyzeStmt:
n->analyze = true;
n->full = false;
n->freeze_min_age = -1;
+ n->freeze_table_age = -1;
n->verbose = $2;
n->relation = $3;
n->va_cols = $4;
@@ -5804,6 +6473,7 @@ ExplainableStmt:
| UpdateStmt
| DeleteStmt
| DeclareCursorStmt
+ | CreateAsStmt
| ExecuteStmt /* by default all are $$=$1 */
;
@@ -5958,7 +6628,7 @@ insert_column_item:
{
$$ = makeNode(ResTarget);
$$->name = $1;
- $$->indirection = $2;
+ $$->indirection = check_indirection($2);
$$->val = NULL;
$$->location = @1;
}
@@ -5994,7 +6664,15 @@ using_clause:
| /*EMPTY*/ { $$ = NIL; }
;
-LockStmt: LOCK_P opt_table qualified_name_list opt_lock opt_nowait
+
+/*****************************************************************************
+ *
+ * QUERY:
+ * LOCK TABLE
+ *
+ *****************************************************************************/
+
+LockStmt: LOCK_P opt_table relation_expr_list opt_lock opt_nowait
{
LockStmt *n = makeNode(LockStmt);
@@ -6079,7 +6757,8 @@ multiple_set_clause:
if (list_length($2) != list_length($5))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("number of columns does not match number of values")));
+ errmsg("number of columns does not match number of values"),
+ scanner_errposition(@1)));
forboth(col_cell, $2, val_cell, $5)
{
ResTarget *res_col = (ResTarget *) lfirst(col_cell);
@@ -6097,7 +6776,7 @@ set_target:
{
$$ = makeNode(ResTarget);
$$->name = $1;
- $$->indirection = $2;
+ $$->indirection = check_indirection($2);
$$->val = NULL; /* upper production sets this */
$$->location = @1;
}
@@ -6193,6 +6872,10 @@ select_with_parens:
;
/*
+ * This rule parses the equivalent of the standard's <query expression>.
+ * The duplicative productions are annoying, but hard to get rid of without
+ * creating shift/reduce conflicts.
+ *
* FOR UPDATE/SHARE may be before or after LIMIT/OFFSET.
* In <=7.2.X, LIMIT/OFFSET had to be after FOR UPDATE
* We now support both orderings, but prefer LIMIT/OFFSET before FOR UPDATE/SHARE
@@ -6203,21 +6886,51 @@ select_no_parens:
| select_clause sort_clause
{
insertSelectOptions((SelectStmt *) $1, $2, NIL,
- NULL, NULL);
+ NULL, NULL, NULL);
$$ = $1;
}
| select_clause opt_sort_clause for_locking_clause opt_select_limit
{
insertSelectOptions((SelectStmt *) $1, $2, $3,
- list_nth($4, 0), list_nth($4, 1));
+ list_nth($4, 0), list_nth($4, 1),
+ NULL);
$$ = $1;
}
| select_clause opt_sort_clause select_limit opt_for_locking_clause
{
insertSelectOptions((SelectStmt *) $1, $2, $4,
- list_nth($3, 0), list_nth($3, 1));
+ list_nth($3, 0), list_nth($3, 1),
+ NULL);
$$ = $1;
}
+ | with_clause simple_select
+ {
+ insertSelectOptions((SelectStmt *) $2, NULL, NIL,
+ NULL, NULL,
+ $1);
+ $$ = $2;
+ }
+ | with_clause select_clause sort_clause
+ {
+ insertSelectOptions((SelectStmt *) $2, $3, NIL,
+ NULL, NULL,
+ $1);
+ $$ = $2;
+ }
+ | with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit
+ {
+ insertSelectOptions((SelectStmt *) $2, $3, $4,
+ list_nth($5, 0), list_nth($5, 1),
+ $1);
+ $$ = $2;
+ }
+ | with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause
+ {
+ insertSelectOptions((SelectStmt *) $2, $3, $5,
+ list_nth($4, 0), list_nth($4, 1),
+ $1);
+ $$ = $2;
+ }
;
select_clause:
@@ -6240,10 +6953,10 @@ select_clause:
* (SELECT foo UNION SELECT bar) ORDER BY baz
* not
* SELECT foo UNION (SELECT bar ORDER BY baz)
- * Likewise FOR UPDATE and LIMIT. Therefore, those clauses are described
- * as part of the select_no_parens production, not simple_select.
- * This does not limit functionality, because you can reintroduce sort and
- * limit clauses inside parentheses.
+ * Likewise for WITH, FOR UPDATE and LIMIT. Therefore, those clauses are
+ * described as part of the select_no_parens production, not simple_select.
+ * This does not limit functionality, because you can reintroduce these
+ * clauses inside parentheses.
*
* NOTE: only the leftmost component SelectStmt should have INTO.
* However, this is not checked by the grammar; parse analysis must check it.
@@ -6251,7 +6964,7 @@ select_clause:
simple_select:
SELECT opt_distinct target_list
into_clause from_clause where_clause
- group_clause having_clause
+ group_clause having_clause window_clause
{
SelectStmt *n = makeNode(SelectStmt);
n->distinctClause = $2;
@@ -6261,9 +6974,29 @@ simple_select:
n->whereClause = $6;
n->groupClause = $7;
n->havingClause = $8;
+ n->windowClause = $9;
$$ = (Node *)n;
}
| values_clause { $$ = $1; }
+ | TABLE relation_expr
+ {
+ /* same as SELECT * FROM relation_expr */
+ ColumnRef *cr = makeNode(ColumnRef);
+ ResTarget *rt = makeNode(ResTarget);
+ SelectStmt *n = makeNode(SelectStmt);
+
+ cr->fields = list_make1(makeNode(A_Star));
+ cr->location = -1;
+
+ rt->name = NULL;
+ rt->indirection = NIL;
+ rt->val = (Node *)cr;
+ rt->location = -1;
+
+ n->targetList = list_make1(rt);
+ n->fromClause = list_make1($2);
+ $$ = (Node *)n;
+ }
| select_clause UNION opt_all select_clause
{
$$ = makeSetOp(SETOP_UNION, $3, $1, $4);
@@ -6278,6 +7011,47 @@ simple_select:
}
;
+/*
+ * SQL standard WITH clause looks like:
+ *
+ * WITH [ RECURSIVE ] <query name> [ (<column>,...) ]
+ * AS (query) [ SEARCH or CYCLE clause ]
+ *
+ * We don't currently support the SEARCH or CYCLE clause.
+ */
+with_clause:
+ WITH cte_list
+ {
+ $$ = makeNode(WithClause);
+ $$->ctes = $2;
+ $$->recursive = false;
+ $$->location = @1;
+ }
+ | WITH RECURSIVE cte_list
+ {
+ $$ = makeNode(WithClause);
+ $$->ctes = $3;
+ $$->recursive = true;
+ $$->location = @1;
+ }
+ ;
+
+cte_list:
+ common_table_expr { $$ = list_make1($1); }
+ | cte_list ',' common_table_expr { $$ = lappend($1, $3); }
+ ;
+
+common_table_expr: name opt_name_list AS select_with_parens
+ {
+ CommonTableExpr *n = makeNode(CommonTableExpr);
+ n->ctename = $1;
+ n->aliascolnames = $2;
+ n->ctequery = $4;
+ n->location = @1;
+ $$ = (Node *) n;
+ }
+ ;
+
into_clause:
INTO OptTempTableName
{
@@ -6379,6 +7153,7 @@ sortby: a_expr USING qual_all_Op opt_nulls_order
$$->sortby_dir = SORTBY_USING;
$$->sortby_nulls = $4;
$$->useOp = $3;
+ $$->location = @3;
}
| a_expr opt_asc_desc opt_nulls_order
{
@@ -6387,6 +7162,7 @@ sortby: a_expr USING qual_all_Op opt_nulls_order
$$->sortby_dir = $2;
$$->sortby_nulls = $3;
$$->useOp = NIL;
+ $$->location = -1; /* no operator */
}
;
@@ -6406,8 +7182,16 @@ select_limit:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("LIMIT #,# syntax is not supported"),
- errhint("Use separate LIMIT and OFFSET clauses.")));
+ errhint("Use separate LIMIT and OFFSET clauses."),
+ scanner_errposition(@1)));
}
+ /* SQL:2008 syntax variants */
+ | OFFSET select_offset_value2 row_or_rows
+ { $$ = list_make2($2, NULL); }
+ | FETCH first_or_next opt_select_fetch_first_value row_or_rows ONLY
+ { $$ = list_make2(NULL, $3); }
+ | OFFSET select_offset_value2 row_or_rows FETCH first_or_next opt_select_fetch_first_value row_or_rows ONLY
+ { $$ = list_make2($2, $6); }
;
opt_select_limit:
@@ -6421,16 +7205,45 @@ select_limit_value:
| ALL
{
/* LIMIT ALL is represented as a NULL constant */
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Null;
- $$ = (Node *)n;
+ $$ = makeNullAConst(@1);
}
;
+/*
+ * Allowing full expressions without parentheses causes various parsing
+ * problems with the trailing ROW/ROWS key words. SQL only calls for
+ * constants, so we allow the rest only with parentheses.
+ */
+opt_select_fetch_first_value:
+ SignedIconst { $$ = makeIntConst($1, @1); }
+ | '(' a_expr ')' { $$ = $2; }
+ | /*EMPTY*/ { $$ = makeIntConst(1, -1); }
+ ;
+
select_offset_value:
a_expr { $$ = $1; }
;
+/*
+ * Again, the trailing ROW/ROWS in this case prevent the full expression
+ * syntax. c_expr is the best we can do.
+ */
+select_offset_value2:
+ c_expr { $$ = $1; }
+ ;
+
+/* noise words */
+row_or_rows:
+ ROW { $$ = 0; }
+ | ROWS { $$ = 0; }
+ ;
+
+/* noise words */
+first_or_next:
+ FIRST_P { $$ = 0; }
+ | NEXT { $$ = 0; }
+ ;
+
group_clause:
GROUP_P BY expr_list { $$ = $3; }
| /*EMPTY*/ { $$ = NIL; }
@@ -6476,7 +7289,7 @@ for_locking_item:
;
locked_rels_list:
- OF name_list { $$ = $2; }
+ OF qualified_name_list { $$ = $2; }
| /* EMPTY */ { $$ = NIL; }
;
@@ -6591,12 +7404,14 @@ table_ref: relation_expr
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("VALUES in FROM must have an alias"),
- errhint("For example, FROM (VALUES ...) [AS] foo.")));
+ errhint("For example, FROM (VALUES ...) [AS] foo."),
+ scanner_errposition(@1)));
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("subquery in FROM must have an alias"),
- errhint("For example, FROM (SELECT ...) [AS] foo.")));
+ errhint("For example, FROM (SELECT ...) [AS] foo."),
+ scanner_errposition(@1)));
$$ = NULL;
}
| select_with_parens alias_clause
@@ -6786,6 +7601,12 @@ relation_expr:
;
+relation_expr_list:
+ relation_expr { $$ = list_make1($1); }
+ | relation_expr_list ',' relation_expr { $$ = lappend($1, $3); }
+ ;
+
+
/*
* Given "UPDATE foo set set ...", we have to decide without looking any
* further ahead whether the first "set" is an alias or the UPDATE's SET
@@ -6891,19 +7712,29 @@ Typename: SimpleTypename opt_array_bounds
$$->arrayBounds = $3;
$$->setof = TRUE;
}
+ /* SQL standard syntax, currently only one-dimensional */
| SimpleTypename ARRAY '[' Iconst ']'
{
- /* SQL99's redundant syntax */
$$ = $1;
$$->arrayBounds = list_make1(makeInteger($4));
}
| SETOF SimpleTypename ARRAY '[' Iconst ']'
{
- /* SQL99's redundant syntax */
$$ = $2;
$$->arrayBounds = list_make1(makeInteger($5));
$$->setof = TRUE;
}
+ | SimpleTypename ARRAY
+ {
+ $$ = $1;
+ $$->arrayBounds = list_make1(makeInteger(-1));
+ }
+ | SETOF SimpleTypename ARRAY
+ {
+ $$ = $2;
+ $$->arrayBounds = list_make1(makeInteger(-1));
+ $$->setof = TRUE;
+ }
;
opt_array_bounds:
@@ -6924,14 +7755,23 @@ SimpleTypename:
| ConstInterval opt_interval
{
$$ = $1;
- if ($2 != INTERVAL_FULL_RANGE)
- $$->typmods = list_make1(makeIntConst($2));
+ $$->typmods = $2;
}
| ConstInterval '(' Iconst ')' opt_interval
{
$$ = $1;
- $$->typmods = list_make2(makeIntConst($5),
- makeIntConst($3));
+ if ($5 != NIL)
+ {
+ if (list_length($5) != 1)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("interval precision specified twice"),
+ scanner_errposition(@1)));
+ $$->typmods = lappend($5, makeIntConst($3, @3));
+ }
+ else
+ $$->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
+ makeIntConst($3, @3));
}
;
@@ -7051,7 +7891,8 @@ opt_float: '(' Iconst ')'
if ($2 < 1)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("precision for type float must be at least 1 bit")));
+ errmsg("precision for type float must be at least 1 bit"),
+ scanner_errposition(@2)));
else if ($2 <= 24)
$$ = SystemTypeName("float4");
else if ($2 <= 53)
@@ -7059,7 +7900,8 @@ opt_float: '(' Iconst ')'
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("precision for type float must be less than 54 bits")));
+ errmsg("precision for type float must be less than 54 bits"),
+ scanner_errposition(@2)));
}
| /*EMPTY*/
{
@@ -7117,7 +7959,7 @@ BitWithoutLength:
else
{
$$ = SystemTypeName("bit");
- $$->typmods = list_make1(makeIntConst(1));
+ $$->typmods = list_make1(makeIntConst(1, -1));
}
$$->location = @1;
}
@@ -7169,7 +8011,7 @@ CharacterWithLength: character '(' Iconst ')' opt_charset
}
$$ = SystemTypeName($1);
- $$->typmods = list_make1(makeIntConst($3));
+ $$->typmods = list_make1(makeIntConst($3, @3));
$$->location = @1;
}
;
@@ -7191,7 +8033,7 @@ CharacterWithoutLength: character opt_charset
/* char defaults to char(1), varchar to no limit */
if (strcmp($1, "char") == 0)
- $$->typmods = list_make1(makeIntConst(1));
+ $$->typmods = list_make1(makeIntConst(1, -1));
$$->location = @1;
}
@@ -7231,11 +8073,7 @@ ConstDatetime:
$$ = SystemTypeName("timestamptz");
else
$$ = SystemTypeName("timestamp");
- /* XXX the timezone field seems to be unused
- * - thomas 2001-09-06
- */
- $$->timezone = $5;
- $$->typmods = list_make1(makeIntConst($3));
+ $$->typmods = list_make1(makeIntConst($3, @3));
$$->location = @1;
}
| TIMESTAMP opt_timezone
@@ -7244,10 +8082,6 @@ ConstDatetime:
$$ = SystemTypeName("timestamptz");
else
$$ = SystemTypeName("timestamp");
- /* XXX the timezone field seems to be unused
- * - thomas 2001-09-06
- */
- $$->timezone = $2;
$$->location = @1;
}
| TIME '(' Iconst ')' opt_timezone
@@ -7256,7 +8090,7 @@ ConstDatetime:
$$ = SystemTypeName("timetz");
else
$$ = SystemTypeName("time");
- $$->typmods = list_make1(makeIntConst($3));
+ $$->typmods = list_make1(makeIntConst($3, @3));
$$->location = @1;
}
| TIME opt_timezone
@@ -7278,36 +8112,80 @@ ConstInterval:
;
opt_timezone:
- WITH TIME ZONE { $$ = TRUE; }
+ WITH_TIME ZONE { $$ = TRUE; }
| WITHOUT TIME ZONE { $$ = FALSE; }
| /*EMPTY*/ { $$ = FALSE; }
;
opt_interval:
- YEAR_P { $$ = INTERVAL_MASK(YEAR); }
- | MONTH_P { $$ = INTERVAL_MASK(MONTH); }
- | DAY_P { $$ = INTERVAL_MASK(DAY); }
- | HOUR_P { $$ = INTERVAL_MASK(HOUR); }
- | MINUTE_P { $$ = INTERVAL_MASK(MINUTE); }
- | SECOND_P { $$ = INTERVAL_MASK(SECOND); }
+ YEAR_P
+ { $$ = list_make1(makeIntConst(INTERVAL_MASK(YEAR), @1)); }
+ | MONTH_P
+ { $$ = list_make1(makeIntConst(INTERVAL_MASK(MONTH), @1)); }
+ | DAY_P
+ { $$ = list_make1(makeIntConst(INTERVAL_MASK(DAY), @1)); }
+ | HOUR_P
+ { $$ = list_make1(makeIntConst(INTERVAL_MASK(HOUR), @1)); }
+ | MINUTE_P
+ { $$ = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), @1)); }
+ | interval_second
+ { $$ = $1; }
| YEAR_P TO MONTH_P
- { $$ = INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH); }
+ {
+ $$ = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
+ INTERVAL_MASK(MONTH), @1));
+ }
| DAY_P TO HOUR_P
- { $$ = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR); }
+ {
+ $$ = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR), @1));
+ }
| DAY_P TO MINUTE_P
- { $$ = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)
- | INTERVAL_MASK(MINUTE); }
- | DAY_P TO SECOND_P
- { $$ = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)
- | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND); }
+ {
+ $$ = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE), @1));
+ }
+ | DAY_P TO interval_second
+ {
+ $$ = $3;
+ linitial($$) = makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), @1);
+ }
| HOUR_P TO MINUTE_P
- { $$ = INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE); }
- | HOUR_P TO SECOND_P
- { $$ = INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE)
- | INTERVAL_MASK(SECOND); }
- | MINUTE_P TO SECOND_P
- { $$ = INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND); }
- | /*EMPTY*/ { $$ = INTERVAL_FULL_RANGE; }
+ {
+ $$ = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE), @1));
+ }
+ | HOUR_P TO interval_second
+ {
+ $$ = $3;
+ linitial($$) = makeIntConst(INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), @1);
+ }
+ | MINUTE_P TO interval_second
+ {
+ $$ = $3;
+ linitial($$) = makeIntConst(INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), @1);
+ }
+ | /*EMPTY*/
+ { $$ = NIL; }
+ ;
+
+interval_second:
+ SECOND_P
+ {
+ $$ = list_make1(makeIntConst(INTERVAL_MASK(SECOND), @1));
+ }
+ | SECOND_P '(' Iconst ')'
+ {
+ $$ = list_make2(makeIntConst(INTERVAL_MASK(SECOND), @1),
+ makeIntConst($3, @3));
+ }
;
@@ -7335,7 +8213,7 @@ opt_interval:
*/
a_expr: c_expr { $$ = $1; }
| a_expr TYPECAST Typename
- { $$ = makeTypeCast($1, $3); }
+ { $$ = makeTypeCast($1, $3, @2); }
| a_expr AT TIME ZONE a_expr
{
FuncCall *n = makeNode(FuncCall);
@@ -7343,6 +8221,8 @@ a_expr: c_expr { $$ = $1; }
n->args = list_make2($5, $1);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @2;
$$ = (Node *) n;
}
@@ -7401,6 +8281,8 @@ a_expr: c_expr { $$ = $1; }
n->args = list_make2($3, $5);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @4;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", $1, (Node *) n, @2);
}
@@ -7413,6 +8295,8 @@ a_expr: c_expr { $$ = $1; }
n->args = list_make2($4, $6);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @5;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", $1, (Node *) n, @2);
}
@@ -7425,6 +8309,8 @@ a_expr: c_expr { $$ = $1; }
n->args = list_make2($3, $5);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @4;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", $1, (Node *) n, @2);
}
@@ -7437,19 +8323,21 @@ a_expr: c_expr { $$ = $1; }
n->args = list_make2($4, $6);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @5;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", $1, (Node *) n, @2);
}
| a_expr SIMILAR TO a_expr %prec SIMILAR
{
- A_Const *c = makeNode(A_Const);
FuncCall *n = makeNode(FuncCall);
- c->val.type = T_Null;
n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2($4, (Node *) c);
+ n->args = list_make2($4, makeNullAConst(-1));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @2;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", $1, (Node *) n, @2);
}
@@ -7460,18 +8348,20 @@ a_expr: c_expr { $$ = $1; }
n->args = list_make2($4, $6);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @5;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", $1, (Node *) n, @2);
}
| a_expr NOT SIMILAR TO a_expr %prec SIMILAR
{
- A_Const *c = makeNode(A_Const);
FuncCall *n = makeNode(FuncCall);
- c->val.type = T_Null;
n->funcname = SystemFuncName("similar_escape");
- n->args = list_make2($5, (Node *) c);
+ n->args = list_make2($5, makeNullAConst(-1));
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @5;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2);
}
@@ -7482,6 +8372,8 @@ a_expr: c_expr { $$ = $1; }
n->args = list_make2($5, $7);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @6;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2);
}
@@ -7589,6 +8481,11 @@ a_expr: c_expr { $$ = $1; }
{
$$ = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", $1, (Node *) $6, @2);
}
+ /*
+ * Ideally we would not use hard-wired operators below but instead use
+ * opclasses. However, mixed data types and other issues make this
+ * difficult: http://archives.postgresql.org/pgsql-hackers/2008-08/msg01142.php
+ */
| a_expr BETWEEN opt_asymmetric b_expr AND b_expr %prec BETWEEN
{
$$ = (Node *) makeA_Expr(AEXPR_AND, NIL,
@@ -7639,6 +8536,7 @@ a_expr: c_expr { $$ = $1; }
n->subLinkType = ANY_SUBLINK;
n->testexpr = $1;
n->operName = list_make1(makeString("="));
+ n->location = @2;
$$ = (Node *)n;
}
else
@@ -7658,6 +8556,7 @@ a_expr: c_expr { $$ = $1; }
n->subLinkType = ANY_SUBLINK;
n->testexpr = $1;
n->operName = list_make1(makeString("="));
+ n->location = @3;
/* Stick a NOT on top */
$$ = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (Node *) n, @2);
}
@@ -7674,6 +8573,7 @@ a_expr: c_expr { $$ = $1; }
n->testexpr = $1;
n->operName = $2;
n->subselect = $4;
+ n->location = @2;
$$ = (Node *)n;
}
| a_expr subquery_Op sub_type '(' a_expr ')' %prec Op
@@ -7696,16 +8596,19 @@ a_expr: c_expr { $$ = $1; }
*/
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("UNIQUE predicate is not yet implemented")));
+ errmsg("UNIQUE predicate is not yet implemented"),
+ scanner_errposition(@1)));
}
| a_expr IS DOCUMENT_P %prec IS
{
- $$ = makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1($1));
+ $$ = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1($1), @2);
}
| a_expr IS NOT DOCUMENT_P %prec IS
{
$$ = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL,
- makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1($1)),
+ makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1($1), @2),
@2);
}
;
@@ -7722,7 +8625,7 @@ a_expr: c_expr { $$ = $1; }
b_expr: c_expr
{ $$ = $1; }
| b_expr TYPECAST Typename
- { $$ = makeTypeCast($1, $3); }
+ { $$ = makeTypeCast($1, $3, @2); }
| '+' b_expr %prec UMINUS
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, $2, @1); }
| '-' b_expr %prec UMINUS
@@ -7770,12 +8673,14 @@ b_expr: c_expr
}
| b_expr IS DOCUMENT_P %prec IS
{
- $$ = makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1($1));
+ $$ = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1($1), @2);
}
| b_expr IS NOT DOCUMENT_P %prec IS
{
$$ = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL,
- makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1($1)),
+ makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1($1), @2),
@2);
}
;
@@ -7794,11 +8699,12 @@ c_expr: columnref { $$ = $1; }
{
ParamRef *p = makeNode(ParamRef);
p->number = $1;
+ p->location = @1;
if ($2)
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = (Node *) p;
- n->indirection = $2;
+ n->indirection = check_indirection($2);
$$ = (Node *) n;
}
else
@@ -7810,7 +8716,7 @@ c_expr: columnref { $$ = $1; }
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = $2;
- n->indirection = $4;
+ n->indirection = check_indirection($4);
$$ = (Node *)n;
}
else
@@ -7827,6 +8733,7 @@ c_expr: columnref { $$ = $1; }
n->testexpr = NULL;
n->operName = NIL;
n->subselect = $1;
+ n->location = @1;
$$ = (Node *)n;
}
| EXISTS select_with_parens
@@ -7836,6 +8743,7 @@ c_expr: columnref { $$ = $1; }
n->testexpr = NULL;
n->operName = NIL;
n->subselect = $2;
+ n->location = @1;
$$ = (Node *)n;
}
| ARRAY select_with_parens
@@ -7845,15 +8753,23 @@ c_expr: columnref { $$ = $1; }
n->testexpr = NULL;
n->operName = NIL;
n->subselect = $2;
+ n->location = @1;
$$ = (Node *)n;
}
| ARRAY array_expr
- { $$ = $2; }
+ {
+ A_ArrayExpr *n = (A_ArrayExpr *) $2;
+ Assert(IsA(n, A_ArrayExpr));
+ /* point outermost A_ArrayExpr to the ARRAY keyword */
+ n->location = @1;
+ $$ = (Node *)n;
+ }
| row
{
RowExpr *r = makeNode(RowExpr);
r->args = $1;
- r->row_typeid = 0; /* not analyzed yet */
+ r->row_typeid = InvalidOid; /* not analyzed yet */
+ r->location = @1;
$$ = (Node *)r;
}
;
@@ -7866,27 +8782,55 @@ c_expr: columnref { $$ = $1; }
* (Note that many of the special SQL functions wouldn't actually make any
* sense as functional index entries, but we ignore that consideration here.)
*/
-func_expr: func_name '(' ')'
+func_expr: func_name '(' ')' over_clause
{
FuncCall *n = makeNode(FuncCall);
n->funcname = $1;
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = $4;
n->location = @1;
$$ = (Node *)n;
}
- | func_name '(' expr_list ')'
+ | func_name '(' expr_list ')' over_clause
{
FuncCall *n = makeNode(FuncCall);
n->funcname = $1;
n->args = $3;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = $5;
+ n->location = @1;
+ $$ = (Node *)n;
+ }
+ | func_name '(' VARIADIC a_expr ')' over_clause
+ {
+ FuncCall *n = makeNode(FuncCall);
+ n->funcname = $1;
+ n->args = list_make1($4);
+ n->agg_star = FALSE;
+ n->agg_distinct = FALSE;
+ n->func_variadic = TRUE;
+ n->over = $6;
+ n->location = @1;
+ $$ = (Node *)n;
+ }
+ | func_name '(' expr_list ',' VARIADIC a_expr ')' over_clause
+ {
+ FuncCall *n = makeNode(FuncCall);
+ n->funcname = $1;
+ n->args = lappend($3, $6);
+ n->agg_star = FALSE;
+ n->agg_distinct = FALSE;
+ n->func_variadic = TRUE;
+ n->over = $8;
n->location = @1;
$$ = (Node *)n;
}
- | func_name '(' ALL expr_list ')'
+ | func_name '(' ALL expr_list ')' over_clause
{
FuncCall *n = makeNode(FuncCall);
n->funcname = $1;
@@ -7897,20 +8841,24 @@ func_expr: func_name '(' ')'
* "must be an aggregate", but there's no provision
* for that in FuncCall at the moment.
*/
+ n->func_variadic = FALSE;
+ n->over = $6;
n->location = @1;
$$ = (Node *)n;
}
- | func_name '(' DISTINCT expr_list ')'
+ | func_name '(' DISTINCT expr_list ')' over_clause
{
FuncCall *n = makeNode(FuncCall);
n->funcname = $1;
n->args = $4;
n->agg_star = FALSE;
n->agg_distinct = TRUE;
+ n->func_variadic = FALSE;
+ n->over = $6;
n->location = @1;
$$ = (Node *)n;
}
- | func_name '(' '*' ')'
+ | func_name '(' '*' ')' over_clause
{
/*
* We consider AGGREGATE(*) to invoke a parameterless
@@ -7927,6 +8875,8 @@ func_expr: func_name '(' ')'
n->args = NIL;
n->agg_star = TRUE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = $5;
n->location = @1;
$$ = (Node *)n;
}
@@ -7947,16 +8897,9 @@ func_expr: func_name '(' ')'
* that is actually possible, but not clear that we want
* to rely on it.)
*/
- A_Const *s = makeNode(A_Const);
- TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
- d = SystemTypeName("date");
-
- $$ = (Node *)makeTypeCast((Node *)s, d);
+ Node *n;
+ n = makeStringConstCast("now", @1, SystemTypeName("text"));
+ $$ = makeTypeCast(n, SystemTypeName("date"), -1);
}
| CURRENT_TIME
{
@@ -7964,16 +8907,9 @@ func_expr: func_name '(' ')'
* Translate as "'now'::text::timetz".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
- TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
- d = SystemTypeName("timetz");
-
- $$ = (Node *)makeTypeCast((Node *)s, d);
+ Node *n;
+ n = makeStringConstCast("now", @1, SystemTypeName("text"));
+ $$ = makeTypeCast(n, SystemTypeName("timetz"), -1);
}
| CURRENT_TIME '(' Iconst ')'
{
@@ -7981,16 +8917,12 @@ func_expr: func_name '(' ')'
* Translate as "'now'::text::timetz(n)".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
+ Node *n;
TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
+ n = makeStringConstCast("now", @1, SystemTypeName("text"));
d = SystemTypeName("timetz");
- d->typmods = list_make1(makeIntConst($3));
-
- $$ = (Node *)makeTypeCast((Node *)s, d);
+ d->typmods = list_make1(makeIntConst($3, @3));
+ $$ = makeTypeCast(n, d, -1);
}
| CURRENT_TIMESTAMP
{
@@ -8003,6 +8935,8 @@ func_expr: func_name '(' ')'
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8012,17 +8946,12 @@ func_expr: func_name '(' ')'
* Translate as "'now'::text::timestamptz(n)".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
+ Node *n;
TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
+ n = makeStringConstCast("now", @1, SystemTypeName("text"));
d = SystemTypeName("timestamptz");
- d->typmods = list_make1(makeIntConst($3));
-
- $$ = (Node *)makeTypeCast((Node *)s, d);
+ d->typmods = list_make1(makeIntConst($3, @3));
+ $$ = makeTypeCast(n, d, -1);
}
| LOCALTIME
{
@@ -8030,16 +8959,9 @@ func_expr: func_name '(' ')'
* Translate as "'now'::text::time".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
- TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
- d = SystemTypeName("time");
-
- $$ = (Node *)makeTypeCast((Node *)s, d);
+ Node *n;
+ n = makeStringConstCast("now", @1, SystemTypeName("text"));
+ $$ = makeTypeCast((Node *)n, SystemTypeName("time"), -1);
}
| LOCALTIME '(' Iconst ')'
{
@@ -8047,16 +8969,12 @@ func_expr: func_name '(' ')'
* Translate as "'now'::text::time(n)".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
+ Node *n;
TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
+ n = makeStringConstCast("now", @1, SystemTypeName("text"));
d = SystemTypeName("time");
- d->typmods = list_make1(makeIntConst($3));
-
- $$ = (Node *)makeTypeCast((Node *)s, d);
+ d->typmods = list_make1(makeIntConst($3, @3));
+ $$ = makeTypeCast((Node *)n, d, -1);
}
| LOCALTIMESTAMP
{
@@ -8064,16 +8982,9 @@ func_expr: func_name '(' ')'
* Translate as "'now'::text::timestamp".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
- TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
- d = SystemTypeName("timestamp");
-
- $$ = (Node *)makeTypeCast((Node *)s, d);
+ Node *n;
+ n = makeStringConstCast("now", @1, SystemTypeName("text"));
+ $$ = makeTypeCast(n, SystemTypeName("timestamp"), -1);
}
| LOCALTIMESTAMP '(' Iconst ')'
{
@@ -8081,60 +8992,87 @@ func_expr: func_name '(' ')'
* Translate as "'now'::text::timestamp(n)".
* See comments for CURRENT_DATE.
*/
- A_Const *s = makeNode(A_Const);
+ Node *n;
TypeName *d;
-
- s->val.type = T_String;
- s->val.val.str = "now";
- s->typename = SystemTypeName("text");
-
+ n = makeStringConstCast("now", @1, SystemTypeName("text"));
d = SystemTypeName("timestamp");
- d->typmods = list_make1(makeIntConst($3));
-
- $$ = (Node *)makeTypeCast((Node *)s, d);
+ d->typmods = list_make1(makeIntConst($3, @3));
+ $$ = makeTypeCast(n, d, -1);
+ }
+ | CURRENT_ROLE
+ {
+ FuncCall *n = makeNode(FuncCall);
+ n->funcname = SystemFuncName("current_user");
+ n->args = NIL;
+ n->agg_star = FALSE;
+ n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
+ n->location = @1;
+ $$ = (Node *)n;
+ }
+ | CURRENT_USER
+ {
+ FuncCall *n = makeNode(FuncCall);
+ n->funcname = SystemFuncName("current_user");
+ n->args = NIL;
+ n->agg_star = FALSE;
+ n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
+ n->location = @1;
+ $$ = (Node *)n;
}
- | CURRENT_ROLE
+ | SESSION_USER
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
+ n->funcname = SystemFuncName("session_user");
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
- | CURRENT_USER
+ | USER
{
FuncCall *n = makeNode(FuncCall);
n->funcname = SystemFuncName("current_user");
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
- | SESSION_USER
+ | CURRENT_CATALOG
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("session_user");
+ n->funcname = SystemFuncName("current_database");
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
- | USER
+ | CURRENT_SCHEMA
{
FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("current_user");
+ n->funcname = SystemFuncName("current_schema");
n->args = NIL;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
| CAST '(' a_expr AS Typename ')'
- { $$ = makeTypeCast($3, $5); }
+ { $$ = makeTypeCast($3, $5, @1); }
| EXTRACT '(' extract_list ')'
{
FuncCall *n = makeNode(FuncCall);
@@ -8142,6 +9080,8 @@ func_expr: func_name '(' ')'
n->args = $3;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8157,6 +9097,8 @@ func_expr: func_name '(' ')'
n->args = $3;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8168,6 +9110,8 @@ func_expr: func_name '(' ')'
n->args = $3;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8181,6 +9125,8 @@ func_expr: func_name '(' ')'
n->args = $3;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8200,6 +9146,8 @@ func_expr: func_name '(' ')'
n->args = list_make1($3);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8213,6 +9161,8 @@ func_expr: func_name '(' ')'
n->args = $4;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8223,6 +9173,8 @@ func_expr: func_name '(' ')'
n->args = $4;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8233,6 +9185,8 @@ func_expr: func_name '(' ')'
n->args = $4;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8243,6 +9197,8 @@ func_expr: func_name '(' ')'
n->args = $3;
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = @1;
$$ = (Node *)n;
}
@@ -8254,6 +9210,7 @@ func_expr: func_name '(' ')'
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = $3;
+ c->location = @1;
$$ = (Node *)c;
}
| GREATEST '(' expr_list ')'
@@ -8261,6 +9218,7 @@ func_expr: func_name '(' ')'
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = $3;
v->op = IS_GREATEST;
+ v->location = @1;
$$ = (Node *)v;
}
| LEAST '(' expr_list ')'
@@ -8268,52 +9226,54 @@ func_expr: func_name '(' ')'
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = $3;
v->op = IS_LEAST;
+ v->location = @1;
$$ = (Node *)v;
}
| XMLCONCAT '(' expr_list ')'
{
- $$ = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, $3);
+ $$ = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, $3, @1);
}
| XMLELEMENT '(' NAME_P ColLabel ')'
{
- $$ = makeXmlExpr(IS_XMLELEMENT, $4, NIL, NIL);
+ $$ = makeXmlExpr(IS_XMLELEMENT, $4, NIL, NIL, @1);
}
| XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')'
{
- $$ = makeXmlExpr(IS_XMLELEMENT, $4, $6, NIL);
+ $$ = makeXmlExpr(IS_XMLELEMENT, $4, $6, NIL, @1);
}
| XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')'
{
- $$ = makeXmlExpr(IS_XMLELEMENT, $4, NIL, $6);
+ $$ = makeXmlExpr(IS_XMLELEMENT, $4, NIL, $6, @1);
}
| XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')'
{
- $$ = makeXmlExpr(IS_XMLELEMENT, $4, $6, $8);
+ $$ = makeXmlExpr(IS_XMLELEMENT, $4, $6, $8, @1);
}
| XMLFOREST '(' xml_attribute_list ')'
{
- $$ = makeXmlExpr(IS_XMLFOREST, NULL, $3, NIL);
+ $$ = makeXmlExpr(IS_XMLFOREST, NULL, $3, NIL, @1);
}
| XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')'
{
- XmlExpr *x = (XmlExpr *) makeXmlExpr(IS_XMLPARSE, NULL, NIL,
- list_make2($4,
- makeBoolAConst($5)));
+ XmlExpr *x = (XmlExpr *)
+ makeXmlExpr(IS_XMLPARSE, NULL, NIL,
+ list_make2($4, makeBoolAConst($5, -1)),
+ @1);
x->xmloption = $3;
$$ = (Node *)x;
}
| XMLPI '(' NAME_P ColLabel ')'
{
- $$ = makeXmlExpr(IS_XMLPI, $4, NULL, NIL);
+ $$ = makeXmlExpr(IS_XMLPI, $4, NULL, NIL, @1);
}
| XMLPI '(' NAME_P ColLabel ',' a_expr ')'
{
- $$ = makeXmlExpr(IS_XMLPI, $4, NULL, list_make1($6));
+ $$ = makeXmlExpr(IS_XMLPI, $4, NULL, list_make1($6), @1);
}
| XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')'
{
$$ = makeXmlExpr(IS_XMLROOT, NULL, NIL,
- list_make3($3, $5, $6));
+ list_make3($3, $5, $6), @1);
}
| XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename ')'
{
@@ -8321,6 +9281,7 @@ func_expr: func_name '(' ')'
n->xmloption = $3;
n->expr = $4;
n->typename = $6;
+ n->location = @1;
$$ = (Node *)n;
}
;
@@ -8331,21 +9292,17 @@ func_expr: func_name '(' ')'
xml_root_version: VERSION_P a_expr
{ $$ = $2; }
| VERSION_P NO VALUE_P
- {
- A_Const *val = makeNode(A_Const);
- val->val.type = T_Null;
- $$ = (Node *) val;
- }
+ { $$ = makeNullAConst(-1); }
;
opt_xml_root_standalone: ',' STANDALONE_P YES_P
- { $$ = (Node *) makeIntConst(XML_STANDALONE_YES); }
+ { $$ = makeIntConst(XML_STANDALONE_YES, -1); }
| ',' STANDALONE_P NO
- { $$ = (Node *) makeIntConst(XML_STANDALONE_NO); }
+ { $$ = makeIntConst(XML_STANDALONE_NO, -1); }
| ',' STANDALONE_P NO VALUE_P
- { $$ = (Node *) makeIntConst(XML_STANDALONE_NO_VALUE); }
+ { $$ = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
| /*EMPTY*/
- { $$ = (Node *) makeIntConst(XML_STANDALONE_OMITTED); }
+ { $$ = makeIntConst(XML_STANDALONE_OMITTED, -1); }
;
xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')' { $$ = $3; }
@@ -8359,7 +9316,7 @@ xml_attribute_el: a_expr AS ColLabel
{
$$ = makeNode(ResTarget);
$$->name = $3;
- $$->indirection = NULL;
+ $$->indirection = NIL;
$$->val = (Node *) $1;
$$->location = @1;
}
@@ -8367,7 +9324,7 @@ xml_attribute_el: a_expr AS ColLabel
{
$$ = makeNode(ResTarget);
$$->name = NULL;
- $$->indirection = NULL;
+ $$->indirection = NIL;
$$->val = (Node *) $1;
$$->location = @1;
}
@@ -8382,6 +9339,155 @@ xml_whitespace_option: PRESERVE WHITESPACE_P { $$ = TRUE; }
| /*EMPTY*/ { $$ = FALSE; }
;
+/*
+ * Window Definitions
+ */
+window_clause:
+ WINDOW window_definition_list { $$ = $2; }
+ | /*EMPTY*/ { $$ = NIL; }
+ ;
+
+window_definition_list:
+ window_definition { $$ = list_make1($1); }
+ | window_definition_list ',' window_definition
+ { $$ = lappend($1, $3); }
+ ;
+
+window_definition:
+ ColId AS window_specification
+ {
+ WindowDef *n = $3;
+ n->name = $1;
+ $$ = n;
+ }
+ ;
+
+over_clause: OVER window_specification
+ { $$ = $2; }
+ | OVER ColId
+ {
+ WindowDef *n = makeNode(WindowDef);
+ n->name = $2;
+ n->refname = NULL;
+ n->partitionClause = NIL;
+ n->orderClause = NIL;
+ n->frameOptions = FRAMEOPTION_DEFAULTS;
+ n->location = @2;
+ $$ = n;
+ }
+ | /*EMPTY*/
+ { $$ = NULL; }
+ ;
+
+window_specification: '(' opt_existing_window_name opt_partition_clause
+ opt_sort_clause opt_frame_clause ')'
+ {
+ WindowDef *n = makeNode(WindowDef);
+ n->name = NULL;
+ n->refname = $2;
+ n->partitionClause = $3;
+ n->orderClause = $4;
+ n->frameOptions = $5;
+ n->location = @1;
+ $$ = n;
+ }
+ ;
+
+/*
+ * If we see PARTITION, RANGE, or ROWS as the first token after the '('
+ * of a window_specification, we want the assumption to be that there is
+ * no existing_window_name; but those keywords are unreserved and so could
+ * be ColIds. We fix this by making them have the same precedence as IDENT
+ * and giving the empty production here a slightly higher precedence, so
+ * that the shift/reduce conflict is resolved in favor of reducing the rule.
+ * These keywords are thus precluded from being an existing_window_name but
+ * are not reserved for any other purpose.
+ */
+opt_existing_window_name: ColId { $$ = $1; }
+ | /*EMPTY*/ %prec Op { $$ = NULL; }
+ ;
+
+opt_partition_clause: PARTITION BY expr_list { $$ = $3; }
+ | /*EMPTY*/ { $$ = NIL; }
+ ;
+
+/*
+ * This is only a subset of the full SQL:2008 frame_clause grammar.
+ * We don't support <expression> PRECEDING, <expression> FOLLOWING,
+ * nor <window frame exclusion> yet.
+ */
+opt_frame_clause:
+ RANGE frame_extent
+ {
+ $$ = FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE | $2;
+ }
+ | ROWS frame_extent
+ {
+ $$ = FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS | $2;
+ }
+ | /*EMPTY*/
+ { $$ = FRAMEOPTION_DEFAULTS; }
+ ;
+
+frame_extent: frame_bound
+ {
+ /* reject invalid cases */
+ if ($1 & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
+ ereport(ERROR,
+ (errcode(ERRCODE_WINDOWING_ERROR),
+ errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
+ scanner_errposition(@1)));
+ if ($1 & FRAMEOPTION_START_CURRENT_ROW)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("frame start at CURRENT ROW is not implemented"),
+ scanner_errposition(@1)));
+ $$ = $1 | FRAMEOPTION_END_CURRENT_ROW;
+ }
+ | BETWEEN frame_bound AND frame_bound
+ {
+ /* reject invalid cases */
+ if ($2 & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
+ ereport(ERROR,
+ (errcode(ERRCODE_WINDOWING_ERROR),
+ errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
+ scanner_errposition(@2)));
+ if ($2 & FRAMEOPTION_START_CURRENT_ROW)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("frame start at CURRENT ROW is not implemented"),
+ scanner_errposition(@2)));
+ if ($4 & FRAMEOPTION_START_UNBOUNDED_PRECEDING)
+ ereport(ERROR,
+ (errcode(ERRCODE_WINDOWING_ERROR),
+ errmsg("frame end cannot be UNBOUNDED PRECEDING"),
+ scanner_errposition(@4)));
+ /* shift converts START_ options to END_ options */
+ $$ = FRAMEOPTION_BETWEEN | $2 | ($4 << 1);
+ }
+ ;
+
+/*
+ * This is used for both frame start and frame end, with output set up on
+ * the assumption it's frame start; the frame_extent productions must reject
+ * invalid cases.
+ */
+frame_bound:
+ UNBOUNDED PRECEDING
+ {
+ $$ = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
+ }
+ | UNBOUNDED FOLLOWING
+ {
+ $$ = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
+ }
+ | CURRENT_P ROW
+ {
+ $$ = FRAMEOPTION_START_CURRENT_ROW;
+ }
+ ;
+
+
/*
* Supporting nonterminals for expressions.
*/
@@ -8463,45 +9569,40 @@ expr_list: a_expr
}
;
-extract_list:
- extract_arg FROM a_expr
- {
- A_Const *n = makeNode(A_Const);
- n->val.type = T_String;
- n->val.val.str = $1;
- $$ = list_make2((Node *) n, $3);
- }
- | /*EMPTY*/ { $$ = NIL; }
- ;
-
type_list: Typename { $$ = list_make1($1); }
| type_list ',' Typename { $$ = lappend($1, $3); }
;
-array_expr_list: array_expr
- { $$ = list_make1($1); }
- | array_expr_list ',' array_expr
- { $$ = lappend($1, $3); }
- ;
-
array_expr: '[' expr_list ']'
{
- ArrayExpr *n = makeNode(ArrayExpr);
- n->elements = $2;
- $$ = (Node *)n;
+ $$ = makeAArrayExpr($2, @1);
}
| '[' array_expr_list ']'
{
- ArrayExpr *n = makeNode(ArrayExpr);
- n->elements = $2;
- $$ = (Node *)n;
+ $$ = makeAArrayExpr($2, @1);
+ }
+ | '[' ']'
+ {
+ $$ = makeAArrayExpr(NIL, @1);
+ }
+ ;
+
+array_expr_list: array_expr { $$ = list_make1($1); }
+ | array_expr_list ',' array_expr { $$ = lappend($1, $3); }
+ ;
+
+
+extract_list:
+ extract_arg FROM a_expr
+ {
+ $$ = list_make2(makeStringConst($1, @1), $3);
}
+ | /*EMPTY*/ { $$ = NIL; }
;
-/* Allow delimited string SCONST in extract_arg as an SQL extension.
+/* Allow delimited string Sconst in extract_arg as an SQL extension.
* - thomas 2001-04-12
*/
-
extract_arg:
IDENT { $$ = $1; }
| YEAR_P { $$ = "year"; }
@@ -8510,7 +9611,7 @@ extract_arg:
| HOUR_P { $$ = "hour"; }
| MINUTE_P { $$ = "minute"; }
| SECOND_P { $$ = "second"; }
- | SCONST { $$ = $1; }
+ | Sconst { $$ = $1; }
;
/* OVERLAY() arguments
@@ -8578,11 +9679,9 @@ substr_list:
* which it is likely to do if the second argument
* is unknown or doesn't have an implicit cast to int4.
*/
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Integer;
- n->val.val.ival = 1;
- $$ = list_make3($1, (Node *) n,
- makeTypeCast($2, SystemTypeName("int4")));
+ $$ = list_make3($1, makeIntConst(1, -1),
+ makeTypeCast($2,
+ SystemTypeName("int4"), -1));
}
| expr_list
{
@@ -8624,10 +9723,11 @@ in_expr: select_with_parens
case_expr: CASE case_arg when_clause_list case_default END_P
{
CaseExpr *c = makeNode(CaseExpr);
- c->casetype = 0; /* not analyzed yet */
+ c->casetype = InvalidOid; /* not analyzed yet */
c->arg = (Expr *) $2;
c->args = $3;
c->defresult = (Expr *) $4;
+ c->location = @1;
$$ = (Node *)c;
}
;
@@ -8644,6 +9744,7 @@ when_clause:
CaseWhen *w = makeNode(CaseWhen);
w->expr = (Expr *) $2;
w->result = (Expr *) $4;
+ w->location = @1;
$$ = (Node *)w;
}
;
@@ -8679,7 +9780,7 @@ indirection_el:
}
| '.' '*'
{
- $$ = (Node *) makeString("*");
+ $$ = (Node *) makeNode(A_Star);
}
| '[' a_expr ']'
{
@@ -8720,7 +9821,12 @@ opt_asymmetric: ASYMMETRIC
ctext_expr:
a_expr { $$ = (Node *) $1; }
- | DEFAULT { $$ = (Node *) makeNode(SetToDefault); }
+ | DEFAULT
+ {
+ SetToDefault *n = makeNode(SetToDefault);
+ n->location = @1;
+ $$ = (Node *) n;
+ }
;
ctext_expr_list:
@@ -8748,7 +9854,6 @@ target_list:
| target_list ',' target_el { $$ = lappend($1, $3); }
;
-/* AS is not optional because shift/red conflict with unary ops */
target_el: a_expr AS ColLabel
{
$$ = makeNode(ResTarget);
@@ -8757,6 +9862,22 @@ target_el: a_expr AS ColLabel
$$->val = (Node *)$1;
$$->location = @1;
}
+ /*
+ * We support omitting AS only for column labels that aren't
+ * any known keyword. There is an ambiguity against postfix
+ * operators: is "a ! b" an infix expression, or a postfix
+ * expression and a column label? We prefer to resolve this
+ * as an infix expression, which we accomplish by assigning
+ * IDENT a precedence higher than POSTFIXOP.
+ */
+ | a_expr IDENT
+ {
+ $$ = makeNode(ResTarget);
+ $$->name = $2;
+ $$->indirection = NIL;
+ $$->val = (Node *)$1;
+ $$->location = @1;
+ }
| a_expr
{
$$ = makeNode(ResTarget);
@@ -8768,7 +9889,7 @@ target_el: a_expr AS ColLabel
| '*'
{
ColumnRef *n = makeNode(ColumnRef);
- n->fields = list_make1(makeString("*"));
+ n->fields = list_make1(makeNode(A_Star));
n->location = @1;
$$ = makeNode(ResTarget);
@@ -8810,6 +9931,7 @@ qualified_name:
$$->catalogname = NULL;
$$->schemaname = NULL;
$$->relname = $1;
+ $$->location = @1;
}
| relation_name indirection
{
@@ -8831,9 +9953,11 @@ qualified_name:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
- NameListToString(lcons(makeString($1), $2)))));
+ NameListToString(lcons(makeString($1), $2))),
+ scanner_errposition(@1)));
break;
}
+ $$->location = @1;
}
;
@@ -8878,31 +10002,19 @@ func_name: type_function_name
*/
AexprConst: Iconst
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Integer;
- n->val.val.ival = $1;
- $$ = (Node *)n;
+ $$ = makeIntConst($1, @1);
}
| FCONST
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Float;
- n->val.val.str = $1;
- $$ = (Node *)n;
+ $$ = makeFloatConst($1, @1);
}
| Sconst
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_String;
- n->val.val.str = $1;
- $$ = (Node *)n;
+ $$ = makeStringConst($1, @1);
}
| BCONST
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_BitString;
- n->val.val.str = $1;
- $$ = (Node *)n;
+ $$ = makeBitStringConst($1, @1);
}
| XCONST
{
@@ -8911,74 +10023,61 @@ AexprConst: Iconst
* a <general literal> shall not be a
* <bit string literal> or a <hex string literal>.
*/
- A_Const *n = makeNode(A_Const);
- n->val.type = T_BitString;
- n->val.val.str = $1;
- $$ = (Node *)n;
+ $$ = makeBitStringConst($1, @1);
}
| func_name Sconst
{
/* generic type 'literal' syntax */
- A_Const *n = makeNode(A_Const);
- n->typename = makeTypeNameFromNameList($1);
- n->typename->location = @1;
- n->val.type = T_String;
- n->val.val.str = $2;
- $$ = (Node *)n;
+ TypeName *t = makeTypeNameFromNameList($1);
+ t->location = @1;
+ $$ = makeStringConstCast($2, @2, t);
}
| func_name '(' expr_list ')' Sconst
{
/* generic syntax with a type modifier */
- A_Const *n = makeNode(A_Const);
- n->typename = makeTypeNameFromNameList($1);
- n->typename->typmods = $3;
- n->typename->location = @1;
- n->val.type = T_String;
- n->val.val.str = $5;
- $$ = (Node *)n;
+ TypeName *t = makeTypeNameFromNameList($1);
+ t->typmods = $3;
+ t->location = @1;
+ $$ = makeStringConstCast($5, @5, t);
}
| ConstTypename Sconst
{
- A_Const *n = makeNode(A_Const);
- n->typename = $1;
- n->val.type = T_String;
- n->val.val.str = $2;
- $$ = (Node *)n;
+ $$ = makeStringConstCast($2, @2, $1);
}
| ConstInterval Sconst opt_interval
{
- A_Const *n = makeNode(A_Const);
- n->typename = $1;
- n->val.type = T_String;
- n->val.val.str = $2;
- /* precision is not specified, but fields may be... */
- if ($3 != INTERVAL_FULL_RANGE)
- n->typename->typmods = list_make1(makeIntConst($3));
- $$ = (Node *)n;
+ TypeName *t = $1;
+ t->typmods = $3;
+ $$ = makeStringConstCast($2, @2, t);
}
| ConstInterval '(' Iconst ')' Sconst opt_interval
{
- A_Const *n = makeNode(A_Const);
- n->typename = $1;
- n->val.type = T_String;
- n->val.val.str = $5;
- n->typename->typmods = list_make2(makeIntConst($6),
- makeIntConst($3));
- $$ = (Node *)n;
+ TypeName *t = $1;
+ if ($6 != NIL)
+ {
+ if (list_length($6) != 1)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("interval precision specified twice"),
+ scanner_errposition(@1)));
+ t->typmods = lappend($6, makeIntConst($3, @3));
+ }
+ else
+ t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
+ makeIntConst($3, @3));
+ $$ = makeStringConstCast($5, @5, t);
}
| TRUE_P
{
- $$ = (Node *)makeBoolAConst(TRUE);
+ $$ = makeBoolAConst(TRUE, @1);
}
| FALSE_P
{
- $$ = (Node *)makeBoolAConst(FALSE);
+ $$ = makeBoolAConst(FALSE, @1);
}
| NULL_P
{
- A_Const *n = makeNode(A_Const);
- n->val.type = T_Null;
- $$ = (Node *)n;
+ $$ = makeNullAConst(@1);
}
;
@@ -8986,8 +10085,9 @@ Iconst: ICONST { $$ = $1; };
Sconst: SCONST { $$ = $1; };
RoleId: ColId { $$ = $1; };
-SignedIconst: ICONST { $$ = $1; }
- | '-' ICONST { $$ = - $2; }
+SignedIconst: Iconst { $$ = $1; }
+ | '+' Iconst { $$ = + $2; }
+ | '-' Iconst { $$ = - $2; }
;
/*
@@ -9064,6 +10164,7 @@ unreserved_keyword:
| CALLED
| CASCADE
| CASCADED
+ | CATALOG_P
| CHAIN
| CHARACTERISTICS
| CHECKPOINT
@@ -9078,6 +10179,7 @@ unreserved_keyword:
| CONNECTION
| CONSTRAINTS
| CONTENT_P
+ | CONTINUE_P
| CONVERSION_P
| COPY
| COST
@@ -9088,6 +10190,7 @@ unreserved_keyword:
| CURRENT_P
| CURSOR
| CYCLE
+ | DATA_P
| DATABASE
| DAY_P
| DEALLOCATE
@@ -9117,8 +10220,8 @@ unreserved_keyword:
| EXPLAIN
| EXTERNAL
| FAMILY
- | FETCH
| FIRST_P
+ | FOLLOWING
| FORCE
| FORWARD
| FUNCTION
@@ -9128,6 +10231,7 @@ unreserved_keyword:
| HEADER_P
| HOLD
| HOUR_P
+ | IDENTITY_P
| IF_P
| IMMEDIATE
| IMMUTABLE
@@ -9149,6 +10253,8 @@ unreserved_keyword:
| LANGUAGE
| LARGE_P
| LAST_P
+ | LC_COLLATE_P
+ | LC_CTYPE_P
| LEVEL
| LISTEN
| LOAD
@@ -9183,12 +10289,15 @@ unreserved_keyword:
| OIDS
| OPERATOR
| OPTION
+ | OPTIONS
| OWNED
| OWNER
| PARSER
| PARTIAL
+ | PARTITION
| PASSWORD
| PLANS
+ | PRECEDING
| PREPARE
| PREPARED
| PRESERVE
@@ -9197,9 +10306,11 @@ unreserved_keyword:
| PROCEDURAL
| PROCEDURE
| QUOTE
+ | RANGE
| READ
| REASSIGN
| RECHECK
+ | RECURSIVE
| REINDEX
| RELATIVE_P
| RELEASE
@@ -9224,6 +10335,7 @@ unreserved_keyword:
| SECURITY
| SEQUENCE
| SERIALIZABLE
+ | SERVER
| SESSION
| SET
| SHARE
@@ -9252,6 +10364,7 @@ unreserved_keyword:
| TRUNCATE
| TRUSTED
| TYPE_P
+ | UNBOUNDED
| UNCOMMITTED
| UNENCRYPTED
| UNKNOWN
@@ -9267,9 +10380,9 @@ unreserved_keyword:
| VIEW
| VOLATILE
| WHITESPACE_P
- | WITH
| WITHOUT
| WORK
+ | WRAPPER
| WRITE
| XML_P
| YEAR_P
@@ -9350,6 +10463,7 @@ type_func_name_keyword:
| BETWEEN
| BINARY
| CROSS
+ | CURRENT_SCHEMA
| FREEZE
| FULL
| ILIKE
@@ -9362,6 +10476,7 @@ type_func_name_keyword:
| NATURAL
| NOTNULL
| OUTER_P
+ | OVER
| OVERLAPS
| RIGHT
| SIMILAR
@@ -9392,6 +10507,7 @@ reserved_keyword:
| COLUMN
| CONSTRAINT
| CREATE
+ | CURRENT_CATALOG
| CURRENT_DATE
| CURRENT_ROLE
| CURRENT_TIME
@@ -9406,6 +10522,7 @@ reserved_keyword:
| END_P
| EXCEPT
| FALSE_P
+ | FETCH
| FOR
| FOREIGN
| FROM
@@ -9447,8 +10564,11 @@ reserved_keyword:
| UNIQUE
| USER
| USING
+ | VARIADIC
| WHEN
| WHERE
+ | WINDOW
+ | WITH
;
@@ -9460,7 +10580,8 @@ SpecialRuleRelation:
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("OLD used in query that is not in a rule")));
+ errmsg("OLD used in query that is not in a rule"),
+ scanner_errposition(@1)));
}
| NEW
{
@@ -9469,14 +10590,15 @@ SpecialRuleRelation:
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("NEW used in query that is not in a rule")));
+ errmsg("NEW used in query that is not in a rule"),
+ scanner_errposition(@1)));
}
;
%%
static Node *
-makeColumnRef(char *relname, List *indirection, int location)
+makeColumnRef(char *colname, List *indirection, int location)
{
/*
* Generate a ColumnRef node, with an A_Indirection node added if there
@@ -9498,95 +10620,128 @@ makeColumnRef(char *relname, List *indirection, int location)
if (nfields == 0)
{
/* easy case - all indirection goes to A_Indirection */
- c->fields = list_make1(makeString(relname));
- i->indirection = indirection;
+ c->fields = list_make1(makeString(colname));
+ i->indirection = check_indirection(indirection);
}
else
{
/* got to split the list in two */
- i->indirection = list_copy_tail(indirection, nfields);
+ i->indirection = check_indirection(list_copy_tail(indirection,
+ nfields));
indirection = list_truncate(indirection, nfields);
- c->fields = lcons(makeString(relname), indirection);
+ c->fields = lcons(makeString(colname), indirection);
}
i->arg = (Node *) c;
return (Node *) i;
}
+ else if (IsA(lfirst(l), A_Star))
+ {
+ /* We only allow '*' at the end of a ColumnRef */
+ if (lnext(l) != NULL)
+ yyerror("improper use of \"*\"");
+ }
nfields++;
}
/* No subscripting, so all indirection gets added to field list */
- c->fields = lcons(makeString(relname), indirection);
+ c->fields = lcons(makeString(colname), indirection);
return (Node *) c;
}
static Node *
-makeTypeCast(Node *arg, TypeName *typename)
+makeTypeCast(Node *arg, TypeName *typename, int location)
{
- /*
- * Simply generate a TypeCast node.
- *
- * Earlier we would determine whether an A_Const would
- * be acceptable, however Domains require coerce_type()
- * to process them -- applying constraints as required.
- */
TypeCast *n = makeNode(TypeCast);
n->arg = arg;
n->typename = typename;
+ n->location = location;
return (Node *) n;
}
static Node *
-makeStringConst(char *str, TypeName *typename)
+makeStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
n->val.val.str = str;
- n->typename = typename;
+ n->location = location;
return (Node *)n;
}
static Node *
-makeIntConst(int val)
+makeStringConstCast(char *str, int location, TypeName *typename)
+{
+ Node *s = makeStringConst(str, location);
+
+ return makeTypeCast(s, typename, -1);
+}
+
+static Node *
+makeIntConst(int val, int location)
{
A_Const *n = makeNode(A_Const);
+
n->val.type = T_Integer;
n->val.val.ival = val;
- n->typename = SystemTypeName("int4");
+ n->location = location;
return (Node *)n;
}
static Node *
-makeFloatConst(char *str)
+makeFloatConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Float;
n->val.val.str = str;
- n->typename = SystemTypeName("float8");
+ n->location = location;
+
+ return (Node *)n;
+}
+
+static Node *
+makeBitStringConst(char *str, int location)
+{
+ A_Const *n = makeNode(A_Const);
+
+ n->val.type = T_BitString;
+ n->val.val.str = str;
+ n->location = location;
+
+ return (Node *)n;
+}
+
+static Node *
+makeNullAConst(int location)
+{
+ A_Const *n = makeNode(A_Const);
+
+ n->val.type = T_Null;
+ n->location = location;
return (Node *)n;
}
static Node *
-makeAConst(Value *v)
+makeAConst(Value *v, int location)
{
Node *n;
switch (v->type)
{
case T_Float:
- n = makeFloatConst(v->val.str);
+ n = makeFloatConst(v->val.str, location);
break;
case T_Integer:
- n = makeIntConst(v->val.ival);
+ n = makeIntConst(v->val.ival, location);
break;
case T_String:
default:
- n = makeStringConst(v->val.str, NULL);
+ n = makeStringConst(v->val.str, location);
break;
}
@@ -9594,16 +10749,18 @@ makeAConst(Value *v)
}
/* makeBoolAConst()
- * Create an A_Const node and initialize to a boolean constant.
+ * Create an A_Const string node and put it inside a boolean cast.
*/
-static A_Const *
-makeBoolAConst(bool state)
+static Node *
+makeBoolAConst(bool state, int location)
{
A_Const *n = makeNode(A_Const);
+
n->val.type = T_String;
- n->val.val.str = (state? "t": "f");
- n->typename = SystemTypeName("bool");
- return n;
+ n->val.val.str = (state ? "t" : "f");
+ n->location = location;
+
+ return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
}
/* makeOverlaps()
@@ -9620,16 +10777,20 @@ makeOverlaps(List *largs, List *rargs, int location)
else if (list_length(largs) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("wrong number of parameters on left side of OVERLAPS expression")));
+ errmsg("wrong number of parameters on left side of OVERLAPS expression"),
+ scanner_errposition(location)));
if (list_length(rargs) == 1)
rargs = lappend(rargs, rargs);
else if (list_length(rargs) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("wrong number of parameters on right side of OVERLAPS expression")));
+ errmsg("wrong number of parameters on right side of OVERLAPS expression"),
+ scanner_errposition(location)));
n->args = list_concat(largs, rargs);
n->agg_star = FALSE;
n->agg_distinct = FALSE;
+ n->func_variadic = FALSE;
+ n->over = NULL;
n->location = location;
return n;
}
@@ -9648,8 +10809,6 @@ check_qualified_name(List *names)
{
if (!IsA(lfirst(i), String))
yyerror("syntax error");
- else if (strcmp(strVal(lfirst(i)), "*") == 0)
- yyerror("syntax error");
}
}
@@ -9667,12 +10826,31 @@ check_func_name(List *names)
{
if (!IsA(lfirst(i), String))
yyerror("syntax error");
- else if (strcmp(strVal(lfirst(i)), "*") == 0)
- yyerror("syntax error");
}
return names;
}
+/* check_indirection --- check the result of indirection production
+ *
+ * We only allow '*' at the end of the list, but it's hard to enforce that
+ * in the grammar, so do it here.
+ */
+static List *
+check_indirection(List *indirection)
+{
+ ListCell *l;
+
+ foreach(l, indirection)
+ {
+ if (IsA(lfirst(l), A_Star))
+ {
+ if (lnext(l) != NULL)
+ yyerror("improper use of \"*\"");
+ }
+ }
+ return indirection;
+}
+
/* extractArgTypes()
* Given a list of FunctionParameter nodes, extract a list of just the
* argument types (TypeNames) for input parameters only. This is what
@@ -9689,7 +10867,7 @@ extractArgTypes(List *parameters)
{
FunctionParameter *p = (FunctionParameter *) lfirst(i);
- if (p->mode != FUNC_PARAM_OUT) /* keep if IN or INOUT */
+ if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
result = lappend(result, p->argType);
}
return result;
@@ -9714,8 +10892,11 @@ findLeftmostSelect(SelectStmt *node)
static void
insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
- Node *limitOffset, Node *limitCount)
+ Node *limitOffset, Node *limitCount,
+ WithClause *withClause)
{
+ Assert(IsA(stmt, SelectStmt));
+
/*
* Tests here are to reject constructs like
* (SELECT foo ORDER BY bar) ORDER BY baz
@@ -9725,7 +10906,8 @@ insertSelectOptions(SelectStmt *stmt,
if (stmt->sortClause)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("multiple ORDER BY clauses not allowed")));
+ errmsg("multiple ORDER BY clauses not allowed"),
+ scanner_errposition(exprLocation((Node *) sortClause))));
stmt->sortClause = sortClause;
}
/* We can handle multiple locking clauses, though */
@@ -9735,7 +10917,8 @@ insertSelectOptions(SelectStmt *stmt,
if (stmt->limitOffset)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("multiple OFFSET clauses not allowed")));
+ errmsg("multiple OFFSET clauses not allowed"),
+ scanner_errposition(exprLocation(limitOffset))));
stmt->limitOffset = limitOffset;
}
if (limitCount)
@@ -9743,9 +10926,19 @@ insertSelectOptions(SelectStmt *stmt,
if (stmt->limitCount)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("multiple LIMIT clauses not allowed")));
+ errmsg("multiple LIMIT clauses not allowed"),
+ scanner_errposition(exprLocation(limitCount))));
stmt->limitCount = limitCount;
}
+ if (withClause)
+ {
+ if (stmt->withClause)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("multiple WITH clauses not allowed"),
+ scanner_errposition(exprLocation((Node *) withClause))));
+ stmt->withClause = withClause;
+ }
}
static Node *
@@ -9773,20 +10966,13 @@ SystemFuncName(char *name)
* Build a properly-qualified reference to a built-in type.
*
* typmod is defaulted, but may be changed afterwards by caller.
+ * Likewise for the location.
*/
TypeName *
SystemTypeName(char *name)
{
- return makeTypeNameFromNameList(list_make1(makeString(name)));
-}
-
-/* parser_init()
- * Initialize to parse one query string
- */
-void
-parser_init(void)
-{
- QueryIsRule = FALSE;
+ return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
+ makeString(name)));
}
/* exprIsNullConstant()
@@ -9799,8 +10985,7 @@ exprIsNullConstant(Node *arg)
{
A_Const *con = (A_Const *) arg;
- if (con->val.type == T_Null &&
- con->typename == NULL)
+ if (con->val.type == T_Null)
return TRUE;
}
return FALSE;
@@ -9826,6 +11011,9 @@ doNegate(Node *n, int location)
{
A_Const *con = (A_Const *)n;
+ /* report the constant's location as that of the '-' sign */
+ con->location = location;
+
if (con->val.type == T_Integer)
{
con->val.val.ival = -con->val.val.ival;
@@ -9861,7 +11049,18 @@ doNegateFloat(Value *v)
}
static Node *
-makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args)
+makeAArrayExpr(List *elements, int location)
+{
+ A_ArrayExpr *n = makeNode(A_ArrayExpr);
+
+ n->elements = elements;
+ n->location = location;
+ return (Node *) n;
+}
+
+static Node *
+makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
+ int location)
{
XmlExpr *x = makeNode(XmlExpr);
@@ -9874,9 +11073,66 @@ makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args)
x->named_args = named_args;
x->arg_names = NIL;
x->args = args;
+ /* xmloption, if relevant, must be filled in by caller */
+ /* type and typmod will be filled in during parse analysis */
+ x->location = location;
return (Node *) x;
}
+/* parser_init()
+ * Initialize to parse one query string
+ */
+void
+parser_init(void)
+{
+ QueryIsRule = FALSE;
+}
+
+/*
+ * Merge the input and output parameters of a table function.
+ */
+static List *
+mergeTableFuncParameters(List *func_args, List *columns)
+{
+ ListCell *lc;
+
+ /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
+ foreach(lc, func_args)
+ {
+ FunctionParameter *p = (FunctionParameter *) lfirst(lc);
+
+ if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
+ }
+
+ return list_concat(func_args, columns);
+}
+
+/*
+ * Determine return type of a TABLE function. A single result column
+ * returns setof that column's type; otherwise return setof record.
+ */
+static TypeName *
+TableFuncTypeName(List *columns)
+{
+ TypeName *result;
+
+ if (list_length(columns) == 1)
+ {
+ FunctionParameter *p = (FunctionParameter *) linitial(columns);
+
+ result = (TypeName *) copyObject(p->argType);
+ }
+ else
+ result = SystemTypeName("record");
+
+ result->setof = true;
+
+ return result;
+}
+
/*
* Create a DefElem setting "oids" to the specified value.
*/
diff --git a/parser/keywords.c b/parser/keywords.c
index 25aa0badc..36648c052 100644
--- a/parser/keywords.c
+++ b/parser/keywords.c
@@ -3,477 +3,29 @@
* keywords.c
* lexical token lookup for key words in PostgreSQL
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ *
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.192 2007/09/24 01:29:29 adunstan Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.212 2009/03/08 16:53:30 alvherre Exp $
*
*-------------------------------------------------------------------------
*/
-#include "pool_parser.h"
-
-#include <ctype.h>
-#include <string.h>
#include "parsenodes.h"
#include "gramparse.h" /* required before parser/parse.h! */
#include "keywords.h"
#include "gram.h"
-/* NB: This file is also used by pg_dump. */
-
-/*
- * List of keyword (name, token-value, category) entries.
- *
- * !!WARNING!!: This list must be sorted by ASCII name, because binary
- * search is used to locate entries.
- */
-static const ScanKeyword ScanKeywords[] = {
- /* name, value, category */
- {"abort", ABORT_P, UNRESERVED_KEYWORD},
- {"absolute", ABSOLUTE_P, UNRESERVED_KEYWORD},
- {"access", ACCESS, UNRESERVED_KEYWORD},
- {"action", ACTION, UNRESERVED_KEYWORD},
- {"add", ADD_P, UNRESERVED_KEYWORD},
- {"admin", ADMIN, UNRESERVED_KEYWORD},
- {"after", AFTER, UNRESERVED_KEYWORD},
- {"aggregate", AGGREGATE, UNRESERVED_KEYWORD},
- {"all", ALL, RESERVED_KEYWORD},
- {"also", ALSO, UNRESERVED_KEYWORD},
- {"alter", ALTER, UNRESERVED_KEYWORD},
- {"always", ALWAYS, UNRESERVED_KEYWORD},
- {"analyse", ANALYSE, RESERVED_KEYWORD}, /* British spelling */
- {"analyze", ANALYZE, RESERVED_KEYWORD},
- {"and", AND, RESERVED_KEYWORD},
- {"any", ANY, RESERVED_KEYWORD},
- {"array", ARRAY, RESERVED_KEYWORD},
- {"as", AS, RESERVED_KEYWORD},
- {"asc", ASC, RESERVED_KEYWORD},
- {"assertion", ASSERTION, UNRESERVED_KEYWORD},
- {"assignment", ASSIGNMENT, UNRESERVED_KEYWORD},
- {"asymmetric", ASYMMETRIC, RESERVED_KEYWORD},
- {"at", AT, UNRESERVED_KEYWORD},
- {"authorization", AUTHORIZATION, TYPE_FUNC_NAME_KEYWORD},
- {"backward", BACKWARD, UNRESERVED_KEYWORD},
- {"before", BEFORE, UNRESERVED_KEYWORD},
- {"begin", BEGIN_P, UNRESERVED_KEYWORD},
- {"between", BETWEEN, TYPE_FUNC_NAME_KEYWORD},
- {"bigint", BIGINT, COL_NAME_KEYWORD},
- {"binary", BINARY, TYPE_FUNC_NAME_KEYWORD},
- {"bit", BIT, COL_NAME_KEYWORD},
- {"boolean", BOOLEAN_P, COL_NAME_KEYWORD},
- {"both", BOTH, RESERVED_KEYWORD},
- {"by", BY, UNRESERVED_KEYWORD},
- {"cache", CACHE, UNRESERVED_KEYWORD},
- {"called", CALLED, UNRESERVED_KEYWORD},
- {"cascade", CASCADE, UNRESERVED_KEYWORD},
- {"cascaded", CASCADED, UNRESERVED_KEYWORD},
- {"case", CASE, RESERVED_KEYWORD},
- {"cast", CAST, RESERVED_KEYWORD},
- {"chain", CHAIN, UNRESERVED_KEYWORD},
- {"char", CHAR_P, COL_NAME_KEYWORD},
- {"character", CHARACTER, COL_NAME_KEYWORD},
- {"characteristics", CHARACTERISTICS, UNRESERVED_KEYWORD},
- {"check", CHECK, RESERVED_KEYWORD},
- {"checkpoint", CHECKPOINT, UNRESERVED_KEYWORD},
- {"class", CLASS, UNRESERVED_KEYWORD},
- {"close", CLOSE, UNRESERVED_KEYWORD},
- {"cluster", CLUSTER, UNRESERVED_KEYWORD},
- {"coalesce", COALESCE, COL_NAME_KEYWORD},
- {"collate", COLLATE, RESERVED_KEYWORD},
- {"column", COLUMN, RESERVED_KEYWORD},
- {"comment", COMMENT, UNRESERVED_KEYWORD},
- {"commit", COMMIT, UNRESERVED_KEYWORD},
- {"committed", COMMITTED, UNRESERVED_KEYWORD},
- {"concurrently", CONCURRENTLY, UNRESERVED_KEYWORD},
- {"configuration", CONFIGURATION, UNRESERVED_KEYWORD},
- {"connection", CONNECTION, UNRESERVED_KEYWORD},
- {"constraint", CONSTRAINT, RESERVED_KEYWORD},
- {"constraints", CONSTRAINTS, UNRESERVED_KEYWORD},
- {"content", CONTENT_P, UNRESERVED_KEYWORD},
- {"conversion", CONVERSION_P, UNRESERVED_KEYWORD},
- {"copy", COPY, UNRESERVED_KEYWORD},
- {"cost", COST, UNRESERVED_KEYWORD},
- {"create", CREATE, RESERVED_KEYWORD},
- {"createdb", CREATEDB, UNRESERVED_KEYWORD},
- {"createrole", CREATEROLE, UNRESERVED_KEYWORD},
- {"createuser", CREATEUSER, UNRESERVED_KEYWORD},
- {"cross", CROSS, TYPE_FUNC_NAME_KEYWORD},
- {"csv", CSV, UNRESERVED_KEYWORD},
- {"current", CURRENT_P, UNRESERVED_KEYWORD},
- {"current_date", CURRENT_DATE, RESERVED_KEYWORD},
- {"current_role", CURRENT_ROLE, RESERVED_KEYWORD},
- {"current_time", CURRENT_TIME, RESERVED_KEYWORD},
- {"current_timestamp", CURRENT_TIMESTAMP, RESERVED_KEYWORD},
- {"current_user", CURRENT_USER, RESERVED_KEYWORD},
- {"cursor", CURSOR, UNRESERVED_KEYWORD},
- {"cycle", CYCLE, UNRESERVED_KEYWORD},
- {"database", DATABASE, UNRESERVED_KEYWORD},
- {"day", DAY_P, UNRESERVED_KEYWORD},
- {"deallocate", DEALLOCATE, UNRESERVED_KEYWORD},
- {"dec", DEC, COL_NAME_KEYWORD},
- {"decimal", DECIMAL_P, COL_NAME_KEYWORD},
- {"declare", DECLARE, UNRESERVED_KEYWORD},
- {"default", DEFAULT, RESERVED_KEYWORD},
- {"defaults", DEFAULTS, UNRESERVED_KEYWORD},
- {"deferrable", DEFERRABLE, RESERVED_KEYWORD},
- {"deferred", DEFERRED, UNRESERVED_KEYWORD},
- {"definer", DEFINER, UNRESERVED_KEYWORD},
- {"delete", DELETE_P, UNRESERVED_KEYWORD},
- {"delimiter", DELIMITER, UNRESERVED_KEYWORD},
- {"delimiters", DELIMITERS, UNRESERVED_KEYWORD},
- {"desc", DESC, RESERVED_KEYWORD},
- {"dictionary", DICTIONARY, UNRESERVED_KEYWORD},
- {"disable", DISABLE_P, UNRESERVED_KEYWORD},
- {"discard", DISCARD, UNRESERVED_KEYWORD},
- {"distinct", DISTINCT, RESERVED_KEYWORD},
- {"do", DO, RESERVED_KEYWORD},
- {"document", DOCUMENT_P, UNRESERVED_KEYWORD},
- {"domain", DOMAIN_P, UNRESERVED_KEYWORD},
- {"double", DOUBLE_P, UNRESERVED_KEYWORD},
- {"drop", DROP, UNRESERVED_KEYWORD},
- {"each", EACH, UNRESERVED_KEYWORD},
- {"else", ELSE, RESERVED_KEYWORD},
- {"enable", ENABLE_P, UNRESERVED_KEYWORD},
- {"encoding", ENCODING, UNRESERVED_KEYWORD},
- {"encrypted", ENCRYPTED, UNRESERVED_KEYWORD},
- {"end", END_P, RESERVED_KEYWORD},
- {"enum", ENUM_P, UNRESERVED_KEYWORD},
- {"escape", ESCAPE, UNRESERVED_KEYWORD},
- {"except", EXCEPT, RESERVED_KEYWORD},
- {"excluding", EXCLUDING, UNRESERVED_KEYWORD},
- {"exclusive", EXCLUSIVE, UNRESERVED_KEYWORD},
- {"execute", EXECUTE, UNRESERVED_KEYWORD},
- {"exists", EXISTS, COL_NAME_KEYWORD},
- {"explain", EXPLAIN, UNRESERVED_KEYWORD},
- {"external", EXTERNAL, UNRESERVED_KEYWORD},
- {"extract", EXTRACT, COL_NAME_KEYWORD},
- {"false", FALSE_P, RESERVED_KEYWORD},
- {"family", FAMILY, UNRESERVED_KEYWORD},
- {"fetch", FETCH, UNRESERVED_KEYWORD},
- {"first", FIRST_P, UNRESERVED_KEYWORD},
- {"float", FLOAT_P, COL_NAME_KEYWORD},
- {"for", FOR, RESERVED_KEYWORD},
- {"force", FORCE, UNRESERVED_KEYWORD},
- {"foreign", FOREIGN, RESERVED_KEYWORD},
- {"forward", FORWARD, UNRESERVED_KEYWORD},
- {"freeze", FREEZE, TYPE_FUNC_NAME_KEYWORD},
- {"from", FROM, RESERVED_KEYWORD},
- {"full", FULL, TYPE_FUNC_NAME_KEYWORD},
- {"function", FUNCTION, UNRESERVED_KEYWORD},
- {"global", GLOBAL, UNRESERVED_KEYWORD},
- {"grant", GRANT, RESERVED_KEYWORD},
- {"granted", GRANTED, UNRESERVED_KEYWORD},
- {"greatest", GREATEST, COL_NAME_KEYWORD},
- {"group", GROUP_P, RESERVED_KEYWORD},
- {"handler", HANDLER, UNRESERVED_KEYWORD},
- {"having", HAVING, RESERVED_KEYWORD},
- {"header", HEADER_P, UNRESERVED_KEYWORD},
- {"hold", HOLD, UNRESERVED_KEYWORD},
- {"hour", HOUR_P, UNRESERVED_KEYWORD},
- {"if", IF_P, UNRESERVED_KEYWORD},
- {"ilike", ILIKE, TYPE_FUNC_NAME_KEYWORD},
- {"immediate", IMMEDIATE, UNRESERVED_KEYWORD},
- {"immutable", IMMUTABLE, UNRESERVED_KEYWORD},
- {"implicit", IMPLICIT_P, UNRESERVED_KEYWORD},
- {"in", IN_P, RESERVED_KEYWORD},
- {"including", INCLUDING, UNRESERVED_KEYWORD},
- {"increment", INCREMENT, UNRESERVED_KEYWORD},
- {"index", INDEX, UNRESERVED_KEYWORD},
- {"indexes", INDEXES, UNRESERVED_KEYWORD},
- {"inherit", INHERIT, UNRESERVED_KEYWORD},
- {"inherits", INHERITS, UNRESERVED_KEYWORD},
- {"initially", INITIALLY, RESERVED_KEYWORD},
- {"inner", INNER_P, TYPE_FUNC_NAME_KEYWORD},
- {"inout", INOUT, COL_NAME_KEYWORD},
- {"input", INPUT_P, UNRESERVED_KEYWORD},
- {"insensitive", INSENSITIVE, UNRESERVED_KEYWORD},
- {"insert", INSERT, UNRESERVED_KEYWORD},
- {"instead", INSTEAD, UNRESERVED_KEYWORD},
- {"int", INT_P, COL_NAME_KEYWORD},
- {"integer", INTEGER, COL_NAME_KEYWORD},
- {"intersect", INTERSECT, RESERVED_KEYWORD},
- {"interval", INTERVAL, COL_NAME_KEYWORD},
- {"into", INTO, RESERVED_KEYWORD},
- {"invoker", INVOKER, UNRESERVED_KEYWORD},
- {"is", IS, TYPE_FUNC_NAME_KEYWORD},
- {"isnull", ISNULL, TYPE_FUNC_NAME_KEYWORD},
- {"isolation", ISOLATION, UNRESERVED_KEYWORD},
- {"join", JOIN, TYPE_FUNC_NAME_KEYWORD},
- {"key", KEY, UNRESERVED_KEYWORD},
- {"lancompiler", LANCOMPILER, UNRESERVED_KEYWORD},
- {"language", LANGUAGE, UNRESERVED_KEYWORD},
- {"large", LARGE_P, UNRESERVED_KEYWORD},
- {"last", LAST_P, UNRESERVED_KEYWORD},
- {"leading", LEADING, RESERVED_KEYWORD},
- {"least", LEAST, COL_NAME_KEYWORD},
- {"left", LEFT, TYPE_FUNC_NAME_KEYWORD},
- {"level", LEVEL, UNRESERVED_KEYWORD},
- {"like", LIKE, TYPE_FUNC_NAME_KEYWORD},
- {"limit", LIMIT, RESERVED_KEYWORD},
- {"listen", LISTEN, UNRESERVED_KEYWORD},
- {"load", LOAD, UNRESERVED_KEYWORD},
- {"local", LOCAL, UNRESERVED_KEYWORD},
- {"localtime", LOCALTIME, RESERVED_KEYWORD},
- {"localtimestamp", LOCALTIMESTAMP, RESERVED_KEYWORD},
- {"location", LOCATION, UNRESERVED_KEYWORD},
- {"lock", LOCK_P, UNRESERVED_KEYWORD},
- {"login", LOGIN_P, UNRESERVED_KEYWORD},
- {"mapping", MAPPING, UNRESERVED_KEYWORD},
- {"match", MATCH, UNRESERVED_KEYWORD},
- {"maxvalue", MAXVALUE, UNRESERVED_KEYWORD},
- {"minute", MINUTE_P, UNRESERVED_KEYWORD},
- {"minvalue", MINVALUE, UNRESERVED_KEYWORD},
- {"mode", MODE, UNRESERVED_KEYWORD},
- {"month", MONTH_P, UNRESERVED_KEYWORD},
- {"move", MOVE, UNRESERVED_KEYWORD},
- {"name", NAME_P, UNRESERVED_KEYWORD},
- {"names", NAMES, UNRESERVED_KEYWORD},
- {"national", NATIONAL, COL_NAME_KEYWORD},
- {"natural", NATURAL, TYPE_FUNC_NAME_KEYWORD},
- {"nchar", NCHAR, COL_NAME_KEYWORD},
- {"new", NEW, RESERVED_KEYWORD},
- {"next", NEXT, UNRESERVED_KEYWORD},
- {"no", NO, UNRESERVED_KEYWORD},
- {"nocreatedb", NOCREATEDB, UNRESERVED_KEYWORD},
- {"nocreaterole", NOCREATEROLE, UNRESERVED_KEYWORD},
- {"nocreateuser", NOCREATEUSER, UNRESERVED_KEYWORD},
- {"noinherit", NOINHERIT, UNRESERVED_KEYWORD},
- {"nologin", NOLOGIN_P, UNRESERVED_KEYWORD},
- {"none", NONE, COL_NAME_KEYWORD},
- {"nosuperuser", NOSUPERUSER, UNRESERVED_KEYWORD},
- {"not", NOT, RESERVED_KEYWORD},
- {"nothing", NOTHING, UNRESERVED_KEYWORD},
- {"notify", NOTIFY, UNRESERVED_KEYWORD},
- {"notnull", NOTNULL, TYPE_FUNC_NAME_KEYWORD},
- {"nowait", NOWAIT, UNRESERVED_KEYWORD},
- {"null", NULL_P, RESERVED_KEYWORD},
- {"nullif", NULLIF, COL_NAME_KEYWORD},
- {"nulls", NULLS_P, UNRESERVED_KEYWORD},
- {"numeric", NUMERIC, COL_NAME_KEYWORD},
- {"object", OBJECT_P, UNRESERVED_KEYWORD},
- {"of", OF, UNRESERVED_KEYWORD},
- {"off", OFF, RESERVED_KEYWORD},
- {"offset", OFFSET, RESERVED_KEYWORD},
- {"oids", OIDS, UNRESERVED_KEYWORD},
- {"old", OLD, RESERVED_KEYWORD},
- {"on", ON, RESERVED_KEYWORD},
- {"only", ONLY, RESERVED_KEYWORD},
- {"operator", OPERATOR, UNRESERVED_KEYWORD},
- {"option", OPTION, UNRESERVED_KEYWORD},
- {"or", OR, RESERVED_KEYWORD},
- {"order", ORDER, RESERVED_KEYWORD},
- {"out", OUT_P, COL_NAME_KEYWORD},
- {"outer", OUTER_P, TYPE_FUNC_NAME_KEYWORD},
- {"overlaps", OVERLAPS, TYPE_FUNC_NAME_KEYWORD},
- {"overlay", OVERLAY, COL_NAME_KEYWORD},
- {"owned", OWNED, UNRESERVED_KEYWORD},
- {"owner", OWNER, UNRESERVED_KEYWORD},
- {"parser", PARSER, UNRESERVED_KEYWORD},
- {"partial", PARTIAL, UNRESERVED_KEYWORD},
- {"password", PASSWORD, UNRESERVED_KEYWORD},
- {"placing", PLACING, RESERVED_KEYWORD},
- {"plans", PLANS, UNRESERVED_KEYWORD},
- {"position", POSITION, COL_NAME_KEYWORD},
- {"precision", PRECISION, COL_NAME_KEYWORD},
- {"prepare", PREPARE, UNRESERVED_KEYWORD},
- {"prepared", PREPARED, UNRESERVED_KEYWORD},
- {"preserve", PRESERVE, UNRESERVED_KEYWORD},
- {"primary", PRIMARY, RESERVED_KEYWORD},
- {"prior", PRIOR, UNRESERVED_KEYWORD},
- {"privileges", PRIVILEGES, UNRESERVED_KEYWORD},
- {"procedural", PROCEDURAL, UNRESERVED_KEYWORD},
- {"procedure", PROCEDURE, UNRESERVED_KEYWORD},
- {"quote", QUOTE, UNRESERVED_KEYWORD},
- {"read", READ, UNRESERVED_KEYWORD},
- {"real", REAL, COL_NAME_KEYWORD},
- {"reassign", REASSIGN, UNRESERVED_KEYWORD},
- {"recheck", RECHECK, UNRESERVED_KEYWORD},
- {"references", REFERENCES, RESERVED_KEYWORD},
- {"reindex", REINDEX, UNRESERVED_KEYWORD},
- {"relative", RELATIVE_P, UNRESERVED_KEYWORD},
- {"release", RELEASE, UNRESERVED_KEYWORD},
- {"rename", RENAME, UNRESERVED_KEYWORD},
- {"repeatable", REPEATABLE, UNRESERVED_KEYWORD},
- {"replace", REPLACE, UNRESERVED_KEYWORD},
- {"replica", REPLICA, UNRESERVED_KEYWORD},
- {"reset", RESET, UNRESERVED_KEYWORD},
- {"restart", RESTART, UNRESERVED_KEYWORD},
- {"restrict", RESTRICT, UNRESERVED_KEYWORD},
- {"returning", RETURNING, RESERVED_KEYWORD},
- {"returns", RETURNS, UNRESERVED_KEYWORD},
- {"revoke", REVOKE, UNRESERVED_KEYWORD},
- {"right", RIGHT, TYPE_FUNC_NAME_KEYWORD},
- {"role", ROLE, UNRESERVED_KEYWORD},
- {"rollback", ROLLBACK, UNRESERVED_KEYWORD},
- {"row", ROW, COL_NAME_KEYWORD},
- {"rows", ROWS, UNRESERVED_KEYWORD},
- {"rule", RULE, UNRESERVED_KEYWORD},
- {"savepoint", SAVEPOINT, UNRESERVED_KEYWORD},
- {"schema", SCHEMA, UNRESERVED_KEYWORD},
- {"scroll", SCROLL, UNRESERVED_KEYWORD},
- {"search", SEARCH, UNRESERVED_KEYWORD},
- {"second", SECOND_P, UNRESERVED_KEYWORD},
- {"security", SECURITY, UNRESERVED_KEYWORD},
- {"select", SELECT, RESERVED_KEYWORD},
- {"sequence", SEQUENCE, UNRESERVED_KEYWORD},
- {"serializable", SERIALIZABLE, UNRESERVED_KEYWORD},
- {"session", SESSION, UNRESERVED_KEYWORD},
- {"session_user", SESSION_USER, RESERVED_KEYWORD},
- {"set", SET, UNRESERVED_KEYWORD},
- {"setof", SETOF, COL_NAME_KEYWORD},
- {"share", SHARE, UNRESERVED_KEYWORD},
- {"show", SHOW, UNRESERVED_KEYWORD},
- {"similar", SIMILAR, TYPE_FUNC_NAME_KEYWORD},
- {"simple", SIMPLE, UNRESERVED_KEYWORD},
- {"smallint", SMALLINT, COL_NAME_KEYWORD},
- {"some", SOME, RESERVED_KEYWORD},
- {"stable", STABLE, UNRESERVED_KEYWORD},
- {"standalone", STANDALONE_P, UNRESERVED_KEYWORD},
- {"start", START, UNRESERVED_KEYWORD},
- {"statement", STATEMENT, UNRESERVED_KEYWORD},
- {"statistics", STATISTICS, UNRESERVED_KEYWORD},
- {"stdin", STDIN, UNRESERVED_KEYWORD},
- {"stdout", STDOUT, UNRESERVED_KEYWORD},
- {"storage", STORAGE, UNRESERVED_KEYWORD},
- {"strict", STRICT_P, UNRESERVED_KEYWORD},
- {"strip", STRIP_P, UNRESERVED_KEYWORD},
- {"substring", SUBSTRING, COL_NAME_KEYWORD},
- {"superuser", SUPERUSER_P, UNRESERVED_KEYWORD},
- {"symmetric", SYMMETRIC, RESERVED_KEYWORD},
- {"sysid", SYSID, UNRESERVED_KEYWORD},
- {"system", SYSTEM_P, UNRESERVED_KEYWORD},
- {"table", TABLE, RESERVED_KEYWORD},
- {"tablespace", TABLESPACE, UNRESERVED_KEYWORD},
- {"temp", TEMP, UNRESERVED_KEYWORD},
- {"template", TEMPLATE, UNRESERVED_KEYWORD},
- {"temporary", TEMPORARY, UNRESERVED_KEYWORD},
- {"text", TEXT_P, UNRESERVED_KEYWORD},
- {"then", THEN, RESERVED_KEYWORD},
- {"time", TIME, COL_NAME_KEYWORD},
- {"timestamp", TIMESTAMP, COL_NAME_KEYWORD},
- {"to", TO, RESERVED_KEYWORD},
- {"trailing", TRAILING, RESERVED_KEYWORD},
- {"transaction", TRANSACTION, UNRESERVED_KEYWORD},
- {"treat", TREAT, COL_NAME_KEYWORD},
- {"trigger", TRIGGER, UNRESERVED_KEYWORD},
- {"trim", TRIM, COL_NAME_KEYWORD},
- {"true", TRUE_P, RESERVED_KEYWORD},
- {"truncate", TRUNCATE, UNRESERVED_KEYWORD},
- {"trusted", TRUSTED, UNRESERVED_KEYWORD},
- {"type", TYPE_P, UNRESERVED_KEYWORD},
- {"uncommitted", UNCOMMITTED, UNRESERVED_KEYWORD},
- {"unencrypted", UNENCRYPTED, UNRESERVED_KEYWORD},
- {"union", UNION, RESERVED_KEYWORD},
- {"unique", UNIQUE, RESERVED_KEYWORD},
- {"unknown", UNKNOWN, UNRESERVED_KEYWORD},
- {"unlisten", UNLISTEN, UNRESERVED_KEYWORD},
- {"until", UNTIL, UNRESERVED_KEYWORD},
- {"update", UPDATE, UNRESERVED_KEYWORD},
- {"user", USER, RESERVED_KEYWORD},
- {"using", USING, RESERVED_KEYWORD},
- {"vacuum", VACUUM, UNRESERVED_KEYWORD},
- {"valid", VALID, UNRESERVED_KEYWORD},
- {"validator", VALIDATOR, UNRESERVED_KEYWORD},
- {"value", VALUE_P, UNRESERVED_KEYWORD},
- {"values", VALUES, COL_NAME_KEYWORD},
- {"varchar", VARCHAR, COL_NAME_KEYWORD},
- {"varying", VARYING, UNRESERVED_KEYWORD},
- {"verbose", VERBOSE, TYPE_FUNC_NAME_KEYWORD},
- {"version", VERSION_P, UNRESERVED_KEYWORD},
- {"view", VIEW, UNRESERVED_KEYWORD},
- {"volatile", VOLATILE, UNRESERVED_KEYWORD},
- {"when", WHEN, RESERVED_KEYWORD},
- {"where", WHERE, RESERVED_KEYWORD},
- {"whitespace", WHITESPACE_P, UNRESERVED_KEYWORD},
- /*
- * XXX we mark WITH as reserved to force it to be quoted in dumps, even
- * though it is currently unreserved according to gram.y. This is because
- * we expect we'll have to make it reserved to implement SQL WITH clauses.
- * If that patch manages to do without reserving WITH, adjust this entry
- * at that time; in any case this should be back in sync with gram.y
- * after WITH clauses are implemented.
- */
- {"with", WITH, RESERVED_KEYWORD},
- {"without", WITHOUT, UNRESERVED_KEYWORD},
- {"work", WORK, UNRESERVED_KEYWORD},
- {"write", WRITE, UNRESERVED_KEYWORD},
- {"xml", XML_P, UNRESERVED_KEYWORD},
- {"xmlattributes", XMLATTRIBUTES, COL_NAME_KEYWORD},
- {"xmlconcat", XMLCONCAT, COL_NAME_KEYWORD},
- {"xmlelement", XMLELEMENT, COL_NAME_KEYWORD},
- {"xmlforest", XMLFOREST, COL_NAME_KEYWORD},
- {"xmlparse", XMLPARSE, COL_NAME_KEYWORD},
- {"xmlpi", XMLPI, COL_NAME_KEYWORD},
- {"xmlroot", XMLROOT, COL_NAME_KEYWORD},
- {"xmlserialize", XMLSERIALIZE, COL_NAME_KEYWORD},
- {"year", YEAR_P, UNRESERVED_KEYWORD},
- {"yes", YES_P, UNRESERVED_KEYWORD},
- {"zone", ZONE, UNRESERVED_KEYWORD},
-};
-
-/*
- * ScanKeywordLookup - see if a given word is a keyword
- *
- * Returns a pointer to the ScanKeyword table entry, or NULL if no match.
- *
- * The match is done case-insensitively. Note that we deliberately use a
- * dumbed-down case conversion that will only translate 'A'-'Z' into 'a'-'z',
- * even if we are in a locale where tolower() would produce more or different
- * translations. This is to conform to the SQL99 spec, which says that
- * keywords are to be matched in this way even though non-keyword identifiers
- * receive a different case-normalization mapping.
- */
-const ScanKeyword *
-ScanKeywordLookup(const char *text)
-{
- int len,
- i;
- char word[NAMEDATALEN];
- const ScanKeyword *low;
- const ScanKeyword *high;
-
- len = strlen(text);
- /* We assume all keywords are shorter than NAMEDATALEN. */
- if (len >= NAMEDATALEN)
- return NULL;
+#define PG_KEYWORD(a,b,c) {a,b,c},
- /*
- * Apply an ASCII-only downcasing. We must not use tolower() since it may
- * produce the wrong translation in some locales (eg, Turkish).
- */
- for (i = 0; i < len; i++)
- {
- char ch = text[i];
- if (ch >= 'A' && ch <= 'Z')
- ch += 'a' - 'A';
- word[i] = ch;
- }
- word[len] = '\0';
-
- /*
- * Now do a binary search using plain strcmp() comparison.
- */
- low = &ScanKeywords[0];
- high = endof(ScanKeywords) - 1;
- while (low <= high)
- {
- const ScanKeyword *middle;
- int difference;
-
- middle = low + (high - low) / 2;
- difference = strcmp(middle->name, word);
- if (difference == 0)
- return middle;
- else if (difference < 0)
- low = middle + 1;
- else
- high = middle - 1;
- }
+const ScanKeyword ScanKeywords[] = {
+#include "kwlist.h"
+};
- return NULL;
-}
+/* End of ScanKeywords, for use in kwlookup.c and elsewhere */
+const ScanKeyword *LastScanKeyword = endof(ScanKeywords);
diff --git a/parser/keywords.h b/parser/keywords.h
index b7e2e1c16..8809fe937 100644
--- a/parser/keywords.h
+++ b/parser/keywords.h
@@ -4,11 +4,11 @@
* lexical token lookup for reserved words in postgres SQL
*
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/parser/keywords.h,v 1.20 2004/12/31 22:03:38 pgsql Exp $
+ * $PostgreSQL: pgsql/src/include/parser/keywords.h,v 1.26 2009/01/01 17:24:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -25,10 +25,13 @@
typedef struct ScanKeyword
{
const char *name; /* in lower case */
- short value; /* grammar's token code */
- short category; /* see codes above */
+ int16 value; /* grammar's token code */
+ int16 category; /* see codes above */
} ScanKeyword;
+extern const ScanKeyword ScanKeywords[];
+extern const ScanKeyword *LastScanKeyword;
+
extern const ScanKeyword *ScanKeywordLookup(const char *text);
#endif /* KEYWORDS_H */
diff --git a/parser/makefuncs.c b/parser/makefuncs.c
index 58401629d..a12e7322f 100644
--- a/parser/makefuncs.c
+++ b/parser/makefuncs.c
@@ -4,13 +4,13 @@
* creator functions for primitive nodes. The functions here are for
* the most frequently created nodes.
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/nodes/makefuncs.c,v 1.57 2007/09/06 17:31:58 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/nodes/makefuncs.c,v 1.64 2009/04/04 21:12:31 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -21,11 +21,11 @@
#include <stdlib.h>
#include <string.h>
+#define Assert
#define ereport(a,b)
#define elog(a,b)
-#define BOOLOID 16
-
+#define BOOLOID 16 /* XXX */
/*
* makeA_Expr -
@@ -91,6 +91,9 @@ makeVar(Index varno,
var->varnoold = varno;
var->varoattno = varattno;
+ /* Likewise, we just set location to "unknown" here */
+ var->location = -1;
+
return var;
}
@@ -136,6 +139,7 @@ flatCopyTargetEntry(TargetEntry *src_tle)
{
TargetEntry *tle = makeNode(TargetEntry);
+ Assert(IsA(src_tle, TargetEntry));
memcpy(tle, src_tle, sizeof(TargetEntry));
return tle;
}
@@ -174,6 +178,7 @@ makeConst(Oid consttype,
cnst->constvalue = constvalue;
cnst->constisnull = constisnull;
cnst->constbyval = constbyval;
+ cnst->location = -1; /* "unknown" */
return cnst;
}
@@ -221,12 +226,13 @@ makeBoolConst(bool value, bool isnull)
* creates a BoolExpr node
*/
Expr *
-makeBoolExpr(BoolExprType boolop, List *args)
+makeBoolExpr(BoolExprType boolop, List *args, int location)
{
BoolExpr *b = makeNode(BoolExpr);
b->boolop = boolop;
b->args = args;
+ b->location = location;
return (Expr *) b;
}
@@ -261,6 +267,7 @@ makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod, CoercionForm rformat)
r->resulttype = rtype;
r->resulttypmod = rtypmod;
r->relabelformat = rformat;
+ r->location = -1;
return r;
}
@@ -270,7 +277,7 @@ makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod, CoercionForm rformat)
* creates a RangeVar node (rather oversimplified case)
*/
RangeVar *
-makeRangeVar(char *schemaname, char *relname)
+makeRangeVar(char *schemaname, char *relname, int location)
{
RangeVar *r = makeNode(RangeVar);
@@ -280,6 +287,7 @@ makeRangeVar(char *schemaname, char *relname)
r->inhOpt = INH_DEFAULT;
r->istemp = false;
r->alias = NULL;
+ r->location = location;
return r;
}
@@ -346,6 +354,7 @@ makeFuncExpr(Oid funcid, Oid rettype, List *args, CoercionForm fformat)
funcexpr->funcretset = false; /* only allowed case here */
funcexpr->funcformat = fformat;
funcexpr->args = args;
+ funcexpr->location = -1;
return funcexpr;
}
@@ -353,13 +362,37 @@ makeFuncExpr(Oid funcid, Oid rettype, List *args, CoercionForm fformat)
/*
* makeDefElem -
* build a DefElem node
+ *
+ * This is sufficient for the "typical" case with an unqualified option name
+ * and no special action.
*/
DefElem *
makeDefElem(char *name, Node *arg)
{
DefElem *res = makeNode(DefElem);
+ res->defnamespace = NULL;
+ res->defname = name;
+ res->arg = arg;
+ res->defaction = DEFELEM_UNSPEC;
+
+ return res;
+}
+
+/*
+ * makeDefElemExtended -
+ * build a DefElem node with all fields available to be specified
+ */
+DefElem *
+makeDefElemExtended(char *namespace, char *name, Node *arg,
+ DefElemAction defaction)
+{
+ DefElem *res = makeNode(DefElem);
+
+ res->defnamespace = namespace;
res->defname = name;
res->arg = arg;
+ res->defaction = defaction;
+
return res;
}
diff --git a/parser/makefuncs.h b/parser/makefuncs.h
index 8c49d026c..472cb9a45 100644
--- a/parser/makefuncs.h
+++ b/parser/makefuncs.h
@@ -4,11 +4,11 @@
* prototypes for the creator functions (for primitive nodes)
*
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/nodes/makefuncs.h,v 1.60 2007/09/06 17:31:58 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/nodes/makefuncs.h,v 1.67 2009/04/04 21:12:31 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -50,14 +50,14 @@ extern Const *makeNullConst(Oid consttype, int32 consttypmod);
extern Node *makeBoolConst(bool value, bool isnull);
-extern Expr *makeBoolExpr(BoolExprType boolop, List *args);
+extern Expr *makeBoolExpr(BoolExprType boolop, List *args, int location);
extern Alias *makeAlias(const char *aliasname, List *colnames);
extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,
CoercionForm rformat);
-extern RangeVar *makeRangeVar(char *schemaname, char *relname);
+extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location);
extern TypeName *makeTypeName(char *typnam);
extern TypeName *makeTypeNameFromNameList(List *names);
@@ -67,5 +67,7 @@ extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype,
List *args, CoercionForm fformat);
extern DefElem *makeDefElem(char *name, Node *arg);
+extern DefElem *makeDefElemExtended(char *namespace, char *name, Node *arg,
+ DefElemAction defaction);
#endif /* MAKEFUNC_H */
diff --git a/parser/nodes.c b/parser/nodes.c
index f65ec7099..8a1a6751c 100644
--- a/parser/nodes.c
+++ b/parser/nodes.c
@@ -19,6 +19,7 @@
*/
/*#include "postgres.h"*/
+#include "../pool_type.h"
#include "nodes.h"
/*
diff --git a/parser/nodes.h b/parser/nodes.h
index a41461b71..665404bda 100644
--- a/parser/nodes.h
+++ b/parser/nodes.h
@@ -4,11 +4,11 @@
* Definitions for tagged nodes.
*
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/nodes/nodes.h,v 1.204 2007/09/03 18:46:30 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/nodes/nodes.h,v 1.222 2009/04/04 21:12:31 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -45,6 +45,7 @@ typedef enum NodeTag
T_Plan = 100,
T_Result,
T_Append,
+ T_RecursiveUnion,
T_BitmapAnd,
T_BitmapOr,
T_Scan,
@@ -56,6 +57,8 @@ typedef enum NodeTag
T_SubqueryScan,
T_FunctionScan,
T_ValuesScan,
+ T_CteScan,
+ T_WorkTableScan,
T_Join,
T_NestLoop,
T_MergeJoin,
@@ -64,10 +67,13 @@ typedef enum NodeTag
T_Sort,
T_Group,
T_Agg,
+ T_WindowAgg,
T_Unique,
T_Hash,
T_SetOp,
T_Limit,
+ /* this one isn't a subclass of Plan: */
+ T_PlanInvalItem,
/*
* TAGS FOR PLAN STATE NODES (execnodes.h)
@@ -77,6 +83,7 @@ typedef enum NodeTag
T_PlanState = 200,
T_ResultState,
T_AppendState,
+ T_RecursiveUnionState,
T_BitmapAndState,
T_BitmapOrState,
T_ScanState,
@@ -88,6 +95,8 @@ typedef enum NodeTag
T_SubqueryScanState,
T_FunctionScanState,
T_ValuesScanState,
+ T_CteScanState,
+ T_WorkTableScanState,
T_JoinState,
T_NestLoopState,
T_MergeJoinState,
@@ -96,6 +105,7 @@ typedef enum NodeTag
T_SortState,
T_GroupState,
T_AggState,
+ T_WindowAggState,
T_UniqueState,
T_HashState,
T_SetOpState,
@@ -111,6 +121,7 @@ typedef enum NodeTag
T_Const,
T_Param,
T_Aggref,
+ T_WindowFunc,
T_ArrayRef,
T_FuncExpr,
T_OpExpr,
@@ -119,6 +130,7 @@ typedef enum NodeTag
T_BoolExpr,
T_SubLink,
T_SubPlan,
+ T_AlternativeSubPlan,
T_FieldSelect,
T_FieldStore,
T_RelabelType,
@@ -156,11 +168,13 @@ typedef enum NodeTag
T_ExprState = 400,
T_GenericExprState,
T_AggrefExprState,
+ T_WindowFuncExprState,
T_ArrayRefExprState,
T_FuncExprState,
T_ScalarArrayOpExprState,
T_BoolExprState,
T_SubPlanState,
+ T_AlternativeSubPlanState,
T_FieldSelectState,
T_FieldStoreState,
T_CoerceViaIOState,
@@ -203,9 +217,10 @@ typedef enum NodeTag
T_PathKey,
T_RestrictInfo,
T_InnerIndexscanInfo,
- T_OuterJoinInfo,
- T_InClauseInfo,
+ T_PlaceHolderVar,
+ T_SpecialJoinInfo,
T_AppendRelInfo,
+ T_PlaceHolderInfo,
T_PlannerParamItem,
/*
@@ -314,6 +329,15 @@ typedef enum NodeTag
T_CreateEnumStmt,
T_AlterTSDictionaryStmt,
T_AlterTSConfigurationStmt,
+ T_CreateFdwStmt,
+ T_AlterFdwStmt,
+ T_DropFdwStmt,
+ T_CreateForeignServerStmt,
+ T_AlterForeignServerStmt,
+ T_DropForeignServerStmt,
+ T_CreateUserMappingStmt,
+ T_AlterUserMappingStmt,
+ T_DropUserMappingStmt,
/*
* TAGS FOR PARSE TREE NODES (parsenodes.h)
@@ -323,11 +347,14 @@ typedef enum NodeTag
T_ParamRef,
T_A_Const,
T_FuncCall,
+ T_A_Star,
T_A_Indices,
T_A_Indirection,
+ T_A_ArrayExpr,
T_ResTarget,
T_TypeCast,
T_SortBy,
+ T_WindowDef,
T_RangeSubselect,
T_RangeFunction,
T_TypeName,
@@ -336,18 +363,20 @@ typedef enum NodeTag
T_Constraint,
T_DefElem,
T_RangeTblEntry,
- T_SortClause,
- T_GroupClause,
+ T_SortGroupClause,
+ T_WindowClause,
T_FkConstraint,
T_PrivGrantee,
T_FuncWithArgs,
- T_PrivTarget,
+ T_AccessPriv,
T_CreateOpClassItem,
T_InhRelation,
T_FunctionParameter,
T_LockingClause,
T_RowMarkClause,
T_XmlSerialize,
+ T_WithClause,
+ T_CommonTableExpr,
/*
* TAGS FOR RANDOM OTHER STUFF
@@ -359,6 +388,7 @@ typedef enum NodeTag
*/
T_TriggerData = 950, /* in commands/trigger.h */
T_ReturnSetInfo, /* in nodes/execnodes.h */
+ T_WindowObjectData, /* private in nodeWindowAgg.c */
T_TIDBitmap /* in nodes/tidbitmap.h */
} NodeTag;
@@ -383,20 +413,40 @@ typedef struct Node
* !WARNING!: Avoid using newNode directly. You should be using the
* macro makeNode. eg. to create a Query node, use makeNode(Query)
*
+ * Note: the size argument should always be a compile-time constant, so the
+ * apparent risk of multiple evaluation doesn't matter in practice.
+ */
+#ifdef __GNUC__
+
+/* With GCC, we can use a compound statement within an expression */
+/* XXX AssertMacro was removed */
+#define newNode(size, tag) \
+({ Node *_result; \
+ _result = (Node *) palloc0fast(size); \
+ _result->type = (tag); \
+ _result; \
+})
+
+#else
+
+/*
* There is no way to dereference the palloc'ed pointer to assign the
* tag, and also return the pointer itself, so we need a holder variable.
* Fortunately, this macro isn't recursive so we just define
* a global variable for this purpose.
*/
-extern Node *newNodeMacroHolder;
+extern PGDLLIMPORT Node *newNodeMacroHolder;
#define newNode(size, tag) \
( \
- newNodeMacroHolder = (Node *) palloc0(size), \
+ AssertMacro((size) >= sizeof(Node)), /* need the tag, at least */ \
+ newNodeMacroHolder = (Node *) palloc0fast(size), \
newNodeMacroHolder->type = (tag), \
newNodeMacroHolder \
)
+#endif /* __GNUC__ */
+
#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_))
#define NodeSetTag(nodeptr,t) (((Node*)(nodeptr))->type = (t))
@@ -426,7 +476,7 @@ extern void *copyObject(void *obj);
/*
* nodes/equalfuncs.c
*/
-extern int equal(void *a, void *b);
+extern bool equal(void *a, void *b);
/*
@@ -474,31 +524,57 @@ typedef enum CmdType
typedef enum JoinType
{
/*
- * The canonical kinds of joins
+ * The canonical kinds of joins according to the SQL JOIN syntax.
+ * Only these codes can appear in parser output (e.g., JoinExpr nodes).
*/
JOIN_INNER, /* matching tuple pairs only */
- JOIN_LEFT, /* pairs + unmatched outer tuples */
- JOIN_FULL, /* pairs + unmatched outer + unmatched inner */
- JOIN_RIGHT, /* pairs + unmatched inner tuples */
+ JOIN_LEFT, /* pairs + unmatched LHS tuples */
+ JOIN_FULL, /* pairs + unmatched LHS + unmatched RHS */
+ JOIN_RIGHT, /* pairs + unmatched RHS tuples */
/*
- * These are used for queries like WHERE foo IN (SELECT bar FROM ...).
- * Only JOIN_IN is actually implemented in the executor; the others are
- * defined for internal use in the planner.
+ * Semijoins and anti-semijoins (as defined in relational theory) do
+ * not appear in the SQL JOIN syntax, but there are standard idioms for
+ * representing them (e.g., using EXISTS). The planner recognizes these
+ * cases and converts them to joins. So the planner and executor must
+ * support these codes. NOTE: in JOIN_SEMI output, it is unspecified
+ * which matching RHS row is joined to. In JOIN_ANTI output, the row
+ * is guaranteed to be null-extended.
*/
- JOIN_IN, /* at most one result per outer row */
- JOIN_REVERSE_IN, /* at most one result per inner row */
- JOIN_UNIQUE_OUTER, /* outer path must be made unique */
- JOIN_UNIQUE_INNER /* inner path must be made unique */
+ JOIN_SEMI, /* 1 copy of each LHS row that has match(es) */
+ JOIN_ANTI, /* 1 copy of each LHS row that has no match */
+
+ /*
+ * These codes are used internally in the planner, but are not supported
+ * by the executor (nor, indeed, by most of the planner).
+ */
+ JOIN_UNIQUE_OUTER, /* LHS path must be made unique */
+ JOIN_UNIQUE_INNER /* RHS path must be made unique */
/*
* We might need additional join types someday.
*/
} JoinType;
+/*
+ * OUTER joins are those for which pushed-down quals must behave differently
+ * from the join's own quals. This is in fact everything except INNER and
+ * SEMI joins. However, this macro must also exclude the JOIN_UNIQUE symbols
+ * since those are temporary proxies for what will eventually be an INNER
+ * join.
+ *
+ * Note: semijoins are a hybrid case, but we choose to treat them as not
+ * being outer joins. This is okay principally because the SQL syntax makes
+ * it impossible to have a pushed-down qual that refers to the inner relation
+ * of a semijoin; so there is no strong need to distinguish join quals from
+ * pushed-down quals. This is convenient because for almost all purposes,
+ * quals attached to a semijoin can be treated the same as innerjoin quals.
+ */
#define IS_OUTER_JOIN(jointype) \
- ((jointype) == JOIN_LEFT || \
- (jointype) == JOIN_FULL || \
- (jointype) == JOIN_RIGHT)
+ (((1 << (jointype)) & \
+ ((1 << JOIN_LEFT) | \
+ (1 << JOIN_FULL) | \
+ (1 << JOIN_RIGHT) | \
+ (1 << JOIN_ANTI))) != 0)
#endif /* NODES_H */
diff --git a/parser/outfuncs.c b/parser/outfuncs.c
index dadc74278..c3e7f7bf8 100644
--- a/parser/outfuncs.c
+++ b/parser/outfuncs.c
@@ -3,13 +3,13 @@
* outfuncs.c
* Output functions for Postgres tree nodes.
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.261.2.1 2005/11/14 23:54:34 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.360 2009/06/11 14:48:58 momjian Exp $
*
* NOTES
* Every node type that can appear in stored rules' parsetrees *must*
@@ -81,8 +81,8 @@ static void _outColumnDef(String *str, ColumnDef *node);
static void _outTypeName(String *str, TypeName *node);
static void _outTypeCast(String *str, TypeCast *node);
static void _outIndexElem(String *str, IndexElem *node);
-static void _outSortClause(String *str, SortClause *node);
-static void _outGroupClause(String *str, GroupClause *node);
+static void _outWithClause(String *str, WithClause *node);
+static void _outCommonTableExpr(String *str, CommonTableExpr *node);
static void _outSetOperationStmt(String *str, SetOperationStmt *node);
static void _outAExpr(String *str, A_Expr *node);
static void _outValue(String *str, Value *value);
@@ -92,6 +92,7 @@ static void _outAConst(String *str, A_Const *node);
static void _outA_Indices(String *str, A_Indices *node);
static void _outA_Indirection(String *str, A_Indirection *node);
static void _outResTarget(String *str, ResTarget *node);
+static void _outWindowDef(String *str, WindowDef *node);
static void _outConstraint(String *str, Constraint *node);
static void _outFkConstraint(String *str, FkConstraint *node);
@@ -171,7 +172,6 @@ static void _outSetTransactionModeList(String *str, List *list);
static void _outAlterTableCmd(String *str, AlterTableCmd *node);
static void _outOptSeqList(String *str, List *options);
static void _outPrivGrantee(String *str, PrivGrantee *node);
-static void _outPrivTarget(String *str, PrivTarget *node);
static void _outFuncWithArgs(String *str, FuncWithArgs *node);
static void _outFunctionParameter(String *str, FunctionParameter *node);
static void _outPrivilegeList(String *str, List *list);
@@ -769,7 +769,9 @@ static void
_outNotifyStmt(String *str, NotifyStmt *node)
{
string_append_char(str, "NOTIFY ");
- _outNode(str, node->relation);
+ string_append_char(str, "\"");
+ string_append_char(str, node->conditionname);
+ string_append_char(str, "\"");
}
static void
@@ -890,6 +892,9 @@ _outSelectStmt(String *str, SelectStmt *node)
string_append_char(str, " AS");
}
+ if (node->withClause)
+ _outWithClause(str, node->withClause);
+
string_append_char(str, " SELECT ");
if (node->distinctClause)
@@ -928,6 +933,12 @@ _outSelectStmt(String *str, SelectStmt *node)
string_append_char(str, " HAVING ");
_outNode(str, node->havingClause);
}
+
+ if (node->windowClause)
+ {
+ string_append_char(str, " WINDOW ");
+ _outNode(str, node->windowClause);
+ }
}
if (node->sortClause)
@@ -984,6 +995,19 @@ _outFuncCall(String *str, FuncCall *node)
_outNode(str, node->args);
string_append_char(str, ")");
+
+ if (node->over)
+ {
+ string_append_char(str, " OVER ");
+ if (node->over->name)
+ {
+ string_append_char(str, "\"");
+ string_append_char(str, node->over->name);
+ string_append_char(str, "\"");
+ }
+ else
+ _outWindowDef(str, node->over);
+ }
}
static void
@@ -1022,45 +1046,104 @@ _outColumnDef(String *str, ColumnDef *node)
static void
_outTypeName(String *str, TypeName *node)
{
- ListCell *lc;
- char dot = 0;
- foreach (lc, node->names)
- {
- Value *v = (Value *) lfirst(lc);
- char *typename = v->val.str;
+ /* don't quote SystemType name, because
+ * 1. char is not "char".
+ * 2. in 8.4, interval with fields cause error.
+ * =# SELECT '1'::"interval" year;
+ * ERROR: syntax error at or near "year"
+ * LINE 1: SELECT '1'::"interval" year;
+ */
+ if (list_length(node->names) == 2 &&
+ strcmp("pg_catalog", strVal(linitial(node->names))) == 0)
+ {
+ string_append_char(str, strVal(lsecond(node->names)));
- if (dot == 0)
- dot = 1;
- else
- string_append_char(str, ".");
- if(node->typemod < 0)
+ if (strcmp("interval", strVal(lsecond(node->names))) == 0)
{
- string_append_char(str, "\"");
- string_append_char(str, typename);
- string_append_char(str, "\"");
- } else
- string_append_char(str, typename);
+ if (node->typmods != NIL)
+ {
+ A_Const *v = (A_Const *) linitial(node->typmods);
+ int mask = v->val.val.ival;
+
+ /* precision for SECOND field.
+ * backword comaptibility.
+ * use `'1.2 second'::interval(0) second'
+ * not `'1.2 second'::interval second(0)'(standarad for 8.4).
+ */
+ if ((INTERVAL_MASK(SECOND) & mask) &&
+ list_length(node->typmods) == 2)
+ {
+ string_append_char(str, "(");
+ _outAConst(str, lsecond(node->typmods));
+ string_append_char(str, ")");
+ }
+
+ /* optional fields */
+ if (mask == INTERVAL_MASK(YEAR))
+ string_append_char(str, " YEAR");
+ else if (mask == INTERVAL_MASK(MONTH))
+ string_append_char(str, " MONTH");
+ else if (mask == INTERVAL_MASK(DAY))
+ string_append_char(str, " DAY");
+ else if (mask == INTERVAL_MASK(HOUR))
+ string_append_char(str, " HOUR");
+ else if (mask == INTERVAL_MASK(MINUTE))
+ string_append_char(str, " MINUTE");
+ else if (mask == INTERVAL_MASK(SECOND))
+ string_append_char(str, " SECOND");
+ else if (mask == (INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH)))
+ string_append_char(str, " YEAR TO MONTH");
+ else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)))
+ string_append_char(str, " DAY TO HOUR");
+ else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE)))
+ string_append_char(str, " DAY TO MINUTE");
+ else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND)))
+ string_append_char(str, " DAY TO SECOND");
+ else if (mask == (INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE)))
+ string_append_char(str, " HOUR TO MINUTE");
+ else if (mask == (INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND)))
+ string_append_char(str, " HOUR TO SECOND");
+ else if (mask == (INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND)))
+ string_append_char(str, " MINUTE TO SECOND");
+ }
+
+ return;
+ }
}
-
- if (node->typemod > 0)
+ else
{
- int lower;
- char buf[16];
- string_append_char(str, "(");
- snprintf(buf, 16, "%d", ((node->typemod - VARHDRSZ) >> 16) & 0x00FF);
- string_append_char(str, buf);
- lower = (node->typemod-VARHDRSZ) & 0x00FF;
+ ListCell *lc;
+ char dot = 0;
- if(lower != 0)
- {
- char buf2[16];
- string_append_char(str, ",");
- snprintf(buf2, 16, "%d",lower);
- string_append_char(str, buf2);
- }
+ foreach (lc, node->names)
+ {
+ Value *v = (Value *) lfirst(lc);
+ char *typename = v->val.str;
- string_append_char(str, ")");
+ if (dot == 0)
+ dot = 1;
+ else
+ string_append_char(str, ".");
+ if(node->typemod < 0)
+ {
+ string_append_char(str, "\"");
+ string_append_char(str, typename);
+ string_append_char(str, "\"");
+ } else
+ string_append_char(str, typename);
+ }
+ }
+
+ /* precisions */
+ if (node->typmods)
+ {
+ string_append_char(str, "(");
+ _outList(str, node->typmods);
+ string_append_char(str, ")");
}
}
@@ -1094,17 +1177,33 @@ _outIndexElem(String *str, IndexElem *node)
}
}
-
static void
-_outSortClause(String *str, SortClause *node)
+_outWithClause(String *str, WithClause *node)
{
+ string_append_char(str, " WITH ");
+ if (node->recursive)
+ string_append_char(str, "RECURSIVE ");
+ _outList(str, node->ctes);
}
static void
-_outGroupClause(String *str, GroupClause *node)
+_outCommonTableExpr(String *str, CommonTableExpr *node)
{
+ string_append_char(str, "\"");
+ string_append_char(str, node->ctename);
+ string_append_char(str, "\" ");
+ if (node->aliascolnames)
+ {
+ string_append_char(str, "(");
+ _outIdList(str, node->aliascolnames);
+ string_append_char(str, ") ");
+ }
+
+ string_append_char(str, "AS (");
+ _outNode(str, node->ctequery);
+ string_append_char(str, ")");
}
static void
@@ -1271,6 +1370,15 @@ _outColumnRef(String *str, ColumnRef *node)
string_append_char(str, v->val.str);
string_append_char(str, "\"");
}
+ else if (IsA(n, A_Star))
+ {
+ if (first == 0)
+ first = 1;
+ else
+ string_append_char(str, ".");
+
+ string_append_char(str, "*");
+ }
}
}
@@ -1288,15 +1396,6 @@ static void
_outAConst(String *str, A_Const *node)
{
char buf[16];
- char *name = NULL;
-
- if (node->typename)
- {
- Value *v = linitial(node->typename->names);
- name = v->val.str;
- _outNode(str, node->typename);
- string_append_char(str, " ");
- }
switch (node->val.type)
{
@@ -1322,41 +1421,6 @@ _outAConst(String *str, A_Const *node)
default:
break;
}
-
- if (name && (strcmp(name, "interval") == 0) &&
- node->typename->typmods)
- {
- A_Const *v = linitial(node->typename->typmods);
- int mask = v->val.val.ival;
-
- if (mask == INTERVAL_MASK(YEAR))
- string_append_char(str, " YEAR");
- else if (mask == INTERVAL_MASK(MONTH))
- string_append_char(str, " MONTH");
- else if (mask == INTERVAL_MASK(DAY))
- string_append_char(str, " DAY");
- else if (mask == INTERVAL_MASK(HOUR))
- string_append_char(str, " HOUR");
- else if (mask == INTERVAL_MASK(MINUTE))
- string_append_char(str, " MINUTE");
- else if (mask == INTERVAL_MASK(SECOND))
- string_append_char(str, " SECOND");
- else if (mask == (INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH)))
- string_append_char(str, " YEAR TO MONTH");
- else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)))
- string_append_char(str, " DAY TO HOUR");
- else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) |
- INTERVAL_MASK(MINUTE)))
- string_append_char(str, " DAY TO MINUTE");
- else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) |
- INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND)))
- string_append_char(str, " DAY TO SECOND");
- else if (mask == (INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE)))
- string_append_char(str, " HOUR TO MINUTE");
- else if (mask == (INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) |
- INTERVAL_MASK(SECOND)))
- string_append_char(str, " HOUR TO SECOND");
- }
}
static void
@@ -1403,6 +1467,67 @@ _outResTarget(String *str, ResTarget *node)
}
}
+static void
+_outWindowDef(String *str, WindowDef *node)
+{
+ if (node->name)
+ {
+ string_append_char(str, "\"");
+ string_append_char(str, node->name);
+ string_append_char(str, "\" AS ");
+ }
+ string_append_char(str, "(");
+
+ if (node->refname)
+ {
+ string_append_char(str, "\"");
+ string_append_char(str, node->refname);
+ string_append_char(str, "\" ");
+ }
+
+ if (node->partitionClause)
+ {
+ string_append_char(str, " PARTITION BY ");
+ _outNode(str, node->partitionClause);
+ }
+
+ if (node->orderClause)
+ {
+ string_append_char(str, " ORDER BY ");
+ _outNode(str, node->orderClause);
+ }
+
+ if (node->frameOptions != FRAMEOPTION_DEFAULTS)
+ {
+ if (node->frameOptions & FRAMEOPTION_RANGE)
+ string_append_char(str, " RANGE");
+ else if (node->frameOptions & FRAMEOPTION_ROWS)
+ string_append_char(str, " ROWS");
+
+ if (node->frameOptions & FRAMEOPTION_BETWEEN)
+ string_append_char(str, " BETWEEN");
+
+ if (node->frameOptions & FRAMEOPTION_START_UNBOUNDED_PRECEDING)
+ string_append_char(str, " UNBOUNDED PRECEDING");
+ else if (node->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
+ string_append_char(str, " UNBOUNDED FOLLOWING");
+ else if (node->frameOptions & FRAMEOPTION_START_CURRENT_ROW)
+ string_append_char(str, " UNBOUNDED CURRENT ROW");
+
+ if (node->frameOptions & FRAMEOPTION_BETWEEN)
+ {
+ string_append_char(str, " AND");
+ if (node->frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
+ string_append_char(str, " UNBOUNDED PRECEDING");
+ else if (node->frameOptions & FRAMEOPTION_END_UNBOUNDED_FOLLOWING)
+ string_append_char(str, " UNBOUNDED FOLLOWING");
+ else if (node->frameOptions & FRAMEOPTION_END_CURRENT_ROW)
+ string_append_char(str, " UNBOUNDED CURRENT ROW");
+ }
+ }
+ string_append_char(str, ")");
+}
+
static void
_outConstraint(String *str, Constraint *node)
{
@@ -1834,13 +1959,21 @@ static void _outClosePortalStmt(String *str, ClosePortalStmt *node)
static void _outListenStmt(String *str, ListenStmt *node)
{
string_append_char(str, "LISTEN ");
- _outNode(str, node->relation);
+ string_append_char(str, "\"");
+ string_append_char(str, node->conditionname);
+ string_append_char(str, "\"");
}
static void _outUnlistenStmt(String *str, UnlistenStmt *node)
{
string_append_char(str, "UNLISTEN ");
- _outNode(str, node->relation);
+ if (node->conditionname == NULL)
+ string_append_char(str, "*");
+ else {
+ string_append_char(str, "\"");
+ string_append_char(str, node->conditionname);
+ string_append_char(str, "\"");
+ }
}
static void _outLoadStmt(String *str, LoadStmt *node)
@@ -2852,7 +2985,7 @@ _outFuncName(String *str, List *func_name)
static void
_outCreateTrigStmt(String *str, CreateTrigStmt *node)
{
- int i, len;
+ bool has_events = false;
if (node->isconstraint == TRUE)
string_append_char(str, "CREATE CONSTRAINT TRIGGER \"");
@@ -2866,18 +2999,33 @@ _outCreateTrigStmt(String *str, CreateTrigStmt *node)
else
string_append_char(str, "AFTER ");
- len = strlen(node->actions);
- for (i = 0; i < len; i++)
+ if (node->events & TRIGGER_TYPE_INSERT)
{
- if (i)
+ if (has_events)
string_append_char(str, "OR ");
-
- if (node->actions[i] == 'i')
- string_append_char(str, "INSERT ");
- else if (node->actions[i] == 'd')
- string_append_char(str, "DELETE ");
- else
- string_append_char(str, "UPDATE ");
+ string_append_char(str, "INSERT ");
+ has_events = true;
+ }
+ if (node->events & TRIGGER_TYPE_DELETE)
+ {
+ if (has_events)
+ string_append_char(str, "OR ");
+ string_append_char(str, "DELETE ");
+ has_events = true;
+ }
+ if (node->events & TRIGGER_TYPE_UPDATE)
+ {
+ if (has_events)
+ string_append_char(str, "OR ");
+ string_append_char(str, "UPDATE ");
+ has_events = true;
+ }
+ if (node->events & TRIGGER_TYPE_TRUNCATE)
+ {
+ if (has_events)
+ string_append_char(str, "OR ");
+ string_append_char(str, "TRUNCATE ");
+ has_events = true;
}
string_append_char(str, "ON ");
@@ -3076,8 +3224,10 @@ _outCreateOpClassItem(String *str, CreateOpClassItem *node)
_outNode(str, node->args);
string_append_char(str, ")");
}
+ /* XXX
if (node->recheck == TRUE)
string_append_char(str, " RECHECK");
+ */
break;
case OPCLASS_ITEM_FUNCTION:
@@ -3311,82 +3461,70 @@ _outFuncWithArgs(String *str, FuncWithArgs *node)
}
static void
-_outPrivTarget(String *str, PrivTarget *node)
+_outPrivGrantee(String *str, PrivGrantee *node)
+{
+ if (node->rolname == NULL)
+ string_append_char(str, "PUBLIC");
+ else
+ {
+ string_append_char(str, "\"");
+ string_append_char(str, node->rolname);
+ string_append_char(str, "\"");
+ }
+}
+
+static void
+_outGrantStmt(String *str, GrantStmt *node)
{
+ if (node->is_grant == true)
+ string_append_char(str, "GRANT ");
+ else
+ {
+ string_append_char(str, "REVOKE ");
+ if (node->grant_option == true)
+ string_append_char(str, "GRANT OPTION FOR ");
+ }
+
+ _outPrivilegeList(str, node->privileges);
+
+ string_append_char(str, " ON ");
+
switch (node->objtype)
{
case ACL_OBJECT_RELATION:
- _outNode(str, node->objs);
+ _outNode(str, node->objects);
break;
case ACL_OBJECT_SEQUENCE:
string_append_char(str, "SEQUENCE ");
- _outNode(str, node->objs);
+ _outNode(str, node->objects);
break;
case ACL_OBJECT_FUNCTION:
string_append_char(str, "FUNCTION ");
- _outNode(str, node->objs);
+ _outNode(str, node->objects);
break;
case ACL_OBJECT_DATABASE:
string_append_char(str, "DATABASE ");
- _outIdList(str, node->objs);
+ _outIdList(str, node->objects);
break;
case ACL_OBJECT_LANGUAGE:
string_append_char(str, "LANGUAGE ");
- _outIdList(str, node->objs);
+ _outIdList(str, node->objects);
break;
case ACL_OBJECT_NAMESPACE:
string_append_char(str, "SCHEMA ");
- _outIdList(str, node->objs);
+ _outIdList(str, node->objects);
break;
case ACL_OBJECT_TABLESPACE:
string_append_char(str, "TABLESPACE ");
- _outIdList(str, node->objs);
+ _outIdList(str, node->objects);
break;
}
-}
-
-static void
-_outPrivGrantee(String *str, PrivGrantee *node)
-{
- if (node->rolname == NULL)
- string_append_char(str, "PUBLIC");
- else
- {
- string_append_char(str, "\"");
- string_append_char(str, node->rolname);
- string_append_char(str, "\"");
- }
-}
-
-static void
-_outGrantStmt(String *str, GrantStmt *node)
-{
- PrivTarget *n;
-
- if (node->is_grant == true)
- string_append_char(str, "GRANT ");
- else
- {
- string_append_char(str, "REVOKE ");
- if (node->grant_option == true)
- string_append_char(str, "GRANT OPTION FOR ");
- }
-
- _outPrivilegeList(str, node->privileges);
-
- string_append_char(str, " ON ");
-
- n = makeNode(PrivTarget);
- n->objtype = node->objtype;
- n->objs = node->objects;
- _outNode(str, n);
- pfree(n);
if (node->is_grant == true)
string_append_char(str, " TO ");
@@ -3716,25 +3854,25 @@ _outAlterOwnerStmt(String *str, AlterOwnerStmt *node)
break;
case OBJECT_CONVERSION:
- string_append_char(str, "CONVERSION ");
- _outFuncName(str, node->object);
- string_append_char(str, " OWNER TO \"");
+ string_append_char(str, "CONVERSION \"");
+ string_append_char(str, strVal(linitial(node->object)));
+ string_append_char(str, "\" OWNER TO \"");
string_append_char(str, node->newowner);
string_append_char(str, "\"");
break;
case OBJECT_DATABASE:
string_append_char(str, "DATABASE \"");
- _outIdList(str, node->object);
+ string_append_char(str, strVal(linitial(node->object)));
string_append_char(str, "\" OWNER TO \"");
string_append_char(str, node->newowner);
string_append_char(str, "\"");
break;
case OBJECT_DOMAIN:
- string_append_char(str, "DOMAIN ");
- _outFuncName(str, node->object);
- string_append_char(str, " OWNER TO \"");
+ string_append_char(str, "DOMAIN \"");
+ string_append_char(str, strVal(linitial(node->object)));
+ string_append_char(str, "\" OWNER TO \"");
string_append_char(str, node->newowner);
string_append_char(str, "\"");
break;
@@ -3749,6 +3887,14 @@ _outAlterOwnerStmt(String *str, AlterOwnerStmt *node)
string_append_char(str, "\"");
break;
+ case OBJECT_LANGUAGE:
+ string_append_char(str, "LANGUAGE \"");
+ string_append_char(str, strVal(linitial(node->object)));
+ string_append_char(str, "\" OWNER TO \"");
+ string_append_char(str, node->newowner);
+ string_append_char(str, "\"");
+ break;
+
case OBJECT_OPERATOR:
string_append_char(str, "OPERATOR ");
_outOperatorName(str, node->object);
@@ -3769,25 +3915,67 @@ _outAlterOwnerStmt(String *str, AlterOwnerStmt *node)
string_append_char(str, "\"");
break;
+ case OBJECT_OPFAMILY:
+ string_append_char(str, "OPERATOR FAMILY ");
+ _outFuncName(str, node->object);
+ string_append_char(str, " USING ");
+ string_append_char(str, node->addname);
+ string_append_char(str, " OWNER TO \"");
+ string_append_char(str, node->newowner);
+ string_append_char(str, "\"");
+ break;
+
case OBJECT_SCHEMA:
string_append_char(str, "SCHEMA \"");
- string_append_char(str, linitial(node->object));
+ string_append_char(str, strVal(linitial(node->object)));
string_append_char(str, "\" OWNER TO \"");
string_append_char(str, node->newowner);
string_append_char(str, "\"");
break;
case OBJECT_TYPE:
- string_append_char(str, "TYPE ");
- _outFuncName(str, node->object);
- string_append_char(str, " OWNER TO \"");
+ string_append_char(str, "TYPE \"");
+ string_append_char(str, strVal(linitial(node->object)));
+ string_append_char(str, "\" OWNER TO \"");
string_append_char(str, node->newowner);
string_append_char(str, "\"");
break;
case OBJECT_TABLESPACE:
string_append_char(str, "TABLESPACE \"");
- string_append_char(str, linitial(node->object));
+ string_append_char(str, strVal(linitial(node->object)));
+ string_append_char(str, "\" OWNER TO \"");
+ string_append_char(str, node->newowner);
+ string_append_char(str, "\"");
+ break;
+
+ case OBJECT_TSDICTIONARY:
+ string_append_char(str, "TEXT SEARCH DICTIONARY \"");
+ string_append_char(str, strVal(linitial(node->object)));
+ string_append_char(str, "\" OWNER TO \"");
+ string_append_char(str, node->newowner);
+ string_append_char(str, "\"");
+ break;
+
+ case OBJECT_TSCONFIGURATION:
+ string_append_char(str, "TEXT SEARCH CONFIGURATION \"");
+ string_append_char(str, strVal(linitial(node->object)));
+ string_append_char(str, "\" OWNER TO \"");
+ string_append_char(str, node->newowner);
+ string_append_char(str, "\"");
+ break;
+
+ case OBJECT_FDW:
+ string_append_char(str, "FOREIGN DATA WRAPPER \"");
+ string_append_char(str, strVal(linitial(node->object)));
+ string_append_char(str, "\" OWNER TO \"");
+ string_append_char(str, node->newowner);
+ string_append_char(str, "\"");
+ break;
+
+ case OBJECT_FOREIGN_SERVER:
+ string_append_char(str, "SERVER \"");
+ string_append_char(str, strVal(linitial(node->object)));
string_append_char(str, "\" OWNER TO \"");
string_append_char(str, node->newowner);
string_append_char(str, "\"");
@@ -4530,8 +4718,12 @@ _outXmlExpr(String *str, XmlExpr *node)
_outNode(str, linitial(node->args));
n = lsecond(node->args);
- if (n->val.val.str[0] == 't')
- string_append_char(str, " PRESERVE WHITESPACE");
+ {
+ Node *arg = ((TypeCast *) n)->arg;
+
+ if (((A_Const *) arg)->val.val.str[0] == 't')
+ string_append_char(str, " PRESERVE WHITESPACE");
+ }
string_append_char(str, ")");
break;
@@ -4665,6 +4857,11 @@ _outNode(String *str, void *obj)
case T_RangeVar:
_outRangeVar(str, obj);
break;
+ /*
+ case T_IntoClause:
+ _outIntoClause(str, obj);
+ break;
+ */
case T_Var:
_outVar(str, obj);
break;
@@ -4677,6 +4874,11 @@ _outNode(String *str, void *obj)
case T_Aggref:
_outAggref(str, obj);
break;
+ /*
+ case T_WindowFunc:
+ _outWindowFunc(str, obj);
+ break;
+ */
case T_ArrayRef:
_outArrayRef(str, obj);
break;
@@ -4701,6 +4903,11 @@ _outNode(String *str, void *obj)
case T_SubPlan:
_outSubPlan(str, obj);
break;
+ /*
+ case T_AlternativeSubPlan:
+ _outAlternativeSubPlan(str, obj);
+ break;
+ */
case T_FieldSelect:
_outFieldSelect(str, obj);
break;
@@ -4710,6 +4917,14 @@ _outNode(String *str, void *obj)
case T_RelabelType:
_outRelabelType(str, obj);
break;
+ /*
+ case T_CoerceViaIO:
+ _outCoerceViaIO(str, obj);
+ break;
+ case T_ArrayCoerceExpr:
+ _outArrayCoerceExpr(str, obj);
+ break;
+ */
case T_ConvertRowtypeExpr:
_outConvertRowtypeExpr(str, obj);
break;
@@ -4728,6 +4943,11 @@ _outNode(String *str, void *obj)
case T_RowExpr:
_outRowExpr(str, obj);
break;
+ /*
+ case T_RowCompareExpr:
+ _outRowCompareExpr(str, obj);
+ break;
+ */
case T_CoalesceExpr:
_outCoalesceExpr(str, obj);
break;
@@ -4792,11 +5012,16 @@ _outNode(String *str, void *obj)
case T_IndexElem:
_outIndexElem(str, obj);
break;
- case T_SortClause:
- _outSortClause(str, obj);
+ /*
+ case T_RowMarkClause:
+ _outRowMarkClause(str, obj);
break;
- case T_GroupClause:
- _outGroupClause(str, obj);
+ */
+ case T_WithClause:
+ _outWithClause(str, obj);
+ break;
+ case T_CommonTableExpr:
+ _outCommonTableExpr(str, obj);
break;
case T_SetOperationStmt:
_outSetOperationStmt(str, obj);
@@ -4816,15 +5041,28 @@ _outNode(String *str, void *obj)
case T_A_Const:
_outAConst(str, obj);
break;
+ /*
+ case T_A_Star:
+ _outA_Star(str, obj);
+ break;
+ */
case T_A_Indices:
_outA_Indices(str, obj);
break;
case T_A_Indirection:
_outA_Indirection(str, obj);
break;
+ /*
+ case T_A_ArrayExpr:
+ _outA_ArrayExpr(str, obj);
+ break;
+ */
case T_ResTarget:
_outResTarget(str, obj);
break;
+ case T_WindowDef:
+ _outWindowDef(str, obj);
+ break;
case T_Constraint:
_outConstraint(str, obj);
break;
@@ -5009,10 +5247,6 @@ _outNode(String *str, void *obj)
_outGrantStmt(str, obj);
break;
- case T_PrivTarget:
- _outPrivTarget(str, obj);
- break;
-
case T_FuncWithArgs:
_outFuncWithArgs(str, obj);
break;
@@ -5172,6 +5406,7 @@ _outNode(String *str, void *obj)
case T_CurrentOfExpr:
_outCurrentOfExpr(str, obj);
+ break;
default:
break;
diff --git a/parser/parsenodes.h b/parser/parsenodes.h
index fc59a8ab2..896082d12 100644
--- a/parser/parsenodes.h
+++ b/parser/parsenodes.h
@@ -3,21 +3,41 @@
* parsenodes.h
* definitions for parse tree nodes
*
+ * Many of the node types used in parsetrees include a "location" field.
+ * This is a byte (not character) offset in the original source text, to be
+ * used for positioning an error cursor when there is an error related to
+ * the node. Access to the original source text is needed to make use of
+ * the location.
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ *
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/nodes/parsenodes.h,v 1.353 2007/09/03 18:46:30 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/nodes/parsenodes.h,v 1.393 2009/04/04 21:12:31 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef PARSENODES_H
#define PARSENODES_H
+#include "../pool_type.h"
#include "primnodes.h"
#include "value.h"
+/* include/nodes/bitmapset.h start */
+typedef uint32 bitmapword; /* must be an unsigned type */
+
+typedef struct Bitmapset
+{
+ int nwords; /* number of words in array */
+ bitmapword words[1]; /* really [nwords] */
+} Bitmapset; /* VARIABLE LENGTH STRUCT */
+
+extern Bitmapset *bms_copy(const Bitmapset *a);
+/* include/nodes/bitmapset.h end */
+
+
/* Possible sources of a Query */
typedef enum QuerySource
{
@@ -44,7 +64,6 @@ typedef enum SortByNulls
SORTBY_NULLS_LAST
} SortByNulls;
-
/*
* Grantable rights are encoded so that we can OR them together in a bitmask.
* The present representation of AclItem limits us to 16 distinct rights,
@@ -52,17 +71,18 @@ typedef enum SortByNulls
*
* Caution: changing these codes breaks stored ACLs, hence forces initdb.
*/
-typedef unsigned int AclMode; /* a bitmask of privilege bits */
+typedef uint32 AclMode; /* a bitmask of privilege bits */
#define ACL_INSERT (1<<0) /* for relations */
#define ACL_SELECT (1<<1)
#define ACL_UPDATE (1<<2)
#define ACL_DELETE (1<<3)
-/* #define ACL_RULE (1<<4) unused, available */
+#define ACL_TRUNCATE (1<<4)
#define ACL_REFERENCES (1<<5)
#define ACL_TRIGGER (1<<6)
#define ACL_EXECUTE (1<<7) /* for functions */
-#define ACL_USAGE (1<<8) /* for languages and namespaces */
+#define ACL_USAGE (1<<8) /* for languages, namespaces, FDWs, and
+ * servers */
#define ACL_CREATE (1<<9) /* for namespaces and databases */
#define ACL_CREATE_TEMP (1<<10) /* for databases */
#define ACL_CONNECT (1<<11) /* for databases */
@@ -108,7 +128,12 @@ typedef struct Query
IntoClause *intoClause; /* target for SELECT INTO / CREATE TABLE AS */
bool hasAggs; /* has aggregates in tlist or havingQual */
+ bool hasWindowFuncs; /* has window functions in tlist */
bool hasSubLinks; /* has subquery SubLink */
+ bool hasDistinctOn; /* distinctClause is from DISTINCT ON */
+ bool hasRecursive; /* WITH RECURSIVE was specified */
+
+ List *cteList; /* WITH list (of CommonTableExpr's) */
List *rtable; /* list of range table entries */
FromExpr *jointree; /* table join tree (FROM and WHERE clauses) */
@@ -117,13 +142,15 @@ typedef struct Query
List *returningList; /* return-values list (of TargetEntry) */
- List *groupClause; /* a list of GroupClause's */
+ List *groupClause; /* a list of SortGroupClause's */
Node *havingQual; /* qualifications applied to groups */
- List *distinctClause; /* a list of SortClause's */
+ List *windowClause; /* a list of WindowClause's */
+
+ List *distinctClause; /* a list of SortGroupClause's */
- List *sortClause; /* a list of SortClause's */
+ List *sortClause; /* a list of SortGroupClause's */
Node *limitOffset; /* # of result tuples to skip (int8 expr) */
Node *limitCount; /* # of result tuples to return (int8 expr) */
@@ -141,11 +168,6 @@ typedef struct Query
* Most of these node types appear in raw parsetrees output by the grammar,
* and get transformed to something else by the analyzer. A few of them
* are used as-is in transformed querytrees.
- *
- * Many of the node types used in raw parsetrees include a "location" field.
- * This is a byte (not character) offset in the original source text, to be
- * used for positioning an error cursor when there is an analysis-time
- * error related to the node.
****************************************************************************/
/*
@@ -166,7 +188,6 @@ typedef struct TypeName
NodeTag type;
List *names; /* qualified name (list of Value strings) */
Oid typeid; /* type identified by OID */
- bool timezone; /* timezone specified? */
bool setof; /* is a set? */
bool pct_type; /* %TYPE specified? */
List *typmods; /* type modifier expression(s) */
@@ -178,8 +199,10 @@ typedef struct TypeName
/*
* ColumnRef - specifies a reference to a column, or possibly a whole tuple
*
- * The "fields" list must be nonempty; its last component may be "*"
- * instead of a regular field name.
+ * The "fields" list must be nonempty. It can contain string Value nodes
+ * (representing names) and A_Star nodes (representing occurrence of a '*').
+ * Currently, A_Star must appear only as the last list element --- the grammar
+ * is responsible for enforcing this!
*
* Note: any array subscripting or selection of fields from composite columns
* is represented by an A_Indirection node above the ColumnRef. However,
@@ -189,7 +212,7 @@ typedef struct TypeName
typedef struct ColumnRef
{
NodeTag type;
- List *fields; /* field names (list of Value strings) */
+ List *fields; /* field names (Value strings) or A_Star */
int location; /* token location, or -1 if unknown */
} ColumnRef;
@@ -200,6 +223,7 @@ typedef struct ParamRef
{
NodeTag type;
int number; /* the number of the parameter */
+ int location; /* token location, or -1 if unknown */
} ParamRef;
/*
@@ -230,29 +254,24 @@ typedef struct A_Expr
} A_Expr;
/*
- * A_Const - a constant expression
+ * A_Const - a literal constant
*/
typedef struct A_Const
{
NodeTag type;
- Value val; /* the value (with the tag) */
- TypeName *typename; /* typecast, or NULL if none */
+ Value val; /* value (includes type info, see value.h) */
+ int location; /* token location, or -1 if unknown */
} A_Const;
/*
* TypeCast - a CAST expression
- *
- * NOTE: for mostly historical reasons, A_Const parsenodes contain
- * room for a TypeName; we only generate a separate TypeCast node if the
- * argument to be casted is not a constant. In theory either representation
- * would work, but the combined representation saves a bit of code in many
- * productions in gram.y.
*/
typedef struct TypeCast
{
NodeTag type;
Node *arg; /* the expression being casted */
TypeName *typename; /* the target type */
+ int location; /* token location, or -1 if unknown */
} TypeCast;
/*
@@ -261,7 +280,8 @@ typedef struct TypeCast
* agg_star indicates we saw a 'foo(*)' construct, while agg_distinct
* indicates we saw 'foo(DISTINCT ...)'. In either case, the construct
* *must* be an aggregate call. Otherwise, it might be either an
- * aggregate or some other kind of function.
+ * aggregate or some other kind of function. However, if OVER is present
+ * it had better be an aggregate or window function.
*/
typedef struct FuncCall
{
@@ -270,41 +290,64 @@ typedef struct FuncCall
List *args; /* the arguments (list of exprs) */
bool agg_star; /* argument was really '*' */
bool agg_distinct; /* arguments were labeled DISTINCT */
+ bool func_variadic; /* last argument was labeled VARIADIC */
+ struct WindowDef *over; /* OVER clause, if any */
int location; /* token location, or -1 if unknown */
} FuncCall;
/*
- * A_Indices - array reference or bounds ([lidx:uidx] or [uidx])
+ * A_Star - '*' representing all columns of a table or compound field
+ *
+ * This can appear within ColumnRef.fields, A_Indirection.indirection, and
+ * ResTarget.indirection lists.
+ */
+typedef struct A_Star
+{
+ NodeTag type;
+} A_Star;
+
+/*
+ * A_Indices - array subscript or slice bounds ([lidx:uidx] or [uidx])
*/
typedef struct A_Indices
{
NodeTag type;
- Node *lidx; /* could be NULL */
+ Node *lidx; /* NULL if it's a single subscript */
Node *uidx;
} A_Indices;
/*
* A_Indirection - select a field and/or array element from an expression
*
- * The indirection list can contain both A_Indices nodes (representing
- * subscripting) and string Value nodes (representing field selection
- * --- the string value is the name of the field to select). For example,
- * a complex selection operation like
+ * The indirection list can contain A_Indices nodes (representing
+ * subscripting), string Value nodes (representing field selection --- the
+ * string value is the name of the field to select), and A_Star nodes
+ * (representing selection of all fields of a composite type).
+ * For example, a complex selection operation like
* (foo).field1[42][7].field2
* would be represented with a single A_Indirection node having a 4-element
* indirection list.
*
- * Note: as of Postgres 8.0, we don't support arrays of composite values,
- * so cases in which a field select follows a subscript aren't actually
- * semantically legal. However the parser is prepared to handle such.
+ * Currently, A_Star must appear only as the last list element --- the grammar
+ * is responsible for enforcing this!
*/
typedef struct A_Indirection
{
NodeTag type;
Node *arg; /* the thing being selected from */
- List *indirection; /* subscripts and/or field names */
+ List *indirection; /* subscripts and/or field names and/or * */
} A_Indirection;
+/*
+ * A_ArrayExpr - an ARRAY[] construct
+ */
+typedef struct A_ArrayExpr
+{
+ NodeTag type;
+ List *elements; /* array element expressions */
+ int location; /* token location, or -1 if unknown */
+} A_ArrayExpr;
+
/*
* ResTarget -
* result target (used in target list of pre-transformed parse trees)
@@ -327,7 +370,7 @@ typedef struct ResTarget
{
NodeTag type;
char *name; /* column name or NULL */
- List *indirection; /* subscripts and field names, or NIL */
+ List *indirection; /* subscripts, field names, and '*', or NIL */
Node *val; /* the value expression to compute or assign */
int location; /* token location, or -1 if unknown */
} ResTarget;
@@ -338,12 +381,55 @@ typedef struct ResTarget
typedef struct SortBy
{
NodeTag type;
- SortByDir sortby_dir; /* ASC/DESC/USING */
- SortByNulls sortby_nulls; /* NULLS FIRST/LAST */
- List *useOp; /* name of op to use, if SORTBY_USING */
Node *node; /* expression to sort on */
+ SortByDir sortby_dir; /* ASC/DESC/USING/default */
+ SortByNulls sortby_nulls; /* NULLS FIRST/LAST */
+ List *useOp; /* name of op to use, if SORTBY_USING */
+ int location; /* operator location, or -1 if none/unknown */
} SortBy;
+/*
+ * WindowDef - raw representation of WINDOW and OVER clauses
+ *
+ * For entries in a WINDOW list, "name" is the window name being defined.
+ * For OVER clauses, we use "name" for the "OVER window" syntax, or "refname"
+ * for the "OVER (window)" syntax, which is subtly different --- the latter
+ * implies overriding the window frame clause.
+ */
+typedef struct WindowDef
+{
+ NodeTag type;
+ char *name; /* window's own name */
+ char *refname; /* referenced window name, if any */
+ List *partitionClause; /* PARTITION BY expression list */
+ List *orderClause; /* ORDER BY (list of SortBy) */
+ int frameOptions; /* frame_clause options, see below */
+ int location; /* parse location, or -1 if none/unknown */
+} WindowDef;
+
+/*
+ * frameOptions is an OR of these bits. The NONDEFAULT and BETWEEN bits are
+ * used so that ruleutils.c can tell which properties were specified and
+ * which were defaulted; the correct behavioral bits must be set either way.
+ * The START_foo and END_foo options must come in pairs of adjacent bits for
+ * the convenience of gram.y, even though some of them are useless/invalid.
+ * We will need more bits (and fields) to cover the full SQL:2008 option set.
+ */
+#define FRAMEOPTION_NONDEFAULT 0x00001 /* any specified? */
+#define FRAMEOPTION_RANGE 0x00002 /* RANGE behavior */
+#define FRAMEOPTION_ROWS 0x00004 /* ROWS behavior */
+#define FRAMEOPTION_BETWEEN 0x00008 /* BETWEEN given? */
+#define FRAMEOPTION_START_UNBOUNDED_PRECEDING 0x00010 /* start is U. P. */
+#define FRAMEOPTION_END_UNBOUNDED_PRECEDING 0x00020 /* (disallowed) */
+#define FRAMEOPTION_START_UNBOUNDED_FOLLOWING 0x00040 /* (disallowed) */
+#define FRAMEOPTION_END_UNBOUNDED_FOLLOWING 0x00080 /* end is U. F. */
+#define FRAMEOPTION_START_CURRENT_ROW 0x00100 /* start is C. R. */
+#define FRAMEOPTION_END_CURRENT_ROW 0x00200 /* end is C. R. */
+
+#define FRAMEOPTION_DEFAULTS \
+ (FRAMEOPTION_RANGE | FRAMEOPTION_START_UNBOUNDED_PRECEDING | \
+ FRAMEOPTION_END_CURRENT_ROW)
+
/*
* RangeSubselect - subquery appearing in a FROM clause
*/
@@ -428,25 +514,43 @@ typedef struct IndexElem
Node *expr; /* expression to index, or NULL */
List *opclass; /* name of desired opclass; NIL = default */
SortByDir ordering; /* ASC/DESC/default */
- SortByNulls nulls_ordering; /* FIRST/LAST/default */
+ SortByNulls nulls_ordering; /* FIRST/LAST/default */
} IndexElem;
/*
- * DefElem -
- * a definition (used in definition lists in the form of defname = arg)
+ * DefElem - a generic "name = value" option definition
+ *
+ * In some contexts the name can be qualified. Also, certain SQL commands
+ * allow a SET/ADD/DROP action to be attached to option settings, so it's
+ * convenient to carry a field for that too. (Note: currently, it is our
+ * practice that the grammar allows namespace and action only in statements
+ * where they are relevant; C code can just ignore those fields in other
+ * statements.)
*/
+typedef enum DefElemAction
+{
+ DEFELEM_UNSPEC, /* no action given */
+ DEFELEM_SET,
+ DEFELEM_ADD,
+ DEFELEM_DROP
+} DefElemAction;
+
typedef struct DefElem
{
NodeTag type;
+ char *defnamespace; /* NULL if unqualified name */
char *defname;
Node *arg; /* a (Value *) or a (TypeName *) */
+ DefElemAction defaction; /* unspecified action, or SET/ADD/DROP */
} DefElem;
/*
* LockingClause - raw representation of FOR UPDATE/SHARE options
*
* Note: lockedRels == NIL means "all relations in query". Otherwise it
- * is a list of String nodes giving relation eref names.
+ * is a list of RangeVar nodes. (We use RangeVar mainly because it carries
+ * a location field --- currently, parse analysis insists on unqualified
+ * names in LockingClause.)
*/
typedef struct LockingClause
{
@@ -457,14 +561,15 @@ typedef struct LockingClause
} LockingClause;
/*
- * XMLSERIALIZE
+ * XMLSERIALIZE (in raw parse tree only)
*/
typedef struct XmlSerialize
{
NodeTag type;
- XmlOptionType xmloption;
+ XmlOptionType xmloption; /* DOCUMENT or CONTENT */
Node *expr;
TypeName *typename;
+ int location; /* token location, or -1 if unknown */
} XmlSerialize;
@@ -530,6 +635,15 @@ typedef struct XmlSerialize
* then do the permissions checks using the access rights of that user,
* not the current effective user ID. (This allows rules to act as
* setuid gateways.)
+ *
+ * For SELECT/INSERT/UPDATE permissions, if the user doesn't have
+ * table-wide permissions then it is sufficient to have the permissions
+ * on all columns identified in selectedCols (for SELECT) and/or
+ * modifiedCols (for INSERT/UPDATE; we can tell which from the query type).
+ * selectedCols and modifiedCols are bitmapsets, which cannot have negative
+ * integer members, so we subtract FirstLowInvalidHeapAttributeNumber from
+ * column numbers before storing them in these fields. A whole-row Var
+ * reference is represented by setting the bit for InvalidAttrNumber.
*--------------------
*/
typedef enum RTEKind
@@ -539,7 +653,8 @@ typedef enum RTEKind
RTE_JOIN, /* join */
RTE_SPECIAL, /* special rule relation (NEW or OLD) */
RTE_FUNCTION, /* function in FROM */
- RTE_VALUES /* VALUES (<exprlist>), (<exprlist>), ... */
+ RTE_VALUES, /* VALUES (<exprlist>), (<exprlist>), ... */
+ RTE_CTE /* common table expr (WITH list element) */
} RTEKind;
typedef struct RangeTblEntry
@@ -551,7 +666,7 @@ typedef struct RangeTblEntry
/*
* XXX the fields applicable to only some rte kinds should be merged into
* a union. I didn't do this yet because the diffs would impact a lot of
- * code that is being actively worked on. FIXME later.
+ * code that is being actively worked on. FIXME someday.
*/
/*
@@ -564,6 +679,20 @@ typedef struct RangeTblEntry
*/
Query *subquery; /* the sub-query */
+ /*
+ * Fields valid for a join RTE (else NULL/zero):
+ *
+ * joinaliasvars is a list of Vars or COALESCE expressions corresponding
+ * to the columns of the join result. An alias Var referencing column K
+ * of the join result can be replaced by the K'th element of joinaliasvars
+ * --- but to simplify the task of reverse-listing aliases correctly, we
+ * do not do that until planning time. In a Query loaded from a stored
+ * rule, it is also possible for joinaliasvars items to be NULL Consts,
+ * denoting columns dropped since the rule was made.
+ */
+ JoinType jointype; /* type of join */
+ List *joinaliasvars; /* list of alias-var expansions */
+
/*
* Fields valid for a function RTE (else NULL):
*
@@ -581,18 +710,13 @@ typedef struct RangeTblEntry
List *values_lists; /* list of expression lists */
/*
- * Fields valid for a join RTE (else NULL/zero):
- *
- * joinaliasvars is a list of Vars or COALESCE expressions corresponding
- * to the columns of the join result. An alias Var referencing column K
- * of the join result can be replaced by the K'th element of joinaliasvars
- * --- but to simplify the task of reverse-listing aliases correctly, we
- * do not do that until planning time. In a Query loaded from a stored
- * rule, it is also possible for joinaliasvars items to be NULL Consts,
- * denoting columns dropped since the rule was made.
+ * Fields valid for a CTE RTE (else NULL/zero):
*/
- JoinType jointype; /* type of join */
- List *joinaliasvars; /* list of alias-var expansions */
+ char *ctename; /* name of the WITH list item */
+ Index ctelevelsup; /* number of query levels up */
+ bool self_reference; /* is this a recursive self-reference? */
+ List *ctecoltypes; /* OID list of column type OIDs */
+ List *ctecoltypmods; /* integer list of column typmods */
/*
* Fields valid in all RTEs:
@@ -603,60 +727,151 @@ typedef struct RangeTblEntry
bool inFromCl; /* present in FROM clause? */
AclMode requiredPerms; /* bitmask of required access permissions */
Oid checkAsUser; /* if valid, check access as this role */
+ Bitmapset *selectedCols; /* columns needing SELECT permission */
+ Bitmapset *modifiedCols; /* columns needing INSERT/UPDATE permission */
} RangeTblEntry;
/*
- * SortClause -
- * representation of ORDER BY clauses
+ * SortGroupClause -
+ * representation of ORDER BY, GROUP BY, PARTITION BY,
+ * DISTINCT, DISTINCT ON items
+ *
+ * You might think that ORDER BY is only interested in defining ordering,
+ * and GROUP/DISTINCT are only interested in defining equality. However,
+ * one way to implement grouping is to sort and then apply a "uniq"-like
+ * filter. So it's also interesting to keep track of possible sort operators
+ * for GROUP/DISTINCT, and in particular to try to sort for the grouping
+ * in a way that will also yield a requested ORDER BY ordering. So we need
+ * to be able to compare ORDER BY and GROUP/DISTINCT lists, which motivates
+ * the decision to give them the same representation.
*
* tleSortGroupRef must match ressortgroupref of exactly one entry of the
- * associated targetlist; that is the expression to be sorted (or grouped) by.
- * sortop is the OID of the ordering operator (a "<" or ">" operator).
- * nulls_first does about what you'd expect.
+ * query's targetlist; that is the expression to be sorted or grouped by.
+ * eqop is the OID of the equality operator.
+ * sortop is the OID of the ordering operator (a "<" or ">" operator),
+ * or InvalidOid if not available.
+ * nulls_first means about what you'd expect. If sortop is InvalidOid
+ * then nulls_first is meaningless and should be set to false.
+ *
+ * In an ORDER BY item, all fields must be valid. (The eqop isn't essential
+ * here, but it's cheap to get it along with the sortop, and requiring it
+ * to be valid eases comparisons to grouping items.)
+ *
+ * In a grouping item, eqop must be valid. If the eqop is a btree equality
+ * operator, then sortop should be set to a compatible ordering operator.
+ * We prefer to set eqop/sortop/nulls_first to match any ORDER BY item that
+ * the query presents for the same tlist item. If there is none, we just
+ * use the default ordering op for the datatype.
*
- * SortClauses are also used to identify targets that we will do a "Unique"
- * filter step on (for SELECT DISTINCT and SELECT DISTINCT ON). The
- * distinctClause list is simply a copy of the relevant members of the
- * sortClause list. Note that distinctClause can be a subset of sortClause,
- * but cannot have members not present in sortClause; and the members that
- * do appear must be in the same order as in sortClause.
+ * If the tlist item's type has a hash opclass but no btree opclass, then
+ * we will set eqop to the hash equality operator, sortop to InvalidOid,
+ * and nulls_first to false. A grouping item of this kind can only be
+ * implemented by hashing, and of course it'll never match an ORDER BY item.
+ *
+ * A query might have both ORDER BY and DISTINCT (or DISTINCT ON) clauses.
+ * In SELECT DISTINCT, the distinctClause list is as long or longer than the
+ * sortClause list, while in SELECT DISTINCT ON it's typically shorter.
+ * The two lists must match up to the end of the shorter one --- the parser
+ * rearranges the distinctClause if necessary to make this true. (This
+ * restriction ensures that only one sort step is needed to both satisfy the
+ * ORDER BY and set up for the Unique step. This is semantically necessary
+ * for DISTINCT ON, and presents no real drawback for DISTINCT.)
*/
-typedef struct SortClause
+typedef struct SortGroupClause
{
NodeTag type;
Index tleSortGroupRef; /* reference into targetlist */
- Oid sortop; /* the ordering operator ('<' op) */
- bool nulls_first; /* do NULLs come before normal values? */
-} SortClause;
+ Oid eqop; /* the equality operator ('=' op) */
+ Oid sortop; /* the ordering operator ('<' op), or 0 */
+ bool nulls_first; /* do NULLs come before normal values? */
+} SortGroupClause;
/*
- * GroupClause -
- * representation of GROUP BY clauses
- *
- * GroupClause is exactly like SortClause except for the nodetag value.
- * We have routines that operate interchangeably on both.
+ * WindowClause -
+ * transformed representation of WINDOW and OVER clauses
*
- * XXX SortClause overspecifies the semantics so far as GROUP BY is concerned
- * (ditto for DISTINCT). It'd be better to specify an equality operator not
- * an ordering operator. However, the two implementations are tightly entwined
- * at the moment ... breaking them apart is work for another day.
- */
-typedef SortClause GroupClause;
+ * A parsed Query's windowClause list contains these structs. "name" is set
+ * if the clause originally came from WINDOW, and is NULL if it originally
+ * was an OVER clause (but note that we collapse out duplicate OVERs).
+ * partitionClause and orderClause are lists of SortGroupClause structs.
+ * winref is an ID number referenced by WindowFunc nodes; it must be unique
+ * among the members of a Query's windowClause list.
+ * When refname isn't null, the partitionClause is always copied from there;
+ * the orderClause might or might not be copied (see copiedOrder); the framing
+ * options are never copied, per spec.
+ */
+typedef struct WindowClause
+{
+ NodeTag type;
+ char *name; /* window name (NULL in an OVER clause) */
+ char *refname; /* referenced window name, if any */
+ List *partitionClause; /* PARTITION BY list */
+ List *orderClause; /* ORDER BY list */
+ int frameOptions; /* frame_clause options, see WindowDef */
+ Index winref; /* ID referenced by window functions */
+ bool copiedOrder; /* did we copy orderClause from refname? */
+} WindowClause;
/*
* RowMarkClause -
* representation of FOR UPDATE/SHARE clauses
*
- * We create a separate RowMarkClause node for each target relation
+ * We create a separate RowMarkClause node for each target relation. In the
+ * output of the parser and rewriter, all RowMarkClauses have rti == prti and
+ * isParent == false. When the planner discovers that a target relation
+ * is the root of an inheritance tree, it sets isParent true, and adds an
+ * additional RowMarkClause to the list for each child relation (including
+ * the target rel itself in its role as a child). The child entries have
+ * rti == child rel's RT index, prti == parent's RT index, and can therefore
+ * be recognized as children by the fact that prti != rti.
*/
typedef struct RowMarkClause
{
NodeTag type;
Index rti; /* range table index of target relation */
+ Index prti; /* range table index of parent relation */
bool forUpdate; /* true = FOR UPDATE, false = FOR SHARE */
bool noWait; /* NOWAIT option */
+ bool isParent; /* set by planner when expanding inheritance */
} RowMarkClause;
+/*
+ * WithClause -
+ * representation of WITH clause
+ *
+ * Note: WithClause does not propagate into the Query representation;
+ * but CommonTableExpr does.
+ */
+typedef struct WithClause
+{
+ NodeTag type;
+ List *ctes; /* list of CommonTableExprs */
+ bool recursive; /* true = WITH RECURSIVE */
+ int location; /* token location, or -1 if unknown */
+} WithClause;
+
+/*
+ * CommonTableExpr -
+ * representation of WITH list element
+ *
+ * We don't currently support the SEARCH or CYCLE clause.
+ */
+typedef struct CommonTableExpr
+{
+ NodeTag type;
+ char *ctename; /* query name (never qualified) */
+ List *aliascolnames; /* optional list of column names */
+ Node *ctequery; /* subquery (SelectStmt or Query) */
+ int location; /* token location, or -1 if unknown */
+ /* These fields are set during parse analysis: */
+ bool cterecursive; /* is this CTE actually recursive? */
+ int cterefcount; /* number of RTEs referencing this CTE
+ * (excluding internal self-references) */
+ List *ctecolnames; /* list of output column names */
+ List *ctecoltypes; /* OID list of output column type OIDs */
+ List *ctecoltypmods; /* integer list of output column typmods */
+} CommonTableExpr;
+
/*****************************************************************************
* Optimizable Statements
*****************************************************************************/
@@ -741,6 +956,8 @@ typedef struct SelectStmt
Node *whereClause; /* WHERE qualification */
List *groupClause; /* GROUP BY clauses */
Node *havingClause; /* HAVING conditional-expression */
+ List *windowClause; /* WINDOW window_name AS (...), ... */
+ WithClause *withClause; /* WITH clause */
/*
* In a "leaf" node representing a VALUES list, the above fields are all
@@ -779,7 +996,12 @@ typedef struct SelectStmt
* top-level Query node containing the leaf SELECTs as subqueries in its
* range table. Its setOperations field shows the tree of set operations,
* with leaf SelectStmt nodes replaced by RangeTblRef nodes, and internal
- * nodes replaced by SetOperationStmt nodes.
+ * nodes replaced by SetOperationStmt nodes. Information about the output
+ * column types is added, too. (Note that the child nodes do not necessarily
+ * produce these types directly, but we've checked that their output types
+ * can be coerced to the output column type.) Also, if it's not UNION ALL,
+ * information about the types' sort/group semantics is provided in the form
+ * of a SortGroupClause list (same representation as, eg, DISTINCT).
* ----------------------
*/
typedef struct SetOperationStmt
@@ -794,6 +1016,8 @@ typedef struct SetOperationStmt
/* Fields derived during parse analysis: */
List *colTypes; /* OID list of output column type OIDs */
List *colTypmods; /* integer list of output column typmods */
+ List *groupClauses; /* a list of SortGroupClause's */
+ /* groupClauses is NIL if UNION ALL, but must be set otherwise */
} SetOperationStmt;
@@ -823,6 +1047,8 @@ typedef enum ObjectType
OBJECT_CONVERSION,
OBJECT_DATABASE,
OBJECT_DOMAIN,
+ OBJECT_FDW,
+ OBJECT_FOREIGN_SERVER,
OBJECT_FUNCTION,
OBJECT_INDEX,
OBJECT_LANGUAGE,
@@ -882,6 +1108,7 @@ typedef struct AlterTableStmt
typedef enum AlterTableType
{
AT_AddColumn, /* add column */
+ AT_AddColumnToView, /* implicitly via CREATE OR REPLACE VIEW */
AT_ColumnDefault, /* alter column default */
AT_DropNotNull, /* alter column drop not null */
AT_SetNotNull, /* alter column set not null */
@@ -892,15 +1119,16 @@ typedef enum AlterTableType
AT_AddIndex, /* add index */
AT_ReAddIndex, /* internal to commands/tablecmds.c */
AT_AddConstraint, /* add constraint */
+ AT_AddConstraintRecurse, /* internal to commands/tablecmds.c */
AT_ProcessedConstraint, /* pre-processed add constraint (local in
* parser/parse_utilcmd.c) */
AT_DropConstraint, /* drop constraint */
- AT_DropConstraintQuietly, /* drop constraint, no error/warning (local in
- * commands/tablecmds.c) */
+ AT_DropConstraintRecurse, /* internal to commands/tablecmds.c */
AT_AlterColumnType, /* alter column type */
AT_ChangeOwner, /* change owner */
AT_ClusterOn, /* CLUSTER ON */
AT_DropCluster, /* SET WITHOUT CLUSTER */
+ AT_AddOids, /* SET WITH OIDS */
AT_DropOids, /* SET WITHOUT OIDS */
AT_SetTableSpace, /* SET TABLESPACE */
AT_SetRelOptions, /* SET (...) -- AM specific parameters */
@@ -965,9 +1193,12 @@ typedef struct AlterDomainStmt
*/
typedef enum GrantObjectType
{
+ ACL_OBJECT_COLUMN, /* column */
ACL_OBJECT_RELATION, /* table, view */
ACL_OBJECT_SEQUENCE, /* sequence */
ACL_OBJECT_DATABASE, /* database */
+ ACL_OBJECT_FDW, /* foreign-data wrapper */
+ ACL_OBJECT_FOREIGN_SERVER, /* foreign server */
ACL_OBJECT_FUNCTION, /* function */
ACL_OBJECT_LANGUAGE, /* procedural language */
ACL_OBJECT_NAMESPACE, /* namespace */
@@ -981,8 +1212,8 @@ typedef struct GrantStmt
GrantObjectType objtype; /* kind of object being operated on */
List *objects; /* list of RangeVar nodes, FuncWithArgs nodes,
* or plain names (as Value strings) */
- List *privileges; /* list of privilege names (as Strings) */
- /* privileges == NIL denotes "all privileges" */
+ List *privileges; /* list of AccessPriv nodes */
+ /* privileges == NIL denotes ALL PRIVILEGES */
List *grantees; /* list of PrivGrantee nodes */
bool grant_option; /* grant or revoke grant option */
DropBehavior behavior; /* drop behavior (for REVOKE) */
@@ -1006,18 +1237,27 @@ typedef struct FuncWithArgs
List *funcargs; /* list of Typename nodes */
} FuncWithArgs;
-/* This is only used internally in gram.y. */
-typedef struct PrivTarget
+/*
+ * An access privilege, with optional list of column names
+ * priv_name == NULL denotes ALL PRIVILEGES (only used with a column list)
+ * cols == NIL denotes "all columns"
+ * Note that simple "ALL PRIVILEGES" is represented as a NIL list, not
+ * an AccessPriv with both fields null.
+ */
+typedef struct AccessPriv
{
NodeTag type;
- GrantObjectType objtype;
- List *objs;
-} PrivTarget;
+ char *priv_name; /* string name of privilege */
+ List *cols; /* list of Value strings */
+} AccessPriv;
/* ----------------------
* Grant/Revoke Role Statement
*
- * Note: the lists of roles are lists of names, as Value strings
+ * Note: because of the parsing ambiguity with the GRANT <privileges>
+ * statement, granted_roles is a list of AccessPriv; the execution code
+ * should complain if any column lists appear. grantee_roles is a list
+ * of role names, as Value strings.
* ----------------------
*/
typedef struct GrantRoleStmt
@@ -1220,6 +1460,97 @@ typedef struct DropTableSpaceStmt
bool missing_ok; /* skip error if missing? */
} DropTableSpaceStmt;
+/* ----------------------
+ * Create/Drop FOREIGN DATA WRAPPER Statements
+ * ----------------------
+ */
+
+typedef struct CreateFdwStmt
+{
+ NodeTag type;
+ char *fdwname; /* foreign-data wrapper name */
+ List *validator; /* optional validator function (qual. name) */
+ List *options; /* generic options to FDW */
+} CreateFdwStmt;
+
+typedef struct AlterFdwStmt
+{
+ NodeTag type;
+ char *fdwname; /* foreign-data wrapper name */
+ List *validator; /* optional validator function (qual. name) */
+ bool change_validator;
+ List *options; /* generic options to FDW */
+} AlterFdwStmt;
+
+typedef struct DropFdwStmt
+{
+ NodeTag type;
+ char *fdwname; /* foreign-data wrapper name */
+ bool missing_ok; /* don't complain if missing */
+ DropBehavior behavior; /* drop behavior - cascade/restrict */
+} DropFdwStmt;
+
+/* ----------------------
+ * Create/Drop FOREIGN SERVER Statements
+ * ----------------------
+ */
+
+typedef struct CreateForeignServerStmt
+{
+ NodeTag type;
+ char *servername; /* server name */
+ char *servertype; /* optional server type */
+ char *version; /* optional server version */
+ char *fdwname; /* FDW name */
+ List *options; /* generic options to server */
+} CreateForeignServerStmt;
+
+typedef struct AlterForeignServerStmt
+{
+ NodeTag type;
+ char *servername; /* server name */
+ char *version; /* optional server version */
+ List *options; /* generic options to server */
+ bool has_version; /* version specified */
+} AlterForeignServerStmt;
+
+typedef struct DropForeignServerStmt
+{
+ NodeTag type;
+ char *servername; /* server name */
+ bool missing_ok; /* ignore missing servers */
+ DropBehavior behavior; /* drop behavior - cascade/restrict */
+} DropForeignServerStmt;
+
+/* ----------------------
+ * Create/Drop USER MAPPING Statements
+ * ----------------------
+ */
+
+typedef struct CreateUserMappingStmt
+{
+ NodeTag type;
+ char *username; /* username or PUBLIC/CURRENT_USER */
+ char *servername; /* server name */
+ List *options; /* generic options to server */
+} CreateUserMappingStmt;
+
+typedef struct AlterUserMappingStmt
+{
+ NodeTag type;
+ char *username; /* username or PUBLIC/CURRENT_USER */
+ char *servername; /* server name */
+ List *options; /* generic options to server */
+} AlterUserMappingStmt;
+
+typedef struct DropUserMappingStmt
+{
+ NodeTag type;
+ char *username; /* username or PUBLIC/CURRENT_USER */
+ char *servername; /* server name */
+ bool missing_ok; /* ignore missing mappings */
+} DropUserMappingStmt;
+
/* ----------------------
* Create/Drop TRIGGER Statements
* ----------------------
@@ -1234,7 +1565,8 @@ typedef struct CreateTrigStmt
List *args; /* list of (T_String) Values or NIL */
bool before; /* BEFORE/AFTER */
bool row; /* ROW/STATEMENT */
- char actions[4]; /* 1 to 3 of 'i', 'u', 'd', + trailing \0 */
+ /* events uses the TRIGGER_TYPE bits defined in catalog/pg_trigger.h */
+ int16 events; /* INSERT/UPDATE/DELETE/TRUNCATE */
/* The following are used for referential */
/* integrity constraint triggers */
@@ -1383,7 +1715,6 @@ typedef struct CreateOpClassItem
List *name; /* operator or function name */
List *args; /* argument types */
int number; /* strategy num or support proc num */
- bool recheck; /* only used for operators */
List *class_args; /* only used for functions */
/* fields used for a storagetype item: */
TypeName *storedtype; /* datatype stored in index */
@@ -1453,6 +1784,7 @@ typedef struct TruncateStmt
{
NodeTag type;
List *relations; /* relations (RangeVars) to be truncated */
+ bool restart_seqs; /* restart owned sequences? */
DropBehavior behavior; /* RESTRICT or CASCADE behavior */
} TruncateStmt;
@@ -1473,16 +1805,16 @@ typedef struct CommentStmt
* Declare Cursor Statement
*
* Note: the "query" field of DeclareCursorStmt is only used in the raw grammar
- * output. After parse analysis it's set to null, and the Query points to the
+ * output. After parse analysis it's set to null, and the Query points to the
* DeclareCursorStmt, not vice versa.
* ----------------------
*/
-#define CURSOR_OPT_BINARY 0x0001 /* BINARY */
-#define CURSOR_OPT_SCROLL 0x0002 /* SCROLL explicitly given */
-#define CURSOR_OPT_NO_SCROLL 0x0004 /* NO SCROLL explicitly given */
-#define CURSOR_OPT_INSENSITIVE 0x0008 /* INSENSITIVE (unimplemented) */
-#define CURSOR_OPT_HOLD 0x0010 /* WITH HOLD */
-#define CURSOR_OPT_FAST_PLAN 0x0020 /* prefer fast-start plan */
+#define CURSOR_OPT_BINARY 0x0001 /* BINARY */
+#define CURSOR_OPT_SCROLL 0x0002 /* SCROLL explicitly given */
+#define CURSOR_OPT_NO_SCROLL 0x0004 /* NO SCROLL explicitly given */
+#define CURSOR_OPT_INSENSITIVE 0x0008 /* INSENSITIVE */
+#define CURSOR_OPT_HOLD 0x0010 /* WITH HOLD */
+#define CURSOR_OPT_FAST_PLAN 0x0020 /* prefer fast-start plan */
typedef struct DeclareCursorStmt
{
@@ -1500,7 +1832,7 @@ typedef struct ClosePortalStmt
{
NodeTag type;
char *portalname; /* name of the portal (cursor) */
- /* NULL means CLOSE ALL */
+ /* NULL means CLOSE ALL */
} ClosePortalStmt;
/* ----------------------
@@ -1538,10 +1870,9 @@ typedef struct IndexStmt
char *idxname; /* name of new index, or NULL for default */
RangeVar *relation; /* relation to build index on */
char *accessMethod; /* name of access method (eg. btree) */
- char *tableSpace; /* tablespace, or NULL to use parent's */
+ char *tableSpace; /* tablespace, or NULL for default */
List *indexParams; /* a list of IndexElem */
List *options; /* options from WITH clause */
- char *src_options; /* relopts inherited from source index */
Node *whereClause; /* qualification (partial-index predicate) */
bool unique; /* is index unique? */
bool primary; /* is index on primary key? */
@@ -1569,7 +1900,9 @@ typedef enum FunctionParameterMode
/* the assigned enum values appear in pg_proc, don't change 'em! */
FUNC_PARAM_IN = 'i', /* input only */
FUNC_PARAM_OUT = 'o', /* output only */
- FUNC_PARAM_INOUT = 'b' /* both */
+ FUNC_PARAM_INOUT = 'b', /* both */
+ FUNC_PARAM_VARIADIC = 'v', /* variadic (always input) */
+ FUNC_PARAM_TABLE = 't' /* table function output column */
} FunctionParameterMode;
typedef struct FunctionParameter
@@ -1577,7 +1910,8 @@ typedef struct FunctionParameter
NodeTag type;
char *name; /* parameter name, or NULL if not given */
TypeName *argType; /* TypeName for parameter type */
- FunctionParameterMode mode; /* IN/OUT/INOUT */
+ FunctionParameterMode mode; /* IN/OUT/etc */
+ Node *defexpr; /* raw default expr, or NULL if not given */
} FunctionParameter;
typedef struct AlterFunctionStmt
@@ -1697,7 +2031,7 @@ typedef struct RuleStmt
typedef struct NotifyStmt
{
NodeTag type;
- RangeVar *relation; /* qualified name to notify */
+ char *conditionname; /* condition name to notify */
} NotifyStmt;
/* ----------------------
@@ -1707,7 +2041,7 @@ typedef struct NotifyStmt
typedef struct ListenStmt
{
NodeTag type;
- RangeVar *relation; /* qualified name to listen on */
+ char *conditionname; /* condition name to listen on */
} ListenStmt;
/* ----------------------
@@ -1717,7 +2051,7 @@ typedef struct ListenStmt
typedef struct UnlistenStmt
{
NodeTag type;
- RangeVar *relation; /* qualified name to unlisten on, or '*' */
+ char *conditionname; /* name to unlisten on, or NULL for all */
} UnlistenStmt;
/* ----------------------
@@ -1841,6 +2175,7 @@ typedef struct ClusterStmt
NodeTag type;
RangeVar *relation; /* relation being indexed, or NULL if all */
char *indexname; /* original index defined */
+ bool verbose; /* print progress info */
} ClusterStmt;
/* ----------------------
@@ -1857,7 +2192,8 @@ typedef struct VacuumStmt
bool full; /* do FULL (non-concurrent) vacuum */
bool analyze; /* do ANALYZE step */
bool verbose; /* print progress info */
- int freeze_min_age; /* min freeze age, or -1 to use default */
+ int freeze_min_age; /* min freeze age, or -1 to use default */
+ int freeze_table_age; /* age at which to scan whole table */
RangeVar *relation; /* single table to process, or NULL */
List *va_cols; /* list of column names, or NIL for all */
} VacuumStmt;
@@ -1898,7 +2234,7 @@ typedef enum DiscardMode
typedef struct DiscardStmt
{
NodeTag type;
- DiscardMode target;
+ DiscardMode target;
} DiscardStmt;
/* ----------------------
@@ -1963,6 +2299,7 @@ typedef struct CreateCastStmt
TypeName *targettype;
FuncWithArgs *func;
CoercionContext context;
+ bool inout;
} CreateCastStmt;
/* ----------------------
@@ -2014,7 +2351,7 @@ typedef struct DeallocateStmt
{
NodeTag type;
char *name; /* The name of the plan to remove */
- /* NULL means DEALLOCATE ALL */
+ /* NULL means DEALLOCATE ALL */
} DeallocateStmt;
/*
@@ -2056,14 +2393,14 @@ typedef struct AlterTSConfigurationStmt
List *cfgname; /* qualified name (list of Value strings) */
/*
- * dicts will be non-NIL if ADD/ALTER MAPPING was specified.
- * If dicts is NIL, but tokentype isn't, DROP MAPPING was specified.
+ * dicts will be non-NIL if ADD/ALTER MAPPING was specified. If dicts is
+ * NIL, but tokentype isn't, DROP MAPPING was specified.
*/
- List *tokentype; /* list of Value strings */
- List *dicts; /* list of list of Value strings */
- bool override; /* if true - remove old variant */
- bool replace; /* if true - replace dictionary by another */
- bool missing_ok; /* for DROP - skip error if missing? */
+ List *tokentype; /* list of Value strings */
+ List *dicts; /* list of list of Value strings */
+ bool override; /* if true - remove old variant */
+ bool replace; /* if true - replace dictionary by another */
+ bool missing_ok; /* for DROP - skip error if missing? */
} AlterTSConfigurationStmt;
#endif /* PARSENODES_H */
diff --git a/parser/parser.c b/parser/parser.c
index 17c5d74ab..6884dc69f 100644
--- a/parser/parser.c
+++ b/parser/parser.c
@@ -7,14 +7,15 @@
* (since we need to be able to do basic parsing even while inside an
* aborted transaction). Therefore, the data structures returned by
* the grammar are "raw" parsetrees that still need to be analyzed by
- * parse_analyze.
+ * analyze.c and related files.
*
*
- * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/parser.c,v 1.63 2004/12/31 22:00:27 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/parser.c,v 1.76 2009/01/01 17:23:46 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -22,16 +23,16 @@
#include <string.h>
#include "pool_parser.h"
#include "pool_memory.h"
-#include "gramparse.h"
+#include "gramparse.h" /* required before parser/gram.h! */
#include "gram.h"
#include "parser.h"
-#include "value.h"
+
List *parsetree; /* result of parsing is left here */
jmp_buf jmpbuffer;
+static bool have_lookahead; /* is lookahead info valid? */
static int lookahead_token; /* one-token lookahead */
-static bool have_lookahead; /* lookahead_token set? */
static YYSTYPE lookahead_yylval; /* yylval for lookahead token */
static YYLTYPE lookahead_yylloc; /* yylloc for lookahead token */
@@ -114,6 +115,7 @@ filtered_base_yylex(void)
switch (cur_token)
{
case NULLS_P:
+
/*
* NULLS FIRST and NULLS LAST must be reduced to one token
*/
@@ -142,29 +144,17 @@ filtered_base_yylex(void)
break;
case WITH:
+
/*
- * WITH CASCADED, LOCAL, or CHECK must be reduced to one token
- *
- * XXX an alternative way is to recognize just WITH_TIME and put
- * the ugliness into the datetime datatype productions instead of
- * WITH CHECK OPTION. However that requires promoting WITH to a
- * fully reserved word. If we ever have to do that anyway
- * (perhaps for SQL99 recursive queries), come back and simplify
- * this code.
+ * WITH TIME must be reduced to one token
*/
cur_yylval = base_yylval;
cur_yylloc = base_yylloc;
next_token = base_yylex();
switch (next_token)
{
- case CASCADED:
- cur_token = WITH_CASCADED;
- break;
- case LOCAL:
- cur_token = WITH_LOCAL;
- break;
- case CHECK:
- cur_token = WITH_CHECK;
+ case TIME:
+ cur_token = WITH_TIME;
break;
default:
/* save the lookahead token for next time */
diff --git a/parser/pool_memory.h b/parser/pool_memory.h
index 5034e9306..3b6cde7cc 100644
--- a/parser/pool_memory.h
+++ b/parser/pool_memory.h
@@ -5,7 +5,7 @@
* pgpool: a language independent connection pool server for PostgreSQL
* written by Tatsuo Ishii
*
- * Copyright (c) 2003-2008 PgPool Global Development Group
+ * Copyright (c) 2003-2009 PgPool Global Development Group
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose and without fee is hereby
@@ -71,5 +71,6 @@ extern void *pool_memory_alloc_zero(POOL_MEMORY_POOL *pool_memory, unsigned int
#define repalloc(p, s) pool_memory_realloc(pool_memory, (p), (s))
#define pstrdup(s) pool_memory_strdup(pool_memory, (s))
#define palloc0(s) pool_memory_alloc_zero(pool_memory, (s))
+#define palloc0fast(s) pool_memory_alloc_zero(pool_memory, (s)) /* Added in 8.4 */
#endif /* POOL_MEMORY_H */
diff --git a/parser/pool_parser.h b/parser/pool_parser.h
index 51ec14f3d..32e9f7199 100644
--- a/parser/pool_parser.h
+++ b/parser/pool_parser.h
@@ -2,7 +2,7 @@
/*
* $Header$
*
- * Copyright (c) 2006-2008, pgpool Global Development Group
+ * Copyright (c) 2006-2009, pgpool Global Development Group
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose and without fee is hereby
@@ -24,9 +24,17 @@
extern jmp_buf jmpbuffer;
+#define AssertMacro
+
/* integer */
-typedef signed int int32;
-typedef signed short int16;
+
+/*
+ * move int32 and int16 to pool_types.h since there's no point that
+ * these are solely used for parser
+ * typedef signed int int32;
+ * typedef signed short int16;
+ */
+
typedef unsigned int PoolOid;
typedef unsigned int Index;
typedef short AttrNumber;
@@ -114,4 +122,14 @@ typedef unsigned long Datum; /* XXX sizeof(long) >= sizeof(void *) */
#define lengthof(array) (sizeof(array) / sizeof(((array)[0])))
#define endof(array) (&(array)[lengthof(array)])
+/* from include/catalog/pg_trigger.h start */
+/* Bits within tgtype */
+#define TRIGGER_TYPE_ROW (1 << 0)
+#define TRIGGER_TYPE_BEFORE (1 << 1)
+#define TRIGGER_TYPE_INSERT (1 << 2)
+#define TRIGGER_TYPE_DELETE (1 << 3)
+#define TRIGGER_TYPE_UPDATE (1 << 4)
+#define TRIGGER_TYPE_TRUNCATE (1 << 5)
+/* from include/catalog/pg_trigger.h end */
+
#endif /* POOL_PARSER_H */
diff --git a/parser/primnodes.h b/parser/primnodes.h
index 86cad18b4..7a278668f 100644
--- a/parser/primnodes.h
+++ b/parser/primnodes.h
@@ -7,11 +7,11 @@
* and join trees.
*
*
- * Portions Copyright (c) 2003-2008, PgPool Global Development Group
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 2003-2009, PgPool Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/nodes/primnodes.h,v 1.133 2007/08/26 21:44:25 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/nodes/primnodes.h,v 1.148 2009/04/05 19:59:40 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -76,6 +76,7 @@ typedef struct RangeVar
* on children? */
bool istemp; /* is this a temp relation/sequence? */
Alias *alias; /* table alias & optional column aliases */
+ int location; /* token location, or -1 if unknown */
} RangeVar;
/*
@@ -89,7 +90,7 @@ typedef struct IntoClause
List *colNames; /* column names to assign, or NIL */
List *options; /* options from WITH clause */
OnCommitAction onCommit; /* what do we do at COMMIT? */
- char *tableSpaceName; /* table space to use, or NULL */
+ char *tableSpaceName; /* table space to use, or NULL */
} IntoClause;
@@ -138,14 +139,12 @@ typedef struct Var
* all */
Oid vartype; /* pg_type OID for the type of this var */
int32 vartypmod; /* pg_attribute typmod value */
- Index varlevelsup;
-
- /*
- * for subquery variables referencing outer relations; 0 in a normal var,
- * >0 means N levels up
- */
+ Index varlevelsup; /* for subquery variables referencing outer
+ * relations; 0 in a normal var, >0 means N
+ * levels up */
Index varnoold; /* original value of varno, for debugging */
AttrNumber varoattno; /* original value of varattno */
+ int location; /* token location, or -1 if unknown */
} Var;
/*
@@ -164,6 +163,7 @@ typedef struct Const
* If true, then all the information is stored
* in the Datum. If false, then the Datum
* contains a pointer to the information. */
+ int location; /* token location, or -1 if unknown */
} Const;
/* ----------------
@@ -204,6 +204,7 @@ typedef struct Param
int paramid; /* numeric ID for parameter */
Oid paramtype; /* pg_type OID of parameter's datatype */
int32 paramtypmod; /* typmod value, if known */
+ int location; /* token location, or -1 if unknown */
} Param;
/*
@@ -218,8 +219,24 @@ typedef struct Aggref
Index agglevelsup; /* > 0 if agg belongs to outer query */
bool aggstar; /* TRUE if argument list was really '*' */
bool aggdistinct; /* TRUE if it's agg(DISTINCT ...) */
+ int location; /* token location, or -1 if unknown */
} Aggref;
+/*
+ * WindowFunc
+ */
+typedef struct WindowFunc
+{
+ Expr xpr;
+ Oid winfnoid; /* pg_proc Oid of the function */
+ Oid wintype; /* type Oid of result of the window function */
+ List *args; /* arguments to the window function */
+ Index winref; /* index of associated WindowClause */
+ bool winstar; /* TRUE if argument list was really '*' */
+ bool winagg; /* is function a simple aggregate? */
+ int location; /* token location, or -1 if unknown */
+} WindowFunc;
+
/* ----------------
* ArrayRef: describes an array subscripting operation
*
@@ -293,6 +310,7 @@ typedef struct FuncExpr
bool funcretset; /* true if function returns set */
CoercionForm funcformat; /* how to display this function call */
List *args; /* arguments to the function */
+ int location; /* token location, or -1 if unknown */
} FuncExpr;
/*
@@ -302,7 +320,7 @@ typedef struct FuncExpr
*
* Note that opfuncid is not necessarily filled in immediately on creation
* of the node. The planner makes sure it is valid before passing the node
- * tree to the executor, but during parsing/planning opfuncid is typically 0.
+ * tree to the executor, but during parsing/planning opfuncid can be 0.
*/
typedef struct OpExpr
{
@@ -312,6 +330,7 @@ typedef struct OpExpr
Oid opresulttype; /* PG_TYPE OID of result value */
bool opretset; /* true if operator returns set */
List *args; /* arguments to the operator (1 or 2) */
+ int location; /* token location, or -1 if unknown */
} OpExpr;
/*
@@ -343,6 +362,7 @@ typedef struct ScalarArrayOpExpr
Oid opfuncid; /* PG_PROC OID of underlying function */
bool useOr; /* true for ANY, false for ALL */
List *args; /* the scalar and array operands */
+ int location; /* token location, or -1 if unknown */
} ScalarArrayOpExpr;
/*
@@ -350,9 +370,11 @@ typedef struct ScalarArrayOpExpr
*
* Notice the arguments are given as a List. For NOT, of course the list
* must always have exactly one element. For AND and OR, the executor can
- * handle any number of arguments. The parser treats AND and OR as binary
- * and so it only produces two-element lists, but the optimizer will flatten
- * trees of AND and OR nodes to produce longer lists when possible.
+ * handle any number of arguments. The parser generally treats AND and OR
+ * as binary and so it typically only produces two-element lists, but the
+ * optimizer will flatten trees of AND and OR nodes to produce longer lists
+ * when possible. There are also a few special cases where more arguments
+ * can appear before optimization.
*/
typedef enum BoolExprType
{
@@ -364,6 +386,7 @@ typedef struct BoolExpr
Expr xpr;
BoolExprType boolop;
List *args; /* arguments to this expression */
+ int location; /* token location, or -1 if unknown */
} BoolExpr;
/*
@@ -378,6 +401,7 @@ typedef struct BoolExpr
* ROWCOMPARE_SUBLINK (lefthand) op (SELECT ...)
* EXPR_SUBLINK (SELECT with single targetlist item ...)
* ARRAY_SUBLINK ARRAY(SELECT with single targetlist item ...)
+ * CTE_SUBLINK WITH query (never actually part of an expression)
* For ALL, ANY, and ROWCOMPARE, the lefthand is a list of expressions of the
* same length as the subselect's targetlist. ROWCOMPARE will *always* have
* a list with more than one entry; if the subselect has just one target
@@ -404,6 +428,9 @@ typedef struct BoolExpr
*
* In EXISTS, EXPR, and ARRAY SubLinks, testexpr and operName are unused and
* are always null.
+ *
+ * The CTE_SUBLINK case never occurs in actual SubLink nodes, but it is used
+ * in SubPlans generated for WITH subqueries.
*/
typedef enum SubLinkType
{
@@ -412,7 +439,8 @@ typedef enum SubLinkType
ANY_SUBLINK,
ROWCOMPARE_SUBLINK,
EXPR_SUBLINK,
- ARRAY_SUBLINK
+ ARRAY_SUBLINK,
+ CTE_SUBLINK /* for SubPlans only */
} SubLinkType;
@@ -423,6 +451,7 @@ typedef struct SubLink
Node *testexpr; /* outer-query test for ALL/ANY/ROWCOMPARE */
List *operName; /* originally specified operator name */
Node *subselect; /* subselect as Query* or parsetree */
+ int location; /* token location, or -1 if unknown */
} SubLink;
/*
@@ -445,7 +474,8 @@ typedef struct SubLink
*
* If the sub-select becomes an initplan rather than a subplan, the executable
* expression is part of the outer plan's expression tree (and the SubPlan
- * node itself is not). In this case testexpr is NULL to avoid duplication.
+ * node itself is not, but rather is found in the outer plan's initPlan
+ * list). In this case testexpr is NULL to avoid duplication.
*
* The planner also derives lists of the values that need to be passed into
* and out of the subplan. Input values are represented as a list "args" of
@@ -457,6 +487,10 @@ typedef struct SubLink
* is an initplan; they are listed in order by sub-select output column
* position. (parParam and setParam are integer Lists, not Bitmapsets,
* because their ordering is significant.)
+ *
+ * Also, the planner computes startup and per-call costs for use of the
+ * SubPlan. Note that these include the cost of the subquery proper,
+ * evaluation of the testexpr if any, and any hashtable management overhead.
*/
typedef struct SubPlan
{
@@ -468,8 +502,11 @@ typedef struct SubPlan
List *paramIds; /* IDs of Params embedded in the above */
/* Identification of the Plan tree to use: */
int plan_id; /* Index (from 1) in PlannedStmt.subplans */
+ /* Identification of the SubPlan for EXPLAIN and debugging purposes: */
+ char *plan_name; /* A name assigned during planning */
/* Extra data useful for determining subplan's output type: */
Oid firstColType; /* Type of first column of subplan result */
+ int32 firstColTypmod; /* Typmod of first column of subplan result */
/* Information about execution strategy: */
bool useHashTable; /* TRUE to store subselect output in a hash
* table (implies we are doing "IN") */
@@ -482,8 +519,25 @@ typedef struct SubPlan
* Params for parent plan */
List *parParam; /* indices of input Params from parent plan */
List *args; /* exprs to pass as parParam values */
+ /* Estimated execution costs: */
+ Cost startup_cost; /* one-time setup cost */
+ Cost per_call_cost; /* cost for each subplan evaluation */
} SubPlan;
+/*
+ * AlternativeSubPlan - expression node for a choice among SubPlans
+ *
+ * The subplans are given as a List so that the node definition need not
+ * change if there's ever more than two alternatives. For the moment,
+ * though, there are always exactly two; and the first one is the fast-start
+ * plan.
+ */
+typedef struct AlternativeSubPlan
+{
+ Expr xpr;
+ List *subplans; /* SubPlan(s) with equivalent results */
+} AlternativeSubPlan;
+
/* ----------------
* FieldSelect
*
@@ -548,6 +602,7 @@ typedef struct RelabelType
Oid resulttype; /* output type of coercion expression */
int32 resulttypmod; /* output typmod (usually -1) */
CoercionForm relabelformat; /* how to display this node */
+ int location; /* token location, or -1 if unknown */
} RelabelType;
/* ----------------
@@ -566,6 +621,7 @@ typedef struct CoerceViaIO
Oid resulttype; /* output type of coercion */
/* output typmod is not stored, but is presumed -1 */
CoercionForm coerceformat; /* how to display this node */
+ int location; /* token location, or -1 if unknown */
} CoerceViaIO;
/* ----------------
@@ -589,6 +645,7 @@ typedef struct ArrayCoerceExpr
int32 resulttypmod; /* output typmod (also element typmod) */
bool isExplicit; /* conversion semantics flag to pass to func */
CoercionForm coerceformat; /* how to display this node */
+ int location; /* token location, or -1 if unknown */
} ArrayCoerceExpr;
/* ----------------
@@ -610,6 +667,7 @@ typedef struct ConvertRowtypeExpr
Oid resulttype; /* output type (always a composite type) */
/* result typmod is not stored, but must be -1; see RowExpr comments */
CoercionForm convertformat; /* how to display this node */
+ int location; /* token location, or -1 if unknown */
} ConvertRowtypeExpr;
/*----------
@@ -641,6 +699,7 @@ typedef struct CaseExpr
Expr *arg; /* implicit equality comparison argument */
List *args; /* the arguments (list of WHEN clauses) */
Expr *defresult; /* the default result (ELSE clause) */
+ int location; /* token location, or -1 if unknown */
} CaseExpr;
/*
@@ -651,6 +710,7 @@ typedef struct CaseWhen
Expr xpr;
Expr *expr; /* condition expression */
Expr *result; /* substitution result */
+ int location; /* token location, or -1 if unknown */
} CaseWhen;
/*
@@ -683,6 +743,7 @@ typedef struct ArrayExpr
Oid element_typeid; /* common type of array elements */
List *elements; /* the array elements or sub-arrays */
bool multidims; /* true if elements are sub-arrays */
+ int location; /* token location, or -1 if unknown */
} ArrayExpr;
/*
@@ -697,6 +758,12 @@ typedef struct ArrayExpr
* not RECORD types, since those are built from the RowExpr itself rather
* than vice versa.) It is important not to assume that length(args) is
* the same as the number of columns logically present in the rowtype.
+ *
+ * colnames is NIL in a RowExpr built from an ordinary ROW() expression.
+ * It is provided in cases where we expand a whole-row Var into a RowExpr,
+ * to retain the column alias names of the RTE that the Var referenced
+ * (which would otherwise be very difficult to extract from the parsetree).
+ * Like the args list, it is one-for-one with physical fields of the rowtype.
*/
typedef struct RowExpr
{
@@ -711,6 +778,8 @@ typedef struct RowExpr
* parsetrees. We must assume typmod -1 for a RowExpr node.
*/
CoercionForm row_format; /* how to display this node */
+ List *colnames; /* list of String, or NIL */
+ int location; /* token location, or -1 if unknown */
} RowExpr;
/*
@@ -756,6 +825,7 @@ typedef struct CoalesceExpr
Expr xpr;
Oid coalescetype; /* type of expression result */
List *args; /* the arguments */
+ int location; /* token location, or -1 if unknown */
} CoalesceExpr;
/*
@@ -773,6 +843,7 @@ typedef struct MinMaxExpr
Oid minmaxtype; /* common type of arguments and result */
MinMaxOp op; /* function to execute */
List *args; /* the arguments */
+ int location; /* token location, or -1 if unknown */
} MinMaxExpr;
/*
@@ -811,6 +882,7 @@ typedef struct XmlExpr
XmlOptionType xmloption; /* DOCUMENT or CONTENT */
Oid type; /* target type for XMLSERIALIZE */
int32 typmod;
+ int location; /* token location, or -1 if unknown */
} XmlExpr;
/*
@@ -883,6 +955,7 @@ typedef struct CoerceToDomain
Oid resulttype; /* domain type ID (result type) */
int32 resulttypmod; /* output typmod (currently always -1) */
CoercionForm coercionformat; /* how to display this node */
+ int location; /* token location, or -1 if unknown */
} CoerceToDomain;
/*
@@ -899,6 +972,7 @@ typedef struct CoerceToDomainValue
Expr xpr;
Oid typeId; /* type for substituted value */
int32 typeMod; /* typemod for substituted value */
+ int location; /* token location, or -1 if unknown */
} CoerceToDomainValue;
/*
@@ -913,6 +987,7 @@ typedef struct SetToDefault
Expr xpr;
Oid typeId; /* type for substituted value */
int32 typeMod; /* typemod for substituted value */
+ int location; /* token location, or -1 if unknown */
} SetToDefault;
/*
@@ -969,14 +1044,14 @@ typedef struct CurrentOfExpr
* a specific system-generated name (such as "ctid") or NULL; anything else
* risks confusing ExecGetJunkAttribute!
*
- * ressortgroupref is used in the representation of ORDER BY and
- * GROUP BY items. Targetlist entries with ressortgroupref=0 are not
- * sort/group items. If ressortgroupref>0, then this item is an ORDER BY or
- * GROUP BY value. No two entries in a targetlist may have the same nonzero
- * ressortgroupref --- but there is no particular meaning to the nonzero
- * values, except as tags. (For example, one must not assume that lower
- * ressortgroupref means a more significant sort key.) The order of the
- * associated SortClause or GroupClause lists determine the semantics.
+ * ressortgroupref is used in the representation of ORDER BY, GROUP BY, and
+ * DISTINCT items. Targetlist entries with ressortgroupref=0 are not
+ * sort/group items. If ressortgroupref>0, then this item is an ORDER BY,
+ * GROUP BY, and/or DISTINCT target value. No two entries in a targetlist
+ * may have the same nonzero ressortgroupref --- but there is no particular
+ * meaning to the nonzero values, except as tags. (For example, one must
+ * not assume that lower ressortgroupref means a more significant sort key.)
+ * The order of the associated SortGroupClause lists determine the semantics.
*
* resorigtbl/resorigcol identify the source of the column, if it is a
* simple reference to a column of a base table (or view). If it is not
@@ -1065,7 +1140,9 @@ typedef struct RangeTblRef
*
* During parse analysis, an RTE is created for the Join, and its index
* is filled into rtindex. This RTE is present mainly so that Vars can
- * be created that refer to the outputs of the join.
+ * be created that refer to the outputs of the join. The planner sometimes
+ * generates JoinExprs internally; these can have rtindex = 0 if there are
+ * no join alias variables referencing such joins.
*----------
*/
typedef struct JoinExpr
@@ -1078,7 +1155,7 @@ typedef struct JoinExpr
List *using; /* USING clause, if any (list of String) */
Node *quals; /* qualifiers on join, if any */
Alias *alias; /* user-written alias clause, if any */
- int rtindex; /* RT index assigned for join */
+ int rtindex; /* RT index assigned for join, or 0 */
} JoinExpr;
/*----------
diff --git a/pool_process_query.c b/pool_process_query.c
index e5cfcdf35..80e140521 100644
--- a/pool_process_query.c
+++ b/pool_process_query.c
@@ -2216,7 +2216,8 @@ int is_select_query(Node *node, char *sql)
return 0;
if (IsA(node, SelectStmt))
- return (*sql == 's' || *sql == 'S' || *sql == '(');
+ return (*sql == 's' || *sql == 'S' || *sql == '(' ||
+ *sql == 'w' || *sql == 'W' || *sql == 't' || *sql == 'T');
else
return (*sql == 'd' || *sql == 'D');
}
diff --git a/pool_rewrite_outfuncs.c b/pool_rewrite_outfuncs.c
index 8259d3eda..cff467d58 100644
--- a/pool_rewrite_outfuncs.c
+++ b/pool_rewrite_outfuncs.c
@@ -83,8 +83,8 @@ static void _rewriteColumnDef(Node *BaseSelect, RewriteQuery *message, ConInfoTo
static void _rewriteTypeName(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, TypeName *node);
static void _rewriteTypeCast(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, TypeCast *node);
static void _rewriteIndexElem(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, IndexElem *node);
-static void _rewriteSortClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, SortClause *node);
-static void _rewriteGroupClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, GroupClause *node);
+static void _rewriteSortGroupClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, SortGroupClause *node);
+static void _rewriteWindowClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, WindowClause *node);
static void _rewriteSetOperationStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, SetOperationStmt *node);
static void _rewriteAExpr(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, A_Expr *node);
static void _rewriteValue(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, Value *value);
@@ -163,7 +163,6 @@ static void _rewriteSetTransactionModeList(Node *BaseSelect, RewriteQuery *messa
static void _rewriteAlterTableCmd(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, AlterTableCmd *node);
static void _rewriteOptSeqList(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, List *options);
static void _rewritePrivGrantee(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, PrivGrantee *node);
-static void _rewritePrivTarget(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, PrivTarget *node);
static void _rewriteFuncWithArgs(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, FuncWithArgs *node);
static void _rewriteFunctionParameter(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, FunctionParameter *node);
static void _rewritePrivilegeList(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, List *list);
@@ -978,15 +977,8 @@ AnalyzeReturnRecord(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *db
}
else if(obj && (IsA(obj,A_Const)))
{
- A_Const *cst = (A_Const *) obj;
char *column = NULL;
- if(!typecast && cst->typename)
- {
- Value *v = linitial(cst->typename->names);
- typecast = v->val.str;
- }
-
if(!alias)
{
column = (char *)palloc(sizeof(char) * strlen("\"?column?\"") + 1);
@@ -2449,7 +2441,9 @@ static void
_rewriteNotifyStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, NotifyStmt *node)
{
delay_string_append_char(message, str, "NOTIFY ");
- _rewriteNode(BaseSelect, message, dblink, str, node->relation);
+ delay_string_append_char(message, str, "\"");
+ _rewriteNode(BaseSelect, message, dblink, str, node->conditionname);
+ delay_string_append_char(message, str, "\"");
}
static void
@@ -4242,51 +4236,103 @@ _rewriteColumnDef(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dbli
static void
_rewriteTypeName(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, TypeName *node)
{
- ListCell *lc;
- char dot = 0;
-
- foreach (lc, node->names)
- {
- Value *v = (Value *) lfirst(lc);
- char *typename = v->val.str;
+ if (list_length(node->names) == 2 &&
+ strcmp("pg_catalog", strVal(linitial(node->names))) == 0)
+ {
+ delay_string_append_char(message, str, strVal(lsecond(node->names)));
- if (dot == 0)
- dot = 1;
- else
- delay_string_append_char(message, str, ".");
- if(node->typemod < 0)
+ if (strcmp("interval", strVal(lsecond(node->names))) == 0)
+ {
+ if (node->typmods != NIL)
{
- if(message->rewritelock != -1)
+ A_Const *v = (A_Const *) linitial(node->typmods);
+ int mask = v->val.val.ival;
+
+ /* precision for SECOND field.
+ * backword comaptibility.
+ * use `'1.2 second'::interval(0) second'
+ * not `'1.2 second'::interval second(0)'(standarad for 8.4).
+ */
+ if ((INTERVAL_MASK(SECOND) & mask) &&
+ list_length(node->typmods) == 2)
{
- delay_string_append_char(message, str, "\"\"");
- delay_string_append_char(message, str, typename);
- delay_string_append_char(message, str, "\"\"");
- } else {
- //delay_string_append_char(message, str, "\"");
- delay_string_append_char(message, str, typename);
- //delay_string_append_char(message, str, "\"");
+ delay_string_append_char(message, str, "(");
+ _rewriteAConst(BaseSelect, message, dblink, str,
+ lsecond(node->typmods));
+ delay_string_append_char(message, str, ")");
}
- } else
- delay_string_append_char(message, str, typename);
+
+ /* optional fields */
+ if (mask == INTERVAL_MASK(YEAR))
+ delay_string_append_char(message, str, " YEAR");
+ else if (mask == INTERVAL_MASK(MONTH))
+ delay_string_append_char(message, str, " MONTH");
+ else if (mask == INTERVAL_MASK(DAY))
+ delay_string_append_char(message, str, " DAY");
+ else if (mask == INTERVAL_MASK(HOUR))
+ delay_string_append_char(message, str, " HOUR");
+ else if (mask == INTERVAL_MASK(MINUTE))
+ delay_string_append_char(message, str, " MINUTE");
+ else if (mask == INTERVAL_MASK(SECOND))
+ delay_string_append_char(message, str, " SECOND");
+ else if (mask == (INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH)))
+ delay_string_append_char(message, str, " YEAR TO MONTH");
+ else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)))
+ delay_string_append_char(message, str, " DAY TO HOUR");
+ else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE)))
+ delay_string_append_char(message, str, " DAY TO MINUTE");
+ else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND)))
+ delay_string_append_char(message, str, " DAY TO SECOND");
+ else if (mask == (INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE)))
+ delay_string_append_char(message, str, " HOUR TO MINUTE");
+ else if (mask == (INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND)))
+ delay_string_append_char(message, str, " HOUR TO SECOND");
+ else if (mask == (INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND)))
+ delay_string_append_char(message, str, " MINUTE TO SECOND");
+ }
+
+ return;
+ }
}
-
- if (node->typemod > 0)
+ else
{
- int lower;
- char buf[16];
- delay_string_append_char(message, str, "(");
- snprintf(buf, 16, "%d", ((node->typemod - VARHDRSZ) >> 16) & 0x00FF);
- delay_string_append_char(message, str, buf);
- lower = (node->typemod-VARHDRSZ) & 0x00FF;
+ ListCell *lc;
+ char dot = 0;
- if(lower != 0)
+ foreach (lc, node->names)
{
- char buf2[16];
- delay_string_append_char(message, str, ",");
- snprintf(buf2, 16, "%d",lower);
- delay_string_append_char(message, str, buf2);
- }
+ Value *v = (Value *) lfirst(lc);
+ char *typename = v->val.str;
+ if (dot == 0)
+ dot = 1;
+ else
+ delay_string_append_char(message, str, ".");
+ if(node->typemod < 0)
+ {
+ if(message->rewritelock != -1)
+ {
+ delay_string_append_char(message, str, "\"\"");
+ delay_string_append_char(message, str, typename);
+ delay_string_append_char(message, str, "\"\"");
+ } else {
+ //delay_string_append_char(message, str, "\"");
+ delay_string_append_char(message, str, typename);
+ //delay_string_append_char(message, str, "\"");
+ }
+ } else
+ delay_string_append_char(message, str, typename);
+ }
+ }
+
+ /* precisions */
+ if (node->typmods)
+ {
+ delay_string_append_char(message, str, "(");
+ _rewriteList(BaseSelect, message, dblink, str, node->typmods);
delay_string_append_char(message, str, ")");
}
}
@@ -4323,13 +4369,13 @@ _rewriteIndexElem(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dbli
static void
-_rewriteSortClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, SortClause *node)
+_rewriteSortGroupClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, SortGroupClause *node)
{
}
static void
-_rewriteGroupClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, GroupClause *node)
+_rewriteWindowClause(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, WindowClause *node)
{
}
@@ -5022,6 +5068,10 @@ _rewriteColumnRef(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dbli
else
column_name = v->val.str;
}
+ else if (IsA(n, A_Star))
+ {
+ column_name = "*";
+ }
}
if(message->r_code == SELECT_ANALYZE)
@@ -5084,15 +5134,6 @@ static void
_rewriteAConst(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, A_Const *node)
{
char buf[16];
- char *name = NULL;
-
- if (node->typename)
- {
- Value *v = linitial(node->typename->names);
- name = v->val.str;
- _rewriteNode(BaseSelect, message, dblink, str, node->typename);
- delay_string_append_char(message, str, " ");
- }
switch (node->val.type)
{
@@ -5125,41 +5166,6 @@ _rewriteAConst(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink,
default:
break;
}
-
- if (name && (strcmp(name, "interval") == 0) &&
- node->typename->typmods)
- {
- A_Const *v = linitial(node->typename->typmods);
- int mask = v->val.val.ival;
-
- if (mask == INTERVAL_MASK(YEAR))
- delay_string_append_char(message, str, " YEAR");
- else if (mask == INTERVAL_MASK(MONTH))
- delay_string_append_char(message, str, " MONTH");
- else if (mask == INTERVAL_MASK(DAY))
- delay_string_append_char(message, str, " DAY");
- else if (mask == INTERVAL_MASK(HOUR))
- delay_string_append_char(message, str, " HOUR");
- else if (mask == INTERVAL_MASK(MINUTE))
- delay_string_append_char(message, str, " MINUTE");
- else if (mask == INTERVAL_MASK(SECOND))
- delay_string_append_char(message, str, " SECOND");
- else if (mask == (INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH)))
- delay_string_append_char(message, str, " YEAR TO MONTH");
- else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)))
- delay_string_append_char(message, str, " DAY TO HOUR");
- else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) |
- INTERVAL_MASK(MINUTE)))
- delay_string_append_char(message, str, " DAY TO MINUTE");
- else if (mask == (INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) |
- INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND)))
- delay_string_append_char(message, str, " DAY TO SECOND");
- else if (mask == (INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE)))
- delay_string_append_char(message, str, " HOUR TO MINUTE");
- else if (mask == (INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) |
- INTERVAL_MASK(SECOND)))
- delay_string_append_char(message, str, " HOUR TO SECOND");
- }
}
static void
@@ -5741,13 +5747,22 @@ static void _rewriteClosePortalStmt(Node *BaseSelect, RewriteQuery *message, Con
static void _rewriteListenStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, ListenStmt *node)
{
delay_string_append_char(message, str, "LISTEN ");
- _rewriteNode(BaseSelect, message, dblink, str, node->relation);
+ delay_string_append_char(message, str, "\"");
+ _rewriteNode(BaseSelect, message, dblink, str, node->conditionname);
+ delay_string_append_char(message, str, "\"");
}
static void _rewriteUnlistenStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, UnlistenStmt *node)
{
delay_string_append_char(message, str, "UNLISTEN ");
- _rewriteNode(BaseSelect, message, dblink, str, node->relation);
+ if (node->conditionname == NULL)
+ delay_string_append_char(message, str, "*");
+ else
+ {
+ delay_string_append_char(message, str, "\"");
+ _rewriteNode(BaseSelect, message, dblink, str, node->conditionname);
+ delay_string_append_char(message, str, "\"");
+ }
}
static void _rewriteLoadStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, LoadStmt *node)
@@ -6757,7 +6772,7 @@ _rewriteFuncName(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblin
static void
_rewriteCreateTrigStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, CreateTrigStmt *node)
{
- int i, len;
+ bool has_events = false;
if (node->isconstraint == TRUE)
delay_string_append_char(message, str, "CREATE CONSTRAINT TRIGGER \"");
@@ -6771,18 +6786,33 @@ _rewriteCreateTrigStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink
else
delay_string_append_char(message, str, "AFTER ");
- len = strlen(node->actions);
- for (i = 0; i < len; i++)
+ if (node->events & TRIGGER_TYPE_INSERT)
{
- if (i)
+ if (has_events)
delay_string_append_char(message, str, "OR ");
-
- if (node->actions[i] == 'i')
- delay_string_append_char(message, str, "INSERT ");
- else if (node->actions[i] == 'd')
- delay_string_append_char(message, str, "DELETE ");
- else
- delay_string_append_char(message, str, "UPDATE ");
+ delay_string_append_char(message, str, "INSERT ");
+ has_events = true;
+ }
+ if (node->events & TRIGGER_TYPE_DELETE)
+ {
+ if (has_events)
+ delay_string_append_char(message, str, "OR ");
+ delay_string_append_char(message, str, "DELETE ");
+ has_events = true;
+ }
+ if (node->events & TRIGGER_TYPE_UPDATE)
+ {
+ if (has_events)
+ delay_string_append_char(message, str, "OR ");
+ delay_string_append_char(message, str, "UPDATE ");
+ has_events = true;
+ }
+ if (node->events & TRIGGER_TYPE_TRUNCATE)
+ {
+ if (has_events)
+ delay_string_append_char(message, str, "OR ");
+ delay_string_append_char(message, str, "TRUNCATE ");
+ has_events = true;
}
delay_string_append_char(message, str, "ON ");
@@ -6981,8 +7011,10 @@ _rewriteCreateOpClassItem(Node *BaseSelect, RewriteQuery *message, ConInfoTodbli
_rewriteNode(BaseSelect, message, dblink, str, node->args);
delay_string_append_char(message, str, ")");
}
+ /* XXX
if (node->recheck == TRUE)
delay_string_append_char(message, str, " RECHECK");
+ */
break;
case OPCLASS_ITEM_FUNCTION:
@@ -7215,83 +7247,72 @@ _rewriteFuncWithArgs(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *d
delay_string_append_char(message, str, ")");
}
+
+static void
+_rewritePrivGrantee(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, PrivGrantee *node)
+{
+ if (node->rolname == NULL)
+ delay_string_append_char(message, str, "PUBLIC");
+ else
+ {
+ delay_string_append_char(message, str, "\"");
+ delay_string_append_char(message, str, node->rolname);
+ delay_string_append_char(message, str, "\"");
+ }
+}
+
static void
-_rewritePrivTarget(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, PrivTarget *node)
+_rewriteGrantStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, GrantStmt *node)
{
+ if (node->is_grant == true)
+ delay_string_append_char(message, str, "GRANT ");
+ else
+ {
+ delay_string_append_char(message, str, "REVOKE ");
+ if (node->grant_option == true)
+ delay_string_append_char(message, str, "GRANT OPTION FOR ");
+ }
+
+ _rewritePrivilegeList(BaseSelect, message, dblink, str, node->privileges);
+
+ delay_string_append_char(message, str, " ON ");
+
switch (node->objtype)
{
case ACL_OBJECT_RELATION:
- _rewriteNode(BaseSelect, message, dblink, str, node->objs);
+ _rewriteNode(BaseSelect, message, dblink, str, node->objects);
break;
case ACL_OBJECT_SEQUENCE:
delay_string_append_char(message, str, "SEQUENCE ");
- _rewriteNode(BaseSelect, message, dblink, str, node->objs);
+ _rewriteNode(BaseSelect, message, dblink, str, node->objects);
break;
case ACL_OBJECT_FUNCTION:
delay_string_append_char(message, str, "FUNCTION ");
- _rewriteNode(BaseSelect, message, dblink, str, node->objs);
+ _rewriteNode(BaseSelect, message, dblink, str, node->objects);
break;
case ACL_OBJECT_DATABASE:
delay_string_append_char(message, str, "DATABASE ");
- _rewriteIdList(BaseSelect, message, dblink, str, node->objs);
+ _rewriteIdList(BaseSelect, message, dblink, str, node->objects);
break;
case ACL_OBJECT_LANGUAGE:
delay_string_append_char(message, str, "LANGUAGE ");
- _rewriteIdList(BaseSelect, message, dblink, str, node->objs);
+ _rewriteIdList(BaseSelect, message, dblink, str, node->objects);
break;
case ACL_OBJECT_NAMESPACE:
delay_string_append_char(message, str, "SCHEMA ");
- _rewriteIdList(BaseSelect, message, dblink, str, node->objs);
+ _rewriteIdList(BaseSelect, message, dblink, str, node->objects);
break;
case ACL_OBJECT_TABLESPACE:
delay_string_append_char(message, str, "TABLESPACE ");
- _rewriteIdList(BaseSelect, message, dblink, str, node->objs);
+ _rewriteIdList(BaseSelect, message, dblink, str, node->objects);
break;
}
-}
-
-static void
-_rewritePrivGrantee(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, PrivGrantee *node)
-{
- if (node->rolname == NULL)
- delay_string_append_char(message, str, "PUBLIC");
- else
- {
- delay_string_append_char(message, str, "\"");
- delay_string_append_char(message, str, node->rolname);
- delay_string_append_char(message, str, "\"");
- }
-}
-
-static void
-_rewriteGrantStmt(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, String *str, GrantStmt *node)
-{
- PrivTarget *n;
-
- if (node->is_grant == true)
- delay_string_append_char(message, str, "GRANT ");
- else
- {
- delay_string_append_char(message, str, "REVOKE ");
- if (node->grant_option == true)
- delay_string_append_char(message, str, "GRANT OPTION FOR ");
- }
-
- _rewritePrivilegeList(BaseSelect, message, dblink, str, node->privileges);
-
- delay_string_append_char(message, str, " ON ");
-
- n = makeNode(PrivTarget);
- n->objtype = node->objtype;
- n->objs = node->objects;
- _rewriteNode(BaseSelect, message, dblink, str, n);
- pfree(n);
if (node->is_grant == true)
delay_string_append_char(message, str, " TO ");
@@ -8522,11 +8543,11 @@ _rewriteNode(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, S
case T_IndexElem:
_rewriteIndexElem(BaseSelect, message, dblink, str, obj);
break;
- case T_SortClause:
- _rewriteSortClause(BaseSelect, message, dblink, str, obj);
+ case T_SortGroupClause:
+ _rewriteSortGroupClause(BaseSelect, message, dblink, str, obj);
break;
- case T_GroupClause:
- _rewriteGroupClause(BaseSelect, message, dblink, str, obj);
+ case T_WindowClause:
+ _rewriteWindowClause(BaseSelect, message, dblink, str, obj);
break;
case T_SetOperationStmt:
_rewriteSetOperationStmt(BaseSelect, message, dblink, str, obj);
@@ -8739,10 +8760,6 @@ _rewriteNode(Node *BaseSelect, RewriteQuery *message, ConInfoTodblink *dblink, S
_rewriteGrantStmt(BaseSelect, message, dblink, str, obj);
break;
- case T_PrivTarget:
- _rewritePrivTarget(BaseSelect, message, dblink, str, obj);
- break;
-
case T_FuncWithArgs:
_rewriteFuncWithArgs(BaseSelect, message, dblink, str, obj);
break;
diff --git a/pool_type.h b/pool_type.h
index f281376b5..b3092a24b 100644
--- a/pool_type.h
+++ b/pool_type.h
@@ -6,7 +6,7 @@
* pgpool: a language independent connection pool server for PostgreSQL
* written by Tatsuo Ishii
*
- * Copyright (c) 2003-2008 PgPool Global Development Group
+ * Copyright (c) 2003-2009 PgPool Global Development Group
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose and without fee is hereby
@@ -30,6 +30,20 @@
#include <sys/types.h>
#include <sys/socket.h>
+typedef signed char int8; /* == 8 bits */
+typedef signed short int16; /* == 16 bits */
+typedef signed int int32; /* == 32 bits */
+
+/*
+ * uintN
+ * Unsigned integer, EXACTLY N BITS IN SIZE,
+ * used for numerical computations and the
+ * frontend/backend protocol.
+ */
+typedef unsigned char uint8; /* == 8 bits */
+typedef unsigned short uint16; /* == 16 bits */
+typedef unsigned int uint32; /* == 32 bits */
+
/* Define common boolean type. C++ and BEOS already has it so exclude them. */
#ifdef c_plusplus
#ifndef __cplusplus
diff --git a/test/parser/Makefile b/test/parser/Makefile
index 90d7157a4..24adfb05b 100644
--- a/test/parser/Makefile
+++ b/test/parser/Makefile
@@ -2,7 +2,7 @@
PROGRAM=parser-test
PGPOOL_SRC=../../parser
-PARSER_OBJS=gram.o parser.o pool_string.o list.o makefuncs.o value.o nodes.o pool_memory.o main.o keywords.o outfuncs.o
+PARSER_OBJS=gram.o parser.o pool_string.o list.o makefuncs.o value.o nodes.o pool_memory.o main.o keywords.o outfuncs.o copyfuncs.o kwlookup.o
all: $(PROGRAM)
@@ -61,6 +61,12 @@ scan.c : $(PGPOOL_SRC)/scan.l
pool_memory.o: $(PGPOOL_SRC)/pool_memory.c $(PGPOOL_SRC)/pool_memory.h
gcc -Wall -c -g -include pool.h -I. -I $(PGPOOL_SRC) $<
+copyfuncs.o: $(PGPOOL_SRC)/copyfuncs.c
+ gcc -Wall -c -g -include pool.h -I. -I $(PGPOOL_SRC) $<
+
+kwlookup.o: $(PGPOOL_SRC)/kwlookup.c
+ gcc -Wall -c -g -include pool.h -I. -I $(PGPOOL_SRC) $<
+
test: $(PROGRAM)
./run-test parse_schedule
diff --git a/test/parser/expected/copy.out b/test/parser/expected/copy.out
index bec9f61a9..9072d770b 100644
--- a/test/parser/expected/copy.out
+++ b/test/parser/expected/copy.out
@@ -12,4 +12,4 @@ COPY "t" TO 'yyy' BINARY
COPY "t" TO 'yyy' OIDS
COPY "t" TO 'yyy' DELIMITERS ','
COPY "t" TO 'yyy' NULL 'x'
-COPY ( SELECT "*" FROM "t") TO 'xxx'
+COPY ( SELECT * FROM "t") TO 'xxx'
diff --git a/test/parser/expected/create.out b/test/parser/expected/create.out
index 79dfe0a49..48116c8f7 100644
--- a/test/parser/expected/create.out
+++ b/test/parser/expected/create.out
@@ -1,9 +1,9 @@
-CREATE TABLE "foo" ("a" "int4","b" "text")
-CREATE TABLE "foo" ("a" "int4","b" "text") INHERITS ("bar")
-CREATE TABLE "foo" ("a" "int4","b" "text") INHERITS ("a","b","c","d")
-CREATE TABLE "foo" ("a" "int4","b" "numeric") WITH OIDS
-CREATE TABLE "foo" ("a" "int4","b" "numeric") WITHOUT OIDS
-CREATE TABLE "foo" ("a" "int4","b" "numeric") WITH ("fillfactor"=10)
+CREATE TABLE "foo" ("a" int4,"b" "text")
+CREATE TABLE "foo" ("a" int4,"b" "text") INHERITS ("bar")
+CREATE TABLE "foo" ("a" int4,"b" "text") INHERITS ("a","b","c","d")
+CREATE TABLE "foo" ("a" int4,"b" numeric) WITH OIDS
+CREATE TABLE "foo" ("a" int4,"b" numeric) WITHOUT OIDS
+CREATE TABLE "foo" ("a" int4,"b" numeric) WITH ("fillfactor"=10)
CREATE TABLE "foo" ("a" ,"b" ) AS SELECT 1,2
CREATE TABLE "foo" ("a" ,"b" ) WITH OIDS AS SELECT 1,2
CREATE TABLE "foo" ("a" ,"b" ) WITHOUT OIDS AS SELECT 1,2
@@ -16,26 +16,26 @@ CREATE TABLE "foo" ("a" ,"b" ) ON COMMIT DROP AS SELECT 1,2
CREATE TABLE "foo" ("a" ,"b" ) ON COMMIT DELETE ROWS AS SELECT 1,2
CREATE TABLE "foo" ("a" ,"b" ) ON COMMIT PRESERVE ROWS AS SELECT 1,2
CREATE TABLE "foo" ("a" ,"b" ) ON COMMIT PRESERVE ROWS AS SELECT 1,2
-CREATE TABLE "foo" ("a" "int4",LIKE "a" INCLUDING DEFAULTS)
-CREATE TABLE "foo" ("a" "int4",LIKE "a" INCLUDING CONSTRAINTS)
-CREATE TABLE "foo" ("a" "int4",LIKE "a" EXCLUDING DEFAULTS)
-CREATE TABLE "foo" ("a" "int4",LIKE "a" EXCLUDING CONSTRAINTS)
-CREATE TABLE "foo" ("a" "int4" UNIQUE)
-CREATE TABLE "foo" ("a" "int4" UNIQUE WITH ("fillfactor"=10))
-CREATE TABLE "foo" ("a" "int4" PRIMARY KEY)
-CREATE TABLE "foo" ("a" "int4" CHECK ( ("a">100 )))
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c"))
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") MATCH FULL)
+CREATE TABLE "foo" ("a" int4,LIKE "a" INCLUDING DEFAULTS)
+CREATE TABLE "foo" ("a" int4,LIKE "a" INCLUDING CONSTRAINTS)
+CREATE TABLE "foo" ("a" int4,LIKE "a" EXCLUDING DEFAULTS)
+CREATE TABLE "foo" ("a" int4,LIKE "a" EXCLUDING CONSTRAINTS)
+CREATE TABLE "foo" ("a" int4 UNIQUE)
+CREATE TABLE "foo" ("a" int4 UNIQUE WITH ("fillfactor"=10))
+CREATE TABLE "foo" ("a" int4 PRIMARY KEY)
+CREATE TABLE "foo" ("a" int4 CHECK ( ("a">100 )))
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c"))
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") MATCH FULL)
syntax error: CREATE TABLE foo (a int references b(c) MATCH PARTIAL)
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c"))
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") ON UPDATE RESTRICT)
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") ON UPDATE CASCADE)
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") ON UPDATE SET NULL)
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") ON UPDATE SET DEFAULT)
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") ON DELETE RESTRICT)
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") ON DELETE CASCADE)
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") ON DELETE SET NULL)
-CREATE TABLE "foo" ("a" "int4" REFERENCES "b"("c") ON DELETE SET DEFAULT)
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c"))
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") ON UPDATE RESTRICT)
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") ON UPDATE CASCADE)
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") ON UPDATE SET NULL)
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") ON UPDATE SET DEFAULT)
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") ON DELETE RESTRICT)
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") ON DELETE CASCADE)
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") ON DELETE SET NULL)
+CREATE TABLE "foo" ("a" int4 REFERENCES "b"("c") ON DELETE SET DEFAULT)
CREATE TYPE "enum_test" AS ENUM ('label1','label2')
syntax error: CREATE TYPE enum_test AS ENUM ();
syntax error: CREATE TYPE enum_test AS ENUM;
diff --git a/test/parser/expected/cursor.out b/test/parser/expected/cursor.out
index d4a344ba7..98d65c28f 100644
--- a/test/parser/expected/cursor.out
+++ b/test/parser/expected/cursor.out
@@ -1,9 +1,9 @@
-DECLARE "xx" CURSOR FOR SELECT "*" FROM "t"
-DECLARE "xx" BINARY CURSOR FOR SELECT "*" FROM "t"
-DECLARE "xx" INSENSITIVE CURSOR FOR SELECT "*" FROM "t"
-DECLARE "xx" SCROLL CURSOR FOR SELECT "*" FROM "t"
-DECLARE "xx" CURSOR WITH HOLD FOR SELECT "*" FROM "t"
-DECLARE "xx" CURSOR FOR SELECT "*" FROM "t"
+DECLARE "xx" CURSOR FOR SELECT * FROM "t"
+DECLARE "xx" BINARY CURSOR FOR SELECT * FROM "t"
+DECLARE "xx" INSENSITIVE CURSOR FOR SELECT * FROM "t"
+DECLARE "xx" SCROLL CURSOR FOR SELECT * FROM "t"
+DECLARE "xx" CURSOR WITH HOLD FOR SELECT * FROM "t"
+DECLARE "xx" CURSOR FOR SELECT * FROM "t"
CLOSE "xx"
FETCH FORWARD 1 IN "xx"
FETCH FORWARD 1 IN "xx"
diff --git a/test/parser/expected/delete.out b/test/parser/expected/delete.out
index 5f59db3a7..56c3c19d7 100644
--- a/test/parser/expected/delete.out
+++ b/test/parser/expected/delete.out
@@ -2,8 +2,8 @@ DELETE FROM "t"
syntax error: DELETE ;
DELETE FROM "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
DELETE FROM "t" WHERE ("x"=3 )
-DELETE FROM "t" WHERE "x" IN ( SELECT "*" FROM "t1")
-DELETE FROM "foo" WHERE ("a"=1 ) RETURNING "*"
+DELETE FROM "t" WHERE "x" IN ( SELECT * FROM "t1")
+DELETE FROM "foo" WHERE ("a"=1 ) RETURNING *
DELETE FROM "foo" WHERE ("a"=1 ) RETURNING "a"
DELETE FROM "foo" WHERE ("a"=1 ) RETURNING "a","b"
DELETE FROM "foo" WHERE CURRENT OF $1
diff --git a/test/parser/expected/insert.out b/test/parser/expected/insert.out
index 1665ce453..cbd7ccfad 100644
--- a/test/parser/expected/insert.out
+++ b/test/parser/expected/insert.out
@@ -4,9 +4,9 @@ INSERT INTO "t"("a", "b", "c") VALUES (2,2)
INSERT INTO "t"("a", "b", "c") VALUES (2,2,3)
INSERT INTO "t"("a", "b", "c") VALUES (2,DEFAULT,'3')
INSERT INTO "t" DEFAULT VALUES
-INSERT INTO "t" SELECT "*" FROM "t"
+INSERT INTO "t" SELECT * FROM "t"
INSERT INTO "t" VALUES ("func"("x","y"))
INSERT INTO "t"("a", "b", "c") VALUES (2,DEFAULT,'''\\')
-INSERT INTO "foo"("a", "b") VALUES (1,2) RETURNING "*"
+INSERT INTO "foo"("a", "b") VALUES (1,2) RETURNING *
INSERT INTO "foo"("a", "b") VALUES (1,2) RETURNING "a"
INSERT INTO "foo"("a", "b") VALUES (1,2) RETURNING "a","b"
diff --git a/test/parser/expected/misc.out b/test/parser/expected/misc.out
index 668af4764..056d1f07b 100644
--- a/test/parser/expected/misc.out
+++ b/test/parser/expected/misc.out
@@ -8,9 +8,9 @@ ANALYZE ANALYZE
ANALYZE VERBOSE ANALYZE
ANALYZE VERBOSE ANALYZE "x"
ANALYZE VERBOSE ANALYZE "x"("a", "b", "c")
-EXPLAIN SELECT "*" FROM "t"
-EXPLAIN ANALYZE SELECT "*" FROM "t"
-EXPLAIN ANALYZE VERBOSE SELECT "*" FROM "t"
+EXPLAIN SELECT * FROM "t"
+EXPLAIN ANALYZE SELECT * FROM "t"
+EXPLAIN ANALYZE VERBOSE SELECT * FROM "t"
REINDEX INDEX "x"
REINDEX INDEX "x"
REINDEX TABLE "x"
diff --git a/test/parser/expected/prepare.out b/test/parser/expected/prepare.out
index 32772ccd8..de995fe86 100644
--- a/test/parser/expected/prepare.out
+++ b/test/parser/expected/prepare.out
@@ -1,4 +1,4 @@
-PREPARE "xx" ("int4","text") AS INSERT INTO "foo" VALUES ($1,$2)
+PREPARE "xx" (int4,"text") AS INSERT INTO "foo" VALUES ($1,$2)
EXECUTE "xx" (1,'xxx')
DEALLOCATE "xx"
DEALLOCATE "xx"
diff --git a/test/parser/expected/privileges.out b/test/parser/expected/privileges.out
index 63c1b2474..23dc2af92 100644
--- a/test/parser/expected/privileges.out
+++ b/test/parser/expected/privileges.out
@@ -6,7 +6,7 @@ GRANT ALL ON "t1","t2" TO "x"
GRANT create ON DATABASE "db1", "db2" TO "x","y"
GRANT temporary ON DATABASE "db1", "db2" TO "x","y"
GRANT temp ON DATABASE "db1", "db2" TO "x","y"
-GRANT execute ON FUNCTION "func"("int4","text") TO "x","y"
+GRANT execute ON FUNCTION "func"(int4,"text") TO "x","y"
GRANT usage ON LANGUAGE "lang" TO "x","y"
GRANT create ON SCHEMA "s" TO "x","y"
GRANT usage ON SCHEMA "s" TO "x","y"
diff --git a/test/parser/expected/select.out b/test/parser/expected/select.out
index 29b4cae5e..e399d51c7 100644
--- a/test/parser/expected/select.out
+++ b/test/parser/expected/select.out
@@ -1,5 +1,5 @@
SELECT 1
- SELECT "*" FROM "t"
+ SELECT * FROM "t"
SELECT "x" FROM "a"
SELECT "x"."y" FROM "a"
SELECT "x" FROM "a"."b"
@@ -10,12 +10,12 @@ syntax error: SELECT * FROM (SELECT * FROM foo);
SELECT "x" FROM "a" AS "b"
SELECT "a" AS "tttttttttttttttttttttttttttttttttttttttttttttttttttttttt" ,"b" AS "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu" FROM "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
syntax error: SELECT ;
- SELECT "*" FROM "t" FOR UPDATE
- SELECT "*" FROM "t" FOR SHARED
- SELECT DISTINCT "*" FROM "t"
+ SELECT * FROM "t" FOR UPDATE
+ SELECT * FROM "t" FOR SHARED
+ SELECT DISTINCT * FROM "t"
SELECT DISTINCT ON ("x" ) "x" FROM "t"
SELECT DISTINCT ON ("foo"("x") ) "x" FROM "t"
- SELECT "*" FROM "t"
+ SELECT * FROM "t"
SELECT "x" FROM "t" WHERE ("x">3 )
SELECT "count"(*) FROM "t" GROUP BY "x" HAVING ("x">111 )
SELECT "count"(*) FROM "t" GROUP BY "x" HAVING ("x">111 ) ORDER BY "y"
@@ -23,66 +23,66 @@ syntax error: SELECT ;
SELECT "count"(*) FROM "t" GROUP BY "x" HAVING ("x">111 ) ORDER BY "y"
SELECT "x" FROM "t" LIMIT ALL
SELECT "x" FROM "t" LIMIT 1
- SELECT "*" FROM "t" OFFSET 1
- SELECT "*" FROM "t" OFFSET 1 LIMIT 2
- SELECT "*" FROM "t" OFFSET 1 LIMIT 2
- SELECT "*" FROM "t" LEFT OUTER JOIN "t1" ON ("x"="y" )
- SELECT "*" FROM "t" RIGHT OUTER JOIN "t1" ON ("x"="y" )
- SELECT "*" FROM "t" FULL OUTER JOIN "t1" ON ("x"="y" )
- SELECT "*" FROM "t" LEFT OUTER JOIN "t1" USING("x")
- SELECT "*" FROM "t" RIGHT OUTER JOIN "t1" USING("x")
- SELECT "*" FROM "t" FULL OUTER JOIN "t1" USING("x")
- SELECT "*" FROM "t" JOIN "t1" ON "x"
- SELECT "*" FROM "t" NATURAL LEFT OUTER JOIN "t1"
- SELECT "*" FROM "t" NATURAL RIGHT OUTER JOIN "t1"
- SELECT "*" FROM "t" NATURAL FULL OUTER JOIN "t1"
- SELECT "*" FROM "t" WHERE "a" IS NULL
- SELECT "*" FROM "t" WHERE "a" IS NOT NULL
- SELECT "*" FROM "t" WHERE ("a"~~'abc' )
- SELECT "*" FROM "t" WHERE ("a"!~~'abc' )
- SELECT "*" FROM "t" WHERE ( ("a">=1 ) AND ("a"<=4 ))
- SELECT "*" FROM "t" WHERE "a" IN (1,2,3,4)
- SELECT "*" FROM "t" WHERE "a" NOT IN (1,2,3,4)
- SELECT "*" FROM "t" WHERE EXISTS ( SELECT "*" FROM "tt")
- SELECT "*" FROM "t" WHERE (NOT EXISTS ( SELECT "*" FROM "tt"))
-( SELECT "*" FROM "t1") UNION ( SELECT "*" FROM "t2")
-( SELECT "*" FROM "t1") UNION ALL ( SELECT "*" FROM "t2")
-( SELECT "*" FROM "t1") INTERSECT ( SELECT "*" FROM "t2")
-( SELECT "*" FROM "t1") INTERSECT ALL ( SELECT "*" FROM "t2")
-( SELECT "*" FROM "t1") EXCEPT ( SELECT "*" FROM "t2")
-( SELECT "*" FROM "t1") EXCEPT ALL ( SELECT "*" FROM "t2")
-CREATE TABLE "x" AS SELECT "*" FROM "t"
- SELECT "*" FROM "t1" WHERE "i"<> ALL ( SELECT "i" FROM "t2")
-( SELECT "*" FROM "t1") UNION ALL ( SELECT "*" FROM "t2") ORDER BY "a"
-( SELECT "*" FROM "t1") UNION ALL ( SELECT "*" FROM "t2" ORDER BY "a")
- SELECT "max"("i")::"int4" FROM "test"
- SELECT "max"("i")::"int4" FROM "test" WHERE ("a"='aaa''bbb\\ccc' )
- SELECT "max"("i")::"int4" FROM "test" WHERE ("a"='aaa''bbb\\ccc' )
- SELECT "*" FROM "t" WHERE 1=ANY("arr")
- SELECT "*" FROM "t" WHERE 1=ALL("arr")
- SELECT "*" FROM "t" WHERE 1 IS OF ("int4")
- SELECT "*" FROM "t" WHERE 1 IS OF ("int4")
- SELECT "*" FROM "t" WHERE "a" IN ('a','b',1)
- SELECT "*" FROM "t" WHERE "a" NOT IN ('a','b',1)
- SELECT "*" FROM "t" WHERE "a" IS DOCUMENT
- SELECT "*" FROM "t" WHERE (NOT "a" IS DOCUMENT)
+ SELECT * FROM "t" OFFSET 1
+ SELECT * FROM "t" OFFSET 1 LIMIT 2
+ SELECT * FROM "t" OFFSET 1 LIMIT 2
+ SELECT * FROM "t" LEFT OUTER JOIN "t1" ON ("x"="y" )
+ SELECT * FROM "t" RIGHT OUTER JOIN "t1" ON ("x"="y" )
+ SELECT * FROM "t" FULL OUTER JOIN "t1" ON ("x"="y" )
+ SELECT * FROM "t" LEFT OUTER JOIN "t1" USING("x")
+ SELECT * FROM "t" RIGHT OUTER JOIN "t1" USING("x")
+ SELECT * FROM "t" FULL OUTER JOIN "t1" USING("x")
+ SELECT * FROM "t" JOIN "t1" ON "x"
+ SELECT * FROM "t" NATURAL LEFT OUTER JOIN "t1"
+ SELECT * FROM "t" NATURAL RIGHT OUTER JOIN "t1"
+ SELECT * FROM "t" NATURAL FULL OUTER JOIN "t1"
+ SELECT * FROM "t" WHERE "a" IS NULL
+ SELECT * FROM "t" WHERE "a" IS NOT NULL
+ SELECT * FROM "t" WHERE ("a"~~'abc' )
+ SELECT * FROM "t" WHERE ("a"!~~'abc' )
+ SELECT * FROM "t" WHERE ( ("a">=1 ) AND ("a"<=4 ))
+ SELECT * FROM "t" WHERE "a" IN (1,2,3,4)
+ SELECT * FROM "t" WHERE "a" NOT IN (1,2,3,4)
+ SELECT * FROM "t" WHERE EXISTS ( SELECT * FROM "tt")
+ SELECT * FROM "t" WHERE (NOT EXISTS ( SELECT * FROM "tt"))
+( SELECT * FROM "t1") UNION ( SELECT * FROM "t2")
+( SELECT * FROM "t1") UNION ALL ( SELECT * FROM "t2")
+( SELECT * FROM "t1") INTERSECT ( SELECT * FROM "t2")
+( SELECT * FROM "t1") INTERSECT ALL ( SELECT * FROM "t2")
+( SELECT * FROM "t1") EXCEPT ( SELECT * FROM "t2")
+( SELECT * FROM "t1") EXCEPT ALL ( SELECT * FROM "t2")
+CREATE TABLE "x" AS SELECT * FROM "t"
+ SELECT * FROM "t1" WHERE "i"<> ALL ( SELECT "i" FROM "t2")
+( SELECT * FROM "t1") UNION ALL ( SELECT * FROM "t2") ORDER BY "a"
+( SELECT * FROM "t1") UNION ALL ( SELECT * FROM "t2" ORDER BY "a")
+ SELECT "max"("i")::int4 FROM "test"
+ SELECT "max"("i")::int4 FROM "test" WHERE ("a"='aaa''bbb\\ccc' )
+ SELECT "max"("i")::int4 FROM "test" WHERE ("a"='aaa''bbb\\ccc' )
+ SELECT * FROM "t" WHERE 1=ANY("arr")
+ SELECT * FROM "t" WHERE 1=ALL("arr")
+ SELECT * FROM "t" WHERE 1 IS OF (int4)
+ SELECT * FROM "t" WHERE 1 IS OF (int4)
+ SELECT * FROM "t" WHERE "a" IN ('a','b',1)
+ SELECT * FROM "t" WHERE "a" NOT IN ('a','b',1)
+ SELECT * FROM "t" WHERE "a" IS DOCUMENT
+ SELECT * FROM "t" WHERE (NOT "a" IS DOCUMENT)
SELECT XMLCONCAT ("a","b")
SELECT XMLELEMENT (NAME "a")
SELECT XMLELEMENT (NAME "a","b","c")
SELECT XMLFOREST ("a")
SELECT XMLPARSE (DOCUMENT 1)
SELECT XMLPARSE (DOCUMENT 1 PRESERVE WHITESPACE)
- SELECT "day" '1900-1-1'
- SELECT "interval" '1 year'
- SELECT "interval" '1 year' YEAR
- SELECT "interval" '1 year' MONTH
- SELECT "interval" '1 year' DAY
- SELECT "interval" '1 year' HOUR
- SELECT "interval" '1 year' MINUTE
- SELECT "interval" '1 year' SECOND
- SELECT "interval" '1 year' YEAR TO MONTH
- SELECT "interval" '1 year' DAY TO HOUR
- SELECT "interval" '1 year' DAY TO MINUTE
- SELECT "interval" '1 year' DAY TO SECOND
- SELECT "interval" '1 year' HOUR TO MINUTE
- SELECT "interval" '1 year' HOUR TO SECOND
+ SELECT '1900-1-1'::"day"
+ SELECT '1 year'::interval
+ SELECT '1 year'::interval YEAR
+ SELECT '1 year'::interval MONTH
+ SELECT '1 year'::interval DAY
+ SELECT '1 year'::interval HOUR
+ SELECT '1 year'::interval MINUTE
+ SELECT '1 year'::interval SECOND
+ SELECT '1 year'::interval YEAR TO MONTH
+ SELECT '1 year'::interval DAY TO HOUR
+ SELECT '1 year'::interval DAY TO MINUTE
+ SELECT '1 year'::interval DAY TO SECOND
+ SELECT '1 year'::interval HOUR TO MINUTE
+ SELECT '1 year'::interval HOUR TO SECOND
diff --git a/test/parser/expected/update.out b/test/parser/expected/update.out
index 82128348c..fb2cf7b95 100644
--- a/test/parser/expected/update.out
+++ b/test/parser/expected/update.out
@@ -4,7 +4,7 @@ UPDATE "t" SET "a" = 1 FROM "x"
UPDATE "t" SET "a" = 1 FROM "x","y","z"
UPDATE "t" SET "a" = 1 FROM "x" WHERE ( ("x"<100 ) AND ("y">200 ))
UPDATE "t" SET "a" = 1
-UPDATE "foo" SET "a" = 1 RETURNING "*"
+UPDATE "foo" SET "a" = 1 RETURNING *
UPDATE "foo" SET "a" = 1 RETURNING "a"
UPDATE "foo" SET "a" = 1 RETURNING "a","b"
UPDATE "foo" SET "a" = 1 WHERE CURRENT OF $1
[parent: ab8b33ca9a9b]