1
/* A Bison parser, made by GNU Bison 1.875c. */
3
/* Skeleton parser for Yacc-like parsing with Bison,
4
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
16
You should have received a copy of the GNU General Public License
17
along with this program; if not, write to the Free Software
18
Foundation, Inc., 59 Temple Place - Suite 330,
19
Boston, MA 02111-1307, USA. */
21
/* As a special exception, when this file is copied by Bison into a
22
Bison output file, you may use that output file without restriction.
23
This special exception was added by the Free Software Foundation
24
in version 1.24 of Bison. */
26
/* Written by Richard Stallman by simplifying the original so called
27
``semantic'' parser. */
29
/* All symbols defined below should begin with yy or YY, to avoid
30
infringing on user name space. This should be done even for local
31
variables, as they might otherwise be expanded by user macros.
32
There are some unavoidable exceptions within include files to
33
define necessary library symbols; they are noted "INFRINGES ON
34
USER NAME SPACE" below. */
36
/* Identify Bison output. */
40
#define YYSKELETON_NAME "yacc.c"
45
/* Using locations. */
46
#define YYLSP_NEEDED 0
53
/* Put the tokens into the symbol table, so that GDB and other debuggers
97
CHARACTERISTICS = 299,
124
CURRENT_TIMESTAMP = 326,
228
LOCALTIMESTAMP = 430,
405
#define ABSOLUTE_P 259
411
#define AGGREGATE 265
422
#define ASSERTION 276
423
#define ASSIGNMENT 277
424
#define ASYMMETRIC 278
426
#define AUTHORIZATION 280
434
#define BOOLEAN_P 288
444
#define CHARACTER 298
445
#define CHARACTERISTICS 299
447
#define CHECKPOINT 301
456
#define COMMITTED 310
457
#define CONNECTION 311
458
#define CONSTRAINT 312
459
#define CONSTRAINTS 313
460
#define CONVERSION_P 314
465
#define CREATEROLE 319
466
#define CREATEUSER 320
469
#define CURRENT_DATE 323
470
#define CURRENT_ROLE 324
471
#define CURRENT_TIME 325
472
#define CURRENT_TIMESTAMP 326
473
#define CURRENT_USER 327
478
#define DEALLOCATE 332
480
#define DECIMAL_P 334
484
#define DEFERRABLE 338
488
#define DELIMITER 342
489
#define DELIMITERS 343
491
#define DISABLE_P 345
501
#define ENCRYPTED 355
505
#define EXCLUDING 359
506
#define EXCLUSIVE 360
535
#define IMMEDIATE 389
536
#define IMMUTABLE 390
537
#define IMPLICIT_P 391
539
#define INCLUDING 393
540
#define INCREMENT 394
544
#define INITIALLY 398
548
#define INSENSITIVE 402
553
#define INTERSECT 407
559
#define ISOLATION 413
562
#define LANCOMPILER 416
575
#define LOCALTIME 429
576
#define LOCALTIMESTAMP 430
594
#define NOCREATEDB 448
595
#define NOCREATEROLE 449
596
#define NOCREATEUSER 450
597
#define NOINHERIT 451
598
#define NOLOGIN_P 452
600
#define NOSUPERUSER 454
630
#define PRECISION 484
636
#define PRIVILEGES 490
637
#define PROCEDURAL 491
638
#define PROCEDURE 492
643
#define REFERENCES 497
645
#define RELATIVE_P 499
648
#define REPEATABLE 502
661
#define SAVEPOINT 515
668
#define SERIALIZABLE 522
670
#define SESSION_USER 524
681
#define STATEMENT 535
682
#define STATISTICS 536
687
#define SUBSTRING 541
688
#define SUPERUSER_P 542
689
#define SYMMETRIC 543
693
#define TABLESPACE 547
696
#define TEMPORARY 550
699
#define TIMESTAMP 553
703
#define TRANSACTION 557
711
#define UNCOMMITTED 565
712
#define UNENCRYPTED 566
723
#define VALIDATOR 577
738
#define UNIONJOIN 592
747
#define POSTFIXOP 601
754
/* Copy the first part of user declarations. */
758
/*#define YYDEBUG 1*/
759
/*-------------------------------------------------------------------------
762
* POSTGRES SQL YACC rules/actions
764
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
765
* Portions Copyright (c) 1994, Regents of the University of California
769
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.511.2.2 2006/01/31 22:40:12 tgl Exp $
772
* AUTHOR DATE MAJOR EVENT
773
* Andrew Yu Sept, 1994 POSTQUEL to SQL conversion
774
* Andrew Yu Oct, 1994 lispy code conversion
777
* CAPITALS are used to represent terminal symbols.
778
* non-capitals are used to represent non-terminals.
779
* SQL92-specific syntax is separated from plain SQL/Postgres syntax
780
* to help isolate the non-extensible portions of the parser.
782
* In general, nothing in this file should initiate database accesses
783
* nor depend on changeable state (such as SET variables). If you do
784
* database accesses, your code will fail when we have aborted the
785
* current transaction and are just parsing commands to find the next
786
* ROLLBACK or COMMIT. If you make use of SET variables, then you
787
* will do the wrong thing in multi-query strings like this:
788
* SET SQL_inheritance TO off; SELECT * FROM foo;
789
* because the entire string is parsed by gram.y before the SET gets
790
* executed. Anything that depends on the database or changeable state
791
* should be handled inside parse_analyze() so that it happens at the
792
* right time not the wrong time. The handling of SQL_inheritance is
796
* If you use a list, make sure the datum is a node so that the printing
799
* Sometimes we assign constants to makeStrings. Make sure we don't free
802
*-------------------------------------------------------------------------
804
#include "pool_parser.h"
811
#include "pool_memory.h"
812
#include "gramparse.h"
813
#include "makefuncs.h"
815
#define yylex sql_yylex
820
List *parsetree; /* final parse result is delivered here */
822
static bool QueryIsRule = FALSE;
824
extern TypeName *SystemTypeName(char *name);
825
extern List *SystemFuncName(char *name);
826
extern char *NameListToQuotedString(List *names);
827
extern void yyerror(const char *s);
830
* If you need access to certain yacc-generated variables and find that
831
* they're static by default, uncomment the next line. (this is not a
834
/*#define __YYSCLASS*/
836
static Node *makeColumnRef(char *relname, List *indirection);
837
static Node *makeTypeCast(Node *arg, TypeName *typename);
838
static Node *makeStringConst(char *str, TypeName *typename);
839
static Node *makeIntConst(int val);
840
static Node *makeFloatConst(char *str);
841
static Node *makeAConst(Value *v);
842
static Node *makeRowNullTest(NullTestType test, RowExpr *row);
843
static DefElem *makeDefElem(char *name, Node *arg);
844
static A_Const *makeBoolAConst(bool state);
845
static FuncCall *makeOverlaps(List *largs, List *rargs);
846
static void check_qualified_name(List *names);
847
static List *check_func_name(List *names);
848
static List *extractArgTypes(List *parameters);
849
static SelectStmt *findLeftmostSelect(SelectStmt *node);
850
static void insertSelectOptions(SelectStmt *stmt,
851
List *sortClause, Node *lockingClause,
852
Node *limitOffset, Node *limitCount);
853
static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
854
static Node *doNegate(Node *n);
855
static void doNegateFloat(Value *v);
859
/* Enabling traces. */
864
/* Enabling verbose error messages. */
865
#ifdef YYERROR_VERBOSE
866
# undef YYERROR_VERBOSE
867
# define YYERROR_VERBOSE 1
869
# define YYERROR_VERBOSE 0
872
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
874
typedef union YYSTYPE {
881
DropBehavior dbehavior;
882
OnCommitAction oncommit;
883
ContainsOids withoids;
890
FunctionParameter *fun_param;
891
FunctionParameterMode fun_param_mode;
892
FuncWithArgs *funwithargs;
901
PrivTarget *privtarget;
904
VariableSetStmt *vsetstmt;
906
/* Line 191 of yacc.c. */
908
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
909
# define YYSTYPE_IS_DECLARED 1
910
# define YYSTYPE_IS_TRIVIAL 1
915
/* Copy the second part of user declarations. */
918
/* Line 214 of yacc.c. */
921
#if ! defined (yyoverflow) || YYERROR_VERBOSE
927
# define YYMALLOC malloc
930
/* The parser invokes alloca or malloc; define the necessary symbols. */
932
# ifdef YYSTACK_USE_ALLOCA
933
# if YYSTACK_USE_ALLOCA
934
# define YYSTACK_ALLOC alloca
937
# if defined (alloca) || defined (_ALLOCA_H)
938
# define YYSTACK_ALLOC alloca
941
# define YYSTACK_ALLOC __builtin_alloca
946
# ifdef YYSTACK_ALLOC
947
/* Pacify GCC's `empty if-body' warning. */
948
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
950
# if defined (__STDC__) || defined (__cplusplus)
951
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
952
# define YYSIZE_T size_t
954
# define YYSTACK_ALLOC YYMALLOC
955
# define YYSTACK_FREE YYFREE
957
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
960
#if (! defined (yyoverflow) \
961
&& (! defined (__cplusplus) \
962
|| (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
964
/* A type that is properly aligned for any stack member. */
971
/* The size of the maximum gap between one aligned stack and the next. */
972
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
974
/* The size of an array large to enough to hold all stacks, each with
976
# define YYSTACK_BYTES(N) \
977
((N) * (sizeof (short) + sizeof (YYSTYPE)) \
978
+ YYSTACK_GAP_MAXIMUM)
980
/* Copy COUNT objects from FROM to TO. The source and destination do
983
# if defined (__GNUC__) && 1 < __GNUC__
984
# define YYCOPY(To, From, Count) \
985
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
987
# define YYCOPY(To, From, Count) \
990
register YYSIZE_T yyi; \
991
for (yyi = 0; yyi < (Count); yyi++) \
992
(To)[yyi] = (From)[yyi]; \
998
/* Relocate STACK from its old location to the new one. The
999
local variables YYSIZE and YYSTACKSIZE give the old and new number of
1000
elements in the stack, and YYPTR gives the new location of the
1001
stack. Advance YYPTR to a properly aligned location for the next
1003
# define YYSTACK_RELOCATE(Stack) \
1006
YYSIZE_T yynewbytes; \
1007
YYCOPY (&yyptr->Stack, Stack, yysize); \
1008
Stack = &yyptr->Stack; \
1009
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1010
yyptr += yynewbytes / sizeof (*yyptr); \
1016
#if defined (__STDC__) || defined (__cplusplus)
1017
typedef signed char yysigned_char;
1019
typedef short yysigned_char;
1022
/* YYFINAL -- State number of the termination state. */
1024
/* YYLAST -- Last index in YYTABLE. */
1025
#define YYLAST 34910
1027
/* YYNTOKENS -- Number of terminals. */
1028
#define YYNTOKENS 366
1029
/* YYNNTS -- Number of nonterminals. */
1031
/* YYNRULES -- Number of rules. */
1032
#define YYNRULES 1613
1033
/* YYNRULES -- Number of states. */
1034
#define YYNSTATES 2807
1036
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1037
#define YYUNDEFTOK 2
1038
#define YYMAXUTOK 603
1040
#define YYTRANSLATE(YYX) \
1041
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1043
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1044
static const unsigned short yytranslate[] =
1046
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1047
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1048
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1049
2, 2, 2, 2, 2, 2, 2, 354, 2, 2,
1050
359, 360, 352, 350, 364, 351, 362, 353, 2, 2,
1051
2, 2, 2, 2, 2, 2, 2, 2, 365, 363,
1052
347, 346, 348, 2, 2, 2, 2, 2, 2, 2,
1053
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1054
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1055
2, 357, 2, 358, 355, 2, 2, 2, 2, 2,
1056
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1057
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1058
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1059
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1060
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1061
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1062
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1063
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1064
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1065
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1066
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1067
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1068
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1069
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1070
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1071
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1072
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1073
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1074
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1075
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1076
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1077
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1078
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1079
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1080
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1081
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1082
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1083
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1084
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1085
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1086
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1087
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1088
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1089
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1090
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1091
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1092
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1093
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1094
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1095
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1096
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1097
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1098
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1099
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1100
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1101
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1102
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1103
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1104
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1105
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1110
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1112
static const unsigned short yyprhs[] =
1114
0, 0, 3, 5, 9, 11, 13, 15, 17, 19,
1115
21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
1116
41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
1117
61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
1118
81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
1119
101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
1120
121, 123, 125, 127, 129, 131, 133, 135, 137, 139,
1121
141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
1122
161, 163, 165, 167, 169, 171, 173, 175, 177, 178,
1123
184, 186, 187, 190, 191, 194, 198, 202, 204, 206,
1124
208, 210, 212, 214, 216, 218, 220, 222, 224, 226,
1125
230, 234, 237, 240, 243, 246, 250, 254, 260, 266,
1126
272, 277, 283, 289, 294, 298, 302, 308, 315, 317,
1127
319, 323, 330, 335, 337, 338, 341, 342, 344, 346,
1128
348, 350, 352, 354, 357, 361, 365, 369, 373, 377,
1129
380, 386, 389, 392, 396, 400, 402, 406, 408, 410,
1130
412, 416, 418, 420, 422, 425, 428, 431, 433, 435,
1131
437, 439, 441, 443, 445, 449, 456, 458, 460, 462,
1132
464, 466, 467, 469, 471, 474, 478, 483, 487, 490,
1133
493, 497, 502, 506, 509, 514, 516, 518, 520, 522,
1134
524, 529, 534, 536, 540, 544, 549, 556, 563, 570,
1135
577, 582, 589, 592, 597, 601, 605, 609, 613, 617,
1136
621, 625, 629, 633, 637, 639, 641, 645, 649, 653,
1137
657, 660, 662, 664, 665, 668, 669, 672, 683, 685,
1138
687, 689, 691, 693, 696, 697, 699, 701, 705, 709,
1139
711, 713, 717, 721, 725, 730, 732, 733, 736, 737,
1140
741, 742, 744, 745, 757, 770, 772, 774, 777, 780,
1141
783, 786, 787, 789, 790, 792, 796, 798, 800, 802,
1142
806, 809, 810, 814, 816, 818, 821, 823, 826, 830,
1143
835, 838, 844, 846, 849, 852, 855, 859, 862, 865,
1144
866, 870, 872, 877, 883, 890, 902, 906, 907, 909,
1145
913, 915, 918, 921, 924, 925, 927, 929, 932, 935,
1146
936, 940, 944, 947, 949, 951, 954, 957, 962, 963,
1147
966, 969, 970, 974, 979, 984, 985, 988, 989, 994,
1148
995, 1003, 1007, 1011, 1013, 1017, 1018, 1020, 1024, 1026,
1149
1032, 1037, 1040, 1041, 1044, 1046, 1049, 1053, 1056, 1059,
1150
1062, 1065, 1069, 1073, 1075, 1076, 1078, 1080, 1082, 1085,
1151
1087, 1093, 1103, 1105, 1106, 1108, 1111, 1114, 1115, 1118,
1152
1119, 1125, 1127, 1128, 1135, 1138, 1139, 1143, 1158, 1178,
1153
1180, 1182, 1184, 1188, 1194, 1196, 1198, 1200, 1204, 1205,
1154
1207, 1208, 1210, 1212, 1214, 1218, 1219, 1221, 1223, 1225,
1155
1227, 1229, 1231, 1234, 1235, 1237, 1240, 1242, 1245, 1246,
1156
1249, 1251, 1254, 1257, 1264, 1273, 1278, 1283, 1288, 1293,
1157
1301, 1305, 1307, 1311, 1315, 1317, 1319, 1321, 1323, 1325,
1158
1338, 1340, 1344, 1349, 1357, 1362, 1365, 1367, 1368, 1370,
1159
1371, 1379, 1384, 1386, 1388, 1390, 1392, 1394, 1396, 1398,
1160
1400, 1402, 1406, 1408, 1411, 1414, 1418, 1422, 1429, 1439,
1161
1447, 1457, 1466, 1475, 1482, 1491, 1501, 1509, 1520, 1528,
1162
1530, 1532, 1534, 1536, 1538, 1540, 1542, 1544, 1546, 1548,
1163
1550, 1552, 1557, 1560, 1565, 1568, 1569, 1571, 1573, 1575,
1164
1577, 1580, 1583, 1585, 1587, 1589, 1592, 1595, 1597, 1600,
1165
1603, 1605, 1607, 1615, 1623, 1634, 1636, 1638, 1641, 1643,
1166
1647, 1649, 1651, 1653, 1655, 1657, 1660, 1663, 1666, 1669,
1167
1672, 1675, 1677, 1681, 1683, 1686, 1690, 1691, 1693, 1697,
1168
1700, 1707, 1714, 1724, 1728, 1729, 1733, 1734, 1747, 1749,
1169
1750, 1753, 1754, 1756, 1760, 1763, 1766, 1771, 1773, 1776,
1170
1777, 1787, 1795, 1798, 1799, 1803, 1806, 1808, 1812, 1816,
1171
1820, 1823, 1826, 1828, 1830, 1832, 1834, 1837, 1839, 1841,
1172
1843, 1848, 1854, 1856, 1859, 1864, 1870, 1872, 1874, 1876,
1173
1878, 1882, 1886, 1889, 1892, 1895, 1898, 1900, 1902, 1906,
1174
1909, 1910, 1916, 1918, 1921, 1923, 1924, 1930, 1938, 1940,
1175
1942, 1950, 1952, 1956, 1960, 1964, 1966, 1970, 1982, 1993,
1176
1996, 1999, 2000, 2009, 2014, 2019, 2024, 2026, 2028, 2030,
1177
2031, 2041, 2048, 2055, 2063, 2070, 2077, 2087, 2094, 2101,
1178
2108, 2117, 2126, 2133, 2140, 2147, 2149, 2150, 2160, 2167,
1179
2175, 2182, 2189, 2196, 2206, 2213, 2220, 2227, 2235, 2245,
1180
2255, 2262, 2269, 2276, 2277, 2292, 2294, 2296, 2300, 2304,
1181
2306, 2308, 2310, 2312, 2314, 2316, 2318, 2319, 2321, 2323,
1182
2325, 2327, 2329, 2331, 2332, 2339, 2342, 2345, 2348, 2351,
1183
2354, 2358, 2362, 2365, 2368, 2371, 2374, 2378, 2381, 2387,
1184
2392, 2396, 2400, 2404, 2406, 2408, 2409, 2413, 2416, 2419,
1185
2421, 2425, 2428, 2430, 2431, 2439, 2449, 2452, 2458, 2461,
1186
2462, 2466, 2470, 2474, 2478, 2482, 2486, 2490, 2494, 2498,
1187
2503, 2507, 2511, 2513, 2514, 2520, 2526, 2531, 2534, 2535,
1188
2540, 2544, 2551, 2556, 2563, 2570, 2576, 2584, 2586, 2587,
1189
2598, 2603, 2606, 2608, 2613, 2619, 2625, 2628, 2633, 2635,
1190
2637, 2639, 2640, 2642, 2643, 2645, 2646, 2650, 2651, 2656,
1191
2658, 2660, 2662, 2664, 2666, 2668, 2670, 2671, 2677, 2681,
1192
2682, 2684, 2688, 2690, 2692, 2694, 2696, 2700, 2710, 2714,
1193
2715, 2718, 2722, 2727, 2732, 2735, 2737, 2745, 2750, 2752,
1194
2756, 2759, 2765, 2768, 2769, 2775, 2779, 2780, 2783, 2786,
1195
2789, 2793, 2795, 2799, 2801, 2804, 2806, 2807, 2814, 2822,
1196
2823, 2827, 2830, 2833, 2836, 2837, 2840, 2843, 2845, 2847,
1197
2851, 2855, 2857, 2860, 2865, 2870, 2872, 2874, 2883, 2888,
1198
2893, 2898, 2901, 2902, 2906, 2910, 2915, 2920, 2925, 2930,
1199
2933, 2935, 2937, 2938, 2940, 2942, 2943, 2945, 2951, 2953,
1200
2954, 2956, 2957, 2961, 2963, 2967, 2971, 2974, 2977, 2979,
1201
2984, 2989, 2992, 2995, 3000, 3002, 3003, 3005, 3007, 3009,
1202
3013, 3014, 3017, 3018, 3023, 3028, 3032, 3034, 3035, 3038,
1203
3039, 3042, 3043, 3045, 3049, 3051, 3054, 3056, 3059, 3065,
1204
3072, 3078, 3080, 3083, 3085, 3090, 3094, 3099, 3103, 3109,
1205
3114, 3120, 3125, 3131, 3134, 3139, 3141, 3144, 3147, 3150,
1206
3152, 3154, 3155, 3160, 3163, 3165, 3168, 3171, 3176, 3178,
1207
3181, 3182, 3184, 3188, 3191, 3194, 3198, 3204, 3211, 3215,
1208
3220, 3221, 3223, 3225, 3227, 3229, 3231, 3234, 3240, 3243,
1209
3245, 3247, 3249, 3251, 3253, 3255, 3257, 3259, 3261, 3263,
1210
3265, 3268, 3271, 3274, 3277, 3280, 3282, 3286, 3287, 3293,
1211
3297, 3298, 3304, 3308, 3309, 3311, 3313, 3315, 3317, 3323,
1212
3326, 3328, 3330, 3332, 3334, 3340, 3343, 3346, 3349, 3351,
1213
3355, 3359, 3362, 3364, 3365, 3369, 3370, 3376, 3379, 3385,
1214
3388, 3390, 3394, 3398, 3399, 3401, 3403, 3405, 3407, 3409,
1215
3411, 3415, 3419, 3423, 3427, 3431, 3435, 3439, 3440, 3442,
1216
3446, 3452, 3455, 3458, 3462, 3466, 3470, 3474, 3478, 3482,
1217
3486, 3490, 3494, 3498, 3501, 3504, 3508, 3512, 3515, 3519,
1218
3525, 3530, 3537, 3541, 3547, 3552, 3559, 3564, 3571, 3577,
1219
3585, 3588, 3592, 3595, 3600, 3604, 3608, 3613, 3617, 3622,
1220
3626, 3631, 3637, 3644, 3652, 3659, 3667, 3674, 3682, 3686,
1221
3691, 3696, 3703, 3706, 3708, 3712, 3715, 3718, 3722, 3726,
1222
3730, 3734, 3738, 3742, 3746, 3750, 3754, 3758, 3761, 3764,
1223
3770, 3777, 3785, 3787, 3789, 3792, 3797, 3799, 3801, 3803,
1224
3806, 3809, 3812, 3814, 3818, 3823, 3829, 3835, 3840, 3842,
1225
3844, 3849, 3851, 3856, 3858, 3863, 3865, 3870, 3872, 3874,
1226
3876, 3878, 3885, 3890, 3895, 3900, 3905, 3912, 3918, 3924,
1227
3930, 3935, 3942, 3947, 3954, 3959, 3964, 3969, 3974, 3978,
1228
3984, 3986, 3988, 3990, 3992, 3994, 3996, 3998, 4000, 4002,
1229
4004, 4006, 4008, 4010, 4012, 4014, 4019, 4021, 4026, 4028,
1230
4033, 4035, 4038, 4040, 4043, 4045, 4049, 4053, 4054, 4058,
1231
4060, 4062, 4066, 4070, 4074, 4076, 4078, 4080, 4082, 4084,
1232
4086, 4088, 4090, 4095, 4099, 4102, 4106, 4107, 4111, 4115,
1233
4118, 4121, 4123, 4124, 4127, 4130, 4134, 4137, 4139, 4141,
1234
4145, 4151, 4153, 4156, 4161, 4164, 4165, 4167, 4168, 4170,
1235
4173, 4176, 4179, 4183, 4189, 4191, 4194, 4195, 4198, 4200,
1236
4201, 4203, 4207, 4211, 4213, 4215, 4217, 4221, 4226, 4231,
1237
4233, 4237, 4239, 4241, 4243, 4245, 4247, 4251, 4253, 4256,
1238
4258, 4262, 4264, 4266, 4268, 4270, 4272, 4274, 4276, 4279,
1239
4281, 4283, 4285, 4287, 4289, 4292, 4296, 4303, 4305, 4307,
1240
4309, 4311, 4313, 4315, 4317, 4320, 4322, 4324, 4326, 4328,
1241
4330, 4332, 4334, 4336, 4338, 4340, 4342, 4344, 4346, 4348,
1242
4350, 4352, 4354, 4356, 4358, 4360, 4362, 4364, 4366, 4368,
1243
4370, 4372, 4374, 4376, 4378, 4380, 4382, 4384, 4386, 4388,
1244
4390, 4392, 4394, 4396, 4398, 4400, 4402, 4404, 4406, 4408,
1245
4410, 4412, 4414, 4416, 4418, 4420, 4422, 4424, 4426, 4428,
1246
4430, 4432, 4434, 4436, 4438, 4440, 4442, 4444, 4446, 4448,
1247
4450, 4452, 4454, 4456, 4458, 4460, 4462, 4464, 4466, 4468,
1248
4470, 4472, 4474, 4476, 4478, 4480, 4482, 4484, 4486, 4488,
1249
4490, 4492, 4494, 4496, 4498, 4500, 4502, 4504, 4506, 4508,
1250
4510, 4512, 4514, 4516, 4518, 4520, 4522, 4524, 4526, 4528,
1251
4530, 4532, 4534, 4536, 4538, 4540, 4542, 4544, 4546, 4548,
1252
4550, 4552, 4554, 4556, 4558, 4560, 4562, 4564, 4566, 4568,
1253
4570, 4572, 4574, 4576, 4578, 4580, 4582, 4584, 4586, 4588,
1254
4590, 4592, 4594, 4596, 4598, 4600, 4602, 4604, 4606, 4608,
1255
4610, 4612, 4614, 4616, 4618, 4620, 4622, 4624, 4626, 4628,
1256
4630, 4632, 4634, 4636, 4638, 4640, 4642, 4644, 4646, 4648,
1257
4650, 4652, 4654, 4656, 4658, 4660, 4662, 4664, 4666, 4668,
1258
4670, 4672, 4674, 4676, 4678, 4680, 4682, 4684, 4686, 4688,
1259
4690, 4692, 4694, 4696, 4698, 4700, 4702, 4704, 4706, 4708,
1260
4710, 4712, 4714, 4716, 4718, 4720, 4722, 4724, 4726, 4728,
1261
4730, 4732, 4734, 4736, 4738, 4740, 4742, 4744, 4746, 4748,
1262
4750, 4752, 4754, 4756, 4758, 4760, 4762, 4764, 4766, 4768,
1263
4770, 4772, 4774, 4776, 4778, 4780, 4782, 4784, 4786, 4788,
1264
4790, 4792, 4794, 4796, 4798, 4800, 4802, 4804, 4806, 4808,
1265
4810, 4812, 4814, 4816, 4818, 4820, 4822, 4824, 4826, 4828,
1266
4830, 4832, 4834, 4836, 4838, 4840, 4842, 4844, 4846, 4848,
1267
4850, 4852, 4854, 4856, 4858, 4860, 4862, 4864, 4866, 4868,
1268
4870, 4872, 4874, 4876, 4878, 4880, 4882, 4884, 4886, 4888,
1269
4890, 4892, 4894, 4896, 4898, 4900, 4902, 4904, 4906, 4908,
1270
4910, 4912, 4914, 4916, 4918, 4920, 4922, 4924, 4926, 4928,
1271
4930, 4932, 4934, 4936, 4938, 4940, 4942, 4944, 4946, 4948,
1272
4950, 4952, 4954, 4956, 4958, 4960, 4962, 4964, 4966, 4968,
1273
4970, 4972, 4974, 4976, 4978, 4980, 4982, 4984, 4986, 4988,
1274
4990, 4992, 4994, 4996, 4998, 5000, 5002, 5004, 5006, 5008,
1275
5010, 5012, 5014, 5016
1278
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
1279
static const short yyrhs[] =
1281
367, 0, -1, 368, -1, 368, 363, 369, -1, 369,
1282
-1, 590, -1, 591, -1, 596, -1, 548, -1, 382,
1283
-1, 565, -1, 566, -1, 457, -1, 406, -1, 376,
1284
-1, 375, -1, 378, -1, 377, -1, 601, -1, 405,
1285
-1, 414, -1, 599, -1, 507, -1, 402, -1, 415,
1286
-1, 451, -1, 488, -1, 557, -1, 598, -1, 595,
1287
-1, 534, -1, 381, -1, 495, -1, 464, -1, 385,
1288
-1, 456, -1, 424, -1, 471, -1, 474, -1, 370,
1289
-1, 374, -1, 586, -1, 616, -1, 628, -1, 490,
1290
-1, 621, -1, 489, -1, 559, -1, 384, -1, 500,
1291
-1, 469, -1, 575, -1, 501, -1, 473, -1, 487,
1292
-1, 379, -1, 380, -1, 594, -1, 614, -1, 607,
1293
-1, 510, -1, 513, -1, 524, -1, 528, -1, 617,
1294
-1, 577, -1, 585, -1, 623, -1, 576, -1, 610,
1295
-1, 560, -1, 552, -1, 551, -1, 554, -1, 563,
1296
-1, 514, -1, 525, -1, 567, -1, 631, -1, 579,
1297
-1, 506, -1, 578, -1, 627, -1, 600, -1, 401,
1298
-1, 389, -1, 400, -1, 584, -1, -1, 62, 255,
1299
746, 371, 372, -1, 331, -1, -1, 372, 373, -1,
1300
-1, 226, 745, -1, 100, 226, 745, -1, 311, 226,
1301
745, -1, 287, -1, 199, -1, 141, -1, 196, -1,
1302
63, -1, 193, -1, 64, -1, 194, -1, 65, -1,
1303
195, -1, 178, -1, 197, -1, 56, 170, 747, -1,
1304
321, 316, 745, -1, 318, 735, -1, 289, 744, -1,
1305
8, 735, -1, 255, 735, -1, 137, 255, 735, -1,
1306
137, 127, 735, -1, 62, 318, 746, 371, 372, -1,
1307
13, 255, 746, 371, 372, -1, 13, 255, 746, 270,
1308
390, -1, 13, 255, 746, 401, -1, 13, 318, 746,
1309
371, 372, -1, 13, 318, 746, 270, 390, -1, 13,
1310
318, 746, 401, -1, 95, 255, 735, -1, 95, 318,
1311
735, -1, 62, 127, 746, 371, 372, -1, 13, 127,
1312
746, 383, 318, 735, -1, 7, -1, 95, -1, 95,
1313
127, 735, -1, 62, 261, 386, 25, 746, 387, -1,
1314
62, 261, 748, 387, -1, 748, -1, -1, 387, 388,
1315
-1, -1, 424, -1, 528, -1, 456, -1, 474, -1,
1316
513, -1, 584, -1, 270, 390, -1, 270, 173, 390,
1317
-1, 270, 268, 390, -1, 391, 299, 392, -1, 391,
1318
346, 392, -1, 297, 336, 397, -1, 302, 582, -1,
1319
268, 44, 19, 302, 582, -1, 186, 398, -1, 255,
1320
399, -1, 268, 25, 399, -1, 268, 25, 81, -1,
1321
748, -1, 391, 362, 748, -1, 393, -1, 81, -1,
1322
394, -1, 393, 364, 394, -1, 396, -1, 399, -1,
1323
461, -1, 239, 310, -1, 239, 55, -1, 247, 239,
1324
-1, 267, -1, 306, -1, 111, -1, 214, -1, 210,
1325
-1, 745, -1, 338, -1, 688, 745, 690, -1, 688,
1326
359, 744, 360, 745, 690, -1, 461, -1, 81, -1,
1327
173, -1, 745, -1, 81, -1, -1, 748, -1, 340,
1328
-1, 273, 391, -1, 273, 297, 336, -1, 273, 302,
1329
158, 168, -1, 273, 268, 25, -1, 273, 11, -1,
1330
249, 391, -1, 249, 297, 336, -1, 249, 302, 158,
1331
168, -1, 249, 268, 25, -1, 249, 11, -1, 270,
1332
58, 403, 404, -1, 11, -1, 735, -1, 84, -1,
1333
134, -1, 46, -1, 13, 291, 662, 407, -1, 13,
1334
140, 662, 409, -1, 408, -1, 407, 364, 408, -1,
1335
7, 564, 429, -1, 13, 564, 748, 411, -1, 13,
1336
564, 748, 95, 200, 205, -1, 13, 564, 748, 270,
1337
200, 205, -1, 13, 564, 748, 270, 281, 463, -1,
1338
13, 564, 748, 270, 284, 748, -1, 95, 564, 748,
1339
412, -1, 13, 564, 748, 309, 667, 413, -1, 7,
1340
436, -1, 95, 57, 736, 412, -1, 270, 332, 212,
1341
-1, 62, 300, 291, -1, 49, 214, 736, -1, 270,
1342
332, 49, -1, 98, 304, 736, -1, 98, 304, 11,
1343
-1, 98, 304, 318, -1, 90, 304, 736, -1, 90,
1344
304, 11, -1, 90, 304, 318, -1, 410, -1, 410,
1345
-1, 409, 364, 410, -1, 224, 299, 746, -1, 270,
1346
292, 736, -1, 270, 81, 691, -1, 95, 81, -1,
1347
38, -1, 251, -1, -1, 319, 691, -1, -1, 48,
1348
736, -1, 61, 420, 734, 438, 421, 416, 417, 422,
1349
371, 418, -1, 120, -1, 299, -1, 745, -1, 282,
1350
-1, 283, -1, 418, 419, -1, -1, 31, -1, 212,
1351
-1, 87, 597, 745, -1, 205, 597, 745, -1, 67,
1352
-1, 130, -1, 238, 597, 745, -1, 102, 597, 745,
1353
-1, 116, 238, 439, -1, 116, 200, 205, 439, -1,
1354
31, -1, -1, 331, 212, -1, -1, 423, 88, 745,
1355
-1, -1, 319, -1, -1, 62, 425, 291, 734, 359,
1356
426, 360, 446, 447, 448, 449, -1, 62, 425, 291,
1357
734, 209, 734, 359, 426, 360, 447, 448, 449, -1,
1358
295, -1, 293, -1, 173, 295, -1, 173, 293, -1,
1359
123, 295, -1, 123, 293, -1, -1, 427, -1, -1,
1360
428, -1, 427, 364, 428, -1, 429, -1, 434, -1,
1361
436, -1, 748, 667, 430, -1, 430, 431, -1, -1,
1362
57, 736, 432, -1, 432, -1, 433, -1, 200, 205,
1363
-1, 205, -1, 313, 450, -1, 233, 160, 450, -1,
1364
45, 359, 691, 360, -1, 81, 692, -1, 242, 734,
1365
438, 441, 442, -1, 83, -1, 200, 83, -1, 143,
1366
84, -1, 143, 134, -1, 169, 734, 435, -1, 138,
1367
82, -1, 104, 82, -1, -1, 57, 736, 437, -1,
1368
437, -1, 45, 359, 691, 360, -1, 313, 359, 439,
1369
360, 450, -1, 233, 160, 359, 439, 360, 450, -1,
1370
117, 160, 359, 439, 360, 242, 734, 438, 441, 442,
1371
484, -1, 359, 439, 360, -1, -1, 440, -1, 439,
1372
364, 440, -1, 748, -1, 179, 121, -1, 179, 225,
1373
-1, 179, 275, -1, -1, 443, -1, 444, -1, 443,
1374
444, -1, 444, 443, -1, -1, 214, 317, 445, -1,
1375
214, 86, 445, -1, 192, 6, -1, 251, -1, 38,
1376
-1, 270, 205, -1, 270, 81, -1, 142, 359, 733,
1377
360, -1, -1, 331, 212, -1, 332, 212, -1, -1,
1378
214, 54, 95, -1, 214, 54, 86, 258, -1, 214,
1379
54, 230, 258, -1, -1, 292, 736, -1, -1, 319,
1380
140, 292, 736, -1, -1, 62, 425, 291, 734, 453,
1381
452, 631, -1, 331, 212, 19, -1, 332, 212, 19,
1382
-1, 19, -1, 359, 454, 360, -1, -1, 455, -1,
1383
454, 364, 455, -1, 748, -1, 62, 425, 266, 734,
1384
458, -1, 13, 266, 734, 458, -1, 458, 459, -1,
1385
-1, 36, 461, -1, 74, -1, 192, 74, -1, 139,
1386
460, 461, -1, 180, 461, -1, 182, 461, -1, 192,
1387
180, -1, 192, 182, -1, 279, 371, 461, -1, 250,
1388
371, 461, -1, 35, -1, -1, 462, -1, 463, -1,
1389
339, -1, 351, 339, -1, 747, -1, 62, 465, 470,
1390
162, 399, -1, 62, 465, 470, 162, 399, 128, 466,
1391
467, 468, -1, 308, -1, -1, 736, -1, 736, 505,
1392
-1, 322, 466, -1, -1, 161, 745, -1, -1, 95,
1393
470, 162, 399, 412, -1, 236, -1, -1, 62, 292,
1394
736, 472, 176, 745, -1, 224, 736, -1, -1, 95,
1395
292, 736, -1, 62, 304, 736, 475, 476, 214, 734,
1396
478, 106, 237, 742, 359, 481, 360, -1, 62, 57,
1397
304, 736, 9, 476, 214, 734, 483, 484, 115, 96,
1398
257, 106, 237, 742, 359, 481, 360, -1, 27, -1,
1399
9, -1, 477, -1, 477, 218, 477, -1, 477, 218,
1400
477, 218, 477, -1, 148, -1, 86, -1, 317, -1,
1401
115, 479, 480, -1, -1, 96, -1, -1, 257, -1,
1402
280, -1, 482, -1, 481, 364, 482, -1, -1, 344,
1403
-1, 339, -1, 745, -1, 341, -1, 342, -1, 748,
1404
-1, 120, 734, -1, -1, 485, -1, 485, 486, -1,
1405
486, -1, 486, 485, -1, -1, 200, 83, -1, 83,
1406
-1, 143, 134, -1, 143, 84, -1, 95, 304, 736,
1407
214, 734, 412, -1, 62, 21, 736, 45, 359, 691,
1408
360, 484, -1, 95, 21, 736, 412, -1, 62, 10,
1409
742, 491, -1, 62, 216, 556, 491, -1, 62, 309,
1410
504, 491, -1, 62, 309, 504, 19, 359, 665, 360,
1411
-1, 359, 492, 360, -1, 493, -1, 492, 364, 493,
1412
-1, 751, 346, 494, -1, 751, -1, 542, -1, 700,
1413
-1, 461, -1, 745, -1, 62, 216, 47, 504, 498,
1414
115, 309, 667, 319, 738, 19, 496, -1, 497, -1,
1415
496, 364, 497, -1, 216, 744, 556, 499, -1, 216,
1416
744, 556, 359, 555, 360, 499, -1, 122, 744, 742,
1417
536, -1, 284, 667, -1, 81, -1, -1, 241, -1,
1418
-1, 95, 216, 47, 504, 319, 738, 412, -1, 95,
1419
502, 503, 412, -1, 291, -1, 266, -1, 327, -1,
1420
140, -1, 309, -1, 93, -1, 59, -1, 261, -1,
1421
504, -1, 503, 364, 504, -1, 748, -1, 748, 505,
1422
-1, 362, 739, -1, 505, 362, 739, -1, 307, 638,
1423
733, -1, 53, 214, 508, 504, 156, 509, -1, 53,
1424
214, 10, 742, 359, 553, 360, 156, 509, -1, 53,
1425
214, 122, 742, 536, 156, 509, -1, 53, 214, 216,
1426
556, 359, 555, 360, 156, 509, -1, 53, 214, 57,
1427
736, 214, 504, 156, 509, -1, 53, 214, 259, 736,
1428
214, 504, 156, 509, -1, 53, 214, 259, 736, 156,
1429
509, -1, 53, 214, 304, 736, 214, 504, 156, 509,
1430
-1, 53, 214, 216, 47, 504, 319, 738, 156, 509,
1431
-1, 53, 214, 163, 208, 461, 156, 509, -1, 53,
1432
214, 40, 359, 667, 19, 667, 360, 156, 509, -1,
1433
53, 214, 470, 162, 504, 156, 509, -1, 52, -1,
1434
75, -1, 261, -1, 140, -1, 266, -1, 291, -1,
1435
93, -1, 309, -1, 327, -1, 59, -1, 745, -1,
1436
205, -1, 112, 511, 512, 736, -1, 112, 736, -1,
1437
185, 511, 512, 736, -1, 185, 736, -1, -1, 191,
1438
-1, 234, -1, 113, -1, 164, -1, 4, 747, -1,
1439
244, 747, -1, 747, -1, 11, -1, 118, -1, 118,
1440
747, -1, 118, 11, -1, 26, -1, 26, 747, -1,
1441
26, 11, -1, 120, -1, 137, -1, 124, 515, 214,
1442
518, 299, 519, 521, -1, 253, 515, 214, 518, 120,
1443
519, 412, -1, 253, 124, 217, 115, 515, 214, 518,
1444
120, 519, 412, -1, 516, -1, 11, -1, 11, 235,
1445
-1, 517, -1, 516, 364, 517, -1, 265, -1, 242,
1446
-1, 62, -1, 748, -1, 733, -1, 291, 733, -1,
1447
122, 522, -1, 75, 735, -1, 162, 735, -1, 261,
1448
735, -1, 292, 735, -1, 520, -1, 519, 364, 520,
1449
-1, 746, -1, 127, 746, -1, 331, 124, 217, -1,
1450
-1, 523, -1, 522, 364, 523, -1, 742, 536, -1,
1451
124, 516, 299, 735, 526, 527, -1, 253, 516, 120,
1452
735, 527, 412, -1, 253, 8, 217, 115, 516, 120,
1453
735, 527, 412, -1, 331, 8, 217, -1, -1, 125,
1454
35, 746, -1, -1, 62, 529, 140, 740, 214, 734,
1455
530, 359, 531, 360, 449, 664, -1, 313, -1, -1,
1456
319, 738, -1, -1, 532, -1, 531, 364, 532, -1,
1457
748, 533, -1, 694, 533, -1, 359, 691, 360, 533,
1458
-1, 504, -1, 319, 504, -1, -1, 62, 535, 122,
1459
742, 536, 252, 541, 543, 547, -1, 62, 535, 122,
1460
742, 536, 543, 547, -1, 218, 248, -1, -1, 359,
1461
537, 360, -1, 359, 360, -1, 538, -1, 537, 364,
1462
538, -1, 539, 540, 542, -1, 540, 539, 542, -1,
1463
540, 542, -1, 539, 542, -1, 542, -1, 137, -1,
1464
220, -1, 145, -1, 137, 220, -1, 750, -1, 542,
1465
-1, 667, -1, 749, 505, 354, 309, -1, 271, 749,
1466
505, 354, 309, -1, 545, -1, 543, 545, -1, 37,
1467
214, 205, 146, -1, 252, 205, 214, 205, 146, -1,
1468
285, -1, 135, -1, 278, -1, 328, -1, 109, 264,
1469
85, -1, 109, 264, 155, -1, 264, 85, -1, 264,
1470
155, -1, 19, 546, -1, 162, 399, -1, 544, -1,
1471
745, -1, 745, 364, 745, -1, 331, 491, -1, -1,
1472
13, 122, 523, 549, 550, -1, 544, -1, 549, 544,
1473
-1, 251, -1, -1, 95, 122, 742, 536, 412, -1,
1474
95, 10, 742, 359, 553, 360, 412, -1, 667, -1,
1475
352, -1, 95, 216, 556, 359, 555, 360, 412, -1,
1476
667, -1, 667, 364, 667, -1, 198, 364, 667, -1,
1477
667, 364, 198, -1, 697, -1, 748, 362, 556, -1,
1478
62, 40, 359, 667, 19, 667, 360, 331, 122, 523,
1479
558, -1, 62, 40, 359, 667, 19, 667, 360, 332,
1480
122, 558, -1, 19, 136, -1, 19, 22, -1, -1,
1481
95, 40, 359, 667, 19, 667, 360, 412, -1, 243,
1482
561, 734, 562, -1, 243, 290, 736, 562, -1, 243,
1483
75, 736, 562, -1, 140, -1, 291, -1, 116, -1,
1484
-1, 13, 10, 742, 359, 553, 360, 246, 299, 736,
1485
-1, 13, 59, 504, 246, 299, 736, -1, 13, 75,
1486
737, 246, 299, 737, -1, 13, 122, 742, 536, 246,
1487
299, 736, -1, 13, 127, 746, 246, 299, 746, -1,
1488
13, 162, 736, 246, 299, 736, -1, 13, 216, 47,
1489
504, 319, 738, 246, 299, 736, -1, 13, 261, 736,
1490
246, 299, 736, -1, 13, 291, 662, 246, 299, 736,
1491
-1, 13, 140, 662, 246, 299, 736, -1, 13, 291,
1492
662, 246, 564, 736, 299, 736, -1, 13, 304, 736,
1493
214, 662, 246, 299, 736, -1, 13, 255, 746, 246,
1494
299, 746, -1, 13, 318, 746, 246, 299, 746, -1,
1495
13, 292, 736, 246, 299, 736, -1, 52, -1, -1,
1496
13, 10, 742, 359, 553, 360, 270, 261, 736, -1,
1497
13, 93, 504, 270, 261, 736, -1, 13, 122, 742,
1498
536, 270, 261, 736, -1, 13, 266, 662, 270, 261,
1499
736, -1, 13, 291, 662, 270, 261, 736, -1, 13,
1500
309, 504, 270, 261, 736, -1, 13, 10, 742, 359,
1501
553, 360, 224, 299, 746, -1, 13, 59, 504, 224,
1502
299, 746, -1, 13, 75, 737, 224, 299, 746, -1,
1503
13, 93, 504, 224, 299, 746, -1, 13, 122, 742,
1504
536, 224, 299, 746, -1, 13, 216, 556, 359, 555,
1505
360, 224, 299, 746, -1, 13, 216, 47, 504, 319,
1506
738, 224, 299, 746, -1, 13, 261, 736, 224, 299,
1507
746, -1, 13, 309, 504, 224, 299, 746, -1, 13,
1508
292, 736, 224, 299, 746, -1, -1, 62, 535, 259,
1509
736, 19, 568, 214, 573, 299, 734, 664, 92, 574,
1510
569, -1, 201, -1, 571, -1, 359, 570, 360, -1,
1511
570, 363, 572, -1, 572, -1, 631, -1, 617, -1,
1512
627, -1, 621, -1, 576, -1, 571, -1, -1, 265,
1513
-1, 317, -1, 86, -1, 148, -1, 149, -1, 12,
1514
-1, -1, 95, 259, 736, 214, 734, 412, -1, 202,
1515
734, -1, 171, 734, -1, 315, 734, -1, 315, 352,
1516
-1, 3, 580, -1, 28, 580, 583, -1, 279, 302,
1517
583, -1, 54, 580, -1, 101, 580, -1, 256, 580,
1518
-1, 260, 748, -1, 245, 260, 748, -1, 245, 748,
1519
-1, 256, 580, 299, 260, 748, -1, 256, 580, 299,
1520
748, -1, 231, 302, 745, -1, 54, 232, 745, -1,
1521
256, 232, 745, -1, 333, -1, 302, -1, -1, 158,
1522
168, 395, -1, 239, 215, -1, 239, 334, -1, 581,
1523
-1, 582, 364, 581, -1, 582, 581, -1, 582, -1,
1524
-1, 62, 425, 327, 734, 438, 19, 631, -1, 62,
1525
218, 248, 425, 327, 734, 438, 19, 631, -1, 172,
1526
741, -1, 62, 75, 737, 371, 587, -1, 587, 588,
1527
-1, -1, 292, 589, 736, -1, 292, 589, 81, -1,
1528
176, 589, 745, -1, 176, 589, 81, -1, 294, 589,
1529
736, -1, 294, 589, 81, -1, 99, 589, 745, -1,
1530
99, 589, 744, -1, 99, 589, 81, -1, 56, 170,
1531
589, 747, -1, 224, 589, 736, -1, 224, 589, 81,
1532
-1, 346, -1, -1, 13, 75, 737, 371, 592, -1,
1533
13, 75, 737, 270, 390, -1, 13, 75, 737, 401,
1534
-1, 592, 593, -1, -1, 56, 170, 589, 747, -1,
1535
95, 75, 737, -1, 62, 93, 504, 597, 667, 430,
1536
-1, 13, 93, 504, 411, -1, 13, 93, 504, 95,
1537
200, 205, -1, 13, 93, 504, 270, 200, 205, -1,
1538
13, 93, 504, 7, 436, -1, 13, 93, 504, 95,
1539
57, 736, 412, -1, 19, -1, -1, 62, 498, 59,
1540
504, 115, 745, 299, 745, 120, 504, -1, 49, 740,
1541
214, 734, -1, 49, 734, -1, 49, -1, 320, 604,
1542
605, 603, -1, 320, 604, 605, 603, 734, -1, 320,
1543
604, 605, 603, 601, -1, 602, 603, -1, 602, 603,
1544
734, 606, -1, 15, -1, 14, -1, 326, -1, -1,
1545
121, -1, -1, 119, -1, -1, 359, 735, 360, -1,
1546
-1, 108, 609, 603, 608, -1, 631, -1, 617, -1,
1547
627, -1, 621, -1, 628, -1, 614, -1, 602, -1,
1548
-1, 231, 736, 611, 19, 613, -1, 359, 612, 360,
1549
-1, -1, 667, -1, 612, 364, 667, -1, 631, -1,
1550
617, -1, 627, -1, 621, -1, 106, 736, 615, -1,
1551
62, 425, 291, 734, 453, 19, 106, 736, 615, -1,
1552
359, 702, 360, -1, -1, 77, 736, -1, 77, 231,
1553
736, -1, 148, 154, 734, 618, -1, 323, 359, 730,
1554
360, -1, 81, 323, -1, 631, -1, 359, 619, 360,
1555
323, 359, 730, 360, -1, 359, 619, 360, 631, -1,
1556
620, -1, 619, 364, 620, -1, 748, 724, -1, 86,
1557
120, 662, 622, 664, -1, 319, 655, -1, -1, 177,
1558
638, 733, 624, 626, -1, 137, 625, 183, -1, -1,
1559
5, 272, -1, 257, 272, -1, 257, 105, -1, 272,
1560
317, 105, -1, 272, -1, 272, 257, 105, -1, 105,
1561
-1, 5, 105, -1, 204, -1, -1, 317, 662, 270,
1562
728, 654, 664, -1, 80, 736, 629, 73, 630, 115,
1563
631, -1, -1, 629, 192, 262, -1, 629, 262, -1,
1564
629, 31, -1, 629, 147, -1, -1, 331, 131, -1,
1565
332, 131, -1, 633, -1, 632, -1, 359, 633, 360,
1566
-1, 359, 632, 360, -1, 635, -1, 634, 642, -1,
1567
634, 641, 651, 646, -1, 634, 641, 645, 652, -1,
1568
635, -1, 632, -1, 265, 640, 726, 636, 654, 664,
1569
649, 650, -1, 634, 312, 639, 634, -1, 634, 152,
1570
639, 634, -1, 634, 103, 639, 634, -1, 154, 637,
1571
-1, -1, 295, 638, 734, -1, 293, 638, 734, -1,
1572
173, 295, 638, 734, -1, 173, 293, 638, 734, -1,
1573
123, 295, 638, 734, -1, 123, 293, 638, 734, -1,
1574
291, 734, -1, 734, -1, 291, -1, -1, 11, -1,
1575
91, -1, -1, 91, -1, 91, 214, 359, 702, 360,
1576
-1, 11, -1, -1, 642, -1, -1, 219, 35, 643,
1577
-1, 644, -1, 643, 364, 644, -1, 691, 319, 700,
1578
-1, 691, 20, -1, 691, 89, -1, 691, -1, 170,
1579
647, 211, 648, -1, 211, 648, 170, 647, -1, 170,
1580
647, -1, 211, 648, -1, 170, 647, 364, 648, -1,
1581
645, -1, -1, 691, -1, 11, -1, 691, -1, 127,
1582
35, 702, -1, -1, 129, 691, -1, -1, 115, 317,
1583
653, 626, -1, 115, 272, 653, 626, -1, 115, 239,
1584
215, -1, 651, -1, -1, 209, 735, -1, -1, 120,
1585
655, -1, -1, 656, -1, 655, 364, 656, -1, 662,
1586
-1, 662, 658, -1, 663, -1, 663, 658, -1, 663,
1587
19, 359, 665, 360, -1, 663, 19, 748, 359, 665,
1588
360, -1, 663, 748, 359, 665, 360, -1, 632, -1,
1589
632, 658, -1, 657, -1, 359, 657, 360, 658, -1,
1590
359, 657, 360, -1, 656, 66, 159, 656, -1, 656,
1591
337, 656, -1, 656, 659, 159, 656, 661, -1, 656,
1592
159, 656, 661, -1, 656, 188, 659, 159, 656, -1,
1593
656, 188, 159, 656, -1, 19, 748, 359, 735, 360,
1594
-1, 19, 748, -1, 748, 359, 735, 360, -1, 748,
1595
-1, 121, 660, -1, 167, 660, -1, 254, 660, -1,
1596
144, -1, 221, -1, -1, 319, 359, 735, 360, -1,
1597
214, 691, -1, 734, -1, 734, 352, -1, 215, 734,
1598
-1, 215, 359, 734, 360, -1, 694, -1, 330, 691,
1599
-1, -1, 666, -1, 665, 364, 666, -1, 748, 667,
1600
-1, 669, 668, -1, 271, 669, 668, -1, 669, 18,
1601
357, 744, 358, -1, 271, 669, 18, 357, 744, 358,
1602
-1, 668, 357, 358, -1, 668, 357, 744, 358, -1,
1603
-1, 671, -1, 672, -1, 676, -1, 680, -1, 687,
1604
-1, 688, 690, -1, 688, 359, 744, 360, 690, -1,
1605
749, 505, -1, 671, -1, 672, -1, 677, -1, 681,
1606
-1, 687, -1, 749, -1, 150, -1, 151, -1, 276,
1607
-1, 30, -1, 240, -1, 114, 673, -1, 94, 229,
1608
-1, 79, 675, -1, 78, 675, -1, 207, 674, -1,
1609
33, -1, 359, 744, 360, -1, -1, 359, 744, 364,
1610
744, 360, -1, 359, 744, 360, -1, -1, 359, 744,
1611
364, 744, 360, -1, 359, 744, 360, -1, -1, 678,
1612
-1, 679, -1, 678, -1, 679, -1, 32, 685, 359,
1613
744, 360, -1, 32, 685, -1, 682, -1, 683, -1,
1614
682, -1, 683, -1, 684, 359, 744, 360, 686, -1,
1615
684, 686, -1, 43, 685, -1, 42, 685, -1, 324,
1616
-1, 187, 43, 685, -1, 187, 42, 685, -1, 189,
1617
685, -1, 325, -1, -1, 43, 270, 748, -1, -1,
1618
298, 359, 744, 360, 689, -1, 298, 689, -1, 297,
1619
359, 744, 360, 689, -1, 297, 689, -1, 153, -1,
1620
331, 297, 336, -1, 332, 297, 336, -1, -1, 335,
1621
-1, 184, -1, 76, -1, 132, -1, 181, -1, 263,
1622
-1, 335, 299, 184, -1, 76, 299, 132, -1, 76,
1623
299, 181, -1, 76, 299, 263, -1, 132, 299, 181,
1624
-1, 132, 299, 263, -1, 181, 299, 263, -1, -1,
1625
693, -1, 691, 361, 667, -1, 691, 24, 297, 336,
1626
691, -1, 350, 691, -1, 351, 691, -1, 691, 350,
1627
691, -1, 691, 351, 691, -1, 691, 352, 691, -1,
1628
691, 353, 691, -1, 691, 354, 691, -1, 691, 355,
1629
691, -1, 691, 347, 691, -1, 691, 348, 691, -1,
1630
691, 346, 691, -1, 691, 699, 691, -1, 699, 691,
1631
-1, 691, 699, -1, 691, 16, 691, -1, 691, 218,
1632
691, -1, 200, 691, -1, 691, 169, 691, -1, 691,
1633
169, 691, 102, 691, -1, 691, 200, 169, 691, -1,
1634
691, 200, 169, 691, 102, 691, -1, 691, 133, 691,
1635
-1, 691, 133, 691, 102, 691, -1, 691, 200, 133,
1636
691, -1, 691, 200, 133, 691, 102, 691, -1, 691,
1637
274, 299, 691, -1, 691, 274, 299, 691, 102, 691,
1638
-1, 691, 200, 274, 299, 691, -1, 691, 200, 274,
1639
299, 691, 102, 691, -1, 691, 157, -1, 691, 156,
1640
205, -1, 691, 203, -1, 691, 156, 200, 205, -1,
1641
695, 222, 695, -1, 691, 156, 306, -1, 691, 156,
1642
200, 306, -1, 691, 156, 111, -1, 691, 156, 200,
1643
111, -1, 691, 156, 314, -1, 691, 156, 200, 314,
1644
-1, 691, 156, 91, 120, 691, -1, 691, 156, 209,
1645
359, 704, 360, -1, 691, 156, 200, 209, 359, 704,
1646
360, -1, 691, 29, 725, 692, 16, 692, -1, 691,
1647
200, 29, 725, 692, 16, 692, -1, 691, 29, 288,
1648
692, 16, 692, -1, 691, 200, 29, 288, 692, 16,
1649
692, -1, 691, 137, 715, -1, 691, 200, 137, 715,
1650
-1, 691, 701, 696, 632, -1, 691, 701, 696, 359,
1651
691, 360, -1, 313, 632, -1, 693, -1, 692, 361,
1652
667, -1, 350, 692, -1, 351, 692, -1, 692, 350,
1653
692, -1, 692, 351, 692, -1, 692, 352, 692, -1,
1654
692, 353, 692, -1, 692, 354, 692, -1, 692, 355,
1655
692, -1, 692, 347, 692, -1, 692, 348, 692, -1,
1656
692, 346, 692, -1, 692, 699, 692, -1, 699, 692,
1657
-1, 692, 699, -1, 692, 156, 91, 120, 692, -1,
1658
692, 156, 209, 359, 704, 360, -1, 692, 156, 200,
1659
209, 359, 704, 360, -1, 721, -1, 743, -1, 345,
1660
724, -1, 359, 691, 360, 724, -1, 716, -1, 694,
1661
-1, 632, -1, 107, 632, -1, 18, 632, -1, 18,
1662
706, -1, 695, -1, 742, 359, 360, -1, 742, 359,
1663
702, 360, -1, 742, 359, 11, 702, 360, -1, 742,
1664
359, 91, 702, 360, -1, 742, 359, 352, 360, -1,
1665
68, -1, 70, -1, 70, 359, 744, 360, -1, 71,
1666
-1, 71, 359, 744, 360, -1, 174, -1, 174, 359,
1667
744, 360, -1, 175, -1, 175, 359, 744, 360, -1,
1668
69, -1, 72, -1, 269, -1, 318, -1, 40, 359,
1669
691, 19, 667, 360, -1, 110, 359, 703, 360, -1,
1670
223, 359, 708, 360, -1, 228, 359, 710, 360, -1,
1671
286, 359, 711, 360, -1, 303, 359, 691, 19, 667,
1672
360, -1, 305, 359, 34, 714, 360, -1, 305, 359,
1673
165, 714, 360, -1, 305, 359, 301, 714, 360, -1,
1674
305, 359, 714, 360, -1, 60, 359, 691, 319, 504,
1675
360, -1, 60, 359, 702, 360, -1, 206, 359, 691,
1676
364, 691, 360, -1, 50, 359, 702, 360, -1, 126,
1677
359, 702, 360, -1, 166, 359, 702, 360, -1, 257,
1678
359, 702, 360, -1, 257, 359, 360, -1, 359, 702,
1679
364, 691, 360, -1, 17, -1, 277, -1, 11, -1,
1680
343, -1, 698, -1, 350, -1, 351, -1, 352, -1,
1681
353, -1, 354, -1, 355, -1, 347, -1, 348, -1,
1682
346, -1, 343, -1, 216, 359, 556, 360, -1, 697,
1683
-1, 216, 359, 556, 360, -1, 697, -1, 216, 359,
1684
556, 360, -1, 169, -1, 200, 169, -1, 133, -1,
1685
200, 133, -1, 691, -1, 702, 364, 691, -1, 707,
1686
120, 691, -1, -1, 704, 364, 667, -1, 667, -1,
1687
706, -1, 705, 364, 706, -1, 357, 702, 358, -1,
1688
357, 705, 358, -1, 338, -1, 335, -1, 184, -1,
1689
76, -1, 132, -1, 181, -1, 263, -1, 340, -1,
1690
691, 709, 712, 713, -1, 691, 709, 712, -1, 227,
1691
691, -1, 692, 137, 692, -1, -1, 691, 712, 713,
1692
-1, 691, 713, 712, -1, 691, 712, -1, 691, 713,
1693
-1, 702, -1, -1, 120, 691, -1, 115, 691, -1,
1694
691, 120, 702, -1, 120, 702, -1, 702, -1, 632,
1695
-1, 359, 702, 360, -1, 39, 720, 717, 719, 101,
1696
-1, 718, -1, 717, 718, -1, 329, 691, 296, 691,
1697
-1, 97, 691, -1, -1, 691, -1, -1, 732, -1,
1698
732, 723, -1, 362, 739, -1, 362, 352, -1, 357,
1699
691, 358, -1, 357, 691, 365, 691, 358, -1, 722,
1700
-1, 723, 722, -1, -1, 724, 722, -1, 23, -1,
1701
-1, 727, -1, 726, 364, 727, -1, 691, 19, 751,
1702
-1, 691, -1, 352, -1, 729, -1, 728, 364, 729,
1703
-1, 748, 724, 346, 691, -1, 748, 724, 346, 81,
1704
-1, 731, -1, 730, 364, 731, -1, 691, -1, 81,
1705
-1, 756, -1, 748, -1, 734, -1, 733, 364, 734,
1706
-1, 732, -1, 732, 723, -1, 736, -1, 735, 364,
1707
736, -1, 748, -1, 748, -1, 748, -1, 751, -1,
1708
748, -1, 745, -1, 750, -1, 732, 723, -1, 744,
1709
-1, 339, -1, 745, -1, 341, -1, 342, -1, 670,
1710
745, -1, 688, 745, 690, -1, 688, 359, 744, 360,
1711
745, 690, -1, 306, -1, 111, -1, 205, -1, 344,
1712
-1, 340, -1, 748, -1, 344, -1, 351, 344, -1,
1713
338, -1, 752, -1, 753, -1, 338, -1, 752, -1,
1714
338, -1, 752, -1, 754, -1, 338, -1, 752, -1,
1715
753, -1, 754, -1, 755, -1, 3, -1, 4, -1,
1716
5, -1, 6, -1, 7, -1, 8, -1, 9, -1,
1717
10, -1, 12, -1, 13, -1, 21, -1, 22, -1,
1718
24, -1, 26, -1, 27, -1, 28, -1, 35, -1,
1719
36, -1, 37, -1, 38, -1, 41, -1, 44, -1,
1720
46, -1, 47, -1, 48, -1, 49, -1, 53, -1,
1721
54, -1, 55, -1, 56, -1, 58, -1, 59, -1,
1722
61, -1, 63, -1, 64, -1, 65, -1, 67, -1,
1723
73, -1, 74, -1, 75, -1, 76, -1, 77, -1,
1724
80, -1, 82, -1, 84, -1, 85, -1, 86, -1,
1725
87, -1, 88, -1, 90, -1, 93, -1, 94, -1,
1726
95, -1, 96, -1, 98, -1, 99, -1, 100, -1,
1727
102, -1, 104, -1, 105, -1, 106, -1, 108, -1,
1728
109, -1, 112, -1, 113, -1, 116, -1, 118, -1,
1729
122, -1, 123, -1, 125, -1, 128, -1, 130, -1,
1730
131, -1, 132, -1, 134, -1, 135, -1, 136, -1,
1731
138, -1, 139, -1, 140, -1, 141, -1, 142, -1,
1732
146, -1, 147, -1, 148, -1, 149, -1, 155, -1,
1733
158, -1, 160, -1, 161, -1, 162, -1, 163, -1,
1734
164, -1, 168, -1, 171, -1, 172, -1, 173, -1,
1735
176, -1, 177, -1, 178, -1, 179, -1, 180, -1,
1736
181, -1, 182, -1, 183, -1, 184, -1, 185, -1,
1737
186, -1, 191, -1, 192, -1, 193, -1, 194, -1,
1738
195, -1, 196, -1, 197, -1, 199, -1, 201, -1,
1739
202, -1, 204, -1, 208, -1, 209, -1, 212, -1,
1740
216, -1, 217, -1, 224, -1, 225, -1, 226, -1,
1741
231, -1, 232, -1, 230, -1, 234, -1, 235, -1,
1742
236, -1, 237, -1, 238, -1, 239, -1, 241, -1,
1743
243, -1, 244, -1, 245, -1, 246, -1, 247, -1,
1744
248, -1, 249, -1, 250, -1, 251, -1, 252, -1,
1745
253, -1, 255, -1, 256, -1, 258, -1, 259, -1,
1746
260, -1, 261, -1, 262, -1, 263, -1, 264, -1,
1747
266, -1, 267, -1, 268, -1, 270, -1, 272, -1,
1748
273, -1, 275, -1, 278, -1, 279, -1, 280, -1,
1749
281, -1, 282, -1, 283, -1, 284, -1, 287, -1,
1750
289, -1, 290, -1, 285, -1, 292, -1, 293, -1,
1751
294, -1, 295, -1, 300, -1, 302, -1, 304, -1,
1752
307, -1, 308, -1, 309, -1, 310, -1, 311, -1,
1753
314, -1, 315, -1, 316, -1, 317, -1, 320, -1,
1754
321, -1, 322, -1, 323, -1, 325, -1, 327, -1,
1755
328, -1, 331, -1, 332, -1, 333, -1, 334, -1,
1756
335, -1, 336, -1, 30, -1, 32, -1, 33, -1,
1757
42, -1, 43, -1, 50, -1, 60, -1, 78, -1,
1758
79, -1, 107, -1, 110, -1, 114, -1, 126, -1,
1759
145, -1, 150, -1, 151, -1, 153, -1, 166, -1,
1760
187, -1, 189, -1, 198, -1, 206, -1, 207, -1,
1761
220, -1, 223, -1, 228, -1, 229, -1, 240, -1,
1762
257, -1, 271, -1, 276, -1, 286, -1, 297, -1,
1763
298, -1, 303, -1, 305, -1, 324, -1, 25, -1,
1764
29, -1, 31, -1, 66, -1, 119, -1, 121, -1,
1765
133, -1, 144, -1, 156, -1, 157, -1, 159, -1,
1766
167, -1, 169, -1, 188, -1, 203, -1, 221, -1,
1767
222, -1, 254, -1, 274, -1, 326, -1, 11, -1,
1768
14, -1, 15, -1, 16, -1, 17, -1, 18, -1,
1769
19, -1, 20, -1, 23, -1, 34, -1, 39, -1,
1770
40, -1, 45, -1, 51, -1, 52, -1, 57, -1,
1771
62, -1, 68, -1, 69, -1, 70, -1, 71, -1,
1772
72, -1, 81, -1, 83, -1, 89, -1, 91, -1,
1773
92, -1, 97, -1, 101, -1, 103, -1, 111, -1,
1774
115, -1, 117, -1, 120, -1, 124, -1, 127, -1,
1775
129, -1, 137, -1, 143, -1, 152, -1, 154, -1,
1776
165, -1, 170, -1, 174, -1, 175, -1, 190, -1,
1777
200, -1, 205, -1, 210, -1, 211, -1, 213, -1,
1778
214, -1, 215, -1, 218, -1, 219, -1, 227, -1,
1779
233, -1, 242, -1, 265, -1, 269, -1, 277, -1,
1780
288, -1, 291, -1, 296, -1, 299, -1, 301, -1,
1781
306, -1, 312, -1, 313, -1, 318, -1, 319, -1,
1782
329, -1, 330, -1, 213, -1, 190, -1
1785
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1786
static const unsigned short yyrline[] =
1788
0, 478, 478, 482, 488, 497, 498, 499, 500, 501,
1789
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
1790
512, 513, 514, 515, 516, 517, 518, 519, 520, 521,
1791
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
1792
532, 533, 534, 535, 536, 537, 538, 539, 540, 541,
1793
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1794
552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
1795
562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
1796
572, 573, 574, 575, 576, 577, 578, 579, 581, 591,
1797
602, 603, 612, 613, 617, 622, 627, 632, 636, 640,
1798
644, 648, 652, 656, 660, 664, 669, 673, 677, 681,
1799
685, 690, 695, 699, 703, 707, 711, 725, 743, 754,
1800
762, 780, 792, 800, 821, 839, 855, 873, 884, 885,
1801
897, 913, 925, 937, 938, 942, 943, 951, 952, 953,
1802
954, 955, 956, 970, 976, 982, 990, 997, 1004, 1012,
1803
1019, 1026, 1034, 1041, 1048, 1058, 1059, 1071, 1072, 1075,
1804
1076, 1079, 1081, 1083, 1087, 1088, 1089, 1090, 1094, 1095,
1805
1096, 1097, 1109, 1113, 1117, 1130, 1157, 1158, 1159, 1163,
1806
1164, 1165, 1169, 1170, 1175, 1181, 1187, 1193, 1199, 1208,
1807
1214, 1220, 1226, 1232, 1242, 1252, 1253, 1257, 1258, 1266,
1808
1281, 1289, 1300, 1301, 1307, 1315, 1324, 1332, 1340, 1349,
1809
1358, 1370, 1380, 1388, 1397, 1404, 1411, 1419, 1427, 1435,
1810
1442, 1449, 1457, 1464, 1470, 1477, 1478, 1484, 1492, 1502,
1811
1510, 1514, 1515, 1516, 1520, 1521, 1534, 1553, 1577, 1578,
1812
1587, 1588, 1589, 1595, 1596, 1601, 1605, 1609, 1613, 1617,
1813
1621, 1625, 1629, 1633, 1637, 1646, 1650, 1654, 1658, 1663,
1814
1667, 1671, 1672, 1683, 1697, 1723, 1724, 1725, 1726, 1727,
1815
1728, 1729, 1733, 1734, 1738, 1742, 1749, 1750, 1751, 1754,
1816
1766, 1767, 1771, 1792, 1793, 1812, 1823, 1834, 1845, 1856,
1817
1867, 1886, 1914, 1920, 1926, 1932, 1950, 1961, 1962, 1963,
1818
1972, 1993, 1997, 2007, 2018, 2029, 2047, 2048, 2052, 2053,
1819
2056, 2062, 2066, 2073, 2078, 2090, 2092, 2094, 2096, 2099,
1820
2102, 2105, 2109, 2110, 2111, 2112, 2113, 2116, 2117, 2121,
1821
2122, 2123, 2126, 2127, 2128, 2129, 2132, 2133, 2136, 2137,
1822
2147, 2176, 2177, 2178, 2182, 2183, 2187, 2188, 2192, 2218,
1823
2229, 2238, 2239, 2242, 2246, 2250, 2254, 2258, 2262, 2266,
1824
2270, 2274, 2278, 2284, 2285, 2289, 2290, 2293, 2294, 2301,
1825
2313, 2323, 2337, 2338, 2346, 2347, 2351, 2352, 2356, 2357,
1826
2361, 2371, 2372, 2382, 2392, 2393, 2406, 2423, 2441, 2465,
1827
2466, 2470, 2476, 2482, 2491, 2492, 2493, 2497, 2502, 2512,
1828
2513, 2517, 2518, 2522, 2523, 2524, 2528, 2534, 2535, 2536,
1829
2537, 2538, 2542, 2543, 2547, 2549, 2557, 2564, 2573, 2577,
1830
2578, 2582, 2583, 2588, 2609, 2628, 2651, 2659, 2667, 2675,
1831
2711, 2714, 2715, 2718, 2722, 2729, 2730, 2731, 2732, 2745,
1832
2759, 2760, 2764, 2774, 2784, 2793, 2802, 2803, 2806, 2807,
1833
2812, 2831, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848,
1834
2852, 2853, 2856, 2857, 2860, 2862, 2875, 2901, 2910, 2920,
1835
2929, 2939, 2948, 2957, 2967, 2976, 2985, 2994, 3003, 3015,
1836
3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3028,
1837
3029, 3039, 3046, 3055, 3062, 3075, 3081, 3088, 3095, 3102,
1838
3109, 3116, 3123, 3130, 3137, 3144, 3151, 3158, 3165, 3172,
1839
3181, 3182, 3192, 3207, 3220, 3246, 3248, 3250, 3254, 3256,
1840
3260, 3261, 3262, 3263, 3271, 3278, 3285, 3292, 3299, 3306,
1841
3313, 3324, 3325, 3328, 3338, 3352, 3353, 3357, 3358, 3363,
1842
3379, 3392, 3402, 3414, 3415, 3418, 3419, 3434, 3450, 3451,
1843
3455, 3456, 3459, 3460, 3468, 3475, 3482, 3491, 3492, 3493,
1844
3508, 3520, 3535, 3536, 3539, 3540, 3544, 3545, 3559, 3567,
1845
3575, 3583, 3591, 3602, 3603, 3604, 3605, 3611, 3615, 3629,
1846
3630, 3637, 3650, 3651, 3658, 3662, 3666, 3670, 3674, 3678,
1847
3682, 3686, 3690, 3694, 3701, 3705, 3709, 3715, 3716, 3723,
1848
3724, 3736, 3747, 3748, 3753, 3754, 3769, 3780, 3791, 3792,
1849
3796, 3807, 3814, 3816, 3818, 3823, 3825, 3836, 3846, 3858,
1850
3859, 3860, 3864, 3886, 3894, 3904, 3917, 3918, 3921, 3922,
1851
3932, 3941, 3949, 3957, 3966, 3974, 3982, 3991, 3999, 4008,
1852
4017, 4026, 4035, 4043, 4051, 4061, 4062, 4072, 4081, 4089,
1853
4098, 4106, 4114, 4130, 4139, 4147, 4155, 4163, 4172, 4181,
1854
4190, 4198, 4206, 4224, 4223, 4242, 4243, 4244, 4249, 4255,
1855
4264, 4265, 4266, 4267, 4268, 4272, 4273, 4277, 4278, 4279,
1856
4280, 4284, 4285, 4286, 4291, 4311, 4319, 4328, 4334, 4355,
1857
4362, 4369, 4376, 4383, 4390, 4397, 4405, 4413, 4421, 4429,
1858
4437, 4444, 4451, 4460, 4461, 4462, 4466, 4469, 4472, 4479,
1859
4481, 4483, 4488, 4490, 4501, 4512, 4532, 4548, 4558, 4559,
1860
4563, 4567, 4571, 4575, 4579, 4583, 4587, 4591, 4595, 4599,
1861
4603, 4607, 4617, 4618, 4629, 4639, 4647, 4659, 4660, 4664,
1862
4678, 4694, 4706, 4715, 4723, 4731, 4740, 4751, 4752, 4766,
1863
4789, 4796, 4803, 4820, 4832, 4844, 4856, 4868, 4883, 4884,
1864
4888, 4889, 4892, 4893, 4896, 4897, 4901, 4902, 4913, 4924,
1865
4925, 4926, 4927, 4928, 4929, 4933, 4934, 4944, 4954, 4955,
1866
4958, 4959, 4964, 4965, 4966, 4967, 4977, 4985, 5001, 5002,
1867
5012, 5018, 5034, 5042, 5049, 5056, 5063, 5070, 5080, 5082,
1868
5087, 5104, 5115, 5116, 5119, 5130, 5131, 5134, 5135, 5136,
1869
5137, 5138, 5139, 5140, 5141, 5144, 5145, 5156, 5177, 5189,
1870
5190, 5191, 5192, 5193, 5196, 5197, 5198, 5246, 5247, 5251,
1871
5252, 5262, 5263, 5269, 5275, 5284, 5285, 5312, 5328, 5332,
1872
5336, 5343, 5344, 5352, 5357, 5362, 5367, 5372, 5377, 5382,
1873
5387, 5394, 5395, 5398, 5399, 5400, 5407, 5408, 5409, 5410,
1874
5414, 5415, 5419, 5423, 5424, 5427, 5434, 5441, 5448, 5459,
1875
5461, 5463, 5465, 5467, 5478, 5480, 5484, 5485, 5495, 5499,
1876
5500, 5504, 5505, 5509, 5517, 5525, 5529, 5530, 5534, 5535,
1877
5547, 5548, 5552, 5553, 5563, 5567, 5572, 5579, 5587, 5594,
1878
5604, 5614, 5633, 5640, 5644, 5670, 5674, 5686, 5700, 5713,
1879
5727, 5738, 5753, 5759, 5764, 5770, 5777, 5778, 5779, 5780,
1880
5784, 5785, 5797, 5798, 5803, 5810, 5817, 5824, 5834, 5839,
1881
5840, 5845, 5849, 5855, 5876, 5881, 5887, 5893, 5903, 5905,
1882
5908, 5920, 5921, 5922, 5923, 5924, 5925, 5931, 5949, 5967,
1883
5968, 5969, 5970, 5971, 5975, 5986, 5990, 5994, 5998, 6002,
1884
6006, 6010, 6014, 6019, 6024, 6029, 6035, 6051, 6057, 6072,
1885
6083, 6090, 6105, 6116, 6127, 6131, 6139, 6143, 6151, 6172,
1886
6193, 6197, 6203, 6207, 6220, 6255, 6278, 6280, 6282, 6284,
1887
6286, 6288, 6293, 6294, 6298, 6299, 6303, 6329, 6340, 6362,
1888
6372, 6376, 6377, 6378, 6382, 6383, 6384, 6385, 6386, 6387,
1889
6388, 6390, 6392, 6395, 6398, 6400, 6403, 6405, 6431, 6432,
1890
6434, 6452, 6454, 6456, 6458, 6460, 6462, 6464, 6466, 6468,
1891
6470, 6472, 6475, 6477, 6479, 6482, 6484, 6486, 6489, 6491,
1892
6500, 6502, 6511, 6513, 6522, 6524, 6534, 6545, 6554, 6565,
1893
6584, 6596, 6608, 6620, 6632, 6636, 6643, 6650, 6657, 6664,
1894
6671, 6678, 6682, 6686, 6690, 6696, 6702, 6712, 6722, 6752,
1895
6784, 6796, 6803, 6829, 6831, 6833, 6835, 6837, 6839, 6841,
1896
6843, 6845, 6847, 6849, 6851, 6853, 6855, 6857, 6859, 6861,
1897
6865, 6869, 6883, 6884, 6885, 6899, 6911, 6913, 6915, 6924,
1898
6933, 6942, 6944, 6961, 6970, 6979, 6992, 7001, 7026, 7054,
1899
7071, 7101, 7114, 7145, 7162, 7192, 7209, 7240, 7249, 7258,
1900
7267, 7276, 7278, 7287, 7301, 7311, 7323, 7339, 7351, 7360,
1901
7369, 7378, 7392, 7401, 7405, 7411, 7418, 7437, 7438, 7439,
1902
7442, 7443, 7444, 7447, 7448, 7451, 7452, 7453, 7454, 7455,
1903
7456, 7457, 7458, 7459, 7462, 7464, 7469, 7471, 7476, 7478,
1904
7480, 7482, 7484, 7486, 7498, 7502, 7509, 7516, 7519, 7523,
1905
7529, 7531, 7535, 7541, 7554, 7555, 7556, 7557, 7558, 7559,
1906
7560, 7561, 7570, 7574, 7581, 7588, 7589, 7605, 7609, 7614,
1907
7618, 7633, 7638, 7642, 7645, 7648, 7649, 7650, 7653, 7660,
1908
7670, 7683, 7684, 7688, 7698, 7699, 7702, 7703, 7711, 7715,
1909
7722, 7726, 7730, 7737, 7747, 7748, 7752, 7753, 7756, 7757,
1910
7768, 7769, 7773, 7780, 7787, 7800, 7801, 7805, 7812, 7823,
1911
7824, 7828, 7835, 7852, 7853, 7857, 7858, 7869, 7876, 7902,
1912
7904, 7909, 7912, 7915, 7917, 7919, 7921, 7931, 7933, 7941,
1913
7948, 7955, 7962, 7969, 7981, 7989, 8000, 8023, 8027, 8031,
1914
8039, 8040, 8041, 8043, 8044, 8060, 8061, 8062, 8067, 8068,
1915
8074, 8075, 8076, 8082, 8083, 8084, 8085, 8086, 8102, 8103,
1916
8104, 8105, 8106, 8107, 8108, 8109, 8110, 8111, 8112, 8113,
1917
8114, 8115, 8116, 8117, 8118, 8119, 8120, 8121, 8122, 8123,
1918
8124, 8125, 8126, 8127, 8128, 8129, 8130, 8131, 8132, 8133,
1919
8134, 8135, 8136, 8137, 8138, 8139, 8140, 8141, 8142, 8143,
1920
8144, 8145, 8146, 8147, 8148, 8149, 8150, 8151, 8152, 8153,
1921
8154, 8155, 8156, 8157, 8158, 8159, 8160, 8161, 8162, 8163,
1922
8164, 8165, 8166, 8167, 8168, 8169, 8170, 8171, 8172, 8173,
1923
8174, 8175, 8176, 8177, 8178, 8179, 8180, 8181, 8182, 8183,
1924
8184, 8185, 8186, 8187, 8188, 8189, 8190, 8191, 8192, 8193,
1925
8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8203,
1926
8204, 8205, 8206, 8207, 8208, 8209, 8210, 8211, 8212, 8213,
1927
8214, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8223,
1928
8224, 8225, 8226, 8227, 8228, 8229, 8230, 8231, 8232, 8233,
1929
8234, 8235, 8236, 8237, 8238, 8239, 8240, 8241, 8242, 8243,
1930
8244, 8245, 8246, 8247, 8248, 8249, 8250, 8251, 8252, 8253,
1931
8254, 8255, 8256, 8257, 8258, 8259, 8260, 8261, 8262, 8263,
1932
8264, 8265, 8266, 8267, 8268, 8269, 8270, 8271, 8272, 8273,
1933
8274, 8275, 8276, 8277, 8278, 8279, 8280, 8281, 8282, 8283,
1934
8284, 8285, 8286, 8287, 8288, 8289, 8290, 8291, 8292, 8293,
1935
8294, 8295, 8296, 8297, 8298, 8299, 8300, 8301, 8302, 8303,
1936
8304, 8305, 8319, 8320, 8321, 8322, 8323, 8324, 8325, 8326,
1937
8327, 8328, 8329, 8330, 8331, 8332, 8333, 8334, 8335, 8336,
1938
8337, 8338, 8339, 8340, 8341, 8342, 8343, 8344, 8345, 8346,
1939
8347, 8348, 8349, 8350, 8351, 8352, 8353, 8354, 8355, 8369,
1940
8370, 8371, 8372, 8373, 8374, 8375, 8376, 8377, 8378, 8379,
1941
8380, 8381, 8382, 8383, 8384, 8385, 8386, 8387, 8388, 8398,
1942
8399, 8400, 8401, 8402, 8403, 8404, 8405, 8406, 8407, 8408,
1943
8409, 8410, 8411, 8412, 8413, 8414, 8415, 8416, 8417, 8418,
1944
8419, 8420, 8421, 8422, 8423, 8424, 8425, 8426, 8427, 8428,
1945
8429, 8430, 8431, 8432, 8433, 8434, 8435, 8436, 8437, 8438,
1946
8439, 8440, 8441, 8442, 8443, 8444, 8445, 8446, 8447, 8448,
1947
8449, 8450, 8451, 8452, 8453, 8454, 8455, 8456, 8457, 8458,
1948
8459, 8460, 8461, 8462, 8463, 8464, 8465, 8466, 8467, 8468,
1949
8469, 8470, 8475, 8484
1953
#if YYDEBUG || YYERROR_VERBOSE
1954
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1955
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1956
static const char *const yytname[] =
1958
"$end", "error", "$undefined", "ABORT_P", "ABSOLUTE_P", "ACCESS",
1959
"ACTION", "ADD", "ADMIN", "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER",
1960
"ANALYSE", "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION",
1961
"ASSIGNMENT", "ASYMMETRIC", "AT", "AUTHORIZATION", "BACKWARD", "BEFORE",
1962
"BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH",
1963
"BY", "CACHE", "CALLED", "CASCADE", "CASE", "CAST", "CHAIN", "CHAR_P",
1964
"CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE",
1965
"CLUSTER", "COALESCE", "COLLATE", "COLUMN", "COMMENT", "COMMIT",
1966
"COMMITTED", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONVERSION_P",
1967
"CONVERT", "COPY", "CREATE", "CREATEDB", "CREATEROLE", "CREATEUSER",
1968
"CROSS", "CSV", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_TIME",
1969
"CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATABASE",
1970
"DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", "DEFAULT",
1971
"DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER",
1972
"DELIMITERS", "DESC", "DISABLE_P", "DISTINCT", "DO", "DOMAIN_P",
1973
"DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED",
1974
"END_P", "ESCAPE", "EXCEPT", "EXCLUDING", "EXCLUSIVE", "EXECUTE",
1975
"EXISTS", "EXPLAIN", "EXTERNAL", "EXTRACT", "FALSE_P", "FETCH",
1976
"FIRST_P", "FLOAT_P", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE",
1977
"FROM", "FULL", "FUNCTION", "GLOBAL", "GRANT", "GRANTED", "GREATEST",
1978
"GROUP_P", "HANDLER", "HAVING", "HEADER", "HOLD", "HOUR_P", "ILIKE",
1979
"IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IN_P", "INCLUDING", "INCREMENT",
1980
"INDEX", "INHERIT", "INHERITS", "INITIALLY", "INNER_P", "INOUT",
1981
"INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER",
1982
"INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION",
1983
"JOIN", "KEY", "LANCOMPILER", "LANGUAGE", "LARGE_P", "LAST_P", "LEADING",
1984
"LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL",
1985
"LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOGIN_P", "MATCH",
1986
"MAXVALUE", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAMES",
1987
"NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NO", "NOCREATEDB",
1988
"NOCREATEROLE", "NOCREATEUSER", "NOINHERIT", "NOLOGIN_P", "NONE",
1989
"NOSUPERUSER", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P",
1990
"NULLIF", "NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET", "OIDS", "OLD",
1991
"ON", "ONLY", "OPERATOR", "OPTION", "OR", "ORDER", "OUT_P", "OUTER_P",
1992
"OVERLAPS", "OVERLAY", "OWNER", "PARTIAL", "PASSWORD", "PLACING",
1993
"POSITION", "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY",
1994
"PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "QUOTE", "READ",
1995
"REAL", "RECHECK", "REFERENCES", "REINDEX", "RELATIVE_P", "RELEASE",
1996
"RENAME", "REPEATABLE", "REPLACE", "RESET", "RESTART", "RESTRICT",
1997
"RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROW", "ROWS", "RULE",
1998
"SAVEPOINT", "SCHEMA", "SCROLL", "SECOND_P", "SECURITY", "SELECT",
1999
"SEQUENCE", "SERIALIZABLE", "SESSION", "SESSION_USER", "SET", "SETOF",
2000
"SHARE", "SHOW", "SIMILAR", "SIMPLE", "SMALLINT", "SOME", "STABLE",
2001
"START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE",
2002
"STRICT_P", "SUBSTRING", "SUPERUSER_P", "SYMMETRIC", "SYSID", "SYSTEM_P",
2003
"TABLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "THEN", "TIME",
2004
"TIMESTAMP", "TO", "TOAST", "TRAILING", "TRANSACTION", "TREAT",
2005
"TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P",
2006
"UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN",
2007
"UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATOR",
2008
"VALUES", "VARCHAR", "VARYING", "VERBOSE", "VIEW", "VOLATILE", "WHEN",
2009
"WHERE", "WITH", "WITHOUT", "WORK", "WRITE", "YEAR_P", "ZONE",
2010
"UNIONJOIN", "IDENT", "FCONST", "SCONST", "BCONST", "XCONST", "Op",
2011
"ICONST", "PARAM", "'='", "'<'", "'>'", "POSTFIXOP", "'+'", "'-'", "'*'",
2012
"'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "TYPECAST",
2013
"'.'", "';'", "','", "':'", "$accept", "stmtblock", "stmtmulti", "stmt",
2014
"CreateRoleStmt", "opt_with", "OptRoleList", "OptRoleElem",
2015
"CreateUserStmt", "AlterRoleStmt", "AlterRoleSetStmt", "AlterUserStmt",
2016
"AlterUserSetStmt", "DropRoleStmt", "DropUserStmt", "CreateGroupStmt",
2017
"AlterGroupStmt", "add_drop", "DropGroupStmt", "CreateSchemaStmt",
2018
"OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
2019
"set_rest", "var_name", "var_list_or_default", "var_list", "var_value",
2020
"iso_level", "opt_boolean", "zone_value", "opt_encoding",
2021
"ColId_or_Sconst", "VariableShowStmt", "VariableResetStmt",
2022
"ConstraintsSetStmt", "constraints_set_list", "constraints_set_mode",
2023
"CheckPointStmt", "AlterTableStmt", "alter_table_cmds",
2024
"alter_table_cmd", "alter_rel_cmds", "alter_rel_cmd",
2025
"alter_column_default", "opt_drop_behavior", "alter_using",
2026
"ClosePortalStmt", "CopyStmt", "copy_from", "copy_file_name",
2027
"copy_opt_list", "copy_opt_item", "opt_binary", "opt_oids",
2028
"copy_delimiter", "opt_using", "CreateStmt", "OptTemp",
2029
"OptTableElementList", "TableElementList", "TableElement", "columnDef",
2030
"ColQualList", "ColConstraint", "ColConstraintElem", "ConstraintAttr",
2031
"TableLikeClause", "like_including_defaults", "TableConstraint",
2032
"ConstraintElem", "opt_column_list", "columnList", "columnElem",
2033
"key_match", "key_actions", "key_update", "key_delete", "key_action",
2034
"OptInherit", "OptWithOids", "OnCommitOption", "OptTableSpace",
2035
"OptConsTableSpace", "CreateAsStmt", "WithOidsAs", "OptCreateAs",
2036
"CreateAsList", "CreateAsElement", "CreateSeqStmt", "AlterSeqStmt",
2037
"OptSeqList", "OptSeqElem", "opt_by", "NumericOnly", "FloatOnly",
2038
"IntegerOnly", "CreatePLangStmt", "opt_trusted", "handler_name",
2039
"opt_validator", "opt_lancompiler", "DropPLangStmt", "opt_procedural",
2040
"CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
2041
"CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
2042
"TriggerOneEvent", "TriggerForSpec", "TriggerForOpt", "TriggerForType",
2043
"TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
2044
"ConstraintAttributeSpec", "ConstraintDeferrabilitySpec",
2045
"ConstraintTimeSpec", "DropTrigStmt", "CreateAssertStmt",
2046
"DropAssertStmt", "DefineStmt", "definition", "def_list", "def_elem",
2047
"def_arg", "CreateOpClassStmt", "opclass_item_list", "opclass_item",
2048
"opt_default", "opt_recheck", "DropOpClassStmt", "DropStmt", "drop_type",
2049
"any_name_list", "any_name", "attrs", "TruncateStmt", "CommentStmt",
2050
"comment_type", "comment_text", "FetchStmt", "fetch_direction",
2051
"from_in", "GrantStmt", "RevokeStmt", "privileges", "privilege_list",
2052
"privilege", "privilege_target", "grantee_list", "grantee",
2053
"opt_grant_grant_option", "function_with_argtypes_list",
2054
"function_with_argtypes", "GrantRoleStmt", "RevokeRoleStmt",
2055
"opt_grant_admin_option", "opt_granted_by", "IndexStmt",
2056
"index_opt_unique", "access_method_clause", "index_params", "index_elem",
2057
"opt_class", "CreateFunctionStmt", "opt_or_replace", "func_args",
2058
"func_args_list", "func_arg", "arg_class", "param_name", "func_return",
2059
"func_type", "createfunc_opt_list", "common_func_opt_item",
2060
"createfunc_opt_item", "func_as", "opt_definition", "AlterFunctionStmt",
2061
"alterfunc_opt_list", "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt",
2062
"aggr_argtype", "RemoveOperStmt", "oper_argtypes", "any_operator",
2063
"CreateCastStmt", "cast_context", "DropCastStmt", "ReindexStmt",
2064
"reindex_type", "opt_force", "RenameStmt", "opt_column",
2065
"AlterObjectSchemaStmt", "AlterOwnerStmt", "RuleStmt", "@1",
2066
"RuleActionList", "RuleActionMulti", "RuleActionStmt",
2067
"RuleActionStmtOrEmpty", "event", "opt_instead", "DropRuleStmt",
2068
"NotifyStmt", "ListenStmt", "UnlistenStmt", "TransactionStmt",
2069
"opt_transaction", "transaction_mode_item", "transaction_mode_list",
2070
"transaction_mode_list_or_empty", "ViewStmt", "LoadStmt", "CreatedbStmt",
2071
"createdb_opt_list", "createdb_opt_item", "opt_equal",
2072
"AlterDatabaseStmt", "AlterDatabaseSetStmt", "alterdb_opt_list",
2073
"alterdb_opt_item", "DropdbStmt", "CreateDomainStmt", "AlterDomainStmt",
2074
"opt_as", "CreateConversionStmt", "ClusterStmt", "VacuumStmt",
2075
"AnalyzeStmt", "analyze_keyword", "opt_verbose", "opt_full",
2076
"opt_freeze", "opt_name_list", "ExplainStmt", "ExplainableStmt",
2077
"opt_analyze", "PrepareStmt", "prep_type_clause", "prep_type_list",
2078
"PreparableStmt", "ExecuteStmt", "execute_param_clause",
2079
"DeallocateStmt", "InsertStmt", "insert_rest", "insert_column_list",
2080
"insert_column_item", "DeleteStmt", "using_clause", "LockStmt",
2081
"opt_lock", "lock_type", "opt_nowait", "UpdateStmt", "DeclareCursorStmt",
2082
"cursor_options", "opt_hold", "SelectStmt", "select_with_parens",
2083
"select_no_parens", "select_clause", "simple_select", "into_clause",
2084
"OptTempTableName", "opt_table", "opt_all", "opt_distinct",
2085
"opt_sort_clause", "sort_clause", "sortby_list", "sortby",
2086
"select_limit", "opt_select_limit", "select_limit_value",
2087
"select_offset_value", "group_clause", "having_clause",
2088
"for_locking_clause", "opt_for_locking_clause", "locked_rels_list",
2089
"from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
2090
"join_type", "join_outer", "join_qual", "relation_expr", "func_table",
2091
"where_clause", "TableFuncElementList", "TableFuncElement", "Typename",
2092
"opt_array_bounds", "SimpleTypename", "ConstTypename", "GenericType",
2093
"Numeric", "opt_float", "opt_numeric", "opt_decimal", "Bit", "ConstBit",
2094
"BitWithLength", "BitWithoutLength", "Character", "ConstCharacter",
2095
"CharacterWithLength", "CharacterWithoutLength", "character",
2096
"opt_varying", "opt_charset", "ConstDatetime", "ConstInterval",
2097
"opt_timezone", "opt_interval", "a_expr", "b_expr", "c_expr",
2098
"func_expr", "row", "sub_type", "all_Op", "MathOp", "qual_Op",
2099
"qual_all_Op", "subquery_Op", "expr_list", "extract_list", "type_list",
2100
"array_expr_list", "array_expr", "extract_arg", "overlay_list",
2101
"overlay_placing", "position_list", "substr_list", "substr_from",
2102
"substr_for", "trim_list", "in_expr", "case_expr", "when_clause_list",
2103
"when_clause", "case_default", "case_arg", "columnref", "indirection_el",
2104
"indirection", "opt_indirection", "opt_asymmetric", "target_list",
2105
"target_el", "update_target_list", "update_target_el",
2106
"insert_target_list", "insert_target_el", "relation_name",
2107
"qualified_name_list", "qualified_name", "name_list", "name",
2108
"database_name", "access_method", "attr_name", "index_name", "file_name",
2109
"func_name", "AexprConst", "Iconst", "Sconst", "RoleId", "SignedIconst",
2110
"ColId", "type_name", "function_name", "ColLabel", "unreserved_keyword",
2111
"col_name_keyword", "func_name_keyword", "reserved_keyword",
2112
"SpecialRuleRelation", 0
2117
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
2119
static const unsigned short yytoknum[] =
2121
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2122
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2123
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2124
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2125
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2126
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2127
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2128
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2129
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2130
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2131
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2132
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2133
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2134
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
2135
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
2136
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2137
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
2138
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
2139
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
2140
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2141
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2142
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
2143
475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
2144
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
2145
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
2146
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
2147
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
2148
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
2149
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2150
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2151
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2152
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
2153
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2154
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
2155
595, 596, 597, 598, 599, 600, 61, 60, 62, 601,
2156
43, 45, 42, 47, 37, 94, 602, 91, 93, 40,
2157
41, 603, 46, 59, 44, 58
2161
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2162
static const unsigned short yyr1[] =
2164
0, 366, 367, 368, 368, 369, 369, 369, 369, 369,
2165
369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
2166
369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
2167
369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
2168
369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
2169
369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
2170
369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
2171
369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
2172
369, 369, 369, 369, 369, 369, 369, 369, 369, 370,
2173
371, 371, 372, 372, 373, 373, 373, 373, 373, 373,
2174
373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
2175
373, 373, 373, 373, 373, 373, 373, 374, 375, 376,
2176
376, 377, 378, 378, 379, 380, 381, 382, 383, 383,
2177
384, 385, 385, 386, 386, 387, 387, 388, 388, 388,
2178
388, 388, 388, 389, 389, 389, 390, 390, 390, 390,
2179
390, 390, 390, 390, 390, 391, 391, 392, 392, 393,
2180
393, 394, 394, 394, 395, 395, 395, 395, 396, 396,
2181
396, 396, 397, 397, 397, 397, 397, 397, 397, 398,
2182
398, 398, 399, 399, 400, 400, 400, 400, 400, 401,
2183
401, 401, 401, 401, 402, 403, 403, 404, 404, 405,
2184
406, 406, 407, 407, 408, 408, 408, 408, 408, 408,
2185
408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
2186
408, 408, 408, 408, 408, 409, 409, 410, 410, 411,
2187
411, 412, 412, 412, 413, 413, 414, 415, 416, 416,
2188
417, 417, 417, 418, 418, 419, 419, 419, 419, 419,
2189
419, 419, 419, 419, 419, 420, 420, 421, 421, 422,
2190
422, 423, 423, 424, 424, 425, 425, 425, 425, 425,
2191
425, 425, 426, 426, 427, 427, 428, 428, 428, 429,
2192
430, 430, 431, 431, 431, 432, 432, 432, 432, 432,
2193
432, 432, 433, 433, 433, 433, 434, 435, 435, 435,
2194
436, 436, 437, 437, 437, 437, 438, 438, 439, 439,
2195
440, 441, 441, 441, 441, 442, 442, 442, 442, 442,
2196
443, 444, 445, 445, 445, 445, 445, 446, 446, 447,
2197
447, 447, 448, 448, 448, 448, 449, 449, 450, 450,
2198
451, 452, 452, 452, 453, 453, 454, 454, 455, 456,
2199
457, 458, 458, 459, 459, 459, 459, 459, 459, 459,
2200
459, 459, 459, 460, 460, 461, 461, 462, 462, 463,
2201
464, 464, 465, 465, 466, 466, 467, 467, 468, 468,
2202
469, 470, 470, 471, 472, 472, 473, 474, 474, 475,
2203
475, 476, 476, 476, 477, 477, 477, 478, 478, 479,
2204
479, 480, 480, 481, 481, 481, 482, 482, 482, 482,
2205
482, 482, 483, 483, 484, 484, 484, 484, 484, 485,
2206
485, 486, 486, 487, 488, 489, 490, 490, 490, 490,
2207
491, 492, 492, 493, 493, 494, 494, 494, 494, 495,
2208
496, 496, 497, 497, 497, 497, 498, 498, 499, 499,
2209
500, 501, 502, 502, 502, 502, 502, 502, 502, 502,
2210
503, 503, 504, 504, 505, 505, 506, 507, 507, 507,
2211
507, 507, 507, 507, 507, 507, 507, 507, 507, 508,
2212
508, 508, 508, 508, 508, 508, 508, 508, 508, 509,
2213
509, 510, 510, 510, 510, 511, 511, 511, 511, 511,
2214
511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
2215
512, 512, 513, 514, 514, 515, 515, 515, 516, 516,
2216
517, 517, 517, 517, 518, 518, 518, 518, 518, 518,
2217
518, 519, 519, 520, 520, 521, 521, 522, 522, 523,
2218
524, 525, 525, 526, 526, 527, 527, 528, 529, 529,
2219
530, 530, 531, 531, 532, 532, 532, 533, 533, 533,
2220
534, 534, 535, 535, 536, 536, 537, 537, 538, 538,
2221
538, 538, 538, 539, 539, 539, 539, 540, 541, 542,
2222
542, 542, 543, 543, 544, 544, 544, 544, 544, 544,
2223
544, 544, 544, 544, 545, 545, 545, 546, 546, 547,
2224
547, 548, 549, 549, 550, 550, 551, 552, 553, 553,
2225
554, 555, 555, 555, 555, 556, 556, 557, 557, 558,
2226
558, 558, 559, 560, 560, 560, 561, 561, 562, 562,
2227
563, 563, 563, 563, 563, 563, 563, 563, 563, 563,
2228
563, 563, 563, 563, 563, 564, 564, 565, 565, 565,
2229
565, 565, 565, 566, 566, 566, 566, 566, 566, 566,
2230
566, 566, 566, 568, 567, 569, 569, 569, 570, 570,
2231
571, 571, 571, 571, 571, 572, 572, 573, 573, 573,
2232
573, 574, 574, 574, 575, 576, 577, 578, 578, 579,
2233
579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
2234
579, 579, 579, 580, 580, 580, 581, 581, 581, 582,
2235
582, 582, 583, 583, 584, 584, 585, 586, 587, 587,
2236
588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
2237
588, 588, 589, 589, 590, 591, 591, 592, 592, 593,
2238
594, 595, 596, 596, 596, 596, 596, 597, 597, 598,
2239
599, 599, 599, 600, 600, 600, 601, 601, 602, 602,
2240
603, 603, 604, 604, 605, 605, 606, 606, 607, 608,
2241
608, 608, 608, 608, 608, 609, 609, 610, 611, 611,
2242
612, 612, 613, 613, 613, 613, 614, 614, 615, 615,
2243
616, 616, 617, 618, 618, 618, 618, 618, 619, 619,
2244
620, 621, 622, 622, 623, 624, 624, 625, 625, 625,
2245
625, 625, 625, 625, 625, 626, 626, 627, 628, 629,
2246
629, 629, 629, 629, 630, 630, 630, 631, 631, 632,
2247
632, 633, 633, 633, 633, 634, 634, 635, 635, 635,
2248
635, 636, 636, 637, 637, 637, 637, 637, 637, 637,
2249
637, 638, 638, 639, 639, 639, 640, 640, 640, 640,
2250
641, 641, 642, 643, 643, 644, 644, 644, 644, 645,
2251
645, 645, 645, 645, 646, 646, 647, 647, 648, 649,
2252
649, 650, 650, 651, 651, 651, 652, 652, 653, 653,
2253
654, 654, 655, 655, 656, 656, 656, 656, 656, 656,
2254
656, 656, 656, 656, 656, 657, 657, 657, 657, 657,
2255
657, 657, 658, 658, 658, 658, 659, 659, 659, 659,
2256
660, 660, 661, 661, 662, 662, 662, 662, 663, 664,
2257
664, 665, 665, 666, 667, 667, 667, 667, 668, 668,
2258
668, 669, 669, 669, 669, 669, 669, 669, 669, 670,
2259
670, 670, 670, 670, 671, 672, 672, 672, 672, 672,
2260
672, 672, 672, 672, 672, 672, 673, 673, 674, 674,
2261
674, 675, 675, 675, 676, 676, 677, 677, 678, 679,
2262
680, 680, 681, 681, 682, 683, 684, 684, 684, 684,
2263
684, 684, 685, 685, 686, 686, 687, 687, 687, 687,
2264
688, 689, 689, 689, 690, 690, 690, 690, 690, 690,
2265
690, 690, 690, 690, 690, 690, 690, 690, 691, 691,
2266
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
2267
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
2268
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
2269
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
2270
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
2271
691, 691, 691, 692, 692, 692, 692, 692, 692, 692,
2272
692, 692, 692, 692, 692, 692, 692, 692, 692, 692,
2273
692, 692, 693, 693, 693, 693, 693, 693, 693, 693,
2274
693, 693, 693, 694, 694, 694, 694, 694, 694, 694,
2275
694, 694, 694, 694, 694, 694, 694, 694, 694, 694,
2276
694, 694, 694, 694, 694, 694, 694, 694, 694, 694,
2277
694, 694, 694, 694, 694, 694, 694, 695, 695, 695,
2278
696, 696, 696, 697, 697, 698, 698, 698, 698, 698,
2279
698, 698, 698, 698, 699, 699, 700, 700, 701, 701,
2280
701, 701, 701, 701, 702, 702, 703, 703, 704, 704,
2281
705, 705, 706, 706, 707, 707, 707, 707, 707, 707,
2282
707, 707, 708, 708, 709, 710, 710, 711, 711, 711,
2283
711, 711, 711, 712, 713, 714, 714, 714, 715, 715,
2284
716, 717, 717, 718, 719, 719, 720, 720, 721, 721,
2285
722, 722, 722, 722, 723, 723, 724, 724, 725, 725,
2286
726, 726, 727, 727, 727, 728, 728, 729, 729, 730,
2287
730, 731, 731, 732, 732, 733, 733, 734, 734, 735,
2288
735, 736, 737, 738, 739, 740, 741, 742, 742, 743,
2289
743, 743, 743, 743, 743, 743, 743, 743, 743, 743,
2290
744, 745, 746, 747, 747, 748, 748, 748, 749, 749,
2291
750, 750, 750, 751, 751, 751, 751, 751, 752, 752,
2292
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2293
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2294
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2295
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2296
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2297
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2298
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2299
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2300
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2301
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2302
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2303
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2304
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2305
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2306
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2307
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2308
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2309
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2310
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2311
752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
2312
752, 752, 753, 753, 753, 753, 753, 753, 753, 753,
2313
753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2314
753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2315
753, 753, 753, 753, 753, 753, 753, 753, 753, 754,
2316
754, 754, 754, 754, 754, 754, 754, 754, 754, 754,
2317
754, 754, 754, 754, 754, 754, 754, 754, 754, 755,
2318
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2319
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2320
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2321
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2322
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2323
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2324
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2328
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
2329
static const unsigned char yyr2[] =
2331
0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
2332
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2333
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2334
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2335
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2336
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2337
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2338
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2339
1, 1, 1, 1, 1, 1, 1, 1, 0, 5,
2340
1, 0, 2, 0, 2, 3, 3, 1, 1, 1,
2341
1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
2342
3, 2, 2, 2, 2, 3, 3, 5, 5, 5,
2343
4, 5, 5, 4, 3, 3, 5, 6, 1, 1,
2344
3, 6, 4, 1, 0, 2, 0, 1, 1, 1,
2345
1, 1, 1, 2, 3, 3, 3, 3, 3, 2,
2346
5, 2, 2, 3, 3, 1, 3, 1, 1, 1,
2347
3, 1, 1, 1, 2, 2, 2, 1, 1, 1,
2348
1, 1, 1, 1, 3, 6, 1, 1, 1, 1,
2349
1, 0, 1, 1, 2, 3, 4, 3, 2, 2,
2350
3, 4, 3, 2, 4, 1, 1, 1, 1, 1,
2351
4, 4, 1, 3, 3, 4, 6, 6, 6, 6,
2352
4, 6, 2, 4, 3, 3, 3, 3, 3, 3,
2353
3, 3, 3, 3, 1, 1, 3, 3, 3, 3,
2354
2, 1, 1, 0, 2, 0, 2, 10, 1, 1,
2355
1, 1, 1, 2, 0, 1, 1, 3, 3, 1,
2356
1, 3, 3, 3, 4, 1, 0, 2, 0, 3,
2357
0, 1, 0, 11, 12, 1, 1, 2, 2, 2,
2358
2, 0, 1, 0, 1, 3, 1, 1, 1, 3,
2359
2, 0, 3, 1, 1, 2, 1, 2, 3, 4,
2360
2, 5, 1, 2, 2, 2, 3, 2, 2, 0,
2361
3, 1, 4, 5, 6, 11, 3, 0, 1, 3,
2362
1, 2, 2, 2, 0, 1, 1, 2, 2, 0,
2363
3, 3, 2, 1, 1, 2, 2, 4, 0, 2,
2364
2, 0, 3, 4, 4, 0, 2, 0, 4, 0,
2365
7, 3, 3, 1, 3, 0, 1, 3, 1, 5,
2366
4, 2, 0, 2, 1, 2, 3, 2, 2, 2,
2367
2, 3, 3, 1, 0, 1, 1, 1, 2, 1,
2368
5, 9, 1, 0, 1, 2, 2, 0, 2, 0,
2369
5, 1, 0, 6, 2, 0, 3, 14, 19, 1,
2370
1, 1, 3, 5, 1, 1, 1, 3, 0, 1,
2371
0, 1, 1, 1, 3, 0, 1, 1, 1, 1,
2372
1, 1, 2, 0, 1, 2, 1, 2, 0, 2,
2373
1, 2, 2, 6, 8, 4, 4, 4, 4, 7,
2374
3, 1, 3, 3, 1, 1, 1, 1, 1, 12,
2375
1, 3, 4, 7, 4, 2, 1, 0, 1, 0,
2376
7, 4, 1, 1, 1, 1, 1, 1, 1, 1,
2377
1, 3, 1, 2, 2, 3, 3, 6, 9, 7,
2378
9, 8, 8, 6, 8, 9, 7, 10, 7, 1,
2379
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2380
1, 4, 2, 4, 2, 0, 1, 1, 1, 1,
2381
2, 2, 1, 1, 1, 2, 2, 1, 2, 2,
2382
1, 1, 7, 7, 10, 1, 1, 2, 1, 3,
2383
1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
2384
2, 1, 3, 1, 2, 3, 0, 1, 3, 2,
2385
6, 6, 9, 3, 0, 3, 0, 12, 1, 0,
2386
2, 0, 1, 3, 2, 2, 4, 1, 2, 0,
2387
9, 7, 2, 0, 3, 2, 1, 3, 3, 3,
2388
2, 2, 1, 1, 1, 1, 2, 1, 1, 1,
2389
4, 5, 1, 2, 4, 5, 1, 1, 1, 1,
2390
3, 3, 2, 2, 2, 2, 1, 1, 3, 2,
2391
0, 5, 1, 2, 1, 0, 5, 7, 1, 1,
2392
7, 1, 3, 3, 3, 1, 3, 11, 10, 2,
2393
2, 0, 8, 4, 4, 4, 1, 1, 1, 0,
2394
9, 6, 6, 7, 6, 6, 9, 6, 6, 6,
2395
8, 8, 6, 6, 6, 1, 0, 9, 6, 7,
2396
6, 6, 6, 9, 6, 6, 6, 7, 9, 9,
2397
6, 6, 6, 0, 14, 1, 1, 3, 3, 1,
2398
1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
2399
1, 1, 1, 0, 6, 2, 2, 2, 2, 2,
2400
3, 3, 2, 2, 2, 2, 3, 2, 5, 4,
2401
3, 3, 3, 1, 1, 0, 3, 2, 2, 1,
2402
3, 2, 1, 0, 7, 9, 2, 5, 2, 0,
2403
3, 3, 3, 3, 3, 3, 3, 3, 3, 4,
2404
3, 3, 1, 0, 5, 5, 4, 2, 0, 4,
2405
3, 6, 4, 6, 6, 5, 7, 1, 0, 10,
2406
4, 2, 1, 4, 5, 5, 2, 4, 1, 1,
2407
1, 0, 1, 0, 1, 0, 3, 0, 4, 1,
2408
1, 1, 1, 1, 1, 1, 0, 5, 3, 0,
2409
1, 3, 1, 1, 1, 1, 3, 9, 3, 0,
2410
2, 3, 4, 4, 2, 1, 7, 4, 1, 3,
2411
2, 5, 2, 0, 5, 3, 0, 2, 2, 2,
2412
3, 1, 3, 1, 2, 1, 0, 6, 7, 0,
2413
3, 2, 2, 2, 0, 2, 2, 1, 1, 3,
2414
3, 1, 2, 4, 4, 1, 1, 8, 4, 4,
2415
4, 2, 0, 3, 3, 4, 4, 4, 4, 2,
2416
1, 1, 0, 1, 1, 0, 1, 5, 1, 0,
2417
1, 0, 3, 1, 3, 3, 2, 2, 1, 4,
2418
4, 2, 2, 4, 1, 0, 1, 1, 1, 3,
2419
0, 2, 0, 4, 4, 3, 1, 0, 2, 0,
2420
2, 0, 1, 3, 1, 2, 1, 2, 5, 6,
2421
5, 1, 2, 1, 4, 3, 4, 3, 5, 4,
2422
5, 4, 5, 2, 4, 1, 2, 2, 2, 1,
2423
1, 0, 4, 2, 1, 2, 2, 4, 1, 2,
2424
0, 1, 3, 2, 2, 3, 5, 6, 3, 4,
2425
0, 1, 1, 1, 1, 1, 2, 5, 2, 1,
2426
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2427
2, 2, 2, 2, 2, 1, 3, 0, 5, 3,
2428
0, 5, 3, 0, 1, 1, 1, 1, 5, 2,
2429
1, 1, 1, 1, 5, 2, 2, 2, 1, 3,
2430
3, 2, 1, 0, 3, 0, 5, 2, 5, 2,
2431
1, 3, 3, 0, 1, 1, 1, 1, 1, 1,
2432
3, 3, 3, 3, 3, 3, 3, 0, 1, 3,
2433
5, 2, 2, 3, 3, 3, 3, 3, 3, 3,
2434
3, 3, 3, 2, 2, 3, 3, 2, 3, 5,
2435
4, 6, 3, 5, 4, 6, 4, 6, 5, 7,
2436
2, 3, 2, 4, 3, 3, 4, 3, 4, 3,
2437
4, 5, 6, 7, 6, 7, 6, 7, 3, 4,
2438
4, 6, 2, 1, 3, 2, 2, 3, 3, 3,
2439
3, 3, 3, 3, 3, 3, 3, 2, 2, 5,
2440
6, 7, 1, 1, 2, 4, 1, 1, 1, 2,
2441
2, 2, 1, 3, 4, 5, 5, 4, 1, 1,
2442
4, 1, 4, 1, 4, 1, 4, 1, 1, 1,
2443
1, 6, 4, 4, 4, 4, 6, 5, 5, 5,
2444
4, 6, 4, 6, 4, 4, 4, 4, 3, 5,
2445
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2446
1, 1, 1, 1, 1, 4, 1, 4, 1, 4,
2447
1, 2, 1, 2, 1, 3, 3, 0, 3, 1,
2448
1, 3, 3, 3, 1, 1, 1, 1, 1, 1,
2449
1, 1, 4, 3, 2, 3, 0, 3, 3, 2,
2450
2, 1, 0, 2, 2, 3, 2, 1, 1, 3,
2451
5, 1, 2, 4, 2, 0, 1, 0, 1, 2,
2452
2, 2, 3, 5, 1, 2, 0, 2, 1, 0,
2453
1, 3, 3, 1, 1, 1, 3, 4, 4, 1,
2454
3, 1, 1, 1, 1, 1, 3, 1, 2, 1,
2455
3, 1, 1, 1, 1, 1, 1, 1, 2, 1,
2456
1, 1, 1, 1, 2, 3, 6, 1, 1, 1,
2457
1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
2458
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2459
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2460
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2461
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2462
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2463
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2464
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2465
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2466
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2467
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2468
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2469
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2470
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2471
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2472
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2473
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2474
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2475
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2476
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2477
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2478
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2479
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2480
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2481
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2482
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2483
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2484
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2485
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2486
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2487
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2488
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2489
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2490
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2491
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2495
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
2496
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
2497
means the default is an error. */
2498
static const unsigned short yydefact[] =
2500
88, 705, 0, 759, 758, 705, 199, 0, 752, 0,
2501
705, 256, 271, 0, 0, 0, 382, 705, 0, 776,
2502
495, 0, 0, 0, 0, 852, 495, 0, 0, 0,
2503
0, 0, 0, 705, 0, 859, 0, 0, 0, 852,
2504
0, 0, 763, 0, 0, 2, 4, 39, 40, 15,
2505
14, 17, 16, 55, 56, 31, 9, 48, 34, 85,
2506
86, 84, 23, 19, 13, 20, 24, 36, 25, 35,
2507
12, 33, 50, 37, 53, 38, 54, 26, 46, 44,
2508
32, 49, 52, 80, 22, 60, 61, 75, 62, 76,
2509
63, 30, 8, 72, 71, 73, 27, 47, 70, 74,
2510
10, 11, 77, 51, 68, 65, 81, 79, 87, 66,
2511
41, 5, 6, 57, 29, 7, 28, 21, 83, 18,
2512
761, 59, 69, 58, 42, 64, 45, 67, 82, 43,
2513
78, 836, 827, 861, 835, 704, 703, 689, 0, 0,
2514
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2515
0, 0, 0, 0, 0, 713, 1278, 1279, 1280, 1281,
2516
1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291,
2517
1292, 1293, 1482, 1483, 1484, 1294, 1295, 1296, 1297, 1298,
2518
1485, 1486, 1299, 1300, 1301, 1302, 1303, 1487, 1304, 1305,
2519
1306, 1307, 1308, 1309, 1488, 1310, 1311, 1312, 1313, 1314,
2520
1315, 1316, 1317, 1318, 1319, 1489, 1490, 1320, 1321, 1322,
2521
1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332,
2522
1333, 1334, 1335, 1336, 1337, 1338, 1491, 1339, 1340, 1492,
2523
1341, 1342, 1493, 1343, 1344, 1345, 1346, 1347, 1494, 1348,
2524
1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358,
2525
1359, 1495, 1360, 1361, 1362, 1363, 1496, 1497, 1498, 1364,
2526
1365, 1366, 1367, 1368, 1369, 1370, 1499, 1371, 1372, 1373,
2527
1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383,
2528
1384, 1385, 1500, 1501, 1386, 1387, 1388, 1389, 1390, 1391,
2529
1392, 1502, 1393, 1394, 1395, 1396, 1503, 1504, 1397, 1398,
2530
1399, 1400, 1401, 1505, 1506, 1402, 1403, 1404, 1507, 1508,
2531
1407, 1405, 1406, 1408, 1409, 1410, 1411, 1412, 1413, 1509,
2532
1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423,
2533
1424, 1425, 1426, 1427, 1510, 1428, 1429, 1430, 1431, 1432,
2534
1433, 1434, 1435, 1436, 1437, 1438, 1511, 1439, 1440, 1441,
2535
1512, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1452, 1513,
2536
1449, 1450, 1451, 1453, 1454, 1455, 1456, 1514, 1515, 1457,
2537
1458, 1516, 1459, 1517, 1460, 1461, 1462, 1463, 1464, 1465,
2538
1466, 1467, 1468, 1469, 1470, 1471, 1472, 1518, 1473, 1474,
2539
1475, 1476, 1477, 1478, 1479, 1480, 1481, 1265, 236, 1241,
2540
1266, 1267, 1613, 1612, 1237, 751, 0, 1234, 1233, 382,
2541
0, 692, 255, 0, 0, 0, 0, 0, 0, 446,
2542
0, 0, 0, 0, 0, 0, 0, 134, 0, 266,
2543
265, 0, 372, 0, 548, 0, 0, 382, 0, 0,
2544
0, 1405, 790, 819, 0, 0, 0, 0, 458, 0,
2545
457, 0, 0, 455, 0, 381, 0, 0, 459, 453,
2546
452, 0, 0, 456, 0, 454, 0, 0, 693, 789,
2547
775, 761, 1279, 503, 507, 498, 504, 499, 496, 497,
2548
1416, 1263, 0, 0, 492, 502, 516, 522, 521, 520,
2549
0, 515, 518, 523, 0, 686, 1234, 1261, 716, 1246,
2550
851, 0, 0, 494, 685, 1458, 779, 0, 626, 0,
2551
627, 0, 1430, 697, 193, 1437, 1514, 1458, 189, 155,
2552
1283, 0, 0, 515, 0, 694, 695, 858, 856, 0,
2553
1308, 1374, 1385, 1426, 1437, 1514, 1458, 143, 0, 188,
2554
1437, 1514, 1458, 184, 713, 0, 688, 687, 0, 0,
2555
924, 762, 765, 836, 0, 1, 88, 760, 756, 855,
2556
855, 0, 855, 0, 832, 1519, 1520, 1521, 1522, 1523,
2557
1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
2558
1534, 1535, 1536, 1537, 1538, 1265, 0, 0, 1247, 1266,
2559
1272, 0, 462, 91, 1242, 0, 0, 0, 0, 1262,
2560
0, 0, 1301, 1143, 1153, 1151, 1152, 1145, 1146, 1147,
2561
1148, 1149, 1150, 0, 615, 1144, 0, 91, 0, 0,
2562
352, 0, 0, 0, 0, 91, 0, 0, 709, 712,
2563
690, 0, 0, 1214, 1238, 0, 0, 0, 479, 0,
2564
488, 480, 485, 0, 482, 0, 0, 0, 481, 483,
2565
484, 0, 486, 487, 0, 0, 701, 307, 0, 0,
2566
0, 0, 91, 748, 270, 269, 91, 268, 267, 1301,
2567
0, 562, 91, 0, 136, 385, 0, 0, 91, 0,
2568
0, 0, 0, 0, 0, 0, 0, 791, 0, 803,
2569
0, 233, 0, 740, 0, 130, 1239, 1301, 0, 124,
2570
0, 386, 0, 125, 0, 233, 460, 0, 786, 0,
2571
500, 509, 508, 506, 505, 501, 1264, 510, 511, 0,
2572
517, 0, 0, 0, 0, 806, 1235, 0, 700, 0,
2573
0, 629, 629, 629, 696, 192, 190, 0, 0, 0,
2574
0, 0, 0, 702, 0, 0, 0, 1482, 1483, 1484,
2575
1207, 0, 1485, 1486, 1487, 1488, 1108, 1117, 1109, 1111,
2576
1118, 1489, 1490, 1329, 1491, 1492, 1258, 1493, 1494, 1496,
2577
1497, 1498, 1499, 1113, 1115, 1500, 1501, 0, 1259, 1503,
2578
1504, 1400, 1506, 1507, 1509, 1510, 1119, 1512, 1513, 1514,
2579
1515, 1516, 1517, 1257, 0, 1120, 1518, 1265, 1250, 1252,
2580
1253, 1154, 1260, 1216, 0, 0, 1224, 0, 1098, 0,
2581
949, 950, 951, 976, 977, 952, 982, 983, 995, 953,
2582
0, 1223, 1018, 1097, 1102, 0, 1096, 1092, 842, 1220,
2583
1208, 0, 1093, 1249, 1251, 954, 1266, 195, 0, 196,
2584
1437, 144, 180, 151, 179, 183, 152, 182, 0, 1299,
2585
145, 0, 149, 0, 0, 187, 185, 0, 691, 466,
2586
0, 926, 0, 925, 764, 761, 830, 829, 3, 767,
2587
853, 854, 0, 0, 0, 0, 0, 0, 0, 887,
2588
875, 1248, 0, 0, 0, 0, 463, 0, 0, 0,
2589
90, 738, 736, 0, 0, 0, 0, 742, 0, 0,
2590
587, 0, 0, 588, 586, 589, 602, 605, 0, 539,
2591
128, 129, 0, 0, 0, 0, 0, 201, 225, 0,
2592
0, 0, 0, 0, 0, 93, 120, 0, 0, 0,
2593
350, 646, 646, 0, 0, 0, 646, 0, 646, 0,
2594
200, 202, 224, 0, 0, 0, 0, 0, 0, 0,
2595
93, 123, 0, 707, 708, 0, 711, 0, 1539, 1540,
2596
1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550,
2597
1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
2598
1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570,
2599
1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580,
2600
1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590,
2601
1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
2602
1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610,
2603
1611, 1273, 1211, 1210, 1244, 1274, 1275, 1276, 1277, 1215,
2604
750, 0, 0, 0, 0, 0, 1301, 0, 0, 0,
2605
0, 0, 0, 258, 0, 426, 0, 958, 993, 965,
2606
993, 993, 973, 973, 967, 955, 956, 1000, 0, 993,
2607
970, 959, 0, 957, 1003, 1003, 988, 1268, 0, 940,
2608
941, 942, 943, 974, 975, 944, 980, 981, 945, 1017,
2609
954, 1269, 0, 719, 747, 0, 93, 447, 427, 0,
2610
93, 0, 132, 0, 0, 390, 389, 0, 0, 428,
2611
93, 352, 345, 307, 0, 0, 0, 1245, 0, 0,
2612
822, 824, 823, 0, 821, 0, 930, 0, 231, 232,
2613
425, 0, 233, 0, 0, 0, 0, 0, 233, 0,
2614
451, 1164, 0, 271, 768, 774, 770, 772, 771, 773,
2615
769, 491, 1317, 1345, 1368, 1431, 0, 1453, 0, 524,
2616
544, 519, 0, 0, 0, 792, 795, 0, 0, 816,
2617
493, 0, 780, 0, 628, 625, 624, 623, 191, 156,
2618
0, 0, 0, 546, 1430, 699, 0, 0, 1100, 1101,
2619
992, 979, 1206, 0, 0, 987, 986, 0, 0, 0,
2620
0, 0, 963, 962, 961, 1099, 1167, 0, 960, 0,
2621
0, 0, 0, 993, 993, 991, 1037, 0, 0, 964,
2622
0, 0, 1186, 0, 1192, 0, 0, 0, 999, 0,
2623
997, 0, 0, 1072, 1094, 1021, 1022, 1098, 1164, 0,
2624
1254, 0, 0, 985, 0, 1017, 0, 0, 0, 1219,
2625
1162, 0, 0, 1050, 1160, 0, 1052, 0, 0, 0,
2626
1154, 1153, 1151, 1152, 1145, 1146, 1147, 1148, 1149, 1150,
2627
0, 1158, 1034, 0, 0, 1033, 0, 0, 891, 1209,
2628
0, 197, 198, 194, 0, 154, 153, 0, 177, 178,
2629
173, 367, 0, 148, 176, 365, 366, 0, 172, 369,
2630
158, 169, 171, 170, 168, 146, 157, 159, 161, 162,
2631
163, 147, 186, 0, 891, 1225, 1216, 753, 0, 757,
2632
836, 840, 835, 839, 862, 863, 868, 838, 0, 889,
2633
889, 877, 871, 876, 872, 878, 886, 834, 874, 833,
2634
609, 0, 608, 0, 0, 464, 0, 0, 0, 735,
2635
734, 0, 0, 0, 0, 0, 745, 301, 0, 230,
2636
0, 0, 0, 0, 0, 0, 0, 0, 592, 593,
2637
604, 603, 601, 573, 575, 574, 0, 1270, 565, 0,
2638
566, 0, 0, 572, 579, 954, 577, 1271, 0, 0,
2639
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640
0, 611, 616, 0, 119, 118, 0, 0, 0, 0,
2641
354, 364, 0, 0, 0, 91, 91, 351, 645, 212,
2642
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2643
0, 0, 0, 0, 0, 0, 0, 0, 0, 122,
2644
121, 0, 0, 167, 706, 710, 1212, 0, 0, 0,
2645
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2646
0, 308, 310, 0, 0, 0, 431, 434, 0, 940,
2647
0, 0, 934, 1006, 1007, 1008, 1005, 1009, 1004, 0,
2648
946, 948, 0, 717, 281, 126, 0, 0, 89, 136,
2649
271, 0, 135, 137, 139, 140, 141, 138, 142, 384,
2650
0, 395, 394, 396, 0, 391, 0, 117, 349, 0,
2651
273, 0, 0, 370, 0, 0, 0, 663, 0, 0,
2652
0, 820, 0, 901, 802, 892, 903, 894, 896, 928,
2653
1237, 0, 801, 0, 0, 606, 1240, 0, 0, 233,
2654
233, 380, 461, 788, 0, 0, 527, 526, 537, 0,
2655
528, 529, 525, 530, 0, 0, 546, 794, 0, 0,
2656
798, 1216, 0, 813, 0, 811, 0, 1236, 815, 804,
2657
778, 0, 777, 783, 785, 784, 782, 0, 0, 515,
2658
0, 0, 233, 698, 0, 0, 0, 1170, 0, 0,
2659
1205, 1201, 0, 0, 1164, 0, 0, 0, 0, 1177,
2660
1178, 1179, 1176, 1180, 1175, 1174, 1181, 0, 0, 0,
2661
0, 0, 0, 0, 990, 989, 0, 0, 0, 0,
2662
0, 0, 0, 0, 1073, 1102, 0, 0, 1138, 0,
2663
1164, 1191, 0, 0, 0, 0, 0, 0, 0, 0,
2664
0, 0, 1164, 1197, 0, 1217, 1216, 0, 0, 0,
2665
0, 1255, 1035, 1222, 0, 1218, 0, 0, 1042, 0,
2666
1198, 1068, 0, 1057, 0, 1051, 0, 1055, 1059, 1038,
2667
1219, 1163, 0, 1161, 0, 0, 1036, 0, 1031, 1029,
2668
1030, 1023, 1024, 1025, 1026, 1027, 1028, 1019, 1032, 1142,
2669
1140, 1141, 0, 0, 0, 1054, 1346, 1374, 0, 852,
2670
852, 841, 850, 1221, 0, 930, 0, 0, 0, 1103,
2671
0, 0, 368, 0, 1017, 0, 927, 0, 930, 0,
2672
755, 754, 0, 0, 866, 867, 0, 885, 0, 816,
2673
816, 0, 0, 0, 0, 654, 631, 465, 655, 632,
2674
0, 737, 0, 0, 0, 0, 0, 233, 743, 656,
2675
229, 744, 648, 0, 590, 591, 0, 576, 954, 564,
2676
0, 0, 571, 0, 570, 948, 0, 0, 0, 634,
2677
127, 227, 639, 228, 226, 635, 0, 1243, 0, 0,
2678
0, 642, 0, 0, 101, 103, 105, 0, 0, 99,
2679
107, 102, 104, 106, 100, 108, 98, 0, 0, 97,
2680
0, 0, 0, 0, 92, 660, 637, 650, 353, 363,
2681
0, 357, 358, 355, 359, 360, 0, 0, 204, 0,
2682
0, 216, 215, 222, 223, 221, 233, 233, 219, 220,
2683
218, 638, 0, 651, 217, 214, 0, 203, 662, 644,
2684
0, 661, 652, 643, 165, 164, 166, 0, 0, 0,
2685
0, 0, 0, 0, 0, 490, 473, 489, 0, 0,
2686
0, 467, 306, 0, 257, 238, 239, 0, 430, 0,
2687
0, 0, 0, 935, 0, 0, 0, 0, 0, 0,
2688
0, 0, 0, 0, 733, 733, 733, 733, 733, 718,
2689
741, 0, 307, 131, 0, 0, 383, 0, 0, 0,
2690
931, 0, 0, 0, 0, 272, 274, 276, 277, 278,
2691
0, 346, 348, 343, 0, 0, 0, 0, 0, 0,
2692
551, 0, 0, 0, 600, 596, 582, 0, 825, 826,
2693
0, 901, 0, 903, 0, 902, 915, 0, 0, 921,
2694
919, 0, 921, 0, 921, 0, 0, 895, 0, 897,
2695
915, 1238, 929, 233, 0, 233, 233, 684, 423, 1165,
2696
0, 0, 539, 0, 536, 531, 533, 0, 540, 1232,
2697
1231, 0, 1229, 0, 0, 800, 814, 807, 809, 808,
2698
0, 0, 805, 781, 0, 0, 233, 0, 541, 857,
2699
1172, 1173, 0, 0, 0, 0, 1202, 0, 0, 1134,
2700
0, 1132, 1110, 1112, 972, 0, 1122, 0, 966, 1135,
2701
1136, 1114, 1116, 0, 969, 0, 1155, 0, 0, 1123,
2702
1075, 1076, 0, 0, 0, 0, 0, 0, 0, 0,
2703
0, 0, 0, 0, 0, 1088, 1087, 1124, 1137, 0,
2704
0, 1189, 1190, 1125, 1001, 1002, 1003, 1003, 0, 0,
2705
1196, 0, 0, 0, 1130, 1095, 1165, 994, 995, 0,
2706
0, 0, 0, 0, 0, 0, 1058, 1053, 0, 1056,
2707
1060, 0, 0, 0, 0, 1044, 1069, 1040, 0, 0,
2708
1046, 0, 1070, 852, 852, 852, 852, 849, 0, 0,
2709
890, 880, 0, 0, 1107, 1104, 150, 0, 174, 160,
2710
1226, 817, 0, 766, 864, 0, 1156, 865, 888, 884,
2711
883, 869, 873, 870, 0, 0, 0, 733, 0, 300,
2712
0, 0, 0, 746, 584, 0, 948, 567, 568, 569,
2713
0, 657, 633, 649, 0, 0, 613, 0, 614, 612,
2714
113, 0, 0, 0, 0, 94, 114, 112, 0, 111,
2715
0, 356, 362, 361, 281, 0, 0, 0, 205, 213,
2716
210, 0, 0, 1213, 0, 0, 0, 469, 476, 0,
2717
0, 0, 0, 478, 309, 241, 242, 260, 240, 432,
2718
1400, 1146, 437, 433, 435, 436, 438, 418, 0, 0,
2719
0, 938, 0, 1011, 1012, 1013, 1014, 1015, 1016, 1010,
2720
1017, 0, 733, 732, 0, 0, 0, 0, 0, 0,
2721
0, 0, 292, 0, 0, 286, 0, 0, 339, 280,
2722
283, 284, 0, 0, 271, 0, 398, 392, 429, 0,
2723
933, 273, 299, 328, 0, 344, 0, 0, 0, 0,
2724
340, 714, 377, 374, 0, 0, 0, 594, 597, 595,
2725
0, 578, 0, 583, 561, 0, 818, 905, 913, 0,
2726
893, 0, 920, 916, 0, 917, 0, 0, 918, 907,
2727
0, 0, 913, 0, 607, 233, 450, 610, 345, 538,
2728
534, 0, 0, 512, 543, 793, 0, 0, 797, 799,
2729
812, 810, 546, 0, 513, 545, 1171, 978, 0, 1204,
2730
1200, 0, 0, 0, 1166, 0, 0, 1184, 1183, 1185,
2731
0, 0, 0, 1085, 1083, 1084, 1077, 1078, 1079, 1080,
2732
1081, 1082, 1074, 1086, 1194, 1193, 1187, 1188, 998, 996,
2733
0, 1127, 1128, 1129, 1195, 1139, 984, 1017, 1020, 0,
2734
0, 1043, 1199, 1061, 0, 1169, 0, 1039, 0, 0,
2735
0, 0, 1048, 1155, 0, 0, 0, 0, 0, 0,
2736
844, 843, 0, 882, 1105, 1106, 0, 1228, 1227, 0,
2737
0, 0, 0, 0, 302, 0, 0, 339, 585, 0,
2738
580, 0, 0, 0, 109, 95, 116, 115, 96, 110,
2739
279, 0, 0, 0, 0, 235, 640, 641, 0, 0,
2740
471, 0, 0, 472, 474, 261, 91, 0, 420, 0,
2741
0, 424, 414, 416, 0, 0, 0, 936, 939, 947,
2742
413, 0, 728, 727, 726, 723, 722, 731, 730, 721,
2743
720, 725, 724, 0, 0, 290, 294, 295, 293, 285,
2744
339, 307, 0, 287, 0, 0, 0, 400, 0, 0,
2745
932, 0, 0, 0, 296, 0, 331, 275, 347, 348,
2746
789, 341, 342, 0, 379, 375, 0, 550, 0, 0,
2747
600, 599, 679, 680, 677, 678, 0, 904, 0, 0,
2748
906, 0, 0, 909, 911, 0, 0, 0, 0, 0,
2749
1241, 622, 0, 0, 0, 532, 1230, 0, 233, 0,
2750
1203, 1121, 1131, 971, 1133, 968, 1182, 0, 0, 0,
2751
1126, 1256, 1066, 1064, 0, 1062, 0, 0, 0, 1045,
2752
1041, 0, 1047, 1071, 848, 847, 846, 845, 0, 0,
2753
837, 1017, 0, 653, 630, 647, 739, 0, 339, 303,
2754
581, 659, 636, 658, 206, 207, 208, 209, 0, 211,
2755
468, 0, 475, 470, 244, 0, 422, 421, 419, 415,
2756
417, 937, 0, 621, 0, 418, 729, 0, 0, 282,
2757
288, 314, 0, 0, 715, 273, 399, 0, 0, 393,
2758
331, 298, 297, 0, 0, 0, 335, 787, 376, 0,
2759
371, 0, 0, 0, 552, 559, 559, 598, 560, 0,
2760
0, 914, 923, 0, 910, 908, 898, 0, 900, 0,
2761
535, 0, 542, 233, 1089, 0, 0, 1063, 1168, 1067,
2762
1065, 1049, 879, 881, 175, 1157, 0, 304, 234, 477,
2763
237, 259, 621, 0, 618, 412, 0, 289, 0, 319,
2764
0, 0, 401, 402, 397, 0, 335, 0, 329, 330,
2765
0, 337, 378, 749, 0, 337, 0, 0, 557, 555,
2766
554, 930, 912, 0, 899, 796, 514, 0, 1090, 307,
2767
245, 249, 748, 748, 0, 250, 748, 246, 748, 243,
2768
617, 620, 619, 0, 311, 312, 313, 0, 291, 315,
2769
316, 338, 0, 0, 337, 327, 0, 0, 263, 559,
2770
930, 553, 558, 0, 922, 1091, 314, 0, 0, 0,
2771
0, 0, 0, 0, 0, 0, 0, 317, 0, 318,
2772
0, 0, 0, 439, 440, 405, 264, 0, 332, 0,
2773
336, 556, 547, 683, 319, 247, 252, 0, 253, 248,
2774
251, 0, 324, 0, 323, 0, 321, 320, 0, 0,
2775
445, 0, 407, 409, 410, 406, 0, 403, 408, 411,
2776
333, 334, 682, 681, 0, 418, 254, 0, 322, 326,
2777
325, 0, 449, 441, 387, 0, 665, 676, 664, 666,
2778
674, 671, 673, 672, 670, 305, 0, 444, 448, 0,
2779
442, 404, 0, 675, 669, 836, 827, 0, 0, 667,
2780
676, 405, 449, 668, 0, 443, 388
2783
/* YYDEFGOTO[NTERM-NUM]. */
2784
static const short yydefgoto[] =
2786
-1, 44, 45, 46, 47, 891, 1405, 1804, 48, 49,
2787
50, 51, 52, 53, 54, 55, 56, 913, 57, 58,
2788
673, 1102, 1492, 59, 537, 538, 1305, 1306, 1307, 1444,
2789
1308, 1293, 843, 1309, 60, 61, 62, 838, 1283, 63,
2790
64, 940, 941, 917, 942, 897, 1130, 2549, 65, 66,
2791
1867, 2177, 2630, 2679, 413, 1464, 2406, 2407, 67, 1099,
2792
1904, 1905, 1906, 1907, 1890, 2219, 2220, 2221, 1908, 2454,
2793
1909, 1357, 1053, 1460, 1461, 2639, 2688, 2689, 2690, 2746,
2794
2456, 2586, 2651, 2698, 2443, 68, 1916, 1511, 1910, 1911,
2795
69, 70, 930, 1417, 1810, 1310, 1295, 1296, 71, 437,
2796
2242, 2464, 2590, 72, 466, 73, 1104, 74, 75, 1107,
2797
1504, 1505, 2448, 2577, 2644, 2756, 2757, 2565, 2411, 2412,
2798
2413, 76, 77, 78, 79, 1055, 1465, 1466, 2183, 80,
2799
2723, 2724, 438, 2790, 81, 82, 467, 705, 2658, 886,
2800
83, 84, 655, 1856, 85, 483, 719, 86, 87, 490,
2801
1579, 492, 1158, 1964, 1965, 2283, 1547, 596, 88, 89,
2802
1556, 1582, 90, 439, 2246, 2593, 2594, 2659, 91, 440,
2803
909, 1379, 1380, 1381, 1382, 2250, 1383, 1924, 1925, 1926,
2804
2247, 2254, 92, 907, 1372, 93, 94, 1341, 95, 1400,
2805
613, 96, 2634, 97, 98, 511, 1175, 99, 1420, 100,
2806
101, 102, 1927, 2778, 2792, 2793, 2794, 2476, 2764, 103,
2807
2780, 105, 106, 107, 137, 628, 629, 630, 108, 109,
2808
110, 1483, 1889, 2204, 111, 112, 1350, 1741, 113, 114,
2809
115, 1095, 116, 117, 118, 119, 120, 558, 552, 865,
2810
1319, 121, 1144, 471, 122, 730, 1171, 1572, 123, 708,
2811
124, 2781, 1165, 1559, 1560, 2782, 1126, 127, 1169, 1566,
2812
1569, 2783, 129, 688, 1520, 2784, 808, 132, 133, 134,
2813
1278, 1701, 501, 872, 529, 563, 564, 1324, 1325, 879,
2814
1339, 1332, 1334, 2363, 2530, 880, 1337, 1729, 1705, 1524,
2815
1525, 1526, 1935, 1946, 2263, 2483, 1527, 1528, 1532, 1899,
2816
1900, 1384, 1472, 1079, 809, 810, 811, 1208, 1219, 1202,
2817
1082, 812, 813, 814, 1085, 815, 816, 817, 818, 1191,
2818
1243, 819, 820, 1228, 1480, 1141, 1623, 822, 823, 824,
2819
1692, 1271, 615, 825, 2107, 1273, 1643, 1607, 2346, 1586,
2820
1189, 1608, 1620, 2018, 1627, 1632, 2041, 2042, 1644, 1661,
2821
826, 1590, 1591, 1997, 1193, 827, 633, 634, 1234, 1657,
2822
828, 829, 1314, 1315, 1971, 1972, 830, 1159, 550, 2479,
2823
696, 593, 1776, 1033, 406, 498, 831, 832, 833, 834,
2824
1966, 1299, 496, 835, 588, 1034, 400, 401, 590, 1038,
2828
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2830
#define YYPACT_NINF -2400
2831
static const int yypact[] =
2833
6310, 515, 2674, -2400, -2400, 515, -2400, 29904, 25200, 14,
2834
597, 263, 34592, 30240, 29904, 492, 34550, 515, 29904, 268,
2835
19110, 22848, 474, 25200, 340, 369, 19110, 25200, 30576, 529,
2836
30912, 26208, 22512, 629, 29904, 251, 31248, 26544, 476, 369,
2837
17740, 23520, 747, 27, 797, 531, -2400, -2400, -2400, -2400,
2838
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2839
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2840
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2841
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2842
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2843
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2844
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2845
608, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2846
-2400, 117, -2400, 516, 207, -2400, -2400, -2400, 21504, 29904,
2847
29904, 29904, 21504, 29904, 23520, 29904, 15286, 29904, 29904, 23520,
2848
23520, 29904, 29904, 29904, 29904, 106, -2400, -2400, -2400, -2400,
2849
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2850
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2851
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2852
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2853
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2854
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2855
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2856
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2857
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2858
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2859
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2860
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2861
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2862
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2863
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2864
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2865
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2866
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2867
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2868
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2869
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2870
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2871
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2872
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2873
-2400, -2400, -2400, -2400, 338, -2400, 664, 765, -2400, 4443,
2874
340, -2400, -2400, 25200, 21504, 29904, 643, 726, 29904, -2400,
2875
29904, 631, 29904, 971, 15639, 844, 29904, 29904, 29904, -2400,
2876
-2400, 29904, -2400, 29904, -2400, 29904, 543, 838, 1079, 1027,
2877
90, 29904, -2400, -2400, 23520, 21504, 29904, 738, -2400, 29904,
2878
-2400, 21504, 29904, -2400, 15992, -2400, 29904, 29904, -2400, -2400,
2879
-2400, 29904, 29904, -2400, 29904, -2400, 1013, 29904, -2400, 843,
2880
-2400, 608, 712, -2400, 101, 123, 103, 130, 133, 138,
2881
712, -2400, 861, 946, -2400, -2400, 994, -2400, -2400, -2400,
2882
1022, 349, -2400, -2400, 25200, -2400, -2400, -2400, -2400, -2400,
2883
-2400, 25200, 946, -2400, -2400, 340, 895, 29904, -2400, 29904,
2884
-2400, 25200, 29904, -2400, -2400, 1274, 966, 1147, 949, -2400,
2885
1097, 1123, 1131, 38, 340, 1073, -2400, -2400, 1178, 9343,
2886
26880, 31584, 173, 20830, 27216, 1026, 106, -2400, 417, -2400,
2887
1378, 1072, 1253, 949, 106, 25200, -2400, -2400, 14278, 1146,
2888
1093, -2400, 1302, 1064, 1094, -2400, 6310, -2400, 25200, 582,
2889
582, 1404, 582, 508, 522, -2400, -2400, -2400, -2400, -2400,
2890
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2891
-2400, -2400, -2400, -2400, -2400, 1116, 338, 1127, -2400, 1133,
2892
-2400, 609, 1099, 676, -2400, 153, 1078, 1145, 154, -2400,
2893
718, 1259, 29904, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2894
-2400, -2400, -2400, 1151, -2400, -2400, 1149, 418, 776, 1242,
2895
-15, 1624, 819, 1307, 47, 857, 1364, 2, -2400, 367,
2896
-2400, 11842, 17404, -2400, 338, 25200, 21504, 1189, -2400, 29904,
2897
-2400, -2400, -2400, 21504, -2400, 1351, 16345, 29904, -2400, -2400,
2898
-2400, 29904, -2400, -2400, 1400, 29904, -2400, 1206, 1214, 1522,
2899
33600, 29904, 1243, 1556, -2400, -2400, 1243, -2400, -2400, 29904,
2900
1214, 64, 1243, 1551, 1552, 1354, 768, 83, 1243, 25200,
2901
25200, 25200, 1417, 29904, 29904, 21504, 29904, -2400, 652, 1263,
2902
1225, 125, 33600, -2400, 1145, 1221, -2400, 29904, 1228, 1221,
2903
1380, -2400, 1381, 1221, 20830, 60, -2400, 11842, -2400, 545,
2904
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, 29904,
2905
-2400, 23856, 29904, 24192, 37, 25, -2400, 29904, -2400, 33600,
2906
1573, 1480, 1480, 1480, -2400, -2400, -2400, 1430, 29904, 1485,
2907
1486, 23856, 29904, -2400, 31920, 1245, 1040, 1265, 500, 1266,
2908
11842, 1250, 254, 254, 1251, 1252, -2400, -2400, 1254, 1255,
2909
-2400, -60, -60, 1386, 1257, 1258, -2400, 431, 1267, 1278,
2910
1282, 632, 1268, 1270, 1271, 1087, 254, 11842, -2400, 1273,
2911
722, 1275, 1276, 1277, 1284, 1279, -2400, 1293, 1280, 781,
2912
791, 1283, 1286, -2400, 1257, -2400, 171, 737, -2400, -2400,
2913
-2400, -2400, -2400, -2400, 11842, 11842, -2400, 9700, -2400, 340,
2914
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, 113, -2400,
2915
746, 5185, -2400, -2400, 1403, 11842, -2400, -2400, 24, -2400,
2916
338, 1292, -2400, -2400, -2400, -2400, 778, -2400, 182, 1221,
2917
1126, -2400, -2400, -2400, -2400, -2400, -2400, -2400, 20492, 1622,
2918
-2400, 600, 367, 18412, 18412, -2400, -2400, 1476, -2400, 1291,
2919
25200, -2400, 29904, -2400, -2400, 608, -2400, -2400, -2400, 1295,
2920
-2400, -2400, 27, 27, 11842, 27, 471, 10057, 11842, 1541,
2921
438, 338, 18076, 1358, 1359, 21168, 1298, 1363, 1365, 31584,
2922
-2400, -2400, -2400, 107, 589, 1367, 87, -2400, 1454, 1405,
2923
-2400, 1466, 550, -2400, -2400, -2400, -2400, 116, 8649, 753,
2924
-2400, -2400, 1371, 1356, 1379, 1383, 1385, 1315, -2400, 1389,
2925
1370, 32592, 16698, 1391, 31584, -2400, -2400, 1394, 1397, 1423,
2926
829, 92, 1643, 1483, 1398, 1395, 786, 1407, 163, 637,
2927
1338, -2400, -2400, 1408, 1409, 23520, 1413, 1452, 1416, 31584,
2928
-2400, -2400, 669, -2400, -2400, 106, -2400, 2852, -2400, -2400,
2929
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2930
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2931
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2932
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2933
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2934
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2935
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2936
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2937
-2400, 1357, 33600, 1503, 1145, 894, 29904, 1372, 433, 1509,
2938
29904, 1577, 29904, 1406, 21168, -2400, 1382, -2400, 1420, -2400,
2939
1420, 1420, 1402, 1402, 1410, -2400, -2400, -2400, 1087, 1420,
2940
1424, -2400, 34272, -2400, 729, 802, -2400, -2400, 1710, 1720,
2941
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, 473,
2942
1099, -2400, 1744, -2400, -2400, 33600, -2400, 1674, -2400, 1429,
2943
-2400, 29904, 552, 29904, 1583, -2400, -2400, 479, 1425, -2400,
2944
-2400, -2400, -5, 1206, 20830, 1647, 1549, -2400, 1145, 1745,
2945
-2400, 811, -2400, 1505, -2400, 13606, 1435, 18076, -2400, -2400,
2946
-2400, 1749, 125, 29904, 1453, 32592, 25200, 25200, 125, 29904,
2947
-2400, 19791, 832, 457, -2400, -2400, -2400, -2400, -2400, -2400,
2948
-2400, -2400, 29904, 21504, 29904, 29904, 25200, 29904, 1477, 1291,
2949
-61, -2400, 1462, 1428, 14614, -2400, -2400, 126, 25200, 1586,
2950
-2400, 854, -2400, 62, -2400, -2400, -2400, -2400, -2400, -2400,
2951
24192, 22848, 1671, 187, 29904, -2400, 11842, 10414, -2400, -2400,
2952
-2400, 1433, 19791, 1467, 11842, -2400, -2400, 11842, 11842, 1456,
2953
1456, 1456, -2400, -2400, -2400, -2400, 978, 1456, -2400, 11842,
2954
11842, 1456, 1456, 1420, 1420, -2400, 2361, 11842, 1456, -2400,
2955
16698, 11842, 12199, 7954, 11842, 1498, 1510, 1456, -2400, 1456,
2956
-2400, 11842, 8986, -2400, 338, 1460, 1460, 808, 5663, 1449,
2957
-2400, 1544, 1456, -2400, 1456, 553, 11842, 21168, 1525, 111,
2958
11842, 1470, 1285, -2400, 11842, 528, -2400, 1471, 11842, 1532,
2959
115, 11842, 11842, 11842, 11842, 11842, 11842, 11842, 11842, 11842,
2960
33600, -2400, 12556, 148, -35, 82, 24528, 9343, 1704, 863,
2961
7596, -2400, -2400, -2400, 1622, -2400, -2400, 1530, -2400, -2400,
2962
-2400, -2400, 622, -2400, -2400, -2400, -2400, 813, -2400, -2400,
2963
-2400, -2400, -2400, -2400, -2400, -2400, 1469, -2400, -2400, -2400,
2964
-2400, -2400, -2400, 1474, 54, -2400, -2400, 23184, 29904, -2400,
2965
-2400, 1683, -2400, -2400, 1472, -2400, 4841, 1683, 1623, 1630,
2966
1630, -2400, -34, 19791, 1670, 19791, -2400, -2400, -2400, -2400,
2967
-2400, 1484, -2400, 29904, 29904, -2400, 21168, 29904, 29904, -2400,
2968
1787, 1487, 29904, 1687, 1689, 1491, -2400, -2400, 29904, -2400,
2969
1648, 29904, 11842, 1649, 29904, 1650, 614, 1638, -2400, -2400,
2970
-2400, -2400, -2400, 1636, -2400, -2400, 34272, 89, -2400, 879,
2971
-2400, 24864, 32256, -2400, -2400, 1099, -2400, 224, 1559, 1561,
2972
1603, 29904, 29904, 29904, 29904, 29904, 51, 29904, 29904, 1504,
2973
1507, 1508, -2400, 29904, -2400, 3274, 29904, 29904, 29904, 894,
2974
-2400, 1834, 894, 894, 800, 1243, 1243, -2400, -2400, -2400,
2975
29904, 29904, 29904, 1582, 25536, 29904, 29904, 25872, 29904, 29904,
2976
29904, 144, 1142, 29904, 29904, 1628, 29904, 29904, 29904, -2400,
2977
3274, 96, 1637, -2400, -2400, -2400, -2400, 11842, 18076, 1858,
2978
29904, 1722, 1725, 1563, 32592, 41, 29904, 29904, 1727, 41,
2979
892, -2400, -2400, 1672, 199, 893, -2400, 1543, 11842, 1869,
2980
33600, 1534, 1538, 1598, 1600, 1601, -2400, -2400, 1602, 1456,
2981
-2400, 1298, 479, 615, -2400, 3274, 1788, 25200, 3274, -2400,
2982
1390, 22848, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
2983
340, -2400, -2400, -2400, 1688, 1686, 29904, 3274, 829, 25200,
2984
21840, 215, 1888, 1780, 340, 25200, 850, -2400, 1778, 1779,
2985
1796, -2400, 13270, 27552, 1548, 119, -2400, 27552, 27888, -2400,
2986
338, 11842, -2400, 1553, 33600, -2400, -2400, 29904, 1554, 125,
2987
125, -2400, -2400, -2400, 11842, 1627, 1221, 1555, -2400, 1145,
2988
1221, 1221, 1291, 1221, 28224, 1907, 1795, -2400, 10771, 909,
2989
-2400, -2400, 93, -2400, 97, 17, 1738, -2400, -2400, -2400,
2990
-2400, 33600, -2400, -2400, -2400, -2400, -2400, 145, 1708, 1562,
2991
28224, 1892, 125, -2400, 911, 275, 656, -2400, 1456, 11842,
2992
74, -2400, 5714, 919, 5826, 940, 1568, 1569, 959, -2400,
2993
-2400, -2400, -2400, -2400, -2400, -2400, -2400, 1572, 1803, 1574,
2994
962, 965, 1579, 1584, -2400, -2400, 1864, 972, 1587, 6435,
2995
1590, 12199, 12199, 1451, -2400, -2400, 12199, 1591, -2400, 974,
2996
2880, 1578, 1593, 1597, 1610, 1594, 1596, 6499, 11128, 11842,
2997
11128, 11128, 6674, 1578, 1599, -2400, -2400, 11842, 29904, 1604,
2998
1607, -2400, 2361, -2400, 1626, -2400, 12199, 12199, 3140, 9700,
2999
-2400, -2400, 1840, -2400, 596, -2400, 1609, -2400, -2400, 3639,
3000
124, 11842, 1470, 11842, 1664, 16698, 4593, 11842, 3111, 3413,
3001
3413, 208, 208, 168, 168, 168, 80, -2400, 82, -2400,
3002
-2400, -2400, 1616, 1279, 11842, -2400, 1038, 1107, 25200, 1290,
3003
1828, -2400, -2400, -2400, 13606, 1435, 11842, 11842, 1618, -2400,
3004
983, 106, -2400, 1456, 553, 18761, -2400, 29904, 1435, 869,
3005
-2400, -2400, 986, 11842, -2400, -2400, 1770, -2400, 29904, 1586,
3006
1586, 11842, 11842, 10057, 824, -2400, -2400, -2400, -2400, -2400,
3007
1799, -2400, 11842, 298, 1617, 1620, 29904, 125, -2400, -2400,
3008
19791, -2400, -2400, 1836, -2400, -2400, 1782, -2400, 1099, -2400,
3009
22176, 33936, -2400, 33936, -2400, 468, 29904, 29904, 29904, -2400,
3010
1221, -2400, -2400, -2400, -2400, -2400, 821, -2400, 33600, 1759,
3011
32928, -2400, 29904, 1814, -2400, -2400, -2400, 1762, 108, -2400,
3012
-2400, -2400, -2400, -2400, -2400, -2400, -2400, 340, 29904, -2400,
3013
1456, 1763, 29904, 1669, -2400, -2400, -2400, -2400, -2400, -2400,
3014
894, -2400, -2400, -2400, -2400, -2400, 894, 894, -2400, 33600,
3015
81, -2400, -2400, -2400, -2400, -2400, 125, 125, -2400, -2400,
3016
-2400, -2400, 1691, -2400, -2400, -2400, 352, -2400, -2400, -2400,
3017
1693, -2400, -2400, -2400, -2400, -2400, -2400, 6711, 1633, 33600,
3018
1838, 41, 41, 29904, 1635, -2400, -2400, -2400, 1843, 1844,
3019
41, -2400, -2400, 29904, -2400, -2400, -2400, 607, -2400, 21168,
3020
17051, 6728, 1639, 1538, 1642, 1456, 626, 443, 390, 1741,
3021
1821, 1651, 1793, 1839, 1666, 1666, 1666, 1666, 1666, -2400,
3022
1215, 1701, 1206, 552, 1765, 646, -2400, 25200, 479, 991,
3023
-2400, 33600, 1655, 25200, 1656, 1654, -2400, -2400, -2400, -2400,
3024
1005, -2400, 33600, 1909, 1807, 1812, 27, 27, 29904, 1724,
3025
1706, 340, 20830, 33264, 964, -2400, -2400, 1815, -2400, -2400,
3026
27, 8312, 119, 1668, 29904, -2400, 1667, 13606, 1872, 1813,
3027
-2400, 13606, 1813, 85, 1813, 13606, 1873, -2400, 14950, -2400,
3028
1676, 863, 19791, 125, 1677, 125, 125, -2400, -2400, 19791,
3029
25200, 21504, -2400, 29904, 391, -2400, -2400, 1819, -2400, -2400,
3030
19791, 1034, -2400, 320, 29904, 338, -2400, -2400, -2400, -2400,
3031
1933, 1935, -2400, -2400, 29904, 23856, 67, 29904, -2400, -2400,
3032
-2400, -2400, 1685, 1690, 19382, 11842, -2400, 1945, 33600, -2400,
3033
29904, -2400, -2400, -2400, -2400, 1456, -2400, 11842, -2400, -2400,
3034
-2400, -2400, -2400, 11842, -2400, 1456, -2400, 11842, 1928, -2400,
3035
1692, 1692, 12199, 487, 1275, 12199, 12199, 12199, 12199, 12199,
3036
12199, 12199, 12199, 12199, 33600, 12913, 1028, -2400, -2400, 11842,
3037
11842, 1934, 1928, -2400, -2400, -2400, 915, 915, 33600, 1695,
3038
1578, 1696, 1703, 11842, -2400, 338, 19423, -2400, 2008, 340,
3039
11842, 499, 602, 11842, 1049, 11842, -2400, -2400, 1711, -2400,
3040
-2400, 33600, 11842, 12199, 12199, 4119, -2400, 4870, 11842, 1705,
3041
5235, 9700, -2400, 369, 369, 369, 369, -2400, 25200, 25200,
3042
1548, 1925, 1063, 1066, -2400, -2400, 367, 1709, -2400, -2400,
3043
-2400, -2400, 11485, -2400, -2400, 1712, -2400, -2400, 1221, -2400,
3044
-2400, -2400, -2400, -2400, 1773, 1776, 1816, 1666, 19450, -2400,
3045
29904, 29904, 1069, -2400, -2400, 1932, 565, -2400, -2400, -2400,
3046
1775, -2400, -2400, -2400, 1792, 1800, -2400, 1801, -2400, -2400,
3047
1221, 712, 340, 29904, 29904, -2400, 1221, -2400, 340, 1221,
3048
340, -2400, -2400, -2400, -2400, 462, 458, 33600, -2400, -2400,
3049
-2400, 29904, 29904, -2400, 1930, 1755, 41, -2400, -2400, 1931,
3050
1942, 41, 41, -2400, -2400, -2400, -2400, 218, -2400, -2400,
3051
1712, 622, -2400, -2400, -2400, -2400, -2400, 162, 1456, 957,
3052
1768, -2400, 1772, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
3053
553, 25200, 1666, -2400, 69, 120, 28560, 28896, 29232, 1743,
3054
29904, 12199, -2400, 189, 150, -2400, 1968, 25200, 1817, -2400,
3055
-2400, -2400, 33600, 2113, 457, 25200, 2018, 1916, -2400, 29904,
3056
-2400, 21840, 143, 1993, 21840, -2400, 29904, 29904, 2118, 2120,
3057
-2400, -2400, 1822, 1099, 340, 29904, 1784, -2400, 1777, -2400,
3058
1039, -2400, 1214, -2400, -2400, 68, -2400, 27552, 1790, 29904,
3059
119, 13606, -2400, -2400, 931, -2400, 13606, 1987, -2400, -2400,
3060
13606, 29904, 1791, 29904, -2400, 125, -2400, -2400, 1797, -2400,
3061
-2400, 2023, 28224, -2400, -2400, -2400, 10771, 1798, -2400, -2400,
3062
-2400, -2400, 187, 2031, -2400, -2400, -2400, -2400, 11842, 19791,
3063
-2400, 1794, 1802, 1805, 19791, 19471, 1806, 19791, 1934, 1742,
3064
2039, 1952, 1808, 1742, 1396, 1396, 932, 932, 822, 822,
3065
822, 1692, -2400, 1028, 19791, 19791, -2400, -2400, -2400, -2400,
3066
1810, -2400, -2400, -2400, 1578, -2400, -2400, 553, 1460, 12199,
3067
12199, 3582, -2400, 248, 33600, -2400, 1092, 3582, 685, 1427,
3068
11842, 11842, 6094, 250, 11842, 19498, 25200, 25200, 25200, 25200,
3069
-2400, -2400, 2133, 2043, -2400, -2400, 340, -2400, 19791, 16698,
3070
29904, 29904, 29904, 712, -2400, 1095, 1102, 1817, -2400, 1865,
3071
-2400, 29904, 29904, 29904, -2400, -2400, 1221, 1221, -2400, -2400,
3072
1215, 1972, 1973, 712, 29904, 1854, -2400, -2400, 41, 2024,
3073
-2400, 41, 41, -2400, -2400, -2400, 1243, 2091, -2400, 538,
3074
2100, -2400, 2041, 175, 1831, 2070, 2071, -2400, -2400, -2400,
3075
2074, 712, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
3076
-2400, -2400, -2400, 11842, 593, 1742, -2400, -2400, -2400, -2400,
3077
1817, 1206, 2055, -2400, 1878, 27, -1, 2102, 2093, 479,
3078
-2400, 1842, 2121, 2124, -2400, 1841, 1053, -2400, -2400, -2400,
3079
843, -2400, -2400, 29904, 2047, 1298, 2089, -2400, 13942, 340,
3080
964, -2400, -2400, -2400, -2400, -2400, 1921, -2400, 29904, 1114,
3081
-2400, 11842, 1863, -2400, -2400, 13606, 931, 1124, 29904, 1138,
3082
33600, -2400, 29904, 2205, 2009, -2400, -2400, 10771, 125, 28224,
3083
19791, -2400, -2400, -2400, -2400, -2400, -2400, 12199, 1868, 33600,
3084
-2400, -2400, 1465, 1465, 1160, -2400, 33600, 12199, 12199, 3582,
3085
3582, 11842, 3582, -2400, -2400, -2400, -2400, -2400, 11842, 11842,
3086
-2400, 553, 1870, -2400, -2400, -2400, -2400, 1989, 1817, -2400,
3087
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, 11842, -2400,
3088
-2400, 41, -2400, -2400, -2400, 340, -2400, -2400, -2400, -2400,
3089
-2400, -2400, 21504, 2213, 25200, 162, -2400, 19539, 2028, -2400,
3090
-2400, 2056, 1944, 29904, -2400, 21840, -2400, 406, 1997, -2400,
3091
1053, -2400, -2400, 25200, 2025, 2026, 2027, -2400, -2400, 340,
3092
-2400, 29904, 11842, 1167, -2400, 29568, 7254, -2400, -2400, 25200,
3093
1169, -2400, 19791, 29904, -2400, -2400, -2400, 1177, -2400, 1909,
3094
-2400, 1180, -2400, 67, 1164, 33600, 1183, -2400, -2400, 1465,
3095
1465, 3582, 1578, 19791, -2400, -2400, 25200, -2400, 19791, -2400,
3096
1132, -2400, 2213, 246, -2400, -2400, 2125, -2400, 466, 2029,
3097
29904, 2220, -2400, -2400, -2400, 21504, 2027, 1191, -2400, -2400,
3098
2188, 1953, -2400, -2400, 19765, 1953, 13942, 29904, -2400, -2400,
3099
-2400, 1435, -2400, 1194, -2400, -2400, -2400, 1197, -2400, 1206,
3100
-2400, -2400, 1556, 1556, 568, -2400, 1556, -2400, 1556, -2400,
3101
-2400, -2400, -2400, 2150, -2400, -2400, -2400, 255, -2400, 2033,
3102
2034, -2400, 77, 1893, 1953, -2400, 141, 29904, -2400, 29568,
3103
1435, -2400, -2400, 2162, -2400, -2400, 2056, 340, 340, 2051,
3104
29904, 340, 340, 2001, 510, 510, 2173, -2400, 1943, -2400,
3105
1456, 1456, 33600, 1898, -2400, 20150, -2400, 2005, -2400, 2006,
3106
-2400, -2400, -2400, 201, 2029, -2400, -2400, 29904, 1904, -2400,
3107
-2400, 2163, -2400, 2265, -2400, 142, -2400, -2400, 21504, 16698,
3108
-2400, 77, -2400, -2400, -2400, -2400, 1200, -2400, -2400, -2400,
3109
-2400, -2400, -2400, -2400, 55, 162, 1904, 2038, -2400, -2400,
3110
-2400, 1145, -30, -2400, -2400, 20150, -2400, 57, -2400, -2400,
3111
-2400, -2400, -2400, -2400, -2400, -2400, 21504, -2400, -2400, 32592,
3112
-2400, -2400, 744, -2400, -2400, 826, 1094, 1917, 1918, -2400,
3113
57, 20150, 2040, -2400, 1208, -2400, -2400
3116
/* YYPGOTO[NTERM-NUM]. */
3117
static const short yypgoto[] =
3119
-2400, -2400, -2400, 1726, -2400, -579, -324, -2400, -2400, -2400,
3120
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400,
3121
-2400, 794, -2400, -2400, -421, 956, 1431, -2400, 569, -2400,
3122
-2400, -2400, -2400, -504, -2400, 378, -2400, -2400, -2400, -2400,
3123
-2400, -2400, 855, -2400, -530, 469, -647, -2400, -2400, -2400,
3124
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, -1017, -7,
3125
61, -2400, 52, 871, 139, -2400, -139, -2400, -2400, -2400,
3126
-118, 551, -1100, -1693, 434, -410, -436, -391, -388, -412,
3127
-2400, -275, -340, -2379, -1781, -2400, -2400, 32, -2400, 73,
3128
-1016, -2400, 1201, -2400, -2400, -792, -2400, -80, -2400, -2400,
3129
-146, -2400, -2400, -2400, 504, -2400, -2400, -2400, -1014, -2400,
3130
837, -1807, -2400, -2400, -2400, -481, -452, -2400, -2399, -91,
3131
-88, -2400, -2400, -2400, -2400, -663, -2400, 459, -2400, -2400,
3132
-2400, -425, 1230, -470, -2400, -2400, -2400, -2400, -129, -1050,
3133
-2400, -2400, -2400, -1412, -2400, 2307, 1832, -1013, -2400, 9,
3134
23, 1612, -715, -1518, 56, -2400, -2400, -1137, -2400, -2400,
3135
-2400, -1480, -1008, -2400, -2400, -2400, -319, -2346, -2400, -2400,
3136
-692, -2400, 590, 969, 976, -2400, -1273, 102, -485, -1834,
3137
-2400, -112, -2400, -2400, -2400, -2400, -2400, -991, -2400, -1126,
3138
-420, -2400, -273, -2400, -2400, -2400, 478, -2400, 222, -2400,
3139
-2400, -2400, -2400, -2400, -2400, -404, -437, -2400, -2400, -2400,
3140
84, -2400, -2400, -2400, 1054, -609, -505, 1820, -1007, -2400,
3141
-2400, -2400, -2400, -1667, -2400, -2400, -2400, -2400, -2400, -2400,
3142
-2400, -1507, -2400, -2400, -2400, 1050, 2347, -371, -2400, -2400,
3143
-2400, -2400, -2400, -2400, -2400, -2400, -2400, -2400, 1659, -90,
3144
-2400, 35, -2400, -2400, 395, 36, -2400, -2400, -2400, -2400,
3145
-298, 39, 1662, -2400, -2400, 8, 0, -40, 386, 502,
3146
-2400, -2400, -24, 716, -2400, -2400, -2400, -2400, 650, 1494,
3147
-2400, 648, -235, -2400, -2400, 1497, -2400, 1052, 1065, 679,
3148
-1403, 862, -1446, 446, -453, -100, 31, -2400, -1653, -2104,
3149
164, -26, 922, -957, -2400, 2245, 2889, -2400, -2400, -646,
3150
-2400, -2400, 2985, 3257, -2400, -2400, 3437, 3604, -2400, -631,
3151
334, 3647, 1811, -765, -1196, 4360, 1148, 314, -1114, 79,
3152
-2400, -140, -2400, 4651, 524, -2400, -665, -2400, -2220, -2400,
3153
-1109, -2400, -2400, -2400, -2400, -2400, -1741, -1921, -281, 723,
3154
-2400, -2400, 806, -2400, -2400, -2400, -602, -532, -1191, 727,
3155
-2400, 1121, -2400, 682, -96, 118, 370, -500, 1045, -434,
3156
1714, -352, -1489, -793, 1718, -2400, -119, -2400, -1072, 206,
3157
-126, 7, 43, 3886, -840, -987, 2166, -595, -572, -2400,
3161
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
3162
positive, shift that token. If negative, reduce the rule which
3163
number is the opposite. If zero, do what YYDEFACT says.
3164
If YYTABLE_NINF, syntax error. */
3165
#define YYTABLE_NINF -1457
3166
static const short yytable[] =
3168
131, 725, 1132, 554, 670, 436, 614, 1098, 130, 1538,
3169
591, 1529, 595, 1512, 1109, 545, 1548, 598, 695, 587,
3170
956, 617, 699, 597, 624, 1230, 1182, 485, 625, 846,
3171
703, 852, 1039, 485, 698, 125, 126, 1036, 925, 128,
3172
1481, 522, 1142, 553, 491, 859, 950, 1861, 1955, 1651,
3173
399, 407, 2091, 2122, 881, 523, 399, 399, 1140, 1294,
3174
1037, 399, 1986, 399, 493, 2101, 662, 1467, 1386, 399,
3175
918, 399, 549, 513, 519, 493, 1968, 526, 1587, 519,
3176
519, 1947, 1949, 1093, 104, 1493, 1494, 1096, 1495, 1496,
3177
2253, 2227, 1345, 1100, 1497, 1498, 839, 693, 1128, 1110,
3178
709, -1291, 1108, -1344, 1248, 1128, 1248, -1268, 1762, 1764,
3179
841, 906, 711, 850, 713, 1469, 1203, -828, 1162, 1932,
3180
2326, 1195, 1196, -1342, 2514, 1719, -1143, 1596, 1597, 1598,
3181
-1370, 1562, -1143, -1386, 1655, 1609, 1533, 1351, -1408, 1612,
3182
1613, 15, 1239, 15, 1418, 1215, 1617, 1655, 15, 1352,
3183
2422, 1844, 1351, 898, 2472, 1635, 1241, 1636, 742, 1689,
3184
893, 910, 1167, 1128, 1352, 1690, 2636, 2487, 1362, 2489,
3185
1649, 1995, 1650, -181, 1704, 600, 2155, 1731, 1276, -828,
3186
619, 621, 592, 594, 592, 1938, 599, 421, 399, 616,
3187
599, 399, 1248, 1834, 399, 399, 592, 599, 1976, 2720,
3188
1138, 2425, 1978, 22, 1509, 22, 1939, -831, 1509, 1353,
3189
22, 2788, 685, 2762, -988, 1418, 2473, 953, 2205, 2206,
3190
2207, 2208, 1693, 2769, 1353, 899, 1047, 2727, 409, 1940,
3191
499, 1563, 1248, 2438, 1913, 2143, 2728, 423, 1252, 1253,
3192
1939, -828, -1269, 956, 2266, 2408, 1855, 2452, 894, 911,
3193
2660, 900, 1942, 1452, 842, -924, 2776, 27, 2408, 27,
3194
1653, -1159, 527, 1940, 626, 1984, 1281, -1159, 2681, -831,
3195
1555, 946, 1248, 2436, 1980, 914, 2700, 2308, 1941, 1039,
3196
-973, 2453, 3, 4, 614, 1256, 1942, 1363, 1160, 2616,
3197
1036, 663, 35, 2721, 412, 658, 666, -993, 1279, 1201,
3198
672, 2327, 35, 1133, 677, 2409, -262, 1943, 1183, 678,
3199
1230, 1129, 1581, 1037, 614, 2726, 1282, 947, 1129, 1865,
3200
35, 916, 35, 2437, 1694, 1354, 690, 35, 1854, 2789,
3201
1732, -831, 694, 2474, 1981, 1765, 954, 863, 706, 1944,
3202
1354, 2714, 528, 1351, 1286, 627, 1445, 2770, 1364, 686,
3203
2763, 2156, 1451, 2731, 1510, 2439, 1835, 429, 2575, 430,
3204
1163, 2722, 2410, 2144, 2169, 1977, 2785, 1370, 901, 1979,
3205
1975, 2729, 41, 1944, 41, 2410, 1129, 895, 404, 41,
3206
902, 497, 2682, 1564, 2607, 2475, 43, 2506, 1277, 1168,
3207
2157, -271, -1143, 404, 903, 2667, 1164, 404, 1565, 1656,
3208
912, 904, 723, 1589, -1457, 1355, 1845, 1881, 1529, 497,
3209
404, 404, 2073, 802, 2777, 1353, 43, 1203, 1717, 1469,
3210
1355, 43, 1371, 896, 1139, 1691, 1516, 2375, 2376, 1195,
3211
1196, 2282, 1264, 1265, 1266, 1267, 1268, 1269, 1215, 2167,
3212
2168, 1270, 1054, 1270, 905, 481, -1268, 481, 2173, -1268,
3213
2373, -1268, 482, -1268, 482, 2055, 1945, 1848, 399, 1036,
3214
497, 594, 1428, 592, -1291, 599, -1344, 616, 1349, 599,
3215
674, 399, 1242, 920, 399, 689, 592, -828, 599, 710,
3216
-828, 712, 1037, 714, 399, 1535, -1342, 715, 2128, 399,
3217
2129, 1541, 594, -1370, 1317, 399, -1386, 616, 1866, 399,
3218
399, -1408, 1402, 1404, 399, 399, 614, 399, 586, 723,
3219
592, -988, 586, 497, 404, 2339, 1993, 1041, 2098, 404,
3220
404, 1584, 1585, 1269, 1044, 626, 1051, -1159, 1439, 1270,
3221
-988, 1354, 1593, 1595, 2260, 2421, -181, 2405, 2264, 1362,
3222
1097, 1386, 2269, 1359, 1610, 1611, 1914, 1915, 2742, 1473,
3223
399, 1133, 399, 1737, 1115, 734, 131, 1670, 1629, 1631,
3224
1266, 1267, 1268, 1269, 130, 1501, 1118, -831, 1134, 1270,
3225
-831, 2196, 2715, 399, 519, 2193, 847, 519, 2310, 1190,
3226
421, -1269, 1614, 1615, -1269, 35, -1269, 2684, -1269, 1455,
3227
1529, 125, 126, 870, -993, 128, 2539, 2184, 1264, 1265,
3228
1266, 1267, 1268, 1269, 507, 1474, 627, 1143, 877, 1270,
3229
1513, 1355, 444, -993, 1490, 1710, 656, 1808, 2340, 559,
3230
1811, 1812, 2556, 876, 2194, 14, 1440, 1502, 494, 1473,
3231
423, 15, 1645, 1990, 1078, 1368, 2253, -860, 2209, 1544,
3232
104, 2097, 2579, 2287, 1395, 592, 1358, 1456, 722, 878,
3233
2251, 18, 1036, 2197, 1475, 2023, 1552, 1476, 2392, 2570,
3234
500, 1671, 2391, 2642, 923, 1672, 1131, 31, 560, 508,
3235
1359, 1883, 2557, 871, 2211, 1037, 1491, 1039, 877, 43,
3236
497, 1288, 399, 1120, 1431, 1474, 2643, 2311, 924, 616,
3237
399, 2685, -860, 22, 399, 631, 2312, 1673, 592, 1754,
3238
632, 2517, 2743, 1172, 399, 1369, 2195, 2066, 2126, 131,
3239
1328, 728, 592, 723, 1884, 2024, 853, 1150, 1546, 878,
3240
1550, 1551, 2281, 1553, 131, 1121, 592, 1117, 2147, 399,
3241
743, 955, 1166, -860, 1475, 561, 1477, 1476, 844, 2393,
3242
592, 2686, 2394, 1329, 1146, 1147, 1188, 847, 1148, 890,
3243
429, 1036, 430, 1067, 2400, 2282, 2467, 2627, 2023, 2403,
3244
2404, 2744, 399, 854, 1205, 399, 493, 554, 2709, 1755,
3245
399, -967, 1485, 1289, 1037, 1356, 1488, 1105, 544, 738,
3246
2745, 1179, 614, 404, 586, 399, 1507, 1185, 1330, 1360,
3247
1207, 1885, 2223, 2568, 1233, 1106, 1503, 555, 2215, 1122,
3248
1618, 2067, 1674, 2190, 2192, 2068, 2710, 1237, 1478, 679,
3249
35, 2477, 2498, 1419, 404, 586, 1477, 135, 2024, 509,
3250
510, 586, 2130, 1529, 2279, 1190, 2216, 1529, 562, 410,
3251
1346, 1529, 1479, 883, 680, 2217, 1816, 1817, 1418, 1886,
3252
-993, 2023, 801, 1425, 1123, 2025, 2026, 2027, 136, 2028,
3253
2029, 2030, 2031, 2032, 2033, 884, 1342, 1962, 2480, -993,
3254
2034, 524, 41, 2484, 404, 1409, 1774, 2486, 551, 1921,
3255
681, 404, 1320, 1320, 1813, 1320, 1493, 1494, 635, 1495,
3256
1496, 404, 1467, 2296, 1722, 1497, 1498, 898, 1478, 2175,
3257
2176, 847, 1957, 1958, 556, 1401, 847, 847, 1430, 135,
3258
887, 2024, 2069, 1410, 43, 1316, 2218, 1887, 1441, 1888,
3259
2070, -836, 679, 654, 1124, 404, 1442, 1453, 404, 2379,
3260
1386, 1458, 888, -836, 664, 31, 665, 1346, 404, 1395,
3261
136, 135, 519, 2303, 557, 1988, 1443, 2225, 1290, 1291,
3262
497, 682, 914, 2306, 481, 801, 889, 497, 2025, 2026,
3263
2027, 1292, 2028, 2029, 2030, 2031, 2032, 2033, 1770, 899,
3264
-836, 1712, 136, 2034, 915, 616, 716, 519, 1411, 1431,
3265
802, 892, -1000, 681, 2050, 1489, 1435, 1388, -836, -1245,
3266
1814, 2613, 1815, 1921, 2191, 900, 2550, 518, 916, 2552,
3267
2553, -1000, 519, 543, 2064, 926, 1739, 1938, 1951, 1389,
3268
927, 898, 660, 951, 2419, 404, 586, 890, 2703, 1412,
3269
1542, 1413, 1922, 586, 1991, 1240, 1449, 2738, 2151, -836,
3270
1992, 1414, 928, 1390, 2152, 2153, 1245, -836, 801, 1239,
3271
661, 2025, 2026, 2027, 1549, 2028, 2029, 2030, 2031, 2032,
3272
2033, 2092, 2093, 943, 2766, 2134, 2034, 2732, 2114, 404,
3273
404, 404, 1939, 405, 1599, 586, 481, 1298, 1921, 155,
3274
1225, 1226, -970, 482, 411, 944, 717, 2135, 495, 1484,
3275
2115, 468, 504, 899, 455, 1940, 898, -1268, 2182, 1415,
3276
614, 1218, 2604, 718, 2641, 547, 497, 525, 1227, 592,
3277
1941, 404, 671, 592, 2116, 1462, -1270, 692, 1942, 900,
3278
2123, 1342, 1923, 948, 2799, 1244, 31, 2800, 1416, 1401,
3279
1600, 404, 1225, 1226, 902, 898, 2414, 1645, -1269, 1943,
3280
-836, -1003, 1225, 1226, 554, 1523, 1922, 949, 903, 1213,
3281
1214, -1003, 2423, 1225, 1226, 904, 1545, -1271, 683, 2629,
3282
1227, 2511, 1518, 1519, 599, 2481, 399, 1529, 899, 931,
3283
1229, 848, 1529, 497, 1421, 932, 1529, 847, 1426, 1601,
3284
1429, 1229, 1602, 2670, 553, 2707, 2708, 684, 866, 2711,
3285
1284, 2712, 1713, 131, 900, 704, 399, 2033, 905, 2159,
3286
2160, 1576, 592, 2034, 2023, 1944, 866, 899, 890, -828,
3287
1578, 933, 1543, 2465, 620, 399, 1544, 399, 399, 2671,
3288
399, 1922, 707, 1577, 934, 716, 2096, 1561, 1573, 1574,
3289
1176, 1177, 1575, 900, 1570, 2102, 901, 1735, 1571, 2672,
3290
631, 1738, -1248, 493, 493, 632, 631, 1583, 902, 720,
3291
404, 632, 935, 1291, 2673, 1749, 721, 936, 481, 1759,
3292
937, 1603, 903, 1760, 1687, 1292, 1225, 1226, 2674, 904,
3293
2482, 1660, 1862, 1868, 729, 2079, 1863, 1869, 1321, 1323,
3294
2209, 1327, 2675, 616, 667, 1769, 668, 1771, 1945, 1973,
3295
2293, 1989, 2210, 1974, 1036, 1544, 873, 1781, 875, 1999,
3296
1805, 2328, 2329, 1544, 2030, 2031, 2032, 2033, 2415, 2416,
3297
-1454, 901, 905, 2034, 2108, 2252, 2211, 1037, 2212, 735,
3298
2001, 1625, 736, 902, 1544, 737, 2274, 1838, 2276, 2277,
3299
1841, 738, 1843, 1604, 739, 404, 1605, 903, 1606, 2004,
3300
-1457, 1850, 2009, 2005, 904, 2010, 1544, 1858, 1859, 1544,
3301
901, 2083, 2014, 2084, 2038, 2624, 2015, 2676, 1544, 2294,
3302
740, 2571, 902, 2095, 2677, 741, 2103, 1544, 2140, 1039,
3303
1133, 2228, -1454, 1695, 2595, 2229, 903, 2049, 2213, 2051,
3304
2052, 399, 851, 904, 2146, 2235, 914, 905, 2149, 2236,
3305
2678, 1529, 744, 1645, 1322, 1322, 1662, 1322, 2028, 2029,
3306
2030, 2031, 2032, 2033, 2584, 2585, 599, 399, 2334, 2034,
3307
599, 594, 745, -1454, 2285, 399, 1663, 1187, 2286, 43,
3308
2085, 399, 2086, 855, 599, -1454, 905, 399, 856, 2342,
3309
-1454, 857, 1836, 1544, -1454, 2214, 862, -1454, 2249, -1454,
3310
2215, 864, 1342, 2364, 866, 2632, 2365, 1544, 1401, 2377,
3311
1544, 2109, 2110, 1863, 599, 399, 599, 399, 399, 874,
3312
399, 1777, -1454, 2518, 1874, 863, 599, 417, 2216, 599,
3313
399, 399, 2515, 1645, 867, 2537, 2516, 2217, 657, 1863,
3314
-1454, 885, 2538, 1819, 1820, 399, 1863, 399, 399, 1827,
3315
399, 399, 399, 399, 2601, -1270, 599, 399, 1133, 599,
3316
399, 599, 554, 1895, 2606, 1664, 882, 956, 2229, 2265,
3317
1665, 2268, -1271, 592, 1666, 1530, 2111, 2112, 2608, 592,
3318
592, -1454, 2229, 1714, 908, 919, 404, 404, 1954, -1454,
3319
921, 922, 929, 421, 2028, 2029, 2030, 2031, 2032, 2033,
3320
2617, 945, 1931, 586, 2516, 2034, 404, 2655, 2218, 2662,
3321
-549, 2656, 952, 1133, 493, 614, 1624, 2664, 404, 724,
3322
2665, 2229, 2595, 2668, 2286, 1983, 726, 2516, 1042, 1901,
3323
2292, 2695, 2023, 1912, 2704, 1168, 733, 2705, 1133, 1045,
3324
2774, 2516, 1050, 423, 2775, 1052, 1936, 1056, 2806, 2706,
3325
1936, 1950, 2775, 1054, 890, 1094, 1101, -133, 1103, 1114,
3326
1777, 500, 1125, 2023, 1127, 1133, 2106, 1135, 2022, 2471,
3327
726, 1667, 1173, 861, 1136, 1137, 1174, 599, 1178, 1668,
3328
1180, 1181, -1454, 869, 1186, -958, -965, 2023, 1894, 1194,
3329
1197, 1198, 2024, 1199, 1200, 1204, 43, 1206, -955, 554,
3330
-1454, 2023, -956, 599, -959, 1274, 1209, 1210, 2491, 1211,
3331
1212, 931, 1217, -957, 1220, 1221, 1222, 932, 1223, 1224,
3332
2131, 1287, 1231, 2024, 1312, 1232, 404, -1454, 2748, 2749,
3333
-1454, 1280, -1454, -1454, 1318, 1168, 876, 1343, 1344, 1237,
3334
1346, 1857, 1347, 2798, 1348, 1857, 1361, 2024, 1365, 1366,
3335
1391, 1367, 1660, 933, 1392, 2088, 2089, 1395, 1393, 1396,
3336
1040, 2024, 1394, 429, 1408, 430, 934, 404, 1397, 1398,
3337
1403, 2057, 2082, 1406, 431, 1418, 1407, 1422, 1423, 1424,
3338
1625, 1625, 1432, 434, 1523, 1625, 1896, 1433, 1434, 2386,
3339
2387, 1427, 1436, 1437, 935, 1438, 1448, 1450, 616, 936,
3340
1919, 398, 937, 1457, 1111, 1112, 1113, 442, 443, 1470,
3341
2106, 1454, 469, 1459, 484, 1625, 1625, 1463, 1471, 801,
3342
503, 1468, 506, -1457, -1457, 1190, 2028, 2029, 2030, 2031,
3343
2032, 2033, 2136, 1482, 2139, 419, 1487, 2034, 847, 1500,
3344
1316, 1201, 1514, 1515, 1517, 1531, 726, 1521, 1534, 1207,
3345
801, 399, 1537, 2025, 2026, 2027, 1554, 2028, 2029, 2030,
3346
2031, 2032, 2033, 1218, 1506, 1557, 726, 1558, 2034, 1462,
3347
1568, 1580, 1588, 2154, 801, 1633, 1589, 2025, 2026, 2027,
3348
802, 2028, 2029, 2030, 2031, 2032, 2033, 1634, 801, 599,
3349
399, 399, 2034, 1647, 1648, 2028, 2029, 2030, 2031, 2032,
3350
2033, 1270, 1654, 2165, 1704, 399, 2034, 2554, -1456, 1659,
3351
1675, 1677, 1711, 1715, 1716, 560, 1723, 2280, 1727, 1728,
3352
1733, 399, 1549, 1740, 1734, 399, 1742, 1744, 914, 1745,
3353
1746, 2612, 1756, 1748, 1751, 1753, 1757, 404, 1766, 601,
3354
1767, 2295, 618, 2622, 1768, 622, 623, 1779, 1778, 1809,
3355
938, 2302, 1780, 1822, 1840, 2230, 1846, 1849, 1851, 404,
3356
1246, 1852, 1853, 1860, 1864, 404, 2154, 1872, 1248, 1870,
3357
-1456, 1875, 1530, 1249, 939, 1876, 1777, 1877, 2023, 1878,
3358
1879, 1880, 1897, 1891, 1898, 1313, 1462, 1917, 1918, 1928,
3359
1929, 1930, 1937, 1953, 1956, 1967, 131, 131, 1960, 1961,
3360
1581, 1982, 1985, 2007, 2240, 2241, 723, 1987, 2002, 2003,
3361
131, -1456, 2006, 2044, 2008, 1624, 1624, 1523, 2256, 2011,
3362
1624, 1523, 1544, -1456, 2012, 1523, 2045, 2016, -1456, 2532,
3363
2019, 2037, -1456, 2043, 2046, -1456, 2047, -1456, 2024, 2054,
3364
2065, 399, 2060, 2078, 2058, 847, 2666, 2059, 2071, 2117,
3365
1624, 1624, 2301, 131, 1936, 2081, 2120, 2258, 2094, 2121,
3366
-1456, 2288, 2124, 2137, 2141, 2150, 2105, 2125, 2142, 2148,
3367
2161, 2272, 2162, 2164, 2166, 2170, 2188, 1250, -1456, 2171,
3368
2172, 1251, 2189, 2145, 2198, 2199, 599, 2201, 2322, 2202,
3369
2222, 2200, 2203, 2224, 2231, 2237, 2233, 1561, 2234, 2238,
3370
1252, 1253, 2330, 2244, 2239, 2245, 2259, 399, 2257, 2255,
3371
599, 2261, 2270, 1254, 2262, 2273, 2284, 2275, 2290, -1456,
3372
2291, 554, 1187, 592, 2600, 2345, 2300, -1456, 2040, 2039,
3373
2297, 1241, 2362, 2034, 2600, 2331, 2332, 1857, 1857, 2356,
3374
2357, 2358, 2359, 2333, 1255, 2353, 1857, 1256, 404, 2366,
3375
2344, 2369, 2370, 2178, 1530, 2371, 2186, 2372, 2378, 2787,
3376
1257, 1237, 1258, 2647, 2380, 801, 2398, 2401, 2025, 2026,
3377
2027, 2381, 2028, 2029, 2030, 2031, 2032, 2033, 2402, 2382,
3378
2383, 1625, 2433, 2034, 1625, 1625, 1625, 1625, 1625, 1625,
3379
1625, 1625, 1625, 603, 1625, 2399, 604, 605, 606, 500,
3380
607, 608, 609, 610, 611, 612, 2417, 2248, 2440, 659,
3381
2418, 2395, 2445, 2447, 2449, 2455, 2442, 2461, 1259, 2462,
3382
-1456, 2469, 675, 2468, 2463, 676, 2485, 2494, 2384, 2478,
3383
2488, 2499, 1625, 1625, 2501, 687, 2492, 2497, -1456, 2507,
3384
691, 2508, 2502, 1462, 1462, 2503, 2505, 2509, 2528, 2663,
3385
2510, 700, 2529, 2548, 2540, 701, 702, 2544, 2545, 2555,
3386
2551, 1539, 1540, 2558, 2409, -1456, 399, 399, -1456, 2561,
3387
-1456, -1456, 2562, 2563, 2564, 2572, 2444, 2573, 2576, 2578,
3388
2583, 726, 2580, 2581, 399, 399, 2582, 1260, 2589, 2591,
3389
1261, 1262, 1263, 1567, 1264, 1265, 1266, 1267, 1268, 1269,
3390
2599, 731, 2603, 732, 2609, 1270, 2610, 2615, 2013, 614,
3391
2625, 2626, 2633, 2439, 2645, 2638, 2640, 2648, 2649, 2692,
3392
2683, 2650, 2696, 2687, 2533, 2697, 2713, 2716, 2718, 399,
3393
399, 399, 2725, 399, 2733, 2541, 2737, 2543, 2741, 2714,
3394
2715, 1523, 2751, 2760, 2761, 2337, 1523, 404, 1863, 2767,
3395
1523, 2768, 1901, 404, 1819, 2786, 2801, 1819, 2802, 2459,
3396
399, 2788, 868, 1893, 2099, 1311, 2457, 1837, 1777, 2158,
3397
1625, 1818, 2451, 2390, 2119, 2569, 2734, 2174, 2765, 2719,
3398
1936, 2717, 399, 2747, 589, 2646, 2694, 1530, 589, 2458,
3399
2493, 1530, 1508, 2546, 1901, 1530, 2490, 2588, 2345, 1882,
3400
2804, 1702, 2560, 2791, 2559, 599, 2773, 1486, 2179, 2772,
3401
404, 586, 2805, 502, 727, 1161, 1624, 2701, 2495, 1624,
3402
1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 2385, 1624,
3403
2127, 1763, 2470, 1043, 2388, 404, 2389, 1761, 2598, 2680,
3404
2779, 1048, 1721, 2803, 858, 1049, 470, 1720, 1145, 2289,
3405
2587, 1149, 1857, 2104, 1338, 1092, 1336, 1857, 1857, 1718,
3406
2536, 2113, 1730, 2090, 1933, 1248, 2605, 1624, 1624, 2267,
3407
1249, 1873, 2336, 2450, 2185, 2076, 1996, 2074, 1703, 2100,
3408
1119, 2611, 1116, 0, 2496, 0, 0, 0, 0, 0,
3409
2424, 2426, 616, 599, 399, 399, 0, 0, 1625, 1625,
3410
0, 0, 0, 0, 599, 399, 599, 0, 2566, 0,
3411
0, 0, 0, 1151, 0, 0, 0, 2547, 0, 0,
3412
0, 1170, 0, 1549, 0, 131, 0, 0, 0, 0,
3413
2466, 0, 0, 2574, 0, 0, 0, 0, 404, 404,
3414
0, 0, 2653, 0, 2230, 0, 0, 0, 0, 0,
3415
0, 1089, 0, 0, 0, 0, 0, 0, 0, 0,
3416
0, 0, 0, 2345, 0, 1523, 0, 0, 0, 0,
3417
2618, 0, 0, 0, 1250, 0, 0, 0, 1251, 0,
3418
0, 0, 0, 1089, 0, 0, 399, 0, 0, 0,
3419
0, 2596, 0, 0, 0, 0, 0, 1252, 1253, 0,
3420
0, 399, 0, 0, 0, 1624, 2693, 0, 2702, 0,
3421
1254, 2490, 1892, 0, 0, 2459, 0, 0, 0, 0,
3422
1089, 0, 599, 0, 0, 0, 0, 0, 0, 0,
3423
0, 0, 0, 0, 1902, 0, 0, 0, 0, 0,
3424
1920, 1255, 0, 0, 1256, 0, 0, 0, 0, 0,
3425
0, 404, 2531, 0, 0, 0, 0, 1257, 0, 0,
3426
589, 0, 0, 0, 0, 0, 1625, 404, 0, 2345,
3427
0, 0, 0, 0, 0, 404, 1625, 1625, 0, 0,
3428
0, 0, 0, 0, 1857, 0, 0, 1857, 1857, 614,
3429
0, 589, 0, 0, 0, 0, 1777, 589, 1819, 0,
3430
0, 0, 0, 0, 0, 0, 0, 0, 0, 2771,
3431
0, 1530, 0, 0, 592, 1259, 1530, 0, 592, 592,
3432
1530, 0, 0, 0, 0, 0, 399, 0, 0, 0,
3433
0, 0, 0, 1624, 1624, 0, 0, 0, 0, 0,
3434
0, 0, 1297, 0, 0, 0, 0, 2797, 0, 0,
3435
0, 0, 0, 0, 0, 2597, 0, 0, 0, 0,
3436
0, 0, 0, 399, 138, 0, 0, 0, 0, 0,
3437
0, 0, 0, 1089, 0, 836, 2750, 0, 0, 2596,
3438
592, 0, 0, 0, 1260, 0, 0, 1261, 1262, 1263,
3439
0, 1264, 1265, 1266, 1267, 1268, 1269, 0, 0, 1089,
3440
0, 0, 1270, 0, 0, 0, 404, 404, 404, 404,
3441
0, 0, 1089, 139, 0, 0, 0, 2796, 0, 0,
3442
399, 0, 592, 2087, 0, 0, 0, 0, 0, 140,
3443
0, 0, 0, 1462, 0, 0, 0, 1857, 0, 0,
3444
0, 2631, 0, 1401, 131, 0, 0, 141, 2759, 2020,
3445
2021, 0, 0, 0, 2036, 0, 0, 2795, 0, 0,
3446
1462, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3447
0, 0, 616, 0, 0, 2652, 142, 836, 1035, 0,
3448
131, 143, 589, 0, 2061, 2062, 0, 0, 0, 589,
3449
0, 0, 0, 0, 144, 0, 0, 1499, 2759, 0,
3450
0, 1624, 0, 0, 0, 0, 1091, 0, 0, 0,
3451
0, 1624, 1624, 0, 0, 0, 145, 0, 586, 0,
3452
0, 0, 0, 0, 2759, 0, 0, 1536, 0, 0,
3453
0, 589, 0, 1089, 0, 1530, 0, 0, 1091, 0,
3454
0, 0, 0, 0, 0, 0, 0, 0, 1246, 0,
3455
0, 0, 0, 836, 0, 0, 1248, 0, 0, 0,
3456
0, 1249, 0, 1089, 0, 0, 0, 0, 0, 0,
3457
146, 0, 0, 0, 0, 1091, 1246, 0, 0, 0,
3458
0, 0, 0, 0, 1248, 1080, 1089, 0, 0, 1249,
3459
0, 0, 0, 2735, 2736, 0, 836, 2739, 2740, 0,
3460
0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
3461
0, 2758, 586, 0, 404, 148, 0, 1080, 1089, 0,
3462
149, 0, 2226, 836, 0, 0, 1089, 0, 2232, 0,
3463
0, 0, 0, 404, 0, 0, 0, 0, 0, 0,
3464
0, 0, 0, 0, 0, 150, 151, 0, 0, 404,
3465
836, 836, 0, 836, 1080, 0, 0, 0, 152, 0,
3466
0, 2758, 0, 153, 0, 1250, 0, 0, 0, 1251,
3467
0, 836, 154, 0, 0, 2039, 404, 0, 0, 0,
3468
2040, 0, 0, 0, 0, 2278, 0, 2758, 1252, 1253,
3469
0, 0, 0, 1250, 0, 586, 0, 1251, 0, 0,
3470
0, 1254, 0, 0, 0, 0, 586, 0, 0, 0,
3471
726, 0, 0, 0, 0, 0, 1252, 1253, 0, 0,
3472
836, 0, 0, 836, 836, 0, 0, 0, 1091, 1254,
3473
0, 1035, 1255, 0, 0, 1256, 0, 0, 1736, 0,
3474
0, 0, 0, 0, 0, 0, 1743, 0, 1257, 0,
3475
1258, 0, 1747, 0, 1387, 0, 0, 0, 1752, 0,
3476
1255, 1089, 0, 1256, 0, 0, 0, 1091, 0, 0,
3477
0, 0, 0, 0, 0, 0, 1257, 0, 1258, 0,
3478
0, 0, 0, 0, 0, 0, 0, 0, 1772, 1773,
3479
0, 1775, 0, 0, 0, 0, 0, 0, 586, 0,
3480
0, 1806, 1807, 0, 0, 0, 1259, 1080, 0, 0,
3481
0, 0, 0, 2360, 2361, 1248, 1821, 0, 1825, 1826,
3482
1249, 1830, 1831, 1832, 1833, 0, 0, 0, 1839, 0,
3483
0, 1842, 0, 1080, 1259, 0, 586, 0, 0, 0,
3484
0, 0, 0, 0, 1248, 0, 1080, 0, 0, 1249,
3485
2309, 0, 0, 2313, 2314, 2315, 2316, 2317, 2318, 2319,
3486
2320, 2321, 0, 2323, 0, 0, 0, 1089, 0, 0,
3487
0, 0, 1089, 1089, 0, 1260, 0, 0, 1261, 1262,
3488
1263, 0, 1264, 1265, 1266, 1267, 1268, 1269, 1091, 0,
3489
1446, 0, 0, 1270, 0, 0, 0, 1447, 0, 0,
3490
1035, 2348, 2349, 1260, 0, 0, 1261, 1262, 1263, 0,
3491
1264, 1265, 1266, 1267, 1268, 1269, 0, 0, 1091, 0,
3492
0, 1270, 2063, 0, 1250, 0, 2420, 0, 1251, 0,
3493
0, 0, 0, 0, 0, 0, 0, 0, 0, 1089,
3494
0, 1091, 2441, 0, 0, 1089, 0, 1252, 1253, 0,
3495
2446, 0, 0, -1457, 0, 0, 0, 1251, 0, 0,
3496
1254, 1089, 1782, 0, 0, 0, 0, 1080, 0, 0,
3497
0, 589, 0, 1091, 0, 0, 1252, 1253, 0, 0,
3498
0, 1091, 0, 0, 0, 0, 0, 0, 0, -1457,
3499
0, 0, 0, 0, 1256, 0, 0, 1080, 0, 589,
3500
0, 0, 0, 0, 0, 0, 0, 1257, 0, 0,
3501
1783, 0, 0, 0, 0, 0, 0, 1784, 1785, 1786,
3502
1080, 0, 0, 1256, 0, 1089, 0, 0, 0, 0,
3503
0, 0, 836, 836, 0, 0, 1257, 0, 0, 2435,
3504
836, 0, 0, 836, 836, 0, 0, 0, 0, 0,
3505
0, 0, 1080, 0, 1787, 836, 836, 0, 0, 0,
3506
1080, 0, 1089, 836, 0, 1259, 0, 836, 836, 836,
3507
836, 0, 0, 0, 0, 0, 0, 836, 836, 0,
3508
0, 2524, 2525, 2526, 2527, 0, 0, 0, 0, 0,
3509
0, 1788, 836, 1035, -1457, 1789, 836, 0, 0, 0,
3510
836, 0, 0, 0, 836, 0, 0, 836, 836, 836,
3511
836, 836, 836, 836, 836, 836, 1091, 1248, 836, 0,
3512
0, 0, 1249, 836, 0, 0, 836, 0, 0, 0,
3513
0, 0, 1790, 0, 1260, 0, 0, 1261, 1262, 1263,
3514
0, 1264, 1265, 1266, 1267, 1268, 1269, 1791, 1792, 1793,
3515
1794, 1795, 1270, 1796, 0, 0, 0, 0, 0, 0,
3516
0, 2132, 2133, 1260, 0, 0, 0, 2512, 2513, 0,
3517
1264, 1265, 1266, 1267, 1268, 1269, 0, 0, 0, 0,
3518
1797, 1270, 0, 0, 0, 0, 0, 0, 0, 0,
3519
0, 0, 1035, 0, 0, 1080, 0, 0, 0, 0,
3520
0, 0, 0, 0, 0, 0, 0, 0, 836, 1798,
3521
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3522
0, 0, 1091, 0, 0, 0, 1250, 1387, 1091, 1081,
3523
1251, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524
0, 1799, 0, 1800, 0, 0, 0, 0, 0, 1252,
3525
1253, 1089, 1089, 0, 1089, 0, 0, 0, 0, 0,
3526
0, 1081, 1254, 0, 0, 1801, 0, 0, 0, 1089,
3527
0, 1089, 1802, 0, 0, 1803, 0, 0, 0, 0,
3528
0, 0, 0, 0, 0, 0, 1248, 0, 0, 2635,
3529
0, 1249, 0, 836, 1091, 0, 1256, 0, 1081, 0,
3530
1091, 1080, 0, 0, 0, 0, 1080, 1080, 726, 1257,
3531
1089, 0, 2243, 0, 836, 0, 1091, 0, 0, 0,
3532
0, 0, 0, 0, 2661, 1083, 0, 0, 0, 0,
3533
0, 0, 0, 0, 0, 2614, 0, 0, 0, 0,
3534
1089, 0, 0, 1248, 0, 2619, 2620, 0, 1249, 0,
3535
0, 2669, 0, 0, 0, 0, 0, 1083, 0, 0,
3536
0, 1089, 0, 0, 0, 0, 0, 1259, 589, 0,
3537
0, 0, 0, 1080, 0, 0, 0, 836, 0, 1080,
3538
1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3539
836, 0, 1089, 0, 1083, 1080, 0, 0, 0, 1251,
3540
0, 0, 0, 1089, 836, 0, 0, 0, 0, 0,
3541
0, 0, 0, 0, 1089, 0, 0, 1091, 1252, 1253,
3542
0, 2072, 0, 0, 0, 0, 0, 0, 0, 0,
3543
0, 0, 0, 0, 0, 836, 1260, 0, 0, 0,
3544
-1457, -1457, 0, 1264, 1265, 1266, 1267, 1268, 1269, 0,
3545
0, 1081, -1457, 0, 1270, 0, 1251, 0, 0, 1080,
3546
0, 0, 0, 0, 0, 1256, 0, 836, 836, 0,
3547
0, 0, 836, 0, 0, 1252, 1253, 1081, 1257, 0,
3548
0, 0, 0, 0, 836, 836, 836, 836, -1457, 1089,
3549
1081, 0, 0, 836, 0, 0, 1080, 0, 0, 0,
3550
0, 0, 836, 836, 0, 836, 0, 0, 0, 0,
3551
0, 0, 0, 0, 0, 0, 0, 836, 0, 836,
3552
0, 0, 1256, 836, 0, 1089, 0, 0, 0, 0,
3553
0, 0, 0, 0, 0, 1257, 0, 0, 0, 1089,
3554
836, 0, 0, 0, 0, 0, 0, 1083, 0, 0,
3555
589, 0, 836, 836, 0, 2396, 2397, 0, 0, 0,
3556
0, 0, 1089, 0, 0, 0, 0, 0, 0, 836,
3557
0, 0, 0, 1083, 0, 0, 0, 836, 836, 836,
3558
0, 0, 0, 0, 0, 0, 1083, 0, 836, 0,
3559
0, 0, 0, -1457, 0, 0, 0, 1084, 0, 0,
3560
2428, 2430, 2432, 0, 2434, 1260, 1387, 1091, 0, 1091,
3561
0, 1081, 1264, 1265, 1266, 1267, 1268, 1269, 0, 0,
3562
0, 0, 0, 1270, 1091, 0, 1091, 0, 0, 1084,
3563
0, 2460, 0, 0, 0, 0, 0, 0, 0, 0,
3564
0, 1081, 0, 0, 0, 0, 0, 0, 1089, 0,
3565
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3566
0, 0, 1260, 0, 1081, 1091, 1084, 0, 0, 1264,
3567
1265, 1266, 1267, 1268, 1269, 0, 0, 0, 0, 0,
3568
1270, 0, 0, 0, 0, 1080, 1080, 0, 1080, 0,
3569
0, 0, 0, 0, 0, 1091, 1081, 0, 0, 0,
3570
0, 0, 0, 1080, 1081, 1080, 0, 1083, 0, 0,
3571
0, 0, 0, 1089, 0, 1035, 1091, 0, 0, 0,
3572
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3573
0, 0, 0, 0, 0, 0, 0, 1083, 0, 0,
3574
0, 0, 0, 0, 1080, 0, 0, 1091, 0, 0,
3575
0, 0, 0, 0, 0, 0, 0, 0, 1091, 0,
3576
1083, 0, 0, 0, 0, 2534, 2535, 0, 0, 1091,
3577
0, 0, 0, 0, 1080, 0, 2542, 1086, 0, 0,
3578
0, 0, 0, 589, 0, 0, 0, 589, 0, 0,
3579
0, 589, 1083, 0, 0, 1080, 0, 0, 0, 0,
3580
1083, 0, 0, 0, 0, 0, 0, 589, 0, 1086,
3581
0, 0, 0, 0, 0, 0, 0, 0, 0, 1084,
3582
0, 0, 0, 1248, 0, 0, 1080, 0, 1249, 0,
3583
0, 0, 0, 0, 0, 1089, 0, 1080, 0, 1081,
3584
0, 836, 0, 0, 1091, 1084, 1086, 0, 1080, 0,
3585
0, 0, 0, 836, 0, 0, 0, 2243, 1084, 836,
3586
0, 0, 0, 836, 0, 0, 0, 0, 836, 0,
3587
0, 836, 836, 836, 836, 836, 836, 836, 836, 836,
3588
1091, 836, 0, 0, 0, 836, 836, 0, 0, 0,
3589
0, 0, 0, 0, 1091, 0, 0, 0, 0, 836,
3590
0, 2350, 0, 0, 0, 0, 836, 0, 0, 836,
3591
0, 836, 0, 0, 0, 0, 0, 1091, 836, 836,
3592
836, 0, 0, 1080, 836, 0, 0, 836, 0, 0,
3593
0, 0, -1457, 0, 0, 1083, 1251, 0, 0, 0,
3594
0, 0, 0, 0, 1087, 1081, 0, 0, 836, 0,
3595
1081, 1081, 0, 0, 0, 1252, 1253, 0, 0, 1080,
3596
0, 0, 0, 0, 0, 0, 0, 0, -1457, 0,
3597
0, 0, 0, 1080, 0, 0, 1087, 0, 0, 1084,
3598
0, 1089, 0, 0, 0, 0, 0, 1088, 0, 0,
3599
0, 0, 0, 0, 0, 0, 1080, 0, 0, 1086,
3600
1089, 0, 1256, 1091, 0, 0, 0, 1089, 0, 1084,
3601
0, 0, 0, 1087, 0, 1257, 0, 1081, 0, 1088,
3602
0, 0, 0, 1081, 0, 1086, 0, 0, 0, 0,
3603
0, 0, 1084, 0, 2691, 0, 0, 0, 1086, 1081,
3604
0, 1083, 0, 0, 0, 0, 1083, 1083, 0, 0,
3605
0, 0, 0, 0, 0, 0, 1088, 836, 0, 0,
3606
0, 0, 0, 0, 1084, 0, 0, 0, 1091, 0,
3607
0, 0, 1084, -1457, 0, 0, 0, 0, 0, 0,
3608
0, 0, 1080, 0, 0, 0, 0, 0, 0, 0,
3609
0, 2730, 0, 0, 0, 0, 0, 0, 0, 0,
3610
0, 0, 0, 1081, 0, 0, 1089, 589, 0, 0,
3611
0, 0, 589, 1083, 0, 0, 589, 0, 0, 1083,
3612
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3613
0, 0, 836, 636, 0, 1083, 0, 0, 0, 0,
3614
1081, 0, 1260, 0, 836, 0, 0, 1080, 0, 1264,
3615
1265, 1266, 1267, 1268, 1269, 0, 0, 0, 0, 1086,
3616
1270, 0, 0, 637, 0, 0, 1087, 0, 0, 0,
3617
0, 0, 0, 0, 0, 638, 0, 0, 0, 0,
3618
639, 0, 640, 0, 0, 836, 836, 0, 0, 1086,
3619
1091, 0, 1087, 0, 0, 0, 836, 836, 641, 1083,
3620
836, 0, 0, 0, 0, 1087, 0, 1084, 0, 1088,
3621
0, 0, 1086, 1089, 0, 0, 642, 0, 0, 0,
3622
0, 0, 0, 0, 0, 0, 1090, 0, 0, 0,
3623
0, 0, 0, 0, 0, 1088, 1083, 0, 0, 0,
3624
0, 0, 0, 0, 1086, 643, 0, 0, 1088, 0,
3625
0, 0, 1086, 0, 0, 0, 0, 0, 1090, 0,
3626
0, 0, 0, 644, 0, 0, 0, 0, 0, 1080,
3627
0, 0, 0, 0, 0, 0, 0, 0, 0, 836,
3628
1089, 0, 0, 0, 0, 0, 645, 0, 0, 1246,
3629
0, 0, 0, 0, 0, 1090, 0, 1248, 0, 0,
3630
0, 0, 1249, 0, 0, 0, 0, 0, 0, 0,
3631
0, 0, 0, 1084, 589, 0, 0, 0, 1084, 1084,
3632
0, 0, 0, 0, 0, 0, 1087, 836, 0, 1081,
3633
1081, 589, 1081, 0, 0, 0, 1091, 0, 0, 646,
3634
0, 0, 0, 836, 0, 0, 0, 1081, 0, 1081,
3635
0, 0, 0, 836, 0, 1091, 1087, 0, 0, 455,
3636
0, 0, 1091, 836, 836, 0, 0, 836, 0, 1088,
3637
0, 0, 0, 0, 836, 836, 0, 0, 0, 1087,
3638
0, 0, 647, 0, 648, 1084, 0, 1086, 1081, 649,
3639
0, 1084, 0, 0, 836, 0, 0, 0, 0, 1088,
3640
0, 0, 0, 0, 0, 0, 1250, 1084, 589, 0,
3641
1251, 1087, 0, 0, 650, 1080, 0, 0, 1081, 1087,
3642
0, 0, 1088, 0, 0, 1083, 1083, 651, 1083, 1252,
3643
1253, 0, 652, 0, 1080, 0, 0, 0, 836, 1081,
3644
0, 1080, 1254, 1083, 0, 1083, 0, 0, 1090, 0,
3645
653, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
3646
0, 1091, 1088, 0, 0, 0, 0, 0, 0, 0,
3647
1081, 1084, 0, 1255, 1385, 0, 1256, 0, 0, 0,
3648
0, 1081, 0, 0, 1083, 0, 0, 1090, 0, 1257,
3649
0, 589, 1081, 1086, 0, 0, 0, 0, 1086, 1086,
3650
0, 0, 589, 0, 0, 0, 0, 0, 1084, 0,
3651
0, 0, 0, 0, 1083, 0, 0, 0, 0, 0,
3652
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3653
0, 0, 0, 0, 0, 1083, 0, 1246, 0, 0,
3654
1080, 1724, 0, 0, 0, 1248, 0, 1259, 0, 0,
3655
1249, 0, 0, 0, 1087, 0, 0, 0, 0, 0,
3656
0, 0, 0, 0, 0, 1086, 1083, 1081, 1091, 821,
3657
0, 1086, 0, 0, 1248, 0, 0, 1083, 0, 1249,
3658
0, 0, 0, 0, 0, 0, 0, 1086, 1083, 0,
3659
0, 0, 0, 0, 589, 0, 0, 1088, 0, 0,
3660
0, 0, 0, 1081, 0, 0, 0, 0, 1090, 0,
3661
1725, 0, 0, 0, 0, 0, 1260, 1081, 0, 1261,
3662
1262, 1263, 0, 1264, 1265, 1266, 1267, 1268, 1269, 0,
3663
0, 0, 589, 0, 1270, 1091, 0, 0, 1090, 0,
3664
1081, 0, 0, 0, 0, 0, 0, 1080, 0, 0,
3665
0, 1086, 2351, 0, 1250, 0, 0, 0, 1251, 0,
3666
1087, 1090, 0, 1083, 0, 1087, 1087, 0, 0, 0,
3667
0, 957, 0, 0, 0, 0, 0, 1252, 1253, 0,
3668
0, 0, 0, -1457, 0, 0, 0, 1251, 1086, 0,
3669
1254, 0, 0, 1090, 0, 0, 0, 1084, 1084, 1083,
3670
1084, 1090, 0, 1088, 0, 0, 1252, 1253, 1088, 1088,
3671
0, 0, 0, 1083, 1080, 1084, 0, 1084, 0, -1457,
3672
0, 1255, 0, 0, 1256, 0, 1081, 0, 0, 0,
3673
0, 0, 1087, 0, 0, 0, 1083, 1257, 1087, 1258,
3674
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3675
0, 0, 0, 1256, 1087, 0, 1084, 0, 0, 0,
3676
0, 0, 0, 0, 0, 0, 1257, 0, 0, 0,
3677
0, 0, 0, 0, 0, 1088, 0, 0, 0, 0,
3678
0, 1088, 0, 0, 0, 0, 1084, 0, 0, 0,
3679
1192, 1081, 0, 0, 0, 1259, 0, 1088, 0, 0,
3680
0, 0, 0, 0, 0, 0, 0, 1084, 0, 0,
3681
0, 0, 0, 0, 0, 0, 0, 1216, 1087, 0,
3682
0, 0, 1083, 0, -1457, 0, 0, 0, 0, 0,
3683
0, 0, 0, 0, 0, 0, 1090, 0, 1084, 0,
3684
1726, 0, 0, 0, 1235, 1236, 0, 1238, 0, 1084,
3685
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
3686
1084, 1088, 0, 0, 1260, 1275, 0, 1261, 1262, 1263,
3687
0, 1264, 1265, 1266, 1267, 1268, 1269, 1086, 1086, 0,
3688
1086, 1246, 1270, 0, 1247, 0, 0, 1083, 0, 1248,
3689
0, 0, 0, 1260, 1249, 1086, 0, 1086, 1088, 0,
3690
1264, 1265, 1266, 1267, 1268, 1269, 0, 0, 0, 0,
3691
0, 1270, 0, 1081, 1326, 0, 0, 1333, 1335, 0,
3692
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3693
0, 0, 0, 0, 0, 1084, 1086, 0, 0, 1248,
3694
0, 0, 1758, 0, 1249, 0, 0, 1385, 1385, 0,
3695
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3696
0, 0, 0, 0, 0, 0, 1086, 0, 0, 0,
3697
0, 1084, 0, 0, 0, 0, 0, 0, 0, 0,
3698
0, 0, 0, 0, 0, 1084, 0, 1086, 0, 0,
3699
0, 0, 0, 0, 0, 0, 0, 0, 1250, 0,
3700
0, 0, 1251, 0, 0, 0, 0, 0, 1084, 1083,
3701
0, 0, 0, 0, 1090, 0, 0, 2354, 1086, 0,
3702
1090, 1252, 1253, 0, 0, 0, 0, 0, 0, 1086,
3703
0, 0, 0, 0, 1254, 0, 1090, 0, 0, 0,
3704
1086, 0, 0, 0, 1087, 1087, 0, 1087, -1457, 0,
3705
0, 0, 1251, 0, 0, 0, 0, 0, 0, 1081,
3706
0, 0, 1087, 0, 1087, 1255, 0, 0, 1256, 0,
3707
0, 1252, 1253, 0, 0, 0, 0, 0, 1081, 0,
3708
0, 1257, 0, 1258, -1457, 1081, 0, 1088, 1088, 0,
3709
1088, 0, 0, 0, 1084, 0, 0, 0, 0, 0,
3710
1090, 0, 0, 1087, 0, 1088, 0, 1088, 0, 0,
3711
0, 0, 0, 0, 0, 1086, 0, 0, 1256, 0,
3712
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3713
0, 1257, 0, 1087, 0, 0, 0, 1090, 0, 1259,
3714
0, 0, 0, 0, 0, 0, 1088, 0, 0, 0,
3715
0, 1086, 1272, 0, 1087, 1083, 0, 0, 0, 1084,
3716
0, 0, 0, 0, 0, 1086, 0, 0, 0, 0,
3717
0, 0, 0, 0, 1083, 0, 1088, 0, 0, 0,
3718
0, 1083, 0, 0, 1081, 1087, 0, 0, 1086, -1457,
3719
0, 0, 0, 0, 0, 0, 1087, 1088, 0, 0,
3720
0, 0, 0, 0, 0, 0, 0, 1087, 1260, 0,
3721
0, 1261, 1262, 1263, 0, 1264, 1265, 1266, 1267, 1268,
3722
1269, 0, 0, 0, 0, 0, 1270, 0, 1088, 0,
3723
0, 0, 0, 0, 1592, 0, 0, 0, 1594, 1088,
3724
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3725
1088, 0, 0, 0, 0, 0, 0, 1616, 1260, 0,
3726
0, 1619, 0, 0, 1630, 1264, 1265, 1266, 1267, 1268,
3727
1269, 1637, 1642, 0, 1086, 0, 1270, 0, 0, 0,
3728
1083, 1084, 1087, 0, 0, 0, 1652, 0, 1272, 0,
3729
1658, 1081, 0, 0, 1669, 0, 0, 0, 1676, 0,
3730
0, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686,
3731
0, 0, 1688, 0, 0, 0, 0, 821, 1087, 0,
3732
0, 0, 0, 0, 0, 1088, 1385, 1385, 0, 1385,
3733
0, 0, 1087, 0, 0, 0, 0, 0, 0, 1086,
3734
0, 0, 0, 0, 1090, 0, 1090, 0, 0, 0,
3735
0, 0, 0, 0, 0, 1087, 0, 0, 1081, 1246,
3736
0, 1088, 0, 0, 0, 0, 0, 1248, 0, 0,
3737
0, 0, 1249, 0, 0, 1088, 0, 0, 0, 0,
3738
0, 0, 0, 0, 0, 1090, 0, 1083, 0, 0,
3739
0, 0, 0, 0, 0, 0, 0, 0, 1088, 0,
3740
0, 0, 1750, 0, 0, 0, 0, 0, 0, 0,
3741
1246, 0, 0, 1998, 0, 1090, 0, 0, 1248, 0,
3742
0, 0, 0, 1249, 0, 0, 0, 1084, 0, 0,
3743
0, 0, 0, 0, 0, 0, 1385, 0, 0, 0,
3744
0, 1087, 0, 0, 0, 0, 1084, 0, 0, 0,
3745
0, 0, 0, 1084, 1083, 0, 0, 0, 0, 0,
3746
0, 1086, 0, 0, 0, 0, 0, 1090, 0, 0,
3747
0, 0, 1272, 0, 0, 0, 1250, 0, 1090, 0,
3748
1251, 0, 0, 0, 1088, 0, 0, 1847, 0, 1385,
3749
0, 0, 0, 0, 0, 0, 0, 0, 0, 1252,
3750
1253, 0, 0, 0, 0, 0, 1087, 0, 1871, 0,
3751
0, 0, 1254, 0, 0, 0, 0, 0, 0, 0,
3752
0, 0, 1246, 1272, 0, 0, 0, 1250, 0, 0,
3753
1248, 1251, 0, 0, 0, 1249, 0, 0, 0, 0,
3754
0, 0, 0, 1255, 0, 0, 1256, 1272, 0, 1088,
3755
1252, 1253, 1084, 1626, 0, 0, 0, 0, 0, 1257,
3756
0, 1258, 0, 1254, 1090, 0, 1272, 1272, 0, 1272,
3757
0, 1952, 0, 0, 0, 0, 0, 0, 0, 0,
3758
0, 0, 0, 0, 1959, 0, 0, 0, 0, 0,
3759
0, 0, 0, 0, 1255, 0, 0, 1256, 1970, 0,
3760
1090, 0, 0, 0, 0, 0, 1272, 1086, 0, 0,
3761
1257, 0, 1258, 0, 1090, 0, 0, 1259, 0, 0,
3762
0, 0, 0, 0, 0, 0, 1086, 0, 1087, 1994,
3763
0, 0, 0, 1086, 0, 0, 0, 1090, 0, 1250,
3764
0, 0, 0, 1251, 0, 0, 0, 0, 0, 0,
3765
0, 0, 0, 0, 0, 0, 0, 1272, 0, 1084,
3766
0, 0, 1252, 1253, 1272, 0, 1272, 0, 1259, 0,
3767
0, 1088, 0, 0, 0, 1254, 0, 0, 1642, 0,
3768
1642, 1642, 0, 0, 0, 0, 1260, 2056, 0, 1261,
3769
1262, 1263, 0, 1264, 1265, 1266, 1267, 1268, 1269, 0,
3770
0, 0, 0, 1646, 1270, 0, 1255, 0, 0, 1256,
3771
0, 2075, 0, 2077, 0, 0, 0, 2080, 0, 0,
3772
0, 0, 1257, 1090, 1258, 0, 1084, 0, 0, 0,
3773
0, 0, 1086, 0, 0, 0, 0, 1260, 0, 0,
3774
1261, 1262, 1263, 0, 1264, 1265, 1266, 1267, 1268, 1269,
3775
0, 0, 0, 0, 0, 1270, 0, 0, 0, 0,
3776
0, 0, 0, 1326, 0, 0, 0, 0, 0, 0,
3777
0, 1335, 1335, 1333, 1087, 0, 0, 0, 0, 0,
3778
1259, 0, 2118, 0, 0, 0, 0, 0, 1090, 0,
3779
0, 0, 0, 1087, 0, 0, 0, 0, 1248, 0,
3780
1087, 0, 0, 1249, 0, 0, 0, 0, 0, 0,
3781
0, 0, 0, 0, 0, 0, 0, 1088, 0, 0,
3782
0, 0, 0, 0, 0, 2000, 0, 0, 0, 0,
3783
0, 0, 0, 0, 0, 0, 1088, 0, 0, 1086,
3784
0, 0, 0, 1088, 0, 0, 0, 0, 0, 1260,
3785
0, 0, 1261, 1262, 1263, 0, 1264, 1265, 1266, 1267,
3786
1268, 1269, 0, 0, 0, 0, 0, 1270, 0, 0,
3787
0, 0, 0, 0, 0, 0, 2521, 0, 0, 0,
3788
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3789
0, 0, 0, 0, 0, 0, 0, 0, 0, 1087,
3790
0, 0, 0, 0, 0, 0, 1086, -1457, 0, 0,
3791
1090, 1251, 0, 0, 0, 0, 0, 0, 0, 0,
3792
0, 0, 0, 1272, 0, 1272, 0, 0, 0, 0,
3793
1252, 1253, 0, 0, 0, 0, 0, 0, 0, 0,
3794
0, 0, 1088, -1457, 0, 0, 0, 1272, 0, 0,
3795
1272, 0, 1626, 1626, 2035, 0, 0, 1626, 0, 0,
3796
0, 1272, 0, 0, 0, 0, 0, 0, 1272, 0,
3797
0, 0, 0, 1272, 0, 0, 0, 1256, 0, 0,
3798
0, 0, 0, 1272, 0, 0, 0, 1626, 1626, 1272,
3799
1257, 0, 0, 1, 0, 0, 0, 0, 0, 0,
3800
1272, 0, 0, 2, 3, 4, 1087, 1272, 0, 1272,
3801
1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 5, 1272,
3802
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3803
0, 0, 0, 0, 0, 2299, 6, 0, 7, 8,
3804
0, 0, 0, 9, 10, 0, 0, 2304, -1457, 1088,
3805
0, 11, 12, 2305, 0, 0, 1090, 2307, 0, 0,
3806
0, 0, 0, 0, 0, 0, 0, 13, 0, 0,
3807
14, 0, 0, 1087, 0, 1090, 15, 0, 0, 2324,
3808
2325, 1272, 1090, 0, 0, 16, 0, 0, 0, 0,
3809
0, 17, 0, 0, 0, 0, 18, 0, 19, 0,
3810
2338, 0, 20, 2341, 0, 2343, 0, 0, 0, 0,
3811
0, 0, 2347, 0, 21, 0, 1088, 1260, 2352, 0,
3812
0, 2355, 0, 0, 1264, 1265, 1266, 1267, 1268, 1269,
3813
0, 1246, 0, 0, 0, 1270, 0, 0, 22, 1248,
3814
0, 0, 2368, 0, 1249, 0, 0, 0, 0, 0,
3815
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3816
0, 23, 24, 0, 0, 0, 0, 25, 0, 0,
3817
0, 0, 0, 0, 0, 26, 0, 0, 1272, 0,
3818
0, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
3819
0, 0, 27, 0, 0, 1246, 0, 0, 2048, 0,
3820
0, 0, 1272, 1248, 0, 0, 0, 0, 1249, 0,
3821
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3822
0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
3823
0, 0, 0, 29, 0, 30, 0, 0, 0, 31,
3824
0, 0, 0, 32, 0, 0, 33, 0, 1250, 0,
3825
34, 0, 1251, 0, 0, 35, 0, 0, 0, 0,
3826
36, 0, 0, 37, 0, 0, 0, 0, 0, 38,
3827
0, 1252, 1253, 0, 0, 0, 0, 0, 0, 0,
3828
0, 0, 0, 1272, 1254, 0, 0, 0, 1090, 0,
3829
1272, 0, 0, 0, 0, 0, 0, 39, 0, 0,
3830
0, 1272, 0, 0, 0, 40, 0, 41, 0, 0,
3831
42, 0, 1250, 0, 0, 1255, 1251, 0, 1256, 0,
3832
0, 0, 0, 0, 0, 1272, 1970, 0, 0, 0,
3833
0, 1257, 0, 1258, 0, 1252, 1253, 0, 2500, 0,
3834
0, 0, 2017, 0, 0, 0, 0, 0, 1254, 43,
3835
0, 2035, 2035, 1626, 0, 1090, 1626, 1626, 1626, 1626,
3836
1626, 1626, 1626, 1626, 1626, 0, 1626, 2035, 0, 0,
3837
1246, 0, 0, 0, 0, 0, 0, 0, 1248, 1255,
3838
0, 0, 1256, 1249, 0, 0, 0, 1272, 0, 1259,
3839
2519, 2520, 2035, 2035, 2522, 1257, 0, 1258, 0, 0,
3840
0, 0, 0, 0, 1626, 1626, 1272, 1246, 1272, 0,
3841
0, 1272, 0, 0, 0, 1248, 0, 0, 0, 0,
3842
1249, 0, 0, 0, 1246, 0, 0, 0, 0, 0,
3843
0, 0, 1248, 0, 0, 0, 0, 1249, 0, 0,
3844
0, 0, 0, 0, 0, 0, 0, 0, 0, 1272,
3845
0, 0, 0, 1259, 0, 0, 0, 0, 1260, 0,
3846
0, 1261, 1262, 1263, 0, 1264, 1265, 1266, 1267, 1268,
3847
1269, 0, 0, 2567, 2053, 0, 1270, 0, 0, 0,
3848
0, 0, 0, 0, 0, 0, 0, 1250, 0, 0,
3849
0, 1251, 0, 0, 0, 0, 0, 0, 0, 0,
3850
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3851
1252, 1253, 0, 0, 0, 0, 0, 0, 0, 0,
3852
0, 2602, 1260, 1254, 1250, 1261, 1262, 1263, 1251, 1264,
3853
1265, 1266, 1267, 1268, 1269, 0, 0, 1970, 0, 0,
3854
1270, 1250, 1626, 0, 0, 1251, 0, 1252, 1253, 0,
3855
0, 0, 0, 0, 1255, 0, 0, 1256, 0, 0,
3856
1254, 2621, 0, 0, 1252, 1253, 0, 0, 0, 2623,
3857
1257, 0, 1258, 0, 0, 0, 0, 1254, 0, 0,
3858
0, 0, 0, 0, 0, 0, 0, 0, 2628, 0,
3859
0, 1255, 0, 0, 1256, 0, 0, 0, 0, 0,
3860
0, 0, 0, 0, 0, 0, 0, 1257, 1255, 1258,
3861
0, 1256, 0, 0, 0, 0, 0, 0, 0, 0,
3862
0, 0, 0, 0, 1257, 0, 1258, 0, 1259, 0,
3863
1272, 0, 2654, 0, 0, 1272, 1272, 0, 1272, 0,
3864
2035, 0, 0, 0, 2035, 2035, 2035, 2035, 2035, 2035,
3865
2035, 2035, 2035, 0, 2035, 1272, 1272, 0, 0, 0,
3866
0, 0, 0, 0, 0, 1259, 0, 0, 0, 1272,
3867
1626, 1626, 1272, 0, 1272, 0, 0, 0, 1272, 2035,
3868
2035, 0, 1259, 1272, 0, 0, 1272, 0, 0, 0,
3869
0, 0, 0, 0, 0, 0, 0, 1260, 0, 1272,
3870
1261, 1262, 1263, 0, 1264, 1265, 1266, 1267, 1268, 1269,
3871
0, 0, 0, 0, 0, 1270, 0, 0, 0, 0,
3872
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3873
0, 0, 0, 0, 1260, 0, 0, 1261, 1262, 1263,
3874
0, 1264, 1265, 1266, 1267, 1268, 1269, 0, 0, 2163,
3875
0, 1260, 1270, 0, 1261, 1262, 1263, 0, 1264, 1265,
3876
1266, 1267, 1268, 1269, 0, 0, 2035, 0, 2187, 1270,
3877
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3878
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3879
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3880
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3881
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3882
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3883
0, 1272, 0, 0, 0, 0, 0, 0, 1626, 0,
3884
0, 0, 0, 2035, 2035, 0, 0, 0, 1626, 1626,
3885
1272, 1272, 0, 1272, 0, 0, 0, 0, 0, 0,
3886
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3887
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3888
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3889
0, 0, 0, 0, 0, 0, 0, 0, 1272, 0,
3890
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3891
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3892
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3893
0, 0, 0, 1272, 0, 0, 0, 156, 157, 158,
3894
159, 160, 161, 162, 163, 2035, 164, 165, 0, 0,
3895
2035, 2035, 1272, 0, 1272, 166, 167, 0, 168, 1272,
3896
169, 170, 171, 0, 172, 0, 173, 174, 0, 175,
3897
176, 177, 178, 0, 0, 179, 180, 181, 182, 0,
3898
183, 184, 185, 186, 187, 1272, 0, 188, 189, 190,
3899
191, 0, 192, 193, 194, 195, 0, 196, 197, 198,
3900
0, 199, 0, 0, 0, 0, 0, 200, 201, 202,
3901
203, 204, 205, 206, 207, 0, 208, 0, 209, 210,
3902
211, 212, 213, 0, 214, 0, 0, 215, 216, 217,
3903
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
3904
225, 226, 227, 228, 229, 0, 230, 231, 232, 0,
3905
233, 0, 234, 0, 0, 0, 235, 236, 0, 237,
3906
238, 0, 239, 0, 240, 241, 242, 0, 243, 244,
3907
245, 0, 246, 247, 248, 249, 250, 0, 0, 251,
3908
252, 253, 254, 255, 256, 257, 0, 258, 0, 259,
3909
0, 0, 260, 0, 261, 262, 263, 264, 265, 0,
3910
266, 0, 267, 0, 0, 268, 269, 270, 0, 0,
3911
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
3912
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
3913
289, 290, 291, 292, 0, 293, 294, 0, 295, 0,
3914
296, 297, 298, 299, 0, 0, 300, 0, 0, 0,
3915
301, 302, 0, 0, 303, 0, 0, 304, 305, 306,
3916
307, 0, 308, 309, 310, 311, 312, 0, 313, 314,
3917
315, 316, 317, 318, 319, 320, 0, 321, 322, 323,
3918
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
3919
333, 334, 335, 336, 337, 338, 339, 340, 341, 0,
3920
342, 343, 344, 0, 345, 346, 347, 348, 0, 349,
3921
350, 0, 351, 352, 353, 354, 355, 356, 357, 358,
3922
359, 360, 0, 361, 362, 0, 363, 364, 365, 366,
3923
0, 367, 368, 0, 369, 0, 370, 371, 372, 373,
3924
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
3925
381, 382, 0, 2657, 383, 384, 385, 386, 387, 388,
3926
0, 389, 390, 0, 0, 391, 392, 393, 394, 395,
3927
396, 0, 397, 0, 0, 0, 0, 0, 0, 156,
3928
157, 158, 159, 160, 161, 162, 163, 1706, 164, 165,
3929
0, -1234, 0, 0, 746, 0, -1234, 166, 167, 0,
3930
168, 565, 169, 170, 171, 566, 747, 567, 748, 749,
3931
0, 175, 176, 177, 178, 750, 751, 179, 752, 753,
3932
182, 0, 183, 184, 185, 186, 754, 0, 0, 188,
3933
189, 190, 191, 0, 192, 193, 755, 195, 0, 196,
3934
197, 198, 568, 199, 756, 757, 758, 759, 760, 200,
3935
201, 202, 203, 204, 761, 762, 207, 0, 208, 0,
3936
209, 210, 211, 212, 213, 0, 214, 1707, 0, 215,
3937
763, 217, 218, 0, 219, 220, 221, 0, 222, 0,
3938
223, 224, 225, 764, 227, 228, 765, 766, 230, 231,
3939
767, 0, 233, 0, 234, 569, 0, 570, 235, 236,
3940
0, 237, 768, 0, 239, 0, 240, 241, 242, 571,
3941
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
3942
572, 251, 252, 253, 254, 255, 769, 770, 0, 771,
3943
0, 259, 573, 574, 260, 575, 261, 262, 263, 264,
3944
265, 0, 772, 576, 267, 577, 0, 268, 269, 270,
3945
773, 774, 271, 272, 273, 274, 275, 276, 277, 278,
3946
279, 280, 281, 775, 578, 776, 402, 284, 285, 286,
3947
287, 288, 289, 290, 291, 292, 777, 293, 294, 579,
3948
295, 778, 779, 780, 298, 299, 0, 0, 300, 403,
3949
0, 0, 781, 302, 0, 0, 303, 580, 581, 782,
3950
305, 306, 307, 0, 783, 309, 310, 311, 312, 0,
3951
313, 314, 315, 316, 317, 318, 784, 320, 0, 321,
3952
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
3953
582, 332, 333, 785, 335, 336, 337, 338, 339, 340,
3954
341, 0, 342, 343, 344, 786, 345, 346, 347, 348,
3955
583, 349, 787, 0, 351, 352, 353, 354, 355, 356,
3956
357, 358, 788, 360, 0, 361, 362, 0, 363, 364,
3957
365, 366, 0, 789, 790, 0, 369, 0, 370, 791,
3958
372, 792, 793, 374, 375, 376, 377, 378, 0, 794,
3959
379, 380, 381, 382, 795, 0, 383, 384, 385, 386,
3960
796, 388, 584, 389, 390, 0, 0, 391, 392, 393,
3961
394, 395, 396, 0, 797, 798, 497, 799, 800, 801,
3962
802, 803, 0, 0, 0, 0, 804, 805, 1708, 0,
3963
0, 0, 0, 0, 0, 807, 1709, 156, 157, 158,
3964
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
3965
0, 0, 746, 0, 0, 166, 167, 0, 168, 565,
3966
169, 170, 171, 566, 747, 567, 748, 749, 0, 175,
3967
176, 177, 178, 750, 751, 179, 752, 753, 182, 0,
3968
183, 184, 185, 186, 754, 0, 0, 188, 189, 190,
3969
191, 0, 192, 193, 755, 195, 0, 196, 197, 198,
3970
568, 199, 756, 757, 758, 759, 760, 200, 201, 202,
3971
203, 204, 761, 762, 207, 0, 208, 0, 209, 210,
3972
211, 212, 213, 0, 214, 0, 0, 215, 763, 217,
3973
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
3974
225, 764, 227, 228, 765, 766, 230, 231, 767, 0,
3975
233, 0, 234, 569, 0, 570, 235, 236, 0, 237,
3976
768, 0, 239, 0, 240, 241, 242, 571, 243, 244,
3977
245, 0, 246, 247, 248, 249, 250, 0, 572, 251,
3978
252, 253, 254, 255, 769, 770, 0, 771, 0, 259,
3979
573, 574, 260, 575, 261, 262, 263, 264, 265, 0,
3980
772, 576, 267, 577, 0, 268, 269, 270, 773, 774,
3981
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
3982
281, 775, 578, 776, 402, 284, 285, 286, 287, 288,
3983
289, 290, 291, 292, 777, 293, 294, 579, 295, 778,
3984
779, 780, 298, 299, 0, 0, 300, 403, 0, 0,
3985
781, 302, 0, 0, 303, 580, 581, 782, 305, 306,
3986
307, 0, 783, 309, 310, 311, 312, 0, 313, 314,
3987
315, 316, 317, 318, 784, 320, 0, 321, 322, 323,
3988
324, 325, 326, 327, 328, 329, 330, 331, 582, 332,
3989
333, 785, 335, 336, 337, 338, 339, 340, 341, 0,
3990
342, 343, 344, 786, 345, 346, 347, 348, 583, 349,
3991
787, 0, 351, 352, 353, 354, 355, 356, 357, 358,
3992
788, 360, 0, 361, 362, 0, 363, 364, 365, 366,
3993
0, 789, 790, 0, 369, 0, 370, 791, 372, 792,
3994
793, 374, 375, 376, 377, 378, 0, 794, 379, 380,
3995
381, 382, 795, 0, 383, 384, 385, 386, 796, 388,
3996
584, 389, 390, 0, 0, 391, 392, 393, 394, 395,
3997
396, 0, 797, 798, 497, 799, 800, 801, 802, 803,
3998
0, 0, 0, 0, 804, 805, 0, 0, 0, 0,
3999
0, 0, 0, 807, 1628, 156, 157, 158, 159, 160,
4000
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
4001
0, 1934, 0, 166, 167, 0, 168, 0, 169, 170,
4002
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
4003
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
4004
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
4005
192, 193, 194, 195, 0, 196, 197, 198, 0, 199,
4006
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
4007
205, 206, 207, 0, 208, 0, 209, 210, 211, 212,
4008
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
4009
219, 220, 221, 0, 222, -836, 223, 224, 225, 226,
4010
227, 228, 229, 0, 230, 231, 232, -836, 233, 0,
4011
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
4012
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
4013
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
4014
254, 255, 256, 257, -836, 258, 0, 259, 0, 0,
4015
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
4016
267, 0, -836, 268, 269, 270, 0, 0, 271, 272,
4017
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
4018
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
4019
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
4020
298, 299, 0, -836, 300, 0, 0, 0, 301, 302,
4021
0, -836, 303, 0, 0, 304, 305, 306, 307, 0,
4022
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
4023
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
4024
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
4025
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
4026
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
4027
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
4028
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
4029
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
4030
375, 376, 377, 378, -836, 0, 379, 380, 381, 382,
4031
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
4032
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
4033
397, 0, 156, 157, 158, 159, 160, 161, 162, 163,
4034
0, 164, 165, 0, 0, 0, 0, 0, 0, 0,
4035
166, 167, 866, 168, 565, 169, 170, 171, 566, 1057,
4036
567, 1058, 1059, 0, 175, 176, 177, 178, 0, 0,
4037
179, 1060, 1061, 182, 0, 183, 184, 185, 186, 0,
4038
0, 0, 188, 189, 190, 191, 0, 192, 193, 0,
4039
195, 0, 196, 197, 198, 568, 199, 0, 0, 0,
4040
0, 0, 200, 201, 202, 203, 204, 1062, 1063, 207,
4041
0, 208, 0, 209, 210, 211, 212, 213, 0, 214,
4042
0, 0, 215, 763, 217, 218, 0, 219, 220, 221,
4043
0, 222, 0, 223, 224, 225, 0, 227, 228, 0,
4044
0, 230, 231, 1064, 0, 233, 0, 234, 569, 0,
4045
570, 235, 236, 0, 237, 0, 0, 239, 0, 240,
4046
241, 242, 571, 243, 244, 245, 1373, 246, 247, 248,
4047
249, 250, 0, 572, 1374, 252, 253, 254, 255, 1065,
4048
1066, 0, 1067, 0, 259, 573, 574, 260, 575, 261,
4049
262, 263, 264, 265, 0, 0, 576, 267, 577, 0,
4050
268, 269, 270, 0, 0, 271, 272, 273, 274, 275,
4051
276, 277, 278, 279, 280, 281, 1068, 578, 1069, 0,
4052
284, 285, 286, 287, 288, 289, 290, 0, 292, 0,
4053
293, 294, 579, 295, 0, 0, 1070, 298, 299, 0,
4054
0, 300, 0, 0, 0, 301, 302, 0, 0, 1375,
4055
580, 581, 0, 305, 306, 307, 0, 0, 0, 310,
4056
311, 312, 0, 313, 314, 315, 316, 317, 318, 1071,
4057
320, 0, 321, 322, 323, 324, 325, 326, 327, 328,
4058
329, 330, 331, 582, 332, 333, 0, 335, 336, 337,
4059
338, 339, 340, 341, 0, 342, 343, 344, 0, 345,
4060
1376, 347, 348, 583, 349, 1073, 0, 351, 352, 353,
4061
354, 355, 356, 357, 358, 0, 360, 0, 361, 362,
4062
0, 363, 364, 365, 366, 0, 1074, 1075, 0, 369,
4063
0, 370, 0, 372, 0, 0, 374, 375, 376, 377,
4064
378, 0, 0, 379, 380, 381, 382, 0, 0, 383,
4065
384, 385, 386, 1076, 388, 584, 389, 390, 0, 0,
4066
391, 392, 393, 394, 395, 396, 0, 1377, 0, 156,
4067
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
4068
0, 0, 0, 0, 746, 0, 0, 166, 167, 1378,
4069
168, 565, 169, 170, 171, 566, 747, 567, 748, 749,
4070
1638, 175, 176, 177, 178, 750, 751, 179, 752, 753,
4071
182, 0, 183, 184, 185, 186, 754, 0, 0, 188,
4072
189, 190, 191, 0, 192, 193, 755, 195, 0, 196,
4073
197, 198, 568, 199, 756, 757, 758, 759, 760, 200,
4074
201, 202, 203, 204, 761, 762, 207, 0, 208, 0,
4075
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
4076
763, 217, 218, 0, 219, 220, 221, 0, 222, 0,
4077
223, 224, 225, 764, 227, 228, 765, 766, 230, 231,
4078
767, 0, 233, 0, 234, 569, 1639, 570, 235, 236,
4079
0, 237, 768, 0, 239, 0, 240, 241, 242, 571,
4080
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
4081
572, 251, 252, 253, 254, 255, 769, 770, 0, 771,
4082
0, 259, 573, 574, 260, 575, 261, 262, 263, 264,
4083
265, 1640, 772, 576, 267, 577, 0, 268, 269, 270,
4084
773, 774, 271, 272, 273, 274, 275, 276, 277, 278,
4085
279, 280, 281, 775, 578, 776, 402, 284, 285, 286,
4086
287, 288, 289, 290, 291, 292, 777, 293, 294, 579,
4087
295, 778, 779, 780, 298, 299, 0, 0, 300, 403,
4088
0, 0, 781, 302, 0, 0, 303, 580, 581, 782,
4089
305, 306, 307, 0, 783, 309, 310, 311, 312, 0,
4090
313, 314, 315, 316, 317, 318, 784, 320, 0, 321,
4091
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
4092
582, 332, 333, 785, 335, 336, 337, 338, 339, 340,
4093
341, 0, 342, 343, 344, 786, 345, 346, 347, 348,
4094
583, 349, 787, 0, 351, 352, 353, 354, 355, 356,
4095
357, 358, 788, 360, 0, 361, 362, 0, 363, 364,
4096
365, 366, 0, 789, 790, 0, 369, 1641, 370, 791,
4097
372, 792, 793, 374, 375, 376, 377, 378, 0, 794,
4098
379, 380, 381, 382, 795, 0, 383, 384, 385, 386,
4099
796, 388, 584, 389, 390, 0, 0, 391, 392, 393,
4100
394, 395, 396, 0, 797, 798, 497, 799, 800, 801,
4101
802, 803, 0, 0, 0, 0, 804, 805, 0, 0,
4102
0, 0, 0, 0, 0, 807, 156, 157, 158, 159,
4103
160, 161, 162, 163, 0, 164, 165, 0, 0, 0,
4104
0, 746, 0, 0, 166, 167, 0, 168, 565, 169,
4105
170, 171, 566, 747, 567, 748, 749, 0, 175, 176,
4106
177, 178, 750, 751, 179, 752, 753, 182, 0, 183,
4107
184, 185, 186, 754, 0, 0, 188, 189, 190, 191,
4108
0, 192, 193, 755, 195, 0, 196, 197, 198, 568,
4109
199, 756, 757, 758, 759, 760, 200, 201, 202, 203,
4110
204, 761, 762, 207, 0, 208, 0, 209, 210, 211,
4111
212, 213, 0, 214, 0, 0, 215, 763, 217, 218,
4112
0, 219, 220, 221, 0, 222, 0, 223, 224, 225,
4113
764, 227, 228, 765, 766, 230, 231, 767, 0, 233,
4114
0, 234, 569, 0, 570, 235, 236, 0, 237, 768,
4115
0, 239, 0, 240, 241, 242, 571, 243, 244, 245,
4116
0, 246, 247, 248, 249, 250, 0, 572, 251, 252,
4117
253, 254, 255, 769, 770, 0, 771, 0, 259, 573,
4118
574, 260, 575, 261, 262, 263, 264, 265, 0, 772,
4119
576, 267, 577, 0, 268, 269, 270, 773, 774, 271,
4120
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
4121
775, 578, 776, 402, 284, 285, 286, 287, 288, 289,
4122
290, 291, 292, 777, 293, 294, 579, 295, 778, 779,
4123
780, 298, 299, 0, 0, 300, 403, 0, 0, 781,
4124
302, 0, 0, 303, 580, 581, 782, 305, 306, 307,
4125
0, 783, 309, 310, 311, 312, 0, 313, 314, 315,
4126
316, 317, 318, 784, 320, 0, 321, 322, 323, 324,
4127
325, 326, 327, 328, 329, 330, 331, 582, 332, 333,
4128
785, 335, 336, 337, 338, 339, 340, 341, 0, 342,
4129
343, 344, 786, 345, 346, 347, 348, 583, 349, 787,
4130
0, 351, 352, 353, 354, 355, 356, 357, 358, 788,
4131
360, 0, 361, 362, 0, 363, 364, 365, 366, 0,
4132
789, 790, 0, 369, 0, 370, 791, 372, 792, 793,
4133
374, 375, 376, 377, 378, 0, 794, 379, 380, 381,
4134
382, 795, 0, 383, 384, 385, 386, 796, 388, 584,
4135
389, 390, 0, 0, 391, 392, 393, 394, 395, 396,
4136
0, 797, 798, 497, 799, 800, 801, 802, 803, 0,
4137
0, 0, 0, 804, 805, 806, 0, 0, 0, 0,
4138
0, 0, 807, 156, 157, 158, 159, 160, 161, 162,
4139
163, 0, 164, 165, 0, 0, 0, 0, 746, 0,
4140
0, 166, 167, 0, 168, 565, 169, 170, 171, 566,
4141
747, 567, 748, 749, 0, 175, 176, 177, 178, 750,
4142
751, 179, 752, 753, 182, 0, 183, 184, 185, 186,
4143
754, 0, 0, 188, 189, 190, 191, 0, 192, 193,
4144
755, 195, 0, 196, 197, 198, 568, 199, 756, 757,
4145
758, 759, 760, 200, 201, 202, 203, 204, 761, 762,
4146
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
4147
214, 0, 0, 215, 763, 217, 218, 0, 219, 220,
4148
221, 0, 222, 0, 223, 224, 225, 764, 227, 228,
4149
765, 766, 230, 231, 767, 0, 233, 0, 234, 569,
4150
0, 570, 235, 236, 0, 237, 768, 0, 239, 0,
4151
240, 241, 242, 571, 243, 244, 245, 0, 246, 247,
4152
248, 249, 250, 0, 572, 251, 252, 253, 254, 255,
4153
769, 770, 0, 771, 0, 259, 573, 574, 260, 575,
4154
261, 262, 263, 264, 265, 0, 772, 576, 267, 577,
4155
0, 268, 269, 270, 773, 774, 271, 272, 273, 274,
4156
275, 276, 277, 278, 279, 280, 281, 775, 578, 776,
4157
402, 284, 285, 286, 287, 288, 289, 290, 291, 292,
4158
777, 293, 294, 579, 295, 778, 779, 780, 298, 299,
4159
0, 0, 300, 403, 0, 0, 781, 302, 0, 0,
4160
303, 580, 581, 782, 305, 306, 307, 0, 783, 309,
4161
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
4162
784, 320, 0, 321, 322, 323, 324, 325, 326, 327,
4163
328, 329, 330, 331, 582, 332, 333, 785, 335, 336,
4164
337, 338, 339, 340, 341, 35, 342, 343, 344, 786,
4165
345, 346, 347, 348, 583, 349, 787, 0, 351, 352,
4166
353, 354, 355, 356, 357, 358, 788, 360, 0, 361,
4167
362, 0, 363, 364, 365, 366, 0, 789, 790, 0,
4168
369, 0, 370, 791, 372, 792, 793, 374, 375, 376,
4169
377, 378, 0, 794, 379, 380, 381, 382, 795, 0,
4170
383, 384, 385, 386, 796, 388, 584, 389, 390, 0,
4171
0, 391, 392, 393, 394, 395, 396, 0, 797, 798,
4172
497, 799, 800, 801, 802, 803, 0, 0, 0, 0,
4173
804, 805, 0, 0, 0, 0, 0, 0, 0, 807,
4174
156, 157, 158, 159, 160, 161, 162, 163, 1331, 164,
4175
165, 0, 0, 0, 0, 746, 0, 0, 166, 167,
4176
0, 168, 565, 169, 170, 171, 566, 747, 567, 748,
4177
749, 0, 175, 176, 177, 178, 750, 751, 179, 752,
4178
753, 182, 0, 183, 184, 185, 186, 754, 0, 0,
4179
188, 189, 190, 191, 0, 192, 193, 755, 195, 0,
4180
196, 197, 198, 568, 199, 756, 757, 758, 759, 760,
4181
200, 201, 202, 203, 204, 761, 762, 207, 0, 208,
4182
0, 209, 210, 211, 212, 213, 0, 214, 0, 0,
4183
215, 763, 217, 218, 0, 219, 220, 221, 0, 222,
4184
0, 223, 224, 225, 764, 227, 228, 765, 766, 230,
4185
231, 767, 0, 233, 0, 234, 569, 0, 570, 235,
4186
236, 0, 237, 768, 0, 239, 0, 240, 241, 242,
4187
571, 243, 244, 245, 0, 246, 247, 248, 249, 250,
4188
0, 572, 251, 252, 253, 254, 255, 769, 770, 0,
4189
771, 0, 259, 573, 574, 260, 575, 261, 262, 263,
4190
264, 265, 0, 772, 576, 267, 577, 0, 268, 269,
4191
270, 773, 774, 271, 272, 273, 274, 275, 276, 277,
4192
278, 279, 280, 281, 775, 578, 776, 402, 284, 285,
4193
286, 287, 288, 289, 290, 291, 292, 777, 293, 294,
4194
579, 295, 778, 779, 780, 298, 299, 0, 0, 300,
4195
403, 0, 0, 781, 302, 0, 0, 303, 580, 581,
4196
782, 305, 306, 307, 0, 783, 309, 310, 311, 312,
4197
0, 313, 314, 315, 316, 317, 318, 784, 320, 0,
4198
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
4199
331, 582, 332, 333, 785, 335, 336, 337, 338, 339,
4200
340, 341, 0, 342, 343, 344, 786, 345, 346, 347,
4201
348, 583, 349, 787, 0, 351, 352, 353, 354, 355,
4202
356, 357, 358, 788, 360, 0, 361, 362, 0, 363,
4203
364, 365, 366, 0, 789, 790, 0, 369, 0, 370,
4204
791, 372, 792, 793, 374, 375, 376, 377, 378, 0,
4205
794, 379, 380, 381, 382, 795, 0, 383, 384, 385,
4206
386, 796, 388, 584, 389, 390, 0, 0, 391, 392,
4207
393, 394, 395, 396, 0, 797, 798, 497, 799, 800,
4208
801, 802, 803, 0, 0, 0, 0, 804, 805, 0,
4209
0, 0, 0, 0, 0, 0, 807, 156, 157, 158,
4210
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
4211
0, 0, 746, 0, 0, 166, 167, 0, 168, 565,
4212
169, 170, 171, 566, 747, 567, 748, 749, 0, 175,
4213
176, 177, 178, 750, 751, 179, 752, 753, 182, 0,
4214
183, 184, 185, 186, 754, 0, 0, 188, 189, 190,
4215
191, 0, 192, 193, 755, 195, 0, 196, 197, 198,
4216
568, 199, 756, 757, 758, 759, 760, 200, 201, 202,
4217
203, 204, 761, 762, 207, 0, 208, 0, 209, 210,
4218
211, 212, 213, 0, 214, 0, 0, 215, 763, 217,
4219
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
4220
225, 764, 227, 228, 765, 766, 230, 231, 767, 0,
4221
233, 0, 234, 569, 0, 570, 235, 236, 0, 237,
4222
768, 0, 239, 0, 240, 241, 242, 571, 243, 244,
4223
245, 0, 246, 247, 248, 249, 250, 0, 572, 251,
4224
252, 253, 254, 255, 769, 770, 0, 771, 0, 259,
4225
573, 574, 260, 575, 261, 262, 263, 264, 265, 0,
4226
772, 576, 267, 577, 0, 268, 269, 270, 773, 774,
4227
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
4228
281, 775, 578, 776, 402, 284, 285, 286, 287, 288,
4229
289, 290, 291, 292, 777, 293, 294, 579, 295, 778,
4230
779, 780, 298, 299, 0, 0, 300, 403, 0, 0,
4231
781, 302, 0, 0, 303, 580, 581, 782, 305, 306,
4232
307, 0, 783, 309, 310, 311, 312, 0, 313, 314,
4233
315, 316, 317, 318, 784, 320, 0, 321, 322, 323,
4234
324, 325, 326, 327, 328, 329, 330, 331, 582, 332,
4235
333, 785, 335, 336, 337, 338, 339, 340, 341, 0,
4236
342, 343, 344, 786, 345, 346, 347, 348, 583, 349,
4237
787, 0, 351, 352, 353, 354, 355, 356, 357, 358,
4238
788, 360, 0, 361, 362, 0, 363, 364, 365, 366,
4239
0, 789, 790, 0, 369, 0, 370, 791, 372, 792,
4240
793, 374, 375, 376, 377, 378, 0, 794, 379, 380,
4241
381, 382, 795, 0, 383, 384, 385, 386, 796, 388,
4242
584, 389, 390, 0, 0, 391, 392, 393, 394, 395,
4243
396, 0, 797, 798, 497, 799, 800, 801, 802, 803,
4244
0, 0, 0, 0, 804, 805, 0, 0, 0, 0,
4245
0, 1187, 0, 807, 156, 157, 158, 159, 160, 161,
4246
162, 163, 0, 164, 165, 0, 0, 0, 0, 746,
4247
0, 0, 166, 167, 0, 168, 565, 169, 170, 171,
4248
566, 747, 567, 748, 749, 0, 175, 176, 177, 178,
4249
750, 751, 179, 752, 753, 182, 0, 183, 184, 185,
4250
186, 754, 0, 0, 188, 189, 190, 191, 0, 192,
4251
193, 755, 195, 0, 196, 197, 198, 568, 199, 756,
4252
757, 758, 759, 760, 200, 201, 202, 203, 204, 761,
4253
762, 207, 1969, 208, 0, 209, 210, 211, 212, 213,
4254
0, 214, 0, 0, 215, 763, 217, 218, 0, 219,
4255
220, 221, 0, 222, 0, 223, 224, 225, 764, 227,
4256
228, 765, 766, 230, 231, 767, 0, 233, 0, 234,
4257
569, 0, 570, 235, 236, 0, 237, 768, 0, 239,
4258
0, 240, 241, 242, 571, 243, 244, 245, 0, 246,
4259
247, 248, 249, 250, 0, 572, 251, 252, 253, 254,
4260
255, 769, 770, 0, 771, 0, 259, 573, 574, 260,
4261
575, 261, 262, 263, 264, 265, 0, 772, 576, 267,
4262
577, 0, 268, 269, 270, 773, 774, 271, 272, 273,
4263
274, 275, 276, 277, 278, 279, 280, 281, 775, 578,
4264
776, 402, 284, 285, 286, 287, 288, 289, 290, 291,
4265
292, 777, 293, 294, 579, 295, 778, 779, 780, 298,
4266
299, 0, 0, 300, 403, 0, 0, 781, 302, 0,
4267
0, 303, 580, 581, 782, 305, 306, 307, 0, 783,
4268
309, 310, 311, 312, 0, 313, 314, 315, 316, 317,
4269
318, 784, 320, 0, 321, 322, 323, 324, 325, 326,
4270
327, 328, 329, 330, 331, 582, 332, 333, 785, 335,
4271
336, 337, 338, 339, 340, 341, 0, 342, 343, 344,
4272
786, 345, 346, 347, 348, 583, 349, 787, 0, 351,
4273
352, 353, 354, 355, 356, 357, 358, 788, 360, 0,
4274
361, 362, 0, 363, 364, 365, 366, 0, 789, 790,
4275
0, 369, 0, 370, 791, 372, 792, 793, 374, 375,
4276
376, 377, 378, 0, 794, 379, 380, 381, 382, 795,
4277
0, 383, 384, 385, 386, 796, 388, 584, 389, 390,
4278
0, 0, 391, 392, 393, 394, 395, 396, 0, 797,
4279
798, 497, 799, 800, 801, 802, 803, 0, 0, 0,
4280
0, 804, 805, 0, 0, 0, 0, 0, 0, 0,
4281
807, 156, 157, 158, 159, 160, 161, 162, 163, 0,
4282
164, 165, 0, 0, 0, 0, 746, 0, 0, 166,
4283
167, 0, 168, 565, 169, 170, 171, 566, 747, 567,
4284
748, 749, 0, 175, 176, 177, 178, 750, 751, 179,
4285
752, 753, 182, 0, 183, 184, 185, 186, 754, 0,
4286
0, 188, 189, 190, 191, 0, 192, 193, 755, 195,
4287
0, 196, 197, 198, 568, 199, 756, 757, 758, 759,
4288
760, 200, 201, 202, 203, 204, 761, 762, 207, 0,
4289
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
4290
0, 215, 763, 217, 218, 0, 219, 220, 221, 0,
4291
222, 0, 223, 224, 225, 764, 227, 228, 765, 766,
4292
230, 231, 767, 0, 233, 0, 234, 569, 1639, 570,
4293
235, 236, 0, 237, 768, 0, 239, 0, 240, 241,
4294
242, 571, 243, 244, 245, 0, 246, 247, 248, 249,
4295
250, 0, 572, 251, 252, 253, 254, 255, 769, 770,
4296
0, 771, 0, 259, 573, 574, 260, 575, 261, 262,
4297
263, 264, 265, 0, 772, 576, 267, 577, 0, 268,
4298
269, 270, 773, 774, 271, 272, 273, 274, 275, 276,
4299
277, 278, 279, 280, 281, 775, 578, 776, 402, 284,
4300
285, 286, 287, 288, 289, 290, 291, 292, 777, 293,
4301
294, 579, 295, 778, 779, 780, 298, 299, 0, 0,
4302
300, 403, 0, 0, 781, 302, 0, 0, 303, 580,
4303
581, 782, 305, 306, 307, 0, 783, 309, 310, 311,
4304
312, 0, 313, 314, 315, 316, 317, 318, 784, 320,
4305
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
4306
330, 331, 582, 332, 333, 785, 335, 336, 337, 338,
4307
339, 340, 341, 0, 342, 343, 344, 786, 345, 346,
4308
347, 348, 583, 349, 787, 0, 351, 352, 353, 354,
4309
355, 356, 357, 358, 788, 360, 0, 361, 362, 0,
4310
363, 364, 365, 366, 0, 789, 790, 0, 369, 0,
4311
370, 791, 372, 792, 793, 374, 375, 376, 377, 378,
4312
0, 794, 379, 380, 381, 382, 795, 0, 383, 384,
4313
385, 386, 796, 388, 584, 389, 390, 0, 0, 391,
4314
392, 393, 394, 395, 396, 0, 797, 798, 497, 799,
4315
800, 801, 802, 803, 0, 0, 0, 0, 804, 805,
4316
0, 0, 0, 0, 0, 0, 0, 807, 156, 157,
4317
158, 159, 160, 161, 162, 163, 0, 164, 165, 0,
4318
0, 0, 0, 746, 0, 0, 166, 167, 0, 168,
4319
565, 169, 170, 171, 566, 747, 567, 748, 749, 0,
4320
175, 176, 177, 178, 750, 751, 179, 752, 753, 182,
4321
0, 183, 184, 185, 186, 754, 0, 0, 188, 189,
4322
190, 191, 0, 192, 193, 755, 195, 0, 196, 197,
4323
198, 568, 199, 756, 757, 758, 759, 760, 200, 201,
4324
202, 203, 204, 761, 762, 207, 2367, 208, 0, 209,
4325
210, 211, 212, 213, 0, 214, 0, 0, 215, 763,
4326
217, 218, 0, 219, 220, 221, 0, 222, 0, 223,
4327
224, 225, 764, 227, 228, 765, 766, 230, 231, 767,
4328
0, 233, 0, 234, 569, 0, 570, 235, 236, 0,
4329
237, 768, 0, 239, 0, 240, 241, 242, 571, 243,
4330
244, 245, 0, 246, 247, 248, 249, 250, 0, 572,
4331
251, 252, 253, 254, 255, 769, 770, 0, 771, 0,
4332
259, 573, 574, 260, 575, 261, 262, 263, 264, 265,
4333
0, 772, 576, 267, 577, 0, 268, 269, 270, 773,
4334
774, 271, 272, 273, 274, 275, 276, 277, 278, 279,
4335
280, 281, 775, 578, 776, 402, 284, 285, 286, 287,
4336
288, 289, 290, 291, 292, 777, 293, 294, 579, 295,
4337
778, 779, 780, 298, 299, 0, 0, 300, 403, 0,
4338
0, 781, 302, 0, 0, 303, 580, 581, 782, 305,
4339
306, 307, 0, 783, 309, 310, 311, 312, 0, 313,
4340
314, 315, 316, 317, 318, 784, 320, 0, 321, 322,
4341
323, 324, 325, 326, 327, 328, 329, 330, 331, 582,
4342
332, 333, 785, 335, 336, 337, 338, 339, 340, 341,
4343
0, 342, 343, 344, 786, 345, 346, 347, 348, 583,
4344
349, 787, 0, 351, 352, 353, 354, 355, 356, 357,
4345
358, 788, 360, 0, 361, 362, 0, 363, 364, 365,
4346
366, 0, 789, 790, 0, 369, 0, 370, 791, 372,
4347
792, 793, 374, 375, 376, 377, 378, 0, 794, 379,
4348
380, 381, 382, 795, 0, 383, 384, 385, 386, 796,
4349
388, 584, 389, 390, 0, 0, 391, 392, 393, 394,
4350
395, 396, 0, 797, 798, 497, 799, 800, 801, 802,
4351
803, 0, 0, 0, 0, 804, 805, 0, 0, 0,
4352
0, 0, 0, 0, 807, 156, 157, 158, 159, 160,
4353
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
4354
746, 0, 0, 166, 167, 0, 168, 565, 169, 170,
4355
171, 566, 747, 567, 748, 749, 0, 175, 176, 177,
4356
178, 750, 751, 179, 752, 753, 182, 0, 183, 184,
4357
185, 186, 754, 0, 0, 188, 189, 190, 191, 0,
4358
192, 193, 755, 195, 0, 196, 197, 198, 568, 199,
4359
756, 757, 758, 759, 760, 200, 201, 202, 203, 204,
4360
761, 762, 207, 0, 208, 0, 209, 210, 211, 212,
4361
213, 0, 214, 0, 0, 215, 763, 217, 218, 0,
4362
219, 220, 221, 0, 222, 0, 223, 224, 225, 764,
4363
227, 228, 765, 766, 230, 231, 767, 0, 233, 0,
4364
234, 569, 0, 570, 235, 236, 0, 237, 768, 0,
4365
239, 0, 240, 241, 242, 571, 243, 244, 245, 0,
4366
246, 247, 248, 249, 250, 0, 572, 251, 252, 253,
4367
254, 255, 769, 770, 0, 771, 0, 259, 573, 574,
4368
260, 575, 261, 262, 263, 264, 265, 0, 772, 576,
4369
267, 577, 0, 268, 269, 270, 773, 774, 271, 272,
4370
273, 274, 275, 276, 277, 278, 279, 280, 281, 775,
4371
578, 776, 402, 284, 285, 286, 287, 288, 289, 290,
4372
291, 292, 777, 293, 294, 579, 295, 778, 779, 780,
4373
298, 299, 0, 0, 300, 403, 0, 0, 781, 302,
4374
0, 0, 303, 580, 581, 782, 305, 306, 307, 0,
4375
783, 309, 310, 311, 312, 0, 313, 314, 315, 316,
4376
317, 318, 784, 320, 0, 321, 322, 323, 324, 325,
4377
326, 327, 328, 329, 330, 331, 582, 332, 333, 785,
4378
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
4379
344, 786, 345, 346, 347, 348, 583, 349, 787, 0,
4380
351, 352, 353, 354, 355, 356, 357, 358, 788, 360,
4381
0, 361, 362, 0, 363, 364, 365, 366, 0, 789,
4382
790, 0, 369, 0, 370, 791, 372, 792, 793, 374,
4383
375, 376, 377, 378, 0, 794, 379, 380, 381, 382,
4384
795, 0, 383, 384, 385, 386, 796, 388, 584, 389,
4385
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
4386
797, 798, 497, 799, 800, 801, 802, 803, 0, 0,
4387
0, 0, 804, 805, 0, 0, 0, 0, 0, 0,
4388
0, 807, 156, 157, 158, 159, 160, 161, 162, 163,
4389
0, 164, 165, 0, 0, 0, 0, 746, 0, 0,
4390
166, 167, 0, 168, 565, 169, 170, 171, 566, 747,
4391
567, 748, 749, 0, 175, 176, 177, 178, 750, 751,
4392
179, 752, 753, 182, 0, 183, 184, 185, 186, 754,
4393
0, 0, 188, 189, 190, 191, 0, 192, 193, 755,
4394
195, 0, 196, 197, 198, 568, 199, 756, 757, 758,
4395
759, 760, 200, 201, 202, 203, 204, 761, 762, 207,
4396
0, 208, 0, 209, 210, 211, 212, 213, 0, 214,
4397
0, 0, 215, 763, 217, 218, 0, 219, 220, 221,
4398
0, 222, 0, 223, 224, 225, 764, 227, 228, 765,
4399
766, 230, 231, 767, 0, 233, 0, 234, 569, 0,
4400
570, 235, 236, 0, 237, 768, 0, 239, 0, 240,
4401
241, 242, 571, 243, 244, 245, 0, 246, 247, 248,
4402
249, 250, 0, 572, 251, 252, 253, 254, 255, 769,
4403
770, 0, 771, 0, 259, 573, 574, 260, 575, 261,
4404
262, 263, 264, 265, 0, 772, 576, 267, 577, 0,
4405
268, 269, 270, 773, 774, 271, 272, 273, 274, 275,
4406
276, 277, 278, 279, 280, 281, 775, 578, 776, 402,
4407
284, 285, 286, 287, 288, 289, 290, 291, 292, 0,
4408
293, 294, 579, 295, 778, 779, 780, 298, 299, 0,
4409
0, 300, 403, 0, 0, 781, 302, 0, 0, 303,
4410
580, 581, 782, 305, 306, 307, 0, 783, 309, 310,
4411
311, 312, 0, 313, 314, 315, 316, 317, 318, 784,
4412
320, 0, 321, 322, 323, 324, 325, 326, 327, 328,
4413
329, 330, 331, 582, 332, 333, 785, 335, 336, 337,
4414
338, 339, 340, 341, 0, 342, 343, 344, 786, 345,
4415
346, 347, 348, 583, 349, 787, 0, 351, 352, 353,
4416
354, 355, 356, 357, 358, 788, 360, 0, 361, 362,
4417
0, 363, 364, 365, 366, 0, 789, 790, 0, 369,
4418
0, 370, 791, 372, 792, 793, 374, 375, 376, 377,
4419
378, 0, 0, 379, 380, 381, 382, 795, 0, 383,
4420
384, 385, 386, 796, 388, 584, 389, 390, 0, 0,
4421
391, 392, 393, 394, 395, 396, 0, 797, 798, 497,
4422
799, 800, 801, 802, 803, 0, 0, 0, 0, 1621,
4423
1622, 0, 0, 0, 0, 0, 0, 0, 807, 156,
4424
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
4425
0, 0, 0, 0, 746, 0, 0, 166, 167, 0,
4426
168, 565, 169, 170, 171, 0, 747, 567, 748, 749,
4427
0, 175, 176, 177, 178, 750, 751, 179, 752, 753,
4428
182, 0, 183, 184, 185, 186, 754, 0, 0, 188,
4429
189, 190, 191, 0, 192, 193, 755, 195, 0, 196,
4430
197, 198, 568, 199, 756, 757, 758, 759, 760, 200,
4431
201, 202, 203, 204, 761, 762, 207, 0, 208, 0,
4432
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
4433
763, 217, 218, 0, 219, 220, 221, 0, 0, 0,
4434
223, 224, 225, 764, 227, 228, 765, 766, 230, 231,
4435
767, 0, 233, 0, 234, 569, 0, 570, 235, 236,
4436
0, 237, 768, 0, 239, 0, 240, 241, 242, 0,
4437
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
4438
572, 251, 252, 253, 254, 255, 769, 770, 0, 771,
4439
0, 259, 573, 574, 260, 575, 261, 262, 263, 264,
4440
265, 0, 772, 576, 267, 0, 0, 268, 269, 270,
4441
773, 774, 271, 272, 273, 274, 275, 276, 277, 278,
4442
279, 280, 281, 775, 578, 776, 402, 284, 285, 286,
4443
287, 288, 289, 290, 291, 292, 0, 293, 294, 579,
4444
295, 778, 779, 780, 298, 299, 0, 0, 300, 403,
4445
0, 0, 781, 302, 0, 0, 303, 580, 581, 782,
4446
305, 306, 307, 0, 783, 309, 310, 311, 312, 0,
4447
313, 314, 315, 316, 317, 318, 784, 320, 0, 321,
4448
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
4449
582, 332, 333, 785, 335, 336, 337, 338, 339, 340,
4450
341, 0, 342, 343, 344, 786, 345, 346, 347, 348,
4451
0, 349, 787, 0, 351, 352, 353, 354, 355, 356,
4452
357, 358, 788, 360, 0, 361, 362, 0, 363, 364,
4453
365, 366, 0, 789, 790, 0, 369, 0, 370, 791,
4454
372, 792, 793, 374, 375, 376, 377, 378, 0, 794,
4455
379, 380, 381, 382, 795, 0, 383, 384, 385, 386,
4456
796, 388, 584, 389, 390, 0, 0, 391, 392, 393,
4457
394, 395, 396, 0, 797, 798, 497, 799, 800, 801,
4458
802, 803, 0, 0, 0, 0, 804, 805, 0, 0,
4459
0, 0, 0, 0, 0, 807, 156, 157, 158, 159,
4460
160, 161, 162, 163, 0, 164, 165, 0, 0, 0,
4461
0, 746, 0, 0, 166, 167, 0, 168, 565, 169,
4462
170, 171, 0, 747, 567, 748, 749, 0, 175, 176,
4463
177, 178, 750, 751, 179, 752, 753, 182, 0, 183,
4464
184, 185, 186, 754, 0, 0, 188, 189, 190, 191,
4465
0, 192, 193, 755, 195, 0, 196, 197, 198, 568,
4466
199, 756, 757, 758, 759, 760, 200, 201, 202, 203,
4467
204, 761, 762, 207, 0, 208, 0, 209, 210, 211,
4468
212, 213, 0, 214, 0, 0, 215, 763, 217, 218,
4469
0, 219, 220, 221, 0, 0, 0, 223, 224, 225,
4470
764, 227, 228, 765, 766, 230, 231, 767, 0, 233,
4471
0, 234, 569, 0, 570, 235, 236, 0, 237, 768,
4472
0, 239, 0, 240, 241, 242, 0, 243, 244, 245,
4473
0, 246, 247, 248, 249, 250, 0, 572, 251, 252,
4474
253, 254, 255, 769, 770, 0, 771, 0, 259, 573,
4475
574, 260, 575, 261, 262, 263, 264, 265, 0, 772,
4476
576, 267, 0, 0, 268, 269, 270, 773, 774, 271,
4477
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
4478
775, 578, 776, 402, 284, 285, 286, 287, 288, 289,
4479
290, 291, 292, 0, 293, 294, 579, 295, 778, 779,
4480
780, 298, 299, 0, 0, 300, 403, 0, 0, 781,
4481
302, 0, 0, 303, 580, 581, 782, 305, 306, 307,
4482
0, 783, 309, 310, 311, 312, 0, 313, 314, 315,
4483
316, 317, 318, 784, 320, 0, 321, 322, 323, 324,
4484
325, 326, 327, 328, 329, 330, 331, 582, 332, 333,
4485
785, 335, 336, 337, 338, 339, 340, 341, 0, 342,
4486
343, 344, 786, 345, 346, 347, 348, 0, 349, 787,
4487
0, 351, 352, 353, 354, 355, 356, 357, 358, 788,
4488
360, 0, 361, 362, 0, 363, 364, 365, 366, 0,
4489
789, 790, 0, 369, 0, 370, 791, 372, 792, 793,
4490
374, 375, 376, 377, 378, 0, 0, 379, 380, 381,
4491
382, 795, 0, 383, 384, 385, 386, 796, 388, 584,
4492
389, 390, 0, 0, 391, 392, 393, 394, 395, 396,
4493
0, 797, 798, 497, 799, 800, 801, 802, 803, 0,
4494
0, 0, 0, 1621, 1622, 0, 0, 0, 0, 0,
4495
0, 0, 807, 156, 157, 158, 159, 160, 161, 162,
4496
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
4497
0, 166, 167, 0, 168, 565, 169, 170, 171, 566,
4498
172, 567, 173, 174, 0, 175, 176, 177, 178, 0,
4499
751, 179, 180, 181, 182, 0, 183, 184, 185, 186,
4500
754, 0, 0, 188, 189, 190, 191, 0, 192, 193,
4501
755, 195, 0, 196, 197, 198, 568, 199, 756, 757,
4502
758, 759, 760, 200, 201, 202, 203, 204, 205, 206,
4503
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
4504
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
4505
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
4506
765, 0, 230, 231, 232, 0, 233, 0, 234, 569,
4507
0, 570, 235, 236, 0, 237, 768, 0, 239, 0,
4508
240, 241, 242, 571, 243, 244, 245, 0, 246, 247,
4509
248, 249, 250, 0, 572, 251, 252, 253, 254, 255,
4510
256, 257, 0, 258, 0, 259, 573, 574, 260, 575,
4511
261, 262, 263, 264, 265, 0, 772, 576, 267, 577,
4512
0, 268, 269, 270, 773, 774, 271, 272, 273, 274,
4513
275, 276, 277, 278, 279, 280, 281, 282, 578, 283,
4514
402, 284, 285, 286, 287, 288, 289, 290, 291, 292,
4515
0, 293, 294, 579, 295, 0, 779, 297, 298, 299,
4516
0, 0, 300, 403, 0, 548, 301, 302, 0, 0,
4517
303, 580, 581, 782, 305, 306, 307, 0, 783, 309,
4518
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
4519
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
4520
328, 329, 330, 331, 582, 332, 333, 334, 335, 336,
4521
337, 338, 339, 340, 341, 35, 342, 343, 344, 786,
4522
345, 346, 347, 348, 583, 349, 350, 0, 351, 352,
4523
353, 354, 355, 356, 357, 358, 788, 360, 0, 361,
4524
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
4525
369, 0, 370, 791, 372, 792, 0, 374, 375, 376,
4526
377, 378, 0, 0, 379, 380, 381, 382, 795, 0,
4527
383, 384, 385, 386, 387, 388, 584, 389, 390, 0,
4528
0, 391, 392, 393, 394, 395, 396, 0, 585, 156,
4529
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
4530
0, 0, 0, 0, 0, 0, 0, 166, 167, 1522,
4531
168, 565, 169, 170, 171, 566, 172, 567, 173, 174,
4532
0, 175, 176, 177, 178, 0, 751, 179, 180, 181,
4533
182, 0, 183, 184, 185, 186, 754, 0, 0, 188,
4534
189, 190, 191, 0, 192, 193, 755, 195, 0, 196,
4535
197, 198, 568, 199, 756, 757, 758, 759, 760, 200,
4536
201, 202, 203, 204, 205, 206, 207, 0, 208, 0,
4537
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
4538
216, 217, 218, 0, 219, 220, 221, 0, 222, 0,
4539
223, 224, 225, 226, 227, 228, 765, 0, 230, 231,
4540
232, 0, 233, 0, 234, 569, 0, 570, 235, 236,
4541
0, 237, 768, 0, 239, 0, 240, 241, 242, 571,
4542
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
4543
572, 251, 252, 253, 254, 255, 256, 257, 0, 258,
4544
0, 259, 573, 574, 260, 575, 261, 262, 263, 264,
4545
265, 0, 772, 576, 267, 577, 0, 268, 269, 270,
4546
773, 774, 271, 272, 273, 274, 275, 276, 277, 278,
4547
279, 280, 281, 282, 578, 283, 402, 284, 285, 286,
4548
287, 288, 289, 290, 291, 292, 0, 293, 294, 579,
4549
295, 0, 779, 297, 298, 299, 0, 0, 300, 403,
4550
0, 548, 301, 302, 0, 0, 303, 580, 581, 782,
4551
305, 306, 307, 0, 783, 309, 310, 311, 312, 0,
4552
313, 314, 315, 316, 317, 318, 319, 320, 0, 321,
4553
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
4554
582, 332, 333, 334, 335, 336, 337, 338, 339, 340,
4555
341, 0, 342, 343, 344, 786, 345, 346, 347, 348,
4556
583, 349, 350, 0, 351, 352, 353, 354, 355, 356,
4557
357, 358, 788, 360, 0, 361, 362, 0, 363, 364,
4558
365, 366, 0, 367, 368, 0, 369, 0, 370, 791,
4559
372, 792, 0, 374, 375, 376, 377, 378, 0, 0,
4560
379, 380, 381, 382, 795, 0, 383, 384, 385, 386,
4561
387, 388, 584, 389, 390, 0, 0, 391, 392, 393,
4562
394, 395, 396, 0, 585, 156, 157, 158, 159, 160,
4563
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
4564
0, 0, 0, 166, 167, 1522, 168, 565, 169, 170,
4565
171, 566, 172, 567, 173, 174, 0, 175, 176, 177,
4566
178, 0, 751, 179, 180, 181, 182, 0, 183, 184,
4567
185, 186, 754, 0, 0, 188, 189, 190, 191, 0,
4568
192, 193, 755, 195, 0, 196, 197, 198, 568, 199,
4569
756, 757, 758, 759, 760, 200, 201, 202, 203, 204,
4570
205, 206, 207, 0, 208, 0, 209, 210, 211, 212,
4571
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
4572
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
4573
227, 228, 765, 0, 230, 231, 232, 0, 233, 0,
4574
234, 569, 0, 570, 235, 236, 0, 237, 768, 0,
4575
239, 0, 240, 241, 242, 571, 243, 244, 245, 0,
4576
246, 247, 248, 249, 250, 0, 572, 251, 252, 253,
4577
254, 255, 256, 257, 0, 258, 0, 259, 573, 574,
4578
260, 575, 261, 262, 263, 264, 265, 0, 772, 576,
4579
267, 577, 0, 268, 269, 270, 773, 774, 271, 272,
4580
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
4581
578, 283, 402, 284, 285, 286, 287, 288, 289, 290,
4582
291, 292, 0, 293, 294, 579, 295, 0, 779, 297,
4583
298, 299, 0, 0, 300, 403, 0, 0, 301, 302,
4584
0, 0, 303, 580, 581, 782, 305, 306, 307, 0,
4585
783, 309, 310, 311, 312, 0, 313, 314, 315, 316,
4586
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
4587
326, 327, 328, 329, 330, 331, 582, 332, 333, 334,
4588
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
4589
344, 786, 345, 346, 347, 348, 583, 349, 350, 0,
4590
351, 352, 353, 354, 355, 356, 357, 358, 788, 360,
4591
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
4592
368, 0, 369, 0, 370, 791, 372, 792, 0, 374,
4593
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
4594
795, 0, 383, 384, 385, 386, 387, 388, 584, 389,
4595
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
4596
585, 156, 157, 158, 159, 160, 161, 162, 163, 0,
4597
164, 165, 0, 0, 0, 0, 0, 0, 0, 166,
4598
167, 2592, 168, 0, 169, 170, 171, 0, 172, 0,
4599
173, 174, 0, 175, 176, 177, 178, 0, 0, 179,
4600
180, 181, 182, 0, 183, 184, 185, 186, 187, 0,
4601
0, 188, 189, 190, 191, 0, 192, 193, 194, 195,
4602
0, 196, 197, 198, 0, 199, 0, 0, 0, 0,
4603
0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
4604
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
4605
0, 215, 216, 217, 218, 0, 219, 220, 221, 0,
4606
222, 0, 223, 224, 225, 226, 227, 228, 229, 0,
4607
230, 231, 232, 0, 233, 0, 234, 0, 0, 0,
4608
235, 236, 0, 237, 238, 0, 239, 0, 240, 241,
4609
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
4610
250, 0, 0, 251, 252, 253, 254, 255, 256, 257,
4611
0, 258, 0, 259, 0, 0, 260, 0, 261, 262,
4612
263, 264, 265, 0, 266, 0, 267, 0, 0, 268,
4613
269, 270, 0, 0, 271, 272, 273, 274, 275, 276,
4614
277, 278, 279, 280, 281, 282, 0, 283, 402, 284,
4615
285, 286, 287, 288, 289, 290, 291, 292, 0, 293,
4616
294, 0, 295, 0, 296, 297, 298, 299, 0, 0,
4617
300, 403, 0, 0, 301, 302, 0, 0, 303, 0,
4618
0, 304, 305, 306, 307, 0, 308, 309, 310, 311,
4619
312, 0, 313, 314, 315, 316, 317, 318, 319, 320,
4620
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
4621
330, 331, 0, 332, 333, 334, 335, 336, 337, 338,
4622
339, 340, 341, 0, 342, 343, 344, 0, 345, 346,
4623
347, 348, 0, 349, 350, 0, 351, 352, 353, 354,
4624
355, 356, 357, 358, 359, 360, 0, 361, 362, 0,
4625
363, 364, 365, 366, 0, 367, 368, 0, 369, 0,
4626
370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
4627
0, 0, 379, 380, 381, 382, 0, 0, 383, 384,
4628
385, 386, 387, 388, 0, 389, 390, 0, 0, 391,
4629
392, 393, 394, 395, 396, 0, 397, 156, 157, 158,
4630
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
4631
0, 0, 0, 0, 0, 166, 167, 860, 168, 0,
4632
169, 170, 171, 0, 172, 0, 173, 174, 0, 175,
4633
176, 177, 178, 0, 0, 179, 180, 181, 182, 0,
4634
183, 184, 185, 186, 187, 0, 0, 188, 189, 190,
4635
191, 0, 192, 193, 194, 195, 0, 196, 197, 198,
4636
0, 199, 0, 0, 0, 0, 0, 200, 201, 202,
4637
203, 204, 205, 206, 207, 0, 208, 0, 209, 210,
4638
211, 212, 213, 0, 214, 0, 0, 215, 216, 217,
4639
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
4640
225, 226, 227, 228, 229, 0, 230, 231, 232, 0,
4641
233, 0, 234, 0, 0, 0, 235, 236, 0, 237,
4642
238, 0, 239, 0, 240, 241, 242, 0, 243, 244,
4643
245, 0, 246, 247, 248, 249, 250, 0, 0, 251,
4644
252, 253, 254, 255, 256, 257, 0, 258, 0, 259,
4645
0, 0, 260, 0, 261, 262, 263, 264, 265, 0,
4646
266, 0, 267, 0, 0, 268, 269, 270, 0, 0,
4647
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
4648
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
4649
289, 290, 291, 292, 0, 293, 294, 0, 295, 0,
4650
296, 297, 298, 299, 0, 0, 300, 0, 0, 0,
4651
301, 302, 0, 0, 303, 0, 0, 304, 305, 306,
4652
307, 0, 308, 309, 310, 311, 312, 0, 313, 314,
4653
315, 316, 317, 318, 319, 320, 0, 321, 322, 323,
4654
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
4655
333, 334, 335, 336, 337, 338, 339, 340, 341, 35,
4656
342, 343, 344, 0, 345, 346, 347, 348, 0, 349,
4657
350, 0, 351, 352, 353, 354, 355, 356, 357, 358,
4658
359, 360, 0, 361, 362, 0, 363, 364, 365, 366,
4659
0, 367, 368, 0, 369, 0, 370, 371, 372, 373,
4660
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
4661
381, 382, 0, 0, 383, 384, 385, 386, 387, 388,
4662
0, 389, 390, 0, 0, 391, 392, 393, 394, 395,
4663
396, 0, 397, 156, 157, 158, 159, 160, 161, 162,
4664
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
4665
0, 166, 167, 43, 168, 0, 169, 170, 171, 0,
4666
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
4667
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
4668
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
4669
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
4670
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
4671
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
4672
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
4673
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
4674
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
4675
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
4676
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
4677
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
4678
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
4679
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
4680
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
4681
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
4682
0, 284, 285, 286, 287, 288, 289, 290, 291, 292,
4683
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
4684
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
4685
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
4686
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
4687
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
4688
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
4689
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
4690
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
4691
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
4692
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
4693
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
4694
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
4695
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
4696
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
4697
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
4698
0, 0, 0, 0, 0, 0, 0, 166, 167, 2271,
4699
168, 0, 169, 170, 171, 0, 172, 0, 173, 174,
4700
0, 175, 176, 177, 178, 0, 0, 179, 180, 181,
4701
182, 0, 183, 602, 185, 186, 187, 0, 0, 188,
4702
189, 190, 191, 0, 192, 193, 194, 195, 0, 196,
4703
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
4704
201, 202, 203, 204, 205, 206, 207, 0, 208, 0,
4705
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
4706
216, 217, 218, 0, 219, 220, 221, 0, 222, 0,
4707
223, 224, 225, 226, 227, 228, 229, 0, 230, 231,
4708
232, 0, 233, 0, 234, 0, 0, 0, 235, 236,
4709
0, 237, 238, 0, 239, 0, 240, 241, 242, 0,
4710
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
4711
0, 251, 252, 253, 254, 255, 256, 257, 0, 258,
4712
0, 259, 0, 0, 260, 0, 261, 262, 263, 264,
4713
265, 0, 266, 0, 267, 0, 0, 268, 269, 270,
4714
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
4715
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
4716
287, 288, 289, 290, 291, 292, 0, 293, 294, 0,
4717
295, 0, 296, 297, 298, 299, 0, 0, 300, 0,
4718
0, 0, 301, 302, 0, 0, 303, 0, 0, 304,
4719
305, 306, 307, 0, 308, 309, 310, 311, 312, 0,
4720
313, 314, 315, 316, 317, 318, 319, 320, 0, 321,
4721
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
4722
0, 332, 333, 334, 335, 336, 337, 338, 339, 340,
4723
341, 0, 342, 343, 344, 0, 345, 346, 347, 348,
4724
0, 349, 350, 0, 351, 352, 353, 354, 355, 356,
4725
357, 358, 359, 360, 0, 361, 362, 0, 363, 364,
4726
365, 366, 0, 367, 368, 0, 369, 0, 370, 371,
4727
372, 373, 0, 374, 375, 376, 377, 378, 0, 0,
4728
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
4729
387, 388, 0, 389, 390, 0, 0, 391, 392, 393,
4730
394, 395, 396, 0, 397, 0, 0, 0, 0, 603,
4731
0, 0, 604, 605, 606, 0, 607, 608, 609, 610,
4732
611, 612, 156, 157, 158, 159, 160, 161, 162, 163,
4733
0, 164, 165, 0, 0, 0, 0, 0, 0, 0,
4734
166, 167, 0, 168, 0, 169, 170, 171, 0, 172,
4735
0, 173, 174, 0, 175, 176, 177, 178, 0, 0,
4736
179, 180, 181, 182, 0, 183, 669, 185, 186, 187,
4737
0, 0, 188, 189, 190, 191, 0, 192, 193, 194,
4738
195, 0, 196, 197, 198, 0, 199, 0, 0, 0,
4739
0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
4740
0, 208, 0, 209, 210, 211, 212, 213, 0, 214,
4741
0, 0, 215, 216, 217, 218, 0, 219, 220, 221,
4742
0, 222, 0, 223, 224, 225, 226, 227, 228, 229,
4743
0, 230, 231, 232, 0, 233, 0, 234, 0, 0,
4744
0, 235, 236, 0, 237, 238, 0, 239, 0, 240,
4745
241, 242, 0, 243, 244, 245, 0, 246, 247, 248,
4746
249, 250, 0, 0, 251, 252, 253, 254, 255, 256,
4747
257, 0, 258, 0, 259, 0, 0, 260, 0, 261,
4748
262, 263, 264, 265, 0, 266, 0, 267, 0, 0,
4749
268, 269, 270, 0, 0, 271, 272, 273, 274, 275,
4750
276, 277, 278, 279, 280, 281, 282, 0, 283, 0,
4751
284, 285, 286, 287, 288, 289, 290, 291, 292, 0,
4752
293, 294, 0, 295, 0, 296, 297, 298, 299, 0,
4753
0, 300, 0, 0, 0, 301, 302, 0, 0, 303,
4754
0, 0, 304, 305, 306, 307, 0, 308, 309, 310,
4755
311, 312, 0, 313, 314, 315, 316, 317, 318, 319,
4756
320, 0, 321, 322, 323, 324, 325, 326, 327, 328,
4757
329, 330, 331, 0, 332, 333, 334, 335, 336, 337,
4758
338, 339, 340, 341, 0, 342, 343, 344, 0, 345,
4759
346, 347, 348, 0, 349, 350, 0, 351, 352, 353,
4760
354, 355, 356, 357, 358, 359, 360, 0, 361, 362,
4761
0, 363, 364, 365, 366, 0, 367, 368, 0, 369,
4762
0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
4763
378, 0, 0, 379, 380, 381, 382, 0, 0, 383,
4764
384, 385, 386, 387, 388, 0, 389, 390, 0, 0,
4765
391, 392, 393, 394, 395, 396, 0, 397, 0, 0,
4766
0, 0, 603, 0, 0, 604, 605, 606, 0, 607,
4767
608, 609, 610, 611, 612, 156, 157, 158, 159, 160,
4768
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
4769
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
4770
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
4771
178, 0, 0, 179, 180, 181, 182, 0, 183, 697,
4772
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
4773
192, 193, 194, 195, 0, 196, 197, 198, 0, 199,
4774
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
4775
205, 206, 207, 0, 208, 0, 209, 210, 211, 212,
4776
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
4777
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
4778
227, 228, 229, 0, 230, 231, 232, 0, 233, 0,
4779
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
4780
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
4781
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
4782
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
4783
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
4784
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
4785
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
4786
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
4787
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
4788
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
4789
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
4790
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
4791
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
4792
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
4793
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
4794
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
4795
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
4796
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
4797
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
4798
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
4799
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
4800
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
4801
397, 0, 0, 0, 0, 603, 0, 0, 604, 605,
4802
606, 0, 607, 608, 609, 610, 611, 612, 156, 157,
4803
158, 159, 160, 161, 162, 163, 0, 164, 165, 0,
4804
0, 0, 0, 0, 0, 0, 166, 167, 0, 168,
4805
0, 169, 170, 171, 0, 172, 0, 173, 174, 0,
4806
175, 176, 177, 178, 0, 0, 179, 180, 181, 182,
4807
0, 183, 1046, 185, 186, 187, 0, 0, 188, 189,
4808
190, 191, 0, 192, 193, 194, 195, 0, 196, 197,
4809
198, 0, 199, 0, 0, 0, 0, 0, 200, 201,
4810
202, 203, 204, 205, 206, 207, 0, 208, 0, 209,
4811
210, 211, 212, 213, 0, 214, 0, 0, 215, 216,
4812
217, 218, 0, 219, 220, 221, 0, 222, 0, 223,
4813
224, 225, 226, 227, 228, 229, 0, 230, 231, 232,
4814
0, 233, 0, 234, 0, 0, 0, 235, 236, 0,
4815
237, 238, 0, 239, 0, 240, 241, 242, 0, 243,
4816
244, 245, 0, 246, 247, 248, 249, 250, 0, 0,
4817
251, 252, 253, 254, 255, 256, 257, 0, 258, 0,
4818
259, 0, 0, 260, 0, 261, 262, 263, 264, 265,
4819
0, 266, 0, 267, 0, 0, 268, 269, 270, 0,
4820
0, 271, 272, 273, 274, 275, 276, 277, 278, 279,
4821
280, 281, 282, 0, 283, 0, 284, 285, 286, 287,
4822
288, 289, 290, 291, 292, 0, 293, 294, 0, 295,
4823
0, 296, 297, 298, 299, 0, 0, 300, 0, 0,
4824
0, 301, 302, 0, 0, 303, 0, 0, 304, 305,
4825
306, 307, 0, 308, 309, 310, 311, 312, 0, 313,
4826
314, 315, 316, 317, 318, 319, 320, 0, 321, 322,
4827
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
4828
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
4829
0, 342, 343, 344, 0, 345, 346, 347, 348, 0,
4830
349, 350, 0, 351, 352, 353, 354, 355, 356, 357,
4831
358, 359, 360, 0, 361, 362, 0, 363, 364, 365,
4832
366, 0, 367, 368, 0, 369, 0, 370, 371, 372,
4833
373, 0, 374, 375, 376, 377, 378, 0, 0, 379,
4834
380, 381, 382, 0, 0, 383, 384, 385, 386, 387,
4835
388, 0, 389, 390, 0, 0, 391, 392, 393, 394,
4836
395, 396, 0, 397, 0, 0, 0, 0, 603, 0,
4837
0, 604, 605, 606, 0, 607, 608, 609, 610, 611,
4838
612, 156, 157, 158, 159, 160, 161, 162, 163, 0,
4839
164, 165, 0, 0, 0, 0, 0, 0, 0, 166,
4840
167, 0, 168, 0, 169, 170, 171, 0, 172, 0,
4841
173, 174, 0, 175, 176, 177, 178, 0, 0, 179,
4842
180, 181, 182, 0, 183, 184, 185, 186, 187, 0,
4843
0, 188, 189, 190, 191, 0, 192, 193, 194, 195,
4844
0, 196, 197, 198, 0, 199, 0, 0, 0, 0,
4845
0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
4846
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
4847
0, 215, 216, 217, 218, 0, 219, 220, 221, 0,
4848
222, 0, 223, 224, 225, 226, 227, 228, 229, 0,
4849
230, 231, 232, 0, 233, 0, 234, 0, 0, 0,
4850
235, 236, 0, 237, 238, 0, 239, 0, 240, 241,
4851
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
4852
250, 0, 0, 251, 252, 253, 254, 255, 256, 257,
4853
0, 258, 0, 259, 0, 0, 260, 0, 261, 262,
4854
263, 264, 265, 0, 266, 0, 267, 0, 0, 268,
4855
269, 270, 0, 0, 271, 272, 273, 274, 275, 276,
4856
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
4857
285, 286, 287, 288, 289, 290, 291, 292, 0, 293,
4858
294, 0, 295, 0, 296, 297, 298, 299, 0, 0,
4859
300, 0, 0, 0, 301, 302, 0, 0, 303, 0,
4860
0, 304, 305, 306, 307, 0, 308, 309, 310, 311,
4861
312, 0, 313, 314, 315, 316, 317, 318, 319, 320,
4862
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
4863
330, 331, 0, 332, 333, 334, 335, 336, 337, 338,
4864
339, 340, 341, 0, 342, 343, 344, 0, 345, 346,
4865
347, 348, 0, 349, 350, 0, 351, 352, 353, 354,
4866
355, 356, 357, 358, 359, 360, 0, 361, 362, 0,
4867
363, 364, 365, 366, 0, 367, 368, 0, 369, 0,
4868
370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
4869
0, 0, 379, 380, 381, 382, 0, 0, 383, 384,
4870
385, 386, 387, 388, 0, 389, 390, 0, 0, 391,
4871
392, 393, 394, 395, 396, 0, 397, 0, 0, 0,
4872
0, 603, 0, 0, 604, 605, 606, 0, 607, 608,
4873
609, 610, 611, 612, 156, 157, 158, 159, 160, 161,
4874
162, 163, 0, 164, 165, 0, 0, 0, 0, 0,
4875
0, 0, 166, 167, 0, 168, 0, 169, 170, 171,
4876
0, 1057, 0, 1058, 1059, 0, 175, 176, 177, 178,
4877
0, 0, 179, 1060, 1061, 182, 0, 183, 184, 185,
4878
186, 0, 0, 0, 188, 189, 190, 191, 0, 192,
4879
193, 0, 195, 0, 196, 197, 198, 0, 199, 0,
4880
0, 0, 0, 0, 200, 201, 202, 203, 204, 1062,
4881
1063, 207, 0, 208, 0, 209, 210, 211, 212, 213,
4882
0, 214, 0, 0, 215, 763, 217, 218, 0, 219,
4883
220, 221, 0, 222, 0, 223, 224, 225, 0, 227,
4884
228, 0, 0, 230, 231, 1064, 0, 233, 0, 234,
4885
0, 0, 0, 235, 236, 0, 237, 0, 0, 239,
4886
0, 240, 241, 242, 0, 243, 244, 245, 0, 246,
4887
247, 248, 249, 250, 0, 0, 0, 252, 253, 254,
4888
255, 1065, 1066, 0, 1067, 0, 259, 0, 0, 260,
4889
0, 261, 262, 263, 264, 265, 0, 0, 0, 267,
4890
0, 0, 268, 269, 270, 0, 0, 271, 272, 273,
4891
274, 275, 276, 277, 278, 279, 280, 281, 1068, 0,
4892
1069, 0, 284, 285, 286, 287, 288, 289, 290, 0,
4893
292, 0, 293, 294, 0, 295, 0, 0, 1070, 298,
4894
299, 0, 0, 300, 0, 0, 0, 2180, 302, 0,
4895
0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
4896
0, 310, 311, 312, 0, 313, 314, 315, 316, 317,
4897
318, 1071, 320, 0, 321, 322, 323, 324, 325, 326,
4898
327, 328, 329, 330, 331, 0, 332, 333, 0, 335,
4899
336, 337, 338, 339, 340, 341, 0, 342, 343, 344,
4900
0, 345, 1376, 347, 348, 0, 349, 1073, 0, 351,
4901
352, 353, 354, 355, 356, 357, 358, 0, 360, 0,
4902
361, 362, 0, 363, 364, 365, 366, 0, 1074, 1075,
4903
0, 369, 0, 370, 0, 372, 0, 0, 374, 375,
4904
376, 377, 378, 0, 0, 379, 380, 381, 382, 0,
4905
0, 383, 384, 385, 386, 1076, 388, 0, 389, 390,
4906
0, 0, 391, 392, 393, 394, 395, 396, 0, 1077,
4907
1291, 497, 0, 0, 603, 481, 0, 604, 605, 606,
4908
0, 607, 2181, 609, 610, 611, 612, 156, 157, 158,
4909
159, 160, 161, 162, 163, 958, 164, 165, 959, 960,
4910
961, 962, 963, 964, 965, 166, 167, 966, 168, 565,
4911
169, 170, 171, 566, 172, 567, 173, 174, 967, 175,
4912
176, 177, 178, 968, 969, 179, 180, 181, 182, 970,
4913
183, 184, 185, 186, 187, 971, 972, 188, 189, 190,
4914
191, 973, 192, 193, 194, 195, 974, 196, 197, 198,
4915
568, 199, 975, 976, 977, 978, 979, 200, 201, 202,
4916
203, 204, 205, 206, 207, 980, 208, 981, 209, 210,
4917
211, 212, 213, 982, 214, 983, 984, 215, 216, 217,
4918
218, 985, 219, 220, 221, 986, 222, 987, 223, 224,
4919
225, 226, 227, 228, 229, 988, 230, 231, 232, 989,
4920
233, 990, 234, 569, 991, 570, 235, 236, 992, 237,
4921
238, 993, 239, 994, 240, 241, 242, 571, 243, 244,
4922
245, 995, 246, 247, 248, 249, 250, 996, 572, 251,
4923
252, 253, 254, 255, 256, 257, 997, 258, 998, 259,
4924
573, 574, 260, 575, 261, 262, 263, 264, 265, 999,
4925
266, 576, 267, 577, 1000, 268, 269, 270, 1001, 1002,
4926
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
4927
281, 282, 578, 283, 1003, 284, 285, 286, 287, 288,
4928
289, 290, 291, 292, 1004, 293, 294, 579, 295, 1005,
4929
296, 297, 298, 299, 1006, 1007, 300, 1008, 1009, 1010,
4930
301, 302, 1011, 1012, 303, 580, 581, 304, 305, 306,
4931
307, 1013, 308, 309, 310, 311, 312, 1014, 313, 314,
4932
315, 316, 317, 318, 319, 320, 1015, 321, 322, 323,
4933
324, 325, 326, 327, 328, 329, 330, 331, 582, 332,
4934
333, 334, 335, 336, 337, 338, 339, 340, 341, 1016,
4935
342, 343, 344, 1017, 345, 346, 347, 348, 583, 349,
4936
350, 1018, 351, 352, 353, 354, 355, 356, 357, 358,
4937
359, 360, 1019, 361, 362, 1020, 363, 364, 365, 366,
4938
1021, 367, 368, 1022, 369, 1023, 370, 371, 372, 373,
4939
1024, 374, 375, 376, 377, 378, 1025, 1026, 379, 380,
4940
381, 382, 1027, 1028, 383, 384, 385, 386, 387, 388,
4941
584, 389, 390, 1029, 1030, 391, 392, 393, 394, 395,
4942
396, 0, 1031, 156, 157, 158, 159, 160, 161, 162,
4943
163, 0, 164, 165, 0, 0, 1032, 0, 0, 0,
4944
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
4945
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
4946
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
4947
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
4948
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
4949
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
4950
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
4951
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
4952
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
4953
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
4954
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
4955
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
4956
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
4957
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
4958
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
4959
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
4960
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
4961
402, 284, 285, 286, 287, 288, 289, 290, 291, 292,
4962
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
4963
0, 0, 300, 403, 0, 0, 301, 302, 0, 0,
4964
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
4965
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
4966
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
4967
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
4968
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
4969
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
4970
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
4971
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
4972
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
4973
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
4974
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
4975
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
4976
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
4977
0, 0, 546, 0, 0, 0, 0, 166, 167, 0,
4978
168, 0, 169, 170, 171, 0, 1057, 0, 1058, 1059,
4979
0, 175, 176, 177, 178, 0, 0, 179, 1060, 1061,
4980
182, 0, 183, 184, 185, 186, 0, 0, 0, 188,
4981
189, 190, 191, 0, 192, 193, 0, 195, 0, 196,
4982
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
4983
201, 202, 203, 204, 1062, 1063, 207, 0, 208, 0,
4984
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
4985
763, 217, 218, 0, 219, 220, 221, 0, 222, 0,
4986
223, 224, 225, 0, 227, 228, 0, 0, 230, 231,
4987
1064, 0, 233, 0, 234, 0, 0, 0, 235, 236,
4988
0, 237, 0, 0, 239, 0, 240, 241, 242, 0,
4989
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
4990
0, 0, 252, 253, 254, 255, 1065, 1066, 0, 1067,
4991
0, 259, 0, 0, 260, 0, 261, 262, 263, 264,
4992
265, 0, 0, 0, 267, 0, 0, 268, 269, 270,
4993
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
4994
279, 280, 281, 1068, 0, 1069, 0, 284, 285, 286,
4995
287, 288, 289, 290, 0, 292, 0, 293, 294, 0,
4996
295, 0, 0, 1070, 298, 299, 0, 0, 300, 0,
4997
0, 0, 301, 302, 0, 0, 0, 0, 0, 0,
4998
305, 306, 307, 0, 0, 0, 310, 311, 312, 0,
4999
313, 314, 315, 316, 317, 318, 1071, 320, 0, 321,
5000
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
5001
0, 332, 333, 0, 335, 336, 337, 338, 339, 340,
5002
341, 0, 342, 343, 344, 0, 345, 1072, 347, 348,
5003
0, 349, 1073, 0, 351, 352, 353, 354, 355, 356,
5004
357, 358, 0, 360, 0, 361, 362, 0, 363, 364,
5005
365, 366, 0, 1074, 1075, 0, 369, 0, 370, 0,
5006
372, 0, 0, 374, 375, 376, 377, 378, 0, 0,
5007
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
5008
1076, 388, 0, 389, 390, 0, 0, 391, 392, 393,
5009
394, 395, 396, 0, 1077, 156, 157, 158, 159, 160,
5010
161, 162, 163, 0, 164, 165, 0, 0, 1340, 0,
5011
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
5012
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
5013
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
5014
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
5015
192, 193, 194, 195, 0, 196, 197, 198, 0, 199,
5016
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
5017
205, 206, 207, 1300, 208, 0, 209, 210, 211, 212,
5018
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
5019
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
5020
227, 228, 229, 1301, 230, 231, 232, 0, 233, 0,
5021
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
5022
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
5023
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
5024
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
5025
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
5026
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
5027
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
5028
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
5029
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
5030
298, 299, 1302, 0, 300, 0, 1303, 0, 301, 302,
5031
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
5032
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
5033
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
5034
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
5035
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
5036
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
5037
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
5038
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
5039
368, 0, 369, 0, 370, 371, 372, 373, 1304, 374,
5040
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
5041
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
5042
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
5043
397, 1291, 845, 0, 0, 0, 481, 0, 0, 0,
5044
0, 0, 0, 1292, 156, 157, 158, 159, 160, 161,
5045
162, 163, 0, 164, 165, 0, 0, 0, 0, 0,
5046
0, 0, 166, 167, 0, 168, 0, 169, 170, 171,
5047
0, 172, 0, 173, 174, 0, 175, 176, 177, 178,
5048
0, 0, 179, 180, 181, 182, 0, 183, 184, 185,
5049
186, 187, 0, 0, 188, 189, 190, 191, 0, 192,
5050
193, 194, 195, 0, 196, 197, 198, 0, 199, 0,
5051
0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
5052
206, 207, 0, 208, 0, 209, 210, 211, 212, 213,
5053
0, 214, 0, 0, 215, 216, 217, 218, 0, 219,
5054
220, 221, 0, 222, 0, 223, 224, 225, 226, 227,
5055
228, 229, 1301, 230, 231, 232, 0, 233, 0, 234,
5056
0, 0, 0, 235, 236, 0, 237, 238, 0, 239,
5057
0, 240, 241, 242, 0, 243, 244, 245, 0, 246,
5058
247, 248, 249, 250, 0, 0, 251, 252, 253, 254,
5059
255, 256, 257, 0, 258, 0, 259, 0, 0, 260,
5060
0, 261, 262, 263, 264, 265, 0, 266, 0, 267,
5061
0, 0, 268, 269, 270, 0, 0, 271, 272, 273,
5062
274, 275, 276, 277, 278, 279, 280, 281, 282, 0,
5063
283, 0, 284, 285, 286, 287, 288, 289, 290, 291,
5064
292, 0, 293, 294, 0, 295, 0, 296, 297, 298,
5065
299, 1302, 0, 300, 0, 1303, 0, 301, 302, 0,
5066
0, 303, 0, 0, 304, 305, 306, 307, 0, 308,
5067
309, 310, 311, 312, 0, 313, 314, 315, 316, 317,
5068
318, 319, 320, 0, 321, 322, 323, 324, 325, 326,
5069
327, 328, 329, 330, 331, 0, 332, 333, 334, 335,
5070
336, 337, 338, 339, 340, 341, 0, 342, 343, 344,
5071
0, 345, 346, 347, 348, 0, 349, 350, 0, 351,
5072
352, 353, 354, 355, 356, 357, 358, 359, 360, 0,
5073
361, 362, 0, 363, 364, 365, 366, 0, 367, 368,
5074
0, 369, 0, 370, 371, 372, 373, 1304, 374, 375,
5075
376, 377, 378, 0, 0, 379, 380, 381, 382, 0,
5076
0, 383, 384, 385, 386, 387, 388, 0, 389, 390,
5077
0, 0, 391, 392, 393, 394, 395, 396, 0, 397,
5078
1291, 845, 0, 0, 0, 481, 0, 0, 0, 0,
5079
0, 0, 1292, 156, 472, 158, 159, 160, 161, 162,
5080
163, 473, 164, 165, 0, 0, 0, 0, 0, 0,
5081
0, 166, 167, 0, 168, 0, 474, 170, 171, 0,
5082
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
5083
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
5084
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
5085
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
5086
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
5087
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
5088
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
5089
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
5090
229, 0, 230, 475, 232, 0, 233, 0, 476, 0,
5091
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
5092
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
5093
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
5094
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
5095
261, 262, 263, 264, 477, 0, 266, 0, 267, 0,
5096
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
5097
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
5098
0, 478, 285, 286, 287, 288, 289, 290, 291, 292,
5099
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
5100
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
5101
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
5102
310, 311, 312, 0, 479, 314, 315, 316, 317, 318,
5103
319, 320, 0, 321, 480, 323, 324, 325, 326, 327,
5104
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
5105
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
5106
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
5107
353, 354, 355, 356, 357, 358, 359, 360, 1246, 361,
5108
362, 0, 363, 364, 365, 366, 1248, 367, 368, 0,
5109
369, 1249, 370, 371, 372, 373, 0, 374, 375, 376,
5110
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
5111
383, 384, 385, 386, 387, 388, 0, 389, 390, 1246,
5112
0, 391, 392, 393, 394, 395, 396, 1248, 397, 0,
5113
0, 0, 1249, 0, 481, 0, 0, 0, 0, 0,
5114
0, 482, 0, 0, 0, 0, 1246, 0, 0, 0,
5115
0, 0, 0, 0, 1248, 0, 0, 0, 0, 1249,
5116
0, 0, 0, 0, 0, 0, 0, 1246, 0, 0,
5117
0, 0, 0, 0, 0, 1248, 0, 0, 0, 0,
5118
1249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5119
0, 0, 0, 0, 1246, 1250, 0, 0, 0, 1251,
5120
0, 0, 1248, 0, 0, 0, 0, 1249, 0, 0,
5121
0, 0, 0, 0, 0, 0, 0, 0, 1252, 1253,
5122
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5123
0, 1254, 0, 0, 0, 1246, 1250, 0, 0, 0,
5124
1251, 0, 0, 1248, 0, 0, 0, 0, 1249, 0,
5125
0, 0, 0, 0, 0, 0, 0, 0, 0, 1252,
5126
1253, 0, 1255, 1250, 0, 1256, 0, 1251, 0, 0,
5127
0, 0, 1254, 0, 0, 0, 0, 0, 1257, 0,
5128
1258, 0, 0, 0, 1250, 0, 1252, 1253, 1251, 0,
5129
0, 0, 0, 0, 0, 0, 0, 0, 0, 1254,
5130
0, 0, 0, 1255, 0, 0, 1256, 1252, 1253, 0,
5131
0, 1250, 0, 0, 0, 1251, 0, 0, 0, 1257,
5132
1254, 1258, 0, 0, 0, 0, 0, 0, 0, 0,
5133
1255, 0, 0, 1256, 1252, 1253, 1259, 0, 0, 0,
5134
0, 0, 0, 0, 0, 0, 1257, 1254, 1258, 0,
5135
0, 1255, 1250, 0, 1256, 0, 1251, 0, 2298, 0,
5136
0, 0, 0, 0, 0, 0, 0, 1257, 0, 1258,
5137
0, 0, 0, 0, 0, 1252, 1253, 1259, 1255, 0,
5138
0, 1256, 0, 0, 0, 0, 0, 0, 1254, 0,
5139
0, 0, 0, 0, 1257, 0, 1258, 0, 0, 0,
5140
0, 0, 0, 0, 1259, 1260, 0, 0, 1261, 1262,
5141
1263, 0, 1264, 1265, 1266, 1267, 1268, 1269, 0, 1255,
5142
0, 0, 1256, 1270, 0, 1259, 0, 0, 0, 0,
5143
0, 0, 0, 0, 0, 1257, 0, 1258, 0, 0,
5144
0, 0, 0, 0, 0, 0, 1260, 0, 0, 1261,
5145
1262, 1263, 1259, 1264, 1265, 1266, 1267, 1268, 1269, 0,
5146
0, 1246, 0, 2335, 1270, 0, 0, 0, 0, 1248,
5147
0, 0, 0, 1260, 1249, 0, 1261, 1262, 1263, 0,
5148
1264, 1265, 1266, 1267, 1268, 1269, 0, 1246, 0, 0,
5149
2374, 1270, 0, 1259, 1260, 1248, 0, 1261, 1262, 1263,
5150
1249, 1264, 1265, 1266, 1267, 1268, 1269, 0, 0, 0,
5151
0, 2504, 1270, 0, 0, 0, 0, 0, 0, 0,
5152
0, 1260, 0, 0, 1261, 1262, 1263, 0, 1264, 1265,
5153
1266, 1267, 1268, 1269, 0, 0, 0, 0, 2523, 1270,
5154
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5155
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5156
0, 0, 1260, 0, 0, 1261, 1262, 1263, 0, 1264,
5157
1265, 1266, 1267, 1268, 1269, 0, 0, 0, 1250, 2637,
5158
1270, 0, 1251, 0, 0, 0, 0, 0, 0, 0,
5159
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5160
0, 1252, 1253, 0, 1250, 0, 0, 0, 1251, 0,
5161
0, 0, 0, 0, 1254, 0, 0, 0, 0, 0,
5162
0, 0, 0, 0, 0, 0, 0, 1252, 1253, 0,
5163
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5164
1254, 0, 0, 0, 0, 1255, 0, 0, 1256, 0,
5165
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5166
0, 1257, 0, 1258, 0, 0, 0, 0, 0, 0,
5167
0, 1255, 0, 0, 1256, 0, 0, 0, 0, 0,
5168
0, 0, 0, 0, 0, 0, 0, 1257, 0, 1258,
5169
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5170
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5171
0, 0, 0, 0, 0, 0, 0, 0, 0, 1259,
5172
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5173
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5174
0, 0, 0, 0, 0, 1259, 0, 0, 0, 0,
5175
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5176
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5177
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5178
0, 0, 0, 0, 0, 0, 0, 0, 1260, 0,
5179
0, 1261, 1262, 1263, 0, 1264, 1265, 1266, 1267, 1268,
5180
1269, 0, 0, 0, 0, 2699, 1270, 0, 0, 0,
5181
0, 0, 0, 0, 1260, 0, 0, 1261, 1262, 1263,
5182
0, 1264, 1265, 1266, 1267, 1268, 1269, 0, 0, 0,
5183
0, 0, 1270, 156, 157, 158, 159, 160, 161, 162,
5184
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
5185
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
5186
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
5187
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
5188
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
5189
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
5190
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
5191
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
5192
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
5193
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
5194
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
5195
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
5196
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
5197
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
5198
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
5199
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
5200
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
5201
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
5202
0, 284, 285, 286, 287, 288, 289, 290, 291, 292,
5203
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
5204
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
5205
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
5206
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
5207
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
5208
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
5209
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
5210
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
5211
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
5212
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
5213
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
5214
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
5215
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
5216
0, 391, 392, 393, 394, 395, 396, 0, 397, 2752,
5217
497, 2753, 2754, 0, 2755, 156, 157, 158, 159, 160,
5218
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
5219
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
5220
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
5221
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
5222
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
5223
192, 193, 194, 195, 0, 196, 197, 198, 0, 199,
5224
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
5225
205, 206, 207, 1285, 208, 0, 209, 210, 211, 212,
5226
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
5227
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
5228
227, 228, 229, 0, 230, 231, 232, 0, 233, 0,
5229
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
5230
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
5231
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
5232
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
5233
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
5234
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
5235
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
5236
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
5237
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
5238
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
5239
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
5240
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
5241
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
5242
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
5243
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
5244
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
5245
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
5246
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
5247
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
5248
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
5249
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
5250
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
5251
397, 0, 845, 156, 157, 158, 159, 160, 161, 162,
5252
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
5253
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
5254
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
5255
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
5256
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
5257
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
5258
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
5259
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
5260
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
5261
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
5262
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
5263
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
5264
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
5265
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
5266
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
5267
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
5268
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
5269
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
5270
0, 284, 285, 286, 287, 288, 289, 290, 291, 292,
5271
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
5272
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
5273
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
5274
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
5275
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
5276
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
5277
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
5278
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
5279
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
5280
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
5281
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
5282
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
5283
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
5284
0, 391, 392, 393, 394, 395, 396, 0, 397, 0,
5285
845, 156, 157, 158, 159, 160, 161, 162, 163, 958,
5286
164, 165, 959, 960, 961, 962, 963, 964, 965, 166,
5287
167, 966, 168, 565, 169, 170, 171, 566, 172, 567,
5288
173, 174, 967, 175, 176, 177, 178, 968, 969, 179,
5289
180, 181, 182, 970, 183, 184, 185, 186, 187, 971,
5290
972, 188, 189, 190, 191, 973, 192, 193, 194, 195,
5291
974, 196, 197, 198, 568, 199, 975, 976, 977, 978,
5292
979, 200, 201, 202, 203, 204, 205, 206, 207, 980,
5293
208, 981, 209, 210, 211, 212, 213, 982, 214, 983,
5294
984, 215, 216, 217, 218, 985, 219, 220, 221, 986,
5295
222, 987, 223, 224, 225, 226, 227, 228, 229, 988,
5296
230, 231, 232, 989, 233, 990, 234, 569, 991, 570,
5297
235, 236, 992, 237, 238, 993, 239, 994, 240, 241,
5298
242, 571, 243, 244, 245, 995, 246, 247, 248, 249,
5299
250, 996, 572, 251, 252, 253, 254, 255, 256, 257,
5300
997, 258, 998, 259, 573, 574, 260, 575, 261, 262,
5301
263, 264, 265, 999, 266, 576, 267, 577, 1000, 268,
5302
269, 270, 1001, 1002, 271, 272, 273, 274, 275, 276,
5303
277, 278, 279, 280, 281, 282, 578, 283, 1003, 284,
5304
285, 286, 287, 288, 289, 290, 291, 292, 1004, 293,
5305
294, 579, 295, 1005, 296, 297, 298, 299, 1006, 1007,
5306
300, 1008, 1009, 1010, 301, 302, 1011, 1012, 303, 580,
5307
581, 304, 305, 306, 307, 1013, 308, 309, 310, 311,
5308
312, 1014, 313, 314, 315, 316, 317, 318, 319, 320,
5309
1015, 321, 322, 323, 324, 325, 326, 327, 328, 329,
5310
330, 331, 582, 332, 333, 334, 335, 336, 337, 338,
5311
339, 340, 341, 1016, 342, 343, 344, 1017, 345, 346,
5312
347, 348, 583, 349, 350, 1018, 351, 352, 353, 354,
5313
355, 356, 357, 358, 359, 360, 1019, 361, 362, 1020,
5314
363, 364, 365, 366, 1021, 367, 368, 1022, 369, 1023,
5315
370, 371, 372, 373, 1024, 374, 375, 376, 377, 378,
5316
1025, 1026, 379, 380, 381, 382, 1027, 1028, 383, 384,
5317
385, 386, 387, 388, 584, 389, 390, 1029, 1030, 391,
5318
392, 393, 394, 395, 396, 0, 1031, 156, 157, 158,
5319
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
5320
0, 0, 0, 0, 0, 166, 167, 0, 168, 565,
5321
169, 170, 171, 566, 172, 567, 173, 174, 0, 175,
5322
176, 177, 178, 0, 0, 179, 180, 181, 182, 0,
5323
183, 184, 185, 186, 187, 0, 0, 188, 189, 190,
5324
191, 0, 192, 193, 194, 195, 0, 196, 197, 198,
5325
568, 199, 0, 0, 0, 0, 0, 200, 201, 202,
5326
203, 204, 205, 206, 207, 0, 208, 0, 209, 210,
5327
211, 212, 213, 0, 214, 0, 0, 215, 216, 217,
5328
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
5329
225, 226, 227, 228, 229, 0, 230, 231, 232, 0,
5330
233, 0, 234, 569, 0, 570, 235, 236, 0, 237,
5331
238, 0, 239, 0, 240, 241, 242, 571, 243, 244,
5332
245, 0, 246, 247, 248, 249, 250, 0, 572, 251,
5333
252, 253, 254, 255, 256, 257, 0, 258, 0, 259,
5334
573, 574, 260, 575, 261, 262, 263, 264, 265, 0,
5335
266, 576, 267, 577, 0, 268, 269, 270, 0, 0,
5336
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
5337
281, 282, 578, 283, 402, 284, 285, 286, 287, 288,
5338
289, 290, 291, 292, 0, 293, 294, 579, 295, 0,
5339
296, 297, 298, 299, 0, 0, 300, 403, 0, 0,
5340
301, 302, 0, 0, 303, 580, 581, 304, 305, 306,
5341
307, 0, 308, 309, 310, 311, 312, 0, 313, 314,
5342
315, 316, 317, 318, 319, 320, 0, 321, 322, 323,
5343
324, 325, 326, 327, 328, 329, 330, 331, 582, 332,
5344
333, 334, 335, 336, 337, 338, 339, 340, 341, 0,
5345
342, 343, 344, 0, 345, 346, 347, 348, 583, 349,
5346
350, 0, 351, 352, 353, 354, 355, 356, 357, 358,
5347
359, 360, 0, 361, 362, 0, 363, 364, 365, 366,
5348
0, 367, 368, 0, 369, 0, 370, 371, 372, 373,
5349
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
5350
381, 382, 0, 0, 383, 384, 385, 386, 387, 388,
5351
584, 389, 390, 0, 0, 391, 392, 393, 394, 395,
5352
396, 0, 585, 156, 157, 158, 159, 160, 161, 162,
5353
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
5354
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
5355
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
5356
0, 179, 180, 181, 182, 1351, 183, 184, 185, 186,
5357
187, 0, 0, 188, 189, 190, 191, 1352, 192, 193,
5358
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
5359
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
5360
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
5361
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
5362
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
5363
229, 0, 230, 231, 232, 0, 233, 1353, 234, 0,
5364
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
5365
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
5366
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
5367
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
5368
261, 262, 263, 264, 265, 0, 266, 0, 267, 1903,
5369
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
5370
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
5371
0, 284, 285, 286, 287, 288, 289, 290, 291, 292,
5372
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
5373
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
5374
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
5375
310, 311, 312, 1354, 313, 314, 315, 316, 317, 318,
5376
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
5377
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
5378
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
5379
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
5380
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
5381
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
5382
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
5383
377, 378, 0, 1355, 379, 380, 381, 382, 0, 0,
5384
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
5385
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
5386
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
5387
0, 0, 0, 0, 0, 0, 0, 166, 167, 0,
5388
168, 565, 169, 170, 171, 566, 1057, 567, 1058, 1059,
5389
0, 175, 176, 177, 178, 0, 0, 179, 1060, 1061,
5390
182, 0, 183, 184, 185, 186, 0, 0, 0, 188,
5391
189, 190, 191, 0, 192, 193, 0, 195, 0, 196,
5392
197, 198, 568, 199, 0, 0, 0, 0, 0, 200,
5393
201, 202, 203, 204, 1062, 1063, 207, 0, 208, 0,
5394
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
5395
763, 217, 218, 0, 219, 220, 221, 0, 222, 0,
5396
223, 224, 225, 0, 227, 228, 0, 0, 230, 231,
5397
1064, 0, 233, 0, 234, 569, 0, 570, 235, 236,
5398
0, 237, 0, 0, 239, 0, 240, 241, 242, 571,
5399
243, 244, 245, 1373, 246, 247, 248, 249, 250, 0,
5400
572, 1374, 252, 253, 254, 255, 1065, 1066, 0, 1067,
5401
0, 259, 573, 574, 260, 575, 261, 262, 263, 264,
5402
265, 0, 0, 576, 267, 577, 0, 268, 269, 270,
5403
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
5404
279, 280, 281, 1068, 578, 1069, 0, 284, 285, 286,
5405
287, 288, 289, 290, 0, 292, 0, 293, 294, 579,
5406
295, 0, 0, 1070, 298, 299, 0, 0, 300, 0,
5407
0, 0, 301, 302, 0, 0, 1375, 580, 581, 0,
5408
305, 306, 307, 0, 0, 0, 310, 311, 312, 0,
5409
313, 314, 315, 316, 317, 318, 1071, 320, 0, 321,
5410
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
5411
582, 332, 333, 0, 335, 336, 337, 338, 339, 340,
5412
341, 0, 342, 343, 344, 0, 345, 1376, 347, 348,
5413
583, 349, 1073, 0, 351, 352, 353, 354, 355, 356,
5414
357, 358, 0, 360, 0, 361, 362, 0, 363, 364,
5415
365, 366, 0, 1074, 1075, 0, 369, 0, 370, 0,
5416
372, 0, 0, 374, 375, 376, 377, 378, 0, 0,
5417
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
5418
1076, 388, 584, 389, 390, 0, 0, 391, 392, 393,
5419
394, 395, 396, 0, 1377, 156, 157, 158, 159, 160,
5420
520, 162, 163, 486, 164, 165, 0, 0, 0, 0,
5421
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
5422
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
5423
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
5424
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
5425
192, 193, 194, 195, 487, 196, 197, 198, 0, 199,
5426
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
5427
205, 206, 207, 0, 208, 0, 209, 210, 211, 212,
5428
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
5429
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
5430
227, 228, 229, 0, 230, 231, 232, 0, 233, 0,
5431
234, 0, 0, 0, 235, 236, 521, 237, 238, 0,
5432
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
5433
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
5434
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
5435
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
5436
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
5437
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
5438
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
5439
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
5440
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
5441
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
5442
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
5443
317, 318, 319, 320, 488, 321, 322, 323, 324, 325,
5444
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
5445
335, 336, 337, 338, 339, 340, 341, 489, 342, 343,
5446
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
5447
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
5448
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
5449
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
5450
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
5451
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
5452
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
5453
397, 156, 157, 158, 159, 160, 161, 162, 163, 486,
5454
164, 165, 0, 0, 0, 0, 0, 0, 0, 166,
5455
167, 0, 168, 0, 169, 170, 171, 0, 172, 0,
5456
173, 174, 0, 175, 176, 177, 178, 0, 0, 179,
5457
180, 181, 182, 0, 183, 184, 185, 186, 187, 0,
5458
0, 188, 189, 190, 191, 0, 192, 193, 194, 195,
5459
487, 196, 197, 198, 0, 199, 0, 0, 0, 0,
5460
0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
5461
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
5462
0, 215, 216, 217, 218, 0, 219, 220, 221, 0,
5463
222, 0, 223, 224, 225, 226, 227, 228, 229, 0,
5464
230, 231, 232, 0, 233, 0, 234, 0, 0, 0,
5465
235, 236, 0, 237, 238, 0, 239, 0, 240, 241,
5466
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
5467
250, 0, 0, 251, 252, 253, 254, 255, 256, 257,
5468
0, 258, 0, 259, 0, 0, 260, 0, 261, 262,
5469
263, 264, 265, 0, 266, 0, 267, 0, 0, 268,
5470
269, 270, 0, 0, 271, 272, 273, 274, 275, 276,
5471
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
5472
285, 286, 287, 288, 289, 290, 291, 292, 0, 293,
5473
294, 0, 295, 0, 296, 297, 298, 299, 0, 0,
5474
300, 0, 0, 0, 301, 302, 0, 0, 303, 0,
5475
0, 304, 305, 306, 307, 0, 308, 309, 310, 311,
5476
312, 0, 313, 314, 315, 316, 317, 318, 319, 320,
5477
488, 321, 322, 323, 324, 325, 326, 327, 328, 329,
5478
330, 331, 0, 332, 333, 334, 335, 336, 337, 338,
5479
339, 340, 341, 489, 342, 343, 344, 0, 345, 346,
5480
347, 348, 0, 349, 350, 0, 351, 352, 353, 354,
5481
355, 356, 357, 358, 359, 360, 0, 361, 362, 0,
5482
363, 364, 365, 366, 0, 367, 368, 0, 369, 0,
5483
370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
5484
0, 0, 379, 380, 381, 382, 0, 0, 383, 384,
5485
385, 386, 387, 388, 0, 389, 390, 0, 0, 391,
5486
392, 393, 394, 395, 396, 0, 397, 156, 157, 158,
5487
159, 160, 161, 162, 163, 0, 164, 165, 3, 4,
5488
0, 0, 0, 0, 0, 166, 167, 0, 168, 0,
5489
169, 170, 171, 0, 172, 0, 173, 174, 0, 175,
5490
176, 177, 178, 0, 0, 179, 180, 181, 182, 0,
5491
183, 184, 185, 186, 187, 0, 0, 188, 189, 190,
5492
191, 0, 192, 193, 194, 195, 0, 196, 197, 198,
5493
0, 199, 0, 0, 0, 0, 0, 200, 201, 202,
5494
203, 204, 205, 206, 207, 0, 208, 0, 209, 210,
5495
211, 212, 213, 0, 214, 0, 0, 215, 216, 217,
5496
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
5497
225, 226, 227, 228, 229, 0, 230, 231, 232, 0,
5498
233, 0, 234, 0, 0, 0, 235, 236, 0, 237,
5499
238, 0, 239, 0, 240, 241, 242, 0, 243, 244,
5500
245, 0, 246, 247, 248, 249, 250, 0, 0, 251,
5501
252, 253, 254, 255, 256, 257, 0, 258, 0, 259,
5502
0, 0, 260, 0, 261, 262, 263, 264, 265, 0,
5503
266, 0, 267, 0, 0, 268, 269, 270, 0, 0,
5504
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
5505
281, 282, 0, 283, 402, 284, 285, 286, 287, 288,
5506
289, 290, 291, 292, 0, 293, 294, 0, 295, 0,
5507
296, 297, 298, 299, 0, 0, 300, 403, 0, 0,
5508
301, 302, 0, 0, 303, 0, 0, 304, 305, 306,
5509
307, 0, 308, 309, 310, 311, 312, 0, 313, 314,
5510
315, 316, 317, 318, 319, 320, 0, 321, 322, 323,
5511
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
5512
333, 334, 335, 336, 337, 338, 339, 340, 341, 0,
5513
342, 343, 344, 0, 345, 346, 347, 348, 0, 349,
5514
350, 0, 351, 352, 353, 354, 355, 356, 357, 358,
5515
359, 360, 0, 361, 362, 0, 363, 364, 365, 366,
5516
0, 367, 368, 0, 369, 0, 370, 371, 372, 373,
5517
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
5518
381, 382, 0, 0, 383, 384, 385, 386, 387, 388,
5519
0, 389, 390, 0, 0, 391, 392, 393, 394, 395,
5520
396, 0, 397, 156, 157, 158, 159, 160, 161, 162,
5521
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
5522
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
5523
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
5524
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
5525
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
5526
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
5527
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
5528
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
5529
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
5530
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
5531
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
5532
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
5533
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
5534
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
5535
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
5536
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
5537
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
5538
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
5539
402, 284, 285, 286, 287, 288, 289, 290, 291, 292,
5540
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
5541
0, 0, 300, 403, 0, 548, 301, 302, 0, 0,
5542
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
5543
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
5544
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
5545
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
5546
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
5547
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
5548
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
5549
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
5550
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
5551
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
5552
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
5553
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
5554
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
5555
0, 0, 0, 0, 0, 0, 0, 166, 167, 0,
5556
168, 0, 169, 170, 171, 0, 172, 0, 173, 174,
5557
0, 175, 176, 177, 178, 0, 0, 179, 180, 181,
5558
182, 0, 183, 184, 185, 186, 187, 0, 0, 188,
5559
189, 190, 191, 0, 192, 193, 194, 195, 0, 196,
5560
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
5561
201, 1152, 203, 204, 205, 206, 207, 0, 208, 0,
5562
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
5563
216, 217, 218, 0, 219, 220, 221, 0, 222, 0,
5564
223, 224, 225, 226, 227, 228, 229, 0, 230, 231,
5565
232, 0, 233, 0, 234, 0, 0, 0, 1153, 236,
5566
0, 237, 238, 0, 239, 0, 240, 241, 242, 0,
5567
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
5568
0, 251, 252, 253, 254, 255, 256, 257, 0, 258,
5569
0, 259, 0, 0, 260, 0, 261, 262, 1154, 264,
5570
265, 0, 266, 0, 267, 0, 0, 268, 269, 270,
5571
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
5572
279, 280, 281, 282, 0, 283, 402, 284, 285, 286,
5573
287, 288, 289, 290, 291, 292, 0, 293, 294, 0,
5574
295, 0, 296, 297, 298, 299, 0, 0, 300, 403,
5575
0, 0, 301, 302, 0, 0, 303, 0, 0, 304,
5576
305, 306, 307, 0, 308, 309, 310, 311, 312, 0,
5577
313, 314, 315, 316, 317, 318, 319, 320, 0, 321,
5578
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
5579
0, 332, 333, 334, 335, 336, 337, 1155, 339, 340,
5580
341, 0, 342, 343, 344, 0, 345, 346, 347, 348,
5581
0, 349, 350, 0, 351, 352, 353, 354, 355, 356,
5582
357, 358, 359, 360, 0, 361, 362, 1156, 1157, 364,
5583
365, 366, 0, 367, 368, 0, 369, 0, 370, 371,
5584
372, 373, 0, 374, 375, 376, 377, 378, 0, 0,
5585
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
5586
387, 388, 0, 389, 390, 0, 0, 391, 392, 393,
5587
394, 395, 396, 0, 397, 156, 157, 158, 159, 160,
5588
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
5589
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
5590
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
5591
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
5592
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
5593
192, 193, 194, 195, 487, 196, 197, 198, 0, 199,
5594
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
5595
205, 206, 207, 0, 208, 0, 209, 210, 211, 212,
5596
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
5597
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
5598
227, 228, 229, 0, 230, 231, 232, 0, 233, 0,
5599
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
5600
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
5601
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
5602
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
5603
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
5604
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
5605
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
5606
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
5607
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
5608
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
5609
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
5610
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
5611
317, 318, 319, 320, 488, 321, 322, 323, 324, 325,
5612
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
5613
335, 336, 337, 338, 339, 340, 341, 489, 342, 343,
5614
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
5615
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
5616
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
5617
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
5618
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
5619
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
5620
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
5621
397, 156, 157, 158, 159, 160, 161, 162, 163, 0,
5622
164, 165, 0, 0, 0, 0, 0, 0, 0, 166,
5623
167, 0, 168, 0, 169, 170, 171, 0, 172, 0,
5624
173, 174, 0, 175, 176, 177, 178, 0, 0, 179,
5625
180, 181, 182, 0, 183, 184, 185, 186, 187, 0,
5626
0, 188, 189, 190, 191, 0, 192, 193, 194, 195,
5627
0, 196, 197, 198, 0, 199, 0, 0, 0, 0,
5628
0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
5629
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
5630
0, 215, 216, 217, 218, 0, 219, 220, 221, 0,
5631
222, 0, 223, 224, 225, 226, 227, 228, 229, 0,
5632
230, 231, 232, 0, 233, 0, 234, 0, 0, 0,
5633
235, 1696, 0, 237, 238, 0, 239, 0, 240, 241,
5634
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
5635
250, 0, 0, 251, 252, 253, 254, 255, 256, 257,
5636
0, 258, 0, 259, 0, 0, 260, 0, 261, 262,
5637
263, 264, 265, 0, 266, 0, 267, 0, 0, 268,
5638
269, 1697, 0, 0, 271, 272, 273, 274, 275, 276,
5639
277, 278, 279, 280, 281, 282, 0, 283, 402, 284,
5640
285, 286, 287, 288, 289, 290, 291, 292, 0, 293,
5641
294, 0, 295, 0, 296, 297, 298, 299, 0, 0,
5642
300, 403, 0, 0, 301, 302, 0, 0, 303, 0,
5643
0, 304, 305, 306, 307, 0, 308, 309, 310, 311,
5644
312, 0, 313, 314, 315, 316, 317, 318, 319, 320,
5645
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
5646
330, 331, 0, 332, 333, 334, 335, 336, 337, 338,
5647
339, 340, 341, 0, 342, 343, 344, 0, 345, 346,
5648
347, 348, 0, 349, 350, 0, 351, 352, 353, 354,
5649
355, 356, 357, 358, 359, 360, 0, 361, 362, 1698,
5650
363, 1699, 365, 1700, 0, 367, 368, 0, 369, 0,
5651
370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
5652
0, 0, 379, 380, 381, 382, 0, 0, 383, 384,
5653
385, 386, 387, 388, 0, 389, 390, 0, 0, 391,
5654
392, 393, 394, 395, 396, 0, 397, 156, 157, 158,
5655
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
5656
0, 0, 0, 0, 0, 166, 167, 0, 168, 565,
5657
169, 170, 171, 566, 1057, 567, 1058, 1059, 0, 175,
5658
176, 177, 178, 0, 0, 179, 1060, 1061, 182, 0,
5659
183, 184, 185, 186, 0, 0, 0, 188, 189, 190,
5660
191, 0, 192, 193, 0, 195, 0, 196, 197, 198,
5661
568, 199, 0, 0, 0, 0, 0, 200, 201, 202,
5662
203, 204, 1062, 1063, 207, 0, 208, 0, 209, 210,
5663
211, 212, 213, 0, 214, 0, 0, 215, 763, 217,
5664
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
5665
225, 0, 227, 228, 0, 0, 230, 231, 1064, 0,
5666
233, 0, 234, 569, 0, 570, 235, 236, 0, 237,
5667
0, 0, 239, 0, 240, 241, 242, 571, 243, 244,
5668
245, 0, 246, 247, 248, 249, 250, 0, 572, 0,
5669
252, 253, 254, 255, 1065, 1066, 0, 1067, 0, 259,
5670
573, 574, 260, 575, 261, 262, 263, 264, 265, 0,
5671
0, 576, 267, 577, 0, 268, 269, 270, 0, 0,
5672
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
5673
281, 1068, 578, 1069, 0, 284, 285, 286, 287, 288,
5674
289, 290, 0, 292, 0, 293, 294, 579, 295, 0,
5675
0, 1070, 298, 299, 0, 0, 300, 0, 0, 0,
5676
301, 302, 0, 0, 0, 580, 581, 0, 305, 306,
5677
307, 0, 0, 0, 310, 311, 312, 0, 313, 314,
5678
315, 316, 317, 318, 1071, 320, 0, 321, 322, 323,
5679
324, 325, 326, 327, 328, 329, 330, 331, 582, 332,
5680
333, 0, 335, 336, 337, 338, 339, 340, 341, 0,
5681
342, 343, 344, 0, 345, 1376, 347, 348, 583, 349,
5682
1073, 0, 351, 352, 353, 354, 355, 356, 357, 358,
5683
0, 360, 0, 361, 362, 0, 363, 364, 365, 366,
5684
0, 1074, 1075, 0, 369, 0, 370, 0, 372, 0,
5685
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
5686
381, 382, 0, 0, 383, 384, 385, 386, 1076, 388,
5687
584, 389, 390, 0, 0, 391, 392, 393, 394, 395,
5688
396, 0, 1377, 156, 157, 158, 159, 160, 161, 162,
5689
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
5690
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
5691
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
5692
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
5693
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
5694
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
5695
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
5696
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
5697
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
5698
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
5699
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
5700
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
5701
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
5702
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
5703
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
5704
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
5705
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
5706
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
5707
402, 284, 285, 286, 287, 288, 289, 290, 291, 292,
5708
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
5709
0, 0, 300, 403, 0, 0, 301, 302, 0, 0,
5710
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
5711
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
5712
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
5713
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
5714
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
5715
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
5716
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
5717
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
5718
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
5719
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
5720
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
5721
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
5722
157, 158, 159, 160, 161, 162, 163, 1823, 164, 165,
5723
0, 0, 0, 0, 0, 0, 0, 166, 167, 0,
5724
168, 0, 169, 170, 171, 0, 172, 0, 173, 174,
5725
0, 175, 176, 177, 178, 0, 0, 179, 180, 181,
5726
182, 0, 183, 184, 185, 186, 187, 0, 0, 188,
5727
189, 190, 191, 0, 192, 193, 194, 195, 0, 196,
5728
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
5729
201, 202, 203, 204, 205, 206, 207, 0, 208, 0,
5730
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
5731
216, 217, 218, 0, 219, 220, 221, 0, 222, 0,
5732
223, 224, 225, 226, 227, 228, 229, 0, 230, 231,
5733
232, 0, 233, 0, 234, 0, 0, 0, 235, 236,
5734
0, 237, 238, 0, 239, 0, 240, 241, 242, 0,
5735
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
5736
0, 251, 252, 253, 254, 255, 256, 257, 0, 258,
5737
0, 259, 0, 0, 260, 0, 261, 262, 263, 264,
5738
265, 0, 266, 0, 267, 0, 0, 268, 269, 270,
5739
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
5740
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
5741
287, 288, 289, 290, 291, 292, 0, 293, 294, 0,
5742
295, 0, 296, 297, 298, 299, 0, 0, 300, 0,
5743
0, 0, 301, 302, 0, 0, 303, 0, 0, 304,
5744
305, 306, 307, 0, 308, 309, 310, 311, 312, 0,
5745
313, 314, 315, 316, 317, 318, 319, 320, 0, 321,
5746
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
5747
0, 332, 333, 334, 335, 336, 337, 338, 339, 340,
5748
341, 0, 342, 343, 344, 0, 345, 346, 347, 348,
5749
0, 349, 350, 0, 351, 352, 353, 354, 355, 356,
5750
357, 358, 359, 360, 0, 361, 362, 0, 363, 364,
5751
365, 366, 0, 367, 368, 0, 369, 0, 370, 371,
5752
372, 373, 0, 374, 375, 376, 377, 378, 0, 0,
5753
379, 380, 381, 382, 1824, 0, 383, 384, 385, 386,
5754
387, 388, 0, 389, 390, 0, 0, 391, 392, 393,
5755
394, 395, 396, 0, 397, 156, 157, 158, 159, 160,
5756
161, 162, 163, 1828, 164, 165, 0, 0, 0, 0,
5757
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
5758
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
5759
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
5760
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
5761
192, 193, 194, 195, 0, 196, 197, 198, 0, 199,
5762
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
5763
205, 206, 207, 0, 208, 0, 209, 210, 211, 212,
5764
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
5765
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
5766
227, 228, 229, 0, 230, 231, 232, 0, 233, 0,
5767
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
5768
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
5769
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
5770
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
5771
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
5772
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
5773
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
5774
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
5775
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
5776
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
5777
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
5778
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
5779
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
5780
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
5781
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
5782
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
5783
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
5784
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
5785
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
5786
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
5787
1829, 0, 383, 384, 385, 386, 387, 388, 0, 389,
5788
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
5789
397, 156, 157, 158, 159, 160, 161, 162, 163, 514,
5790
164, 165, 0, 0, 0, 0, 0, 0, 0, 166,
5791
167, 0, 168, 0, 169, 170, 171, 0, 172, 0,
5792
173, 174, 0, 175, 176, 177, 178, 0, 0, 179,
5793
180, 181, 182, 0, 183, 184, 185, 186, 187, 0,
5794
0, 188, 189, 190, 191, 0, 192, 193, 194, 195,
5795
0, 196, 197, 198, 0, 199, 0, 0, 0, 0,
5796
0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
5797
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
5798
0, 215, 216, 217, 218, 0, 219, 220, 221, 0,
5799
222, 0, 223, 224, 225, 226, 227, 228, 229, 0,
5800
230, 231, 232, 0, 233, 0, 234, 0, 0, 0,
5801
235, 236, 0, 237, 238, 0, 239, 0, 240, 241,
5802
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
5803
250, 0, 0, 251, 252, 253, 254, 255, 256, 257,
5804
0, 258, 0, 259, 0, 0, 260, 0, 261, 262,
5805
263, 264, 265, 0, 266, 0, 267, 0, 0, 268,
5806
269, 270, 0, 0, 271, 272, 273, 274, 275, 276,
5807
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
5808
285, 286, 287, 288, 289, 290, 291, 292, 0, 293,
5809
294, 0, 295, 0, 296, 297, 298, 299, 0, 0,
5810
300, 0, 0, 0, 301, 302, 0, 0, 303, 0,
5811
0, 304, 305, 306, 307, 0, 308, 309, 310, 311,
5812
312, 0, 313, 314, 315, 316, 317, 318, 319, 320,
5813
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
5814
330, 331, 0, 332, 333, 334, 335, 336, 337, 338,
5815
339, 340, 341, 0, 342, 343, 515, 0, 345, 346,
5816
347, 348, 0, 349, 350, 0, 351, 352, 353, 354,
5817
355, 356, 357, 358, 359, 360, 0, 361, 362, 0,
5818
363, 364, 365, 366, 0, 516, 368, 0, 369, 0,
5819
517, 371, 372, 373, 0, 374, 375, 376, 377, 378,
5820
0, 0, 379, 380, 381, 382, 0, 0, 383, 384,
5821
385, 386, 387, 388, 0, 389, 390, 0, 0, 391,
5822
392, 393, 394, 395, 396, 0, 397, 156, 157, 158,
5823
159, 160, 161, 162, 163, 539, 164, 165, 0, 0,
5824
0, 0, 0, 0, 0, 166, 167, 0, 168, 0,
5825
169, 170, 171, 0, 172, 0, 173, 174, 0, 175,
5826
176, 177, 178, 0, 0, 179, 180, 181, 182, 0,
5827
183, 184, 185, 186, 187, 0, 0, 188, 189, 190,
5828
191, 0, 192, 193, 194, 195, 0, 196, 197, 198,
5829
0, 199, 0, 0, 0, 0, 0, 200, 201, 202,
5830
203, 204, 205, 206, 207, 0, 208, 0, 209, 210,
5831
211, 212, 213, 0, 214, 0, 0, 215, 216, 217,
5832
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
5833
225, 226, 227, 228, 229, 0, 230, 231, 232, 0,
5834
233, 0, 234, 0, 0, 0, 235, 236, 0, 237,
5835
238, 0, 239, 0, 240, 241, 242, 0, 243, 244,
5836
245, 0, 246, 247, 248, 249, 250, 0, 0, 251,
5837
252, 253, 254, 255, 256, 257, 0, 258, 0, 259,
5838
0, 0, 260, 0, 261, 262, 263, 264, 265, 0,
5839
266, 0, 267, 0, 0, 268, 269, 270, 0, 0,
5840
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
5841
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
5842
289, 290, 291, 292, 0, 293, 294, 0, 295, 0,
5843
296, 297, 298, 299, 0, 0, 300, 0, 0, 0,
5844
301, 302, 0, 0, 303, 0, 0, 304, 305, 306,
5845
307, 0, 308, 309, 310, 311, 312, 0, 313, 314,
5846
315, 316, 317, 318, 319, 320, 0, 321, 322, 323,
5847
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
5848
333, 334, 335, 336, 337, 338, 339, 340, 341, 0,
5849
342, 343, 540, 0, 345, 346, 347, 348, 0, 349,
5850
350, 0, 351, 352, 353, 354, 355, 356, 357, 358,
5851
359, 360, 0, 361, 362, 0, 363, 364, 365, 366,
5852
0, 541, 368, 0, 369, 0, 542, 371, 372, 373,
5853
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
5854
381, 382, 0, 0, 383, 384, 385, 386, 387, 388,
5855
0, 389, 390, 0, 0, 391, 392, 393, 394, 395,
5856
396, 0, 397, 156, 157, 158, 159, 160, 161, 162,
5857
163, 837, 164, 165, 0, 0, 0, 0, 0, 0,
5858
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
5859
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
5860
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
5861
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
5862
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
5863
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
5864
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
5865
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
5866
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
5867
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
5868
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
5869
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
5870
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
5871
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
5872
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
5873
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
5874
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
5875
0, 284, 285, 286, 287, 288, 289, 290, 291, 292,
5876
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
5877
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
5878
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
5879
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
5880
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
5881
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
5882
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
5883
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
5884
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
5885
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
5886
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
5887
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
5888
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
5889
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
5890
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
5891
0, 0, 0, 0, 0, 0, 0, 166, 167, 0,
5892
168, 848, 169, 170, 171, 0, 172, 0, 173, 174,
5893
0, 175, 176, 177, 178, 0, 0, 179, 180, 181,
5894
849, 0, 183, 184, 185, 186, 187, 0, 0, 188,
5895
189, 190, 191, 0, 192, 193, 194, 195, 0, 196,
5896
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
5897
201, 202, 203, 204, 205, 206, 207, 0, 208, 0,
5898
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
5899
216, 217, 218, 0, 219, 220, 221, 0, 222, 0,
5900
223, 224, 225, 226, 227, 228, 229, 0, 230, 231,
5901
232, 0, 233, 0, 234, 0, 0, 0, 235, 236,
5902
0, 237, 238, 0, 239, 0, 240, 241, 242, 0,
5903
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
5904
0, 251, 252, 253, 254, 255, 256, 257, 0, 258,
5905
0, 259, 0, 0, 260, 0, 261, 262, 263, 264,
5906
265, 0, 266, 0, 267, 0, 0, 268, 269, 270,
5907
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
5908
279, 280, 532, 282, 0, 283, 0, 284, 285, 286,
5909
287, 288, 289, 290, 291, 292, 0, 293, 294, 0,
5910
295, 0, 296, 297, 298, 299, 0, 0, 300, 0,
5911
0, 0, 301, 302, 0, 0, 303, 0, 0, 304,
5912
305, 306, 307, 0, 308, 309, 310, 311, 312, 0,
5913
313, 314, 315, 316, 317, 318, 319, 320, 0, 321,
5914
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
5915
0, 533, 333, 334, 335, 336, 337, 338, 339, 340,
5916
341, 0, 342, 343, 840, 0, 345, 346, 347, 348,
5917
0, 349, 350, 0, 351, 352, 353, 354, 355, 356,
5918
357, 358, 359, 360, 0, 361, 362, 0, 363, 364,
5919
365, 366, 0, 535, 368, 0, 369, 0, 536, 371,
5920
372, 373, 0, 374, 375, 376, 377, 378, 0, 0,
5921
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
5922
387, 388, 0, 389, 390, 0, 0, 391, 392, 393,
5923
394, 395, 396, 0, 397, 156, 157, 158, 159, 160,
5924
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
5925
0, 1934, 0, 166, 167, 0, 168, 0, 169, 170,
5926
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
5927
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
5928
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
5929
192, 193, 194, 195, 0, 196, 197, 198, 0, 199,
5930
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
5931
205, 206, 207, 0, 208, 0, 209, 210, 211, 212,
5932
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
5933
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
5934
227, 228, 229, 0, 230, 231, 232, 0, 233, 0,
5935
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
5936
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
5937
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
5938
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
5939
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
5940
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
5941
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
5942
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
5943
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
5944
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
5945
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
5946
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
5947
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
5948
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
5949
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
5950
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
5951
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
5952
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
5953
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
5954
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
5955
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
5956
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
5957
397, 156, 157, 158, 159, 160, 161, 162, 163, 0,
5958
164, 165, 0, 0, 0, 0, 0, 1948, 0, 166,
5959
167, 0, 168, 0, 169, 170, 171, 0, 172, 0,
5960
173, 174, 0, 175, 176, 177, 178, 0, 0, 179,
5961
180, 181, 182, 0, 183, 184, 185, 186, 187, 0,
5962
0, 188, 189, 190, 191, 0, 192, 193, 194, 195,
5963
0, 196, 197, 198, 0, 199, 0, 0, 0, 0,
5964
0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
5965
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
5966
0, 215, 216, 217, 218, 0, 219, 220, 221, 0,
5967
222, 0, 223, 224, 225, 226, 227, 228, 229, 0,
5968
230, 231, 232, 0, 233, 0, 234, 0, 0, 0,
5969
235, 236, 0, 237, 238, 0, 239, 0, 240, 241,
5970
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
5971
250, 0, 0, 251, 252, 253, 254, 255, 256, 257,
5972
0, 258, 0, 259, 0, 0, 260, 0, 261, 262,
5973
263, 264, 265, 0, 266, 0, 267, 0, 0, 268,
5974
269, 270, 0, 0, 271, 272, 273, 274, 275, 276,
5975
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
5976
285, 286, 287, 288, 289, 290, 291, 292, 0, 293,
5977
294, 0, 295, 0, 296, 297, 298, 299, 0, 0,
5978
300, 0, 0, 0, 301, 302, 0, 0, 303, 0,
5979
0, 304, 305, 306, 307, 0, 308, 309, 310, 311,
5980
312, 0, 313, 314, 315, 316, 317, 318, 319, 320,
5981
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
5982
330, 331, 0, 332, 333, 334, 335, 336, 337, 338,
5983
339, 340, 341, 0, 342, 343, 344, 0, 345, 346,
5984
347, 348, 0, 349, 350, 0, 351, 352, 353, 354,
5985
355, 356, 357, 358, 359, 360, 0, 361, 362, 0,
5986
363, 364, 365, 366, 0, 367, 368, 0, 369, 0,
5987
370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
5988
0, 0, 379, 380, 381, 382, 0, 0, 383, 384,
5989
385, 386, 387, 388, 0, 389, 390, 0, 0, 391,
5990
392, 393, 394, 395, 396, 0, 397, 156, 157, 158,
5991
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
5992
0, 0, 0, 0, 0, 166, 167, 0, 168, 0,
5993
169, 170, 171, 0, 172, 0, 173, 174, 0, 175,
5994
176, 177, 178, 0, 0, 179, 180, 181, 182, 0,
5995
183, 184, 185, 186, 187, 0, 0, 188, 189, 190,
5996
191, 0, 192, 193, 194, 195, 0, 196, 197, 198,
5997
0, 199, 0, 0, 0, 0, 0, 200, 201, 202,
5998
203, 204, 205, 206, 207, 0, 208, 0, 209, 210,
5999
211, 212, 213, 0, 214, 0, 0, 215, 216, 217,
6000
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
6001
225, 226, 227, 228, 229, 0, 230, 231, 232, 0,
6002
233, 0, 234, 0, 0, 0, 235, 236, 0, 237,
6003
238, 1963, 239, 0, 240, 241, 242, 0, 243, 244,
6004
245, 0, 246, 247, 248, 249, 250, 0, 0, 251,
6005
252, 253, 254, 255, 256, 257, 0, 258, 0, 259,
6006
0, 0, 260, 0, 261, 262, 263, 264, 265, 0,
6007
266, 0, 267, 0, 0, 268, 269, 270, 0, 0,
6008
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
6009
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
6010
289, 290, 291, 292, 0, 293, 294, 0, 295, 0,
6011
296, 297, 298, 299, 0, 0, 300, 0, 0, 0,
6012
301, 302, 0, 0, 303, 0, 0, 304, 305, 306,
6013
307, 0, 308, 309, 310, 311, 312, 0, 313, 314,
6014
315, 316, 317, 318, 319, 320, 0, 321, 322, 323,
6015
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
6016
333, 334, 335, 336, 337, 338, 339, 340, 341, 0,
6017
342, 343, 344, 0, 345, 346, 347, 348, 0, 349,
6018
350, 0, 351, 352, 353, 354, 355, 356, 357, 358,
6019
359, 360, 0, 361, 362, 0, 363, 364, 365, 366,
6020
0, 367, 368, 0, 369, 0, 370, 371, 372, 373,
6021
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
6022
381, 382, 0, 0, 383, 384, 385, 386, 387, 388,
6023
0, 389, 390, 0, 0, 391, 392, 393, 394, 395,
6024
396, 0, 397, 156, 157, 158, 159, 160, 161, 162,
6025
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
6026
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
6027
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
6028
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
6029
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
6030
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
6031
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
6032
207, 2427, 208, 0, 209, 210, 211, 212, 213, 0,
6033
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
6034
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
6035
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
6036
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
6037
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
6038
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
6039
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
6040
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
6041
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
6042
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
6043
0, 284, 285, 286, 287, 288, 289, 290, 291, 292,
6044
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
6045
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
6046
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
6047
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
6048
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
6049
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
6050
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
6051
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
6052
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
6053
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
6054
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
6055
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
6056
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
6057
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
6058
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
6059
0, 0, 0, 0, 0, 0, 0, 166, 167, 0,
6060
168, 0, 169, 170, 171, 0, 172, 0, 173, 174,
6061
0, 175, 176, 177, 178, 0, 0, 179, 180, 181,
6062
182, 0, 183, 184, 185, 186, 187, 0, 0, 188,
6063
189, 190, 191, 0, 192, 193, 194, 195, 0, 196,
6064
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
6065
201, 202, 203, 204, 205, 206, 207, 2429, 208, 0,
6066
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
6067
216, 217, 218, 0, 219, 220, 221, 0, 222, 0,
6068
223, 224, 225, 226, 227, 228, 229, 0, 230, 231,
6069
232, 0, 233, 0, 234, 0, 0, 0, 235, 236,
6070
0, 237, 238, 0, 239, 0, 240, 241, 242, 0,
6071
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
6072
0, 251, 252, 253, 254, 255, 256, 257, 0, 258,
6073
0, 259, 0, 0, 260, 0, 261, 262, 263, 264,
6074
265, 0, 266, 0, 267, 0, 0, 268, 269, 270,
6075
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
6076
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
6077
287, 288, 289, 290, 291, 292, 0, 293, 294, 0,
6078
295, 0, 296, 297, 298, 299, 0, 0, 300, 0,
6079
0, 0, 301, 302, 0, 0, 303, 0, 0, 304,
6080
305, 306, 307, 0, 308, 309, 310, 311, 312, 0,
6081
313, 314, 315, 316, 317, 318, 319, 320, 0, 321,
6082
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
6083
0, 332, 333, 334, 335, 336, 337, 338, 339, 340,
6084
341, 0, 342, 343, 344, 0, 345, 346, 347, 348,
6085
0, 349, 350, 0, 351, 352, 353, 354, 355, 356,
6086
357, 358, 359, 360, 0, 361, 362, 0, 363, 364,
6087
365, 366, 0, 367, 368, 0, 369, 0, 370, 371,
6088
372, 373, 0, 374, 375, 376, 377, 378, 0, 0,
6089
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
6090
387, 388, 0, 389, 390, 0, 0, 391, 392, 393,
6091
394, 395, 396, 0, 397, 156, 157, 158, 159, 160,
6092
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
6093
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
6094
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
6095
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
6096
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
6097
192, 193, 194, 195, 0, 196, 197, 198, 0, 199,
6098
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
6099
205, 206, 207, 2431, 208, 0, 209, 210, 211, 212,
6100
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
6101
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
6102
227, 228, 229, 0, 230, 231, 232, 0, 233, 0,
6103
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
6104
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
6105
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
6106
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
6107
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
6108
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
6109
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
6110
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
6111
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
6112
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
6113
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
6114
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
6115
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
6116
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
6117
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
6118
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
6119
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
6120
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
6121
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
6122
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
6123
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
6124
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
6125
397, 156, 157, 158, 159, 160, 161, 162, 163, 0,
6126
164, 165, 0, 0, 0, 0, 0, 0, 0, 166,
6127
167, 0, 168, 0, 169, 170, 171, 0, 172, 0,
6128
173, 174, 0, 175, 176, 177, 178, 0, 0, 179,
6129
180, 181, 182, 0, 183, 184, 185, 186, 187, 0,
6130
0, 188, 189, 190, 191, 0, 192, 193, 194, 195,
6131
0, 196, 197, 198, 0, 199, 0, 0, 0, 0,
6132
0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
6133
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
6134
0, 215, 216, 217, 218, 0, 219, 220, 221, 0,
6135
222, 0, 223, 224, 225, 226, 227, 228, 229, 0,
6136
230, 231, 232, 0, 233, 0, 234, 0, 0, 0,
6137
235, 236, 0, 237, 238, 0, 239, 0, 240, 241,
6138
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
6139
250, 0, 0, 251, 252, 253, 254, 255, 256, 257,
6140
0, 258, 0, 259, 0, 0, 260, 0, 261, 262,
6141
263, 264, 265, 0, 266, 0, 267, 0, 0, 268,
6142
269, 270, 0, 0, 271, 272, 273, 274, 275, 276,
6143
277, 278, 279, 280, 281, 282, 0, 283, 0, 284,
6144
285, 286, 287, 288, 289, 290, 291, 292, 0, 293,
6145
294, 0, 295, 0, 296, 297, 298, 299, 0, 0,
6146
300, 0, 0, 0, 301, 302, 0, 0, 303, 0,
6147
0, 304, 305, 306, 307, 0, 308, 309, 310, 311,
6148
312, 0, 313, 314, 315, 316, 317, 318, 319, 320,
6149
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
6150
330, 331, 0, 332, 333, 334, 335, 336, 337, 338,
6151
339, 340, 341, 0, 342, 343, 344, 0, 345, 346,
6152
347, 348, 0, 349, 350, 0, 351, 352, 353, 354,
6153
355, 356, 357, 358, 359, 360, 0, 361, 362, 0,
6154
363, 364, 365, 366, 0, 367, 368, 0, 369, 0,
6155
370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
6156
0, 0, 379, 380, 381, 382, 0, 2657, 383, 384,
6157
385, 386, 387, 388, 0, 389, 390, 0, 0, 391,
6158
392, 393, 394, 395, 396, 0, 397, 156, 157, 158,
6159
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
6160
0, 0, 0, 0, 0, 166, 167, 0, 168, 0,
6161
169, 170, 171, 0, 172, 0, 173, 174, 0, 175,
6162
176, 177, 178, 0, 0, 179, 180, 181, 182, 0,
6163
183, 184, 185, 186, 187, 0, 0, 188, 189, 190,
6164
191, 0, 192, 193, 194, 195, 0, 196, 197, 198,
6165
0, 199, 0, 0, 0, 0, 0, 200, 201, 202,
6166
203, 204, 205, 206, 207, 0, 208, 0, 209, 210,
6167
211, 212, 213, 0, 214, 0, 0, 215, 216, 217,
6168
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
6169
225, 226, 227, 228, 229, 0, 230, 231, 232, 0,
6170
233, 0, 234, 0, 0, 0, 235, 236, 0, 237,
6171
238, 0, 239, 0, 240, 241, 242, 0, 243, 244,
6172
245, 0, 246, 247, 248, 249, 250, 0, 0, 251,
6173
252, 253, 254, 255, 256, 257, 0, 258, 0, 259,
6174
0, 0, 260, 0, 261, 262, 263, 264, 265, 0,
6175
266, 0, 267, 0, 0, 268, 269, 270, 0, 0,
6176
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
6177
281, 282, 0, 283, 0, 284, 285, 286, 287, 288,
6178
289, 290, 291, 292, 0, 293, 294, 0, 295, 0,
6179
296, 297, 298, 299, 0, 0, 300, 0, 0, 0,
6180
301, 302, 0, 0, 303, 0, 0, 304, 305, 306,
6181
307, 0, 308, 309, 310, 311, 312, 0, 313, 314,
6182
315, 316, 317, 318, 319, 320, 0, 321, 322, 323,
6183
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
6184
333, 334, 335, 336, 337, 338, 339, 340, 341, 0,
6185
342, 343, 344, 0, 345, 346, 347, 348, 0, 349,
6186
350, 0, 351, 352, 353, 354, 355, 356, 357, 358,
6187
359, 360, 0, 361, 362, 0, 363, 364, 365, 366,
6188
0, 367, 368, 0, 369, 0, 370, 371, 372, 373,
6189
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
6190
381, 382, 0, 0, 383, 384, 385, 386, 387, 388,
6191
0, 389, 390, 0, 0, 391, 392, 393, 394, 395,
6192
396, 0, 397, 156, 157, 158, 159, 160, 161, 162,
6193
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
6194
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
6195
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
6196
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
6197
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
6198
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
6199
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
6200
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
6201
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
6202
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
6203
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
6204
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
6205
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
6206
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
6207
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
6208
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
6209
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
6210
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
6211
0, 284, 285, 286, 287, 288, 289, 290, 291, 292,
6212
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
6213
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
6214
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
6215
310, 441, 312, 0, 313, 314, 315, 316, 317, 318,
6216
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
6217
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
6218
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
6219
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
6220
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
6221
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
6222
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
6223
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
6224
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
6225
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
6226
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
6227
0, 0, 0, 0, 0, 0, 0, 166, 167, 0,
6228
168, 0, 169, 170, 171, 0, 172, 0, 173, 174,
6229
0, 175, 176, 177, 178, 0, 0, 179, 180, 181,
6230
182, 0, 183, 184, 185, 186, 187, 0, 0, 188,
6231
189, 190, 191, 0, 192, 193, 194, 195, 0, 196,
6232
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
6233
201, 202, 203, 204, 205, 206, 207, 0, 208, 0,
6234
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
6235
216, 217, 218, 0, 219, 220, 221, 0, 222, 0,
6236
223, 224, 225, 226, 227, 228, 229, 0, 230, 231,
6237
232, 0, 233, 0, 234, 0, 0, 0, 235, 236,
6238
0, 237, 238, 0, 239, 0, 240, 241, 242, 0,
6239
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
6240
0, 251, 252, 253, 254, 255, 256, 257, 0, 258,
6241
0, 259, 0, 0, 260, 0, 261, 262, 263, 264,
6242
265, 0, 266, 0, 267, 0, 0, 268, 269, 270,
6243
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
6244
279, 280, 281, 282, 0, 283, 0, 284, 285, 286,
6245
287, 288, 289, 290, 291, 292, 0, 293, 294, 0,
6246
295, 0, 296, 297, 298, 299, 0, 0, 300, 0,
6247
0, 0, 301, 302, 0, 0, 303, 0, 0, 304,
6248
305, 306, 307, 0, 308, 309, 310, 311, 312, 0,
6249
313, 314, 315, 316, 317, 318, 319, 320, 0, 321,
6250
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
6251
0, 332, 333, 334, 335, 336, 337, 338, 339, 340,
6252
341, 0, 342, 343, 344, 0, 345, 346, 347, 348,
6253
0, 349, 350, 0, 351, 352, 353, 354, 355, 356,
6254
357, 358, 359, 360, 0, 361, 362, 0, 363, 364,
6255
365, 366, 0, 367, 368, 0, 369, 0, 505, 371,
6256
372, 373, 0, 374, 375, 376, 377, 378, 0, 0,
6257
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
6258
387, 388, 0, 389, 390, 0, 0, 391, 392, 393,
6259
394, 395, 396, 0, 397, 156, 157, 158, 159, 160,
6260
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
6261
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
6262
171, 0, 172, 0, 173, 174, 0, 175, 176, 177,
6263
178, 0, 0, 179, 180, 181, 182, 0, 183, 184,
6264
185, 186, 187, 0, 0, 188, 189, 190, 191, 0,
6265
192, 193, 194, 195, 0, 196, 197, 198, 0, 199,
6266
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
6267
205, 206, 207, 0, 208, 0, 209, 210, 211, 212,
6268
213, 0, 214, 0, 0, 215, 216, 217, 218, 0,
6269
219, 220, 221, 0, 222, 0, 223, 224, 225, 226,
6270
227, 228, 229, 0, 230, 231, 232, 0, 233, 0,
6271
234, 0, 0, 0, 235, 236, 0, 237, 238, 0,
6272
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
6273
246, 247, 248, 249, 250, 0, 0, 251, 252, 253,
6274
254, 255, 256, 257, 0, 258, 0, 259, 0, 0,
6275
260, 0, 261, 262, 263, 264, 265, 0, 266, 0,
6276
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
6277
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
6278
0, 283, 0, 284, 285, 286, 287, 288, 289, 290,
6279
291, 292, 0, 293, 294, 0, 295, 0, 296, 297,
6280
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
6281
0, 0, 303, 0, 0, 304, 305, 306, 307, 0,
6282
308, 309, 310, 311, 312, 0, 313, 314, 315, 316,
6283
317, 318, 319, 320, 0, 321, 322, 323, 324, 325,
6284
326, 327, 328, 329, 330, 331, 0, 332, 333, 334,
6285
335, 336, 512, 338, 339, 340, 341, 0, 342, 343,
6286
344, 0, 345, 346, 347, 348, 0, 349, 350, 0,
6287
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
6288
0, 361, 362, 0, 363, 364, 365, 366, 0, 367,
6289
368, 0, 369, 0, 370, 371, 372, 373, 0, 374,
6290
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
6291
0, 0, 383, 384, 385, 386, 387, 388, 0, 389,
6292
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
6293
397, 156, 157, 158, 159, 160, 161, 162, 163, 0,
6294
164, 165, 0, 0, 0, 0, 0, 0, 0, 166,
6295
167, 0, 168, 0, 169, 170, 171, 0, 172, 0,
6296
173, 174, 0, 175, 176, 177, 178, 0, 0, 179,
6297
180, 181, 182, 0, 183, 184, 185, 186, 187, 0,
6298
0, 188, 189, 190, 191, 0, 530, 193, 194, 195,
6299
0, 196, 197, 198, 0, 199, 0, 0, 0, 0,
6300
0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
6301
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
6302
0, 215, 216, 217, 218, 0, 219, 220, 221, 0,
6303
222, 0, 223, 224, 225, 226, 227, 228, 229, 0,
6304
230, 231, 232, 0, 233, 0, 234, 0, 0, 0,
6305
235, 236, 0, 237, 238, 0, 239, 0, 240, 241,
6306
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
6307
250, 0, 0, 251, 252, 253, 254, 255, 256, 257,
6308
0, 258, 0, 259, 0, 0, 260, 0, 261, 262,
6309
263, 264, 265, 0, 266, 0, 267, 0, 0, 268,
6310
269, 531, 0, 0, 271, 272, 273, 274, 275, 276,
6311
277, 278, 279, 280, 532, 282, 0, 283, 0, 284,
6312
285, 286, 287, 288, 289, 290, 291, 292, 0, 293,
6313
294, 0, 295, 0, 296, 297, 298, 299, 0, 0,
6314
300, 0, 0, 0, 301, 302, 0, 0, 303, 0,
6315
0, 304, 305, 306, 307, 0, 308, 309, 310, 311,
6316
312, 0, 313, 314, 315, 316, 317, 318, 319, 320,
6317
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
6318
330, 331, 0, 533, 333, 334, 335, 336, 337, 338,
6319
339, 340, 341, 0, 342, 343, 534, 0, 345, 346,
6320
347, 348, 0, 349, 350, 0, 351, 352, 353, 354,
6321
355, 356, 357, 358, 359, 360, 0, 361, 362, 0,
6322
363, 364, 365, 366, 0, 535, 368, 0, 369, 0,
6323
536, 371, 372, 373, 0, 374, 375, 376, 377, 378,
6324
0, 0, 379, 380, 381, 382, 0, 0, 383, 384,
6325
385, 386, 387, 388, 0, 389, 390, 0, 0, 391,
6326
392, 393, 394, 395, 396, 0, 397, 156, 157, 158,
6327
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
6328
0, 0, 0, 0, 0, 166, 167, 0, 168, 0,
6329
169, 170, 171, 0, 172, 0, 173, 174, 0, 175,
6330
176, 177, 178, 0, 0, 179, 180, 181, 182, 0,
6331
183, 184, 185, 186, 187, 0, 0, 188, 189, 190,
6332
191, 0, 192, 193, 194, 195, 0, 196, 197, 198,
6333
0, 199, 0, 0, 0, 0, 0, 200, 201, 202,
6334
203, 204, 205, 206, 207, 0, 208, 0, 209, 210,
6335
211, 212, 213, 0, 214, 0, 0, 215, 216, 217,
6336
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
6337
225, 226, 227, 228, 229, 0, 230, 231, 232, 0,
6338
233, 0, 234, 0, 0, 0, 235, 236, 0, 237,
6339
238, 0, 239, 0, 240, 241, 242, 0, 243, 244,
6340
245, 0, 246, 247, 248, 249, 250, 0, 0, 251,
6341
252, 253, 254, 255, 256, 257, 0, 258, 0, 259,
6342
0, 0, 260, 0, 261, 262, 263, 264, 265, 0,
6343
266, 0, 267, 0, 0, 268, 269, 270, 0, 0,
6344
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
6345
532, 282, 0, 283, 0, 284, 285, 286, 287, 288,
6346
289, 290, 291, 292, 0, 293, 294, 0, 295, 0,
6347
296, 297, 298, 299, 0, 0, 300, 0, 0, 0,
6348
301, 302, 0, 0, 303, 0, 0, 304, 305, 306,
6349
307, 0, 308, 309, 310, 311, 312, 0, 313, 314,
6350
315, 316, 317, 318, 319, 320, 0, 321, 322, 323,
6351
324, 325, 326, 327, 328, 329, 330, 331, 0, 533,
6352
333, 334, 335, 336, 337, 338, 339, 340, 341, 0,
6353
342, 343, 840, 0, 345, 346, 347, 348, 0, 349,
6354
350, 0, 351, 352, 353, 354, 355, 356, 357, 358,
6355
359, 360, 0, 361, 362, 0, 363, 364, 365, 366,
6356
0, 535, 368, 0, 369, 0, 536, 371, 372, 373,
6357
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
6358
381, 382, 0, 0, 383, 384, 385, 386, 387, 388,
6359
0, 389, 390, 0, 0, 391, 392, 393, 394, 395,
6360
396, 0, 397, 156, 157, 158, 159, 160, 161, 162,
6361
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
6362
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
6363
172, 0, 173, 174, 0, 175, 176, 177, 178, 0,
6364
0, 179, 180, 181, 182, 0, 183, 184, 185, 186,
6365
187, 0, 0, 188, 189, 190, 191, 0, 192, 193,
6366
194, 195, 0, 196, 197, 198, 0, 199, 0, 0,
6367
0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
6368
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
6369
214, 0, 0, 215, 216, 217, 218, 0, 219, 220,
6370
221, 0, 222, 0, 223, 224, 225, 226, 227, 228,
6371
229, 0, 230, 231, 232, 0, 233, 0, 234, 0,
6372
0, 0, 235, 236, 0, 237, 238, 0, 239, 0,
6373
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
6374
248, 249, 250, 0, 0, 251, 252, 253, 254, 255,
6375
256, 257, 0, 258, 0, 259, 0, 0, 260, 0,
6376
261, 262, 263, 264, 265, 0, 266, 0, 267, 0,
6377
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
6378
275, 276, 277, 278, 279, 280, 281, 282, 0, 283,
6379
0, 284, 285, 286, 287, 288, 289, 290, 291, 292,
6380
0, 293, 294, 0, 295, 0, 296, 297, 298, 299,
6381
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
6382
303, 0, 0, 304, 305, 306, 307, 0, 308, 309,
6383
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
6384
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
6385
328, 329, 330, 331, 0, 332, 333, 334, 335, 336,
6386
1184, 338, 339, 340, 341, 0, 342, 343, 344, 0,
6387
345, 346, 347, 348, 0, 349, 350, 0, 351, 352,
6388
353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
6389
362, 0, 363, 364, 365, 366, 0, 367, 368, 0,
6390
369, 0, 370, 371, 372, 373, 0, 374, 375, 376,
6391
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
6392
383, 384, 385, 386, 387, 388, 0, 389, 390, 0,
6393
0, 391, 392, 393, 394, 395, 396, 0, 397, 156,
6394
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
6395
0, 0, 0, 0, 0, 0, 0, 166, 167, 0,
6396
168, 0, 169, 170, 171, 0, 1057, 0, 1058, 1059,
6397
0, 175, 176, 177, 178, 0, 0, 179, 1060, 1061,
6398
182, 0, 183, 184, 185, 186, 0, 0, 0, 188,
6399
189, 190, 191, 0, 192, 193, 0, 195, 0, 196,
6400
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
6401
201, 202, 203, 204, 1062, 1063, 207, 0, 208, 0,
6402
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
6403
763, 217, 218, 0, 219, 220, 221, 0, 222, 0,
6404
223, 224, 225, 0, 227, 228, 0, 0, 230, 231,
6405
1064, 0, 233, 0, 234, 0, 0, 0, 235, 236,
6406
0, 237, 0, 0, 239, 0, 240, 241, 242, 0,
6407
243, 244, 245, 1373, 246, 247, 248, 249, 250, 0,
6408
0, 1374, 252, 253, 254, 255, 1065, 1066, 0, 1067,
6409
0, 259, 0, 0, 260, 0, 261, 262, 263, 264,
6410
265, 0, 0, 0, 267, 0, 0, 268, 269, 270,
6411
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
6412
279, 280, 281, 1068, 0, 1069, 0, 284, 285, 286,
6413
287, 288, 289, 290, 0, 292, 0, 293, 294, 0,
6414
295, 0, 0, 1070, 298, 299, 0, 0, 300, 0,
6415
0, 0, 301, 302, 0, 0, 1375, 0, 0, 0,
6416
305, 306, 307, 0, 0, 0, 310, 311, 312, 0,
6417
313, 314, 315, 316, 317, 318, 1071, 320, 0, 321,
6418
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
6419
0, 332, 333, 0, 335, 336, 337, 338, 339, 340,
6420
341, 0, 342, 343, 344, 0, 345, 1376, 347, 348,
6421
0, 349, 1073, 0, 351, 352, 353, 354, 355, 356,
6422
357, 358, 0, 360, 0, 361, 362, 0, 363, 364,
6423
365, 366, 0, 1074, 1075, 0, 369, 0, 370, 0,
6424
372, 0, 0, 374, 375, 376, 377, 378, 0, 0,
6425
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
6426
1076, 388, 0, 389, 390, 0, 0, 391, 392, 393,
6427
394, 395, 396, 0, 1077, 156, 157, 158, 159, 160,
6428
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
6429
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
6430
171, 0, 1057, 0, 1058, 1059, 0, 175, 176, 177,
6431
178, 0, 0, 179, 1060, 1061, 182, 0, 183, 184,
6432
185, 186, 0, 0, 0, 188, 189, 190, 191, 0,
6433
192, 193, 0, 195, 0, 196, 197, 198, 0, 199,
6434
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
6435
1062, 1063, 207, 0, 208, 0, 209, 210, 211, 212,
6436
213, 0, 214, 0, 0, 215, 763, 217, 218, 0,
6437
219, 220, 221, 0, 222, 0, 223, 224, 225, 0,
6438
227, 228, 0, 0, 230, 231, 1064, 0, 233, 0,
6439
234, 0, 0, 0, 235, 236, 0, 237, 0, 0,
6440
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
6441
246, 247, 248, 249, 250, 0, 0, 0, 252, 253,
6442
254, 255, 1065, 1066, 0, 1067, 0, 259, 0, 0,
6443
260, 0, 261, 262, 263, 264, 265, 0, 0, 0,
6444
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
6445
273, 274, 275, 276, 277, 278, 279, 280, 281, 1068,
6446
0, 1069, 0, 284, 285, 286, 287, 288, 289, 290,
6447
1399, 292, 0, 293, 294, 0, 295, 0, 0, 1070,
6448
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
6449
0, 0, 0, 0, 0, 0, 305, 306, 307, 0,
6450
0, 0, 310, 311, 312, 0, 313, 314, 315, 316,
6451
317, 318, 1071, 320, 0, 321, 322, 323, 324, 325,
6452
326, 327, 328, 329, 330, 331, 0, 332, 333, 0,
6453
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
6454
344, 0, 345, 1072, 347, 348, 0, 349, 1073, 0,
6455
351, 352, 353, 354, 355, 356, 357, 358, 0, 360,
6456
0, 361, 362, 0, 363, 364, 365, 366, 0, 1074,
6457
1075, 0, 369, 0, 370, 0, 372, 0, 0, 374,
6458
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
6459
0, 0, 383, 384, 385, 386, 1076, 388, 0, 389,
6460
390, 0, 0, 391, 392, 393, 394, 395, 396, 0,
6461
1077, 156, 157, 158, 159, 160, 161, 162, 163, 0,
6462
164, 165, 0, 0, 0, 0, 0, 0, 0, 166,
6463
167, 0, 168, 0, 169, 170, 171, 0, 1057, 0,
6464
1058, 1059, 0, 175, 176, 177, 178, 0, 0, 179,
6465
1060, 1061, 182, 0, 183, 184, 185, 186, 0, 0,
6466
0, 188, 189, 190, 191, 0, 192, 193, 0, 195,
6467
0, 196, 197, 198, 0, 199, 0, 0, 0, 0,
6468
0, 200, 201, 202, 203, 204, 1062, 1063, 207, 0,
6469
208, 0, 209, 210, 211, 212, 213, 0, 214, 0,
6470
0, 215, 763, 217, 218, 0, 219, 220, 221, 0,
6471
222, 0, 223, 224, 225, 0, 227, 228, 0, 0,
6472
230, 231, 1064, 0, 233, 0, 234, 0, 0, 0,
6473
235, 236, 0, 237, 0, 0, 239, 0, 240, 241,
6474
242, 0, 243, 244, 245, 0, 246, 247, 248, 249,
6475
250, 0, 0, 0, 252, 253, 254, 255, 1065, 1066,
6476
0, 1067, 0, 259, 0, 0, 260, 0, 261, 262,
6477
263, 264, 265, 0, 0, 0, 267, 0, 0, 268,
6478
269, 270, 0, 0, 271, 272, 273, 274, 275, 276,
6479
277, 278, 279, 280, 281, 1068, 0, 1069, 0, 284,
6480
285, 286, 287, 288, 289, 290, 2138, 292, 0, 293,
6481
294, 0, 295, 0, 0, 1070, 298, 299, 0, 0,
6482
300, 0, 0, 0, 301, 302, 0, 0, 0, 0,
6483
0, 0, 305, 306, 307, 0, 0, 0, 310, 311,
6484
312, 0, 313, 314, 315, 316, 317, 318, 1071, 320,
6485
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
6486
330, 331, 0, 332, 333, 0, 335, 336, 337, 338,
6487
339, 340, 341, 0, 342, 343, 344, 0, 345, 1072,
6488
347, 348, 0, 349, 1073, 0, 351, 352, 353, 354,
6489
355, 356, 357, 358, 0, 360, 0, 361, 362, 0,
6490
363, 364, 365, 366, 0, 1074, 1075, 0, 369, 0,
6491
370, 0, 372, 0, 0, 374, 375, 376, 377, 378,
6492
0, 0, 379, 380, 381, 382, 0, 0, 383, 384,
6493
385, 386, 1076, 388, 0, 389, 390, 0, 0, 391,
6494
392, 393, 394, 395, 396, 0, 1077, 156, 157, 158,
6495
159, 160, 161, 162, 163, 0, 164, 165, 0, 0,
6496
0, 0, 0, 0, 0, 166, 167, 0, 168, 0,
6497
169, 170, 171, 0, 1057, 0, 1058, 1059, 0, 175,
6498
176, 177, 178, 0, 0, 179, 1060, 1061, 182, 0,
6499
183, 184, 185, 186, 0, 0, 0, 188, 189, 190,
6500
191, 0, 192, 193, 0, 195, 0, 196, 197, 198,
6501
0, 199, 0, 0, 0, 0, 0, 200, 201, 202,
6502
203, 204, 1062, 1063, 207, 0, 208, 0, 209, 210,
6503
211, 212, 213, 0, 214, 0, 0, 215, 763, 217,
6504
218, 0, 219, 220, 221, 0, 222, 0, 223, 224,
6505
225, 0, 227, 228, 0, 0, 230, 231, 1064, 0,
6506
233, 0, 234, 0, 0, 0, 235, 236, 0, 237,
6507
0, 0, 239, 0, 240, 241, 242, 0, 243, 244,
6508
245, 0, 246, 247, 248, 249, 250, 0, 0, 0,
6509
252, 253, 254, 255, 1065, 1066, 0, 1067, 0, 259,
6510
0, 0, 260, 0, 261, 262, 263, 264, 265, 0,
6511
0, 0, 267, 0, 0, 268, 269, 270, 0, 0,
6512
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
6513
281, 1068, 0, 1069, 0, 284, 285, 286, 287, 288,
6514
289, 290, 0, 292, 0, 293, 294, 0, 295, 1367,
6515
0, 1070, 298, 299, 0, 0, 300, 0, 0, 0,
6516
301, 302, 0, 0, 0, 0, 0, 0, 305, 306,
6517
307, 0, 0, 0, 310, 311, 312, 0, 313, 314,
6518
315, 316, 317, 318, 1071, 320, 0, 321, 322, 323,
6519
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
6520
333, 0, 335, 336, 337, 338, 339, 340, 341, 0,
6521
342, 343, 344, 0, 345, 1376, 347, 348, 0, 349,
6522
1073, 0, 351, 352, 353, 354, 355, 356, 357, 358,
6523
0, 360, 0, 361, 362, 0, 363, 364, 365, 366,
6524
0, 1074, 1075, 0, 369, 0, 370, 0, 372, 0,
6525
0, 374, 375, 376, 377, 378, 0, 0, 379, 380,
6526
381, 382, 0, 0, 383, 384, 385, 386, 1076, 388,
6527
0, 389, 390, 0, 0, 391, 392, 393, 394, 395,
6528
396, 0, 1077, 156, 157, 158, 159, 160, 161, 162,
6529
163, 0, 164, 165, 0, 0, 0, 0, 0, 0,
6530
0, 166, 167, 0, 168, 0, 169, 170, 171, 0,
6531
1057, 0, 1058, 1059, 0, 175, 176, 177, 178, 0,
6532
0, 179, 1060, 1061, 182, 0, 183, 184, 185, 186,
6533
0, 0, 0, 188, 189, 190, 191, 0, 192, 193,
6534
0, 195, 0, 196, 197, 198, 0, 199, 0, 0,
6535
0, 0, 0, 200, 201, 202, 203, 204, 1062, 1063,
6536
207, 0, 208, 0, 209, 210, 211, 212, 213, 0,
6537
214, 0, 0, 215, 763, 217, 218, 0, 219, 220,
6538
221, 0, 222, 0, 223, 224, 225, 0, 227, 228,
6539
0, 0, 230, 231, 1064, 0, 233, 0, 234, 0,
6540
0, 0, 235, 236, 0, 237, 0, 0, 239, 0,
6541
240, 241, 242, 0, 243, 244, 245, 0, 246, 247,
6542
248, 249, 250, 0, 0, 0, 252, 253, 254, 255,
6543
1065, 1066, 0, 1067, 0, 259, 0, 0, 260, 0,
6544
261, 262, 263, 264, 265, 0, 0, 0, 267, 0,
6545
0, 268, 269, 270, 0, 0, 271, 272, 273, 274,
6546
275, 276, 277, 278, 279, 280, 281, 1068, 0, 1069,
6547
0, 284, 285, 286, 287, 288, 289, 290, 0, 292,
6548
0, 293, 294, 0, 295, 0, 0, 1070, 298, 299,
6549
0, 0, 300, 0, 0, 0, 301, 302, 0, 0,
6550
0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
6551
310, 311, 312, 0, 313, 314, 315, 316, 317, 318,
6552
1071, 320, 0, 321, 322, 323, 324, 325, 326, 327,
6553
328, 329, 330, 331, 0, 332, 333, 0, 335, 336,
6554
337, 338, 339, 340, 341, 0, 342, 343, 344, 0,
6555
345, 1072, 347, 348, 0, 349, 1073, 0, 351, 352,
6556
353, 354, 355, 356, 357, 358, 0, 360, 0, 361,
6557
362, 0, 363, 364, 365, 366, 0, 1074, 1075, 0,
6558
369, 0, 370, 0, 372, 0, 0, 374, 375, 376,
6559
377, 378, 0, 0, 379, 380, 381, 382, 0, 0,
6560
383, 384, 385, 386, 1076, 388, 0, 389, 390, 0,
6561
0, 391, 392, 393, 394, 395, 396, 0, 1077, 156,
6562
157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
6563
0, 0, 0, 0, 0, 0, 0, 166, 167, 0,
6564
168, 0, 169, 170, 171, 0, 1057, 0, 1058, 1059,
6565
0, 175, 176, 177, 178, 0, 0, 179, 1060, 1061,
6566
182, 0, 183, 184, 185, 186, 0, 0, 0, 188,
6567
189, 190, 191, 0, 192, 193, 0, 195, 0, 196,
6568
197, 198, 0, 199, 0, 0, 0, 0, 0, 200,
6569
201, 202, 203, 204, 1062, 1063, 207, 0, 208, 0,
6570
209, 210, 211, 212, 213, 0, 214, 0, 0, 215,
6571
763, 217, 218, 0, 219, 220, 221, 0, 222, 0,
6572
223, 224, 225, 0, 227, 228, 0, 0, 230, 231,
6573
1064, 0, 233, 0, 234, 0, 0, 0, 235, 236,
6574
0, 237, 0, 0, 239, 0, 240, 241, 242, 0,
6575
243, 244, 245, 0, 246, 247, 248, 249, 250, 0,
6576
0, 0, 252, 253, 254, 255, 1065, 1066, 0, 1067,
6577
0, 259, 0, 0, 260, 0, 261, 262, 263, 264,
6578
265, 0, 0, 0, 267, 0, 0, 268, 269, 270,
6579
0, 0, 271, 272, 273, 274, 275, 276, 277, 278,
6580
279, 280, 281, 1068, 0, 1069, 0, 284, 285, 286,
6581
287, 288, 289, 290, 0, 292, 0, 293, 294, 0,
6582
295, 0, 0, 1070, 298, 299, 0, 0, 300, 0,
6583
0, 0, 301, 302, 0, 0, 0, 0, 0, 0,
6584
305, 306, 307, 0, 0, 0, 310, 311, 312, 0,
6585
313, 314, 315, 316, 317, 318, 1071, 320, 0, 321,
6586
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
6587
0, 332, 333, 0, 335, 336, 337, 338, 339, 340,
6588
341, 0, 342, 343, 344, 0, 345, 1376, 347, 348,
6589
0, 349, 1073, 0, 351, 352, 353, 354, 355, 356,
6590
357, 358, 0, 360, 0, 361, 362, 0, 363, 364,
6591
365, 366, 0, 1074, 1075, 0, 369, 0, 370, 0,
6592
372, 0, 0, 374, 375, 376, 377, 378, 0, 0,
6593
379, 380, 381, 382, 0, 0, 383, 384, 385, 386,
6594
1076, 388, 0, 389, 390, 0, 0, 391, 392, 393,
6595
394, 395, 396, 0, 1077, 156, 157, 158, 159, 160,
6596
161, 162, 163, 0, 164, 165, 0, 0, 0, 0,
6597
0, 0, 0, 166, 167, 0, 168, 0, 169, 170,
6598
171, 0, 1057, 0, 1058, 1059, 0, 175, 176, 177,
6599
178, 0, 0, 179, 1060, 1061, 182, 0, 183, 184,
6600
185, 186, 0, 0, 0, 188, 189, 190, 191, 0,
6601
192, 193, 0, 195, 0, 196, 197, 198, 0, 199,
6602
0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
6603
1062, 1063, 207, 0, 208, 0, 209, 210, 211, 212,
6604
213, 0, 214, 0, 0, 215, 763, 217, 218, 0,
6605
219, 220, 221, 0, 222, 0, 223, 224, 225, 0,
6606
227, 228, 0, 0, 230, 231, 1064, 0, 233, 0,
6607
234, 0, 0, 0, 235, 236, 0, 237, 0, 0,
6608
239, 0, 240, 241, 242, 0, 243, 244, 245, 0,
6609
246, 247, 248, 249, 250, 0, 0, 0, 252, 253,
6610
254, 255, 1065, 1066, 0, 1067, 0, 259, 0, 0,
6611
260, 0, 261, 262, 263, 264, 265, 0, 0, 0,
6612
267, 0, 0, 268, 269, 270, 0, 0, 271, 272,
6613
273, 274, 275, 276, 277, 278, 279, 280, 281, 1068,
6614
0, 1069, 0, 284, 285, 286, 287, 288, 289, 290,
6615
0, 292, 0, 293, 294, 0, 295, 0, 0, 1070,
6616
298, 299, 0, 0, 300, 0, 0, 0, 301, 302,
6617
0, 0, 0, 0, 0, 0, 305, 306, 307, 0,
6618
0, 0, 310, 311, 312, 0, 313, 314, 315, 316,
6619
317, 318, 1071, 320, 0, 321, 322, 323, 324, 325,
6620
326, 327, 328, 329, 330, 331, 0, 332, 333, 0,
6621
335, 336, 337, 338, 339, 340, 341, 0, 342, 343,
6622
344, 0, 345, 0, 347, 348, 0, 349, 1073, 0,
6623
351, 352, 353, 354, 355, 356, 357, 358, 0, 360,
6624
445, 361, 362, 0, 363, 364, 365, 366, 0, 1074,
6625
1075, 446, 369, 0, 370, 0, 372, 0, 0, 374,
6626
375, 376, 377, 378, 0, 0, 379, 380, 381, 382,
6627
447, 0, 383, 384, 385, 386, 1076, 388, 0, 389,
6628
390, 0, 414, 391, 392, 393, 394, 395, 396, 448,
6629
1077, 0, 0, 415, 0, 0, 0, 0, 0, 0,
6630
0, 0, 0, 0, 0, 449, 0, 0, 0, 0,
6631
0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
6632
0, 0, 0, 450, 0, 0, 0, 0, 0, 417,
6633
0, -447, 0, 0, 0, 0, 0, 0, 0, 0,
6634
0, 0, 0, 0, 0, 0, 0, 418, 0, 0,
6635
0, 0, 451, 419, 0, 0, 0, 452, 0, 0,
6636
0, 0, 0, 0, 0, 420, 0, 0, 0, 0,
6637
453, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6638
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6639
0, 0, 0, 0, -563, 421, 0, 0, 0, 422,
6640
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6641
0, 0, -549, 0, 0, 0, 0, 0, 0, 0,
6642
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6643
0, 0, 0, 0, -373, 0, 0, 0, 0, 0,
6644
0, 0, 0, 0, 0, 423, 454, 0, 0, 0,
6645
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6646
0, 0, 0, 0, 0, 0, 455, 0, 0, 0,
6647
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6648
0, 0, 0, 0, 0, 456, 0, 0, 424, 457,
6649
425, 458, 0, 0, 0, 0, 459, 0, 0, 0,
6650
0, 0, 0, 0, 0, 0, 0, 0, -373, 0,
6651
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6652
0, 460, 461, 0, 0, 0, 0, 426, 0, 0,
6653
0, -563, 0, 427, 462, 0, 0, 0, 0, 463,
6654
0, 0, 0, 0, 0, 0, 0, 0, 464, 0,
6655
0, 0, 0, 0, 0, 0, 0, 465, 0, 0,
6656
0, 0, 0, 0, 428, 429, 0, 430, 0, 0,
6657
0, 0, 0, 0, 0, 0, 431, 0, 0, 0,
6658
432, 433, 0, 0, 0, 434, 0, 0, 0, 0,
6662
static const short yycheck[] =
6664
0, 501, 694, 43, 424, 12, 146, 670, 0, 1135,
6665
139, 1125, 141, 1113, 677, 39, 1153, 143, 452, 138,
6666
629, 147, 456, 142, 153, 790, 741, 20, 154, 533,
6667
464, 536, 634, 26, 454, 0, 0, 632, 617, 0,
6668
1090, 32, 707, 43, 21, 545, 625, 1459, 1537, 1245,
6669
7, 8, 1705, 1746, 586, 32, 13, 14, 705, 851,
6670
632, 18, 1580, 20, 21, 1718, 418, 1054, 908, 26,
6671
600, 28, 41, 30, 31, 32, 1556, 34, 1187, 36,
6672
37, 1527, 1528, 662, 0, 1102, 1102, 666, 1102, 1102,
6673
1924, 1898, 885, 672, 1102, 1102, 530, 449, 38, 678,
6674
471, 0, 19, 0, 24, 38, 24, 18, 1381, 1382,
6675
531, 596, 11, 534, 11, 1072, 762, 0, 81, 1522,
6676
2041, 752, 753, 0, 2344, 1316, 11, 1199, 1200, 1201,
6677
0, 5, 17, 0, 23, 1207, 1127, 45, 0, 1211,
6678
1212, 86, 807, 86, 52, 776, 1218, 23, 86, 57,
6679
81, 55, 45, 37, 86, 1227, 43, 1229, 120, 11,
6680
7, 7, 137, 38, 57, 17, 2565, 2271, 81, 2273,
6681
1242, 97, 1244, 0, 120, 144, 95, 211, 154, 62,
6682
149, 150, 139, 140, 141, 66, 143, 123, 145, 146,
6683
147, 148, 24, 49, 151, 152, 153, 154, 105, 122,
6684
704, 81, 105, 148, 209, 148, 121, 0, 209, 117,
6685
148, 241, 122, 12, 43, 52, 148, 215, 1885, 1886,
6686
1887, 1888, 257, 81, 117, 109, 646, 86, 214, 144,
6687
24, 105, 24, 83, 19, 127, 95, 173, 156, 157,
6688
121, 124, 18, 852, 159, 83, 205, 104, 95, 95,
6689
2596, 135, 167, 1045, 81, 270, 201, 202, 83, 202,
6690
1247, 11, 11, 144, 158, 120, 84, 17, 22, 62,
6691
331, 224, 24, 84, 257, 224, 2655, 2018, 159, 881,
6692
340, 138, 14, 15, 424, 203, 167, 200, 722, 2509,
6693
885, 420, 265, 216, 31, 414, 422, 43, 830, 359,
6694
426, 2042, 265, 364, 433, 143, 88, 188, 742, 435,
6695
1075, 251, 125, 885, 454, 2694, 134, 270, 251, 120,
6696
265, 270, 265, 134, 359, 233, 445, 265, 1454, 359,
6697
364, 124, 451, 265, 317, 1385, 334, 352, 467, 254,
6698
233, 86, 91, 45, 848, 239, 955, 205, 261, 259,
6699
149, 270, 1044, 2699, 359, 205, 212, 293, 359, 295,
6700
323, 284, 200, 255, 1853, 272, 2765, 251, 252, 272,
6701
1561, 230, 317, 254, 317, 200, 251, 224, 8, 317,
6702
264, 340, 136, 257, 2488, 317, 359, 2308, 364, 364,
6703
309, 327, 277, 23, 278, 2615, 359, 27, 272, 288,
6704
246, 285, 364, 329, 156, 313, 310, 1479, 1522, 340,
6705
40, 41, 288, 344, 359, 117, 359, 1063, 364, 1376,
6706
313, 359, 907, 270, 364, 277, 1118, 2120, 2121, 1060,
6707
1061, 364, 350, 351, 352, 353, 354, 355, 1069, 1851,
6708
1852, 361, 359, 361, 328, 344, 357, 344, 1860, 360,
6709
2117, 362, 351, 364, 351, 1646, 337, 1448, 415, 1054,
6710
340, 418, 299, 420, 363, 422, 363, 424, 889, 426,
6711
427, 428, 359, 602, 431, 444, 433, 360, 435, 472,
6712
363, 474, 1054, 476, 441, 1132, 363, 480, 1761, 446,
6713
1763, 1138, 449, 363, 865, 452, 363, 454, 299, 456,
6714
457, 363, 922, 924, 461, 462, 646, 464, 138, 364,
6715
467, 340, 142, 340, 144, 16, 1588, 636, 1714, 149,
6716
150, 1186, 1187, 355, 643, 158, 655, 277, 949, 361,
6717
359, 233, 1197, 1198, 1937, 2202, 363, 319, 1941, 81,
6718
669, 1381, 1945, 81, 1209, 1210, 331, 332, 38, 76,
6719
507, 364, 509, 1346, 683, 512, 556, 29, 1223, 1224,
6720
352, 353, 354, 355, 556, 86, 685, 360, 697, 361,
6721
363, 181, 317, 530, 531, 132, 533, 534, 91, 325,
6722
123, 357, 1213, 1214, 360, 265, 362, 121, 364, 156,
6723
1704, 556, 556, 11, 340, 556, 2377, 1870, 350, 351,
6724
352, 353, 354, 355, 75, 132, 239, 62, 170, 361,
6725
1114, 313, 120, 359, 62, 1280, 410, 1409, 16, 103,
6726
1412, 1413, 84, 115, 181, 80, 950, 148, 154, 76,
6727
173, 86, 1234, 358, 660, 85, 2470, 115, 45, 364,
6728
556, 1713, 2449, 323, 292, 602, 57, 214, 299, 211,
6729
1923, 106, 1247, 263, 181, 156, 1156, 184, 200, 2440,
6730
291, 133, 200, 257, 246, 137, 692, 249, 152, 140,
6731
81, 56, 134, 91, 81, 1247, 124, 1279, 170, 359,
6732
340, 81, 639, 31, 332, 132, 280, 200, 270, 646,
6733
647, 225, 170, 148, 651, 357, 209, 169, 655, 85,
6734
362, 16, 192, 729, 661, 155, 263, 111, 1758, 709,
6735
239, 505, 669, 364, 99, 216, 299, 709, 1152, 211,
6736
1154, 1155, 331, 1157, 724, 73, 683, 684, 1800, 686,
6737
524, 364, 724, 211, 181, 219, 263, 184, 532, 281,
6738
697, 275, 284, 272, 709, 709, 746, 704, 709, 331,
6739
293, 1346, 295, 153, 2166, 364, 2245, 2538, 156, 2171,
6740
2172, 251, 719, 346, 764, 722, 723, 807, 200, 155,
6741
727, 340, 1096, 173, 1346, 893, 1100, 9, 302, 362,
6742
270, 738, 922, 413, 414, 742, 1110, 744, 317, 200,
6743
359, 176, 1892, 200, 794, 27, 317, 0, 205, 147,
6744
1220, 205, 274, 1875, 1876, 209, 238, 807, 335, 266,
6745
265, 2257, 2292, 931, 444, 445, 263, 302, 216, 290,
6746
291, 451, 354, 1937, 1961, 325, 233, 1941, 312, 232,
6747
362, 1945, 359, 224, 291, 242, 1415, 1416, 52, 224,
6748
340, 156, 343, 57, 192, 346, 347, 348, 333, 350,
6749
351, 352, 353, 354, 355, 246, 882, 1549, 2261, 359,
6750
361, 232, 317, 2266, 494, 36, 1396, 2270, 121, 19,
6751
327, 501, 872, 873, 74, 875, 1893, 1893, 214, 1893,
6752
1893, 511, 1869, 1992, 1318, 1893, 1893, 37, 335, 282,
6753
283, 848, 1539, 1540, 363, 921, 853, 854, 261, 302,
6754
224, 216, 306, 74, 359, 862, 313, 292, 239, 294,
6755
314, 103, 266, 409, 262, 545, 247, 1046, 548, 354,
6756
1760, 1050, 246, 115, 293, 249, 295, 362, 558, 292,
6757
333, 302, 889, 2005, 326, 1582, 267, 291, 338, 339,
6758
340, 437, 224, 2015, 344, 343, 270, 340, 346, 347,
6759
348, 351, 350, 351, 352, 353, 354, 355, 1392, 109,
6760
152, 339, 333, 361, 246, 922, 344, 924, 139, 332,
6761
344, 593, 340, 327, 1639, 1101, 945, 224, 170, 214,
6762
180, 2499, 182, 19, 358, 135, 2398, 31, 270, 2401,
6763
2402, 359, 949, 37, 1659, 617, 1348, 66, 1530, 246,
6764
224, 37, 359, 625, 2200, 635, 636, 331, 2661, 180,
6765
1139, 182, 162, 643, 358, 809, 1042, 2710, 1810, 211,
6766
364, 192, 246, 270, 1816, 1817, 820, 219, 343, 1694,
6767
304, 346, 347, 348, 1153, 350, 351, 352, 353, 354,
6768
355, 1706, 1707, 224, 2737, 224, 361, 2700, 224, 679,
6769
680, 681, 121, 8, 76, 685, 344, 851, 19, 5,
6770
331, 332, 340, 351, 10, 246, 120, 246, 23, 1095,
6771
246, 17, 27, 109, 236, 144, 37, 340, 1870, 250,
6772
1220, 359, 2485, 137, 2573, 40, 340, 33, 359, 1046,
6773
159, 721, 248, 1050, 270, 1052, 359, 359, 167, 135,
6774
1747, 1127, 252, 246, 360, 359, 249, 363, 279, 1135,
6775
132, 741, 331, 332, 264, 37, 2188, 1719, 340, 188,
6776
312, 340, 331, 332, 1164, 1125, 162, 270, 278, 42,
6777
43, 340, 2204, 331, 332, 285, 1143, 359, 59, 2551,
6778
359, 2337, 331, 332, 1101, 214, 1103, 2261, 109, 7,
6779
359, 25, 2266, 340, 932, 13, 2270, 1114, 936, 181,
6780
938, 359, 184, 31, 1164, 2672, 2673, 140, 360, 2676,
6781
44, 2678, 359, 1173, 135, 162, 1133, 355, 328, 1826,
6782
1827, 1173, 1139, 361, 156, 254, 360, 109, 331, 363,
6783
1181, 49, 360, 2243, 149, 1152, 364, 1154, 1155, 67,
6784
1157, 162, 359, 1180, 62, 344, 1711, 1164, 1173, 1173,
6785
732, 733, 1173, 135, 360, 346, 252, 1343, 364, 87,
6786
357, 1347, 359, 1180, 1181, 362, 357, 1184, 264, 235,
6787
860, 362, 90, 339, 102, 1361, 214, 95, 344, 360,
6788
98, 263, 278, 364, 1270, 351, 331, 332, 116, 285,
6789
319, 1251, 360, 360, 359, 1675, 364, 364, 872, 873,
6790
45, 875, 130, 1220, 293, 1391, 295, 1393, 337, 360,
6791
1985, 360, 57, 364, 1869, 364, 560, 1403, 562, 360,
6792
1406, 2046, 2047, 364, 352, 353, 354, 355, 331, 332,
6793
0, 252, 328, 361, 1728, 331, 81, 1869, 83, 25,
6794
360, 1222, 336, 264, 364, 158, 1953, 1433, 1955, 1956,
6795
1436, 362, 1438, 335, 217, 945, 338, 278, 340, 360,
6796
156, 1450, 360, 364, 285, 360, 364, 1456, 1457, 364,
6797
252, 293, 360, 295, 360, 2531, 364, 205, 364, 1986,
6798
217, 2441, 264, 360, 212, 214, 360, 364, 1782, 1951,
6799
364, 360, 62, 1274, 2468, 364, 278, 1638, 143, 1640,
6800
1641, 1318, 336, 285, 1798, 360, 224, 328, 1802, 364,
6801
238, 2485, 299, 1975, 872, 873, 91, 875, 350, 351,
6802
352, 353, 354, 355, 331, 332, 1343, 1344, 2053, 361,
6803
1347, 1348, 214, 103, 360, 1352, 111, 357, 364, 359,
6804
293, 1358, 295, 25, 1361, 115, 328, 1364, 336, 360,
6805
120, 158, 270, 364, 124, 200, 270, 127, 1922, 129,
6806
205, 119, 1448, 360, 360, 2562, 360, 364, 1454, 360,
6807
364, 1729, 1730, 364, 1391, 1392, 1393, 1394, 1395, 35,
6808
1397, 1398, 152, 16, 1470, 352, 1403, 57, 233, 1406,
6809
1407, 1408, 360, 2055, 360, 360, 364, 242, 413, 364,
6810
170, 362, 360, 1420, 1421, 1422, 364, 1424, 1425, 1426,
6811
1427, 1428, 1429, 1430, 360, 359, 1433, 1434, 364, 1436,
6812
1437, 1438, 1522, 1490, 360, 200, 359, 2096, 364, 1942,
6813
205, 1944, 359, 1450, 209, 1125, 1731, 1732, 360, 1456,
6814
1457, 211, 364, 1297, 359, 246, 1136, 1137, 1534, 219,
6815
359, 362, 270, 123, 350, 351, 352, 353, 354, 355,
6816
360, 214, 1522, 1153, 364, 361, 1156, 360, 313, 360,
6817
140, 364, 168, 364, 1491, 1675, 1222, 360, 1168, 494,
6818
360, 364, 2656, 360, 364, 1571, 501, 364, 359, 1506,
6819
1984, 360, 156, 1510, 360, 364, 511, 360, 364, 208,
6820
360, 364, 162, 173, 364, 359, 1523, 45, 360, 2669,
6821
1527, 1528, 364, 359, 331, 19, 25, 25, 224, 162,
6822
1537, 291, 319, 156, 359, 364, 1726, 359, 137, 2252,
6823
545, 306, 19, 548, 214, 214, 116, 1554, 168, 314,
6824
115, 115, 312, 558, 359, 340, 340, 156, 218, 359,
6825
359, 359, 216, 359, 359, 229, 359, 359, 340, 1659,
6826
330, 156, 340, 1580, 340, 222, 359, 359, 2275, 359,
6827
359, 7, 359, 340, 359, 359, 359, 13, 359, 359,
6828
1766, 19, 359, 216, 168, 359, 1276, 357, 2720, 2721,
6829
360, 359, 362, 363, 359, 364, 115, 299, 299, 1659,
6830
362, 1455, 299, 2789, 299, 1459, 299, 216, 214, 264,
6831
299, 205, 1672, 49, 318, 1699, 1700, 292, 299, 364,
6832
635, 216, 299, 293, 261, 295, 62, 1317, 299, 319,
6833
299, 1648, 1692, 299, 304, 52, 299, 214, 300, 304,
6834
1621, 1622, 364, 313, 1704, 1626, 1500, 299, 299, 2143,
6835
2144, 304, 299, 261, 90, 299, 359, 214, 1675, 95,
6836
1514, 7, 98, 214, 679, 680, 681, 13, 14, 19,
6837
1870, 359, 18, 156, 20, 1656, 1657, 331, 18, 343,
6838
26, 359, 28, 347, 348, 325, 350, 351, 352, 353,
6839
354, 355, 1778, 9, 1780, 81, 327, 361, 1715, 176,
6840
1717, 359, 115, 214, 19, 330, 721, 262, 19, 359,
6841
343, 1728, 319, 346, 347, 348, 299, 350, 351, 352,
6842
353, 354, 355, 359, 359, 323, 741, 359, 361, 1746,
6843
204, 120, 359, 1819, 343, 297, 329, 346, 347, 348,
6844
344, 350, 351, 352, 353, 354, 355, 297, 343, 1766,
6845
1767, 1768, 361, 364, 270, 350, 351, 352, 353, 354,
6846
355, 361, 297, 1849, 120, 1782, 361, 2406, 0, 359,
6847
359, 299, 302, 364, 360, 152, 364, 1963, 215, 209,
6848
170, 1798, 1961, 56, 360, 1802, 359, 160, 224, 160,
6849
359, 2498, 214, 205, 205, 205, 220, 1487, 299, 145,
6850
299, 1987, 148, 2528, 261, 151, 152, 360, 364, 35,
6851
246, 2000, 364, 291, 246, 1901, 239, 19, 156, 1509,
6852
16, 156, 319, 156, 212, 1515, 1912, 18, 24, 346,
6853
62, 357, 1522, 29, 270, 357, 1853, 299, 156, 299,
6854
299, 299, 214, 115, 218, 860, 1863, 19, 128, 131,
6855
131, 115, 364, 360, 360, 8, 1916, 1917, 291, 364,
6856
125, 183, 214, 120, 1916, 1917, 364, 35, 360, 360,
6857
1930, 103, 360, 336, 360, 1621, 1622, 1937, 1930, 360,
6858
1626, 1941, 364, 115, 360, 1945, 336, 360, 120, 2369,
6859
360, 360, 124, 360, 360, 127, 360, 129, 216, 360,
6860
120, 1918, 336, 299, 360, 1922, 2613, 360, 359, 170,
6861
1656, 1657, 1998, 1973, 1931, 359, 359, 1934, 360, 359,
6862
152, 1973, 146, 224, 170, 316, 216, 205, 226, 226,
6863
299, 1948, 299, 360, 156, 360, 357, 133, 170, 156,
6864
156, 137, 360, 1797, 263, 184, 1963, 214, 2034, 170,
6865
309, 360, 346, 248, 359, 106, 360, 1974, 364, 212,
6866
156, 157, 2048, 299, 212, 319, 359, 1984, 360, 214,
6867
1987, 159, 159, 169, 221, 359, 217, 360, 105, 211,
6868
105, 2081, 357, 2000, 2478, 2071, 101, 219, 120, 115,
6869
360, 43, 127, 361, 2488, 360, 360, 1851, 1852, 2083,
6870
2084, 2085, 2086, 360, 200, 360, 1860, 203, 1698, 360,
6871
359, 359, 299, 1867, 1704, 299, 1870, 261, 146, 2771,
6872
216, 2081, 218, 2583, 309, 343, 156, 156, 346, 347,
6873
348, 299, 350, 351, 352, 353, 354, 355, 156, 299,
6874
299, 2022, 359, 361, 2025, 2026, 2027, 2028, 2029, 2030,
6875
2031, 2032, 2033, 343, 2035, 360, 346, 347, 348, 291,
6876
350, 351, 352, 353, 354, 355, 358, 1921, 160, 415,
6877
358, 2157, 19, 115, 218, 142, 319, 19, 274, 19,
6878
312, 364, 428, 359, 322, 431, 159, 124, 2141, 359,
6879
359, 120, 2073, 2074, 360, 441, 359, 359, 330, 120,
6880
446, 209, 360, 2120, 2121, 360, 360, 359, 35, 2603,
6881
360, 457, 129, 319, 309, 461, 462, 205, 205, 88,
6882
156, 1136, 1137, 83, 143, 357, 2143, 2144, 360, 358,
6883
362, 363, 122, 122, 120, 140, 2222, 319, 96, 106,
6884
359, 1156, 360, 82, 2161, 2162, 82, 343, 161, 120,
6885
346, 347, 348, 1168, 350, 351, 352, 353, 354, 355,
6886
299, 507, 359, 509, 19, 361, 217, 359, 364, 2369,
6887
360, 242, 19, 205, 237, 179, 292, 212, 212, 19,
6888
115, 214, 54, 214, 2370, 292, 96, 214, 214, 2206,
6889
2207, 2208, 359, 2210, 92, 2381, 205, 2383, 257, 86,
6890
317, 2261, 364, 258, 258, 2059, 2266, 1897, 364, 106,
6891
2270, 6, 2229, 1903, 2231, 237, 359, 2234, 360, 2236,
6892
2237, 241, 556, 1489, 1715, 854, 2234, 1432, 2245, 1820,
6893
2211, 1420, 2231, 2154, 1743, 2434, 2706, 1863, 2734, 2690,
6894
2257, 2689, 2259, 2715, 138, 2580, 2646, 1937, 142, 2236,
6895
2278, 1941, 1111, 2393, 2271, 1945, 2273, 2463, 2344, 1482,
6896
2801, 1276, 2413, 2775, 2412, 2282, 2751, 1097, 1869, 2749,
6897
1960, 1961, 2802, 26, 502, 723, 2022, 2656, 2282, 2025,
6898
2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2142, 2035,
6899
1760, 1382, 2250, 639, 2148, 1985, 2150, 1381, 2470, 2632,
6900
2764, 647, 1317, 2800, 544, 651, 19, 1317, 709, 1974,
6901
2460, 709, 2166, 1723, 880, 661, 879, 2171, 2172, 1314,
6902
2373, 1733, 1330, 1704, 1522, 24, 2486, 2073, 2074, 1943,
6903
29, 1469, 2058, 2229, 1870, 1672, 1590, 1670, 1277, 1717,
6904
686, 2497, 684, -1, 2286, -1, -1, -1, -1, -1,
6905
2204, 2205, 2369, 2370, 2371, 2372, -1, -1, 2339, 2340,
6906
-1, -1, -1, -1, 2381, 2382, 2383, -1, 2421, -1,
6907
-1, -1, -1, 719, -1, -1, -1, 2394, -1, -1,
6908
-1, 727, -1, 2562, -1, 2445, -1, -1, -1, -1,
6909
2244, -1, -1, 2445, -1, -1, -1, -1, 2088, 2089,
6910
-1, -1, 2591, -1, 2490, -1, -1, -1, -1, -1,
6911
-1, 660, -1, -1, -1, -1, -1, -1, -1, -1,
6912
-1, -1, -1, 2509, -1, 2485, -1, -1, -1, -1,
6913
2516, -1, -1, -1, 133, -1, -1, -1, 137, -1,
6914
-1, -1, -1, 692, -1, -1, 2463, -1, -1, -1,
6915
-1, 2468, -1, -1, -1, -1, -1, 156, 157, -1,
6916
-1, 2478, -1, -1, -1, 2211, 2645, -1, 2657, -1,
6917
169, 2488, 1487, -1, -1, 2492, -1, -1, -1, -1,
6918
729, -1, 2499, -1, -1, -1, -1, -1, -1, -1,
6919
-1, -1, -1, -1, 1509, -1, -1, -1, -1, -1,
6920
1515, 200, -1, -1, 203, -1, -1, -1, -1, -1,
6921
-1, 2201, 2366, -1, -1, -1, -1, 216, -1, -1,
6922
414, -1, -1, -1, -1, -1, 2507, 2217, -1, 2615,
6923
-1, -1, -1, -1, -1, 2225, 2517, 2518, -1, -1,
6924
-1, -1, -1, -1, 2398, -1, -1, 2401, 2402, 2749,
6925
-1, 445, -1, -1, -1, -1, 2573, 451, 2575, -1,
6926
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2748,
6927
-1, 2261, -1, -1, 2591, 274, 2266, -1, 2595, 2596,
6928
2270, -1, -1, -1, -1, -1, 2603, -1, -1, -1,
6929
-1, -1, -1, 2339, 2340, -1, -1, -1, -1, -1,
6930
-1, -1, 851, -1, -1, -1, -1, 2786, -1, -1,
6931
-1, -1, -1, -1, -1, 2469, -1, -1, -1, -1,
6932
-1, -1, -1, 2640, 10, -1, -1, -1, -1, -1,
6933
-1, -1, -1, 882, -1, 529, 2722, -1, -1, 2656,
6934
2657, -1, -1, -1, 343, -1, -1, 346, 347, 348,
6935
-1, 350, 351, 352, 353, 354, 355, -1, -1, 908,
6936
-1, -1, 361, -1, -1, -1, 2356, 2357, 2358, 2359,
6937
-1, -1, 921, 59, -1, -1, -1, 2777, -1, -1,
6938
2697, -1, 2699, 1698, -1, -1, -1, -1, -1, 75,
6939
-1, -1, -1, 2710, -1, -1, -1, 2551, -1, -1,
6940
-1, 2555, -1, 2789, 2764, -1, -1, 93, 2725, 1621,
6941
1622, -1, -1, -1, 1626, -1, -1, 2777, -1, -1,
6942
2737, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6943
-1, -1, 2749, -1, -1, 2589, 122, 631, 632, -1,
6944
2800, 127, 636, -1, 1656, 1657, -1, -1, -1, 643,
6945
-1, -1, -1, -1, 140, -1, -1, 1103, 2775, -1,
6946
-1, 2507, -1, -1, -1, -1, 660, -1, -1, -1,
6947
-1, 2517, 2518, -1, -1, -1, 162, -1, 2468, -1,
6948
-1, -1, -1, -1, 2801, -1, -1, 1133, -1, -1,
6949
-1, 685, -1, 1042, -1, 2485, -1, -1, 692, -1,
6950
-1, -1, -1, -1, -1, -1, -1, -1, 16, -1,
6951
-1, -1, -1, 707, -1, -1, 24, -1, -1, -1,
6952
-1, 29, -1, 1072, -1, -1, -1, -1, -1, -1,
6953
216, -1, -1, -1, -1, 729, 16, -1, -1, -1,
6954
-1, -1, -1, -1, 24, 660, 1095, -1, -1, 29,
6955
-1, -1, -1, 2707, 2708, -1, 750, 2711, 2712, -1,
6956
-1, -1, -1, -1, -1, -1, -1, -1, -1, 255,
6957
-1, 2725, 2562, -1, 2564, 261, -1, 692, 1127, -1,
6958
266, -1, 1897, 777, -1, -1, 1135, -1, 1903, -1,
6959
-1, -1, -1, 2583, -1, -1, -1, -1, -1, -1,
6960
-1, -1, -1, -1, -1, 291, 292, -1, -1, 2599,
6961
804, 805, -1, 807, 729, -1, -1, -1, 304, -1,
6962
-1, 2775, -1, 309, -1, 133, -1, -1, -1, 137,
6963
-1, 825, 318, -1, -1, 115, 2626, -1, -1, -1,
6964
120, -1, -1, -1, -1, 1960, -1, 2801, 156, 157,
6965
-1, -1, -1, 133, -1, 2645, -1, 137, -1, -1,
6966
-1, 169, -1, -1, -1, -1, 2656, -1, -1, -1,
6967
1985, -1, -1, -1, -1, -1, 156, 157, -1, -1,
6968
874, -1, -1, 877, 878, -1, -1, -1, 882, 169,
6969
-1, 885, 200, -1, -1, 203, -1, -1, 1344, -1,
6970
-1, -1, -1, -1, -1, -1, 1352, -1, 216, -1,
6971
218, -1, 1358, -1, 908, -1, -1, -1, 1364, -1,
6972
200, 1270, -1, 203, -1, -1, -1, 921, -1, -1,
6973
-1, -1, -1, -1, -1, -1, 216, -1, 218, -1,
6974
-1, -1, -1, -1, -1, -1, -1, -1, 1394, 1395,
6975
-1, 1397, -1, -1, -1, -1, -1, -1, 2748, -1,
6976
-1, 1407, 1408, -1, -1, -1, 274, 882, -1, -1,
6977
-1, -1, -1, 2088, 2089, 24, 1422, -1, 1424, 1425,
6978
29, 1427, 1428, 1429, 1430, -1, -1, -1, 1434, -1,
6979
-1, 1437, -1, 908, 274, -1, 2786, -1, -1, -1,
6980
-1, -1, -1, -1, 24, -1, 921, -1, -1, 29,
6981
2022, -1, -1, 2025, 2026, 2027, 2028, 2029, 2030, 2031,
6982
2032, 2033, -1, 2035, -1, -1, -1, 1376, -1, -1,
6983
-1, -1, 1381, 1382, -1, 343, -1, -1, 346, 347,
6984
348, -1, 350, 351, 352, 353, 354, 355, 1042, -1,
6985
358, -1, -1, 361, -1, -1, -1, 365, -1, -1,
6986
1054, 2073, 2074, 343, -1, -1, 346, 347, 348, -1,
6987
350, 351, 352, 353, 354, 355, -1, -1, 1072, -1,
6988
-1, 361, 102, -1, 133, -1, 2201, -1, 137, -1,
6989
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1448,
6990
-1, 1095, 2217, -1, -1, 1454, -1, 156, 157, -1,
6991
2225, -1, -1, 133, -1, -1, -1, 137, -1, -1,
6992
169, 1470, 8, -1, -1, -1, -1, 1042, -1, -1,
6993
-1, 1125, -1, 1127, -1, -1, 156, 157, -1, -1,
6994
-1, 1135, -1, -1, -1, -1, -1, -1, -1, 169,
6995
-1, -1, -1, -1, 203, -1, -1, 1072, -1, 1153,
6996
-1, -1, -1, -1, -1, -1, -1, 216, -1, -1,
6997
56, -1, -1, -1, -1, -1, -1, 63, 64, 65,
6998
1095, -1, -1, 203, -1, 1534, -1, -1, -1, -1,
6999
-1, -1, 1186, 1187, -1, -1, 216, -1, -1, 2211,
7000
1194, -1, -1, 1197, 1198, -1, -1, -1, -1, -1,
7001
-1, -1, 1127, -1, 100, 1209, 1210, -1, -1, -1,
7002
1135, -1, 1571, 1217, -1, 274, -1, 1221, 1222, 1223,
7003
1224, -1, -1, -1, -1, -1, -1, 1231, 1232, -1,
7004
-1, 2356, 2357, 2358, 2359, -1, -1, -1, -1, -1,
7005
-1, 137, 1246, 1247, 274, 141, 1250, -1, -1, -1,
7006
1254, -1, -1, -1, 1258, -1, -1, 1261, 1262, 1263,
7007
1264, 1265, 1266, 1267, 1268, 1269, 1270, 24, 1272, -1,
7008
-1, -1, 29, 1277, -1, -1, 1280, -1, -1, -1,
7009
-1, -1, 178, -1, 343, -1, -1, 346, 347, 348,
7010
-1, 350, 351, 352, 353, 354, 355, 193, 194, 195,
7011
196, 197, 361, 199, -1, -1, -1, -1, -1, -1,
7012
-1, 1767, 1768, 343, -1, -1, -1, 2339, 2340, -1,
7013
350, 351, 352, 353, 354, 355, -1, -1, -1, -1,
7014
226, 361, -1, -1, -1, -1, -1, -1, -1, -1,
7015
-1, -1, 1346, -1, -1, 1270, -1, -1, -1, -1,
7016
-1, -1, -1, -1, -1, -1, -1, -1, 1362, 255,
7017
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7018
-1, -1, 1376, -1, -1, -1, 133, 1381, 1382, 660,
7019
137, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7020
-1, 287, -1, 289, -1, -1, -1, -1, -1, 156,
7021
157, 1760, 1761, -1, 1763, -1, -1, -1, -1, -1,
7022
-1, 692, 169, -1, -1, 311, -1, -1, -1, 1778,
7023
-1, 1780, 318, -1, -1, 321, -1, -1, -1, -1,
7024
-1, -1, -1, -1, -1, -1, 24, -1, -1, 2564,
7025
-1, 29, -1, 1447, 1448, -1, 203, -1, 729, -1,
7026
1454, 1376, -1, -1, -1, -1, 1381, 1382, 2583, 216,
7027
1819, -1, 1918, -1, 1468, -1, 1470, -1, -1, -1,
7028
-1, -1, -1, -1, 2599, 660, -1, -1, -1, -1,
7029
-1, -1, -1, -1, -1, 2507, -1, -1, -1, -1,
7030
1849, -1, -1, 24, -1, 2517, 2518, -1, 29, -1,
7031
-1, 2626, -1, -1, -1, -1, -1, 692, -1, -1,
7032
-1, 1870, -1, -1, -1, -1, -1, 274, 1522, -1,
7033
-1, -1, -1, 1448, -1, -1, -1, 1531, -1, 1454,
7034
1534, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7035
1544, -1, 1901, -1, 729, 1470, -1, -1, -1, 137,
7036
-1, -1, -1, 1912, 1558, -1, -1, -1, -1, -1,
7037
-1, -1, -1, -1, 1923, -1, -1, 1571, 156, 157,
7038
-1, 102, -1, -1, -1, -1, -1, -1, -1, -1,
7039
-1, -1, -1, -1, -1, 1589, 343, -1, -1, -1,
7040
347, 348, -1, 350, 351, 352, 353, 354, 355, -1,
7041
-1, 882, 133, -1, 361, -1, 137, -1, -1, 1534,
7042
-1, -1, -1, -1, -1, 203, -1, 1621, 1622, -1,
7043
-1, -1, 1626, -1, -1, 156, 157, 908, 216, -1,
7044
-1, -1, -1, -1, 1638, 1639, 1640, 1641, 169, 1998,
7045
921, -1, -1, 1647, -1, -1, 1571, -1, -1, -1,
7046
-1, -1, 1656, 1657, -1, 1659, -1, -1, -1, -1,
7047
-1, -1, -1, -1, -1, -1, -1, 1671, -1, 1673,
7048
-1, -1, 203, 1677, -1, 2034, -1, -1, -1, -1,
7049
-1, -1, -1, -1, -1, 216, -1, -1, -1, 2048,
7050
1694, -1, -1, -1, -1, -1, -1, 882, -1, -1,
7051
1704, -1, 1706, 1707, -1, 2161, 2162, -1, -1, -1,
7052
-1, -1, 2071, -1, -1, -1, -1, -1, -1, 1723,
7053
-1, -1, -1, 908, -1, -1, -1, 1731, 1732, 1733,
7054
-1, -1, -1, -1, -1, -1, 921, -1, 1742, -1,
7055
-1, -1, -1, 274, -1, -1, -1, 660, -1, -1,
7056
2206, 2207, 2208, -1, 2210, 343, 1760, 1761, -1, 1763,
7057
-1, 1042, 350, 351, 352, 353, 354, 355, -1, -1,
7058
-1, -1, -1, 361, 1778, -1, 1780, -1, -1, 692,
7059
-1, 2237, -1, -1, -1, -1, -1, -1, -1, -1,
7060
-1, 1072, -1, -1, -1, -1, -1, -1, 2157, -1,
7061
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7062
-1, -1, 343, -1, 1095, 1819, 729, -1, -1, 350,
7063
351, 352, 353, 354, 355, -1, -1, -1, -1, -1,
7064
361, -1, -1, -1, -1, 1760, 1761, -1, 1763, -1,
7065
-1, -1, -1, -1, -1, 1849, 1127, -1, -1, -1,
7066
-1, -1, -1, 1778, 1135, 1780, -1, 1042, -1, -1,
7067
-1, -1, -1, 2222, -1, 1869, 1870, -1, -1, -1,
7068
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7069
-1, -1, -1, -1, -1, -1, -1, 1072, -1, -1,
7070
-1, -1, -1, -1, 1819, -1, -1, 1901, -1, -1,
7071
-1, -1, -1, -1, -1, -1, -1, -1, 1912, -1,
7072
1095, -1, -1, -1, -1, 2371, 2372, -1, -1, 1923,
7073
-1, -1, -1, -1, 1849, -1, 2382, 660, -1, -1,
7074
-1, -1, -1, 1937, -1, -1, -1, 1941, -1, -1,
7075
-1, 1945, 1127, -1, -1, 1870, -1, -1, -1, -1,
7076
1135, -1, -1, -1, -1, -1, -1, 1961, -1, 692,
7077
-1, -1, -1, -1, -1, -1, -1, -1, -1, 882,
7078
-1, -1, -1, 24, -1, -1, 1901, -1, 29, -1,
7079
-1, -1, -1, -1, -1, 2344, -1, 1912, -1, 1270,
7080
-1, 1995, -1, -1, 1998, 908, 729, -1, 1923, -1,
7081
-1, -1, -1, 2007, -1, -1, -1, 2463, 921, 2013,
7082
-1, -1, -1, 2017, -1, -1, -1, -1, 2022, -1,
7083
-1, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033,
7084
2034, 2035, -1, -1, -1, 2039, 2040, -1, -1, -1,
7085
-1, -1, -1, -1, 2048, -1, -1, -1, -1, 2053,
7086
-1, 102, -1, -1, -1, -1, 2060, -1, -1, 2063,
7087
-1, 2065, -1, -1, -1, -1, -1, 2071, 2072, 2073,
7088
2074, -1, -1, 1998, 2078, -1, -1, 2081, -1, -1,
7089
-1, -1, 133, -1, -1, 1270, 137, -1, -1, -1,
7090
-1, -1, -1, -1, 660, 1376, -1, -1, 2102, -1,
7091
1381, 1382, -1, -1, -1, 156, 157, -1, -1, 2034,
7092
-1, -1, -1, -1, -1, -1, -1, -1, 169, -1,
7093
-1, -1, -1, 2048, -1, -1, 692, -1, -1, 1042,
7094
-1, 2490, -1, -1, -1, -1, -1, 660, -1, -1,
7095
-1, -1, -1, -1, -1, -1, 2071, -1, -1, 882,
7096
2509, -1, 203, 2157, -1, -1, -1, 2516, -1, 1072,
7097
-1, -1, -1, 729, -1, 216, -1, 1448, -1, 692,
7098
-1, -1, -1, 1454, -1, 908, -1, -1, -1, -1,
7099
-1, -1, 1095, -1, 2640, -1, -1, -1, 921, 1470,
7100
-1, 1376, -1, -1, -1, -1, 1381, 1382, -1, -1,
7101
-1, -1, -1, -1, -1, -1, 729, 2211, -1, -1,
7102
-1, -1, -1, -1, 1127, -1, -1, -1, 2222, -1,
7103
-1, -1, 1135, 274, -1, -1, -1, -1, -1, -1,
7104
-1, -1, 2157, -1, -1, -1, -1, -1, -1, -1,
7105
-1, 2697, -1, -1, -1, -1, -1, -1, -1, -1,
7106
-1, -1, -1, 1534, -1, -1, 2615, 2261, -1, -1,
7107
-1, -1, 2266, 1448, -1, -1, 2270, -1, -1, 1454,
7108
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7109
-1, -1, 2286, 10, -1, 1470, -1, -1, -1, -1,
7110
1571, -1, 343, -1, 2298, -1, -1, 2222, -1, 350,
7111
351, 352, 353, 354, 355, -1, -1, -1, -1, 1042,
7112
361, -1, -1, 40, -1, -1, 882, -1, -1, -1,
7113
-1, -1, -1, -1, -1, 52, -1, -1, -1, -1,
7114
57, -1, 59, -1, -1, 2339, 2340, -1, -1, 1072,
7115
2344, -1, 908, -1, -1, -1, 2350, 2351, 75, 1534,
7116
2354, -1, -1, -1, -1, 921, -1, 1270, -1, 882,
7117
-1, -1, 1095, 2722, -1, -1, 93, -1, -1, -1,
7118
-1, -1, -1, -1, -1, -1, 660, -1, -1, -1,
7119
-1, -1, -1, -1, -1, 908, 1571, -1, -1, -1,
7120
-1, -1, -1, -1, 1127, 122, -1, -1, 921, -1,
7121
-1, -1, 1135, -1, -1, -1, -1, -1, 692, -1,
7122
-1, -1, -1, 140, -1, -1, -1, -1, -1, 2344,
7123
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2433,
7124
2789, -1, -1, -1, -1, -1, 163, -1, -1, 16,
7125
-1, -1, -1, -1, -1, 729, -1, 24, -1, -1,
7126
-1, -1, 29, -1, -1, -1, -1, -1, -1, -1,
7127
-1, -1, -1, 1376, 2468, -1, -1, -1, 1381, 1382,
7128
-1, -1, -1, -1, -1, -1, 1042, 2481, -1, 1760,
7129
1761, 2485, 1763, -1, -1, -1, 2490, -1, -1, 216,
7130
-1, -1, -1, 2497, -1, -1, -1, 1778, -1, 1780,
7131
-1, -1, -1, 2507, -1, 2509, 1072, -1, -1, 236,
7132
-1, -1, 2516, 2517, 2518, -1, -1, 2521, -1, 1042,
7133
-1, -1, -1, -1, 2528, 2529, -1, -1, -1, 1095,
7134
-1, -1, 259, -1, 261, 1448, -1, 1270, 1819, 266,
7135
-1, 1454, -1, -1, 2548, -1, -1, -1, -1, 1072,
7136
-1, -1, -1, -1, -1, -1, 133, 1470, 2562, -1,
7137
137, 1127, -1, -1, 291, 2490, -1, -1, 1849, 1135,
7138
-1, -1, 1095, -1, -1, 1760, 1761, 304, 1763, 156,
7139
157, -1, 309, -1, 2509, -1, -1, -1, 2592, 1870,
7140
-1, 2516, 169, 1778, -1, 1780, -1, -1, 882, -1,
7141
327, -1, -1, -1, 1127, -1, -1, -1, -1, -1,
7142
-1, 2615, 1135, -1, -1, -1, -1, -1, -1, -1,
7143
1901, 1534, -1, 200, 908, -1, 203, -1, -1, -1,
7144
-1, 1912, -1, -1, 1819, -1, -1, 921, -1, 216,
7145
-1, 2645, 1923, 1376, -1, -1, -1, -1, 1381, 1382,
7146
-1, -1, 2656, -1, -1, -1, -1, -1, 1571, -1,
7147
-1, -1, -1, -1, 1849, -1, -1, -1, -1, -1,
7148
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7149
-1, -1, -1, -1, -1, 1870, -1, 16, -1, -1,
7150
2615, 20, -1, -1, -1, 24, -1, 274, -1, -1,
7151
29, -1, -1, -1, 1270, -1, -1, -1, -1, -1,
7152
-1, -1, -1, -1, -1, 1448, 1901, 1998, 2722, 529,
7153
-1, 1454, -1, -1, 24, -1, -1, 1912, -1, 29,
7154
-1, -1, -1, -1, -1, -1, -1, 1470, 1923, -1,
7155
-1, -1, -1, -1, 2748, -1, -1, 1270, -1, -1,
7156
-1, -1, -1, 2034, -1, -1, -1, -1, 1042, -1,
7157
89, -1, -1, -1, -1, -1, 343, 2048, -1, 346,
7158
347, 348, -1, 350, 351, 352, 353, 354, 355, -1,
7159
-1, -1, 2786, -1, 361, 2789, -1, -1, 1072, -1,
7160
2071, -1, -1, -1, -1, -1, -1, 2722, -1, -1,
7161
-1, 1534, 102, -1, 133, -1, -1, -1, 137, -1,
7162
1376, 1095, -1, 1998, -1, 1381, 1382, -1, -1, -1,
7163
-1, 631, -1, -1, -1, -1, -1, 156, 157, -1,
7164
-1, -1, -1, 133, -1, -1, -1, 137, 1571, -1,
7165
169, -1, -1, 1127, -1, -1, -1, 1760, 1761, 2034,
7166
1763, 1135, -1, 1376, -1, -1, 156, 157, 1381, 1382,
7167
-1, -1, -1, 2048, 2789, 1778, -1, 1780, -1, 169,
7168
-1, 200, -1, -1, 203, -1, 2157, -1, -1, -1,
7169
-1, -1, 1448, -1, -1, -1, 2071, 216, 1454, 218,
7170
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7171
-1, -1, -1, 203, 1470, -1, 1819, -1, -1, -1,
7172
-1, -1, -1, -1, -1, -1, 216, -1, -1, -1,
7173
-1, -1, -1, -1, -1, 1448, -1, -1, -1, -1,
7174
-1, 1454, -1, -1, -1, -1, 1849, -1, -1, -1,
7175
750, 2222, -1, -1, -1, 274, -1, 1470, -1, -1,
7176
-1, -1, -1, -1, -1, -1, -1, 1870, -1, -1,
7177
-1, -1, -1, -1, -1, -1, -1, 777, 1534, -1,
7178
-1, -1, 2157, -1, 274, -1, -1, -1, -1, -1,
7179
-1, -1, -1, -1, -1, -1, 1270, -1, 1901, -1,
7180
319, -1, -1, -1, 804, 805, -1, 807, -1, 1912,
7181
-1, -1, -1, -1, -1, 1571, -1, -1, -1, -1,
7182
1923, 1534, -1, -1, 343, 825, -1, 346, 347, 348,
7183
-1, 350, 351, 352, 353, 354, 355, 1760, 1761, -1,
7184
1763, 16, 361, -1, 19, -1, -1, 2222, -1, 24,
7185
-1, -1, -1, 343, 29, 1778, -1, 1780, 1571, -1,
7186
350, 351, 352, 353, 354, 355, -1, -1, -1, -1,
7187
-1, 361, -1, 2344, 874, -1, -1, 877, 878, -1,
7188
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7189
-1, -1, -1, -1, -1, 1998, 1819, -1, -1, 24,
7190
-1, -1, 1376, -1, 29, -1, -1, 1381, 1382, -1,
7191
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7192
-1, -1, -1, -1, -1, -1, 1849, -1, -1, -1,
7193
-1, 2034, -1, -1, -1, -1, -1, -1, -1, -1,
7194
-1, -1, -1, -1, -1, 2048, -1, 1870, -1, -1,
7195
-1, -1, -1, -1, -1, -1, -1, -1, 133, -1,
7196
-1, -1, 137, -1, -1, -1, -1, -1, 2071, 2344,
7197
-1, -1, -1, -1, 1448, -1, -1, 102, 1901, -1,
7198
1454, 156, 157, -1, -1, -1, -1, -1, -1, 1912,
7199
-1, -1, -1, -1, 169, -1, 1470, -1, -1, -1,
7200
1923, -1, -1, -1, 1760, 1761, -1, 1763, 133, -1,
7201
-1, -1, 137, -1, -1, -1, -1, -1, -1, 2490,
7202
-1, -1, 1778, -1, 1780, 200, -1, -1, 203, -1,
7203
-1, 156, 157, -1, -1, -1, -1, -1, 2509, -1,
7204
-1, 216, -1, 218, 169, 2516, -1, 1760, 1761, -1,
7205
1763, -1, -1, -1, 2157, -1, -1, -1, -1, -1,
7206
1534, -1, -1, 1819, -1, 1778, -1, 1780, -1, -1,
7207
-1, -1, -1, -1, -1, 1998, -1, -1, 203, -1,
7208
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7209
-1, 216, -1, 1849, -1, -1, -1, 1571, -1, 274,
7210
-1, -1, -1, -1, -1, -1, 1819, -1, -1, -1,
7211
-1, 2034, 821, -1, 1870, 2490, -1, -1, -1, 2222,
7212
-1, -1, -1, -1, -1, 2048, -1, -1, -1, -1,
7213
-1, -1, -1, -1, 2509, -1, 1849, -1, -1, -1,
7214
-1, 2516, -1, -1, 2615, 1901, -1, -1, 2071, 274,
7215
-1, -1, -1, -1, -1, -1, 1912, 1870, -1, -1,
7216
-1, -1, -1, -1, -1, -1, -1, 1923, 343, -1,
7217
-1, 346, 347, 348, -1, 350, 351, 352, 353, 354,
7218
355, -1, -1, -1, -1, -1, 361, -1, 1901, -1,
7219
-1, -1, -1, -1, 1194, -1, -1, -1, 1198, 1912,
7220
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7221
1923, -1, -1, -1, -1, -1, -1, 1217, 343, -1,
7222
-1, 1221, -1, -1, 1224, 350, 351, 352, 353, 354,
7223
355, 1231, 1232, -1, 2157, -1, 361, -1, -1, -1,
7224
2615, 2344, 1998, -1, -1, -1, 1246, -1, 957, -1,
7225
1250, 2722, -1, -1, 1254, -1, -1, -1, 1258, -1,
7226
-1, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269,
7227
-1, -1, 1272, -1, -1, -1, -1, 1277, 2034, -1,
7228
-1, -1, -1, -1, -1, 1998, 1760, 1761, -1, 1763,
7229
-1, -1, 2048, -1, -1, -1, -1, -1, -1, 2222,
7230
-1, -1, -1, -1, 1778, -1, 1780, -1, -1, -1,
7231
-1, -1, -1, -1, -1, 2071, -1, -1, 2789, 16,
7232
-1, 2034, -1, -1, -1, -1, -1, 24, -1, -1,
7233
-1, -1, 29, -1, -1, 2048, -1, -1, -1, -1,
7234
-1, -1, -1, -1, -1, 1819, -1, 2722, -1, -1,
7235
-1, -1, -1, -1, -1, -1, -1, -1, 2071, -1,
7236
-1, -1, 1362, -1, -1, -1, -1, -1, -1, -1,
7237
16, -1, -1, 19, -1, 1849, -1, -1, 24, -1,
7238
-1, -1, -1, 29, -1, -1, -1, 2490, -1, -1,
7239
-1, -1, -1, -1, -1, -1, 1870, -1, -1, -1,
7240
-1, 2157, -1, -1, -1, -1, 2509, -1, -1, -1,
7241
-1, -1, -1, 2516, 2789, -1, -1, -1, -1, -1,
7242
-1, 2344, -1, -1, -1, -1, -1, 1901, -1, -1,
7243
-1, -1, 1141, -1, -1, -1, 133, -1, 1912, -1,
7244
137, -1, -1, -1, 2157, -1, -1, 1447, -1, 1923,
7245
-1, -1, -1, -1, -1, -1, -1, -1, -1, 156,
7246
157, -1, -1, -1, -1, -1, 2222, -1, 1468, -1,
7247
-1, -1, 169, -1, -1, -1, -1, -1, -1, -1,
7248
-1, -1, 16, 1192, -1, -1, -1, 133, -1, -1,
7249
24, 137, -1, -1, -1, 29, -1, -1, -1, -1,
7250
-1, -1, -1, 200, -1, -1, 203, 1216, -1, 2222,
7251
156, 157, 2615, 1222, -1, -1, -1, -1, -1, 216,
7252
-1, 218, -1, 169, 1998, -1, 1235, 1236, -1, 1238,
7253
-1, 1531, -1, -1, -1, -1, -1, -1, -1, -1,
7254
-1, -1, -1, -1, 1544, -1, -1, -1, -1, -1,
7255
-1, -1, -1, -1, 200, -1, -1, 203, 1558, -1,
7256
2034, -1, -1, -1, -1, -1, 1275, 2490, -1, -1,
7257
216, -1, 218, -1, 2048, -1, -1, 274, -1, -1,
7258
-1, -1, -1, -1, -1, -1, 2509, -1, 2344, 1589,
7259
-1, -1, -1, 2516, -1, -1, -1, 2071, -1, 133,
7260
-1, -1, -1, 137, -1, -1, -1, -1, -1, -1,
7261
-1, -1, -1, -1, -1, -1, -1, 1326, -1, 2722,
7262
-1, -1, 156, 157, 1333, -1, 1335, -1, 274, -1,
7263
-1, 2344, -1, -1, -1, 169, -1, -1, 1638, -1,
7264
1640, 1641, -1, -1, -1, -1, 343, 1647, -1, 346,
7265
347, 348, -1, 350, 351, 352, 353, 354, 355, -1,
7266
-1, -1, -1, 360, 361, -1, 200, -1, -1, 203,
7267
-1, 1671, -1, 1673, -1, -1, -1, 1677, -1, -1,
7268
-1, -1, 216, 2157, 218, -1, 2789, -1, -1, -1,
7269
-1, -1, 2615, -1, -1, -1, -1, 343, -1, -1,
7270
346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
7271
-1, -1, -1, -1, -1, 361, -1, -1, -1, -1,
7272
-1, -1, -1, 1723, -1, -1, -1, -1, -1, -1,
7273
-1, 1731, 1732, 1733, 2490, -1, -1, -1, -1, -1,
7274
274, -1, 1742, -1, -1, -1, -1, -1, 2222, -1,
7275
-1, -1, -1, 2509, -1, -1, -1, -1, 24, -1,
7276
2516, -1, -1, 29, -1, -1, -1, -1, -1, -1,
7277
-1, -1, -1, -1, -1, -1, -1, 2490, -1, -1,
7278
-1, -1, -1, -1, -1, 319, -1, -1, -1, -1,
7279
-1, -1, -1, -1, -1, -1, 2509, -1, -1, 2722,
7280
-1, -1, -1, 2516, -1, -1, -1, -1, -1, 343,
7281
-1, -1, 346, 347, 348, -1, 350, 351, 352, 353,
7282
354, 355, -1, -1, -1, -1, -1, 361, -1, -1,
7283
-1, -1, -1, -1, -1, -1, 102, -1, -1, -1,
7284
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7285
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2615,
7286
-1, -1, -1, -1, -1, -1, 2789, 133, -1, -1,
7287
2344, 137, -1, -1, -1, -1, -1, -1, -1, -1,
7288
-1, -1, -1, 1592, -1, 1594, -1, -1, -1, -1,
7289
156, 157, -1, -1, -1, -1, -1, -1, -1, -1,
7290
-1, -1, 2615, 169, -1, -1, -1, 1616, -1, -1,
7291
1619, -1, 1621, 1622, 1623, -1, -1, 1626, -1, -1,
7292
-1, 1630, -1, -1, -1, -1, -1, -1, 1637, -1,
7293
-1, -1, -1, 1642, -1, -1, -1, 203, -1, -1,
7294
-1, -1, -1, 1652, -1, -1, -1, 1656, 1657, 1658,
7295
216, -1, -1, 3, -1, -1, -1, -1, -1, -1,
7296
1669, -1, -1, 13, 14, 15, 2722, 1676, -1, 1678,
7297
1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 28, 1688,
7298
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7299
-1, -1, -1, -1, -1, 1995, 46, -1, 48, 49,
7300
-1, -1, -1, 53, 54, -1, -1, 2007, 274, 2722,
7301
-1, 61, 62, 2013, -1, -1, 2490, 2017, -1, -1,
7302
-1, -1, -1, -1, -1, -1, -1, 77, -1, -1,
7303
80, -1, -1, 2789, -1, 2509, 86, -1, -1, 2039,
7304
2040, 1750, 2516, -1, -1, 95, -1, -1, -1, -1,
7305
-1, 101, -1, -1, -1, -1, 106, -1, 108, -1,
7306
2060, -1, 112, 2063, -1, 2065, -1, -1, -1, -1,
7307
-1, -1, 2072, -1, 124, -1, 2789, 343, 2078, -1,
7308
-1, 2081, -1, -1, 350, 351, 352, 353, 354, 355,
7309
-1, 16, -1, -1, -1, 361, -1, -1, 148, 24,
7310
-1, -1, 2102, -1, 29, -1, -1, -1, -1, -1,
7311
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7312
-1, 171, 172, -1, -1, -1, -1, 177, -1, -1,
7313
-1, -1, -1, -1, -1, 185, -1, -1, 1847, -1,
7314
-1, 2615, -1, -1, -1, -1, -1, -1, -1, -1,
7315
-1, -1, 202, -1, -1, 16, -1, -1, 19, -1,
7316
-1, -1, 1871, 24, -1, -1, -1, -1, 29, -1,
7317
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7318
-1, 231, -1, -1, -1, -1, -1, -1, -1, -1,
7319
-1, -1, -1, 243, -1, 245, -1, -1, -1, 249,
7320
-1, -1, -1, 253, -1, -1, 256, -1, 133, -1,
7321
260, -1, 137, -1, -1, 265, -1, -1, -1, -1,
7322
270, -1, -1, 273, -1, -1, -1, -1, -1, 279,
7323
-1, 156, 157, -1, -1, -1, -1, -1, -1, -1,
7324
-1, -1, -1, 1952, 169, -1, -1, -1, 2722, -1,
7325
1959, -1, -1, -1, -1, -1, -1, 307, -1, -1,
7326
-1, 1970, -1, -1, -1, 315, -1, 317, -1, -1,
7327
320, -1, 133, -1, -1, 200, 137, -1, 203, -1,
7328
-1, -1, -1, -1, -1, 1994, 2286, -1, -1, -1,
7329
-1, 216, -1, 218, -1, 156, 157, -1, 2298, -1,
7330
-1, -1, 227, -1, -1, -1, -1, -1, 169, 359,
7331
-1, 2020, 2021, 2022, -1, 2789, 2025, 2026, 2027, 2028,
7332
2029, 2030, 2031, 2032, 2033, -1, 2035, 2036, -1, -1,
7333
16, -1, -1, -1, -1, -1, -1, -1, 24, 200,
7334
-1, -1, 203, 29, -1, -1, -1, 2056, -1, 274,
7335
2350, 2351, 2061, 2062, 2354, 216, -1, 218, -1, -1,
7336
-1, -1, -1, -1, 2073, 2074, 2075, 16, 2077, -1,
7337
-1, 2080, -1, -1, -1, 24, -1, -1, -1, -1,
7338
29, -1, -1, -1, 16, -1, -1, -1, -1, -1,
7339
-1, -1, 24, -1, -1, -1, -1, 29, -1, -1,
7340
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2118,
7341
-1, -1, -1, 274, -1, -1, -1, -1, 343, -1,
7342
-1, 346, 347, 348, -1, 350, 351, 352, 353, 354,
7343
355, -1, -1, 2433, 120, -1, 361, -1, -1, -1,
7344
-1, -1, -1, -1, -1, -1, -1, 133, -1, -1,
7345
-1, 137, -1, -1, -1, -1, -1, -1, -1, -1,
7346
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7347
156, 157, -1, -1, -1, -1, -1, -1, -1, -1,
7348
-1, 2481, 343, 169, 133, 346, 347, 348, 137, 350,
7349
351, 352, 353, 354, 355, -1, -1, 2497, -1, -1,
7350
361, 133, 2211, -1, -1, 137, -1, 156, 157, -1,
7351
-1, -1, -1, -1, 200, -1, -1, 203, -1, -1,
7352
169, 2521, -1, -1, 156, 157, -1, -1, -1, 2529,
7353
216, -1, 218, -1, -1, -1, -1, 169, -1, -1,
7354
-1, -1, -1, -1, -1, -1, -1, -1, 2548, -1,
7355
-1, 200, -1, -1, 203, -1, -1, -1, -1, -1,
7356
-1, -1, -1, -1, -1, -1, -1, 216, 200, 218,
7357
-1, 203, -1, -1, -1, -1, -1, -1, -1, -1,
7358
-1, -1, -1, -1, 216, -1, 218, -1, 274, -1,
7359
2299, -1, 2592, -1, -1, 2304, 2305, -1, 2307, -1,
7360
2309, -1, -1, -1, 2313, 2314, 2315, 2316, 2317, 2318,
7361
2319, 2320, 2321, -1, 2323, 2324, 2325, -1, -1, -1,
7362
-1, -1, -1, -1, -1, 274, -1, -1, -1, 2338,
7363
2339, 2340, 2341, -1, 2343, -1, -1, -1, 2347, 2348,
7364
2349, -1, 274, 2352, -1, -1, 2355, -1, -1, -1,
7365
-1, -1, -1, -1, -1, -1, -1, 343, -1, 2368,
7366
346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
7367
-1, -1, -1, -1, -1, 361, -1, -1, -1, -1,
7368
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7369
-1, -1, -1, -1, 343, -1, -1, 346, 347, 348,
7370
-1, 350, 351, 352, 353, 354, 355, -1, -1, 358,
7371
-1, 343, 361, -1, 346, 347, 348, -1, 350, 351,
7372
352, 353, 354, 355, -1, -1, 2435, -1, 360, 361,
7373
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7374
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7375
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7376
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7377
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7378
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7379
-1, 2500, -1, -1, -1, -1, -1, -1, 2507, -1,
7380
-1, -1, -1, 2512, 2513, -1, -1, -1, 2517, 2518,
7381
2519, 2520, -1, 2522, -1, -1, -1, -1, -1, -1,
7382
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7383
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7384
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7385
-1, -1, -1, -1, -1, -1, -1, -1, 2567, -1,
7386
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7387
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7388
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
7389
-1, -1, -1, 2602, -1, -1, -1, 3, 4, 5,
7390
6, 7, 8, 9, 10, 2614, 12, 13, -1, -1,
7391
2619, 2620, 2621, -1, 2623, 21, 22, -1, 24, 2628,
7392
26, 27, 28, -1, 30, -1, 32, 33, -1, 35,
7393
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
7394
46, 47, 48, 49, 50, 2654, -1, 53, 54, 55,
7395
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
7396
-1, 67, -1, -1, -1, -1, -1, 73, 74, 75,
7397
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
7398
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
7399
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
7400
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
7401
116, -1, 118, -1, -1, -1, 122, 123, -1, 125,
7402
126, -1, 128, -1, 130, 131, 132, -1, 134, 135,
7403
136, -1, 138, 139, 140, 141, 142, -1, -1, 145,
7404
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
7405
-1, -1, 158, -1, 160, 161, 162, 163, 164, -1,
7406
166, -1, 168, -1, -1, 171, 172, 173, -1, -1,
7407
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
7408
186, 187, -1, 189, -1, 191, 192, 193, 194, 195,
7409
196, 197, 198, 199, -1, 201, 202, -1, 204, -1,
7410
206, 207, 208, 209, -1, -1, 212, -1, -1, -1,
7411
216, 217, -1, -1, 220, -1, -1, 223, 224, 225,
7412
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
7413
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
7414
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
7415
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
7416
266, 267, 268, -1, 270, 271, 272, 273, -1, 275,
7417
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
7418
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
7419
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
7420
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
7421
316, 317, -1, 319, 320, 321, 322, 323, 324, 325,
7422
-1, 327, 328, -1, -1, 331, 332, 333, 334, 335,
7423
336, -1, 338, -1, -1, -1, -1, -1, -1, 3,
7424
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
7425
-1, 357, -1, -1, 18, -1, 362, 21, 22, -1,
7426
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
7427
-1, 35, 36, 37, 38, 39, 40, 41, 42, 43,
7428
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
7429
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
7430
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
7431
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
7432
84, 85, 86, 87, 88, -1, 90, 91, -1, 93,
7433
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
7434
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
7435
114, -1, 116, -1, 118, 119, -1, 121, 122, 123,
7436
-1, 125, 126, -1, 128, -1, 130, 131, 132, 133,
7437
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
7438
144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
7439
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
7440
164, -1, 166, 167, 168, 169, -1, 171, 172, 173,
7441
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
7442
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
7443
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
7444
204, 205, 206, 207, 208, 209, -1, -1, 212, 213,
7445
-1, -1, 216, 217, -1, -1, 220, 221, 222, 223,
7446
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
7447
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
7448
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
7449
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
7450
264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
7451
274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
7452
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
7453
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
7454
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
7455
314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
7456
324, 325, 326, 327, 328, -1, -1, 331, 332, 333,
7457
334, 335, 336, -1, 338, 339, 340, 341, 342, 343,
7458
344, 345, -1, -1, -1, -1, 350, 351, 352, -1,
7459
-1, -1, -1, -1, -1, 359, 360, 3, 4, 5,
7460
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
7461
-1, -1, 18, -1, -1, 21, 22, -1, 24, 25,
7462
26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
7463
36, 37, 38, 39, 40, 41, 42, 43, 44, -1,
7464
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
7465
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
7466
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
7467
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
7468
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
7469
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
7470
106, 107, 108, 109, 110, 111, 112, 113, 114, -1,
7471
116, -1, 118, 119, -1, 121, 122, 123, -1, 125,
7472
126, -1, 128, -1, 130, 131, 132, 133, 134, 135,
7473
136, -1, 138, 139, 140, 141, 142, -1, 144, 145,
7474
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
7475
156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
7476
166, 167, 168, 169, -1, 171, 172, 173, 174, 175,
7477
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
7478
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
7479
196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
7480
206, 207, 208, 209, -1, -1, 212, 213, -1, -1,
7481
216, 217, -1, -1, 220, 221, 222, 223, 224, 225,
7482
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
7483
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
7484
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
7485
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
7486
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
7487
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
7488
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
7489
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
7490
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
7491
316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
7492
326, 327, 328, -1, -1, 331, 332, 333, 334, 335,
7493
336, -1, 338, 339, 340, 341, 342, 343, 344, 345,
7494
-1, -1, -1, -1, 350, 351, -1, -1, -1, -1,
7495
-1, -1, -1, 359, 360, 3, 4, 5, 6, 7,
7496
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
7497
-1, 19, -1, 21, 22, -1, 24, -1, 26, 27,
7498
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
7499
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
7500
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
7501
58, 59, 60, 61, -1, 63, 64, 65, -1, 67,
7502
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
7503
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
7504
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
7505
98, 99, 100, -1, 102, 103, 104, 105, 106, 107,
7506
108, 109, 110, -1, 112, 113, 114, 115, 116, -1,
7507
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
7508
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
7509
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
7510
148, 149, 150, 151, 152, 153, -1, 155, -1, -1,
7511
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
7512
168, -1, 170, 171, 172, 173, -1, -1, 176, 177,
7513
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
7514
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
7515
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
7516
208, 209, -1, 211, 212, -1, -1, -1, 216, 217,
7517
-1, 219, 220, -1, -1, 223, 224, 225, 226, -1,
7518
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
7519
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
7520
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
7521
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
7522
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
7523
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
7524
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
7525
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
7526
308, 309, 310, 311, 312, -1, 314, 315, 316, 317,
7527
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
7528
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
7529
338, -1, 3, 4, 5, 6, 7, 8, 9, 10,
7530
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
7531
21, 22, 360, 24, 25, 26, 27, 28, 29, 30,
7532
31, 32, 33, -1, 35, 36, 37, 38, -1, -1,
7533
41, 42, 43, 44, -1, 46, 47, 48, 49, -1,
7534
-1, -1, 53, 54, 55, 56, -1, 58, 59, -1,
7535
61, -1, 63, 64, 65, 66, 67, -1, -1, -1,
7536
-1, -1, 73, 74, 75, 76, 77, 78, 79, 80,
7537
-1, 82, -1, 84, 85, 86, 87, 88, -1, 90,
7538
-1, -1, 93, 94, 95, 96, -1, 98, 99, 100,
7539
-1, 102, -1, 104, 105, 106, -1, 108, 109, -1,
7540
-1, 112, 113, 114, -1, 116, -1, 118, 119, -1,
7541
121, 122, 123, -1, 125, -1, -1, 128, -1, 130,
7542
131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
7543
141, 142, -1, 144, 145, 146, 147, 148, 149, 150,
7544
151, -1, 153, -1, 155, 156, 157, 158, 159, 160,
7545
161, 162, 163, 164, -1, -1, 167, 168, 169, -1,
7546
171, 172, 173, -1, -1, 176, 177, 178, 179, 180,
7547
181, 182, 183, 184, 185, 186, 187, 188, 189, -1,
7548
191, 192, 193, 194, 195, 196, 197, -1, 199, -1,
7549
201, 202, 203, 204, -1, -1, 207, 208, 209, -1,
7550
-1, 212, -1, -1, -1, 216, 217, -1, -1, 220,
7551
221, 222, -1, 224, 225, 226, -1, -1, -1, 230,
7552
231, 232, -1, 234, 235, 236, 237, 238, 239, 240,
7553
241, -1, 243, 244, 245, 246, 247, 248, 249, 250,
7554
251, 252, 253, 254, 255, 256, -1, 258, 259, 260,
7555
261, 262, 263, 264, -1, 266, 267, 268, -1, 270,
7556
271, 272, 273, 274, 275, 276, -1, 278, 279, 280,
7557
281, 282, 283, 284, 285, -1, 287, -1, 289, 290,
7558
-1, 292, 293, 294, 295, -1, 297, 298, -1, 300,
7559
-1, 302, -1, 304, -1, -1, 307, 308, 309, 310,
7560
311, -1, -1, 314, 315, 316, 317, -1, -1, 320,
7561
321, 322, 323, 324, 325, 326, 327, 328, -1, -1,
7562
331, 332, 333, 334, 335, 336, -1, 338, -1, 3,
7563
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
7564
-1, -1, -1, -1, 18, -1, -1, 21, 22, 360,
7565
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
7566
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
7567
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
7568
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
7569
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
7570
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
7571
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
7572
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
7573
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
7574
114, -1, 116, -1, 118, 119, 120, 121, 122, 123,
7575
-1, 125, 126, -1, 128, -1, 130, 131, 132, 133,
7576
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
7577
144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
7578
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
7579
164, 165, 166, 167, 168, 169, -1, 171, 172, 173,
7580
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
7581
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
7582
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
7583
204, 205, 206, 207, 208, 209, -1, -1, 212, 213,
7584
-1, -1, 216, 217, -1, -1, 220, 221, 222, 223,
7585
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
7586
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
7587
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
7588
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
7589
264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
7590
274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
7591
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
7592
294, 295, -1, 297, 298, -1, 300, 301, 302, 303,
7593
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
7594
314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
7595
324, 325, 326, 327, 328, -1, -1, 331, 332, 333,
7596
334, 335, 336, -1, 338, 339, 340, 341, 342, 343,
7597
344, 345, -1, -1, -1, -1, 350, 351, -1, -1,
7598
-1, -1, -1, -1, -1, 359, 3, 4, 5, 6,
7599
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
7600
-1, 18, -1, -1, 21, 22, -1, 24, 25, 26,
7601
27, 28, 29, 30, 31, 32, 33, -1, 35, 36,
7602
37, 38, 39, 40, 41, 42, 43, 44, -1, 46,
7603
47, 48, 49, 50, -1, -1, 53, 54, 55, 56,
7604
-1, 58, 59, 60, 61, -1, 63, 64, 65, 66,
7605
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
7606
77, 78, 79, 80, -1, 82, -1, 84, 85, 86,
7607
87, 88, -1, 90, -1, -1, 93, 94, 95, 96,
7608
-1, 98, 99, 100, -1, 102, -1, 104, 105, 106,
7609
107, 108, 109, 110, 111, 112, 113, 114, -1, 116,
7610
-1, 118, 119, -1, 121, 122, 123, -1, 125, 126,
7611
-1, 128, -1, 130, 131, 132, 133, 134, 135, 136,
7612
-1, 138, 139, 140, 141, 142, -1, 144, 145, 146,
7613
147, 148, 149, 150, 151, -1, 153, -1, 155, 156,
7614
157, 158, 159, 160, 161, 162, 163, 164, -1, 166,
7615
167, 168, 169, -1, 171, 172, 173, 174, 175, 176,
7616
177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
7617
187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
7618
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
7619
207, 208, 209, -1, -1, 212, 213, -1, -1, 216,
7620
217, -1, -1, 220, 221, 222, 223, 224, 225, 226,
7621
-1, 228, 229, 230, 231, 232, -1, 234, 235, 236,
7622
237, 238, 239, 240, 241, -1, 243, 244, 245, 246,
7623
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
7624
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
7625
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
7626
-1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
7627
287, -1, 289, 290, -1, 292, 293, 294, 295, -1,
7628
297, 298, -1, 300, -1, 302, 303, 304, 305, 306,
7629
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
7630
317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
7631
327, 328, -1, -1, 331, 332, 333, 334, 335, 336,
7632
-1, 338, 339, 340, 341, 342, 343, 344, 345, -1,
7633
-1, -1, -1, 350, 351, 352, -1, -1, -1, -1,
7634
-1, -1, 359, 3, 4, 5, 6, 7, 8, 9,
7635
10, -1, 12, 13, -1, -1, -1, -1, 18, -1,
7636
-1, 21, 22, -1, 24, 25, 26, 27, 28, 29,
7637
30, 31, 32, 33, -1, 35, 36, 37, 38, 39,
7638
40, 41, 42, 43, 44, -1, 46, 47, 48, 49,
7639
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
7640
60, 61, -1, 63, 64, 65, 66, 67, 68, 69,
7641
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
7642
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
7643
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
7644
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
7645
110, 111, 112, 113, 114, -1, 116, -1, 118, 119,
7646
-1, 121, 122, 123, -1, 125, 126, -1, 128, -1,
7647
130, 131, 132, 133, 134, 135, 136, -1, 138, 139,
7648
140, 141, 142, -1, 144, 145, 146, 147, 148, 149,
7649
150, 151, -1, 153, -1, 155, 156, 157, 158, 159,
7650
160, 161, 162, 163, 164, -1, 166, 167, 168, 169,
7651
-1, 171, 172, 173, 174, 175, 176, 177, 178, 179,
7652
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
7653
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
7654
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
7655
-1, -1, 212, 213, -1, -1, 216, 217, -1, -1,
7656
220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
7657
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
7658
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
7659
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
7660
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
7661
270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
7662
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
7663
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
7664
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
7665
310, 311, -1, 313, 314, 315, 316, 317, 318, -1,
7666
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
7667
-1, 331, 332, 333, 334, 335, 336, -1, 338, 339,
7668
340, 341, 342, 343, 344, 345, -1, -1, -1, -1,
7669
350, 351, -1, -1, -1, -1, -1, -1, -1, 359,
7670
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
7671
13, -1, -1, -1, -1, 18, -1, -1, 21, 22,
7672
-1, 24, 25, 26, 27, 28, 29, 30, 31, 32,
7673
33, -1, 35, 36, 37, 38, 39, 40, 41, 42,
7674
43, 44, -1, 46, 47, 48, 49, 50, -1, -1,
7675
53, 54, 55, 56, -1, 58, 59, 60, 61, -1,
7676
63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
7677
73, 74, 75, 76, 77, 78, 79, 80, -1, 82,
7678
-1, 84, 85, 86, 87, 88, -1, 90, -1, -1,
7679
93, 94, 95, 96, -1, 98, 99, 100, -1, 102,
7680
-1, 104, 105, 106, 107, 108, 109, 110, 111, 112,
7681
113, 114, -1, 116, -1, 118, 119, -1, 121, 122,
7682
123, -1, 125, 126, -1, 128, -1, 130, 131, 132,
7683
133, 134, 135, 136, -1, 138, 139, 140, 141, 142,
7684
-1, 144, 145, 146, 147, 148, 149, 150, 151, -1,
7685
153, -1, 155, 156, 157, 158, 159, 160, 161, 162,
7686
163, 164, -1, 166, 167, 168, 169, -1, 171, 172,
7687
173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
7688
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
7689
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
7690
203, 204, 205, 206, 207, 208, 209, -1, -1, 212,
7691
213, -1, -1, 216, 217, -1, -1, 220, 221, 222,
7692
223, 224, 225, 226, -1, 228, 229, 230, 231, 232,
7693
-1, 234, 235, 236, 237, 238, 239, 240, 241, -1,
7694
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
7695
253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
7696
263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
7697
273, 274, 275, 276, -1, 278, 279, 280, 281, 282,
7698
283, 284, 285, 286, 287, -1, 289, 290, -1, 292,
7699
293, 294, 295, -1, 297, 298, -1, 300, -1, 302,
7700
303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
7701
313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
7702
323, 324, 325, 326, 327, 328, -1, -1, 331, 332,
7703
333, 334, 335, 336, -1, 338, 339, 340, 341, 342,
7704
343, 344, 345, -1, -1, -1, -1, 350, 351, -1,
7705
-1, -1, -1, -1, -1, -1, 359, 3, 4, 5,
7706
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
7707
-1, -1, 18, -1, -1, 21, 22, -1, 24, 25,
7708
26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
7709
36, 37, 38, 39, 40, 41, 42, 43, 44, -1,
7710
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
7711
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
7712
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
7713
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
7714
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
7715
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
7716
106, 107, 108, 109, 110, 111, 112, 113, 114, -1,
7717
116, -1, 118, 119, -1, 121, 122, 123, -1, 125,
7718
126, -1, 128, -1, 130, 131, 132, 133, 134, 135,
7719
136, -1, 138, 139, 140, 141, 142, -1, 144, 145,
7720
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
7721
156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
7722
166, 167, 168, 169, -1, 171, 172, 173, 174, 175,
7723
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
7724
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
7725
196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
7726
206, 207, 208, 209, -1, -1, 212, 213, -1, -1,
7727
216, 217, -1, -1, 220, 221, 222, 223, 224, 225,
7728
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
7729
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
7730
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
7731
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
7732
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
7733
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
7734
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
7735
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
7736
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
7737
316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
7738
326, 327, 328, -1, -1, 331, 332, 333, 334, 335,
7739
336, -1, 338, 339, 340, 341, 342, 343, 344, 345,
7740
-1, -1, -1, -1, 350, 351, -1, -1, -1, -1,
7741
-1, 357, -1, 359, 3, 4, 5, 6, 7, 8,
7742
9, 10, -1, 12, 13, -1, -1, -1, -1, 18,
7743
-1, -1, 21, 22, -1, 24, 25, 26, 27, 28,
7744
29, 30, 31, 32, 33, -1, 35, 36, 37, 38,
7745
39, 40, 41, 42, 43, 44, -1, 46, 47, 48,
7746
49, 50, -1, -1, 53, 54, 55, 56, -1, 58,
7747
59, 60, 61, -1, 63, 64, 65, 66, 67, 68,
7748
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
7749
79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
7750
-1, 90, -1, -1, 93, 94, 95, 96, -1, 98,
7751
99, 100, -1, 102, -1, 104, 105, 106, 107, 108,
7752
109, 110, 111, 112, 113, 114, -1, 116, -1, 118,
7753
119, -1, 121, 122, 123, -1, 125, 126, -1, 128,
7754
-1, 130, 131, 132, 133, 134, 135, 136, -1, 138,
7755
139, 140, 141, 142, -1, 144, 145, 146, 147, 148,
7756
149, 150, 151, -1, 153, -1, 155, 156, 157, 158,
7757
159, 160, 161, 162, 163, 164, -1, 166, 167, 168,
7758
169, -1, 171, 172, 173, 174, 175, 176, 177, 178,
7759
179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
7760
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
7761
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
7762
209, -1, -1, 212, 213, -1, -1, 216, 217, -1,
7763
-1, 220, 221, 222, 223, 224, 225, 226, -1, 228,
7764
229, 230, 231, 232, -1, 234, 235, 236, 237, 238,
7765
239, 240, 241, -1, 243, 244, 245, 246, 247, 248,
7766
249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
7767
259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
7768
269, 270, 271, 272, 273, 274, 275, 276, -1, 278,
7769
279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
7770
289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
7771
-1, 300, -1, 302, 303, 304, 305, 306, 307, 308,
7772
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
7773
-1, 320, 321, 322, 323, 324, 325, 326, 327, 328,
7774
-1, -1, 331, 332, 333, 334, 335, 336, -1, 338,
7775
339, 340, 341, 342, 343, 344, 345, -1, -1, -1,
7776
-1, 350, 351, -1, -1, -1, -1, -1, -1, -1,
7777
359, 3, 4, 5, 6, 7, 8, 9, 10, -1,
7778
12, 13, -1, -1, -1, -1, 18, -1, -1, 21,
7779
22, -1, 24, 25, 26, 27, 28, 29, 30, 31,
7780
32, 33, -1, 35, 36, 37, 38, 39, 40, 41,
7781
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
7782
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
7783
-1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
7784
72, 73, 74, 75, 76, 77, 78, 79, 80, -1,
7785
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
7786
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
7787
102, -1, 104, 105, 106, 107, 108, 109, 110, 111,
7788
112, 113, 114, -1, 116, -1, 118, 119, 120, 121,
7789
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
7790
132, 133, 134, 135, 136, -1, 138, 139, 140, 141,
7791
142, -1, 144, 145, 146, 147, 148, 149, 150, 151,
7792
-1, 153, -1, 155, 156, 157, 158, 159, 160, 161,
7793
162, 163, 164, -1, 166, 167, 168, 169, -1, 171,
7794
172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
7795
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
7796
192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
7797
202, 203, 204, 205, 206, 207, 208, 209, -1, -1,
7798
212, 213, -1, -1, 216, 217, -1, -1, 220, 221,
7799
222, 223, 224, 225, 226, -1, 228, 229, 230, 231,
7800
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
7801
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
7802
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
7803
262, 263, 264, -1, 266, 267, 268, 269, 270, 271,
7804
272, 273, 274, 275, 276, -1, 278, 279, 280, 281,
7805
282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
7806
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
7807
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
7808
-1, 313, 314, 315, 316, 317, 318, -1, 320, 321,
7809
322, 323, 324, 325, 326, 327, 328, -1, -1, 331,
7810
332, 333, 334, 335, 336, -1, 338, 339, 340, 341,
7811
342, 343, 344, 345, -1, -1, -1, -1, 350, 351,
7812
-1, -1, -1, -1, -1, -1, -1, 359, 3, 4,
7813
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
7814
-1, -1, -1, 18, -1, -1, 21, 22, -1, 24,
7815
25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
7816
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
7817
-1, 46, 47, 48, 49, 50, -1, -1, 53, 54,
7818
55, 56, -1, 58, 59, 60, 61, -1, 63, 64,
7819
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
7820
75, 76, 77, 78, 79, 80, 81, 82, -1, 84,
7821
85, 86, 87, 88, -1, 90, -1, -1, 93, 94,
7822
95, 96, -1, 98, 99, 100, -1, 102, -1, 104,
7823
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
7824
-1, 116, -1, 118, 119, -1, 121, 122, 123, -1,
7825
125, 126, -1, 128, -1, 130, 131, 132, 133, 134,
7826
135, 136, -1, 138, 139, 140, 141, 142, -1, 144,
7827
145, 146, 147, 148, 149, 150, 151, -1, 153, -1,
7828
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
7829
-1, 166, 167, 168, 169, -1, 171, 172, 173, 174,
7830
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
7831
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
7832
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
7833
205, 206, 207, 208, 209, -1, -1, 212, 213, -1,
7834
-1, 216, 217, -1, -1, 220, 221, 222, 223, 224,
7835
225, 226, -1, 228, 229, 230, 231, 232, -1, 234,
7836
235, 236, 237, 238, 239, 240, 241, -1, 243, 244,
7837
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
7838
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
7839
-1, 266, 267, 268, 269, 270, 271, 272, 273, 274,
7840
275, 276, -1, 278, 279, 280, 281, 282, 283, 284,
7841
285, 286, 287, -1, 289, 290, -1, 292, 293, 294,
7842
295, -1, 297, 298, -1, 300, -1, 302, 303, 304,
7843
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
7844
315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
7845
325, 326, 327, 328, -1, -1, 331, 332, 333, 334,
7846
335, 336, -1, 338, 339, 340, 341, 342, 343, 344,
7847
345, -1, -1, -1, -1, 350, 351, -1, -1, -1,
7848
-1, -1, -1, -1, 359, 3, 4, 5, 6, 7,
7849
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
7850
18, -1, -1, 21, 22, -1, 24, 25, 26, 27,
7851
28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
7852
38, 39, 40, 41, 42, 43, 44, -1, 46, 47,
7853
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
7854
58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
7855
68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
7856
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
7857
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
7858
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
7859
108, 109, 110, 111, 112, 113, 114, -1, 116, -1,
7860
118, 119, -1, 121, 122, 123, -1, 125, 126, -1,
7861
128, -1, 130, 131, 132, 133, 134, 135, 136, -1,
7862
138, 139, 140, 141, 142, -1, 144, 145, 146, 147,
7863
148, 149, 150, 151, -1, 153, -1, 155, 156, 157,
7864
158, 159, 160, 161, 162, 163, 164, -1, 166, 167,
7865
168, 169, -1, 171, 172, 173, 174, 175, 176, 177,
7866
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
7867
188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
7868
198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
7869
208, 209, -1, -1, 212, 213, -1, -1, 216, 217,
7870
-1, -1, 220, 221, 222, 223, 224, 225, 226, -1,
7871
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
7872
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
7873
248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
7874
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
7875
268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
7876
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
7877
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
7878
298, -1, 300, -1, 302, 303, 304, 305, 306, 307,
7879
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
7880
318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
7881
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
7882
338, 339, 340, 341, 342, 343, 344, 345, -1, -1,
7883
-1, -1, 350, 351, -1, -1, -1, -1, -1, -1,
7884
-1, 359, 3, 4, 5, 6, 7, 8, 9, 10,
7885
-1, 12, 13, -1, -1, -1, -1, 18, -1, -1,
7886
21, 22, -1, 24, 25, 26, 27, 28, 29, 30,
7887
31, 32, 33, -1, 35, 36, 37, 38, 39, 40,
7888
41, 42, 43, 44, -1, 46, 47, 48, 49, 50,
7889
-1, -1, 53, 54, 55, 56, -1, 58, 59, 60,
7890
61, -1, 63, 64, 65, 66, 67, 68, 69, 70,
7891
71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
7892
-1, 82, -1, 84, 85, 86, 87, 88, -1, 90,
7893
-1, -1, 93, 94, 95, 96, -1, 98, 99, 100,
7894
-1, 102, -1, 104, 105, 106, 107, 108, 109, 110,
7895
111, 112, 113, 114, -1, 116, -1, 118, 119, -1,
7896
121, 122, 123, -1, 125, 126, -1, 128, -1, 130,
7897
131, 132, 133, 134, 135, 136, -1, 138, 139, 140,
7898
141, 142, -1, 144, 145, 146, 147, 148, 149, 150,
7899
151, -1, 153, -1, 155, 156, 157, 158, 159, 160,
7900
161, 162, 163, 164, -1, 166, 167, 168, 169, -1,
7901
171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
7902
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
7903
191, 192, 193, 194, 195, 196, 197, 198, 199, -1,
7904
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
7905
-1, 212, 213, -1, -1, 216, 217, -1, -1, 220,
7906
221, 222, 223, 224, 225, 226, -1, 228, 229, 230,
7907
231, 232, -1, 234, 235, 236, 237, 238, 239, 240,
7908
241, -1, 243, 244, 245, 246, 247, 248, 249, 250,
7909
251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
7910
261, 262, 263, 264, -1, 266, 267, 268, 269, 270,
7911
271, 272, 273, 274, 275, 276, -1, 278, 279, 280,
7912
281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
7913
-1, 292, 293, 294, 295, -1, 297, 298, -1, 300,
7914
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
7915
311, -1, -1, 314, 315, 316, 317, 318, -1, 320,
7916
321, 322, 323, 324, 325, 326, 327, 328, -1, -1,
7917
331, 332, 333, 334, 335, 336, -1, 338, 339, 340,
7918
341, 342, 343, 344, 345, -1, -1, -1, -1, 350,
7919
351, -1, -1, -1, -1, -1, -1, -1, 359, 3,
7920
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
7921
-1, -1, -1, -1, 18, -1, -1, 21, 22, -1,
7922
24, 25, 26, 27, 28, -1, 30, 31, 32, 33,
7923
-1, 35, 36, 37, 38, 39, 40, 41, 42, 43,
7924
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
7925
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
7926
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
7927
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
7928
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
7929
94, 95, 96, -1, 98, 99, 100, -1, -1, -1,
7930
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
7931
114, -1, 116, -1, 118, 119, -1, 121, 122, 123,
7932
-1, 125, 126, -1, 128, -1, 130, 131, 132, -1,
7933
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
7934
144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
7935
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
7936
164, -1, 166, 167, 168, -1, -1, 171, 172, 173,
7937
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
7938
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
7939
194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
7940
204, 205, 206, 207, 208, 209, -1, -1, 212, 213,
7941
-1, -1, 216, 217, -1, -1, 220, 221, 222, 223,
7942
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
7943
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
7944
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
7945
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
7946
264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
7947
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
7948
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
7949
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
7950
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
7951
314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
7952
324, 325, 326, 327, 328, -1, -1, 331, 332, 333,
7953
334, 335, 336, -1, 338, 339, 340, 341, 342, 343,
7954
344, 345, -1, -1, -1, -1, 350, 351, -1, -1,
7955
-1, -1, -1, -1, -1, 359, 3, 4, 5, 6,
7956
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
7957
-1, 18, -1, -1, 21, 22, -1, 24, 25, 26,
7958
27, 28, -1, 30, 31, 32, 33, -1, 35, 36,
7959
37, 38, 39, 40, 41, 42, 43, 44, -1, 46,
7960
47, 48, 49, 50, -1, -1, 53, 54, 55, 56,
7961
-1, 58, 59, 60, 61, -1, 63, 64, 65, 66,
7962
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
7963
77, 78, 79, 80, -1, 82, -1, 84, 85, 86,
7964
87, 88, -1, 90, -1, -1, 93, 94, 95, 96,
7965
-1, 98, 99, 100, -1, -1, -1, 104, 105, 106,
7966
107, 108, 109, 110, 111, 112, 113, 114, -1, 116,
7967
-1, 118, 119, -1, 121, 122, 123, -1, 125, 126,
7968
-1, 128, -1, 130, 131, 132, -1, 134, 135, 136,
7969
-1, 138, 139, 140, 141, 142, -1, 144, 145, 146,
7970
147, 148, 149, 150, 151, -1, 153, -1, 155, 156,
7971
157, 158, 159, 160, 161, 162, 163, 164, -1, 166,
7972
167, 168, -1, -1, 171, 172, 173, 174, 175, 176,
7973
177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
7974
187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
7975
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
7976
207, 208, 209, -1, -1, 212, 213, -1, -1, 216,
7977
217, -1, -1, 220, 221, 222, 223, 224, 225, 226,
7978
-1, 228, 229, 230, 231, 232, -1, 234, 235, 236,
7979
237, 238, 239, 240, 241, -1, 243, 244, 245, 246,
7980
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
7981
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
7982
267, 268, 269, 270, 271, 272, 273, -1, 275, 276,
7983
-1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
7984
287, -1, 289, 290, -1, 292, 293, 294, 295, -1,
7985
297, 298, -1, 300, -1, 302, 303, 304, 305, 306,
7986
307, 308, 309, 310, 311, -1, -1, 314, 315, 316,
7987
317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
7988
327, 328, -1, -1, 331, 332, 333, 334, 335, 336,
7989
-1, 338, 339, 340, 341, 342, 343, 344, 345, -1,
7990
-1, -1, -1, 350, 351, -1, -1, -1, -1, -1,
7991
-1, -1, 359, 3, 4, 5, 6, 7, 8, 9,
7992
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
7993
-1, 21, 22, -1, 24, 25, 26, 27, 28, 29,
7994
30, 31, 32, 33, -1, 35, 36, 37, 38, -1,
7995
40, 41, 42, 43, 44, -1, 46, 47, 48, 49,
7996
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
7997
60, 61, -1, 63, 64, 65, 66, 67, 68, 69,
7998
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
7999
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
8000
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
8001
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
8002
110, -1, 112, 113, 114, -1, 116, -1, 118, 119,
8003
-1, 121, 122, 123, -1, 125, 126, -1, 128, -1,
8004
130, 131, 132, 133, 134, 135, 136, -1, 138, 139,
8005
140, 141, 142, -1, 144, 145, 146, 147, 148, 149,
8006
150, 151, -1, 153, -1, 155, 156, 157, 158, 159,
8007
160, 161, 162, 163, 164, -1, 166, 167, 168, 169,
8008
-1, 171, 172, 173, 174, 175, 176, 177, 178, 179,
8009
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
8010
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
8011
-1, 201, 202, 203, 204, -1, 206, 207, 208, 209,
8012
-1, -1, 212, 213, -1, 215, 216, 217, -1, -1,
8013
220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
8014
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
8015
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
8016
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
8017
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
8018
270, 271, 272, 273, 274, 275, 276, -1, 278, 279,
8019
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
8020
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
8021
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
8022
310, 311, -1, -1, 314, 315, 316, 317, 318, -1,
8023
320, 321, 322, 323, 324, 325, 326, 327, 328, -1,
8024
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
8025
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
8026
-1, -1, -1, -1, -1, -1, -1, 21, 22, 359,
8027
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
8028
-1, 35, 36, 37, 38, -1, 40, 41, 42, 43,
8029
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
8030
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
8031
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
8032
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
8033
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
8034
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
8035
104, 105, 106, 107, 108, 109, 110, -1, 112, 113,
8036
114, -1, 116, -1, 118, 119, -1, 121, 122, 123,
8037
-1, 125, 126, -1, 128, -1, 130, 131, 132, 133,
8038
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
8039
144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
8040
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
8041
164, -1, 166, 167, 168, 169, -1, 171, 172, 173,
8042
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
8043
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
8044
194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
8045
204, -1, 206, 207, 208, 209, -1, -1, 212, 213,
8046
-1, 215, 216, 217, -1, -1, 220, 221, 222, 223,
8047
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
8048
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
8049
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
8050
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
8051
264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
8052
274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
8053
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
8054
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
8055
304, 305, -1, 307, 308, 309, 310, 311, -1, -1,
8056
314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
8057
324, 325, 326, 327, 328, -1, -1, 331, 332, 333,
8058
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
8059
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
8060
-1, -1, -1, 21, 22, 359, 24, 25, 26, 27,
8061
28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
8062
38, -1, 40, 41, 42, 43, 44, -1, 46, 47,
8063
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
8064
58, 59, 60, 61, -1, 63, 64, 65, 66, 67,
8065
68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
8066
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
8067
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
8068
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
8069
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
8070
118, 119, -1, 121, 122, 123, -1, 125, 126, -1,
8071
128, -1, 130, 131, 132, 133, 134, 135, 136, -1,
8072
138, 139, 140, 141, 142, -1, 144, 145, 146, 147,
8073
148, 149, 150, 151, -1, 153, -1, 155, 156, 157,
8074
158, 159, 160, 161, 162, 163, 164, -1, 166, 167,
8075
168, 169, -1, 171, 172, 173, 174, 175, 176, 177,
8076
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
8077
188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
8078
198, 199, -1, 201, 202, 203, 204, -1, 206, 207,
8079
208, 209, -1, -1, 212, 213, -1, -1, 216, 217,
8080
-1, -1, 220, 221, 222, 223, 224, 225, 226, -1,
8081
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
8082
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
8083
248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
8084
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
8085
268, 269, 270, 271, 272, 273, 274, 275, 276, -1,
8086
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
8087
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
8088
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
8089
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
8090
318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
8091
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
8092
338, 3, 4, 5, 6, 7, 8, 9, 10, -1,
8093
12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
8094
22, 359, 24, -1, 26, 27, 28, -1, 30, -1,
8095
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
8096
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
8097
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
8098
-1, 63, 64, 65, -1, 67, -1, -1, -1, -1,
8099
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
8100
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
8101
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
8102
102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
8103
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
8104
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
8105
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
8106
142, -1, -1, 145, 146, 147, 148, 149, 150, 151,
8107
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
8108
162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
8109
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
8110
182, 183, 184, 185, 186, 187, -1, 189, 190, 191,
8111
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
8112
202, -1, 204, -1, 206, 207, 208, 209, -1, -1,
8113
212, 213, -1, -1, 216, 217, -1, -1, 220, -1,
8114
-1, 223, 224, 225, 226, -1, 228, 229, 230, 231,
8115
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
8116
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
8117
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
8118
262, 263, 264, -1, 266, 267, 268, -1, 270, 271,
8119
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
8120
282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
8121
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
8122
302, 303, 304, 305, -1, 307, 308, 309, 310, 311,
8123
-1, -1, 314, 315, 316, 317, -1, -1, 320, 321,
8124
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
8125
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
8126
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
8127
-1, -1, -1, -1, -1, 21, 22, 359, 24, -1,
8128
26, 27, 28, -1, 30, -1, 32, 33, -1, 35,
8129
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
8130
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
8131
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
8132
-1, 67, -1, -1, -1, -1, -1, 73, 74, 75,
8133
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
8134
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
8135
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
8136
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
8137
116, -1, 118, -1, -1, -1, 122, 123, -1, 125,
8138
126, -1, 128, -1, 130, 131, 132, -1, 134, 135,
8139
136, -1, 138, 139, 140, 141, 142, -1, -1, 145,
8140
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
8141
-1, -1, 158, -1, 160, 161, 162, 163, 164, -1,
8142
166, -1, 168, -1, -1, 171, 172, 173, -1, -1,
8143
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
8144
186, 187, -1, 189, -1, 191, 192, 193, 194, 195,
8145
196, 197, 198, 199, -1, 201, 202, -1, 204, -1,
8146
206, 207, 208, 209, -1, -1, 212, -1, -1, -1,
8147
216, 217, -1, -1, 220, -1, -1, 223, 224, 225,
8148
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
8149
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
8150
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
8151
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
8152
266, 267, 268, -1, 270, 271, 272, 273, -1, 275,
8153
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
8154
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
8155
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
8156
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
8157
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
8158
-1, 327, 328, -1, -1, 331, 332, 333, 334, 335,
8159
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
8160
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
8161
-1, 21, 22, 359, 24, -1, 26, 27, 28, -1,
8162
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
8163
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
8164
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
8165
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
8166
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
8167
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
8168
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
8169
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
8170
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
8171
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
8172
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
8173
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
8174
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
8175
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
8176
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
8177
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
8178
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
8179
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
8180
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
8181
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
8182
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
8183
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
8184
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
8185
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
8186
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
8187
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
8188
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
8189
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
8190
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
8191
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
8192
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
8193
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
8194
-1, -1, -1, -1, -1, -1, -1, 21, 22, 359,
8195
24, -1, 26, 27, 28, -1, 30, -1, 32, 33,
8196
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
8197
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
8198
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
8199
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
8200
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
8201
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
8202
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
8203
104, 105, 106, 107, 108, 109, 110, -1, 112, 113,
8204
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
8205
-1, 125, 126, -1, 128, -1, 130, 131, 132, -1,
8206
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
8207
-1, 145, 146, 147, 148, 149, 150, 151, -1, 153,
8208
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
8209
164, -1, 166, -1, 168, -1, -1, 171, 172, 173,
8210
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
8211
184, 185, 186, 187, -1, 189, -1, 191, 192, 193,
8212
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
8213
204, -1, 206, 207, 208, 209, -1, -1, 212, -1,
8214
-1, -1, 216, 217, -1, -1, 220, -1, -1, 223,
8215
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
8216
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
8217
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
8218
-1, 255, 256, 257, 258, 259, 260, 261, 262, 263,
8219
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
8220
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
8221
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
8222
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
8223
304, 305, -1, 307, 308, 309, 310, 311, -1, -1,
8224
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
8225
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
8226
334, 335, 336, -1, 338, -1, -1, -1, -1, 343,
8227
-1, -1, 346, 347, 348, -1, 350, 351, 352, 353,
8228
354, 355, 3, 4, 5, 6, 7, 8, 9, 10,
8229
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
8230
21, 22, -1, 24, -1, 26, 27, 28, -1, 30,
8231
-1, 32, 33, -1, 35, 36, 37, 38, -1, -1,
8232
41, 42, 43, 44, -1, 46, 47, 48, 49, 50,
8233
-1, -1, 53, 54, 55, 56, -1, 58, 59, 60,
8234
61, -1, 63, 64, 65, -1, 67, -1, -1, -1,
8235
-1, -1, 73, 74, 75, 76, 77, 78, 79, 80,
8236
-1, 82, -1, 84, 85, 86, 87, 88, -1, 90,
8237
-1, -1, 93, 94, 95, 96, -1, 98, 99, 100,
8238
-1, 102, -1, 104, 105, 106, 107, 108, 109, 110,
8239
-1, 112, 113, 114, -1, 116, -1, 118, -1, -1,
8240
-1, 122, 123, -1, 125, 126, -1, 128, -1, 130,
8241
131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
8242
141, 142, -1, -1, 145, 146, 147, 148, 149, 150,
8243
151, -1, 153, -1, 155, -1, -1, 158, -1, 160,
8244
161, 162, 163, 164, -1, 166, -1, 168, -1, -1,
8245
171, 172, 173, -1, -1, 176, 177, 178, 179, 180,
8246
181, 182, 183, 184, 185, 186, 187, -1, 189, -1,
8247
191, 192, 193, 194, 195, 196, 197, 198, 199, -1,
8248
201, 202, -1, 204, -1, 206, 207, 208, 209, -1,
8249
-1, 212, -1, -1, -1, 216, 217, -1, -1, 220,
8250
-1, -1, 223, 224, 225, 226, -1, 228, 229, 230,
8251
231, 232, -1, 234, 235, 236, 237, 238, 239, 240,
8252
241, -1, 243, 244, 245, 246, 247, 248, 249, 250,
8253
251, 252, 253, -1, 255, 256, 257, 258, 259, 260,
8254
261, 262, 263, 264, -1, 266, 267, 268, -1, 270,
8255
271, 272, 273, -1, 275, 276, -1, 278, 279, 280,
8256
281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
8257
-1, 292, 293, 294, 295, -1, 297, 298, -1, 300,
8258
-1, 302, 303, 304, 305, -1, 307, 308, 309, 310,
8259
311, -1, -1, 314, 315, 316, 317, -1, -1, 320,
8260
321, 322, 323, 324, 325, -1, 327, 328, -1, -1,
8261
331, 332, 333, 334, 335, 336, -1, 338, -1, -1,
8262
-1, -1, 343, -1, -1, 346, 347, 348, -1, 350,
8263
351, 352, 353, 354, 355, 3, 4, 5, 6, 7,
8264
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
8265
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
8266
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
8267
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
8268
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
8269
58, 59, 60, 61, -1, 63, 64, 65, -1, 67,
8270
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
8271
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
8272
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
8273
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
8274
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
8275
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
8276
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
8277
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
8278
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
8279
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
8280
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
8281
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
8282
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
8283
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
8284
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
8285
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
8286
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
8287
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
8288
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
8289
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
8290
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
8291
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
8292
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
8293
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
8294
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
8295
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
8296
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
8297
338, -1, -1, -1, -1, 343, -1, -1, 346, 347,
8298
348, -1, 350, 351, 352, 353, 354, 355, 3, 4,
8299
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
8300
-1, -1, -1, -1, -1, -1, 21, 22, -1, 24,
8301
-1, 26, 27, 28, -1, 30, -1, 32, 33, -1,
8302
35, 36, 37, 38, -1, -1, 41, 42, 43, 44,
8303
-1, 46, 47, 48, 49, 50, -1, -1, 53, 54,
8304
55, 56, -1, 58, 59, 60, 61, -1, 63, 64,
8305
65, -1, 67, -1, -1, -1, -1, -1, 73, 74,
8306
75, 76, 77, 78, 79, 80, -1, 82, -1, 84,
8307
85, 86, 87, 88, -1, 90, -1, -1, 93, 94,
8308
95, 96, -1, 98, 99, 100, -1, 102, -1, 104,
8309
105, 106, 107, 108, 109, 110, -1, 112, 113, 114,
8310
-1, 116, -1, 118, -1, -1, -1, 122, 123, -1,
8311
125, 126, -1, 128, -1, 130, 131, 132, -1, 134,
8312
135, 136, -1, 138, 139, 140, 141, 142, -1, -1,
8313
145, 146, 147, 148, 149, 150, 151, -1, 153, -1,
8314
155, -1, -1, 158, -1, 160, 161, 162, 163, 164,
8315
-1, 166, -1, 168, -1, -1, 171, 172, 173, -1,
8316
-1, 176, 177, 178, 179, 180, 181, 182, 183, 184,
8317
185, 186, 187, -1, 189, -1, 191, 192, 193, 194,
8318
195, 196, 197, 198, 199, -1, 201, 202, -1, 204,
8319
-1, 206, 207, 208, 209, -1, -1, 212, -1, -1,
8320
-1, 216, 217, -1, -1, 220, -1, -1, 223, 224,
8321
225, 226, -1, 228, 229, 230, 231, 232, -1, 234,
8322
235, 236, 237, 238, 239, 240, 241, -1, 243, 244,
8323
245, 246, 247, 248, 249, 250, 251, 252, 253, -1,
8324
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
8325
-1, 266, 267, 268, -1, 270, 271, 272, 273, -1,
8326
275, 276, -1, 278, 279, 280, 281, 282, 283, 284,
8327
285, 286, 287, -1, 289, 290, -1, 292, 293, 294,
8328
295, -1, 297, 298, -1, 300, -1, 302, 303, 304,
8329
305, -1, 307, 308, 309, 310, 311, -1, -1, 314,
8330
315, 316, 317, -1, -1, 320, 321, 322, 323, 324,
8331
325, -1, 327, 328, -1, -1, 331, 332, 333, 334,
8332
335, 336, -1, 338, -1, -1, -1, -1, 343, -1,
8333
-1, 346, 347, 348, -1, 350, 351, 352, 353, 354,
8334
355, 3, 4, 5, 6, 7, 8, 9, 10, -1,
8335
12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
8336
22, -1, 24, -1, 26, 27, 28, -1, 30, -1,
8337
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
8338
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
8339
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
8340
-1, 63, 64, 65, -1, 67, -1, -1, -1, -1,
8341
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
8342
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
8343
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
8344
102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
8345
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
8346
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
8347
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
8348
142, -1, -1, 145, 146, 147, 148, 149, 150, 151,
8349
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
8350
162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
8351
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
8352
182, 183, 184, 185, 186, 187, -1, 189, -1, 191,
8353
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
8354
202, -1, 204, -1, 206, 207, 208, 209, -1, -1,
8355
212, -1, -1, -1, 216, 217, -1, -1, 220, -1,
8356
-1, 223, 224, 225, 226, -1, 228, 229, 230, 231,
8357
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
8358
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
8359
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
8360
262, 263, 264, -1, 266, 267, 268, -1, 270, 271,
8361
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
8362
282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
8363
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
8364
302, 303, 304, 305, -1, 307, 308, 309, 310, 311,
8365
-1, -1, 314, 315, 316, 317, -1, -1, 320, 321,
8366
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
8367
332, 333, 334, 335, 336, -1, 338, -1, -1, -1,
8368
-1, 343, -1, -1, 346, 347, 348, -1, 350, 351,
8369
352, 353, 354, 355, 3, 4, 5, 6, 7, 8,
8370
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
8371
-1, -1, 21, 22, -1, 24, -1, 26, 27, 28,
8372
-1, 30, -1, 32, 33, -1, 35, 36, 37, 38,
8373
-1, -1, 41, 42, 43, 44, -1, 46, 47, 48,
8374
49, -1, -1, -1, 53, 54, 55, 56, -1, 58,
8375
59, -1, 61, -1, 63, 64, 65, -1, 67, -1,
8376
-1, -1, -1, -1, 73, 74, 75, 76, 77, 78,
8377
79, 80, -1, 82, -1, 84, 85, 86, 87, 88,
8378
-1, 90, -1, -1, 93, 94, 95, 96, -1, 98,
8379
99, 100, -1, 102, -1, 104, 105, 106, -1, 108,
8380
109, -1, -1, 112, 113, 114, -1, 116, -1, 118,
8381
-1, -1, -1, 122, 123, -1, 125, -1, -1, 128,
8382
-1, 130, 131, 132, -1, 134, 135, 136, -1, 138,
8383
139, 140, 141, 142, -1, -1, -1, 146, 147, 148,
8384
149, 150, 151, -1, 153, -1, 155, -1, -1, 158,
8385
-1, 160, 161, 162, 163, 164, -1, -1, -1, 168,
8386
-1, -1, 171, 172, 173, -1, -1, 176, 177, 178,
8387
179, 180, 181, 182, 183, 184, 185, 186, 187, -1,
8388
189, -1, 191, 192, 193, 194, 195, 196, 197, -1,
8389
199, -1, 201, 202, -1, 204, -1, -1, 207, 208,
8390
209, -1, -1, 212, -1, -1, -1, 216, 217, -1,
8391
-1, -1, -1, -1, -1, 224, 225, 226, -1, -1,
8392
-1, 230, 231, 232, -1, 234, 235, 236, 237, 238,
8393
239, 240, 241, -1, 243, 244, 245, 246, 247, 248,
8394
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
8395
259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
8396
-1, 270, 271, 272, 273, -1, 275, 276, -1, 278,
8397
279, 280, 281, 282, 283, 284, 285, -1, 287, -1,
8398
289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
8399
-1, 300, -1, 302, -1, 304, -1, -1, 307, 308,
8400
309, 310, 311, -1, -1, 314, 315, 316, 317, -1,
8401
-1, 320, 321, 322, 323, 324, 325, -1, 327, 328,
8402
-1, -1, 331, 332, 333, 334, 335, 336, -1, 338,
8403
339, 340, -1, -1, 343, 344, -1, 346, 347, 348,
8404
-1, 350, 351, 352, 353, 354, 355, 3, 4, 5,
8405
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8406
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
8407
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
8408
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
8409
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
8410
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
8411
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
8412
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
8413
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
8414
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
8415
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
8416
116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
8417
126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
8418
136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
8419
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
8420
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
8421
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
8422
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
8423
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
8424
196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
8425
206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
8426
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
8427
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
8428
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
8429
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
8430
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
8431
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
8432
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
8433
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
8434
296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
8435
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
8436
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
8437
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
8438
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
8439
10, -1, 12, 13, -1, -1, 352, -1, -1, -1,
8440
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
8441
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
8442
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
8443
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
8444
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
8445
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
8446
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
8447
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
8448
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
8449
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
8450
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
8451
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
8452
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
8453
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
8454
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
8455
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
8456
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
8457
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
8458
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
8459
-1, -1, 212, 213, -1, -1, 216, 217, -1, -1,
8460
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
8461
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
8462
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
8463
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
8464
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
8465
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
8466
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
8467
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
8468
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
8469
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
8470
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
8471
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
8472
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
8473
-1, -1, 352, -1, -1, -1, -1, 21, 22, -1,
8474
24, -1, 26, 27, 28, -1, 30, -1, 32, 33,
8475
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
8476
44, -1, 46, 47, 48, 49, -1, -1, -1, 53,
8477
54, 55, 56, -1, 58, 59, -1, 61, -1, 63,
8478
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
8479
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
8480
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
8481
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
8482
104, 105, 106, -1, 108, 109, -1, -1, 112, 113,
8483
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
8484
-1, 125, -1, -1, 128, -1, 130, 131, 132, -1,
8485
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
8486
-1, -1, 146, 147, 148, 149, 150, 151, -1, 153,
8487
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
8488
164, -1, -1, -1, 168, -1, -1, 171, 172, 173,
8489
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
8490
184, 185, 186, 187, -1, 189, -1, 191, 192, 193,
8491
194, 195, 196, 197, -1, 199, -1, 201, 202, -1,
8492
204, -1, -1, 207, 208, 209, -1, -1, 212, -1,
8493
-1, -1, 216, 217, -1, -1, -1, -1, -1, -1,
8494
224, 225, 226, -1, -1, -1, 230, 231, 232, -1,
8495
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
8496
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
8497
-1, 255, 256, -1, 258, 259, 260, 261, 262, 263,
8498
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
8499
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
8500
284, 285, -1, 287, -1, 289, 290, -1, 292, 293,
8501
294, 295, -1, 297, 298, -1, 300, -1, 302, -1,
8502
304, -1, -1, 307, 308, 309, 310, 311, -1, -1,
8503
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
8504
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
8505
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
8506
8, 9, 10, -1, 12, 13, -1, -1, 352, -1,
8507
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
8508
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
8509
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
8510
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
8511
58, 59, 60, 61, -1, 63, 64, 65, -1, 67,
8512
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
8513
78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
8514
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
8515
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
8516
108, 109, 110, 111, 112, 113, 114, -1, 116, -1,
8517
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
8518
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
8519
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
8520
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
8521
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
8522
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
8523
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
8524
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
8525
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
8526
208, 209, 210, -1, 212, -1, 214, -1, 216, 217,
8527
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
8528
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
8529
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
8530
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
8531
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
8532
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
8533
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
8534
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
8535
298, -1, 300, -1, 302, 303, 304, 305, 306, 307,
8536
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
8537
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
8538
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
8539
338, 339, 340, -1, -1, -1, 344, -1, -1, -1,
8540
-1, -1, -1, 351, 3, 4, 5, 6, 7, 8,
8541
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
8542
-1, -1, 21, 22, -1, 24, -1, 26, 27, 28,
8543
-1, 30, -1, 32, 33, -1, 35, 36, 37, 38,
8544
-1, -1, 41, 42, 43, 44, -1, 46, 47, 48,
8545
49, 50, -1, -1, 53, 54, 55, 56, -1, 58,
8546
59, 60, 61, -1, 63, 64, 65, -1, 67, -1,
8547
-1, -1, -1, -1, 73, 74, 75, 76, 77, 78,
8548
79, 80, -1, 82, -1, 84, 85, 86, 87, 88,
8549
-1, 90, -1, -1, 93, 94, 95, 96, -1, 98,
8550
99, 100, -1, 102, -1, 104, 105, 106, 107, 108,
8551
109, 110, 111, 112, 113, 114, -1, 116, -1, 118,
8552
-1, -1, -1, 122, 123, -1, 125, 126, -1, 128,
8553
-1, 130, 131, 132, -1, 134, 135, 136, -1, 138,
8554
139, 140, 141, 142, -1, -1, 145, 146, 147, 148,
8555
149, 150, 151, -1, 153, -1, 155, -1, -1, 158,
8556
-1, 160, 161, 162, 163, 164, -1, 166, -1, 168,
8557
-1, -1, 171, 172, 173, -1, -1, 176, 177, 178,
8558
179, 180, 181, 182, 183, 184, 185, 186, 187, -1,
8559
189, -1, 191, 192, 193, 194, 195, 196, 197, 198,
8560
199, -1, 201, 202, -1, 204, -1, 206, 207, 208,
8561
209, 210, -1, 212, -1, 214, -1, 216, 217, -1,
8562
-1, 220, -1, -1, 223, 224, 225, 226, -1, 228,
8563
229, 230, 231, 232, -1, 234, 235, 236, 237, 238,
8564
239, 240, 241, -1, 243, 244, 245, 246, 247, 248,
8565
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
8566
259, 260, 261, 262, 263, 264, -1, 266, 267, 268,
8567
-1, 270, 271, 272, 273, -1, 275, 276, -1, 278,
8568
279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
8569
289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
8570
-1, 300, -1, 302, 303, 304, 305, 306, 307, 308,
8571
309, 310, 311, -1, -1, 314, 315, 316, 317, -1,
8572
-1, 320, 321, 322, 323, 324, 325, -1, 327, 328,
8573
-1, -1, 331, 332, 333, 334, 335, 336, -1, 338,
8574
339, 340, -1, -1, -1, 344, -1, -1, -1, -1,
8575
-1, -1, 351, 3, 4, 5, 6, 7, 8, 9,
8576
10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
8577
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
8578
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
8579
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
8580
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
8581
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
8582
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
8583
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
8584
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
8585
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
8586
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
8587
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
8588
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
8589
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
8590
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
8591
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
8592
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
8593
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
8594
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
8595
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
8596
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
8597
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
8598
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
8599
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
8600
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
8601
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
8602
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
8603
280, 281, 282, 283, 284, 285, 286, 287, 16, 289,
8604
290, -1, 292, 293, 294, 295, 24, 297, 298, -1,
8605
300, 29, 302, 303, 304, 305, -1, 307, 308, 309,
8606
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
8607
320, 321, 322, 323, 324, 325, -1, 327, 328, 16,
8608
-1, 331, 332, 333, 334, 335, 336, 24, 338, -1,
8609
-1, -1, 29, -1, 344, -1, -1, -1, -1, -1,
8610
-1, 351, -1, -1, -1, -1, 16, -1, -1, -1,
8611
-1, -1, -1, -1, 24, -1, -1, -1, -1, 29,
8612
-1, -1, -1, -1, -1, -1, -1, 16, -1, -1,
8613
-1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
8614
29, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8615
-1, -1, -1, -1, 16, 133, -1, -1, -1, 137,
8616
-1, -1, 24, -1, -1, -1, -1, 29, -1, -1,
8617
-1, -1, -1, -1, -1, -1, -1, -1, 156, 157,
8618
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8619
-1, 169, -1, -1, -1, 16, 133, -1, -1, -1,
8620
137, -1, -1, 24, -1, -1, -1, -1, 29, -1,
8621
-1, -1, -1, -1, -1, -1, -1, -1, -1, 156,
8622
157, -1, 200, 133, -1, 203, -1, 137, -1, -1,
8623
-1, -1, 169, -1, -1, -1, -1, -1, 216, -1,
8624
218, -1, -1, -1, 133, -1, 156, 157, 137, -1,
8625
-1, -1, -1, -1, -1, -1, -1, -1, -1, 169,
8626
-1, -1, -1, 200, -1, -1, 203, 156, 157, -1,
8627
-1, 133, -1, -1, -1, 137, -1, -1, -1, 216,
8628
169, 218, -1, -1, -1, -1, -1, -1, -1, -1,
8629
200, -1, -1, 203, 156, 157, 274, -1, -1, -1,
8630
-1, -1, -1, -1, -1, -1, 216, 169, 218, -1,
8631
-1, 200, 133, -1, 203, -1, 137, -1, 296, -1,
8632
-1, -1, -1, -1, -1, -1, -1, 216, -1, 218,
8633
-1, -1, -1, -1, -1, 156, 157, 274, 200, -1,
8634
-1, 203, -1, -1, -1, -1, -1, -1, 169, -1,
8635
-1, -1, -1, -1, 216, -1, 218, -1, -1, -1,
8636
-1, -1, -1, -1, 274, 343, -1, -1, 346, 347,
8637
348, -1, 350, 351, 352, 353, 354, 355, -1, 200,
8638
-1, -1, 203, 361, -1, 274, -1, -1, -1, -1,
8639
-1, -1, -1, -1, -1, 216, -1, 218, -1, -1,
8640
-1, -1, -1, -1, -1, -1, 343, -1, -1, 346,
8641
347, 348, 274, 350, 351, 352, 353, 354, 355, -1,
8642
-1, 16, -1, 360, 361, -1, -1, -1, -1, 24,
8643
-1, -1, -1, 343, 29, -1, 346, 347, 348, -1,
8644
350, 351, 352, 353, 354, 355, -1, 16, -1, -1,
8645
360, 361, -1, 274, 343, 24, -1, 346, 347, 348,
8646
29, 350, 351, 352, 353, 354, 355, -1, -1, -1,
8647
-1, 360, 361, -1, -1, -1, -1, -1, -1, -1,
8648
-1, 343, -1, -1, 346, 347, 348, -1, 350, 351,
8649
352, 353, 354, 355, -1, -1, -1, -1, 360, 361,
8650
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8651
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8652
-1, -1, 343, -1, -1, 346, 347, 348, -1, 350,
8653
351, 352, 353, 354, 355, -1, -1, -1, 133, 360,
8654
361, -1, 137, -1, -1, -1, -1, -1, -1, -1,
8655
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8656
-1, 156, 157, -1, 133, -1, -1, -1, 137, -1,
8657
-1, -1, -1, -1, 169, -1, -1, -1, -1, -1,
8658
-1, -1, -1, -1, -1, -1, -1, 156, 157, -1,
8659
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8660
169, -1, -1, -1, -1, 200, -1, -1, 203, -1,
8661
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8662
-1, 216, -1, 218, -1, -1, -1, -1, -1, -1,
8663
-1, 200, -1, -1, 203, -1, -1, -1, -1, -1,
8664
-1, -1, -1, -1, -1, -1, -1, 216, -1, 218,
8665
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8666
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8667
-1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
8668
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8669
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8670
-1, -1, -1, -1, -1, 274, -1, -1, -1, -1,
8671
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8672
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8673
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8674
-1, -1, -1, -1, -1, -1, -1, -1, 343, -1,
8675
-1, 346, 347, 348, -1, 350, 351, 352, 353, 354,
8676
355, -1, -1, -1, -1, 360, 361, -1, -1, -1,
8677
-1, -1, -1, -1, 343, -1, -1, 346, 347, 348,
8678
-1, 350, 351, 352, 353, 354, 355, -1, -1, -1,
8679
-1, -1, 361, 3, 4, 5, 6, 7, 8, 9,
8680
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
8681
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
8682
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
8683
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
8684
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
8685
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
8686
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
8687
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
8688
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
8689
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
8690
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
8691
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
8692
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
8693
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
8694
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
8695
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
8696
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
8697
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
8698
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
8699
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
8700
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
8701
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
8702
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
8703
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
8704
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
8705
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
8706
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
8707
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
8708
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
8709
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
8710
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
8711
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
8712
-1, 331, 332, 333, 334, 335, 336, -1, 338, 339,
8713
340, 341, 342, -1, 344, 3, 4, 5, 6, 7,
8714
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
8715
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
8716
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
8717
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
8718
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
8719
58, 59, 60, 61, -1, 63, 64, 65, -1, 67,
8720
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
8721
78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
8722
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
8723
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
8724
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
8725
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
8726
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
8727
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
8728
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
8729
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
8730
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
8731
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
8732
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
8733
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
8734
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
8735
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
8736
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
8737
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
8738
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
8739
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
8740
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
8741
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
8742
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
8743
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
8744
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
8745
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
8746
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
8747
338, -1, 340, 3, 4, 5, 6, 7, 8, 9,
8748
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
8749
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
8750
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
8751
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
8752
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
8753
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
8754
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
8755
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
8756
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
8757
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
8758
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
8759
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
8760
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
8761
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
8762
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
8763
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
8764
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
8765
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
8766
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
8767
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
8768
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
8769
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
8770
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
8771
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
8772
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
8773
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
8774
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
8775
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
8776
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
8777
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
8778
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
8779
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
8780
-1, 331, 332, 333, 334, 335, 336, -1, 338, -1,
8781
340, 3, 4, 5, 6, 7, 8, 9, 10, 11,
8782
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
8783
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
8784
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
8785
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
8786
52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
8787
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
8788
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
8789
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
8790
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
8791
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
8792
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
8793
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
8794
132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
8795
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
8796
152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
8797
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
8798
172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
8799
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
8800
192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
8801
202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
8802
212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
8803
222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
8804
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
8805
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
8806
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
8807
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
8808
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
8809
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
8810
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
8811
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
8812
312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
8813
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
8814
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
8815
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
8816
-1, -1, -1, -1, -1, 21, 22, -1, 24, 25,
8817
26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
8818
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
8819
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
8820
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
8821
66, 67, -1, -1, -1, -1, -1, 73, 74, 75,
8822
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
8823
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
8824
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
8825
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
8826
116, -1, 118, 119, -1, 121, 122, 123, -1, 125,
8827
126, -1, 128, -1, 130, 131, 132, 133, 134, 135,
8828
136, -1, 138, 139, 140, 141, 142, -1, 144, 145,
8829
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
8830
156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
8831
166, 167, 168, 169, -1, 171, 172, 173, -1, -1,
8832
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
8833
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
8834
196, 197, 198, 199, -1, 201, 202, 203, 204, -1,
8835
206, 207, 208, 209, -1, -1, 212, 213, -1, -1,
8836
216, 217, -1, -1, 220, 221, 222, 223, 224, 225,
8837
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
8838
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
8839
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
8840
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
8841
266, 267, 268, -1, 270, 271, 272, 273, 274, 275,
8842
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
8843
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
8844
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
8845
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
8846
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
8847
326, 327, 328, -1, -1, 331, 332, 333, 334, 335,
8848
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
8849
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
8850
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
8851
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
8852
-1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
8853
50, -1, -1, 53, 54, 55, 56, 57, 58, 59,
8854
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
8855
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
8856
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
8857
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
8858
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
8859
110, -1, 112, 113, 114, -1, 116, 117, 118, -1,
8860
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
8861
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
8862
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
8863
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
8864
160, 161, 162, 163, 164, -1, 166, -1, 168, 169,
8865
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
8866
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
8867
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
8868
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
8869
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
8870
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
8871
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
8872
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
8873
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
8874
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
8875
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
8876
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
8877
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
8878
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
8879
310, 311, -1, 313, 314, 315, 316, 317, -1, -1,
8880
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
8881
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
8882
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
8883
-1, -1, -1, -1, -1, -1, -1, 21, 22, -1,
8884
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
8885
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
8886
44, -1, 46, 47, 48, 49, -1, -1, -1, 53,
8887
54, 55, 56, -1, 58, 59, -1, 61, -1, 63,
8888
64, 65, 66, 67, -1, -1, -1, -1, -1, 73,
8889
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
8890
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
8891
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
8892
104, 105, 106, -1, 108, 109, -1, -1, 112, 113,
8893
114, -1, 116, -1, 118, 119, -1, 121, 122, 123,
8894
-1, 125, -1, -1, 128, -1, 130, 131, 132, 133,
8895
134, 135, 136, 137, 138, 139, 140, 141, 142, -1,
8896
144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
8897
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
8898
164, -1, -1, 167, 168, 169, -1, 171, 172, 173,
8899
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
8900
184, 185, 186, 187, 188, 189, -1, 191, 192, 193,
8901
194, 195, 196, 197, -1, 199, -1, 201, 202, 203,
8902
204, -1, -1, 207, 208, 209, -1, -1, 212, -1,
8903
-1, -1, 216, 217, -1, -1, 220, 221, 222, -1,
8904
224, 225, 226, -1, -1, -1, 230, 231, 232, -1,
8905
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
8906
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
8907
254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
8908
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
8909
274, 275, 276, -1, 278, 279, 280, 281, 282, 283,
8910
284, 285, -1, 287, -1, 289, 290, -1, 292, 293,
8911
294, 295, -1, 297, 298, -1, 300, -1, 302, -1,
8912
304, -1, -1, 307, 308, 309, 310, 311, -1, -1,
8913
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
8914
324, 325, 326, 327, 328, -1, -1, 331, 332, 333,
8915
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
8916
8, 9, 10, 11, 12, 13, -1, -1, -1, -1,
8917
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
8918
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
8919
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
8920
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
8921
58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
8922
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
8923
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
8924
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
8925
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
8926
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
8927
118, -1, -1, -1, 122, 123, 124, 125, 126, -1,
8928
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
8929
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
8930
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
8931
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
8932
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
8933
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
8934
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
8935
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
8936
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
8937
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
8938
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
8939
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
8940
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
8941
258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
8942
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
8943
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
8944
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
8945
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
8946
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
8947
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
8948
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
8949
338, 3, 4, 5, 6, 7, 8, 9, 10, 11,
8950
12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
8951
22, -1, 24, -1, 26, 27, 28, -1, 30, -1,
8952
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
8953
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
8954
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
8955
62, 63, 64, 65, -1, 67, -1, -1, -1, -1,
8956
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
8957
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
8958
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
8959
102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
8960
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
8961
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
8962
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
8963
142, -1, -1, 145, 146, 147, 148, 149, 150, 151,
8964
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
8965
162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
8966
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
8967
182, 183, 184, 185, 186, 187, -1, 189, -1, 191,
8968
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
8969
202, -1, 204, -1, 206, 207, 208, 209, -1, -1,
8970
212, -1, -1, -1, 216, 217, -1, -1, 220, -1,
8971
-1, 223, 224, 225, 226, -1, 228, 229, 230, 231,
8972
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
8973
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
8974
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
8975
262, 263, 264, 265, 266, 267, 268, -1, 270, 271,
8976
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
8977
282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
8978
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
8979
302, 303, 304, 305, -1, 307, 308, 309, 310, 311,
8980
-1, -1, 314, 315, 316, 317, -1, -1, 320, 321,
8981
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
8982
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
8983
6, 7, 8, 9, 10, -1, 12, 13, 14, 15,
8984
-1, -1, -1, -1, -1, 21, 22, -1, 24, -1,
8985
26, 27, 28, -1, 30, -1, 32, 33, -1, 35,
8986
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
8987
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
8988
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
8989
-1, 67, -1, -1, -1, -1, -1, 73, 74, 75,
8990
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
8991
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
8992
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
8993
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
8994
116, -1, 118, -1, -1, -1, 122, 123, -1, 125,
8995
126, -1, 128, -1, 130, 131, 132, -1, 134, 135,
8996
136, -1, 138, 139, 140, 141, 142, -1, -1, 145,
8997
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
8998
-1, -1, 158, -1, 160, 161, 162, 163, 164, -1,
8999
166, -1, 168, -1, -1, 171, 172, 173, -1, -1,
9000
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
9001
186, 187, -1, 189, 190, 191, 192, 193, 194, 195,
9002
196, 197, 198, 199, -1, 201, 202, -1, 204, -1,
9003
206, 207, 208, 209, -1, -1, 212, 213, -1, -1,
9004
216, 217, -1, -1, 220, -1, -1, 223, 224, 225,
9005
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
9006
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
9007
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
9008
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
9009
266, 267, 268, -1, 270, 271, 272, 273, -1, 275,
9010
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
9011
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
9012
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
9013
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
9014
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
9015
-1, 327, 328, -1, -1, 331, 332, 333, 334, 335,
9016
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
9017
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
9018
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
9019
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
9020
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
9021
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
9022
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
9023
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
9024
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
9025
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
9026
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
9027
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
9028
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
9029
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
9030
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
9031
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
9032
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
9033
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
9034
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
9035
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
9036
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
9037
-1, -1, 212, 213, -1, 215, 216, 217, -1, -1,
9038
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
9039
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
9040
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
9041
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
9042
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
9043
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
9044
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
9045
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
9046
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
9047
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
9048
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
9049
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
9050
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
9051
-1, -1, -1, -1, -1, -1, -1, 21, 22, -1,
9052
24, -1, 26, 27, 28, -1, 30, -1, 32, 33,
9053
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
9054
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
9055
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
9056
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
9057
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
9058
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
9059
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
9060
104, 105, 106, 107, 108, 109, 110, -1, 112, 113,
9061
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
9062
-1, 125, 126, -1, 128, -1, 130, 131, 132, -1,
9063
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
9064
-1, 145, 146, 147, 148, 149, 150, 151, -1, 153,
9065
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
9066
164, -1, 166, -1, 168, -1, -1, 171, 172, 173,
9067
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
9068
184, 185, 186, 187, -1, 189, 190, 191, 192, 193,
9069
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
9070
204, -1, 206, 207, 208, 209, -1, -1, 212, 213,
9071
-1, -1, 216, 217, -1, -1, 220, -1, -1, 223,
9072
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
9073
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
9074
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
9075
-1, 255, 256, 257, 258, 259, 260, 261, 262, 263,
9076
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
9077
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
9078
284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
9079
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
9080
304, 305, -1, 307, 308, 309, 310, 311, -1, -1,
9081
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
9082
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
9083
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
9084
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
9085
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
9086
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
9087
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
9088
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
9089
58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
9090
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
9091
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
9092
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
9093
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
9094
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
9095
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
9096
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
9097
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
9098
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
9099
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
9100
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
9101
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
9102
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
9103
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
9104
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
9105
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
9106
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
9107
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
9108
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
9109
258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
9110
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
9111
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
9112
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
9113
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
9114
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
9115
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
9116
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
9117
338, 3, 4, 5, 6, 7, 8, 9, 10, -1,
9118
12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
9119
22, -1, 24, -1, 26, 27, 28, -1, 30, -1,
9120
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
9121
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
9122
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
9123
-1, 63, 64, 65, -1, 67, -1, -1, -1, -1,
9124
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
9125
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
9126
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
9127
102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
9128
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
9129
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
9130
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
9131
142, -1, -1, 145, 146, 147, 148, 149, 150, 151,
9132
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
9133
162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
9134
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
9135
182, 183, 184, 185, 186, 187, -1, 189, 190, 191,
9136
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
9137
202, -1, 204, -1, 206, 207, 208, 209, -1, -1,
9138
212, 213, -1, -1, 216, 217, -1, -1, 220, -1,
9139
-1, 223, 224, 225, 226, -1, 228, 229, 230, 231,
9140
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
9141
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
9142
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
9143
262, 263, 264, -1, 266, 267, 268, -1, 270, 271,
9144
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
9145
282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
9146
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
9147
302, 303, 304, 305, -1, 307, 308, 309, 310, 311,
9148
-1, -1, 314, 315, 316, 317, -1, -1, 320, 321,
9149
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
9150
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
9151
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
9152
-1, -1, -1, -1, -1, 21, 22, -1, 24, 25,
9153
26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
9154
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
9155
46, 47, 48, 49, -1, -1, -1, 53, 54, 55,
9156
56, -1, 58, 59, -1, 61, -1, 63, 64, 65,
9157
66, 67, -1, -1, -1, -1, -1, 73, 74, 75,
9158
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
9159
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
9160
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
9161
106, -1, 108, 109, -1, -1, 112, 113, 114, -1,
9162
116, -1, 118, 119, -1, 121, 122, 123, -1, 125,
9163
-1, -1, 128, -1, 130, 131, 132, 133, 134, 135,
9164
136, -1, 138, 139, 140, 141, 142, -1, 144, -1,
9165
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
9166
156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
9167
-1, 167, 168, 169, -1, 171, 172, 173, -1, -1,
9168
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
9169
186, 187, 188, 189, -1, 191, 192, 193, 194, 195,
9170
196, 197, -1, 199, -1, 201, 202, 203, 204, -1,
9171
-1, 207, 208, 209, -1, -1, 212, -1, -1, -1,
9172
216, 217, -1, -1, -1, 221, 222, -1, 224, 225,
9173
226, -1, -1, -1, 230, 231, 232, -1, 234, 235,
9174
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
9175
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
9176
256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
9177
266, 267, 268, -1, 270, 271, 272, 273, 274, 275,
9178
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
9179
-1, 287, -1, 289, 290, -1, 292, 293, 294, 295,
9180
-1, 297, 298, -1, 300, -1, 302, -1, 304, -1,
9181
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
9182
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
9183
326, 327, 328, -1, -1, 331, 332, 333, 334, 335,
9184
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
9185
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
9186
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
9187
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
9188
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
9189
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
9190
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
9191
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
9192
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
9193
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
9194
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
9195
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
9196
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
9197
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
9198
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
9199
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
9200
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
9201
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
9202
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
9203
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
9204
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
9205
-1, -1, 212, 213, -1, -1, 216, 217, -1, -1,
9206
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
9207
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
9208
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
9209
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
9210
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
9211
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
9212
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
9213
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
9214
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
9215
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
9216
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
9217
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
9218
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
9219
-1, -1, -1, -1, -1, -1, -1, 21, 22, -1,
9220
24, -1, 26, 27, 28, -1, 30, -1, 32, 33,
9221
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
9222
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
9223
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
9224
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
9225
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
9226
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
9227
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
9228
104, 105, 106, 107, 108, 109, 110, -1, 112, 113,
9229
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
9230
-1, 125, 126, -1, 128, -1, 130, 131, 132, -1,
9231
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
9232
-1, 145, 146, 147, 148, 149, 150, 151, -1, 153,
9233
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
9234
164, -1, 166, -1, 168, -1, -1, 171, 172, 173,
9235
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
9236
184, 185, 186, 187, -1, 189, -1, 191, 192, 193,
9237
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
9238
204, -1, 206, 207, 208, 209, -1, -1, 212, -1,
9239
-1, -1, 216, 217, -1, -1, 220, -1, -1, 223,
9240
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
9241
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
9242
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
9243
-1, 255, 256, 257, 258, 259, 260, 261, 262, 263,
9244
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
9245
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
9246
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
9247
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
9248
304, 305, -1, 307, 308, 309, 310, 311, -1, -1,
9249
314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
9250
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
9251
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
9252
8, 9, 10, 11, 12, 13, -1, -1, -1, -1,
9253
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
9254
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
9255
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
9256
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
9257
58, 59, 60, 61, -1, 63, 64, 65, -1, 67,
9258
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
9259
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
9260
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
9261
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
9262
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
9263
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
9264
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
9265
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
9266
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
9267
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
9268
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
9269
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
9270
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
9271
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
9272
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
9273
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
9274
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
9275
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
9276
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
9277
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
9278
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
9279
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
9280
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
9281
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
9282
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
9283
318, -1, 320, 321, 322, 323, 324, 325, -1, 327,
9284
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
9285
338, 3, 4, 5, 6, 7, 8, 9, 10, 11,
9286
12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
9287
22, -1, 24, -1, 26, 27, 28, -1, 30, -1,
9288
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
9289
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
9290
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
9291
-1, 63, 64, 65, -1, 67, -1, -1, -1, -1,
9292
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
9293
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
9294
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
9295
102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
9296
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
9297
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
9298
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
9299
142, -1, -1, 145, 146, 147, 148, 149, 150, 151,
9300
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
9301
162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
9302
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
9303
182, 183, 184, 185, 186, 187, -1, 189, -1, 191,
9304
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
9305
202, -1, 204, -1, 206, 207, 208, 209, -1, -1,
9306
212, -1, -1, -1, 216, 217, -1, -1, 220, -1,
9307
-1, 223, 224, 225, 226, -1, 228, 229, 230, 231,
9308
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
9309
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
9310
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
9311
262, 263, 264, -1, 266, 267, 268, -1, 270, 271,
9312
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
9313
282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
9314
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
9315
302, 303, 304, 305, -1, 307, 308, 309, 310, 311,
9316
-1, -1, 314, 315, 316, 317, -1, -1, 320, 321,
9317
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
9318
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
9319
6, 7, 8, 9, 10, 11, 12, 13, -1, -1,
9320
-1, -1, -1, -1, -1, 21, 22, -1, 24, -1,
9321
26, 27, 28, -1, 30, -1, 32, 33, -1, 35,
9322
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
9323
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
9324
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
9325
-1, 67, -1, -1, -1, -1, -1, 73, 74, 75,
9326
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
9327
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
9328
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
9329
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
9330
116, -1, 118, -1, -1, -1, 122, 123, -1, 125,
9331
126, -1, 128, -1, 130, 131, 132, -1, 134, 135,
9332
136, -1, 138, 139, 140, 141, 142, -1, -1, 145,
9333
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
9334
-1, -1, 158, -1, 160, 161, 162, 163, 164, -1,
9335
166, -1, 168, -1, -1, 171, 172, 173, -1, -1,
9336
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
9337
186, 187, -1, 189, -1, 191, 192, 193, 194, 195,
9338
196, 197, 198, 199, -1, 201, 202, -1, 204, -1,
9339
206, 207, 208, 209, -1, -1, 212, -1, -1, -1,
9340
216, 217, -1, -1, 220, -1, -1, 223, 224, 225,
9341
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
9342
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
9343
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
9344
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
9345
266, 267, 268, -1, 270, 271, 272, 273, -1, 275,
9346
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
9347
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
9348
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
9349
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
9350
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
9351
-1, 327, 328, -1, -1, 331, 332, 333, 334, 335,
9352
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
9353
10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
9354
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
9355
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
9356
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
9357
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
9358
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
9359
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
9360
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
9361
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
9362
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
9363
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
9364
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
9365
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
9366
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
9367
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
9368
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
9369
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
9370
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
9371
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
9372
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
9373
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
9374
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
9375
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
9376
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
9377
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
9378
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
9379
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
9380
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
9381
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
9382
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
9383
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
9384
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
9385
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
9386
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
9387
-1, -1, -1, -1, -1, -1, -1, 21, 22, -1,
9388
24, 25, 26, 27, 28, -1, 30, -1, 32, 33,
9389
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
9390
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
9391
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
9392
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
9393
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
9394
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
9395
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
9396
104, 105, 106, 107, 108, 109, 110, -1, 112, 113,
9397
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
9398
-1, 125, 126, -1, 128, -1, 130, 131, 132, -1,
9399
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
9400
-1, 145, 146, 147, 148, 149, 150, 151, -1, 153,
9401
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
9402
164, -1, 166, -1, 168, -1, -1, 171, 172, 173,
9403
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
9404
184, 185, 186, 187, -1, 189, -1, 191, 192, 193,
9405
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
9406
204, -1, 206, 207, 208, 209, -1, -1, 212, -1,
9407
-1, -1, 216, 217, -1, -1, 220, -1, -1, 223,
9408
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
9409
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
9410
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
9411
-1, 255, 256, 257, 258, 259, 260, 261, 262, 263,
9412
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
9413
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
9414
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
9415
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
9416
304, 305, -1, 307, 308, 309, 310, 311, -1, -1,
9417
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
9418
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
9419
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
9420
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
9421
-1, 19, -1, 21, 22, -1, 24, -1, 26, 27,
9422
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
9423
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
9424
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
9425
58, 59, 60, 61, -1, 63, 64, 65, -1, 67,
9426
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
9427
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
9428
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
9429
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
9430
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
9431
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
9432
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
9433
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
9434
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
9435
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
9436
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
9437
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
9438
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
9439
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
9440
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
9441
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
9442
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
9443
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
9444
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
9445
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
9446
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
9447
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
9448
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
9449
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
9450
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
9451
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
9452
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
9453
338, 3, 4, 5, 6, 7, 8, 9, 10, -1,
9454
12, 13, -1, -1, -1, -1, -1, 19, -1, 21,
9455
22, -1, 24, -1, 26, 27, 28, -1, 30, -1,
9456
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
9457
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
9458
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
9459
-1, 63, 64, 65, -1, 67, -1, -1, -1, -1,
9460
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
9461
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
9462
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
9463
102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
9464
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
9465
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
9466
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
9467
142, -1, -1, 145, 146, 147, 148, 149, 150, 151,
9468
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
9469
162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
9470
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
9471
182, 183, 184, 185, 186, 187, -1, 189, -1, 191,
9472
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
9473
202, -1, 204, -1, 206, 207, 208, 209, -1, -1,
9474
212, -1, -1, -1, 216, 217, -1, -1, 220, -1,
9475
-1, 223, 224, 225, 226, -1, 228, 229, 230, 231,
9476
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
9477
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
9478
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
9479
262, 263, 264, -1, 266, 267, 268, -1, 270, 271,
9480
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
9481
282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
9482
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
9483
302, 303, 304, 305, -1, 307, 308, 309, 310, 311,
9484
-1, -1, 314, 315, 316, 317, -1, -1, 320, 321,
9485
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
9486
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
9487
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
9488
-1, -1, -1, -1, -1, 21, 22, -1, 24, -1,
9489
26, 27, 28, -1, 30, -1, 32, 33, -1, 35,
9490
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
9491
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
9492
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
9493
-1, 67, -1, -1, -1, -1, -1, 73, 74, 75,
9494
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
9495
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
9496
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
9497
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
9498
116, -1, 118, -1, -1, -1, 122, 123, -1, 125,
9499
126, 127, 128, -1, 130, 131, 132, -1, 134, 135,
9500
136, -1, 138, 139, 140, 141, 142, -1, -1, 145,
9501
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
9502
-1, -1, 158, -1, 160, 161, 162, 163, 164, -1,
9503
166, -1, 168, -1, -1, 171, 172, 173, -1, -1,
9504
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
9505
186, 187, -1, 189, -1, 191, 192, 193, 194, 195,
9506
196, 197, 198, 199, -1, 201, 202, -1, 204, -1,
9507
206, 207, 208, 209, -1, -1, 212, -1, -1, -1,
9508
216, 217, -1, -1, 220, -1, -1, 223, 224, 225,
9509
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
9510
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
9511
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
9512
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
9513
266, 267, 268, -1, 270, 271, 272, 273, -1, 275,
9514
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
9515
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
9516
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
9517
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
9518
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
9519
-1, 327, 328, -1, -1, 331, 332, 333, 334, 335,
9520
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
9521
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
9522
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
9523
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
9524
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
9525
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
9526
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
9527
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
9528
80, 81, 82, -1, 84, 85, 86, 87, 88, -1,
9529
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
9530
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
9531
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
9532
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
9533
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
9534
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
9535
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
9536
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
9537
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
9538
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
9539
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
9540
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
9541
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
9542
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
9543
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
9544
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
9545
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
9546
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
9547
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
9548
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
9549
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
9550
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
9551
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
9552
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
9553
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
9554
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
9555
-1, -1, -1, -1, -1, -1, -1, 21, 22, -1,
9556
24, -1, 26, 27, 28, -1, 30, -1, 32, 33,
9557
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
9558
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
9559
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
9560
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
9561
74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
9562
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
9563
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
9564
104, 105, 106, 107, 108, 109, 110, -1, 112, 113,
9565
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
9566
-1, 125, 126, -1, 128, -1, 130, 131, 132, -1,
9567
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
9568
-1, 145, 146, 147, 148, 149, 150, 151, -1, 153,
9569
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
9570
164, -1, 166, -1, 168, -1, -1, 171, 172, 173,
9571
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
9572
184, 185, 186, 187, -1, 189, -1, 191, 192, 193,
9573
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
9574
204, -1, 206, 207, 208, 209, -1, -1, 212, -1,
9575
-1, -1, 216, 217, -1, -1, 220, -1, -1, 223,
9576
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
9577
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
9578
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
9579
-1, 255, 256, 257, 258, 259, 260, 261, 262, 263,
9580
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
9581
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
9582
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
9583
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
9584
304, 305, -1, 307, 308, 309, 310, 311, -1, -1,
9585
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
9586
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
9587
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
9588
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
9589
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
9590
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
9591
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
9592
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
9593
58, 59, 60, 61, -1, 63, 64, 65, -1, 67,
9594
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
9595
78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
9596
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
9597
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
9598
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
9599
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
9600
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
9601
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
9602
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
9603
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
9604
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
9605
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
9606
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
9607
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
9608
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
9609
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
9610
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
9611
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
9612
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
9613
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
9614
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
9615
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
9616
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
9617
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
9618
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
9619
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
9620
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
9621
338, 3, 4, 5, 6, 7, 8, 9, 10, -1,
9622
12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
9623
22, -1, 24, -1, 26, 27, 28, -1, 30, -1,
9624
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
9625
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
9626
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
9627
-1, 63, 64, 65, -1, 67, -1, -1, -1, -1,
9628
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
9629
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
9630
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
9631
102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
9632
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
9633
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
9634
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
9635
142, -1, -1, 145, 146, 147, 148, 149, 150, 151,
9636
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
9637
162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
9638
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
9639
182, 183, 184, 185, 186, 187, -1, 189, -1, 191,
9640
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
9641
202, -1, 204, -1, 206, 207, 208, 209, -1, -1,
9642
212, -1, -1, -1, 216, 217, -1, -1, 220, -1,
9643
-1, 223, 224, 225, 226, -1, 228, 229, 230, 231,
9644
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
9645
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
9646
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
9647
262, 263, 264, -1, 266, 267, 268, -1, 270, 271,
9648
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
9649
282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
9650
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
9651
302, 303, 304, 305, -1, 307, 308, 309, 310, 311,
9652
-1, -1, 314, 315, 316, 317, -1, 319, 320, 321,
9653
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
9654
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
9655
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
9656
-1, -1, -1, -1, -1, 21, 22, -1, 24, -1,
9657
26, 27, 28, -1, 30, -1, 32, 33, -1, 35,
9658
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
9659
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
9660
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
9661
-1, 67, -1, -1, -1, -1, -1, 73, 74, 75,
9662
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
9663
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
9664
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
9665
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
9666
116, -1, 118, -1, -1, -1, 122, 123, -1, 125,
9667
126, -1, 128, -1, 130, 131, 132, -1, 134, 135,
9668
136, -1, 138, 139, 140, 141, 142, -1, -1, 145,
9669
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
9670
-1, -1, 158, -1, 160, 161, 162, 163, 164, -1,
9671
166, -1, 168, -1, -1, 171, 172, 173, -1, -1,
9672
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
9673
186, 187, -1, 189, -1, 191, 192, 193, 194, 195,
9674
196, 197, 198, 199, -1, 201, 202, -1, 204, -1,
9675
206, 207, 208, 209, -1, -1, 212, -1, -1, -1,
9676
216, 217, -1, -1, 220, -1, -1, 223, 224, 225,
9677
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
9678
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
9679
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
9680
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
9681
266, 267, 268, -1, 270, 271, 272, 273, -1, 275,
9682
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
9683
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
9684
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
9685
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
9686
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
9687
-1, 327, 328, -1, -1, 331, 332, 333, 334, 335,
9688
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
9689
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
9690
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
9691
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
9692
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
9693
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
9694
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
9695
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
9696
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
9697
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
9698
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
9699
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
9700
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
9701
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
9702
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
9703
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
9704
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
9705
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
9706
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
9707
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
9708
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
9709
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
9710
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
9711
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
9712
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
9713
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
9714
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
9715
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
9716
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
9717
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
9718
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
9719
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
9720
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
9721
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
9722
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
9723
-1, -1, -1, -1, -1, -1, -1, 21, 22, -1,
9724
24, -1, 26, 27, 28, -1, 30, -1, 32, 33,
9725
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
9726
44, -1, 46, 47, 48, 49, 50, -1, -1, 53,
9727
54, 55, 56, -1, 58, 59, 60, 61, -1, 63,
9728
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
9729
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
9730
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
9731
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
9732
104, 105, 106, 107, 108, 109, 110, -1, 112, 113,
9733
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
9734
-1, 125, 126, -1, 128, -1, 130, 131, 132, -1,
9735
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
9736
-1, 145, 146, 147, 148, 149, 150, 151, -1, 153,
9737
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
9738
164, -1, 166, -1, 168, -1, -1, 171, 172, 173,
9739
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
9740
184, 185, 186, 187, -1, 189, -1, 191, 192, 193,
9741
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
9742
204, -1, 206, 207, 208, 209, -1, -1, 212, -1,
9743
-1, -1, 216, 217, -1, -1, 220, -1, -1, 223,
9744
224, 225, 226, -1, 228, 229, 230, 231, 232, -1,
9745
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
9746
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
9747
-1, 255, 256, 257, 258, 259, 260, 261, 262, 263,
9748
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
9749
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
9750
284, 285, 286, 287, -1, 289, 290, -1, 292, 293,
9751
294, 295, -1, 297, 298, -1, 300, -1, 302, 303,
9752
304, 305, -1, 307, 308, 309, 310, 311, -1, -1,
9753
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
9754
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
9755
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
9756
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
9757
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
9758
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
9759
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
9760
48, 49, 50, -1, -1, 53, 54, 55, 56, -1,
9761
58, 59, 60, 61, -1, 63, 64, 65, -1, 67,
9762
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
9763
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
9764
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
9765
98, 99, 100, -1, 102, -1, 104, 105, 106, 107,
9766
108, 109, 110, -1, 112, 113, 114, -1, 116, -1,
9767
118, -1, -1, -1, 122, 123, -1, 125, 126, -1,
9768
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
9769
138, 139, 140, 141, 142, -1, -1, 145, 146, 147,
9770
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
9771
158, -1, 160, 161, 162, 163, 164, -1, 166, -1,
9772
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
9773
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
9774
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
9775
198, 199, -1, 201, 202, -1, 204, -1, 206, 207,
9776
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
9777
-1, -1, 220, -1, -1, 223, 224, 225, 226, -1,
9778
228, 229, 230, 231, 232, -1, 234, 235, 236, 237,
9779
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
9780
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
9781
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
9782
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
9783
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
9784
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
9785
298, -1, 300, -1, 302, 303, 304, 305, -1, 307,
9786
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
9787
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
9788
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
9789
338, 3, 4, 5, 6, 7, 8, 9, 10, -1,
9790
12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
9791
22, -1, 24, -1, 26, 27, 28, -1, 30, -1,
9792
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
9793
42, 43, 44, -1, 46, 47, 48, 49, 50, -1,
9794
-1, 53, 54, 55, 56, -1, 58, 59, 60, 61,
9795
-1, 63, 64, 65, -1, 67, -1, -1, -1, -1,
9796
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
9797
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
9798
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
9799
102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
9800
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
9801
122, 123, -1, 125, 126, -1, 128, -1, 130, 131,
9802
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
9803
142, -1, -1, 145, 146, 147, 148, 149, 150, 151,
9804
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
9805
162, 163, 164, -1, 166, -1, 168, -1, -1, 171,
9806
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
9807
182, 183, 184, 185, 186, 187, -1, 189, -1, 191,
9808
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
9809
202, -1, 204, -1, 206, 207, 208, 209, -1, -1,
9810
212, -1, -1, -1, 216, 217, -1, -1, 220, -1,
9811
-1, 223, 224, 225, 226, -1, 228, 229, 230, 231,
9812
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
9813
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
9814
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
9815
262, 263, 264, -1, 266, 267, 268, -1, 270, 271,
9816
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
9817
282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
9818
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
9819
302, 303, 304, 305, -1, 307, 308, 309, 310, 311,
9820
-1, -1, 314, 315, 316, 317, -1, -1, 320, 321,
9821
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
9822
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
9823
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
9824
-1, -1, -1, -1, -1, 21, 22, -1, 24, -1,
9825
26, 27, 28, -1, 30, -1, 32, 33, -1, 35,
9826
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
9827
46, 47, 48, 49, 50, -1, -1, 53, 54, 55,
9828
56, -1, 58, 59, 60, 61, -1, 63, 64, 65,
9829
-1, 67, -1, -1, -1, -1, -1, 73, 74, 75,
9830
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
9831
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
9832
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
9833
106, 107, 108, 109, 110, -1, 112, 113, 114, -1,
9834
116, -1, 118, -1, -1, -1, 122, 123, -1, 125,
9835
126, -1, 128, -1, 130, 131, 132, -1, 134, 135,
9836
136, -1, 138, 139, 140, 141, 142, -1, -1, 145,
9837
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
9838
-1, -1, 158, -1, 160, 161, 162, 163, 164, -1,
9839
166, -1, 168, -1, -1, 171, 172, 173, -1, -1,
9840
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
9841
186, 187, -1, 189, -1, 191, 192, 193, 194, 195,
9842
196, 197, 198, 199, -1, 201, 202, -1, 204, -1,
9843
206, 207, 208, 209, -1, -1, 212, -1, -1, -1,
9844
216, 217, -1, -1, 220, -1, -1, 223, 224, 225,
9845
226, -1, 228, 229, 230, 231, 232, -1, 234, 235,
9846
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
9847
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
9848
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
9849
266, 267, 268, -1, 270, 271, 272, 273, -1, 275,
9850
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
9851
286, 287, -1, 289, 290, -1, 292, 293, 294, 295,
9852
-1, 297, 298, -1, 300, -1, 302, 303, 304, 305,
9853
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
9854
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
9855
-1, 327, 328, -1, -1, 331, 332, 333, 334, 335,
9856
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
9857
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
9858
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
9859
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
9860
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
9861
50, -1, -1, 53, 54, 55, 56, -1, 58, 59,
9862
60, 61, -1, 63, 64, 65, -1, 67, -1, -1,
9863
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
9864
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
9865
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
9866
100, -1, 102, -1, 104, 105, 106, 107, 108, 109,
9867
110, -1, 112, 113, 114, -1, 116, -1, 118, -1,
9868
-1, -1, 122, 123, -1, 125, 126, -1, 128, -1,
9869
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
9870
140, 141, 142, -1, -1, 145, 146, 147, 148, 149,
9871
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
9872
160, 161, 162, 163, 164, -1, 166, -1, 168, -1,
9873
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
9874
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
9875
-1, 191, 192, 193, 194, 195, 196, 197, 198, 199,
9876
-1, 201, 202, -1, 204, -1, 206, 207, 208, 209,
9877
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
9878
220, -1, -1, 223, 224, 225, 226, -1, 228, 229,
9879
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
9880
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
9881
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
9882
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
9883
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
9884
280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
9885
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
9886
300, -1, 302, 303, 304, 305, -1, 307, 308, 309,
9887
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
9888
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
9889
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
9890
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
9891
-1, -1, -1, -1, -1, -1, -1, 21, 22, -1,
9892
24, -1, 26, 27, 28, -1, 30, -1, 32, 33,
9893
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
9894
44, -1, 46, 47, 48, 49, -1, -1, -1, 53,
9895
54, 55, 56, -1, 58, 59, -1, 61, -1, 63,
9896
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
9897
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
9898
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
9899
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
9900
104, 105, 106, -1, 108, 109, -1, -1, 112, 113,
9901
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
9902
-1, 125, -1, -1, 128, -1, 130, 131, 132, -1,
9903
134, 135, 136, 137, 138, 139, 140, 141, 142, -1,
9904
-1, 145, 146, 147, 148, 149, 150, 151, -1, 153,
9905
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
9906
164, -1, -1, -1, 168, -1, -1, 171, 172, 173,
9907
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
9908
184, 185, 186, 187, -1, 189, -1, 191, 192, 193,
9909
194, 195, 196, 197, -1, 199, -1, 201, 202, -1,
9910
204, -1, -1, 207, 208, 209, -1, -1, 212, -1,
9911
-1, -1, 216, 217, -1, -1, 220, -1, -1, -1,
9912
224, 225, 226, -1, -1, -1, 230, 231, 232, -1,
9913
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
9914
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
9915
-1, 255, 256, -1, 258, 259, 260, 261, 262, 263,
9916
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
9917
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
9918
284, 285, -1, 287, -1, 289, 290, -1, 292, 293,
9919
294, 295, -1, 297, 298, -1, 300, -1, 302, -1,
9920
304, -1, -1, 307, 308, 309, 310, 311, -1, -1,
9921
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
9922
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
9923
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
9924
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
9925
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
9926
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
9927
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
9928
48, 49, -1, -1, -1, 53, 54, 55, 56, -1,
9929
58, 59, -1, 61, -1, 63, 64, 65, -1, 67,
9930
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
9931
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
9932
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
9933
98, 99, 100, -1, 102, -1, 104, 105, 106, -1,
9934
108, 109, -1, -1, 112, 113, 114, -1, 116, -1,
9935
118, -1, -1, -1, 122, 123, -1, 125, -1, -1,
9936
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
9937
138, 139, 140, 141, 142, -1, -1, -1, 146, 147,
9938
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
9939
158, -1, 160, 161, 162, 163, 164, -1, -1, -1,
9940
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
9941
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
9942
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
9943
198, 199, -1, 201, 202, -1, 204, -1, -1, 207,
9944
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
9945
-1, -1, -1, -1, -1, -1, 224, 225, 226, -1,
9946
-1, -1, 230, 231, 232, -1, 234, 235, 236, 237,
9947
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
9948
248, 249, 250, 251, 252, 253, -1, 255, 256, -1,
9949
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
9950
268, -1, 270, 271, 272, 273, -1, 275, 276, -1,
9951
278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
9952
-1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
9953
298, -1, 300, -1, 302, -1, 304, -1, -1, 307,
9954
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
9955
-1, -1, 320, 321, 322, 323, 324, 325, -1, 327,
9956
328, -1, -1, 331, 332, 333, 334, 335, 336, -1,
9957
338, 3, 4, 5, 6, 7, 8, 9, 10, -1,
9958
12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
9959
22, -1, 24, -1, 26, 27, 28, -1, 30, -1,
9960
32, 33, -1, 35, 36, 37, 38, -1, -1, 41,
9961
42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
9962
-1, 53, 54, 55, 56, -1, 58, 59, -1, 61,
9963
-1, 63, 64, 65, -1, 67, -1, -1, -1, -1,
9964
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
9965
82, -1, 84, 85, 86, 87, 88, -1, 90, -1,
9966
-1, 93, 94, 95, 96, -1, 98, 99, 100, -1,
9967
102, -1, 104, 105, 106, -1, 108, 109, -1, -1,
9968
112, 113, 114, -1, 116, -1, 118, -1, -1, -1,
9969
122, 123, -1, 125, -1, -1, 128, -1, 130, 131,
9970
132, -1, 134, 135, 136, -1, 138, 139, 140, 141,
9971
142, -1, -1, -1, 146, 147, 148, 149, 150, 151,
9972
-1, 153, -1, 155, -1, -1, 158, -1, 160, 161,
9973
162, 163, 164, -1, -1, -1, 168, -1, -1, 171,
9974
172, 173, -1, -1, 176, 177, 178, 179, 180, 181,
9975
182, 183, 184, 185, 186, 187, -1, 189, -1, 191,
9976
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
9977
202, -1, 204, -1, -1, 207, 208, 209, -1, -1,
9978
212, -1, -1, -1, 216, 217, -1, -1, -1, -1,
9979
-1, -1, 224, 225, 226, -1, -1, -1, 230, 231,
9980
232, -1, 234, 235, 236, 237, 238, 239, 240, 241,
9981
-1, 243, 244, 245, 246, 247, 248, 249, 250, 251,
9982
252, 253, -1, 255, 256, -1, 258, 259, 260, 261,
9983
262, 263, 264, -1, 266, 267, 268, -1, 270, 271,
9984
272, 273, -1, 275, 276, -1, 278, 279, 280, 281,
9985
282, 283, 284, 285, -1, 287, -1, 289, 290, -1,
9986
292, 293, 294, 295, -1, 297, 298, -1, 300, -1,
9987
302, -1, 304, -1, -1, 307, 308, 309, 310, 311,
9988
-1, -1, 314, 315, 316, 317, -1, -1, 320, 321,
9989
322, 323, 324, 325, -1, 327, 328, -1, -1, 331,
9990
332, 333, 334, 335, 336, -1, 338, 3, 4, 5,
9991
6, 7, 8, 9, 10, -1, 12, 13, -1, -1,
9992
-1, -1, -1, -1, -1, 21, 22, -1, 24, -1,
9993
26, 27, 28, -1, 30, -1, 32, 33, -1, 35,
9994
36, 37, 38, -1, -1, 41, 42, 43, 44, -1,
9995
46, 47, 48, 49, -1, -1, -1, 53, 54, 55,
9996
56, -1, 58, 59, -1, 61, -1, 63, 64, 65,
9997
-1, 67, -1, -1, -1, -1, -1, 73, 74, 75,
9998
76, 77, 78, 79, 80, -1, 82, -1, 84, 85,
9999
86, 87, 88, -1, 90, -1, -1, 93, 94, 95,
10000
96, -1, 98, 99, 100, -1, 102, -1, 104, 105,
10001
106, -1, 108, 109, -1, -1, 112, 113, 114, -1,
10002
116, -1, 118, -1, -1, -1, 122, 123, -1, 125,
10003
-1, -1, 128, -1, 130, 131, 132, -1, 134, 135,
10004
136, -1, 138, 139, 140, 141, 142, -1, -1, -1,
10005
146, 147, 148, 149, 150, 151, -1, 153, -1, 155,
10006
-1, -1, 158, -1, 160, 161, 162, 163, 164, -1,
10007
-1, -1, 168, -1, -1, 171, 172, 173, -1, -1,
10008
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
10009
186, 187, -1, 189, -1, 191, 192, 193, 194, 195,
10010
196, 197, -1, 199, -1, 201, 202, -1, 204, 205,
10011
-1, 207, 208, 209, -1, -1, 212, -1, -1, -1,
10012
216, 217, -1, -1, -1, -1, -1, -1, 224, 225,
10013
226, -1, -1, -1, 230, 231, 232, -1, 234, 235,
10014
236, 237, 238, 239, 240, 241, -1, 243, 244, 245,
10015
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
10016
256, -1, 258, 259, 260, 261, 262, 263, 264, -1,
10017
266, 267, 268, -1, 270, 271, 272, 273, -1, 275,
10018
276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
10019
-1, 287, -1, 289, 290, -1, 292, 293, 294, 295,
10020
-1, 297, 298, -1, 300, -1, 302, -1, 304, -1,
10021
-1, 307, 308, 309, 310, 311, -1, -1, 314, 315,
10022
316, 317, -1, -1, 320, 321, 322, 323, 324, 325,
10023
-1, 327, 328, -1, -1, 331, 332, 333, 334, 335,
10024
336, -1, 338, 3, 4, 5, 6, 7, 8, 9,
10025
10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
10026
-1, 21, 22, -1, 24, -1, 26, 27, 28, -1,
10027
30, -1, 32, 33, -1, 35, 36, 37, 38, -1,
10028
-1, 41, 42, 43, 44, -1, 46, 47, 48, 49,
10029
-1, -1, -1, 53, 54, 55, 56, -1, 58, 59,
10030
-1, 61, -1, 63, 64, 65, -1, 67, -1, -1,
10031
-1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
10032
80, -1, 82, -1, 84, 85, 86, 87, 88, -1,
10033
90, -1, -1, 93, 94, 95, 96, -1, 98, 99,
10034
100, -1, 102, -1, 104, 105, 106, -1, 108, 109,
10035
-1, -1, 112, 113, 114, -1, 116, -1, 118, -1,
10036
-1, -1, 122, 123, -1, 125, -1, -1, 128, -1,
10037
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
10038
140, 141, 142, -1, -1, -1, 146, 147, 148, 149,
10039
150, 151, -1, 153, -1, 155, -1, -1, 158, -1,
10040
160, 161, 162, 163, 164, -1, -1, -1, 168, -1,
10041
-1, 171, 172, 173, -1, -1, 176, 177, 178, 179,
10042
180, 181, 182, 183, 184, 185, 186, 187, -1, 189,
10043
-1, 191, 192, 193, 194, 195, 196, 197, -1, 199,
10044
-1, 201, 202, -1, 204, -1, -1, 207, 208, 209,
10045
-1, -1, 212, -1, -1, -1, 216, 217, -1, -1,
10046
-1, -1, -1, -1, 224, 225, 226, -1, -1, -1,
10047
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
10048
240, 241, -1, 243, 244, 245, 246, 247, 248, 249,
10049
250, 251, 252, 253, -1, 255, 256, -1, 258, 259,
10050
260, 261, 262, 263, 264, -1, 266, 267, 268, -1,
10051
270, 271, 272, 273, -1, 275, 276, -1, 278, 279,
10052
280, 281, 282, 283, 284, 285, -1, 287, -1, 289,
10053
290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
10054
300, -1, 302, -1, 304, -1, -1, 307, 308, 309,
10055
310, 311, -1, -1, 314, 315, 316, 317, -1, -1,
10056
320, 321, 322, 323, 324, 325, -1, 327, 328, -1,
10057
-1, 331, 332, 333, 334, 335, 336, -1, 338, 3,
10058
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
10059
-1, -1, -1, -1, -1, -1, -1, 21, 22, -1,
10060
24, -1, 26, 27, 28, -1, 30, -1, 32, 33,
10061
-1, 35, 36, 37, 38, -1, -1, 41, 42, 43,
10062
44, -1, 46, 47, 48, 49, -1, -1, -1, 53,
10063
54, 55, 56, -1, 58, 59, -1, 61, -1, 63,
10064
64, 65, -1, 67, -1, -1, -1, -1, -1, 73,
10065
74, 75, 76, 77, 78, 79, 80, -1, 82, -1,
10066
84, 85, 86, 87, 88, -1, 90, -1, -1, 93,
10067
94, 95, 96, -1, 98, 99, 100, -1, 102, -1,
10068
104, 105, 106, -1, 108, 109, -1, -1, 112, 113,
10069
114, -1, 116, -1, 118, -1, -1, -1, 122, 123,
10070
-1, 125, -1, -1, 128, -1, 130, 131, 132, -1,
10071
134, 135, 136, -1, 138, 139, 140, 141, 142, -1,
10072
-1, -1, 146, 147, 148, 149, 150, 151, -1, 153,
10073
-1, 155, -1, -1, 158, -1, 160, 161, 162, 163,
10074
164, -1, -1, -1, 168, -1, -1, 171, 172, 173,
10075
-1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
10076
184, 185, 186, 187, -1, 189, -1, 191, 192, 193,
10077
194, 195, 196, 197, -1, 199, -1, 201, 202, -1,
10078
204, -1, -1, 207, 208, 209, -1, -1, 212, -1,
10079
-1, -1, 216, 217, -1, -1, -1, -1, -1, -1,
10080
224, 225, 226, -1, -1, -1, 230, 231, 232, -1,
10081
234, 235, 236, 237, 238, 239, 240, 241, -1, 243,
10082
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
10083
-1, 255, 256, -1, 258, 259, 260, 261, 262, 263,
10084
264, -1, 266, 267, 268, -1, 270, 271, 272, 273,
10085
-1, 275, 276, -1, 278, 279, 280, 281, 282, 283,
10086
284, 285, -1, 287, -1, 289, 290, -1, 292, 293,
10087
294, 295, -1, 297, 298, -1, 300, -1, 302, -1,
10088
304, -1, -1, 307, 308, 309, 310, 311, -1, -1,
10089
314, 315, 316, 317, -1, -1, 320, 321, 322, 323,
10090
324, 325, -1, 327, 328, -1, -1, 331, 332, 333,
10091
334, 335, 336, -1, 338, 3, 4, 5, 6, 7,
10092
8, 9, 10, -1, 12, 13, -1, -1, -1, -1,
10093
-1, -1, -1, 21, 22, -1, 24, -1, 26, 27,
10094
28, -1, 30, -1, 32, 33, -1, 35, 36, 37,
10095
38, -1, -1, 41, 42, 43, 44, -1, 46, 47,
10096
48, 49, -1, -1, -1, 53, 54, 55, 56, -1,
10097
58, 59, -1, 61, -1, 63, 64, 65, -1, 67,
10098
-1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
10099
78, 79, 80, -1, 82, -1, 84, 85, 86, 87,
10100
88, -1, 90, -1, -1, 93, 94, 95, 96, -1,
10101
98, 99, 100, -1, 102, -1, 104, 105, 106, -1,
10102
108, 109, -1, -1, 112, 113, 114, -1, 116, -1,
10103
118, -1, -1, -1, 122, 123, -1, 125, -1, -1,
10104
128, -1, 130, 131, 132, -1, 134, 135, 136, -1,
10105
138, 139, 140, 141, 142, -1, -1, -1, 146, 147,
10106
148, 149, 150, 151, -1, 153, -1, 155, -1, -1,
10107
158, -1, 160, 161, 162, 163, 164, -1, -1, -1,
10108
168, -1, -1, 171, 172, 173, -1, -1, 176, 177,
10109
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
10110
-1, 189, -1, 191, 192, 193, 194, 195, 196, 197,
10111
-1, 199, -1, 201, 202, -1, 204, -1, -1, 207,
10112
208, 209, -1, -1, 212, -1, -1, -1, 216, 217,
10113
-1, -1, -1, -1, -1, -1, 224, 225, 226, -1,
10114
-1, -1, 230, 231, 232, -1, 234, 235, 236, 237,
10115
238, 239, 240, 241, -1, 243, 244, 245, 246, 247,
10116
248, 249, 250, 251, 252, 253, -1, 255, 256, -1,
10117
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
10118
268, -1, 270, -1, 272, 273, -1, 275, 276, -1,
10119
278, 279, 280, 281, 282, 283, 284, 285, -1, 287,
10120
10, 289, 290, -1, 292, 293, 294, 295, -1, 297,
10121
298, 21, 300, -1, 302, -1, 304, -1, -1, 307,
10122
308, 309, 310, 311, -1, -1, 314, 315, 316, 317,
10123
40, -1, 320, 321, 322, 323, 324, 325, -1, 327,
10124
328, -1, 10, 331, 332, 333, 334, 335, 336, 59,
10125
338, -1, -1, 21, -1, -1, -1, -1, -1, -1,
10126
-1, -1, -1, -1, -1, 75, -1, -1, -1, -1,
10127
-1, -1, 40, -1, -1, -1, -1, -1, -1, -1,
10128
-1, -1, -1, 93, -1, -1, -1, -1, -1, 57,
10129
-1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
10130
-1, -1, -1, -1, -1, -1, -1, 75, -1, -1,
10131
-1, -1, 122, 81, -1, -1, -1, 127, -1, -1,
10132
-1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
10133
140, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10134
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10135
-1, -1, -1, -1, 122, 123, -1, -1, -1, 127,
10136
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10137
-1, -1, 140, -1, -1, -1, -1, -1, -1, -1,
10138
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10139
-1, -1, -1, -1, 162, -1, -1, -1, -1, -1,
10140
-1, -1, -1, -1, -1, 173, 216, -1, -1, -1,
10141
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10142
-1, -1, -1, -1, -1, -1, 236, -1, -1, -1,
10143
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10144
-1, -1, -1, -1, -1, 255, -1, -1, 216, 259,
10145
218, 261, -1, -1, -1, -1, 266, -1, -1, -1,
10146
-1, -1, -1, -1, -1, -1, -1, -1, 236, -1,
10147
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10148
-1, 291, 292, -1, -1, -1, -1, 255, -1, -1,
10149
-1, 259, -1, 261, 304, -1, -1, -1, -1, 309,
10150
-1, -1, -1, -1, -1, -1, -1, -1, 318, -1,
10151
-1, -1, -1, -1, -1, -1, -1, 327, -1, -1,
10152
-1, -1, -1, -1, 292, 293, -1, 295, -1, -1,
10153
-1, -1, -1, -1, -1, -1, 304, -1, -1, -1,
10154
308, 309, -1, -1, -1, 313, -1, -1, -1, -1,
10158
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10159
symbol of state STATE-NUM. */
10160
static const unsigned short yystos[] =
10162
0, 3, 13, 14, 15, 28, 46, 48, 49, 53,
10163
54, 61, 62, 77, 80, 86, 95, 101, 106, 108,
10164
112, 124, 148, 171, 172, 177, 185, 202, 231, 243,
10165
245, 249, 253, 256, 260, 265, 270, 273, 279, 307,
10166
315, 317, 320, 359, 367, 368, 369, 370, 374, 375,
10167
376, 377, 378, 379, 380, 381, 382, 384, 385, 389,
10168
400, 401, 402, 405, 406, 414, 415, 424, 451, 456,
10169
457, 464, 469, 471, 473, 474, 487, 488, 489, 490,
10170
495, 500, 501, 506, 507, 510, 513, 514, 524, 525,
10171
528, 534, 548, 551, 552, 554, 557, 559, 560, 563,
10172
565, 566, 567, 575, 576, 577, 578, 579, 584, 585,
10173
586, 590, 591, 594, 595, 596, 598, 599, 600, 601,
10174
602, 607, 610, 614, 616, 617, 621, 623, 627, 628,
10175
631, 632, 633, 634, 635, 302, 333, 580, 10, 59,
10176
75, 93, 122, 127, 140, 162, 216, 255, 261, 266,
10177
291, 292, 304, 309, 318, 580, 3, 4, 5, 6,
10178
7, 8, 9, 10, 12, 13, 21, 22, 24, 26,
10179
27, 28, 30, 32, 33, 35, 36, 37, 38, 41,
10180
42, 43, 44, 46, 47, 48, 49, 50, 53, 54,
10181
55, 56, 58, 59, 60, 61, 63, 64, 65, 67,
10182
73, 74, 75, 76, 77, 78, 79, 80, 82, 84,
10183
85, 86, 87, 88, 90, 93, 94, 95, 96, 98,
10184
99, 100, 102, 104, 105, 106, 107, 108, 109, 110,
10185
112, 113, 114, 116, 118, 122, 123, 125, 126, 128,
10186
130, 131, 132, 134, 135, 136, 138, 139, 140, 141,
10187
142, 145, 146, 147, 148, 149, 150, 151, 153, 155,
10188
158, 160, 161, 162, 163, 164, 166, 168, 171, 172,
10189
173, 176, 177, 178, 179, 180, 181, 182, 183, 184,
10190
185, 186, 187, 189, 191, 192, 193, 194, 195, 196,
10191
197, 198, 199, 201, 202, 204, 206, 207, 208, 209,
10192
212, 216, 217, 220, 223, 224, 225, 226, 228, 229,
10193
230, 231, 232, 234, 235, 236, 237, 238, 239, 240,
10194
241, 243, 244, 245, 246, 247, 248, 249, 250, 251,
10195
252, 253, 255, 256, 257, 258, 259, 260, 261, 262,
10196
263, 264, 266, 267, 268, 270, 271, 272, 273, 275,
10197
276, 278, 279, 280, 281, 282, 283, 284, 285, 286,
10198
287, 289, 290, 292, 293, 294, 295, 297, 298, 300,
10199
302, 303, 304, 305, 307, 308, 309, 310, 311, 314,
10200
315, 316, 317, 320, 321, 322, 323, 324, 325, 327,
10201
328, 331, 332, 333, 334, 335, 336, 338, 736, 748,
10202
752, 753, 190, 213, 732, 734, 740, 748, 756, 214,
10203
232, 580, 31, 420, 10, 21, 40, 57, 75, 81,
10204
93, 123, 127, 173, 216, 218, 255, 261, 292, 293,
10205
295, 304, 308, 309, 313, 318, 425, 465, 498, 529,
10206
535, 231, 736, 736, 120, 10, 21, 40, 59, 75,
10207
93, 122, 127, 140, 216, 236, 255, 259, 261, 266,
10208
291, 292, 304, 309, 318, 327, 470, 502, 580, 736,
10209
602, 609, 4, 11, 26, 113, 118, 164, 191, 234,
10210
244, 344, 351, 511, 736, 747, 11, 62, 242, 265,
10211
515, 516, 517, 748, 154, 734, 748, 340, 741, 745,
10212
291, 638, 511, 736, 734, 302, 736, 75, 140, 290,
10213
291, 561, 260, 748, 11, 268, 297, 302, 391, 748,
10214
8, 124, 515, 516, 232, 580, 748, 11, 91, 640,
10215
58, 173, 186, 255, 268, 297, 302, 390, 391, 11,
10216
268, 297, 302, 391, 302, 638, 352, 734, 215, 662,
10217
734, 121, 604, 632, 633, 0, 363, 326, 603, 103,
10218
152, 219, 312, 641, 642, 25, 29, 31, 66, 119,
10219
121, 133, 144, 156, 157, 159, 167, 169, 188, 203,
10220
221, 222, 254, 274, 326, 338, 732, 742, 750, 752,
10221
754, 504, 748, 737, 748, 504, 523, 742, 746, 748,
10222
662, 736, 47, 343, 346, 347, 348, 350, 351, 352,
10223
353, 354, 355, 556, 697, 698, 748, 746, 736, 662,
10224
734, 662, 736, 736, 504, 746, 158, 239, 581, 582,
10225
583, 357, 362, 722, 723, 214, 10, 40, 52, 57,
10226
59, 75, 93, 122, 140, 163, 216, 259, 261, 266,
10227
291, 304, 309, 327, 470, 508, 745, 734, 742, 736,
10228
359, 304, 737, 504, 293, 295, 746, 293, 295, 47,
10229
556, 248, 746, 386, 748, 736, 736, 504, 746, 266,
10230
291, 327, 470, 59, 140, 122, 259, 736, 629, 662,
10231
742, 736, 359, 737, 742, 735, 736, 47, 556, 735,
10232
736, 736, 736, 735, 162, 503, 504, 359, 615, 603,
10233
747, 11, 747, 11, 747, 747, 344, 120, 137, 512,
10234
235, 214, 299, 364, 734, 733, 734, 512, 745, 359,
10235
611, 736, 736, 734, 748, 25, 336, 158, 362, 217,
10236
217, 214, 120, 745, 299, 214, 18, 30, 32, 33,
10237
39, 40, 42, 43, 50, 60, 68, 69, 70, 71,
10238
72, 78, 79, 94, 107, 110, 111, 114, 126, 150,
10239
151, 153, 166, 174, 175, 187, 189, 200, 205, 206,
10240
207, 216, 223, 228, 240, 257, 269, 276, 286, 297,
10241
298, 303, 305, 306, 313, 318, 324, 338, 339, 341,
10242
342, 343, 344, 345, 350, 351, 352, 359, 632, 670,
10243
671, 672, 677, 678, 679, 681, 682, 683, 684, 687,
10244
688, 691, 693, 694, 695, 699, 716, 721, 726, 727,
10245
732, 742, 743, 744, 745, 749, 752, 11, 403, 735,
10246
268, 390, 81, 398, 745, 340, 399, 748, 25, 44,
10247
390, 336, 582, 299, 346, 25, 336, 158, 583, 733,
10248
359, 734, 270, 352, 119, 605, 360, 360, 369, 734,
10249
11, 91, 639, 639, 35, 639, 115, 170, 211, 645,
10250
651, 723, 359, 224, 246, 362, 505, 224, 246, 270,
10251
331, 371, 401, 7, 95, 224, 270, 411, 37, 109,
10252
135, 252, 264, 278, 285, 328, 544, 549, 359, 536,
10253
7, 95, 246, 383, 224, 246, 270, 409, 410, 246,
10254
504, 359, 362, 246, 270, 371, 401, 224, 246, 270,
10255
458, 7, 13, 49, 62, 90, 95, 98, 246, 270,
10256
407, 408, 410, 224, 246, 214, 224, 270, 246, 270,
10257
371, 401, 168, 215, 334, 364, 581, 691, 11, 14,
10258
15, 16, 17, 18, 19, 20, 23, 34, 39, 40,
10259
45, 51, 52, 57, 62, 68, 69, 70, 71, 72,
10260
81, 83, 89, 91, 92, 97, 101, 103, 111, 115,
10261
117, 120, 124, 127, 129, 137, 143, 152, 154, 165,
10262
170, 174, 175, 190, 200, 205, 210, 211, 213, 214,
10263
215, 218, 219, 227, 233, 242, 265, 269, 277, 288,
10264
291, 296, 299, 301, 306, 312, 313, 318, 319, 329,
10265
330, 338, 352, 739, 751, 752, 753, 754, 755, 722,
10266
734, 742, 359, 736, 742, 208, 47, 556, 736, 736,
10267
162, 504, 359, 438, 359, 491, 45, 30, 32, 33,
10268
42, 43, 78, 79, 114, 150, 151, 153, 187, 189,
10269
207, 240, 271, 276, 297, 298, 324, 338, 667, 669,
10270
671, 672, 676, 678, 679, 680, 682, 683, 687, 688,
10271
749, 752, 736, 371, 19, 597, 371, 504, 491, 425,
10272
371, 25, 387, 224, 472, 9, 27, 475, 19, 491,
10273
371, 734, 734, 734, 162, 504, 740, 748, 742, 736,
10274
31, 73, 147, 192, 262, 319, 622, 359, 38, 251,
10275
412, 667, 536, 364, 504, 359, 214, 214, 399, 364,
10276
412, 691, 702, 62, 608, 614, 617, 621, 627, 628,
10277
631, 736, 75, 122, 162, 261, 291, 292, 518, 733,
10278
735, 517, 81, 323, 359, 618, 631, 137, 364, 624,
10279
736, 612, 667, 19, 116, 562, 562, 562, 168, 748,
10280
115, 115, 518, 735, 260, 748, 359, 357, 632, 706,
10281
325, 685, 691, 720, 359, 685, 685, 359, 359, 359,
10282
359, 359, 675, 675, 229, 632, 359, 359, 673, 359,
10283
359, 359, 359, 42, 43, 685, 691, 359, 359, 674,
10284
359, 359, 359, 359, 359, 331, 332, 359, 689, 359,
10285
689, 359, 359, 632, 724, 691, 691, 632, 691, 702,
10286
745, 43, 359, 686, 359, 745, 16, 19, 24, 29,
10287
133, 137, 156, 157, 169, 200, 203, 216, 218, 274,
10288
343, 346, 347, 348, 350, 351, 352, 353, 354, 355,
10289
361, 697, 699, 701, 222, 691, 154, 364, 636, 723,
10290
359, 84, 134, 404, 44, 81, 399, 19, 81, 173,
10291
338, 339, 351, 397, 461, 462, 463, 688, 745, 747,
10292
81, 111, 210, 214, 306, 392, 393, 394, 396, 399,
10293
461, 392, 168, 734, 728, 729, 748, 603, 359, 606,
10294
632, 634, 635, 634, 643, 644, 691, 634, 239, 272,
10295
317, 11, 647, 691, 648, 691, 651, 652, 645, 646,
10296
352, 553, 667, 299, 299, 739, 362, 299, 299, 390,
10297
592, 45, 57, 117, 233, 313, 436, 437, 57, 81,
10298
200, 299, 81, 200, 261, 214, 264, 205, 85, 155,
10299
251, 544, 550, 137, 145, 220, 271, 338, 360, 537,
10300
538, 539, 540, 542, 667, 749, 750, 752, 224, 246,
10301
270, 299, 318, 299, 299, 292, 364, 299, 319, 198,
10302
555, 667, 556, 299, 390, 372, 299, 299, 261, 36,
10303
74, 139, 180, 182, 192, 250, 279, 459, 52, 436,
10304
564, 564, 214, 300, 304, 57, 564, 304, 299, 564,
10305
261, 332, 364, 299, 299, 662, 299, 261, 299, 390,
10306
372, 239, 247, 267, 395, 581, 358, 365, 359, 667,
10307
214, 536, 461, 504, 359, 156, 214, 214, 504, 156,
10308
439, 440, 748, 331, 421, 492, 493, 751, 359, 669,
10309
19, 18, 668, 76, 132, 181, 184, 263, 335, 359,
10310
690, 505, 9, 587, 667, 372, 498, 327, 372, 746,
10311
62, 124, 388, 424, 456, 474, 513, 528, 584, 736,
10312
176, 86, 148, 317, 476, 477, 359, 372, 458, 209,
10313
359, 453, 438, 399, 115, 214, 536, 19, 331, 332,
10314
630, 262, 359, 632, 655, 656, 657, 662, 663, 694,
10315
732, 330, 664, 553, 19, 412, 736, 319, 555, 734,
10316
734, 412, 504, 360, 364, 425, 735, 522, 523, 742,
10317
735, 735, 733, 735, 299, 331, 526, 323, 359, 619,
10318
620, 748, 5, 105, 257, 272, 625, 734, 204, 626,
10319
360, 364, 613, 617, 621, 627, 631, 516, 515, 516,
10320
120, 125, 527, 748, 702, 702, 705, 706, 359, 329,
10321
717, 718, 691, 702, 691, 702, 744, 744, 744, 76,
10322
132, 181, 184, 263, 335, 338, 340, 703, 707, 744,
10323
702, 702, 744, 744, 685, 685, 691, 744, 556, 691,
10324
708, 350, 351, 692, 693, 695, 699, 710, 360, 702,
10325
691, 702, 711, 297, 297, 744, 744, 691, 34, 120,
10326
165, 301, 691, 702, 714, 722, 360, 364, 270, 744,
10327
744, 690, 691, 751, 297, 23, 288, 725, 691, 359,
10328
632, 715, 91, 111, 200, 205, 209, 306, 314, 691,
10329
29, 133, 137, 169, 274, 359, 691, 299, 691, 691,
10330
691, 691, 691, 691, 691, 691, 691, 667, 691, 11,
10331
17, 277, 696, 257, 359, 695, 123, 173, 291, 293,
10332
295, 637, 734, 727, 120, 654, 11, 91, 352, 360,
10333
702, 302, 339, 359, 745, 364, 360, 364, 654, 724,
10334
601, 734, 735, 364, 20, 89, 319, 215, 209, 653,
10335
653, 211, 364, 170, 360, 746, 736, 739, 746, 737,
10336
56, 593, 359, 736, 160, 160, 359, 736, 205, 746,
10337
691, 205, 736, 205, 85, 155, 214, 220, 749, 360,
10338
364, 540, 542, 539, 542, 505, 299, 299, 261, 746,
10339
735, 746, 736, 736, 410, 736, 738, 748, 364, 360,
10340
364, 746, 8, 56, 63, 64, 65, 100, 137, 141,
10341
178, 193, 194, 195, 196, 197, 199, 226, 255, 287,
10342
289, 311, 318, 321, 373, 746, 736, 736, 461, 35,
10343
460, 461, 461, 74, 180, 182, 371, 371, 429, 748,
10344
748, 736, 291, 11, 318, 736, 736, 748, 11, 318,
10345
736, 736, 736, 736, 49, 212, 270, 408, 746, 736,
10346
246, 746, 736, 746, 55, 310, 239, 691, 553, 19,
10347
504, 156, 156, 319, 555, 205, 509, 745, 504, 504,
10348
156, 509, 360, 364, 212, 120, 299, 416, 360, 364,
10349
346, 691, 18, 668, 667, 357, 357, 299, 299, 299,
10350
299, 744, 476, 56, 99, 176, 224, 292, 294, 588,
10351
430, 115, 734, 387, 218, 425, 745, 214, 218, 665,
10352
666, 748, 734, 169, 426, 427, 428, 429, 434, 436,
10353
454, 455, 748, 19, 331, 332, 452, 19, 128, 745,
10354
734, 19, 162, 252, 543, 544, 545, 568, 131, 131,
10355
115, 632, 656, 657, 19, 658, 748, 364, 66, 121,
10356
144, 159, 167, 188, 254, 337, 659, 658, 19, 658,
10357
748, 723, 691, 360, 667, 738, 360, 412, 412, 691,
10358
291, 364, 536, 127, 519, 520, 746, 8, 527, 81,
10359
691, 730, 731, 360, 364, 724, 105, 272, 105, 272,
10360
257, 317, 183, 667, 120, 214, 519, 35, 412, 360,
10361
358, 358, 364, 744, 691, 97, 718, 719, 19, 360,
10362
319, 360, 360, 360, 360, 364, 360, 120, 360, 360,
10363
360, 360, 360, 364, 360, 364, 360, 227, 709, 360,
10364
692, 692, 137, 156, 216, 346, 347, 348, 350, 351,
10365
352, 353, 354, 355, 361, 699, 692, 360, 360, 115,
10366
120, 712, 713, 360, 336, 336, 360, 360, 19, 714,
10367
702, 714, 714, 120, 360, 724, 691, 748, 360, 360,
10368
336, 692, 692, 102, 702, 120, 111, 205, 209, 306,
10369
314, 359, 102, 288, 725, 691, 715, 691, 299, 556,
10370
691, 359, 632, 293, 295, 293, 295, 734, 638, 638,
10371
655, 664, 702, 702, 360, 360, 582, 744, 690, 394,
10372
729, 664, 346, 360, 644, 216, 697, 700, 735, 626,
10373
626, 648, 648, 647, 224, 246, 270, 170, 691, 437,
10374
359, 359, 439, 412, 146, 205, 505, 538, 542, 542,
10375
354, 746, 736, 736, 224, 246, 667, 224, 198, 667,
10376
735, 170, 226, 127, 255, 745, 735, 744, 226, 735,
10377
316, 461, 461, 461, 667, 95, 270, 309, 411, 412,
10378
412, 299, 299, 358, 360, 667, 156, 509, 509, 738,
10379
360, 156, 156, 509, 440, 282, 283, 417, 745, 493,
10380
216, 351, 461, 494, 542, 700, 745, 360, 357, 360,
10381
744, 358, 744, 132, 181, 263, 181, 263, 263, 184,
10382
360, 214, 170, 346, 589, 589, 589, 589, 589, 45,
10383
57, 81, 83, 143, 200, 205, 233, 242, 313, 431,
10384
432, 433, 309, 438, 248, 291, 734, 477, 360, 364,
10385
667, 359, 734, 360, 364, 360, 364, 106, 212, 212,
10386
631, 631, 466, 736, 299, 319, 530, 546, 745, 399,
10387
541, 542, 331, 545, 547, 214, 631, 360, 748, 359,
10388
656, 159, 221, 660, 656, 660, 159, 659, 660, 656,
10389
159, 359, 748, 359, 412, 360, 412, 412, 734, 523,
10390
746, 331, 364, 521, 217, 360, 364, 323, 631, 620,
10391
105, 105, 735, 518, 412, 746, 706, 360, 296, 691,
10392
101, 667, 504, 744, 691, 691, 744, 691, 712, 692,
10393
91, 200, 209, 692, 692, 692, 692, 692, 692, 692,
10394
692, 692, 667, 692, 691, 691, 713, 712, 689, 689,
10395
667, 360, 360, 360, 702, 360, 686, 745, 691, 16,
10396
16, 691, 360, 691, 359, 667, 704, 691, 692, 692,
10397
102, 102, 691, 360, 102, 691, 638, 638, 638, 638,
10398
734, 734, 127, 649, 360, 360, 360, 81, 691, 359,
10399
299, 299, 261, 589, 360, 439, 439, 360, 146, 354,
10400
309, 299, 299, 299, 747, 745, 735, 735, 745, 745,
10401
430, 200, 200, 281, 284, 667, 736, 736, 156, 360,
10402
509, 156, 156, 509, 509, 319, 422, 423, 83, 143,
10403
200, 484, 485, 486, 744, 331, 332, 358, 358, 690,
10404
734, 589, 81, 744, 745, 81, 745, 81, 736, 81,
10405
736, 81, 736, 359, 736, 692, 84, 134, 83, 205,
10406
160, 734, 319, 450, 667, 19, 734, 115, 478, 218,
10407
666, 426, 104, 138, 435, 142, 446, 428, 455, 748,
10408
736, 19, 19, 322, 467, 505, 745, 738, 359, 364,
10409
543, 491, 86, 148, 265, 317, 573, 658, 359, 735,
10410
656, 214, 319, 661, 656, 159, 656, 665, 359, 665,
10411
748, 412, 359, 453, 124, 520, 731, 359, 527, 120,
10412
691, 360, 360, 360, 360, 360, 713, 120, 209, 359,
10413
360, 690, 692, 692, 704, 360, 364, 16, 16, 691,
10414
691, 102, 691, 360, 734, 734, 734, 734, 35, 129,
10415
650, 745, 556, 746, 736, 736, 747, 360, 360, 450,
10416
309, 746, 736, 746, 205, 205, 463, 748, 319, 413,
10417
509, 156, 509, 509, 371, 88, 84, 134, 83, 486,
10418
485, 358, 122, 122, 120, 483, 747, 691, 200, 432,
10419
450, 438, 140, 319, 631, 359, 96, 479, 106, 477,
10420
360, 82, 82, 359, 331, 332, 447, 615, 466, 161,
10421
468, 120, 359, 531, 532, 694, 748, 745, 547, 299,
10422
735, 360, 691, 359, 656, 661, 360, 665, 360, 19,
10423
217, 730, 412, 519, 692, 359, 704, 360, 667, 692,
10424
692, 691, 702, 691, 690, 360, 242, 450, 691, 509,
10425
418, 745, 523, 19, 558, 734, 484, 360, 179, 441,
10426
292, 738, 257, 280, 480, 237, 447, 733, 212, 212,
10427
214, 448, 745, 504, 691, 360, 364, 319, 504, 533,
10428
533, 734, 360, 735, 360, 360, 412, 704, 360, 734,
10429
31, 67, 87, 102, 116, 130, 205, 212, 238, 419,
10430
558, 22, 136, 115, 121, 225, 275, 214, 442, 443,
10431
444, 736, 19, 742, 448, 360, 54, 292, 449, 360,
10432
449, 532, 504, 664, 360, 360, 438, 597, 597, 200,
10433
238, 597, 597, 96, 86, 317, 214, 444, 214, 443,
10434
122, 216, 284, 496, 497, 359, 449, 86, 95, 230,
10435
736, 533, 664, 92, 441, 745, 745, 205, 439, 745,
10436
745, 257, 38, 192, 251, 270, 445, 445, 744, 744,
10437
667, 364, 339, 341, 342, 344, 481, 482, 745, 748,
10438
258, 258, 12, 149, 574, 442, 439, 106, 6, 81,
10439
205, 742, 556, 497, 360, 364, 201, 359, 569, 571,
10440
576, 617, 621, 627, 631, 484, 237, 536, 241, 359,
10441
499, 482, 570, 571, 572, 632, 633, 742, 555, 360,
10442
363, 359, 360, 572, 481, 499, 360
10445
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
10446
# define YYSIZE_T __SIZE_TYPE__
10448
#if ! defined (YYSIZE_T) && defined (size_t)
10449
# define YYSIZE_T size_t
10451
#if ! defined (YYSIZE_T)
10452
# if defined (__STDC__) || defined (__cplusplus)
10453
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
10454
# define YYSIZE_T size_t
10457
#if ! defined (YYSIZE_T)
10458
# define YYSIZE_T unsigned int
10461
#define yyerrok (yyerrstatus = 0)
10462
#define yyclearin (yychar = YYEMPTY)
10463
#define YYEMPTY (-2)
10466
#define YYACCEPT goto yyacceptlab
10467
#define YYABORT goto yyabortlab
10468
#define YYERROR goto yyerrorlab
10471
/* Like YYERROR except do call yyerror. This remains here temporarily
10472
to ease the transition to the new meaning of YYERROR, for GCC.
10473
Once GCC version 2 has supplanted version 1, this can go. */
10475
#define YYFAIL goto yyerrlab
10477
#define YYRECOVERING() (!!yyerrstatus)
10479
#define YYBACKUP(Token, Value) \
10481
if (yychar == YYEMPTY && yylen == 1) \
10483
yychar = (Token); \
10484
yylval = (Value); \
10485
yytoken = YYTRANSLATE (yychar); \
10491
yyerror ("syntax error: cannot back up");\
10497
#define YYERRCODE 256
10499
/* YYLLOC_DEFAULT -- Compute the default location (before the actions
10502
#ifndef YYLLOC_DEFAULT
10503
# define YYLLOC_DEFAULT(Current, Rhs, N) \
10504
((Current).first_line = (Rhs)[1].first_line, \
10505
(Current).first_column = (Rhs)[1].first_column, \
10506
(Current).last_line = (Rhs)[N].last_line, \
10507
(Current).last_column = (Rhs)[N].last_column)
10510
/* YYLEX -- calling `yylex' with the right arguments. */
10513
# define YYLEX yylex (YYLEX_PARAM)
10515
# define YYLEX yylex ()
10518
/* Enable debugging if requested. */
10522
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10523
# define YYFPRINTF fprintf
10526
# define YYDPRINTF(Args) \
10532
# define YYDSYMPRINT(Args) \
10538
# define YYDSYMPRINTF(Title, Token, Value, Location) \
10542
YYFPRINTF (stderr, "%s ", Title); \
10543
yysymprint (stderr, \
10545
YYFPRINTF (stderr, "\n"); \
10549
/*------------------------------------------------------------------.
10550
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
10551
| TOP (included). |
10552
`------------------------------------------------------------------*/
10554
#if defined (__STDC__) || defined (__cplusplus)
10556
yy_stack_print (short *bottom, short *top)
10559
yy_stack_print (bottom, top)
10564
YYFPRINTF (stderr, "Stack now");
10565
for (/* Nothing. */; bottom <= top; ++bottom)
10566
YYFPRINTF (stderr, " %d", *bottom);
10567
YYFPRINTF (stderr, "\n");
10570
# define YY_STACK_PRINT(Bottom, Top) \
10573
yy_stack_print ((Bottom), (Top)); \
10577
/*------------------------------------------------.
10578
| Report that the YYRULE is going to be reduced. |
10579
`------------------------------------------------*/
10581
#if defined (__STDC__) || defined (__cplusplus)
10583
yy_reduce_print (int yyrule)
10586
yy_reduce_print (yyrule)
10591
unsigned int yylno = yyrline[yyrule];
10592
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
10593
yyrule - 1, yylno);
10594
/* Print the symbols being reduced, and their result. */
10595
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
10596
YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
10597
YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
10600
# define YY_REDUCE_PRINT(Rule) \
10603
yy_reduce_print (Rule); \
10606
/* Nonzero means print parse trace. It is left uninitialized so that
10607
multiple parsers can coexist. */
10609
#else /* !YYDEBUG */
10610
# define YYDPRINTF(Args)
10611
# define YYDSYMPRINT(Args)
10612
# define YYDSYMPRINTF(Title, Token, Value, Location)
10613
# define YY_STACK_PRINT(Bottom, Top)
10614
# define YY_REDUCE_PRINT(Rule)
10615
#endif /* !YYDEBUG */
10618
/* YYINITDEPTH -- initial size of the parser's stacks. */
10619
#ifndef YYINITDEPTH
10620
# define YYINITDEPTH 200
10623
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
10624
if the built-in stack extension method is used).
10626
Do not make this value too large; the results are undefined if
10627
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
10628
evaluated with infinite-precision integer arithmetic. */
10630
#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
10635
# define YYMAXDEPTH 10000
10640
#if YYERROR_VERBOSE
10643
# if defined (__GLIBC__) && defined (_STRING_H)
10644
# define yystrlen strlen
10646
/* Return the length of YYSTR. */
10648
# if defined (__STDC__) || defined (__cplusplus)
10649
yystrlen (const char *yystr)
10655
register const char *yys = yystr;
10657
while (*yys++ != '\0')
10660
return yys - yystr - 1;
10666
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
10667
# define yystpcpy stpcpy
10669
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
10672
# if defined (__STDC__) || defined (__cplusplus)
10673
yystpcpy (char *yydest, const char *yysrc)
10675
yystpcpy (yydest, yysrc)
10680
register char *yyd = yydest;
10681
register const char *yys = yysrc;
10683
while ((*yyd++ = *yys++) != '\0')
10691
#endif /* !YYERROR_VERBOSE */
10696
/*--------------------------------.
10697
| Print this symbol on YYOUTPUT. |
10698
`--------------------------------*/
10700
#if defined (__STDC__) || defined (__cplusplus)
10702
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
10705
yysymprint (yyoutput, yytype, yyvaluep)
10711
/* Pacify ``unused variable'' warnings. */
10714
if (yytype < YYNTOKENS)
10716
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10718
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10722
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10729
YYFPRINTF (yyoutput, ")");
10732
#endif /* ! YYDEBUG */
10733
/*-----------------------------------------------.
10734
| Release the memory associated to this symbol. |
10735
`-----------------------------------------------*/
10737
#if defined (__STDC__) || defined (__cplusplus)
10739
yydestruct (int yytype, YYSTYPE *yyvaluep)
10742
yydestruct (yytype, yyvaluep)
10747
/* Pacify ``unused variable'' warnings. */
10759
/* Prevent warnings from -Wmissing-prototypes. */
10761
#ifdef YYPARSE_PARAM
10762
# if defined (__STDC__) || defined (__cplusplus)
10763
int yyparse (void *YYPARSE_PARAM);
10767
#else /* ! YYPARSE_PARAM */
10768
#if defined (__STDC__) || defined (__cplusplus)
10769
int yyparse (void);
10773
#endif /* ! YYPARSE_PARAM */
10777
/* The lookahead symbol. */
10780
/* The semantic value of the lookahead symbol. */
10783
/* Number of syntax errors so far. */
10792
#ifdef YYPARSE_PARAM
10793
# if defined (__STDC__) || defined (__cplusplus)
10794
int yyparse (void *YYPARSE_PARAM)
10796
int yyparse (YYPARSE_PARAM)
10797
void *YYPARSE_PARAM;
10799
#else /* ! YYPARSE_PARAM */
10800
#if defined (__STDC__) || defined (__cplusplus)
10811
register int yystate;
10814
/* Number of tokens to shift before error messages enabled. */
10816
/* Lookahead token as an internal (translated) token number. */
10819
/* Three stacks and their tools:
10820
`yyss': related to states,
10821
`yyvs': related to semantic values,
10822
`yyls': related to locations.
10824
Refer to the stacks thru separate pointers, to allow yyoverflow
10825
to reallocate them elsewhere. */
10827
/* The state stack. */
10828
short yyssa[YYINITDEPTH];
10829
short *yyss = yyssa;
10830
register short *yyssp;
10832
/* The semantic value stack. */
10833
YYSTYPE yyvsa[YYINITDEPTH];
10834
YYSTYPE *yyvs = yyvsa;
10835
register YYSTYPE *yyvsp;
10839
#define YYPOPSTACK (yyvsp--, yyssp--)
10841
YYSIZE_T yystacksize = YYINITDEPTH;
10843
/* The variables used to return semantic value and location from the
10844
action routines. */
10848
/* When reducing, the number of symbols on the RHS of the reduced
10852
YYDPRINTF ((stderr, "Starting parse\n"));
10857
yychar = YYEMPTY; /* Cause a token to be read. */
10859
/* Initialize stack pointers.
10860
Waste one element of value and location stack
10861
so that they stay on the same level as the state stack.
10862
The wasted elements are never initialized. */
10869
/*------------------------------------------------------------.
10870
| yynewstate -- Push a new state, which is found in yystate. |
10871
`------------------------------------------------------------*/
10873
/* In all cases, when you get here, the value and location stacks
10874
have just been pushed. so pushing a state here evens the stacks.
10881
if (yyss + yystacksize - 1 <= yyssp)
10883
/* Get the current used size of the three stacks, in elements. */
10884
YYSIZE_T yysize = yyssp - yyss + 1;
10888
/* Give user a chance to reallocate the stack. Use copies of
10889
these so that the &'s don't force the real ones into
10891
YYSTYPE *yyvs1 = yyvs;
10892
short *yyss1 = yyss;
10895
/* Each stack pointer address is followed by the size of the
10896
data in use in that stack, in bytes. This used to be a
10897
conditional around just the two extra args, but that might
10898
be undefined if yyoverflow is a macro. */
10899
yyoverflow ("parser stack overflow",
10900
&yyss1, yysize * sizeof (*yyssp),
10901
&yyvs1, yysize * sizeof (*yyvsp),
10908
#else /* no yyoverflow */
10909
# ifndef YYSTACK_RELOCATE
10910
goto yyoverflowlab;
10912
/* Extend the stack our own way. */
10913
if (YYMAXDEPTH <= yystacksize)
10914
goto yyoverflowlab;
10916
if (YYMAXDEPTH < yystacksize)
10917
yystacksize = YYMAXDEPTH;
10920
short *yyss1 = yyss;
10921
union yyalloc *yyptr =
10922
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
10924
goto yyoverflowlab;
10925
YYSTACK_RELOCATE (yyss);
10926
YYSTACK_RELOCATE (yyvs);
10928
# undef YYSTACK_RELOCATE
10929
if (yyss1 != yyssa)
10930
YYSTACK_FREE (yyss1);
10933
#endif /* no yyoverflow */
10935
yyssp = yyss + yysize - 1;
10936
yyvsp = yyvs + yysize - 1;
10939
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
10940
(unsigned long int) yystacksize));
10942
if (yyss + yystacksize - 1 <= yyssp)
10946
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
10955
/* Do appropriate processing given the current state. */
10956
/* Read a lookahead token if we need one and don't already have one. */
10959
/* First try to decide what to do without reference to lookahead token. */
10961
yyn = yypact[yystate];
10962
if (yyn == YYPACT_NINF)
10965
/* Not known => get a lookahead token if don't already have one. */
10967
/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
10968
if (yychar == YYEMPTY)
10970
YYDPRINTF ((stderr, "Reading a token: "));
10974
if (yychar <= YYEOF)
10976
yychar = yytoken = YYEOF;
10977
YYDPRINTF ((stderr, "Now at end of input.\n"));
10981
yytoken = YYTRANSLATE (yychar);
10982
YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
10985
/* If the proper action on seeing token YYTOKEN is to reduce or to
10986
detect an error, take that action. */
10988
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
10990
yyn = yytable[yyn];
10993
if (yyn == 0 || yyn == YYTABLE_NINF)
10999
if (yyn == YYFINAL)
11002
/* Shift the lookahead token. */
11003
YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
11005
/* Discard the token being shifted unless it is eof. */
11006
if (yychar != YYEOF)
11012
/* Count tokens shifted since error; after three, turn off error
11021
/*-----------------------------------------------------------.
11022
| yydefault -- do the default action for the current state. |
11023
`-----------------------------------------------------------*/
11025
yyn = yydefact[yystate];
11031
/*-----------------------------.
11032
| yyreduce -- Do a reduction. |
11033
`-----------------------------*/
11035
/* yyn is the number of a rule to reduce with. */
11038
/* If YYLEN is nonzero, implement the default value of the action:
11041
Otherwise, the following line sets YYVAL to garbage.
11042
This behavior is undocumented and Bison
11043
users should not rely upon it. Assigning to YYVAL
11044
unconditionally makes the parser a bit smaller, and it avoids a
11045
GCC warning that YYVAL may be used uninitialized. */
11046
yyval = yyvsp[1-yylen];
11049
YY_REDUCE_PRINT (yyn);
11054
{ parsetree = yyvsp[0].list; }
11059
{ if (yyvsp[0].node != NULL)
11060
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
11062
yyval.list = yyvsp[-2].list;
11068
{ if (yyvsp[0].node != NULL)
11069
yyval.list = list_make1(yyvsp[0].node);
11077
{ yyval.node = NULL; }
11083
CreateRoleStmt *n = makeNode(CreateRoleStmt);
11084
n->stmt_type = ROLESTMT_ROLE;
11085
n->role = yyvsp[-2].str;
11086
n->options = yyvsp[0].list;
11087
yyval.node = (Node *)n;
11103
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); }
11108
{ yyval.list = NIL; }
11114
yyval.defelt = makeDefElem("password",
11115
(Node *)makeString(yyvsp[0].str));
11122
yyval.defelt = makeDefElem("encryptedPassword",
11123
(Node *)makeString(yyvsp[0].str));
11130
yyval.defelt = makeDefElem("unencryptedPassword",
11131
(Node *)makeString(yyvsp[0].str));
11138
yyval.defelt = makeDefElem("superuser", (Node *)makeInteger(TRUE));
11145
yyval.defelt = makeDefElem("superuser", (Node *)makeInteger(FALSE));
11152
yyval.defelt = makeDefElem("inherit", (Node *)makeInteger(TRUE));
11159
yyval.defelt = makeDefElem("inherit", (Node *)makeInteger(FALSE));
11166
yyval.defelt = makeDefElem("createdb", (Node *)makeInteger(TRUE));
11173
yyval.defelt = makeDefElem("createdb", (Node *)makeInteger(FALSE));
11180
yyval.defelt = makeDefElem("createrole", (Node *)makeInteger(TRUE));
11187
yyval.defelt = makeDefElem("createrole", (Node *)makeInteger(FALSE));
11194
/* For backwards compatibility, synonym for SUPERUSER */
11195
yyval.defelt = makeDefElem("superuser", (Node *)makeInteger(TRUE));
11202
yyval.defelt = makeDefElem("superuser", (Node *)makeInteger(FALSE));
11209
yyval.defelt = makeDefElem("canlogin", (Node *)makeInteger(TRUE));
11216
yyval.defelt = makeDefElem("canlogin", (Node *)makeInteger(FALSE));
11223
yyval.defelt = makeDefElem("connectionlimit", (Node *)makeInteger(yyvsp[0].ival));
11230
yyval.defelt = makeDefElem("validUntil", (Node *)makeString(yyvsp[0].str));
11237
yyval.defelt = makeDefElem("rolemembers", (Node *)yyvsp[0].list);
11244
yyval.defelt = makeDefElem("sysid", (Node *)makeInteger(yyvsp[0].ival));
11251
yyval.defelt = makeDefElem("adminmembers", (Node *)yyvsp[0].list);
11258
yyval.defelt = makeDefElem("rolemembers", (Node *)yyvsp[0].list);
11265
yyval.defelt = makeDefElem("addroleto", (Node *)yyvsp[0].list);
11272
yyval.defelt = makeDefElem("addroleto", (Node *)yyvsp[0].list);
11279
CreateRoleStmt *n = makeNode(CreateRoleStmt);
11280
n->stmt_type = ROLESTMT_USER;
11281
n->role = yyvsp[-2].str;
11282
n->options = yyvsp[0].list;
11283
yyval.node = (Node *)n;
11290
AlterRoleStmt *n = makeNode(AlterRoleStmt);
11291
n->role = yyvsp[-2].str;
11292
n->action = +1; /* add, if there are members */
11293
n->options = yyvsp[0].list;
11294
yyval.node = (Node *)n;
11301
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
11302
n->role = yyvsp[-2].str;
11303
n->variable = yyvsp[0].vsetstmt->name;
11304
n->value = yyvsp[0].vsetstmt->args;
11305
yyval.node = (Node *)n;
11312
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
11313
n->role = yyvsp[-1].str;
11314
n->variable = ((VariableResetStmt *)yyvsp[0].node)->name;
11316
yyval.node = (Node *)n;
11323
AlterRoleStmt *n = makeNode(AlterRoleStmt);
11324
n->role = yyvsp[-2].str;
11325
n->action = +1; /* add, if there are members */
11326
n->options = yyvsp[0].list;
11327
yyval.node = (Node *)n;
11334
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
11335
n->role = yyvsp[-2].str;
11336
n->variable = yyvsp[0].vsetstmt->name;
11337
n->value = yyvsp[0].vsetstmt->args;
11338
yyval.node = (Node *)n;
11345
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
11346
n->role = yyvsp[-1].str;
11347
n->variable = ((VariableResetStmt *)yyvsp[0].node)->name;
11349
yyval.node = (Node *)n;
11356
DropRoleStmt *n = makeNode(DropRoleStmt);
11357
n->roles = yyvsp[0].list;
11358
yyval.node = (Node *)n;
11365
DropRoleStmt *n = makeNode(DropRoleStmt);
11366
n->roles = yyvsp[0].list;
11367
yyval.node = (Node *)n;
11374
CreateRoleStmt *n = makeNode(CreateRoleStmt);
11375
n->stmt_type = ROLESTMT_GROUP;
11376
n->role = yyvsp[-2].str;
11377
n->options = yyvsp[0].list;
11378
yyval.node = (Node *)n;
11385
AlterRoleStmt *n = makeNode(AlterRoleStmt);
11386
n->role = yyvsp[-3].str;
11387
n->action = yyvsp[-2].ival;
11388
n->options = list_make1(makeDefElem("rolemembers",
11389
(Node *)yyvsp[0].list));
11390
yyval.node = (Node *)n;
11396
{ yyval.ival = +1; }
11401
{ yyval.ival = -1; }
11407
DropRoleStmt *n = makeNode(DropRoleStmt);
11408
n->roles = yyvsp[0].list;
11409
yyval.node = (Node *)n;
11416
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
11417
/* One can omit the schema name or the authorization id. */
11418
if (yyvsp[-3].str != NULL)
11419
n->schemaname = yyvsp[-3].str;
11421
n->schemaname = yyvsp[-1].str;
11422
n->authid = yyvsp[-1].str;
11423
n->schemaElts = yyvsp[0].list;
11424
yyval.node = (Node *)n;
11431
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
11432
/* ...but not both */
11433
n->schemaname = yyvsp[-1].str;
11435
n->schemaElts = yyvsp[0].list;
11436
yyval.node = (Node *)n;
11442
{ yyval.str = yyvsp[0].str; }
11447
{ yyval.str = NULL; }
11452
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); }
11457
{ yyval.list = NIL; }
11463
VariableSetStmt *n = yyvsp[0].vsetstmt;
11464
n->is_local = false;
11465
yyval.node = (Node *) n;
11472
VariableSetStmt *n = yyvsp[0].vsetstmt;
11473
n->is_local = true;
11474
yyval.node = (Node *) n;
11481
VariableSetStmt *n = yyvsp[0].vsetstmt;
11482
n->is_local = false;
11483
yyval.node = (Node *) n;
11490
VariableSetStmt *n = makeNode(VariableSetStmt);
11491
n->name = yyvsp[-2].str;
11492
n->args = yyvsp[0].list;
11493
yyval.vsetstmt = n;
11500
VariableSetStmt *n = makeNode(VariableSetStmt);
11501
n->name = yyvsp[-2].str;
11502
n->args = yyvsp[0].list;
11503
yyval.vsetstmt = n;
11508
#line 1005 "gram.y"
11510
VariableSetStmt *n = makeNode(VariableSetStmt);
11511
n->name = "timezone";
11512
if (yyvsp[0].node != NULL)
11513
n->args = list_make1(yyvsp[0].node);
11514
yyval.vsetstmt = n;
11519
#line 1013 "gram.y"
11521
VariableSetStmt *n = makeNode(VariableSetStmt);
11522
n->name = "TRANSACTION";
11523
n->args = yyvsp[0].list;
11524
yyval.vsetstmt = n;
11529
#line 1020 "gram.y"
11531
VariableSetStmt *n = makeNode(VariableSetStmt);
11532
n->name = "SESSION CHARACTERISTICS";
11533
n->args = yyvsp[0].list;
11534
yyval.vsetstmt = n;
11539
#line 1027 "gram.y"
11541
VariableSetStmt *n = makeNode(VariableSetStmt);
11542
n->name = "client_encoding";
11543
if (yyvsp[0].str != NULL)
11544
n->args = list_make1(makeStringConst(yyvsp[0].str, NULL));
11545
yyval.vsetstmt = n;
11550
#line 1035 "gram.y"
11552
VariableSetStmt *n = makeNode(VariableSetStmt);
11554
n->args = list_make1(makeStringConst(yyvsp[0].str, NULL));
11555
yyval.vsetstmt = n;
11560
#line 1042 "gram.y"
11562
VariableSetStmt *n = makeNode(VariableSetStmt);
11563
n->name = "session_authorization";
11564
n->args = list_make1(makeStringConst(yyvsp[0].str, NULL));
11565
yyval.vsetstmt = n;
11570
#line 1049 "gram.y"
11572
VariableSetStmt *n = makeNode(VariableSetStmt);
11573
n->name = "session_authorization";
11575
yyval.vsetstmt = n;
11580
#line 1058 "gram.y"
11581
{ yyval.str = yyvsp[0].str; }
11585
#line 1060 "gram.y"
11587
int qLen = strlen(yyvsp[-2].str);
11588
char* qualName = palloc(qLen + strlen(yyvsp[0].str) + 2);
11589
strcpy(qualName, yyvsp[-2].str);
11590
qualName[qLen] = '.';
11591
strcpy(qualName + qLen + 1, yyvsp[0].str);
11592
yyval.str = qualName;
11597
#line 1071 "gram.y"
11598
{ yyval.list = yyvsp[0].list; }
11602
#line 1072 "gram.y"
11603
{ yyval.list = NIL; }
11607
#line 1075 "gram.y"
11608
{ yyval.list = list_make1(yyvsp[0].node); }
11612
#line 1076 "gram.y"
11613
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
11617
#line 1080 "gram.y"
11618
{ yyval.node = makeStringConst(yyvsp[0].str, NULL); }
11622
#line 1082 "gram.y"
11623
{ yyval.node = makeStringConst(yyvsp[0].str, NULL); }
11627
#line 1084 "gram.y"
11628
{ yyval.node = makeAConst(yyvsp[0].value); }
11632
#line 1087 "gram.y"
11633
{ yyval.str = "read uncommitted"; }
11637
#line 1088 "gram.y"
11638
{ yyval.str = "read committed"; }
11642
#line 1089 "gram.y"
11643
{ yyval.str = "repeatable read"; }
11647
#line 1090 "gram.y"
11648
{ yyval.str = "serializable"; }
11652
#line 1094 "gram.y"
11653
{ yyval.str = "true"; }
11657
#line 1095 "gram.y"
11658
{ yyval.str = "false"; }
11662
#line 1096 "gram.y"
11663
{ yyval.str = "on"; }
11667
#line 1097 "gram.y"
11668
{ yyval.str = "off"; }
11672
#line 1110 "gram.y"
11674
yyval.node = makeStringConst(yyvsp[0].str, NULL);
11679
#line 1114 "gram.y"
11681
yyval.node = makeStringConst(yyvsp[0].str, NULL);
11686
#line 1118 "gram.y"
11688
A_Const *n = (A_Const *) makeStringConst(yyvsp[-1].str, yyvsp[-2].typnam);
11689
if (yyvsp[0].ival != INTERVAL_FULL_RANGE)
11691
if ((yyvsp[0].ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
11693
(errcode(ERRCODE_SYNTAX_ERROR),
11694
errmsg("time zone interval must be HOUR or HOUR TO MINUTE")));
11695
n->typename->typmod = INTERVAL_TYPMOD(INTERVAL_FULL_PRECISION, yyvsp[0].ival);
11697
yyval.node = (Node *)n;
11702
#line 1131 "gram.y"
11704
A_Const *n = (A_Const *) makeStringConst(yyvsp[-1].str, yyvsp[-5].typnam);
11705
if (yyvsp[-3].ival < 0)
11707
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
11708
errmsg("INTERVAL(%d) precision must not be negative",
11710
if (yyvsp[-3].ival > MAX_INTERVAL_PRECISION)
11713
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
11714
errmsg("INTERVAL(%d) precision reduced to maximum allowed, %d",
11715
yyvsp[-3].ival, MAX_INTERVAL_PRECISION)));
11716
yyvsp[-3].ival = MAX_INTERVAL_PRECISION;
11719
if ((yyvsp[0].ival != INTERVAL_FULL_RANGE)
11720
&& ((yyvsp[0].ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0))
11722
(errcode(ERRCODE_SYNTAX_ERROR),
11723
errmsg("time zone interval must be HOUR or HOUR TO MINUTE")));
11725
n->typename->typmod = INTERVAL_TYPMOD(yyvsp[-3].ival, yyvsp[0].ival);
11727
yyval.node = (Node *)n;
11732
#line 1157 "gram.y"
11733
{ yyval.node = makeAConst(yyvsp[0].value); }
11737
#line 1158 "gram.y"
11738
{ yyval.node = NULL; }
11742
#line 1159 "gram.y"
11743
{ yyval.node = NULL; }
11747
#line 1163 "gram.y"
11748
{ yyval.str = yyvsp[0].str; }
11752
#line 1164 "gram.y"
11753
{ yyval.str = NULL; }
11757
#line 1165 "gram.y"
11758
{ yyval.str = NULL; }
11762
#line 1169 "gram.y"
11763
{ yyval.str = yyvsp[0].str; }
11767
#line 1170 "gram.y"
11768
{ yyval.str = yyvsp[0].str; }
11772
#line 1176 "gram.y"
11774
VariableShowStmt *n = makeNode(VariableShowStmt);
11775
n->name = yyvsp[0].str;
11776
yyval.node = (Node *) n;
11781
#line 1182 "gram.y"
11783
VariableShowStmt *n = makeNode(VariableShowStmt);
11784
n->name = "timezone";
11785
yyval.node = (Node *) n;
11790
#line 1188 "gram.y"
11792
VariableShowStmt *n = makeNode(VariableShowStmt);
11793
n->name = "transaction_isolation";
11794
yyval.node = (Node *) n;
11799
#line 1194 "gram.y"
11801
VariableShowStmt *n = makeNode(VariableShowStmt);
11802
n->name = "session_authorization";
11803
yyval.node = (Node *) n;
11808
#line 1200 "gram.y"
11810
VariableShowStmt *n = makeNode(VariableShowStmt);
11812
yyval.node = (Node *) n;
11817
#line 1209 "gram.y"
11819
VariableResetStmt *n = makeNode(VariableResetStmt);
11820
n->name = yyvsp[0].str;
11821
yyval.node = (Node *) n;
11826
#line 1215 "gram.y"
11828
VariableResetStmt *n = makeNode(VariableResetStmt);
11829
n->name = "timezone";
11830
yyval.node = (Node *) n;
11835
#line 1221 "gram.y"
11837
VariableResetStmt *n = makeNode(VariableResetStmt);
11838
n->name = "transaction_isolation";
11839
yyval.node = (Node *) n;
11844
#line 1227 "gram.y"
11846
VariableResetStmt *n = makeNode(VariableResetStmt);
11847
n->name = "session_authorization";
11848
yyval.node = (Node *) n;
11853
#line 1233 "gram.y"
11855
VariableResetStmt *n = makeNode(VariableResetStmt);
11857
yyval.node = (Node *) n;
11862
#line 1243 "gram.y"
11864
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
11865
n->constraints = yyvsp[-1].list;
11866
n->deferred = yyvsp[0].boolean;
11867
yyval.node = (Node *) n;
11872
#line 1252 "gram.y"
11873
{ yyval.list = NIL; }
11877
#line 1253 "gram.y"
11878
{ yyval.list = yyvsp[0].list; }
11882
#line 1257 "gram.y"
11883
{ yyval.boolean = TRUE; }
11887
#line 1258 "gram.y"
11888
{ yyval.boolean = FALSE; }
11892
#line 1267 "gram.y"
11894
CheckPointStmt *n = makeNode(CheckPointStmt);
11895
yyval.node = (Node *)n;
11900
#line 1282 "gram.y"
11902
AlterTableStmt *n = makeNode(AlterTableStmt);
11903
n->relation = yyvsp[-1].range;
11904
n->cmds = yyvsp[0].list;
11905
n->relkind = OBJECT_TABLE;
11906
yyval.node = (Node *)n;
11911
#line 1290 "gram.y"
11913
AlterTableStmt *n = makeNode(AlterTableStmt);
11914
n->relation = yyvsp[-1].range;
11915
n->cmds = yyvsp[0].list;
11916
n->relkind = OBJECT_INDEX;
11917
yyval.node = (Node *)n;
11922
#line 1300 "gram.y"
11923
{ yyval.list = list_make1(yyvsp[0].node); }
11927
#line 1301 "gram.y"
11928
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
11932
#line 1308 "gram.y"
11934
AlterTableCmd *n = makeNode(AlterTableCmd);
11935
n->subtype = AT_AddColumn;
11936
n->def = yyvsp[0].node;
11937
yyval.node = (Node *)n;
11942
#line 1316 "gram.y"
11944
AlterTableCmd *n = makeNode(AlterTableCmd);
11945
n->subtype = AT_ColumnDefault;
11946
n->name = yyvsp[-1].str;
11947
n->def = yyvsp[0].node;
11948
yyval.node = (Node *)n;
11953
#line 1325 "gram.y"
11955
AlterTableCmd *n = makeNode(AlterTableCmd);
11956
n->subtype = AT_DropNotNull;
11957
n->name = yyvsp[-3].str;
11958
yyval.node = (Node *)n;
11963
#line 1333 "gram.y"
11965
AlterTableCmd *n = makeNode(AlterTableCmd);
11966
n->subtype = AT_SetNotNull;
11967
n->name = yyvsp[-3].str;
11968
yyval.node = (Node *)n;
11973
#line 1341 "gram.y"
11975
AlterTableCmd *n = makeNode(AlterTableCmd);
11976
n->subtype = AT_SetStatistics;
11977
n->name = yyvsp[-3].str;
11978
n->def = (Node *) yyvsp[0].value;
11979
yyval.node = (Node *)n;
11984
#line 1350 "gram.y"
11986
AlterTableCmd *n = makeNode(AlterTableCmd);
11987
n->subtype = AT_SetStorage;
11988
n->name = yyvsp[-3].str;
11989
n->def = (Node *) makeString(yyvsp[0].str);
11990
yyval.node = (Node *)n;
11995
#line 1359 "gram.y"
11997
AlterTableCmd *n = makeNode(AlterTableCmd);
11998
n->subtype = AT_DropColumn;
11999
n->name = yyvsp[-1].str;
12000
n->behavior = yyvsp[0].dbehavior;
12001
yyval.node = (Node *)n;
12006
#line 1371 "gram.y"
12008
AlterTableCmd *n = makeNode(AlterTableCmd);
12009
n->subtype = AT_AlterColumnType;
12010
n->name = yyvsp[-3].str;
12011
n->def = (Node *) yyvsp[-1].typnam;
12012
n->transform = yyvsp[0].node;
12013
yyval.node = (Node *)n;
12018
#line 1381 "gram.y"
12020
AlterTableCmd *n = makeNode(AlterTableCmd);
12021
n->subtype = AT_AddConstraint;
12022
n->def = yyvsp[0].node;
12023
yyval.node = (Node *)n;
12028
#line 1389 "gram.y"
12030
AlterTableCmd *n = makeNode(AlterTableCmd);
12031
n->subtype = AT_DropConstraint;
12032
n->name = yyvsp[-1].str;
12033
n->behavior = yyvsp[0].dbehavior;
12034
yyval.node = (Node *)n;
12039
#line 1398 "gram.y"
12041
AlterTableCmd *n = makeNode(AlterTableCmd);
12042
n->subtype = AT_DropOids;
12043
yyval.node = (Node *)n;
12048
#line 1405 "gram.y"
12050
AlterTableCmd *n = makeNode(AlterTableCmd);
12051
n->subtype = AT_ToastTable;
12052
yyval.node = (Node *)n;
12057
#line 1412 "gram.y"
12059
AlterTableCmd *n = makeNode(AlterTableCmd);
12060
n->subtype = AT_ClusterOn;
12061
n->name = yyvsp[0].str;
12062
yyval.node = (Node *)n;
12067
#line 1420 "gram.y"
12069
AlterTableCmd *n = makeNode(AlterTableCmd);
12070
n->subtype = AT_DropCluster;
12072
yyval.node = (Node *)n;
12077
#line 1428 "gram.y"
12079
AlterTableCmd *n = makeNode(AlterTableCmd);
12080
n->subtype = AT_EnableTrig;
12081
n->name = yyvsp[0].str;
12082
yyval.node = (Node *)n;
12087
#line 1436 "gram.y"
12089
AlterTableCmd *n = makeNode(AlterTableCmd);
12090
n->subtype = AT_EnableTrigAll;
12091
yyval.node = (Node *)n;
12096
#line 1443 "gram.y"
12098
AlterTableCmd *n = makeNode(AlterTableCmd);
12099
n->subtype = AT_EnableTrigUser;
12100
yyval.node = (Node *)n;
12105
#line 1450 "gram.y"
12107
AlterTableCmd *n = makeNode(AlterTableCmd);
12108
n->subtype = AT_DisableTrig;
12109
n->name = yyvsp[0].str;
12110
yyval.node = (Node *)n;
12115
#line 1458 "gram.y"
12117
AlterTableCmd *n = makeNode(AlterTableCmd);
12118
n->subtype = AT_DisableTrigAll;
12119
yyval.node = (Node *)n;
12124
#line 1465 "gram.y"
12126
AlterTableCmd *n = makeNode(AlterTableCmd);
12127
n->subtype = AT_DisableTrigUser;
12128
yyval.node = (Node *)n;
12133
#line 1471 "gram.y"
12135
yyval.node = yyvsp[0].node;
12140
#line 1477 "gram.y"
12141
{ yyval.list = list_make1(yyvsp[0].node); }
12145
#line 1478 "gram.y"
12146
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
12150
#line 1485 "gram.y"
12152
AlterTableCmd *n = makeNode(AlterTableCmd);
12153
n->subtype = AT_ChangeOwner;
12154
n->name = yyvsp[0].str;
12155
yyval.node = (Node *)n;
12160
#line 1493 "gram.y"
12162
AlterTableCmd *n = makeNode(AlterTableCmd);
12163
n->subtype = AT_SetTableSpace;
12164
n->name = yyvsp[0].str;
12165
yyval.node = (Node *)n;
12170
#line 1503 "gram.y"
12172
/* Treat SET DEFAULT NULL the same as DROP DEFAULT */
12173
if (exprIsNullConstant(yyvsp[0].node))
12176
yyval.node = yyvsp[0].node;
12181
#line 1510 "gram.y"
12182
{ yyval.node = NULL; }
12186
#line 1514 "gram.y"
12187
{ yyval.dbehavior = DROP_CASCADE; }
12191
#line 1515 "gram.y"
12192
{ yyval.dbehavior = DROP_RESTRICT; }
12196
#line 1516 "gram.y"
12197
{ yyval.dbehavior = DROP_RESTRICT; /* default */ }
12201
#line 1520 "gram.y"
12202
{ yyval.node = yyvsp[0].node; }
12206
#line 1521 "gram.y"
12207
{ yyval.node = NULL; }
12211
#line 1535 "gram.y"
12213
ClosePortalStmt *n = makeNode(ClosePortalStmt);
12214
n->portalname = yyvsp[0].str;
12215
yyval.node = (Node *)n;
12220
#line 1555 "gram.y"
12222
CopyStmt *n = makeNode(CopyStmt);
12223
n->relation = yyvsp[-7].range;
12224
n->attlist = yyvsp[-6].list;
12225
n->is_from = yyvsp[-4].boolean;
12226
n->filename = yyvsp[-3].str;
12229
/* Concatenate user-supplied flags */
12230
if (yyvsp[-8].defelt)
12231
n->options = lappend(n->options, yyvsp[-8].defelt);
12232
if (yyvsp[-5].defelt)
12233
n->options = lappend(n->options, yyvsp[-5].defelt);
12234
if (yyvsp[-2].defelt)
12235
n->options = lappend(n->options, yyvsp[-2].defelt);
12237
n->options = list_concat(n->options, yyvsp[0].list);
12238
yyval.node = (Node *)n;
12243
#line 1577 "gram.y"
12244
{ yyval.boolean = TRUE; }
12248
#line 1578 "gram.y"
12249
{ yyval.boolean = FALSE; }
12253
#line 1587 "gram.y"
12254
{ yyval.str = yyvsp[0].str; }
12258
#line 1588 "gram.y"
12259
{ yyval.str = NULL; }
12263
#line 1589 "gram.y"
12264
{ yyval.str = NULL; }
12268
#line 1595 "gram.y"
12269
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); }
12273
#line 1596 "gram.y"
12274
{ yyval.list = NIL; }
12278
#line 1602 "gram.y"
12280
yyval.defelt = makeDefElem("binary", (Node *)makeInteger(TRUE));
12285
#line 1606 "gram.y"
12287
yyval.defelt = makeDefElem("oids", (Node *)makeInteger(TRUE));
12292
#line 1610 "gram.y"
12294
yyval.defelt = makeDefElem("delimiter", (Node *)makeString(yyvsp[0].str));
12299
#line 1614 "gram.y"
12301
yyval.defelt = makeDefElem("null", (Node *)makeString(yyvsp[0].str));
12306
#line 1618 "gram.y"
12308
yyval.defelt = makeDefElem("csv", (Node *)makeInteger(TRUE));
12313
#line 1622 "gram.y"
12315
yyval.defelt = makeDefElem("header", (Node *)makeInteger(TRUE));
12320
#line 1626 "gram.y"
12322
yyval.defelt = makeDefElem("quote", (Node *)makeString(yyvsp[0].str));
12327
#line 1630 "gram.y"
12329
yyval.defelt = makeDefElem("escape", (Node *)makeString(yyvsp[0].str));
12334
#line 1634 "gram.y"
12336
yyval.defelt = makeDefElem("force_quote", (Node *)yyvsp[0].list);
12341
#line 1638 "gram.y"
12343
yyval.defelt = makeDefElem("force_notnull", (Node *)yyvsp[0].list);
12348
#line 1647 "gram.y"
12350
yyval.defelt = makeDefElem("binary", (Node *)makeInteger(TRUE));
12355
#line 1650 "gram.y"
12356
{ yyval.defelt = NULL; }
12360
#line 1655 "gram.y"
12362
yyval.defelt = makeDefElem("oids", (Node *)makeInteger(TRUE));
12367
#line 1658 "gram.y"
12368
{ yyval.defelt = NULL; }
12372
#line 1664 "gram.y"
12374
yyval.defelt = makeDefElem("delimiter", (Node *)makeString(yyvsp[0].str));
12379
#line 1667 "gram.y"
12380
{ yyval.defelt = NULL; }
12384
#line 1671 "gram.y"
12389
#line 1672 "gram.y"
12394
#line 1685 "gram.y"
12396
CreateStmt *n = makeNode(CreateStmt);
12397
yyvsp[-7].range->istemp = yyvsp[-9].boolean;
12398
n->relation = yyvsp[-7].range;
12399
n->tableElts = yyvsp[-5].list;
12400
n->inhRelations = yyvsp[-3].list;
12401
n->constraints = NIL;
12402
n->hasoids = yyvsp[-2].withoids;
12403
n->oncommit = yyvsp[-1].oncommit;
12404
n->tablespacename = yyvsp[0].str;
12405
yyval.node = (Node *)n;
12410
#line 1699 "gram.y"
12412
/* SQL99 CREATE TABLE OF <UDT> (cols) seems to be satisfied
12413
* by our inheritance capabilities. Let's try it...
12415
CreateStmt *n = makeNode(CreateStmt);
12416
yyvsp[-8].range->istemp = yyvsp[-10].boolean;
12417
n->relation = yyvsp[-8].range;
12418
n->tableElts = yyvsp[-4].list;
12419
n->inhRelations = list_make1(yyvsp[-6].range);
12420
n->constraints = NIL;
12421
n->hasoids = yyvsp[-2].withoids;
12422
n->oncommit = yyvsp[-1].oncommit;
12423
n->tablespacename = yyvsp[0].str;
12424
yyval.node = (Node *)n;
12429
#line 1723 "gram.y"
12430
{ yyval.boolean = TRUE; }
12434
#line 1724 "gram.y"
12435
{ yyval.boolean = TRUE; }
12439
#line 1725 "gram.y"
12440
{ yyval.boolean = TRUE; }
12444
#line 1726 "gram.y"
12445
{ yyval.boolean = TRUE; }
12449
#line 1727 "gram.y"
12450
{ yyval.boolean = TRUE; }
12454
#line 1728 "gram.y"
12455
{ yyval.boolean = TRUE; }
12459
#line 1729 "gram.y"
12460
{ yyval.boolean = FALSE; }
12464
#line 1733 "gram.y"
12465
{ yyval.list = yyvsp[0].list; }
12469
#line 1734 "gram.y"
12470
{ yyval.list = NIL; }
12474
#line 1739 "gram.y"
12476
yyval.list = list_make1(yyvsp[0].node);
12481
#line 1743 "gram.y"
12483
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
12488
#line 1749 "gram.y"
12489
{ yyval.node = yyvsp[0].node; }
12493
#line 1750 "gram.y"
12494
{ yyval.node = yyvsp[0].node; }
12498
#line 1751 "gram.y"
12499
{ yyval.node = yyvsp[0].node; }
12503
#line 1755 "gram.y"
12505
ColumnDef *n = makeNode(ColumnDef);
12506
n->colname = yyvsp[-2].str;
12507
n->typename = yyvsp[-1].typnam;
12508
n->constraints = yyvsp[0].list;
12509
n->is_local = true;
12510
yyval.node = (Node *)n;
12515
#line 1766 "gram.y"
12516
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); }
12520
#line 1767 "gram.y"
12521
{ yyval.list = NIL; }
12525
#line 1772 "gram.y"
12527
switch (nodeTag(yyvsp[0].node))
12531
Constraint *n = (Constraint *)yyvsp[0].node;
12532
n->name = yyvsp[-1].str;
12535
case T_FkConstraint:
12537
FkConstraint *n = (FkConstraint *)yyvsp[0].node;
12538
n->constr_name = yyvsp[-1].str;
12544
yyval.node = yyvsp[0].node;
12549
#line 1792 "gram.y"
12550
{ yyval.node = yyvsp[0].node; }
12554
#line 1793 "gram.y"
12555
{ yyval.node = yyvsp[0].node; }
12559
#line 1813 "gram.y"
12561
Constraint *n = makeNode(Constraint);
12562
n->contype = CONSTR_NOTNULL;
12564
n->raw_expr = NULL;
12565
n->cooked_expr = NULL;
12567
n->indexspace = NULL;
12568
yyval.node = (Node *)n;
12573
#line 1824 "gram.y"
12575
Constraint *n = makeNode(Constraint);
12576
n->contype = CONSTR_NULL;
12578
n->raw_expr = NULL;
12579
n->cooked_expr = NULL;
12581
n->indexspace = NULL;
12582
yyval.node = (Node *)n;
12587
#line 1835 "gram.y"
12589
Constraint *n = makeNode(Constraint);
12590
n->contype = CONSTR_UNIQUE;
12592
n->raw_expr = NULL;
12593
n->cooked_expr = NULL;
12595
n->indexspace = yyvsp[0].str;
12596
yyval.node = (Node *)n;
12601
#line 1846 "gram.y"
12603
Constraint *n = makeNode(Constraint);
12604
n->contype = CONSTR_PRIMARY;
12606
n->raw_expr = NULL;
12607
n->cooked_expr = NULL;
12609
n->indexspace = yyvsp[0].str;
12610
yyval.node = (Node *)n;
12615
#line 1857 "gram.y"
12617
Constraint *n = makeNode(Constraint);
12618
n->contype = CONSTR_CHECK;
12620
n->raw_expr = yyvsp[-1].node;
12621
n->cooked_expr = NULL;
12623
n->indexspace = NULL;
12624
yyval.node = (Node *)n;
12629
#line 1868 "gram.y"
12631
Constraint *n = makeNode(Constraint);
12632
n->contype = CONSTR_DEFAULT;
12634
if (exprIsNullConstant(yyvsp[0].node))
12636
/* DEFAULT NULL should be reported as empty expr */
12637
n->raw_expr = NULL;
12641
n->raw_expr = yyvsp[0].node;
12643
n->cooked_expr = NULL;
12645
n->indexspace = NULL;
12646
yyval.node = (Node *)n;
12651
#line 1887 "gram.y"
12653
FkConstraint *n = makeNode(FkConstraint);
12654
n->constr_name = NULL;
12655
n->pktable = yyvsp[-3].range;
12657
n->pk_attrs = yyvsp[-2].list;
12658
n->fk_matchtype = yyvsp[-1].ival;
12659
n->fk_upd_action = (char) (yyvsp[0].ival >> 8);
12660
n->fk_del_action = (char) (yyvsp[0].ival & 0xFF);
12661
n->deferrable = FALSE;
12662
n->initdeferred = FALSE;
12663
yyval.node = (Node *)n;
12668
#line 1915 "gram.y"
12670
Constraint *n = makeNode(Constraint);
12671
n->contype = CONSTR_ATTR_DEFERRABLE;
12672
yyval.node = (Node *)n;
12677
#line 1921 "gram.y"
12679
Constraint *n = makeNode(Constraint);
12680
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
12681
yyval.node = (Node *)n;
12686
#line 1927 "gram.y"
12688
Constraint *n = makeNode(Constraint);
12689
n->contype = CONSTR_ATTR_DEFERRED;
12690
yyval.node = (Node *)n;
12695
#line 1933 "gram.y"
12697
Constraint *n = makeNode(Constraint);
12698
n->contype = CONSTR_ATTR_IMMEDIATE;
12699
yyval.node = (Node *)n;
12704
#line 1951 "gram.y"
12706
InhRelation *n = makeNode(InhRelation);
12707
n->relation = yyvsp[-1].range;
12708
n->including_defaults = yyvsp[0].boolean;
12710
yyval.node = (Node *)n;
12715
#line 1961 "gram.y"
12716
{ yyval.boolean = true; }
12720
#line 1962 "gram.y"
12721
{ yyval.boolean = false; }
12725
#line 1963 "gram.y"
12726
{ yyval.boolean = false; }
12730
#line 1973 "gram.y"
12732
switch (nodeTag(yyvsp[0].node))
12736
Constraint *n = (Constraint *)yyvsp[0].node;
12737
n->name = yyvsp[-1].str;
12740
case T_FkConstraint:
12742
FkConstraint *n = (FkConstraint *)yyvsp[0].node;
12743
n->constr_name = yyvsp[-1].str;
12749
yyval.node = yyvsp[0].node;
12754
#line 1993 "gram.y"
12755
{ yyval.node = yyvsp[0].node; }
12759
#line 1998 "gram.y"
12761
Constraint *n = makeNode(Constraint);
12762
n->contype = CONSTR_CHECK;
12764
n->raw_expr = yyvsp[-1].node;
12765
n->cooked_expr = NULL;
12766
n->indexspace = NULL;
12767
yyval.node = (Node *)n;
12772
#line 2008 "gram.y"
12774
Constraint *n = makeNode(Constraint);
12775
n->contype = CONSTR_UNIQUE;
12777
n->raw_expr = NULL;
12778
n->cooked_expr = NULL;
12779
n->keys = yyvsp[-2].list;
12780
n->indexspace = yyvsp[0].str;
12781
yyval.node = (Node *)n;
12786
#line 2019 "gram.y"
12788
Constraint *n = makeNode(Constraint);
12789
n->contype = CONSTR_PRIMARY;
12791
n->raw_expr = NULL;
12792
n->cooked_expr = NULL;
12793
n->keys = yyvsp[-2].list;
12794
n->indexspace = yyvsp[0].str;
12795
yyval.node = (Node *)n;
12800
#line 2031 "gram.y"
12802
FkConstraint *n = makeNode(FkConstraint);
12803
n->constr_name = NULL;
12804
n->pktable = yyvsp[-4].range;
12805
n->fk_attrs = yyvsp[-7].list;
12806
n->pk_attrs = yyvsp[-3].list;
12807
n->fk_matchtype = yyvsp[-2].ival;
12808
n->fk_upd_action = (char) (yyvsp[-1].ival >> 8);
12809
n->fk_del_action = (char) (yyvsp[-1].ival & 0xFF);
12810
n->deferrable = (yyvsp[0].ival & 1) != 0;
12811
n->initdeferred = (yyvsp[0].ival & 2) != 0;
12812
yyval.node = (Node *)n;
12817
#line 2047 "gram.y"
12818
{ yyval.list = yyvsp[-1].list; }
12822
#line 2048 "gram.y"
12823
{ yyval.list = NIL; }
12827
#line 2052 "gram.y"
12828
{ yyval.list = list_make1(yyvsp[0].node); }
12832
#line 2053 "gram.y"
12833
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
12837
#line 2057 "gram.y"
12839
yyval.node = (Node *) makeString(yyvsp[0].str);
12844
#line 2063 "gram.y"
12846
yyval.ival = FKCONSTR_MATCH_FULL;
12851
#line 2067 "gram.y"
12854
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
12855
errmsg("MATCH PARTIAL not yet implemented")));
12856
yyval.ival = FKCONSTR_MATCH_PARTIAL;
12861
#line 2074 "gram.y"
12863
yyval.ival = FKCONSTR_MATCH_UNSPECIFIED;
12868
#line 2078 "gram.y"
12870
yyval.ival = FKCONSTR_MATCH_UNSPECIFIED;
12875
#line 2091 "gram.y"
12876
{ yyval.ival = (yyvsp[0].ival << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
12880
#line 2093 "gram.y"
12881
{ yyval.ival = (FKCONSTR_ACTION_NOACTION << 8) | (yyvsp[0].ival & 0xFF); }
12885
#line 2095 "gram.y"
12886
{ yyval.ival = (yyvsp[-1].ival << 8) | (yyvsp[0].ival & 0xFF); }
12890
#line 2097 "gram.y"
12891
{ yyval.ival = (yyvsp[0].ival << 8) | (yyvsp[-1].ival & 0xFF); }
12895
#line 2099 "gram.y"
12896
{ yyval.ival = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
12900
#line 2102 "gram.y"
12901
{ yyval.ival = yyvsp[0].ival; }
12905
#line 2105 "gram.y"
12906
{ yyval.ival = yyvsp[0].ival; }
12910
#line 2109 "gram.y"
12911
{ yyval.ival = FKCONSTR_ACTION_NOACTION; }
12915
#line 2110 "gram.y"
12916
{ yyval.ival = FKCONSTR_ACTION_RESTRICT; }
12920
#line 2111 "gram.y"
12921
{ yyval.ival = FKCONSTR_ACTION_CASCADE; }
12925
#line 2112 "gram.y"
12926
{ yyval.ival = FKCONSTR_ACTION_SETNULL; }
12930
#line 2113 "gram.y"
12931
{ yyval.ival = FKCONSTR_ACTION_SETDEFAULT; }
12935
#line 2116 "gram.y"
12936
{ yyval.list = yyvsp[-1].list; }
12940
#line 2117 "gram.y"
12941
{ yyval.list = NIL; }
12945
#line 2121 "gram.y"
12946
{ yyval.withoids = MUST_HAVE_OIDS; }
12950
#line 2122 "gram.y"
12951
{ yyval.withoids = MUST_NOT_HAVE_OIDS; }
12955
#line 2123 "gram.y"
12956
{ yyval.withoids = DEFAULT_OIDS; }
12960
#line 2126 "gram.y"
12961
{ yyval.oncommit = ONCOMMIT_DROP; }
12965
#line 2127 "gram.y"
12966
{ yyval.oncommit = ONCOMMIT_DELETE_ROWS; }
12970
#line 2128 "gram.y"
12971
{ yyval.oncommit = ONCOMMIT_PRESERVE_ROWS; }
12975
#line 2129 "gram.y"
12976
{ yyval.oncommit = ONCOMMIT_NOOP; }
12980
#line 2132 "gram.y"
12981
{ yyval.str = yyvsp[0].str; }
12985
#line 2133 "gram.y"
12986
{ yyval.str = NULL; }
12990
#line 2136 "gram.y"
12991
{ yyval.str = yyvsp[0].str; }
12995
#line 2137 "gram.y"
12996
{ yyval.str = NULL; }
13000
#line 2148 "gram.y"
13003
* When the SelectStmt is a set-operation tree, we must
13004
* stuff the INTO information into the leftmost component
13005
* Select, because that's where analyze.c will expect
13006
* to find it. Similarly, the output column names must
13007
* be attached to that Select's target list.
13009
SelectStmt *n = findLeftmostSelect((SelectStmt *) yyvsp[0].node);
13010
if (n->into != NULL)
13012
(errcode(ERRCODE_SYNTAX_ERROR),
13013
errmsg("CREATE TABLE AS may not specify INTO")));
13014
yyvsp[-3].range->istemp = yyvsp[-5].boolean;
13015
n->into = yyvsp[-3].range;
13016
n->intoColNames = yyvsp[-2].list;
13017
n->intoHasOids = yyvsp[-1].withoids;
13018
yyval.node = yyvsp[0].node;
13023
#line 2176 "gram.y"
13024
{ yyval.withoids = MUST_HAVE_OIDS; }
13028
#line 2177 "gram.y"
13029
{ yyval.withoids = MUST_NOT_HAVE_OIDS; }
13033
#line 2178 "gram.y"
13034
{ yyval.withoids = DEFAULT_OIDS; }
13038
#line 2182 "gram.y"
13039
{ yyval.list = yyvsp[-1].list; }
13043
#line 2183 "gram.y"
13044
{ yyval.list = NIL; }
13048
#line 2187 "gram.y"
13049
{ yyval.list = list_make1(yyvsp[0].node); }
13053
#line 2188 "gram.y"
13054
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
13058
#line 2193 "gram.y"
13060
ColumnDef *n = makeNode(ColumnDef);
13061
n->colname = yyvsp[0].str;
13062
n->typename = NULL;
13064
n->is_local = true;
13065
n->is_not_null = false;
13066
n->raw_default = NULL;
13067
n->cooked_default = NULL;
13068
n->constraints = NIL;
13070
yyval.node = (Node *)n;
13075
#line 2219 "gram.y"
13077
CreateSeqStmt *n = makeNode(CreateSeqStmt);
13078
yyvsp[-1].range->istemp = yyvsp[-3].boolean;
13079
n->sequence = yyvsp[-1].range;
13080
n->options = yyvsp[0].list;
13081
yyval.node = (Node *)n;
13086
#line 2230 "gram.y"
13088
AlterSeqStmt *n = makeNode(AlterSeqStmt);
13089
n->sequence = yyvsp[-1].range;
13090
n->options = yyvsp[0].list;
13091
yyval.node = (Node *)n;
13096
#line 2238 "gram.y"
13097
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); }
13101
#line 2239 "gram.y"
13102
{ yyval.list = NIL; }
13106
#line 2243 "gram.y"
13108
yyval.defelt = makeDefElem("cache", (Node *)yyvsp[0].value);
13113
#line 2247 "gram.y"
13115
yyval.defelt = makeDefElem("cycle", (Node *)makeInteger(TRUE));
13120
#line 2251 "gram.y"
13122
yyval.defelt = makeDefElem("cycle", (Node *)makeInteger(FALSE));
13127
#line 2255 "gram.y"
13129
yyval.defelt = makeDefElem("increment", (Node *)yyvsp[0].value);
13134
#line 2259 "gram.y"
13136
yyval.defelt = makeDefElem("maxvalue", (Node *)yyvsp[0].value);
13141
#line 2263 "gram.y"
13143
yyval.defelt = makeDefElem("minvalue", (Node *)yyvsp[0].value);
13148
#line 2267 "gram.y"
13150
yyval.defelt = makeDefElem("maxvalue", NULL);
13155
#line 2271 "gram.y"
13157
yyval.defelt = makeDefElem("minvalue", NULL);
13162
#line 2275 "gram.y"
13164
yyval.defelt = makeDefElem("start", (Node *)yyvsp[0].value);
13169
#line 2279 "gram.y"
13171
yyval.defelt = makeDefElem("restart", (Node *)yyvsp[0].value);
13176
#line 2284 "gram.y"
13181
#line 2285 "gram.y"
13186
#line 2289 "gram.y"
13187
{ yyval.value = yyvsp[0].value; }
13191
#line 2290 "gram.y"
13192
{ yyval.value = yyvsp[0].value; }
13196
#line 2293 "gram.y"
13197
{ yyval.value = makeFloat(yyvsp[0].str); }
13201
#line 2295 "gram.y"
13203
yyval.value = makeFloat(yyvsp[0].str);
13204
doNegateFloat(yyval.value);
13209
#line 2301 "gram.y"
13210
{ yyval.value = makeInteger(yyvsp[0].ival); }
13214
#line 2314 "gram.y"
13216
CreatePLangStmt *n = makeNode(CreatePLangStmt);
13217
n->plname = yyvsp[0].str;
13218
/* parameters are all to be supplied by system */
13219
n->plhandler = NIL;
13220
n->plvalidator = NIL;
13221
n->pltrusted = false;
13222
yyval.node = (Node *)n;
13227
#line 2325 "gram.y"
13229
CreatePLangStmt *n = makeNode(CreatePLangStmt);
13230
n->plname = yyvsp[-4].str;
13231
n->plhandler = yyvsp[-2].list;
13232
n->plvalidator = yyvsp[-1].list;
13233
n->pltrusted = yyvsp[-7].boolean;
13234
/* LANCOMPILER is now ignored entirely */
13235
yyval.node = (Node *)n;
13240
#line 2337 "gram.y"
13241
{ yyval.boolean = TRUE; }
13245
#line 2338 "gram.y"
13246
{ yyval.boolean = FALSE; }
13250
#line 2346 "gram.y"
13251
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
13255
#line 2347 "gram.y"
13256
{ yyval.list = lcons(makeString(yyvsp[-1].str), yyvsp[0].list); }
13260
#line 2351 "gram.y"
13261
{ yyval.list = yyvsp[0].list; }
13265
#line 2352 "gram.y"
13266
{ yyval.list = NIL; }
13270
#line 2356 "gram.y"
13271
{ yyval.str = yyvsp[0].str; }
13275
#line 2357 "gram.y"
13276
{ yyval.str = NULL; }
13280
#line 2362 "gram.y"
13282
DropPLangStmt *n = makeNode(DropPLangStmt);
13283
n->plname = yyvsp[-1].str;
13284
n->behavior = yyvsp[0].dbehavior;
13285
yyval.node = (Node *)n;
13290
#line 2371 "gram.y"
13295
#line 2372 "gram.y"
13300
#line 2383 "gram.y"
13302
CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
13303
n->tablespacename = yyvsp[-3].str;
13304
n->owner = yyvsp[-2].str;
13305
n->location = yyvsp[0].str;
13306
yyval.node = (Node *) n;
13311
#line 2392 "gram.y"
13312
{ yyval.str = yyvsp[0].str; }
13316
#line 2393 "gram.y"
13317
{ yyval.str = NULL; }
13321
#line 2407 "gram.y"
13323
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
13324
n->tablespacename = yyvsp[0].str;
13325
yyval.node = (Node *) n;
13330
#line 2426 "gram.y"
13332
CreateTrigStmt *n = makeNode(CreateTrigStmt);
13333
n->trigname = yyvsp[-11].str;
13334
n->relation = yyvsp[-7].range;
13335
n->funcname = yyvsp[-3].list;
13336
n->args = yyvsp[-1].list;
13337
n->before = yyvsp[-10].boolean;
13338
n->row = yyvsp[-6].boolean;
13339
memcpy(n->actions, yyvsp[-9].str, 4);
13340
n->isconstraint = FALSE;
13341
n->deferrable = FALSE;
13342
n->initdeferred = FALSE;
13343
n->constrrel = NULL;
13344
yyval.node = (Node *)n;
13349
#line 2446 "gram.y"
13351
CreateTrigStmt *n = makeNode(CreateTrigStmt);
13352
n->trigname = yyvsp[-15].str;
13353
n->relation = yyvsp[-11].range;
13354
n->funcname = yyvsp[-3].list;
13355
n->args = yyvsp[-1].list;
13358
memcpy(n->actions, yyvsp[-13].str, 4);
13359
n->isconstraint = TRUE;
13360
n->deferrable = (yyvsp[-9].ival & 1) != 0;
13361
n->initdeferred = (yyvsp[-9].ival & 2) != 0;
13363
n->constrrel = yyvsp[-10].range;
13364
yyval.node = (Node *)n;
13369
#line 2465 "gram.y"
13370
{ yyval.boolean = TRUE; }
13374
#line 2466 "gram.y"
13375
{ yyval.boolean = FALSE; }
13379
#line 2471 "gram.y"
13381
char *e = palloc(4);
13382
e[0] = yyvsp[0].chr; e[1] = '\0';
13388
#line 2477 "gram.y"
13390
char *e = palloc(4);
13391
e[0] = yyvsp[-2].chr; e[1] = yyvsp[0].chr; e[2] = '\0';
13397
#line 2483 "gram.y"
13399
char *e = palloc(4);
13400
e[0] = yyvsp[-4].chr; e[1] = yyvsp[-2].chr; e[2] = yyvsp[0].chr; e[3] = '\0';
13406
#line 2491 "gram.y"
13407
{ yyval.chr = 'i'; }
13411
#line 2492 "gram.y"
13412
{ yyval.chr = 'd'; }
13416
#line 2493 "gram.y"
13417
{ yyval.chr = 'u'; }
13421
#line 2498 "gram.y"
13423
yyval.boolean = yyvsp[0].boolean;
13428
#line 2502 "gram.y"
13431
* If ROW/STATEMENT not specified, default to
13432
* STATEMENT, per SQL
13434
yyval.boolean = FALSE;
13439
#line 2512 "gram.y"
13444
#line 2513 "gram.y"
13449
#line 2517 "gram.y"
13450
{ yyval.boolean = TRUE; }
13454
#line 2518 "gram.y"
13455
{ yyval.boolean = FALSE; }
13459
#line 2522 "gram.y"
13460
{ yyval.list = list_make1(yyvsp[0].value); }
13464
#line 2523 "gram.y"
13465
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].value); }
13469
#line 2524 "gram.y"
13470
{ yyval.list = NIL; }
13474
#line 2529 "gram.y"
13477
snprintf(buf, sizeof(buf), "%d", yyvsp[0].ival);
13478
yyval.value = makeString(pstrdup(buf));
13483
#line 2534 "gram.y"
13484
{ yyval.value = makeString(yyvsp[0].str); }
13488
#line 2535 "gram.y"
13489
{ yyval.value = makeString(yyvsp[0].str); }
13493
#line 2536 "gram.y"
13494
{ yyval.value = makeString(yyvsp[0].str); }
13498
#line 2537 "gram.y"
13499
{ yyval.value = makeString(yyvsp[0].str); }
13503
#line 2538 "gram.y"
13504
{ yyval.value = makeString(yyvsp[0].str); }
13508
#line 2542 "gram.y"
13509
{ yyval.range = yyvsp[0].range; }
13513
#line 2543 "gram.y"
13514
{ yyval.range = NULL; }
13518
#line 2548 "gram.y"
13519
{ yyval.ival = yyvsp[0].ival; }
13523
#line 2550 "gram.y"
13525
if (yyvsp[-1].ival == 0 && yyvsp[0].ival != 0)
13527
(errcode(ERRCODE_SYNTAX_ERROR),
13528
errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE")));
13529
yyval.ival = yyvsp[-1].ival | yyvsp[0].ival;
13534
#line 2558 "gram.y"
13536
if (yyvsp[0].ival != 0)
13544
#line 2565 "gram.y"
13546
if (yyvsp[0].ival == 0 && yyvsp[-1].ival != 0)
13548
(errcode(ERRCODE_SYNTAX_ERROR),
13549
errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE")));
13550
yyval.ival = yyvsp[-1].ival | yyvsp[0].ival;
13555
#line 2573 "gram.y"
13556
{ yyval.ival = 0; }
13560
#line 2577 "gram.y"
13561
{ yyval.ival = 0; }
13565
#line 2578 "gram.y"
13566
{ yyval.ival = 1; }
13570
#line 2582 "gram.y"
13571
{ yyval.ival = 0; }
13575
#line 2583 "gram.y"
13576
{ yyval.ival = 2; }
13580
#line 2589 "gram.y"
13582
DropPropertyStmt *n = makeNode(DropPropertyStmt);
13583
n->relation = yyvsp[-1].range;
13584
n->property = yyvsp[-3].str;
13585
n->behavior = yyvsp[0].dbehavior;
13586
n->removeType = OBJECT_TRIGGER;
13587
yyval.node = (Node *) n;
13592
#line 2611 "gram.y"
13594
CreateTrigStmt *n = makeNode(CreateTrigStmt);
13595
n->trigname = yyvsp[-5].str;
13596
n->args = list_make1(yyvsp[-2].node);
13597
n->isconstraint = TRUE;
13598
n->deferrable = (yyvsp[0].ival & 1) != 0;
13599
n->initdeferred = (yyvsp[0].ival & 2) != 0;
13602
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
13603
errmsg("CREATE ASSERTION is not yet implemented")));
13605
yyval.node = (Node *)n;
13610
#line 2629 "gram.y"
13612
DropPropertyStmt *n = makeNode(DropPropertyStmt);
13613
n->relation = NULL;
13614
n->property = yyvsp[-1].str;
13615
n->behavior = yyvsp[0].dbehavior;
13616
n->removeType = OBJECT_TRIGGER; /* XXX */
13618
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
13619
errmsg("DROP ASSERTION is not yet implemented")));
13620
yyval.node = (Node *) n;
13625
#line 2652 "gram.y"
13627
DefineStmt *n = makeNode(DefineStmt);
13628
n->kind = OBJECT_AGGREGATE;
13629
n->defnames = yyvsp[-1].list;
13630
n->definition = yyvsp[0].list;
13631
yyval.node = (Node *)n;
13636
#line 2660 "gram.y"
13638
DefineStmt *n = makeNode(DefineStmt);
13639
n->kind = OBJECT_OPERATOR;
13640
n->defnames = yyvsp[-1].list;
13641
n->definition = yyvsp[0].list;
13642
yyval.node = (Node *)n;
13647
#line 2668 "gram.y"
13649
DefineStmt *n = makeNode(DefineStmt);
13650
n->kind = OBJECT_TYPE;
13651
n->defnames = yyvsp[-1].list;
13652
n->definition = yyvsp[0].list;
13653
yyval.node = (Node *)n;
13658
#line 2676 "gram.y"
13660
CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
13661
RangeVar *r = makeNode(RangeVar);
13663
/* can't use qualified_name, sigh */
13664
switch (list_length(yyvsp[-4].list))
13667
r->catalogname = NULL;
13668
r->schemaname = NULL;
13669
r->relname = strVal(linitial(yyvsp[-4].list));
13672
r->catalogname = NULL;
13673
r->schemaname = strVal(linitial(yyvsp[-4].list));
13674
r->relname = strVal(lsecond(yyvsp[-4].list));
13677
r->catalogname = strVal(linitial(yyvsp[-4].list));
13678
r->schemaname = strVal(lsecond(yyvsp[-4].list));
13679
r->relname = strVal(lthird(yyvsp[-4].list));
13683
(errcode(ERRCODE_SYNTAX_ERROR),
13684
errmsg("improper qualified name (too many dotted names): %s",
13685
NameListToString(yyvsp[-4].list))));
13689
n->coldeflist = yyvsp[-1].list;
13690
yyval.node = (Node *)n;
13695
#line 2711 "gram.y"
13696
{ yyval.list = yyvsp[-1].list; }
13700
#line 2714 "gram.y"
13701
{ yyval.list = list_make1(yyvsp[0].defelt); }
13705
#line 2715 "gram.y"
13706
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].defelt); }
13710
#line 2719 "gram.y"
13712
yyval.defelt = makeDefElem(yyvsp[-2].str, (Node *)yyvsp[0].node);
13717
#line 2723 "gram.y"
13719
yyval.defelt = makeDefElem(yyvsp[0].str, NULL);
13724
#line 2729 "gram.y"
13725
{ yyval.node = (Node *)yyvsp[0].typnam; }
13729
#line 2730 "gram.y"
13730
{ yyval.node = (Node *)yyvsp[0].list; }
13734
#line 2731 "gram.y"
13735
{ yyval.node = (Node *)yyvsp[0].value; }
13739
#line 2732 "gram.y"
13740
{ yyval.node = (Node *)makeString(yyvsp[0].str); }
13744
#line 2747 "gram.y"
13746
CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
13747
n->opclassname = yyvsp[-8].list;
13748
n->isDefault = yyvsp[-7].boolean;
13749
n->datatype = yyvsp[-4].typnam;
13750
n->amname = yyvsp[-2].str;
13751
n->items = yyvsp[0].list;
13752
yyval.node = (Node *) n;
13757
#line 2759 "gram.y"
13758
{ yyval.list = list_make1(yyvsp[0].node); }
13762
#line 2760 "gram.y"
13763
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
13767
#line 2765 "gram.y"
13769
CreateOpClassItem *n = makeNode(CreateOpClassItem);
13770
n->itemtype = OPCLASS_ITEM_OPERATOR;
13771
n->name = yyvsp[-1].list;
13773
n->number = yyvsp[-2].ival;
13774
n->recheck = yyvsp[0].boolean;
13775
yyval.node = (Node *) n;
13780
#line 2775 "gram.y"
13782
CreateOpClassItem *n = makeNode(CreateOpClassItem);
13783
n->itemtype = OPCLASS_ITEM_OPERATOR;
13784
n->name = yyvsp[-4].list;
13785
n->args = yyvsp[-2].list;
13786
n->number = yyvsp[-5].ival;
13787
n->recheck = yyvsp[0].boolean;
13788
yyval.node = (Node *) n;
13793
#line 2785 "gram.y"
13795
CreateOpClassItem *n = makeNode(CreateOpClassItem);
13796
n->itemtype = OPCLASS_ITEM_FUNCTION;
13797
n->name = yyvsp[-1].list;
13798
n->args = extractArgTypes(yyvsp[0].list);
13799
n->number = yyvsp[-2].ival;
13800
yyval.node = (Node *) n;
13805
#line 2794 "gram.y"
13807
CreateOpClassItem *n = makeNode(CreateOpClassItem);
13808
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
13809
n->storedtype = yyvsp[0].typnam;
13810
yyval.node = (Node *) n;
13815
#line 2802 "gram.y"
13816
{ yyval.boolean = TRUE; }
13820
#line 2803 "gram.y"
13821
{ yyval.boolean = FALSE; }
13825
#line 2806 "gram.y"
13826
{ yyval.boolean = TRUE; }
13830
#line 2807 "gram.y"
13831
{ yyval.boolean = FALSE; }
13835
#line 2813 "gram.y"
13837
RemoveOpClassStmt *n = makeNode(RemoveOpClassStmt);
13838
n->opclassname = yyvsp[-3].list;
13839
n->amname = yyvsp[-1].str;
13840
n->behavior = yyvsp[0].dbehavior;
13841
yyval.node = (Node *) n;
13846
#line 2832 "gram.y"
13848
DropStmt *n = makeNode(DropStmt);
13849
n->removeType = yyvsp[-2].objtype;
13850
n->objects = yyvsp[-1].list;
13851
n->behavior = yyvsp[0].dbehavior;
13852
yyval.node = (Node *)n;
13857
#line 2841 "gram.y"
13858
{ yyval.objtype = OBJECT_TABLE; }
13862
#line 2842 "gram.y"
13863
{ yyval.objtype = OBJECT_SEQUENCE; }
13867
#line 2843 "gram.y"
13868
{ yyval.objtype = OBJECT_VIEW; }
13872
#line 2844 "gram.y"
13873
{ yyval.objtype = OBJECT_INDEX; }
13877
#line 2845 "gram.y"
13878
{ yyval.objtype = OBJECT_TYPE; }
13882
#line 2846 "gram.y"
13883
{ yyval.objtype = OBJECT_DOMAIN; }
13887
#line 2847 "gram.y"
13888
{ yyval.objtype = OBJECT_CONVERSION; }
13892
#line 2848 "gram.y"
13893
{ yyval.objtype = OBJECT_SCHEMA; }
13897
#line 2852 "gram.y"
13898
{ yyval.list = list_make1(yyvsp[0].list); }
13902
#line 2853 "gram.y"
13903
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].list); }
13907
#line 2856 "gram.y"
13908
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
13912
#line 2857 "gram.y"
13913
{ yyval.list = lcons(makeString(yyvsp[-1].str), yyvsp[0].list); }
13917
#line 2861 "gram.y"
13918
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
13922
#line 2863 "gram.y"
13923
{ yyval.list = lappend(yyvsp[-2].list, makeString(yyvsp[0].str)); }
13927
#line 2876 "gram.y"
13929
TruncateStmt *n = makeNode(TruncateStmt);
13930
n->relations = yyvsp[0].list;
13931
yyval.node = (Node *)n;
13936
#line 2902 "gram.y"
13938
CommentStmt *n = makeNode(CommentStmt);
13939
n->objtype = yyvsp[-3].objtype;
13940
n->objname = yyvsp[-2].list;
13942
n->comment = yyvsp[0].str;
13943
yyval.node = (Node *) n;
13948
#line 2912 "gram.y"
13950
CommentStmt *n = makeNode(CommentStmt);
13951
n->objtype = OBJECT_AGGREGATE;
13952
n->objname = yyvsp[-5].list;
13953
n->objargs = list_make1(yyvsp[-3].typnam);
13954
n->comment = yyvsp[0].str;
13955
yyval.node = (Node *) n;
13960
#line 2921 "gram.y"
13962
CommentStmt *n = makeNode(CommentStmt);
13963
n->objtype = OBJECT_FUNCTION;
13964
n->objname = yyvsp[-3].list;
13965
n->objargs = extractArgTypes(yyvsp[-2].list);
13966
n->comment = yyvsp[0].str;
13967
yyval.node = (Node *) n;
13972
#line 2931 "gram.y"
13974
CommentStmt *n = makeNode(CommentStmt);
13975
n->objtype = OBJECT_OPERATOR;
13976
n->objname = yyvsp[-5].list;
13977
n->objargs = yyvsp[-3].list;
13978
n->comment = yyvsp[0].str;
13979
yyval.node = (Node *) n;
13984
#line 2940 "gram.y"
13986
CommentStmt *n = makeNode(CommentStmt);
13987
n->objtype = OBJECT_CONSTRAINT;
13988
n->objname = lappend(yyvsp[-2].list, makeString(yyvsp[-4].str));
13990
n->comment = yyvsp[0].str;
13991
yyval.node = (Node *) n;
13996
#line 2949 "gram.y"
13998
CommentStmt *n = makeNode(CommentStmt);
13999
n->objtype = OBJECT_RULE;
14000
n->objname = lappend(yyvsp[-2].list, makeString(yyvsp[-4].str));
14002
n->comment = yyvsp[0].str;
14003
yyval.node = (Node *) n;
14008
#line 2958 "gram.y"
14010
/* Obsolete syntax supported for awhile for compatibility */
14011
CommentStmt *n = makeNode(CommentStmt);
14012
n->objtype = OBJECT_RULE;
14013
n->objname = list_make1(makeString(yyvsp[-2].str));
14015
n->comment = yyvsp[0].str;
14016
yyval.node = (Node *) n;
14021
#line 2968 "gram.y"
14023
CommentStmt *n = makeNode(CommentStmt);
14024
n->objtype = OBJECT_TRIGGER;
14025
n->objname = lappend(yyvsp[-2].list, makeString(yyvsp[-4].str));
14027
n->comment = yyvsp[0].str;
14028
yyval.node = (Node *) n;
14033
#line 2977 "gram.y"
14035
CommentStmt *n = makeNode(CommentStmt);
14036
n->objtype = OBJECT_OPCLASS;
14037
n->objname = yyvsp[-4].list;
14038
n->objargs = list_make1(makeString(yyvsp[-2].str));
14039
n->comment = yyvsp[0].str;
14040
yyval.node = (Node *) n;
14045
#line 2986 "gram.y"
14047
CommentStmt *n = makeNode(CommentStmt);
14048
n->objtype = OBJECT_LARGEOBJECT;
14049
n->objname = list_make1(yyvsp[-2].value);
14051
n->comment = yyvsp[0].str;
14052
yyval.node = (Node *) n;
14057
#line 2995 "gram.y"
14059
CommentStmt *n = makeNode(CommentStmt);
14060
n->objtype = OBJECT_CAST;
14061
n->objname = list_make1(yyvsp[-5].typnam);
14062
n->objargs = list_make1(yyvsp[-3].typnam);
14063
n->comment = yyvsp[0].str;
14064
yyval.node = (Node *) n;
14069
#line 3004 "gram.y"
14071
CommentStmt *n = makeNode(CommentStmt);
14072
n->objtype = OBJECT_LANGUAGE;
14073
n->objname = yyvsp[-2].list;
14075
n->comment = yyvsp[0].str;
14076
yyval.node = (Node *) n;
14081
#line 3015 "gram.y"
14082
{ yyval.objtype = OBJECT_COLUMN; }
14086
#line 3016 "gram.y"
14087
{ yyval.objtype = OBJECT_DATABASE; }
14091
#line 3017 "gram.y"
14092
{ yyval.objtype = OBJECT_SCHEMA; }
14096
#line 3018 "gram.y"
14097
{ yyval.objtype = OBJECT_INDEX; }
14101
#line 3019 "gram.y"
14102
{ yyval.objtype = OBJECT_SEQUENCE; }
14106
#line 3020 "gram.y"
14107
{ yyval.objtype = OBJECT_TABLE; }
14111
#line 3021 "gram.y"
14112
{ yyval.objtype = OBJECT_TYPE; }
14116
#line 3022 "gram.y"
14117
{ yyval.objtype = OBJECT_TYPE; }
14121
#line 3023 "gram.y"
14122
{ yyval.objtype = OBJECT_VIEW; }
14126
#line 3024 "gram.y"
14127
{ yyval.objtype = OBJECT_CONVERSION; }
14131
#line 3028 "gram.y"
14132
{ yyval.str = yyvsp[0].str; }
14136
#line 3029 "gram.y"
14137
{ yyval.str = NULL; }
14141
#line 3040 "gram.y"
14143
FetchStmt *n = (FetchStmt *) yyvsp[-2].node;
14144
n->portalname = yyvsp[0].str;
14146
yyval.node = (Node *)n;
14151
#line 3047 "gram.y"
14153
FetchStmt *n = makeNode(FetchStmt);
14154
n->direction = FETCH_FORWARD;
14156
n->portalname = yyvsp[0].str;
14158
yyval.node = (Node *)n;
14163
#line 3056 "gram.y"
14165
FetchStmt *n = (FetchStmt *) yyvsp[-2].node;
14166
n->portalname = yyvsp[0].str;
14168
yyval.node = (Node *)n;
14173
#line 3063 "gram.y"
14175
FetchStmt *n = makeNode(FetchStmt);
14176
n->direction = FETCH_FORWARD;
14178
n->portalname = yyvsp[0].str;
14180
yyval.node = (Node *)n;
14185
#line 3075 "gram.y"
14187
FetchStmt *n = makeNode(FetchStmt);
14188
n->direction = FETCH_FORWARD;
14190
yyval.node = (Node *)n;
14195
#line 3082 "gram.y"
14197
FetchStmt *n = makeNode(FetchStmt);
14198
n->direction = FETCH_FORWARD;
14200
yyval.node = (Node *)n;
14205
#line 3089 "gram.y"
14207
FetchStmt *n = makeNode(FetchStmt);
14208
n->direction = FETCH_BACKWARD;
14210
yyval.node = (Node *)n;
14215
#line 3096 "gram.y"
14217
FetchStmt *n = makeNode(FetchStmt);
14218
n->direction = FETCH_ABSOLUTE;
14220
yyval.node = (Node *)n;
14225
#line 3103 "gram.y"
14227
FetchStmt *n = makeNode(FetchStmt);
14228
n->direction = FETCH_ABSOLUTE;
14230
yyval.node = (Node *)n;
14235
#line 3110 "gram.y"
14237
FetchStmt *n = makeNode(FetchStmt);
14238
n->direction = FETCH_ABSOLUTE;
14239
n->howMany = yyvsp[0].ival;
14240
yyval.node = (Node *)n;
14245
#line 3117 "gram.y"
14247
FetchStmt *n = makeNode(FetchStmt);
14248
n->direction = FETCH_RELATIVE;
14249
n->howMany = yyvsp[0].ival;
14250
yyval.node = (Node *)n;
14255
#line 3124 "gram.y"
14257
FetchStmt *n = makeNode(FetchStmt);
14258
n->direction = FETCH_FORWARD;
14259
n->howMany = yyvsp[0].ival;
14260
yyval.node = (Node *)n;
14265
#line 3131 "gram.y"
14267
FetchStmt *n = makeNode(FetchStmt);
14268
n->direction = FETCH_FORWARD;
14269
n->howMany = FETCH_ALL;
14270
yyval.node = (Node *)n;
14275
#line 3138 "gram.y"
14277
FetchStmt *n = makeNode(FetchStmt);
14278
n->direction = FETCH_FORWARD;
14280
yyval.node = (Node *)n;
14285
#line 3145 "gram.y"
14287
FetchStmt *n = makeNode(FetchStmt);
14288
n->direction = FETCH_FORWARD;
14289
n->howMany = yyvsp[0].ival;
14290
yyval.node = (Node *)n;
14295
#line 3152 "gram.y"
14297
FetchStmt *n = makeNode(FetchStmt);
14298
n->direction = FETCH_FORWARD;
14299
n->howMany = FETCH_ALL;
14300
yyval.node = (Node *)n;
14305
#line 3159 "gram.y"
14307
FetchStmt *n = makeNode(FetchStmt);
14308
n->direction = FETCH_BACKWARD;
14310
yyval.node = (Node *)n;
14315
#line 3166 "gram.y"
14317
FetchStmt *n = makeNode(FetchStmt);
14318
n->direction = FETCH_BACKWARD;
14319
n->howMany = yyvsp[0].ival;
14320
yyval.node = (Node *)n;
14325
#line 3173 "gram.y"
14327
FetchStmt *n = makeNode(FetchStmt);
14328
n->direction = FETCH_BACKWARD;
14329
n->howMany = FETCH_ALL;
14330
yyval.node = (Node *)n;
14335
#line 3181 "gram.y"
14340
#line 3182 "gram.y"
14345
#line 3194 "gram.y"
14347
GrantStmt *n = makeNode(GrantStmt);
14348
n->is_grant = true;
14349
n->privileges = yyvsp[-5].list;
14350
n->objtype = (yyvsp[-3].privtarget)->objtype;
14351
n->objects = (yyvsp[-3].privtarget)->objs;
14352
n->grantees = yyvsp[-1].list;
14353
n->grant_option = yyvsp[0].boolean;
14354
yyval.node = (Node*)n;
14359
#line 3209 "gram.y"
14361
GrantStmt *n = makeNode(GrantStmt);
14362
n->is_grant = false;
14363
n->grant_option = false;
14364
n->privileges = yyvsp[-5].list;
14365
n->objtype = (yyvsp[-3].privtarget)->objtype;
14366
n->objects = (yyvsp[-3].privtarget)->objs;
14367
n->grantees = yyvsp[-1].list;
14368
n->behavior = yyvsp[0].dbehavior;
14369
yyval.node = (Node *)n;
14374
#line 3222 "gram.y"
14376
GrantStmt *n = makeNode(GrantStmt);
14377
n->is_grant = false;
14378
n->grant_option = true;
14379
n->privileges = yyvsp[-5].list;
14380
n->objtype = (yyvsp[-3].privtarget)->objtype;
14381
n->objects = (yyvsp[-3].privtarget)->objs;
14382
n->grantees = yyvsp[-1].list;
14383
n->behavior = yyvsp[0].dbehavior;
14384
yyval.node = (Node *)n;
14389
#line 3247 "gram.y"
14390
{ yyval.list = yyvsp[0].list; }
14394
#line 3249 "gram.y"
14395
{ yyval.list = NIL; }
14399
#line 3251 "gram.y"
14400
{ yyval.list = NIL; }
14404
#line 3255 "gram.y"
14405
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
14409
#line 3257 "gram.y"
14410
{ yyval.list = lappend(yyvsp[-2].list, makeString(yyvsp[0].str)); }
14414
#line 3260 "gram.y"
14415
{ yyval.str = pstrdup(yyvsp[0].keyword); }
14419
#line 3261 "gram.y"
14420
{ yyval.str = pstrdup(yyvsp[0].keyword); }
14424
#line 3262 "gram.y"
14425
{ yyval.str = pstrdup(yyvsp[0].keyword); }
14429
#line 3263 "gram.y"
14430
{ yyval.str = yyvsp[0].str; }
14434
#line 3272 "gram.y"
14436
PrivTarget *n = makeNode(PrivTarget);
14437
n->objtype = ACL_OBJECT_RELATION;
14438
n->objs = yyvsp[0].list;
14439
yyval.privtarget = n;
14444
#line 3279 "gram.y"
14446
PrivTarget *n = makeNode(PrivTarget);
14447
n->objtype = ACL_OBJECT_RELATION;
14448
n->objs = yyvsp[0].list;
14449
yyval.privtarget = n;
14454
#line 3286 "gram.y"
14456
PrivTarget *n = makeNode(PrivTarget);
14457
n->objtype = ACL_OBJECT_FUNCTION;
14458
n->objs = yyvsp[0].list;
14459
yyval.privtarget = n;
14464
#line 3293 "gram.y"
14466
PrivTarget *n = makeNode(PrivTarget);
14467
n->objtype = ACL_OBJECT_DATABASE;
14468
n->objs = yyvsp[0].list;
14469
yyval.privtarget = n;
14474
#line 3300 "gram.y"
14476
PrivTarget *n = makeNode(PrivTarget);
14477
n->objtype = ACL_OBJECT_LANGUAGE;
14478
n->objs = yyvsp[0].list;
14479
yyval.privtarget = n;
14484
#line 3307 "gram.y"
14486
PrivTarget *n = makeNode(PrivTarget);
14487
n->objtype = ACL_OBJECT_NAMESPACE;
14488
n->objs = yyvsp[0].list;
14489
yyval.privtarget = n;
14494
#line 3314 "gram.y"
14496
PrivTarget *n = makeNode(PrivTarget);
14497
n->objtype = ACL_OBJECT_TABLESPACE;
14498
n->objs = yyvsp[0].list;
14499
yyval.privtarget = n;
14504
#line 3324 "gram.y"
14505
{ yyval.list = list_make1(yyvsp[0].node); }
14509
#line 3325 "gram.y"
14510
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
14514
#line 3329 "gram.y"
14516
PrivGrantee *n = makeNode(PrivGrantee);
14517
/* This hack lets us avoid reserving PUBLIC as a keyword*/
14518
if (strcmp(yyvsp[0].str, "public") == 0)
14521
n->rolname = yyvsp[0].str;
14522
yyval.node = (Node *)n;
14527
#line 3339 "gram.y"
14529
PrivGrantee *n = makeNode(PrivGrantee);
14530
/* Treat GROUP PUBLIC as a synonym for PUBLIC */
14531
if (strcmp(yyvsp[0].str, "public") == 0)
14534
n->rolname = yyvsp[0].str;
14535
yyval.node = (Node *)n;
14540
#line 3352 "gram.y"
14541
{ yyval.boolean = TRUE; }
14545
#line 3353 "gram.y"
14546
{ yyval.boolean = FALSE; }
14550
#line 3357 "gram.y"
14551
{ yyval.list = list_make1(yyvsp[0].funwithargs); }
14555
#line 3359 "gram.y"
14556
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].funwithargs); }
14560
#line 3364 "gram.y"
14562
FuncWithArgs *n = makeNode(FuncWithArgs);
14563
n->funcname = yyvsp[-1].list;
14564
n->funcargs = extractArgTypes(yyvsp[0].list);
14565
yyval.funwithargs = n;
14570
#line 3380 "gram.y"
14572
GrantRoleStmt *n = makeNode(GrantRoleStmt);
14573
n->is_grant = true;
14574
n->granted_roles = yyvsp[-4].list;
14575
n->grantee_roles = yyvsp[-2].list;
14576
n->admin_opt = yyvsp[-1].boolean;
14577
n->grantor = yyvsp[0].str;
14578
yyval.node = (Node*)n;
14583
#line 3393 "gram.y"
14585
GrantRoleStmt *n = makeNode(GrantRoleStmt);
14586
n->is_grant = false;
14587
n->admin_opt = false;
14588
n->granted_roles = yyvsp[-4].list;
14589
n->grantee_roles = yyvsp[-2].list;
14590
n->behavior = yyvsp[0].dbehavior;
14591
yyval.node = (Node*)n;
14596
#line 3403 "gram.y"
14598
GrantRoleStmt *n = makeNode(GrantRoleStmt);
14599
n->is_grant = false;
14600
n->admin_opt = true;
14601
n->granted_roles = yyvsp[-4].list;
14602
n->grantee_roles = yyvsp[-2].list;
14603
n->behavior = yyvsp[0].dbehavior;
14604
yyval.node = (Node*)n;
14609
#line 3414 "gram.y"
14610
{ yyval.boolean = TRUE; }
14614
#line 3415 "gram.y"
14615
{ yyval.boolean = FALSE; }
14619
#line 3418 "gram.y"
14620
{ yyval.str = yyvsp[0].str; }
14624
#line 3419 "gram.y"
14625
{ yyval.str = NULL; }
14629
#line 3436 "gram.y"
14631
IndexStmt *n = makeNode(IndexStmt);
14632
n->unique = yyvsp[-10].boolean;
14633
n->idxname = yyvsp[-8].str;
14634
n->relation = yyvsp[-6].range;
14635
n->accessMethod = yyvsp[-5].str;
14636
n->indexParams = yyvsp[-3].list;
14637
n->tableSpace = yyvsp[-1].str;
14638
n->whereClause = yyvsp[0].node;
14639
yyval.node = (Node *)n;
14644
#line 3450 "gram.y"
14645
{ yyval.boolean = TRUE; }
14649
#line 3451 "gram.y"
14650
{ yyval.boolean = FALSE; }
14654
#line 3455 "gram.y"
14655
{ yyval.str = yyvsp[0].str; }
14659
#line 3456 "gram.y"
14660
{ yyval.str = DEFAULT_INDEX_TYPE; }
14664
#line 3459 "gram.y"
14665
{ yyval.list = list_make1(yyvsp[0].ielem); }
14669
#line 3460 "gram.y"
14670
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].ielem); }
14674
#line 3469 "gram.y"
14676
yyval.ielem = makeNode(IndexElem);
14677
yyval.ielem->name = yyvsp[-1].str;
14678
yyval.ielem->expr = NULL;
14679
yyval.ielem->opclass = yyvsp[0].list;
14684
#line 3476 "gram.y"
14686
yyval.ielem = makeNode(IndexElem);
14687
yyval.ielem->name = NULL;
14688
yyval.ielem->expr = yyvsp[-1].node;
14689
yyval.ielem->opclass = yyvsp[0].list;
14694
#line 3483 "gram.y"
14696
yyval.ielem = makeNode(IndexElem);
14697
yyval.ielem->name = NULL;
14698
yyval.ielem->expr = yyvsp[-2].node;
14699
yyval.ielem->opclass = yyvsp[0].list;
14704
#line 3491 "gram.y"
14705
{ yyval.list = yyvsp[0].list; }
14709
#line 3492 "gram.y"
14710
{ yyval.list = yyvsp[0].list; }
14714
#line 3493 "gram.y"
14715
{ yyval.list = NIL; }
14719
#line 3510 "gram.y"
14721
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
14722
n->replace = yyvsp[-7].boolean;
14723
n->funcname = yyvsp[-5].list;
14724
n->parameters = yyvsp[-4].list;
14725
n->returnType = yyvsp[-2].typnam;
14726
n->options = yyvsp[-1].list;
14727
n->withClause = yyvsp[0].list;
14728
yyval.node = (Node *)n;
14733
#line 3522 "gram.y"
14735
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
14736
n->replace = yyvsp[-5].boolean;
14737
n->funcname = yyvsp[-3].list;
14738
n->parameters = yyvsp[-2].list;
14739
n->returnType = NULL;
14740
n->options = yyvsp[-1].list;
14741
n->withClause = yyvsp[0].list;
14742
yyval.node = (Node *)n;
14747
#line 3535 "gram.y"
14748
{ yyval.boolean = TRUE; }
14752
#line 3536 "gram.y"
14753
{ yyval.boolean = FALSE; }
14757
#line 3539 "gram.y"
14758
{ yyval.list = yyvsp[-1].list; }
14762
#line 3540 "gram.y"
14763
{ yyval.list = NIL; }
14767
#line 3544 "gram.y"
14768
{ yyval.list = list_make1(yyvsp[0].fun_param); }
14772
#line 3545 "gram.y"
14773
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].fun_param); }
14777
#line 3560 "gram.y"
14779
FunctionParameter *n = makeNode(FunctionParameter);
14780
n->name = yyvsp[-1].str;
14781
n->argType = yyvsp[0].typnam;
14782
n->mode = yyvsp[-2].fun_param_mode;
14783
yyval.fun_param = n;
14788
#line 3568 "gram.y"
14790
FunctionParameter *n = makeNode(FunctionParameter);
14791
n->name = yyvsp[-2].str;
14792
n->argType = yyvsp[0].typnam;
14793
n->mode = yyvsp[-1].fun_param_mode;
14794
yyval.fun_param = n;
14799
#line 3576 "gram.y"
14801
FunctionParameter *n = makeNode(FunctionParameter);
14802
n->name = yyvsp[-1].str;
14803
n->argType = yyvsp[0].typnam;
14804
n->mode = FUNC_PARAM_IN;
14805
yyval.fun_param = n;
14810
#line 3584 "gram.y"
14812
FunctionParameter *n = makeNode(FunctionParameter);
14814
n->argType = yyvsp[0].typnam;
14815
n->mode = yyvsp[-1].fun_param_mode;
14816
yyval.fun_param = n;
14821
#line 3592 "gram.y"
14823
FunctionParameter *n = makeNode(FunctionParameter);
14825
n->argType = yyvsp[0].typnam;
14826
n->mode = FUNC_PARAM_IN;
14827
yyval.fun_param = n;
14832
#line 3602 "gram.y"
14833
{ yyval.fun_param_mode = FUNC_PARAM_IN; }
14837
#line 3603 "gram.y"
14838
{ yyval.fun_param_mode = FUNC_PARAM_OUT; }
14842
#line 3604 "gram.y"
14843
{ yyval.fun_param_mode = FUNC_PARAM_INOUT; }
14847
#line 3605 "gram.y"
14848
{ yyval.fun_param_mode = FUNC_PARAM_INOUT; }
14852
#line 3616 "gram.y"
14854
/* We can catch over-specified results here if we want to,
14855
* but for now better to silently swallow typmod, etc.
14856
* - thomas 2000-03-22
14858
yyval.typnam = yyvsp[0].typnam;
14863
#line 3629 "gram.y"
14864
{ yyval.typnam = yyvsp[0].typnam; }
14868
#line 3631 "gram.y"
14870
yyval.typnam = makeNode(TypeName);
14871
yyval.typnam->names = lcons(makeString(yyvsp[-3].str), yyvsp[-2].list);
14872
yyval.typnam->pct_type = true;
14873
yyval.typnam->typmod = -1;
14878
#line 3638 "gram.y"
14880
yyval.typnam = makeNode(TypeName);
14881
yyval.typnam->names = lcons(makeString(yyvsp[-3].str), yyvsp[-2].list);
14882
yyval.typnam->pct_type = true;
14883
yyval.typnam->typmod = -1;
14884
yyval.typnam->setof = TRUE;
14889
#line 3650 "gram.y"
14890
{ yyval.list = list_make1(yyvsp[0].defelt); }
14894
#line 3651 "gram.y"
14895
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); }
14899
#line 3659 "gram.y"
14901
yyval.defelt = makeDefElem("strict", (Node *)makeInteger(FALSE));
14906
#line 3663 "gram.y"
14908
yyval.defelt = makeDefElem("strict", (Node *)makeInteger(TRUE));
14913
#line 3667 "gram.y"
14915
yyval.defelt = makeDefElem("strict", (Node *)makeInteger(TRUE));
14920
#line 3671 "gram.y"
14922
yyval.defelt = makeDefElem("volatility", (Node *)makeString("immutable"));
14927
#line 3675 "gram.y"
14929
yyval.defelt = makeDefElem("volatility", (Node *)makeString("stable"));
14934
#line 3679 "gram.y"
14936
yyval.defelt = makeDefElem("volatility", (Node *)makeString("volatile"));
14941
#line 3683 "gram.y"
14943
yyval.defelt = makeDefElem("security", (Node *)makeInteger(TRUE));
14948
#line 3687 "gram.y"
14950
yyval.defelt = makeDefElem("security", (Node *)makeInteger(FALSE));
14955
#line 3691 "gram.y"
14957
yyval.defelt = makeDefElem("security", (Node *)makeInteger(TRUE));
14962
#line 3695 "gram.y"
14964
yyval.defelt = makeDefElem("security", (Node *)makeInteger(FALSE));
14969
#line 3702 "gram.y"
14971
yyval.defelt = makeDefElem("as", (Node *)yyvsp[0].list);
14976
#line 3706 "gram.y"
14978
yyval.defelt = makeDefElem("language", (Node *)makeString(yyvsp[0].str));
14983
#line 3710 "gram.y"
14985
yyval.defelt = yyvsp[0].defelt;
14990
#line 3715 "gram.y"
14991
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
14995
#line 3717 "gram.y"
14997
yyval.list = list_make2(makeString(yyvsp[-2].str), makeString(yyvsp[0].str));
15002
#line 3723 "gram.y"
15003
{ yyval.list = yyvsp[0].list; }
15007
#line 3724 "gram.y"
15008
{ yyval.list = NIL; }
15012
#line 3737 "gram.y"
15014
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
15015
n->func = yyvsp[-2].funwithargs;
15016
n->actions = yyvsp[-1].list;
15017
yyval.node = (Node *) n;
15022
#line 3747 "gram.y"
15023
{ yyval.list = list_make1(yyvsp[0].defelt); }
15027
#line 3748 "gram.y"
15028
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); }
15032
#line 3770 "gram.y"
15034
RemoveFuncStmt *n = makeNode(RemoveFuncStmt);
15035
n->funcname = yyvsp[-2].list;
15036
n->args = extractArgTypes(yyvsp[-1].list);
15037
n->behavior = yyvsp[0].dbehavior;
15038
yyval.node = (Node *)n;
15043
#line 3781 "gram.y"
15045
RemoveAggrStmt *n = makeNode(RemoveAggrStmt);
15046
n->aggname = yyvsp[-4].list;
15047
n->aggtype = yyvsp[-2].typnam;
15048
n->behavior = yyvsp[0].dbehavior;
15049
yyval.node = (Node *)n;
15054
#line 3791 "gram.y"
15055
{ yyval.typnam = yyvsp[0].typnam; }
15059
#line 3792 "gram.y"
15060
{ yyval.typnam = NULL; }
15064
#line 3797 "gram.y"
15066
RemoveOperStmt *n = makeNode(RemoveOperStmt);
15067
n->opname = yyvsp[-4].list;
15068
n->args = yyvsp[-2].list;
15069
n->behavior = yyvsp[0].dbehavior;
15070
yyval.node = (Node *)n;
15075
#line 3808 "gram.y"
15078
(errcode(ERRCODE_SYNTAX_ERROR),
15079
errmsg("missing argument"),
15080
errhint("Use NONE to denote the missing argument of a unary operator.")));
15085
#line 3815 "gram.y"
15086
{ yyval.list = list_make2(yyvsp[-2].typnam, yyvsp[0].typnam); }
15090
#line 3817 "gram.y"
15091
{ yyval.list = list_make2(NULL, yyvsp[0].typnam); }
15095
#line 3819 "gram.y"
15096
{ yyval.list = list_make2(yyvsp[-2].typnam, NULL); }
15100
#line 3824 "gram.y"
15101
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
15105
#line 3826 "gram.y"
15106
{ yyval.list = lcons(makeString(yyvsp[-2].str), yyvsp[0].list); }
15110
#line 3838 "gram.y"
15112
CreateCastStmt *n = makeNode(CreateCastStmt);
15113
n->sourcetype = yyvsp[-7].typnam;
15114
n->targettype = yyvsp[-5].typnam;
15115
n->func = yyvsp[-1].funwithargs;
15116
n->context = (CoercionContext) yyvsp[0].ival;
15117
yyval.node = (Node *)n;
15122
#line 3848 "gram.y"
15124
CreateCastStmt *n = makeNode(CreateCastStmt);
15125
n->sourcetype = yyvsp[-6].typnam;
15126
n->targettype = yyvsp[-4].typnam;
15128
n->context = (CoercionContext) yyvsp[0].ival;
15129
yyval.node = (Node *)n;
15134
#line 3858 "gram.y"
15135
{ yyval.ival = COERCION_IMPLICIT; }
15139
#line 3859 "gram.y"
15140
{ yyval.ival = COERCION_ASSIGNMENT; }
15144
#line 3860 "gram.y"
15145
{ yyval.ival = COERCION_EXPLICIT; }
15149
#line 3865 "gram.y"
15151
DropCastStmt *n = makeNode(DropCastStmt);
15152
n->sourcetype = yyvsp[-4].typnam;
15153
n->targettype = yyvsp[-2].typnam;
15154
n->behavior = yyvsp[0].dbehavior;
15155
yyval.node = (Node *)n;
15160
#line 3887 "gram.y"
15162
ReindexStmt *n = makeNode(ReindexStmt);
15163
n->kind = yyvsp[-2].objtype;
15164
n->relation = yyvsp[-1].range;
15166
yyval.node = (Node *)n;
15171
#line 3895 "gram.y"
15173
ReindexStmt *n = makeNode(ReindexStmt);
15174
n->kind = OBJECT_DATABASE;
15175
n->name = yyvsp[-1].str;
15176
n->relation = NULL;
15177
n->do_system = true;
15178
n->do_user = false;
15179
yyval.node = (Node *)n;
15184
#line 3905 "gram.y"
15186
ReindexStmt *n = makeNode(ReindexStmt);
15187
n->kind = OBJECT_DATABASE;
15188
n->name = yyvsp[-1].str;
15189
n->relation = NULL;
15190
n->do_system = true;
15192
yyval.node = (Node *)n;
15197
#line 3917 "gram.y"
15198
{ yyval.objtype = OBJECT_INDEX; }
15202
#line 3918 "gram.y"
15203
{ yyval.objtype = OBJECT_TABLE; }
15207
#line 3921 "gram.y"
15208
{ yyval.boolean = TRUE; }
15212
#line 3922 "gram.y"
15213
{ yyval.boolean = FALSE; }
15217
#line 3933 "gram.y"
15219
RenameStmt *n = makeNode(RenameStmt);
15220
n->renameType = OBJECT_AGGREGATE;
15221
n->object = yyvsp[-6].list;
15222
n->objarg = list_make1(yyvsp[-4].typnam);
15223
n->newname = yyvsp[0].str;
15224
yyval.node = (Node *)n;
15229
#line 3942 "gram.y"
15231
RenameStmt *n = makeNode(RenameStmt);
15232
n->renameType = OBJECT_CONVERSION;
15233
n->object = yyvsp[-3].list;
15234
n->newname = yyvsp[0].str;
15235
yyval.node = (Node *)n;
15240
#line 3950 "gram.y"
15242
RenameStmt *n = makeNode(RenameStmt);
15243
n->renameType = OBJECT_DATABASE;
15244
n->subname = yyvsp[-3].str;
15245
n->newname = yyvsp[0].str;
15246
yyval.node = (Node *)n;
15251
#line 3958 "gram.y"
15253
RenameStmt *n = makeNode(RenameStmt);
15254
n->renameType = OBJECT_FUNCTION;
15255
n->object = yyvsp[-4].list;
15256
n->objarg = extractArgTypes(yyvsp[-3].list);
15257
n->newname = yyvsp[0].str;
15258
yyval.node = (Node *)n;
15263
#line 3967 "gram.y"
15265
RenameStmt *n = makeNode(RenameStmt);
15266
n->renameType = OBJECT_ROLE;
15267
n->subname = yyvsp[-3].str;
15268
n->newname = yyvsp[0].str;
15269
yyval.node = (Node *)n;
15274
#line 3975 "gram.y"
15276
RenameStmt *n = makeNode(RenameStmt);
15277
n->renameType = OBJECT_LANGUAGE;
15278
n->subname = yyvsp[-3].str;
15279
n->newname = yyvsp[0].str;
15280
yyval.node = (Node *)n;
15285
#line 3983 "gram.y"
15287
RenameStmt *n = makeNode(RenameStmt);
15288
n->renameType = OBJECT_OPCLASS;
15289
n->object = yyvsp[-5].list;
15290
n->subname = yyvsp[-3].str;
15291
n->newname = yyvsp[0].str;
15292
yyval.node = (Node *)n;
15297
#line 3992 "gram.y"
15299
RenameStmt *n = makeNode(RenameStmt);
15300
n->renameType = OBJECT_SCHEMA;
15301
n->subname = yyvsp[-3].str;
15302
n->newname = yyvsp[0].str;
15303
yyval.node = (Node *)n;
15308
#line 4000 "gram.y"
15310
RenameStmt *n = makeNode(RenameStmt);
15311
n->renameType = OBJECT_TABLE;
15312
n->relation = yyvsp[-3].range;
15314
n->newname = yyvsp[0].str;
15315
yyval.node = (Node *)n;
15320
#line 4009 "gram.y"
15322
RenameStmt *n = makeNode(RenameStmt);
15323
n->renameType = OBJECT_INDEX;
15324
n->relation = yyvsp[-3].range;
15326
n->newname = yyvsp[0].str;
15327
yyval.node = (Node *)n;
15332
#line 4018 "gram.y"
15334
RenameStmt *n = makeNode(RenameStmt);
15335
n->renameType = OBJECT_COLUMN;
15336
n->relation = yyvsp[-5].range;
15337
n->subname = yyvsp[-2].str;
15338
n->newname = yyvsp[0].str;
15339
yyval.node = (Node *)n;
15344
#line 4027 "gram.y"
15346
RenameStmt *n = makeNode(RenameStmt);
15347
n->renameType = OBJECT_TRIGGER;
15348
n->relation = yyvsp[-3].range;
15349
n->subname = yyvsp[-5].str;
15350
n->newname = yyvsp[0].str;
15351
yyval.node = (Node *)n;
15356
#line 4036 "gram.y"
15358
RenameStmt *n = makeNode(RenameStmt);
15359
n->renameType = OBJECT_ROLE;
15360
n->subname = yyvsp[-3].str;
15361
n->newname = yyvsp[0].str;
15362
yyval.node = (Node *)n;
15367
#line 4044 "gram.y"
15369
RenameStmt *n = makeNode(RenameStmt);
15370
n->renameType = OBJECT_ROLE;
15371
n->subname = yyvsp[-3].str;
15372
n->newname = yyvsp[0].str;
15373
yyval.node = (Node *)n;
15378
#line 4052 "gram.y"
15380
RenameStmt *n = makeNode(RenameStmt);
15381
n->renameType = OBJECT_TABLESPACE;
15382
n->subname = yyvsp[-3].str;
15383
n->newname = yyvsp[0].str;
15384
yyval.node = (Node *)n;
15389
#line 4061 "gram.y"
15390
{ yyval.ival = COLUMN; }
15394
#line 4062 "gram.y"
15395
{ yyval.ival = 0; }
15399
#line 4073 "gram.y"
15401
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
15402
n->objectType = OBJECT_AGGREGATE;
15403
n->object = yyvsp[-6].list;
15404
n->objarg = list_make1(yyvsp[-4].typnam);
15405
n->newschema = yyvsp[0].str;
15406
yyval.node = (Node *)n;
15411
#line 4082 "gram.y"
15413
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
15414
n->objectType = OBJECT_DOMAIN;
15415
n->object = yyvsp[-3].list;
15416
n->newschema = yyvsp[0].str;
15417
yyval.node = (Node *)n;
15422
#line 4090 "gram.y"
15424
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
15425
n->objectType = OBJECT_FUNCTION;
15426
n->object = yyvsp[-4].list;
15427
n->objarg = extractArgTypes(yyvsp[-3].list);
15428
n->newschema = yyvsp[0].str;
15429
yyval.node = (Node *)n;
15434
#line 4099 "gram.y"
15436
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
15437
n->objectType = OBJECT_SEQUENCE;
15438
n->relation = yyvsp[-3].range;
15439
n->newschema = yyvsp[0].str;
15440
yyval.node = (Node *)n;
15445
#line 4107 "gram.y"
15447
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
15448
n->objectType = OBJECT_TABLE;
15449
n->relation = yyvsp[-3].range;
15450
n->newschema = yyvsp[0].str;
15451
yyval.node = (Node *)n;
15456
#line 4115 "gram.y"
15458
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
15459
n->objectType = OBJECT_TYPE;
15460
n->object = yyvsp[-3].list;
15461
n->newschema = yyvsp[0].str;
15462
yyval.node = (Node *)n;
15467
#line 4131 "gram.y"
15469
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15470
n->objectType = OBJECT_AGGREGATE;
15471
n->object = yyvsp[-6].list;
15472
n->objarg = list_make1(yyvsp[-4].typnam);
15473
n->newowner = yyvsp[0].str;
15474
yyval.node = (Node *)n;
15479
#line 4140 "gram.y"
15481
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15482
n->objectType = OBJECT_CONVERSION;
15483
n->object = yyvsp[-3].list;
15484
n->newowner = yyvsp[0].str;
15485
yyval.node = (Node *)n;
15490
#line 4148 "gram.y"
15492
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15493
n->objectType = OBJECT_DATABASE;
15494
n->object = list_make1(yyvsp[-3].str);
15495
n->newowner = yyvsp[0].str;
15496
yyval.node = (Node *)n;
15501
#line 4156 "gram.y"
15503
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15504
n->objectType = OBJECT_DOMAIN;
15505
n->object = yyvsp[-3].list;
15506
n->newowner = yyvsp[0].str;
15507
yyval.node = (Node *)n;
15512
#line 4164 "gram.y"
15514
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15515
n->objectType = OBJECT_FUNCTION;
15516
n->object = yyvsp[-4].list;
15517
n->objarg = extractArgTypes(yyvsp[-3].list);
15518
n->newowner = yyvsp[0].str;
15519
yyval.node = (Node *)n;
15524
#line 4173 "gram.y"
15526
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15527
n->objectType = OBJECT_OPERATOR;
15528
n->object = yyvsp[-6].list;
15529
n->objarg = yyvsp[-4].list;
15530
n->newowner = yyvsp[0].str;
15531
yyval.node = (Node *)n;
15536
#line 4182 "gram.y"
15538
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15539
n->objectType = OBJECT_OPCLASS;
15540
n->object = yyvsp[-5].list;
15541
n->addname = yyvsp[-3].str;
15542
n->newowner = yyvsp[0].str;
15543
yyval.node = (Node *)n;
15548
#line 4191 "gram.y"
15550
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15551
n->objectType = OBJECT_SCHEMA;
15552
n->object = list_make1(yyvsp[-3].str);
15553
n->newowner = yyvsp[0].str;
15554
yyval.node = (Node *)n;
15559
#line 4199 "gram.y"
15561
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15562
n->objectType = OBJECT_TYPE;
15563
n->object = yyvsp[-3].list;
15564
n->newowner = yyvsp[0].str;
15565
yyval.node = (Node *)n;
15570
#line 4207 "gram.y"
15572
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
15573
n->objectType = OBJECT_TABLESPACE;
15574
n->object = list_make1(yyvsp[-3].str);
15575
n->newowner = yyvsp[0].str;
15576
yyval.node = (Node *)n;
15581
#line 4224 "gram.y"
15582
{ QueryIsRule=TRUE; }
15586
#line 4227 "gram.y"
15588
RuleStmt *n = makeNode(RuleStmt);
15589
n->replace = yyvsp[-12].boolean;
15590
n->relation = yyvsp[-4].range;
15591
n->rulename = yyvsp[-10].str;
15592
n->whereClause = yyvsp[-3].node;
15593
n->event = yyvsp[-6].ival;
15594
n->instead = yyvsp[-1].boolean;
15595
n->actions = yyvsp[0].list;
15596
yyval.node = (Node *)n;
15602
#line 4242 "gram.y"
15603
{ yyval.list = NIL; }
15607
#line 4243 "gram.y"
15608
{ yyval.list = list_make1(yyvsp[0].node); }
15612
#line 4244 "gram.y"
15613
{ yyval.list = yyvsp[-1].list; }
15617
#line 4250 "gram.y"
15618
{ if (yyvsp[0].node != NULL)
15619
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
15621
yyval.list = yyvsp[-2].list;
15626
#line 4256 "gram.y"
15627
{ if (yyvsp[0].node != NULL)
15628
yyval.list = list_make1(yyvsp[0].node);
15635
#line 4272 "gram.y"
15636
{ yyval.node = yyvsp[0].node; }
15640
#line 4273 "gram.y"
15641
{ yyval.node = NULL; }
15645
#line 4277 "gram.y"
15646
{ yyval.ival = CMD_SELECT; }
15650
#line 4278 "gram.y"
15651
{ yyval.ival = CMD_UPDATE; }
15655
#line 4279 "gram.y"
15656
{ yyval.ival = CMD_DELETE; }
15660
#line 4280 "gram.y"
15661
{ yyval.ival = CMD_INSERT; }
15665
#line 4284 "gram.y"
15666
{ yyval.boolean = TRUE; }
15670
#line 4285 "gram.y"
15671
{ yyval.boolean = FALSE; }
15675
#line 4286 "gram.y"
15676
{ yyval.boolean = FALSE; }
15680
#line 4292 "gram.y"
15682
DropPropertyStmt *n = makeNode(DropPropertyStmt);
15683
n->relation = yyvsp[-1].range;
15684
n->property = yyvsp[-3].str;
15685
n->behavior = yyvsp[0].dbehavior;
15686
n->removeType = OBJECT_RULE;
15687
yyval.node = (Node *) n;
15692
#line 4312 "gram.y"
15694
NotifyStmt *n = makeNode(NotifyStmt);
15695
n->relation = yyvsp[0].range;
15696
yyval.node = (Node *)n;
15701
#line 4320 "gram.y"
15703
ListenStmt *n = makeNode(ListenStmt);
15704
n->relation = yyvsp[0].range;
15705
yyval.node = (Node *)n;
15710
#line 4329 "gram.y"
15712
UnlistenStmt *n = makeNode(UnlistenStmt);
15713
n->relation = yyvsp[0].range;
15714
yyval.node = (Node *)n;
15719
#line 4335 "gram.y"
15721
UnlistenStmt *n = makeNode(UnlistenStmt);
15722
n->relation = makeNode(RangeVar);
15723
n->relation->relname = "*";
15724
n->relation->schemaname = NULL;
15725
yyval.node = (Node *)n;
15730
#line 4356 "gram.y"
15732
TransactionStmt *n = makeNode(TransactionStmt);
15733
n->kind = TRANS_STMT_ROLLBACK;
15735
yyval.node = (Node *)n;
15740
#line 4363 "gram.y"
15742
TransactionStmt *n = makeNode(TransactionStmt);
15743
n->kind = TRANS_STMT_BEGIN;
15744
n->options = yyvsp[0].list;
15745
yyval.node = (Node *)n;
15750
#line 4370 "gram.y"
15752
TransactionStmt *n = makeNode(TransactionStmt);
15753
n->kind = TRANS_STMT_START;
15754
n->options = yyvsp[0].list;
15755
yyval.node = (Node *)n;
15760
#line 4377 "gram.y"
15762
TransactionStmt *n = makeNode(TransactionStmt);
15763
n->kind = TRANS_STMT_COMMIT;
15765
yyval.node = (Node *)n;
15770
#line 4384 "gram.y"
15772
TransactionStmt *n = makeNode(TransactionStmt);
15773
n->kind = TRANS_STMT_COMMIT;
15775
yyval.node = (Node *)n;
15780
#line 4391 "gram.y"
15782
TransactionStmt *n = makeNode(TransactionStmt);
15783
n->kind = TRANS_STMT_ROLLBACK;
15785
yyval.node = (Node *)n;
15790
#line 4398 "gram.y"
15792
TransactionStmt *n = makeNode(TransactionStmt);
15793
n->kind = TRANS_STMT_SAVEPOINT;
15794
n->options = list_make1(makeDefElem("savepoint_name",
15795
(Node *)makeString(yyvsp[0].str)));
15796
yyval.node = (Node *)n;
15801
#line 4406 "gram.y"
15803
TransactionStmt *n = makeNode(TransactionStmt);
15804
n->kind = TRANS_STMT_RELEASE;
15805
n->options = list_make1(makeDefElem("savepoint_name",
15806
(Node *)makeString(yyvsp[0].str)));
15807
yyval.node = (Node *)n;
15812
#line 4414 "gram.y"
15814
TransactionStmt *n = makeNode(TransactionStmt);
15815
n->kind = TRANS_STMT_RELEASE;
15816
n->options = list_make1(makeDefElem("savepoint_name",
15817
(Node *)makeString(yyvsp[0].str)));
15818
yyval.node = (Node *)n;
15823
#line 4422 "gram.y"
15825
TransactionStmt *n = makeNode(TransactionStmt);
15826
n->kind = TRANS_STMT_ROLLBACK_TO;
15827
n->options = list_make1(makeDefElem("savepoint_name",
15828
(Node *)makeString(yyvsp[0].str)));
15829
yyval.node = (Node *)n;
15834
#line 4430 "gram.y"
15836
TransactionStmt *n = makeNode(TransactionStmt);
15837
n->kind = TRANS_STMT_ROLLBACK_TO;
15838
n->options = list_make1(makeDefElem("savepoint_name",
15839
(Node *)makeString(yyvsp[0].str)));
15840
yyval.node = (Node *)n;
15845
#line 4438 "gram.y"
15847
TransactionStmt *n = makeNode(TransactionStmt);
15848
n->kind = TRANS_STMT_PREPARE;
15849
n->gid = yyvsp[0].str;
15850
yyval.node = (Node *)n;
15855
#line 4445 "gram.y"
15857
TransactionStmt *n = makeNode(TransactionStmt);
15858
n->kind = TRANS_STMT_COMMIT_PREPARED;
15859
n->gid = yyvsp[0].str;
15860
yyval.node = (Node *)n;
15865
#line 4452 "gram.y"
15867
TransactionStmt *n = makeNode(TransactionStmt);
15868
n->kind = TRANS_STMT_ROLLBACK_PREPARED;
15869
n->gid = yyvsp[0].str;
15870
yyval.node = (Node *)n;
15875
#line 4460 "gram.y"
15880
#line 4461 "gram.y"
15885
#line 4462 "gram.y"
15890
#line 4467 "gram.y"
15891
{ yyval.defelt = makeDefElem("transaction_isolation",
15892
makeStringConst(yyvsp[0].str, NULL)); }
15896
#line 4470 "gram.y"
15897
{ yyval.defelt = makeDefElem("transaction_read_only",
15898
makeIntConst(TRUE)); }
15902
#line 4473 "gram.y"
15903
{ yyval.defelt = makeDefElem("transaction_read_only",
15904
makeIntConst(FALSE)); }
15908
#line 4480 "gram.y"
15909
{ yyval.list = list_make1(yyvsp[0].defelt); }
15913
#line 4482 "gram.y"
15914
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].defelt); }
15918
#line 4484 "gram.y"
15919
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); }
15923
#line 4490 "gram.y"
15924
{ yyval.list = NIL; }
15928
#line 4503 "gram.y"
15930
ViewStmt *n = makeNode(ViewStmt);
15931
n->replace = false;
15932
n->view = yyvsp[-3].range;
15933
n->view->istemp = yyvsp[-5].boolean;
15934
n->aliases = yyvsp[-2].list;
15935
n->query = (Query *) yyvsp[0].node;
15936
yyval.node = (Node *) n;
15941
#line 4514 "gram.y"
15943
ViewStmt *n = makeNode(ViewStmt);
15945
n->view = yyvsp[-3].range;
15946
n->view->istemp = yyvsp[-5].boolean;
15947
n->aliases = yyvsp[-2].list;
15948
n->query = (Query *) yyvsp[0].node;
15949
yyval.node = (Node *) n;
15954
#line 4533 "gram.y"
15956
LoadStmt *n = makeNode(LoadStmt);
15957
n->filename = yyvsp[0].str;
15958
yyval.node = (Node *)n;
15963
#line 4549 "gram.y"
15965
CreatedbStmt *n = makeNode(CreatedbStmt);
15966
n->dbname = yyvsp[-2].str;
15967
n->options = yyvsp[0].list;
15968
yyval.node = (Node *)n;
15973
#line 4558 "gram.y"
15974
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); }
15978
#line 4559 "gram.y"
15979
{ yyval.list = NIL; }
15983
#line 4564 "gram.y"
15985
yyval.defelt = makeDefElem("tablespace", (Node *)makeString(yyvsp[0].str));
15990
#line 4568 "gram.y"
15992
yyval.defelt = makeDefElem("tablespace", NULL);
15997
#line 4572 "gram.y"
15999
yyval.defelt = makeDefElem("location", (Node *)makeString(yyvsp[0].str));
16004
#line 4576 "gram.y"
16006
yyval.defelt = makeDefElem("location", NULL);
16011
#line 4580 "gram.y"
16013
yyval.defelt = makeDefElem("template", (Node *)makeString(yyvsp[0].str));
16018
#line 4584 "gram.y"
16020
yyval.defelt = makeDefElem("template", NULL);
16025
#line 4588 "gram.y"
16027
yyval.defelt = makeDefElem("encoding", (Node *)makeString(yyvsp[0].str));
16032
#line 4592 "gram.y"
16034
yyval.defelt = makeDefElem("encoding", (Node *)makeInteger(yyvsp[0].ival));
16039
#line 4596 "gram.y"
16041
yyval.defelt = makeDefElem("encoding", NULL);
16046
#line 4600 "gram.y"
16048
yyval.defelt = makeDefElem("connectionlimit", (Node *)makeInteger(yyvsp[0].ival));
16053
#line 4604 "gram.y"
16055
yyval.defelt = makeDefElem("owner", (Node *)makeString(yyvsp[0].str));
16060
#line 4608 "gram.y"
16062
yyval.defelt = makeDefElem("owner", NULL);
16067
#line 4617 "gram.y"
16072
#line 4618 "gram.y"
16077
#line 4630 "gram.y"
16079
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
16080
n->dbname = yyvsp[-2].str;
16081
n->options = yyvsp[0].list;
16082
yyval.node = (Node *)n;
16087
#line 4640 "gram.y"
16089
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
16090
n->dbname = yyvsp[-2].str;
16091
n->variable = yyvsp[0].vsetstmt->name;
16092
n->value = yyvsp[0].vsetstmt->args;
16093
yyval.node = (Node *)n;
16098
#line 4648 "gram.y"
16100
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
16101
n->dbname = yyvsp[-1].str;
16102
n->variable = ((VariableResetStmt *)yyvsp[0].node)->name;
16104
yyval.node = (Node *)n;
16109
#line 4659 "gram.y"
16110
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); }
16114
#line 4660 "gram.y"
16115
{ yyval.list = NIL; }
16119
#line 4665 "gram.y"
16121
yyval.defelt = makeDefElem("connectionlimit", (Node *)makeInteger(yyvsp[0].ival));
16126
#line 4679 "gram.y"
16128
DropdbStmt *n = makeNode(DropdbStmt);
16129
n->dbname = yyvsp[0].str;
16130
yyval.node = (Node *)n;
16135
#line 4695 "gram.y"
16137
CreateDomainStmt *n = makeNode(CreateDomainStmt);
16138
n->domainname = yyvsp[-3].list;
16139
n->typename = yyvsp[-1].typnam;
16140
n->constraints = yyvsp[0].list;
16141
yyval.node = (Node *)n;
16146
#line 4707 "gram.y"
16148
AlterDomainStmt *n = makeNode(AlterDomainStmt);
16150
n->typename = yyvsp[-1].list;
16151
n->def = yyvsp[0].node;
16152
yyval.node = (Node *)n;
16157
#line 4716 "gram.y"
16159
AlterDomainStmt *n = makeNode(AlterDomainStmt);
16161
n->typename = yyvsp[-3].list;
16162
yyval.node = (Node *)n;
16167
#line 4724 "gram.y"
16169
AlterDomainStmt *n = makeNode(AlterDomainStmt);
16171
n->typename = yyvsp[-3].list;
16172
yyval.node = (Node *)n;
16177
#line 4732 "gram.y"
16179
AlterDomainStmt *n = makeNode(AlterDomainStmt);
16181
n->typename = yyvsp[-2].list;
16182
n->def = yyvsp[0].node;
16183
yyval.node = (Node *)n;
16188
#line 4741 "gram.y"
16190
AlterDomainStmt *n = makeNode(AlterDomainStmt);
16192
n->typename = yyvsp[-4].list;
16193
n->name = yyvsp[-1].str;
16194
n->behavior = yyvsp[0].dbehavior;
16195
yyval.node = (Node *)n;
16200
#line 4751 "gram.y"
16205
#line 4752 "gram.y"
16210
#line 4768 "gram.y"
16212
CreateConversionStmt *n = makeNode(CreateConversionStmt);
16213
n->conversion_name = yyvsp[-6].list;
16214
n->for_encoding_name = yyvsp[-4].str;
16215
n->to_encoding_name = yyvsp[-2].str;
16216
n->func_name = yyvsp[0].list;
16217
n->def = yyvsp[-8].boolean;
16218
yyval.node = (Node *)n;
16223
#line 4790 "gram.y"
16225
ClusterStmt *n = makeNode(ClusterStmt);
16226
n->relation = yyvsp[0].range;
16227
n->indexname = yyvsp[-2].str;
16228
yyval.node = (Node*)n;
16233
#line 4797 "gram.y"
16235
ClusterStmt *n = makeNode(ClusterStmt);
16236
n->relation = yyvsp[0].range;
16237
n->indexname = NULL;
16238
yyval.node = (Node*)n;
16243
#line 4804 "gram.y"
16245
ClusterStmt *n = makeNode(ClusterStmt);
16246
n->relation = NULL;
16247
n->indexname = NULL;
16248
yyval.node = (Node*)n;
16253
#line 4821 "gram.y"
16255
VacuumStmt *n = makeNode(VacuumStmt);
16257
n->analyze = false;
16258
n->full = yyvsp[-2].boolean;
16259
n->freeze = yyvsp[-1].boolean;
16260
n->verbose = yyvsp[0].boolean;
16261
n->relation = NULL;
16263
yyval.node = (Node *)n;
16268
#line 4833 "gram.y"
16270
VacuumStmt *n = makeNode(VacuumStmt);
16272
n->analyze = false;
16273
n->full = yyvsp[-3].boolean;
16274
n->freeze = yyvsp[-2].boolean;
16275
n->verbose = yyvsp[-1].boolean;
16276
n->relation = yyvsp[0].range;
16278
yyval.node = (Node *)n;
16283
#line 4845 "gram.y"
16285
VacuumStmt *n = (VacuumStmt *) yyvsp[0].node;
16287
n->full = yyvsp[-3].boolean;
16288
n->freeze = yyvsp[-2].boolean;
16289
n->verbose |= yyvsp[-1].boolean;
16290
yyval.node = (Node *)n;
16295
#line 4857 "gram.y"
16297
VacuumStmt *n = makeNode(VacuumStmt);
16302
n->verbose = yyvsp[0].boolean;
16303
n->relation = NULL;
16305
yyval.node = (Node *)n;
16310
#line 4869 "gram.y"
16312
VacuumStmt *n = makeNode(VacuumStmt);
16317
n->verbose = yyvsp[-2].boolean;
16318
n->relation = yyvsp[-1].range;
16319
n->va_cols = yyvsp[0].list;
16320
yyval.node = (Node *)n;
16325
#line 4883 "gram.y"
16330
#line 4884 "gram.y"
16335
#line 4888 "gram.y"
16336
{ yyval.boolean = TRUE; }
16340
#line 4889 "gram.y"
16341
{ yyval.boolean = FALSE; }
16345
#line 4892 "gram.y"
16346
{ yyval.boolean = TRUE; }
16350
#line 4893 "gram.y"
16351
{ yyval.boolean = FALSE; }
16355
#line 4896 "gram.y"
16356
{ yyval.boolean = TRUE; }
16360
#line 4897 "gram.y"
16361
{ yyval.boolean = FALSE; }
16365
#line 4901 "gram.y"
16366
{ yyval.list = yyvsp[-1].list; }
16370
#line 4902 "gram.y"
16371
{ yyval.list = NIL; }
16375
#line 4914 "gram.y"
16377
ExplainStmt *n = makeNode(ExplainStmt);
16378
n->analyze = yyvsp[-2].boolean;
16379
n->verbose = yyvsp[-1].boolean;
16380
n->query = (Query*)yyvsp[0].node;
16381
yyval.node = (Node *)n;
16386
#line 4933 "gram.y"
16387
{ yyval.boolean = TRUE; }
16391
#line 4934 "gram.y"
16392
{ yyval.boolean = FALSE; }
16396
#line 4945 "gram.y"
16398
PrepareStmt *n = makeNode(PrepareStmt);
16399
n->name = yyvsp[-3].str;
16400
n->argtypes = yyvsp[-2].list;
16401
n->query = (Query *) yyvsp[0].node;
16402
yyval.node = (Node *) n;
16407
#line 4954 "gram.y"
16408
{ yyval.list = yyvsp[-1].list; }
16412
#line 4955 "gram.y"
16413
{ yyval.list = NIL; }
16417
#line 4958 "gram.y"
16418
{ yyval.list = list_make1(yyvsp[0].typnam); }
16422
#line 4960 "gram.y"
16423
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].typnam); }
16427
#line 4978 "gram.y"
16429
ExecuteStmt *n = makeNode(ExecuteStmt);
16430
n->name = yyvsp[-1].str;
16431
n->params = yyvsp[0].list;
16433
yyval.node = (Node *) n;
16438
#line 4986 "gram.y"
16440
ExecuteStmt *n = makeNode(ExecuteStmt);
16441
n->name = yyvsp[-1].str;
16442
n->params = yyvsp[0].list;
16443
yyvsp[-5].range->istemp = yyvsp[-7].boolean;
16444
n->into = yyvsp[-5].range;
16445
if (yyvsp[-4].list)
16447
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
16448
errmsg("column name list not allowed in CREATE TABLE / AS EXECUTE")));
16449
/* ... because it's not implemented, but it could be */
16450
yyval.node = (Node *) n;
16455
#line 5001 "gram.y"
16456
{ yyval.list = yyvsp[-1].list; }
16460
#line 5002 "gram.y"
16461
{ yyval.list = NIL; }
16465
#line 5013 "gram.y"
16467
DeallocateStmt *n = makeNode(DeallocateStmt);
16468
n->name = yyvsp[0].str;
16469
yyval.node = (Node *) n;
16474
#line 5019 "gram.y"
16476
DeallocateStmt *n = makeNode(DeallocateStmt);
16477
n->name = yyvsp[0].str;
16478
yyval.node = (Node *) n;
16483
#line 5035 "gram.y"
16485
yyvsp[0].istmt->relation = yyvsp[-1].range;
16486
yyval.node = (Node *) yyvsp[0].istmt;
16491
#line 5043 "gram.y"
16493
yyval.istmt = makeNode(InsertStmt);
16494
yyval.istmt->cols = NIL;
16495
yyval.istmt->targetList = yyvsp[-1].list;
16496
yyval.istmt->selectStmt = NULL;
16501
#line 5050 "gram.y"
16503
yyval.istmt = makeNode(InsertStmt);
16504
yyval.istmt->cols = NIL;
16505
yyval.istmt->targetList = NIL;
16506
yyval.istmt->selectStmt = NULL;
16511
#line 5057 "gram.y"
16513
yyval.istmt = makeNode(InsertStmt);
16514
yyval.istmt->cols = NIL;
16515
yyval.istmt->targetList = NIL;
16516
yyval.istmt->selectStmt = yyvsp[0].node;
16521
#line 5064 "gram.y"
16523
yyval.istmt = makeNode(InsertStmt);
16524
yyval.istmt->cols = yyvsp[-5].list;
16525
yyval.istmt->targetList = yyvsp[-1].list;
16526
yyval.istmt->selectStmt = NULL;
16531
#line 5071 "gram.y"
16533
yyval.istmt = makeNode(InsertStmt);
16534
yyval.istmt->cols = yyvsp[-2].list;
16535
yyval.istmt->targetList = NIL;
16536
yyval.istmt->selectStmt = yyvsp[0].node;
16541
#line 5081 "gram.y"
16542
{ yyval.list = list_make1(yyvsp[0].target); }
16546
#line 5083 "gram.y"
16547
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].target); }
16551
#line 5088 "gram.y"
16553
yyval.target = makeNode(ResTarget);
16554
yyval.target->name = yyvsp[-1].str;
16555
yyval.target->indirection = yyvsp[0].list;
16556
yyval.target->val = NULL;
16561
#line 5105 "gram.y"
16563
DeleteStmt *n = makeNode(DeleteStmt);
16564
n->relation = yyvsp[-2].range;
16565
n->usingClause = yyvsp[-1].list;
16566
n->whereClause = yyvsp[0].node;
16567
yyval.node = (Node *)n;
16572
#line 5115 "gram.y"
16573
{ yyval.list = yyvsp[0].list; }
16577
#line 5116 "gram.y"
16578
{ yyval.list = NIL; }
16582
#line 5120 "gram.y"
16584
LockStmt *n = makeNode(LockStmt);
16586
n->relations = yyvsp[-2].list;
16587
n->mode = yyvsp[-1].ival;
16588
n->nowait = yyvsp[0].boolean;
16589
yyval.node = (Node *)n;
16594
#line 5130 "gram.y"
16595
{ yyval.ival = yyvsp[-1].ival; }
16599
#line 5131 "gram.y"
16600
{ yyval.ival = AccessExclusiveLock; }
16604
#line 5134 "gram.y"
16605
{ yyval.ival = AccessShareLock; }
16609
#line 5135 "gram.y"
16610
{ yyval.ival = RowShareLock; }
16614
#line 5136 "gram.y"
16615
{ yyval.ival = RowExclusiveLock; }
16619
#line 5137 "gram.y"
16620
{ yyval.ival = ShareUpdateExclusiveLock; }
16624
#line 5138 "gram.y"
16625
{ yyval.ival = ShareLock; }
16629
#line 5139 "gram.y"
16630
{ yyval.ival = ShareRowExclusiveLock; }
16634
#line 5140 "gram.y"
16635
{ yyval.ival = ExclusiveLock; }
16639
#line 5141 "gram.y"
16640
{ yyval.ival = AccessExclusiveLock; }
16644
#line 5144 "gram.y"
16645
{ yyval.boolean = TRUE; }
16649
#line 5145 "gram.y"
16650
{ yyval.boolean = FALSE; }
16654
#line 5160 "gram.y"
16656
UpdateStmt *n = makeNode(UpdateStmt);
16657
n->relation = yyvsp[-4].range;
16658
n->targetList = yyvsp[-2].list;
16659
n->fromClause = yyvsp[-1].list;
16660
n->whereClause = yyvsp[0].node;
16661
yyval.node = (Node *)n;
16666
#line 5178 "gram.y"
16668
DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
16669
n->portalname = yyvsp[-5].str;
16670
n->options = yyvsp[-4].ival;
16671
n->query = yyvsp[0].node;
16672
if (yyvsp[-2].boolean)
16673
n->options |= CURSOR_OPT_HOLD;
16674
yyval.node = (Node *)n;
16679
#line 5189 "gram.y"
16680
{ yyval.ival = 0; }
16684
#line 5190 "gram.y"
16685
{ yyval.ival = yyvsp[-2].ival | CURSOR_OPT_NO_SCROLL; }
16689
#line 5191 "gram.y"
16690
{ yyval.ival = yyvsp[-1].ival | CURSOR_OPT_SCROLL; }
16694
#line 5192 "gram.y"
16695
{ yyval.ival = yyvsp[-1].ival | CURSOR_OPT_BINARY; }
16699
#line 5193 "gram.y"
16700
{ yyval.ival = yyvsp[-1].ival | CURSOR_OPT_INSENSITIVE; }
16704
#line 5196 "gram.y"
16705
{ yyval.boolean = FALSE; }
16709
#line 5197 "gram.y"
16710
{ yyval.boolean = TRUE; }
16714
#line 5198 "gram.y"
16715
{ yyval.boolean = FALSE; }
16719
#line 5251 "gram.y"
16720
{ yyval.node = yyvsp[-1].node; }
16724
#line 5252 "gram.y"
16725
{ yyval.node = yyvsp[-1].node; }
16729
#line 5262 "gram.y"
16730
{ yyval.node = yyvsp[0].node; }
16734
#line 5264 "gram.y"
16736
insertSelectOptions((SelectStmt *) yyvsp[-1].node, yyvsp[0].list, NULL,
16738
yyval.node = yyvsp[-1].node;
16743
#line 5270 "gram.y"
16745
insertSelectOptions((SelectStmt *) yyvsp[-3].node, yyvsp[-2].list, yyvsp[-1].node,
16746
list_nth(yyvsp[0].list, 0), list_nth(yyvsp[0].list, 1));
16747
yyval.node = yyvsp[-3].node;
16752
#line 5276 "gram.y"
16754
insertSelectOptions((SelectStmt *) yyvsp[-3].node, yyvsp[-2].list, yyvsp[0].node,
16755
list_nth(yyvsp[-1].list, 0), list_nth(yyvsp[-1].list, 1));
16756
yyval.node = yyvsp[-3].node;
16761
#line 5284 "gram.y"
16762
{ yyval.node = yyvsp[0].node; }
16766
#line 5285 "gram.y"
16767
{ yyval.node = yyvsp[0].node; }
16771
#line 5315 "gram.y"
16773
SelectStmt *n = makeNode(SelectStmt);
16774
n->distinctClause = yyvsp[-6].list;
16775
n->targetList = yyvsp[-5].list;
16776
n->into = yyvsp[-4].range;
16777
n->intoColNames = NIL;
16778
n->intoHasOids = DEFAULT_OIDS;
16779
n->fromClause = yyvsp[-3].list;
16780
n->whereClause = yyvsp[-2].node;
16781
n->groupClause = yyvsp[-1].list;
16782
n->havingClause = yyvsp[0].node;
16783
yyval.node = (Node *)n;
16788
#line 5329 "gram.y"
16790
yyval.node = makeSetOp(SETOP_UNION, yyvsp[-1].boolean, yyvsp[-3].node, yyvsp[0].node);
16795
#line 5333 "gram.y"
16797
yyval.node = makeSetOp(SETOP_INTERSECT, yyvsp[-1].boolean, yyvsp[-3].node, yyvsp[0].node);
16802
#line 5337 "gram.y"
16804
yyval.node = makeSetOp(SETOP_EXCEPT, yyvsp[-1].boolean, yyvsp[-3].node, yyvsp[0].node);
16809
#line 5343 "gram.y"
16810
{ yyval.range = yyvsp[0].range; }
16814
#line 5344 "gram.y"
16815
{ yyval.range = NULL; }
16819
#line 5353 "gram.y"
16821
yyval.range = yyvsp[0].range;
16822
yyval.range->istemp = true;
16827
#line 5358 "gram.y"
16829
yyval.range = yyvsp[0].range;
16830
yyval.range->istemp = true;
16835
#line 5363 "gram.y"
16837
yyval.range = yyvsp[0].range;
16838
yyval.range->istemp = true;
16843
#line 5368 "gram.y"
16845
yyval.range = yyvsp[0].range;
16846
yyval.range->istemp = true;
16851
#line 5373 "gram.y"
16853
yyval.range = yyvsp[0].range;
16854
yyval.range->istemp = true;
16859
#line 5378 "gram.y"
16861
yyval.range = yyvsp[0].range;
16862
yyval.range->istemp = true;
16867
#line 5383 "gram.y"
16869
yyval.range = yyvsp[0].range;
16870
yyval.range->istemp = false;
16875
#line 5388 "gram.y"
16877
yyval.range = yyvsp[0].range;
16878
yyval.range->istemp = false;
16883
#line 5394 "gram.y"
16888
#line 5395 "gram.y"
16893
#line 5398 "gram.y"
16894
{ yyval.boolean = TRUE; }
16898
#line 5399 "gram.y"
16899
{ yyval.boolean = FALSE; }
16903
#line 5400 "gram.y"
16904
{ yyval.boolean = FALSE; }
16908
#line 5407 "gram.y"
16909
{ yyval.list = list_make1(NIL); }
16913
#line 5408 "gram.y"
16914
{ yyval.list = yyvsp[-1].list; }
16918
#line 5409 "gram.y"
16919
{ yyval.list = NIL; }
16923
#line 5410 "gram.y"
16924
{ yyval.list = NIL; }
16928
#line 5414 "gram.y"
16929
{ yyval.list = yyvsp[0].list;}
16933
#line 5415 "gram.y"
16934
{ yyval.list = NIL; }
16938
#line 5419 "gram.y"
16939
{ yyval.list = yyvsp[0].list; }
16943
#line 5423 "gram.y"
16944
{ yyval.list = list_make1(yyvsp[0].sortby); }
16948
#line 5424 "gram.y"
16949
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortby); }
16953
#line 5428 "gram.y"
16955
yyval.sortby = makeNode(SortBy);
16956
yyval.sortby->node = yyvsp[-2].node;
16957
yyval.sortby->sortby_kind = SORTBY_USING;
16958
yyval.sortby->useOp = yyvsp[0].list;
16963
#line 5435 "gram.y"
16965
yyval.sortby = makeNode(SortBy);
16966
yyval.sortby->node = yyvsp[-1].node;
16967
yyval.sortby->sortby_kind = SORTBY_ASC;
16968
yyval.sortby->useOp = NIL;
16973
#line 5442 "gram.y"
16975
yyval.sortby = makeNode(SortBy);
16976
yyval.sortby->node = yyvsp[-1].node;
16977
yyval.sortby->sortby_kind = SORTBY_DESC;
16978
yyval.sortby->useOp = NIL;
16983
#line 5449 "gram.y"
16985
yyval.sortby = makeNode(SortBy);
16986
yyval.sortby->node = yyvsp[0].node;
16987
yyval.sortby->sortby_kind = SORTBY_ASC; /* default */
16988
yyval.sortby->useOp = NIL;
16993
#line 5460 "gram.y"
16994
{ yyval.list = list_make2(yyvsp[0].node, yyvsp[-2].node); }
16998
#line 5462 "gram.y"
16999
{ yyval.list = list_make2(yyvsp[-2].node, yyvsp[0].node); }
17003
#line 5464 "gram.y"
17004
{ yyval.list = list_make2(NULL, yyvsp[0].node); }
17008
#line 5466 "gram.y"
17009
{ yyval.list = list_make2(yyvsp[0].node, NULL); }
17013
#line 5468 "gram.y"
17015
/* Disabled because it was too confusing, bjm 2002-02-18 */
17017
(errcode(ERRCODE_SYNTAX_ERROR),
17018
errmsg("LIMIT #,# syntax is not supported"),
17019
errhint("Use separate LIMIT and OFFSET clauses.")));
17024
#line 5478 "gram.y"
17025
{ yyval.list = yyvsp[0].list; }
17029
#line 5480 "gram.y"
17030
{ yyval.list = list_make2(NULL,NULL); }
17034
#line 5484 "gram.y"
17035
{ yyval.node = yyvsp[0].node; }
17039
#line 5486 "gram.y"
17041
/* LIMIT ALL is represented as a NULL constant */
17042
A_Const *n = makeNode(A_Const);
17043
n->val.type = T_Null;
17044
yyval.node = (Node *)n;
17049
#line 5495 "gram.y"
17050
{ yyval.node = yyvsp[0].node; }
17054
#line 5499 "gram.y"
17055
{ yyval.list = yyvsp[0].list; }
17059
#line 5500 "gram.y"
17060
{ yyval.list = NIL; }
17064
#line 5504 "gram.y"
17065
{ yyval.node = yyvsp[0].node; }
17069
#line 5505 "gram.y"
17070
{ yyval.node = NULL; }
17074
#line 5510 "gram.y"
17076
LockingClause *n = makeNode(LockingClause);
17077
n->lockedRels = yyvsp[-1].list;
17078
n->forUpdate = TRUE;
17079
n->nowait = yyvsp[0].boolean;
17080
yyval.node = (Node *) n;
17085
#line 5518 "gram.y"
17087
LockingClause *n = makeNode(LockingClause);
17088
n->lockedRels = yyvsp[-1].list;
17089
n->forUpdate = FALSE;
17090
n->nowait = yyvsp[0].boolean;
17091
yyval.node = (Node *) n;
17096
#line 5525 "gram.y"
17097
{ yyval.node = NULL; }
17101
#line 5529 "gram.y"
17102
{ yyval.node = yyvsp[0].node; }
17106
#line 5530 "gram.y"
17107
{ yyval.node = NULL; }
17111
#line 5534 "gram.y"
17112
{ yyval.list = yyvsp[0].list; }
17116
#line 5535 "gram.y"
17117
{ yyval.list = NIL; }
17121
#line 5547 "gram.y"
17122
{ yyval.list = yyvsp[0].list; }
17126
#line 5548 "gram.y"
17127
{ yyval.list = NIL; }
17131
#line 5552 "gram.y"
17132
{ yyval.list = list_make1(yyvsp[0].node); }
17136
#line 5553 "gram.y"
17137
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
17141
#line 5564 "gram.y"
17143
yyval.node = (Node *) yyvsp[0].range;
17148
#line 5568 "gram.y"
17150
yyvsp[-1].range->alias = yyvsp[0].alias;
17151
yyval.node = (Node *) yyvsp[-1].range;
17156
#line 5573 "gram.y"
17158
RangeFunction *n = makeNode(RangeFunction);
17159
n->funccallnode = yyvsp[0].node;
17160
n->coldeflist = NIL;
17161
yyval.node = (Node *) n;
17166
#line 5580 "gram.y"
17168
RangeFunction *n = makeNode(RangeFunction);
17169
n->funccallnode = yyvsp[-1].node;
17170
n->alias = yyvsp[0].alias;
17171
n->coldeflist = NIL;
17172
yyval.node = (Node *) n;
17177
#line 5588 "gram.y"
17179
RangeFunction *n = makeNode(RangeFunction);
17180
n->funccallnode = yyvsp[-4].node;
17181
n->coldeflist = yyvsp[-1].list;
17182
yyval.node = (Node *) n;
17187
#line 5595 "gram.y"
17189
RangeFunction *n = makeNode(RangeFunction);
17190
Alias *a = makeNode(Alias);
17191
n->funccallnode = yyvsp[-5].node;
17192
a->aliasname = yyvsp[-3].str;
17194
n->coldeflist = yyvsp[-1].list;
17195
yyval.node = (Node *) n;
17200
#line 5605 "gram.y"
17202
RangeFunction *n = makeNode(RangeFunction);
17203
Alias *a = makeNode(Alias);
17204
n->funccallnode = yyvsp[-4].node;
17205
a->aliasname = yyvsp[-3].str;
17207
n->coldeflist = yyvsp[-1].list;
17208
yyval.node = (Node *) n;
17213
#line 5615 "gram.y"
17216
* The SQL spec does not permit a subselect
17217
* (<derived_table>) without an alias clause,
17218
* so we don't either. This avoids the problem
17219
* of needing to invent a unique refname for it.
17220
* That could be surmounted if there's sufficient
17221
* popular demand, but for now let's just implement
17222
* the spec and see if anyone complains.
17223
* However, it does seem like a good idea to emit
17224
* an error message that's better than "syntax error".
17227
(errcode(ERRCODE_SYNTAX_ERROR),
17228
errmsg("subquery in FROM must have an alias"),
17229
errhint("For example, FROM (SELECT ...) [AS] foo.")));
17235
#line 5634 "gram.y"
17237
RangeSubselect *n = makeNode(RangeSubselect);
17238
n->subquery = yyvsp[-1].node;
17239
n->alias = yyvsp[0].alias;
17240
yyval.node = (Node *) n;
17245
#line 5641 "gram.y"
17247
yyval.node = (Node *) yyvsp[0].jexpr;
17252
#line 5645 "gram.y"
17254
yyvsp[-2].jexpr->alias = yyvsp[0].alias;
17255
yyval.node = (Node *) yyvsp[-2].jexpr;
17260
#line 5671 "gram.y"
17262
yyval.jexpr = yyvsp[-1].jexpr;
17267
#line 5675 "gram.y"
17269
/* CROSS JOIN is same as unqualified inner join */
17270
JoinExpr *n = makeNode(JoinExpr);
17271
n->jointype = JOIN_INNER;
17272
n->isNatural = FALSE;
17273
n->larg = yyvsp[-3].node;
17274
n->rarg = yyvsp[0].node;
17282
#line 5687 "gram.y"
17284
/* UNION JOIN is made into 1 token to avoid shift/reduce
17285
* conflict against regular UNION keyword.
17287
JoinExpr *n = makeNode(JoinExpr);
17288
n->jointype = JOIN_UNION;
17289
n->isNatural = FALSE;
17290
n->larg = yyvsp[-2].node;
17291
n->rarg = yyvsp[0].node;
17299
#line 5701 "gram.y"
17301
JoinExpr *n = makeNode(JoinExpr);
17302
n->jointype = yyvsp[-3].jtype;
17303
n->isNatural = FALSE;
17304
n->larg = yyvsp[-4].node;
17305
n->rarg = yyvsp[-1].node;
17306
if (yyvsp[0].node != NULL && IsA(yyvsp[0].node, List))
17307
n->using = (List *) yyvsp[0].node; /* USING clause */
17309
n->quals = yyvsp[0].node; /* ON clause */
17315
#line 5714 "gram.y"
17317
/* letting join_type reduce to empty doesn't work */
17318
JoinExpr *n = makeNode(JoinExpr);
17319
n->jointype = JOIN_INNER;
17320
n->isNatural = FALSE;
17321
n->larg = yyvsp[-3].node;
17322
n->rarg = yyvsp[-1].node;
17323
if (yyvsp[0].node != NULL && IsA(yyvsp[0].node, List))
17324
n->using = (List *) yyvsp[0].node; /* USING clause */
17326
n->quals = yyvsp[0].node; /* ON clause */
17332
#line 5728 "gram.y"
17334
JoinExpr *n = makeNode(JoinExpr);
17335
n->jointype = yyvsp[-2].jtype;
17336
n->isNatural = TRUE;
17337
n->larg = yyvsp[-4].node;
17338
n->rarg = yyvsp[0].node;
17339
n->using = NIL; /* figure out which columns later... */
17340
n->quals = NULL; /* fill later */
17346
#line 5739 "gram.y"
17348
/* letting join_type reduce to empty doesn't work */
17349
JoinExpr *n = makeNode(JoinExpr);
17350
n->jointype = JOIN_INNER;
17351
n->isNatural = TRUE;
17352
n->larg = yyvsp[-3].node;
17353
n->rarg = yyvsp[0].node;
17354
n->using = NIL; /* figure out which columns later... */
17355
n->quals = NULL; /* fill later */
17361
#line 5754 "gram.y"
17363
yyval.alias = makeNode(Alias);
17364
yyval.alias->aliasname = yyvsp[-3].str;
17365
yyval.alias->colnames = yyvsp[-1].list;
17370
#line 5760 "gram.y"
17372
yyval.alias = makeNode(Alias);
17373
yyval.alias->aliasname = yyvsp[0].str;
17378
#line 5765 "gram.y"
17380
yyval.alias = makeNode(Alias);
17381
yyval.alias->aliasname = yyvsp[-3].str;
17382
yyval.alias->colnames = yyvsp[-1].list;
17387
#line 5771 "gram.y"
17389
yyval.alias = makeNode(Alias);
17390
yyval.alias->aliasname = yyvsp[0].str;
17395
#line 5777 "gram.y"
17396
{ yyval.jtype = JOIN_FULL; }
17400
#line 5778 "gram.y"
17401
{ yyval.jtype = JOIN_LEFT; }
17405
#line 5779 "gram.y"
17406
{ yyval.jtype = JOIN_RIGHT; }
17410
#line 5780 "gram.y"
17411
{ yyval.jtype = JOIN_INNER; }
17415
#line 5784 "gram.y"
17416
{ yyval.node = NULL; }
17420
#line 5785 "gram.y"
17421
{ yyval.node = NULL; }
17425
#line 5797 "gram.y"
17426
{ yyval.node = (Node *) yyvsp[-1].list; }
17430
#line 5798 "gram.y"
17431
{ yyval.node = yyvsp[0].node; }
17435
#line 5804 "gram.y"
17437
/* default inheritance */
17438
yyval.range = yyvsp[0].range;
17439
yyval.range->inhOpt = INH_DEFAULT;
17440
yyval.range->alias = NULL;
17445
#line 5811 "gram.y"
17447
/* inheritance query */
17448
yyval.range = yyvsp[-1].range;
17449
yyval.range->inhOpt = INH_YES;
17450
yyval.range->alias = NULL;
17455
#line 5818 "gram.y"
17457
/* no inheritance */
17458
yyval.range = yyvsp[0].range;
17459
yyval.range->inhOpt = INH_NO;
17460
yyval.range->alias = NULL;
17465
#line 5825 "gram.y"
17467
/* no inheritance, SQL99-style syntax */
17468
yyval.range = yyvsp[-1].range;
17469
yyval.range->inhOpt = INH_NO;
17470
yyval.range->alias = NULL;
17475
#line 5834 "gram.y"
17476
{ yyval.node = yyvsp[0].node; }
17480
#line 5839 "gram.y"
17481
{ yyval.node = yyvsp[0].node; }
17485
#line 5840 "gram.y"
17486
{ yyval.node = NULL; }
17490
#line 5846 "gram.y"
17492
yyval.list = list_make1(yyvsp[0].node);
17497
#line 5850 "gram.y"
17499
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
17504
#line 5856 "gram.y"
17506
ColumnDef *n = makeNode(ColumnDef);
17507
n->colname = yyvsp[-1].str;
17508
n->typename = yyvsp[0].typnam;
17509
n->constraints = NIL;
17510
n->is_local = true;
17511
yyval.node = (Node *)n;
17516
#line 5877 "gram.y"
17518
yyval.typnam = yyvsp[-1].typnam;
17519
yyval.typnam->arrayBounds = yyvsp[0].list;
17524
#line 5882 "gram.y"
17526
yyval.typnam = yyvsp[-1].typnam;
17527
yyval.typnam->arrayBounds = yyvsp[0].list;
17528
yyval.typnam->setof = TRUE;
17533
#line 5888 "gram.y"
17535
/* SQL99's redundant syntax */
17536
yyval.typnam = yyvsp[-4].typnam;
17537
yyval.typnam->arrayBounds = list_make1(makeInteger(yyvsp[-1].ival));
17542
#line 5894 "gram.y"
17544
/* SQL99's redundant syntax */
17545
yyval.typnam = yyvsp[-4].typnam;
17546
yyval.typnam->arrayBounds = list_make1(makeInteger(yyvsp[-1].ival));
17547
yyval.typnam->setof = TRUE;
17552
#line 5904 "gram.y"
17553
{ yyval.list = lappend(yyvsp[-2].list, makeInteger(-1)); }
17557
#line 5906 "gram.y"
17558
{ yyval.list = lappend(yyvsp[-3].list, makeInteger(yyvsp[-1].ival)); }
17562
#line 5908 "gram.y"
17563
{ yyval.list = NIL; }
17567
#line 5920 "gram.y"
17568
{ yyval.typnam = yyvsp[0].typnam; }
17572
#line 5921 "gram.y"
17573
{ yyval.typnam = yyvsp[0].typnam; }
17577
#line 5922 "gram.y"
17578
{ yyval.typnam = yyvsp[0].typnam; }
17582
#line 5923 "gram.y"
17583
{ yyval.typnam = yyvsp[0].typnam; }
17587
#line 5924 "gram.y"
17588
{ yyval.typnam = yyvsp[0].typnam; }
17592
#line 5926 "gram.y"
17594
yyval.typnam = yyvsp[-1].typnam;
17595
if (yyvsp[0].ival != INTERVAL_FULL_RANGE)
17596
yyval.typnam->typmod = INTERVAL_TYPMOD(INTERVAL_FULL_PRECISION, yyvsp[0].ival);
17601
#line 5932 "gram.y"
17603
yyval.typnam = yyvsp[-4].typnam;
17604
if (yyvsp[-2].ival < 0)
17606
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17607
errmsg("INTERVAL(%d) precision must not be negative",
17609
if (yyvsp[-2].ival > MAX_INTERVAL_PRECISION)
17612
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17613
errmsg("INTERVAL(%d) precision reduced to maximum allowed, %d",
17614
yyvsp[-2].ival, MAX_INTERVAL_PRECISION)));
17615
yyvsp[-2].ival = MAX_INTERVAL_PRECISION;
17617
yyval.typnam->typmod = INTERVAL_TYPMOD(yyvsp[-2].ival, yyvsp[0].ival);
17622
#line 5950 "gram.y"
17624
yyval.typnam = makeNode(TypeName);
17625
yyval.typnam->names = lcons(makeString(yyvsp[-1].str), yyvsp[0].list);
17626
yyval.typnam->typmod = -1;
17631
#line 5967 "gram.y"
17632
{ yyval.typnam = yyvsp[0].typnam; }
17636
#line 5968 "gram.y"
17637
{ yyval.typnam = yyvsp[0].typnam; }
17641
#line 5969 "gram.y"
17642
{ yyval.typnam = yyvsp[0].typnam; }
17646
#line 5970 "gram.y"
17647
{ yyval.typnam = yyvsp[0].typnam; }
17651
#line 5971 "gram.y"
17652
{ yyval.typnam = yyvsp[0].typnam; }
17656
#line 5976 "gram.y"
17658
yyval.typnam = makeTypeName(yyvsp[0].str);
17663
#line 5987 "gram.y"
17665
yyval.typnam = SystemTypeName("int4");
17670
#line 5991 "gram.y"
17672
yyval.typnam = SystemTypeName("int4");
17677
#line 5995 "gram.y"
17679
yyval.typnam = SystemTypeName("int2");
17684
#line 5999 "gram.y"
17686
yyval.typnam = SystemTypeName("int8");
17691
#line 6003 "gram.y"
17693
yyval.typnam = SystemTypeName("float4");
17698
#line 6007 "gram.y"
17700
yyval.typnam = yyvsp[0].typnam;
17705
#line 6011 "gram.y"
17707
yyval.typnam = SystemTypeName("float8");
17712
#line 6015 "gram.y"
17714
yyval.typnam = SystemTypeName("numeric");
17715
yyval.typnam->typmod = yyvsp[0].ival;
17720
#line 6020 "gram.y"
17722
yyval.typnam = SystemTypeName("numeric");
17723
yyval.typnam->typmod = yyvsp[0].ival;
17728
#line 6025 "gram.y"
17730
yyval.typnam = SystemTypeName("numeric");
17731
yyval.typnam->typmod = yyvsp[0].ival;
17736
#line 6030 "gram.y"
17738
yyval.typnam = SystemTypeName("bool");
17743
#line 6036 "gram.y"
17745
if (yyvsp[-1].ival < 1)
17747
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17748
errmsg("precision for type float must be at least 1 bit")));
17749
else if (yyvsp[-1].ival <= 24)
17750
yyval.typnam = SystemTypeName("float4");
17751
else if (yyvsp[-1].ival <= 53)
17752
yyval.typnam = SystemTypeName("float8");
17755
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17756
errmsg("precision for type float must be less than 54 bits")));
17761
#line 6051 "gram.y"
17763
yyval.typnam = SystemTypeName("float8");
17768
#line 6058 "gram.y"
17770
if (yyvsp[-3].ival < 1 || yyvsp[-3].ival > NUMERIC_MAX_PRECISION)
17772
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17773
errmsg("NUMERIC precision %d must be between 1 and %d",
17774
yyvsp[-3].ival, NUMERIC_MAX_PRECISION)));
17775
if (yyvsp[-1].ival < 0 || yyvsp[-1].ival > yyvsp[-3].ival)
17777
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17778
errmsg("NUMERIC scale %d must be between 0 and precision %d",
17779
yyvsp[-1].ival, yyvsp[-3].ival)));
17781
yyval.ival = ((yyvsp[-3].ival << 16) | yyvsp[-1].ival) + VARHDRSZ;
17786
#line 6073 "gram.y"
17788
if (yyvsp[-1].ival < 1 || yyvsp[-1].ival > NUMERIC_MAX_PRECISION)
17790
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17791
errmsg("NUMERIC precision %d must be between 1 and %d",
17792
yyvsp[-1].ival, NUMERIC_MAX_PRECISION)));
17794
yyval.ival = (yyvsp[-1].ival << 16) + VARHDRSZ;
17799
#line 6083 "gram.y"
17801
/* Insert "-1" meaning "no limit" */
17807
#line 6091 "gram.y"
17809
if (yyvsp[-3].ival < 1 || yyvsp[-3].ival > NUMERIC_MAX_PRECISION)
17811
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17812
errmsg("DECIMAL precision %d must be between 1 and %d",
17813
yyvsp[-3].ival, NUMERIC_MAX_PRECISION)));
17814
if (yyvsp[-1].ival < 0 || yyvsp[-1].ival > yyvsp[-3].ival)
17816
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17817
errmsg("DECIMAL scale %d must be between 0 and precision %d",
17818
yyvsp[-1].ival, yyvsp[-3].ival)));
17820
yyval.ival = ((yyvsp[-3].ival << 16) | yyvsp[-1].ival) + VARHDRSZ;
17825
#line 6106 "gram.y"
17827
if (yyvsp[-1].ival < 1 || yyvsp[-1].ival > NUMERIC_MAX_PRECISION)
17829
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17830
errmsg("DECIMAL precision %d must be between 1 and %d",
17831
yyvsp[-1].ival, NUMERIC_MAX_PRECISION)));
17833
yyval.ival = (yyvsp[-1].ival << 16) + VARHDRSZ;
17838
#line 6116 "gram.y"
17840
/* Insert "-1" meaning "no limit" */
17846
#line 6128 "gram.y"
17848
yyval.typnam = yyvsp[0].typnam;
17853
#line 6132 "gram.y"
17855
yyval.typnam = yyvsp[0].typnam;
17860
#line 6140 "gram.y"
17862
yyval.typnam = yyvsp[0].typnam;
17867
#line 6144 "gram.y"
17869
yyval.typnam = yyvsp[0].typnam;
17870
yyval.typnam->typmod = -1;
17875
#line 6152 "gram.y"
17879
typname = yyvsp[-3].boolean ? "varbit" : "bit";
17880
yyval.typnam = SystemTypeName(typname);
17881
if (yyvsp[-1].ival < 1)
17883
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17884
errmsg("length for type %s must be at least 1",
17886
else if (yyvsp[-1].ival > (MaxAttrSize * BITS_PER_BYTE))
17888
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17889
errmsg("length for type %s cannot exceed %d",
17890
typname, MaxAttrSize * BITS_PER_BYTE)));
17891
yyval.typnam->typmod = yyvsp[-1].ival;
17896
#line 6173 "gram.y"
17898
/* bit defaults to bit(1), varbit to no limit */
17899
if (yyvsp[0].boolean)
17901
yyval.typnam = SystemTypeName("varbit");
17902
yyval.typnam->typmod = -1;
17906
yyval.typnam = SystemTypeName("bit");
17907
yyval.typnam->typmod = 1;
17913
#line 6194 "gram.y"
17915
yyval.typnam = yyvsp[0].typnam;
17920
#line 6198 "gram.y"
17922
yyval.typnam = yyvsp[0].typnam;
17927
#line 6204 "gram.y"
17929
yyval.typnam = yyvsp[0].typnam;
17934
#line 6208 "gram.y"
17936
/* Length was not specified so allow to be unrestricted.
17937
* This handles problems with fixed-length (bpchar) strings
17938
* which in column definitions must default to a length
17939
* of one, but should not be constrained if the length
17940
* was not specified.
17942
yyval.typnam = yyvsp[0].typnam;
17943
yyval.typnam->typmod = -1;
17948
#line 6221 "gram.y"
17950
if ((yyvsp[0].str != NULL) && (strcmp(yyvsp[0].str, "sql_text") != 0))
17954
type = palloc(strlen(yyvsp[-4].str) + 1 + strlen(yyvsp[0].str) + 1);
17955
strcpy(type, yyvsp[-4].str);
17957
strcat(type, yyvsp[0].str);
17958
yyvsp[-4].str = type;
17961
yyval.typnam = SystemTypeName(yyvsp[-4].str);
17963
if (yyvsp[-2].ival < 1)
17965
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17966
errmsg("length for type %s must be at least 1",
17968
else if (yyvsp[-2].ival > MaxAttrSize)
17970
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
17971
errmsg("length for type %s cannot exceed %d",
17972
yyvsp[-4].str, MaxAttrSize)));
17974
/* we actually implement these like a varlen, so
17975
* the first 4 bytes is the length. (the difference
17976
* between these and "text" is that we blank-pad and
17977
* truncate where necessary)
17979
yyval.typnam->typmod = VARHDRSZ + yyvsp[-2].ival;
17984
#line 6256 "gram.y"
17986
if ((yyvsp[0].str != NULL) && (strcmp(yyvsp[0].str, "sql_text") != 0))
17990
type = palloc(strlen(yyvsp[-1].str) + 1 + strlen(yyvsp[0].str) + 1);
17991
strcpy(type, yyvsp[-1].str);
17993
strcat(type, yyvsp[0].str);
17994
yyvsp[-1].str = type;
17997
yyval.typnam = SystemTypeName(yyvsp[-1].str);
17999
/* char defaults to char(1), varchar to no limit */
18000
if (strcmp(yyvsp[-1].str, "char") == 0)
18001
yyval.typnam->typmod = VARHDRSZ + 1;
18003
yyval.typnam->typmod = -1;
18008
#line 6279 "gram.y"
18009
{ yyval.str = yyvsp[0].boolean ? "varchar": "char"; }
18013
#line 6281 "gram.y"
18014
{ yyval.str = yyvsp[0].boolean ? "varchar": "char"; }
18018
#line 6283 "gram.y"
18019
{ yyval.str = "varchar"; }
18023
#line 6285 "gram.y"
18024
{ yyval.str = yyvsp[0].boolean ? "varchar": "char"; }
18028
#line 6287 "gram.y"
18029
{ yyval.str = yyvsp[0].boolean ? "varchar": "char"; }
18033
#line 6289 "gram.y"
18034
{ yyval.str = yyvsp[0].boolean ? "varchar": "char"; }
18038
#line 6293 "gram.y"
18039
{ yyval.boolean = TRUE; }
18043
#line 6294 "gram.y"
18044
{ yyval.boolean = FALSE; }
18048
#line 6298 "gram.y"
18049
{ yyval.str = yyvsp[0].str; }
18053
#line 6299 "gram.y"
18054
{ yyval.str = NULL; }
18058
#line 6304 "gram.y"
18060
if (yyvsp[0].boolean)
18061
yyval.typnam = SystemTypeName("timestamptz");
18063
yyval.typnam = SystemTypeName("timestamp");
18064
/* XXX the timezone field seems to be unused
18065
* - thomas 2001-09-06
18067
yyval.typnam->timezone = yyvsp[0].boolean;
18068
if (yyvsp[-2].ival < 0)
18070
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
18071
errmsg("TIMESTAMP(%d)%s precision must not be negative",
18072
yyvsp[-2].ival, (yyvsp[0].boolean ? " WITH TIME ZONE": ""))));
18073
if (yyvsp[-2].ival > MAX_TIMESTAMP_PRECISION)
18076
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
18077
errmsg("TIMESTAMP(%d)%s precision reduced to maximum allowed, %d",
18078
yyvsp[-2].ival, (yyvsp[0].boolean ? " WITH TIME ZONE": ""),
18079
MAX_TIMESTAMP_PRECISION)));
18080
yyvsp[-2].ival = MAX_TIMESTAMP_PRECISION;
18082
yyval.typnam->typmod = yyvsp[-2].ival;
18087
#line 6330 "gram.y"
18089
if (yyvsp[0].boolean)
18090
yyval.typnam = SystemTypeName("timestamptz");
18092
yyval.typnam = SystemTypeName("timestamp");
18093
/* XXX the timezone field seems to be unused
18094
* - thomas 2001-09-06
18096
yyval.typnam->timezone = yyvsp[0].boolean;
18101
#line 6341 "gram.y"
18103
if (yyvsp[0].boolean)
18104
yyval.typnam = SystemTypeName("timetz");
18106
yyval.typnam = SystemTypeName("time");
18107
if (yyvsp[-2].ival < 0)
18109
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
18110
errmsg("TIME(%d)%s precision must not be negative",
18111
yyvsp[-2].ival, (yyvsp[0].boolean ? " WITH TIME ZONE": ""))));
18112
if (yyvsp[-2].ival > MAX_TIME_PRECISION)
18115
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
18116
errmsg("TIME(%d)%s precision reduced to maximum allowed, %d",
18117
yyvsp[-2].ival, (yyvsp[0].boolean ? " WITH TIME ZONE": ""),
18118
MAX_TIME_PRECISION)));
18119
yyvsp[-2].ival = MAX_TIME_PRECISION;
18121
yyval.typnam->typmod = yyvsp[-2].ival;
18126
#line 6363 "gram.y"
18128
if (yyvsp[0].boolean)
18129
yyval.typnam = SystemTypeName("timetz");
18131
yyval.typnam = SystemTypeName("time");
18136
#line 6372 "gram.y"
18137
{ yyval.typnam = SystemTypeName("interval"); }
18141
#line 6376 "gram.y"
18142
{ yyval.boolean = TRUE; }
18146
#line 6377 "gram.y"
18147
{ yyval.boolean = FALSE; }
18151
#line 6378 "gram.y"
18152
{ yyval.boolean = FALSE; }
18156
#line 6382 "gram.y"
18157
{ yyval.ival = INTERVAL_MASK(YEAR); }
18161
#line 6383 "gram.y"
18162
{ yyval.ival = INTERVAL_MASK(MONTH); }
18166
#line 6384 "gram.y"
18167
{ yyval.ival = INTERVAL_MASK(DAY); }
18171
#line 6385 "gram.y"
18172
{ yyval.ival = INTERVAL_MASK(HOUR); }
18176
#line 6386 "gram.y"
18177
{ yyval.ival = INTERVAL_MASK(MINUTE); }
18181
#line 6387 "gram.y"
18182
{ yyval.ival = INTERVAL_MASK(SECOND); }
18186
#line 6389 "gram.y"
18187
{ yyval.ival = INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH); }
18191
#line 6391 "gram.y"
18192
{ yyval.ival = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR); }
18196
#line 6393 "gram.y"
18197
{ yyval.ival = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)
18198
| INTERVAL_MASK(MINUTE); }
18202
#line 6396 "gram.y"
18203
{ yyval.ival = INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR)
18204
| INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND); }
18208
#line 6399 "gram.y"
18209
{ yyval.ival = INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE); }
18213
#line 6401 "gram.y"
18214
{ yyval.ival = INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE)
18215
| INTERVAL_MASK(SECOND); }
18219
#line 6404 "gram.y"
18220
{ yyval.ival = INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND); }
18224
#line 6405 "gram.y"
18225
{ yyval.ival = INTERVAL_FULL_RANGE; }
18229
#line 6431 "gram.y"
18230
{ yyval.node = yyvsp[0].node; }
18234
#line 6433 "gram.y"
18235
{ yyval.node = makeTypeCast(yyvsp[-2].node, yyvsp[0].typnam); }
18239
#line 6435 "gram.y"
18241
FuncCall *n = makeNode(FuncCall);
18242
n->funcname = SystemFuncName("timezone");
18243
n->args = list_make2(yyvsp[0].node, yyvsp[-4].node);
18244
n->agg_star = FALSE;
18245
n->agg_distinct = FALSE;
18246
yyval.node = (Node *) n;
18251
#line 6453 "gram.y"
18252
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, yyvsp[0].node); }
18256
#line 6455 "gram.y"
18257
{ yyval.node = doNegate(yyvsp[0].node); }
18261
#line 6457 "gram.y"
18262
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", yyvsp[-2].node, yyvsp[0].node); }
18266
#line 6459 "gram.y"
18267
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", yyvsp[-2].node, yyvsp[0].node); }
18271
#line 6461 "gram.y"
18272
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", yyvsp[-2].node, yyvsp[0].node); }
18276
#line 6463 "gram.y"
18277
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", yyvsp[-2].node, yyvsp[0].node); }
18281
#line 6465 "gram.y"
18282
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", yyvsp[-2].node, yyvsp[0].node); }
18286
#line 6467 "gram.y"
18287
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", yyvsp[-2].node, yyvsp[0].node); }
18291
#line 6469 "gram.y"
18292
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", yyvsp[-2].node, yyvsp[0].node); }
18296
#line 6471 "gram.y"
18297
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", yyvsp[-2].node, yyvsp[0].node); }
18301
#line 6473 "gram.y"
18302
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", yyvsp[-2].node, yyvsp[0].node); }
18306
#line 6476 "gram.y"
18307
{ yyval.node = (Node *) makeA_Expr(AEXPR_OP, yyvsp[-1].list, yyvsp[-2].node, yyvsp[0].node); }
18311
#line 6478 "gram.y"
18312
{ yyval.node = (Node *) makeA_Expr(AEXPR_OP, yyvsp[-1].list, NULL, yyvsp[0].node); }
18316
#line 6480 "gram.y"
18317
{ yyval.node = (Node *) makeA_Expr(AEXPR_OP, yyvsp[0].list, yyvsp[-1].node, NULL); }
18321
#line 6483 "gram.y"
18322
{ yyval.node = (Node *) makeA_Expr(AEXPR_AND, NIL, yyvsp[-2].node, yyvsp[0].node); }
18326
#line 6485 "gram.y"
18327
{ yyval.node = (Node *) makeA_Expr(AEXPR_OR, NIL, yyvsp[-2].node, yyvsp[0].node); }
18331
#line 6487 "gram.y"
18332
{ yyval.node = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, yyvsp[0].node); }
18336
#line 6490 "gram.y"
18337
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", yyvsp[-2].node, yyvsp[0].node); }
18341
#line 6492 "gram.y"
18343
FuncCall *n = makeNode(FuncCall);
18344
n->funcname = SystemFuncName("like_escape");
18345
n->args = list_make2(yyvsp[-2].node, yyvsp[0].node);
18346
n->agg_star = FALSE;
18347
n->agg_distinct = FALSE;
18348
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", yyvsp[-4].node, (Node *) n);
18353
#line 6501 "gram.y"
18354
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", yyvsp[-3].node, yyvsp[0].node); }
18358
#line 6503 "gram.y"
18360
FuncCall *n = makeNode(FuncCall);
18361
n->funcname = SystemFuncName("like_escape");
18362
n->args = list_make2(yyvsp[-2].node, yyvsp[0].node);
18363
n->agg_star = FALSE;
18364
n->agg_distinct = FALSE;
18365
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", yyvsp[-5].node, (Node *) n);
18370
#line 6512 "gram.y"
18371
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", yyvsp[-2].node, yyvsp[0].node); }
18375
#line 6514 "gram.y"
18377
FuncCall *n = makeNode(FuncCall);
18378
n->funcname = SystemFuncName("like_escape");
18379
n->args = list_make2(yyvsp[-2].node, yyvsp[0].node);
18380
n->agg_star = FALSE;
18381
n->agg_distinct = FALSE;
18382
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", yyvsp[-4].node, (Node *) n);
18387
#line 6523 "gram.y"
18388
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", yyvsp[-3].node, yyvsp[0].node); }
18392
#line 6525 "gram.y"
18394
FuncCall *n = makeNode(FuncCall);
18395
n->funcname = SystemFuncName("like_escape");
18396
n->args = list_make2(yyvsp[-2].node, yyvsp[0].node);
18397
n->agg_star = FALSE;
18398
n->agg_distinct = FALSE;
18399
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", yyvsp[-5].node, (Node *) n);
18404
#line 6535 "gram.y"
18406
A_Const *c = makeNode(A_Const);
18407
FuncCall *n = makeNode(FuncCall);
18408
c->val.type = T_Null;
18409
n->funcname = SystemFuncName("similar_escape");
18410
n->args = list_make2(yyvsp[0].node, (Node *) c);
18411
n->agg_star = FALSE;
18412
n->agg_distinct = FALSE;
18413
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", yyvsp[-3].node, (Node *) n);
18418
#line 6546 "gram.y"
18420
FuncCall *n = makeNode(FuncCall);
18421
n->funcname = SystemFuncName("similar_escape");
18422
n->args = list_make2(yyvsp[-2].node, yyvsp[0].node);
18423
n->agg_star = FALSE;
18424
n->agg_distinct = FALSE;
18425
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", yyvsp[-5].node, (Node *) n);
18430
#line 6555 "gram.y"
18432
A_Const *c = makeNode(A_Const);
18433
FuncCall *n = makeNode(FuncCall);
18434
c->val.type = T_Null;
18435
n->funcname = SystemFuncName("similar_escape");
18436
n->args = list_make2(yyvsp[0].node, (Node *) c);
18437
n->agg_star = FALSE;
18438
n->agg_distinct = FALSE;
18439
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", yyvsp[-4].node, (Node *) n);
18444
#line 6566 "gram.y"
18446
FuncCall *n = makeNode(FuncCall);
18447
n->funcname = SystemFuncName("similar_escape");
18448
n->args = list_make2(yyvsp[-2].node, yyvsp[0].node);
18449
n->agg_star = FALSE;
18450
n->agg_distinct = FALSE;
18451
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", yyvsp[-6].node, (Node *) n);
18456
#line 6585 "gram.y"
18458
if (IsA(yyvsp[-1].node, RowExpr))
18459
yyval.node = makeRowNullTest(IS_NULL, (RowExpr *) yyvsp[-1].node);
18462
NullTest *n = makeNode(NullTest);
18463
n->arg = (Expr *) yyvsp[-1].node;
18464
n->nulltesttype = IS_NULL;
18465
yyval.node = (Node *)n;
18471
#line 6597 "gram.y"
18473
if (IsA(yyvsp[-2].node, RowExpr))
18474
yyval.node = makeRowNullTest(IS_NULL, (RowExpr *) yyvsp[-2].node);
18477
NullTest *n = makeNode(NullTest);
18478
n->arg = (Expr *) yyvsp[-2].node;
18479
n->nulltesttype = IS_NULL;
18480
yyval.node = (Node *)n;
18486
#line 6609 "gram.y"
18488
if (IsA(yyvsp[-1].node, RowExpr))
18489
yyval.node = makeRowNullTest(IS_NOT_NULL, (RowExpr *) yyvsp[-1].node);
18492
NullTest *n = makeNode(NullTest);
18493
n->arg = (Expr *) yyvsp[-1].node;
18494
n->nulltesttype = IS_NOT_NULL;
18495
yyval.node = (Node *)n;
18501
#line 6621 "gram.y"
18503
if (IsA(yyvsp[-3].node, RowExpr))
18504
yyval.node = makeRowNullTest(IS_NOT_NULL, (RowExpr *) yyvsp[-3].node);
18507
NullTest *n = makeNode(NullTest);
18508
n->arg = (Expr *) yyvsp[-3].node;
18509
n->nulltesttype = IS_NOT_NULL;
18510
yyval.node = (Node *)n;
18516
#line 6633 "gram.y"
18518
yyval.node = (Node *)makeOverlaps(yyvsp[-2].list, yyvsp[0].list);
18523
#line 6637 "gram.y"
18525
BooleanTest *b = makeNode(BooleanTest);
18526
b->arg = (Expr *) yyvsp[-2].node;
18527
b->booltesttype = IS_TRUE;
18528
yyval.node = (Node *)b;
18533
#line 6644 "gram.y"
18535
BooleanTest *b = makeNode(BooleanTest);
18536
b->arg = (Expr *) yyvsp[-3].node;
18537
b->booltesttype = IS_NOT_TRUE;
18538
yyval.node = (Node *)b;
18543
#line 6651 "gram.y"
18545
BooleanTest *b = makeNode(BooleanTest);
18546
b->arg = (Expr *) yyvsp[-2].node;
18547
b->booltesttype = IS_FALSE;
18548
yyval.node = (Node *)b;
18553
#line 6658 "gram.y"
18555
BooleanTest *b = makeNode(BooleanTest);
18556
b->arg = (Expr *) yyvsp[-3].node;
18557
b->booltesttype = IS_NOT_FALSE;
18558
yyval.node = (Node *)b;
18563
#line 6665 "gram.y"
18565
BooleanTest *b = makeNode(BooleanTest);
18566
b->arg = (Expr *) yyvsp[-2].node;
18567
b->booltesttype = IS_UNKNOWN;
18568
yyval.node = (Node *)b;
18573
#line 6672 "gram.y"
18575
BooleanTest *b = makeNode(BooleanTest);
18576
b->arg = (Expr *) yyvsp[-3].node;
18577
b->booltesttype = IS_NOT_UNKNOWN;
18578
yyval.node = (Node *)b;
18583
#line 6679 "gram.y"
18585
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", yyvsp[-4].node, yyvsp[0].node);
18590
#line 6683 "gram.y"
18592
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", yyvsp[-5].node, (Node *) yyvsp[-1].list);
18597
#line 6687 "gram.y"
18599
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OF, "!=", yyvsp[-6].node, (Node *) yyvsp[-1].list);
18604
#line 6691 "gram.y"
18606
yyval.node = (Node *) makeA_Expr(AEXPR_AND, NIL,
18607
(Node *) makeSimpleA_Expr(AEXPR_OP, ">=", yyvsp[-5].node, yyvsp[-2].node),
18608
(Node *) makeSimpleA_Expr(AEXPR_OP, "<=", yyvsp[-5].node, yyvsp[0].node));
18613
#line 6697 "gram.y"
18615
yyval.node = (Node *) makeA_Expr(AEXPR_OR, NIL,
18616
(Node *) makeSimpleA_Expr(AEXPR_OP, "<", yyvsp[-6].node, yyvsp[-2].node),
18617
(Node *) makeSimpleA_Expr(AEXPR_OP, ">", yyvsp[-6].node, yyvsp[0].node));
18622
#line 6703 "gram.y"
18624
yyval.node = (Node *) makeA_Expr(AEXPR_OR, NIL,
18625
(Node *) makeA_Expr(AEXPR_AND, NIL,
18626
(Node *) makeSimpleA_Expr(AEXPR_OP, ">=", yyvsp[-5].node, yyvsp[-2].node),
18627
(Node *) makeSimpleA_Expr(AEXPR_OP, "<=", yyvsp[-5].node, yyvsp[0].node)),
18628
(Node *) makeA_Expr(AEXPR_AND, NIL,
18629
(Node *) makeSimpleA_Expr(AEXPR_OP, ">=", yyvsp[-5].node, yyvsp[0].node),
18630
(Node *) makeSimpleA_Expr(AEXPR_OP, "<=", yyvsp[-5].node, yyvsp[-2].node)));
18635
#line 6713 "gram.y"
18637
yyval.node = (Node *) makeA_Expr(AEXPR_AND, NIL,
18638
(Node *) makeA_Expr(AEXPR_OR, NIL,
18639
(Node *) makeSimpleA_Expr(AEXPR_OP, "<", yyvsp[-6].node, yyvsp[-2].node),
18640
(Node *) makeSimpleA_Expr(AEXPR_OP, ">", yyvsp[-6].node, yyvsp[0].node)),
18641
(Node *) makeA_Expr(AEXPR_OR, NIL,
18642
(Node *) makeSimpleA_Expr(AEXPR_OP, "<", yyvsp[-6].node, yyvsp[0].node),
18643
(Node *) makeSimpleA_Expr(AEXPR_OP, ">", yyvsp[-6].node, yyvsp[-2].node)));
18648
#line 6723 "gram.y"
18650
/* in_expr returns a SubLink or a list of a_exprs */
18651
if (IsA(yyvsp[0].node, SubLink))
18653
SubLink *n = (SubLink *)yyvsp[0].node;
18654
n->subLinkType = ANY_SUBLINK;
18655
if (IsA(yyvsp[-2].node, RowExpr))
18656
n->lefthand = ((RowExpr *) yyvsp[-2].node)->args;
18658
n->lefthand = list_make1(yyvsp[-2].node);
18659
n->operName = list_make1(makeString("="));
18660
yyval.node = (Node *)n;
18666
foreach(l, (List *) yyvsp[0].node)
18669
cmp = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", yyvsp[-2].node, lfirst(l));
18673
n = (Node *) makeA_Expr(AEXPR_OR, NIL, n, cmp);
18681
#line 6753 "gram.y"
18683
/* in_expr returns a SubLink or a list of a_exprs */
18684
if (IsA(yyvsp[0].node, SubLink))
18686
/* Make an IN node */
18687
SubLink *n = (SubLink *)yyvsp[0].node;
18688
n->subLinkType = ANY_SUBLINK;
18689
if (IsA(yyvsp[-3].node, RowExpr))
18690
n->lefthand = ((RowExpr *) yyvsp[-3].node)->args;
18692
n->lefthand = list_make1(yyvsp[-3].node);
18693
n->operName = list_make1(makeString("="));
18694
/* Stick a NOT on top */
18695
yyval.node = (Node *) makeA_Expr(AEXPR_NOT, NIL, NULL, (Node *) n);
18701
foreach(l, (List *) yyvsp[0].node)
18704
cmp = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", yyvsp[-3].node, lfirst(l));
18708
n = (Node *) makeA_Expr(AEXPR_AND, NIL, n, cmp);
18716
#line 6785 "gram.y"
18718
SubLink *n = makeNode(SubLink);
18719
n->subLinkType = yyvsp[-1].ival;
18720
if (IsA(yyvsp[-3].node, RowExpr))
18721
n->lefthand = ((RowExpr *) yyvsp[-3].node)->args;
18723
n->lefthand = list_make1(yyvsp[-3].node);
18724
n->operName = yyvsp[-2].list;
18725
n->subselect = yyvsp[0].node;
18726
yyval.node = (Node *)n;
18731
#line 6797 "gram.y"
18733
if (yyvsp[-3].ival == ANY_SUBLINK)
18734
yyval.node = (Node *) makeA_Expr(AEXPR_OP_ANY, yyvsp[-4].list, yyvsp[-5].node, yyvsp[-1].node);
18736
yyval.node = (Node *) makeA_Expr(AEXPR_OP_ALL, yyvsp[-4].list, yyvsp[-5].node, yyvsp[-1].node);
18741
#line 6804 "gram.y"
18743
/* Not sure how to get rid of the parentheses
18744
* but there are lots of shift/reduce errors without them.
18746
* Should be able to implement this by plopping the entire
18747
* select into a node, then transforming the target expressions
18748
* from whatever they are into count(*), and testing the
18749
* entire result equal to one.
18750
* But, will probably implement a separate node in the executor.
18753
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
18754
errmsg("UNIQUE predicate is not yet implemented")));
18759
#line 6830 "gram.y"
18760
{ yyval.node = yyvsp[0].node; }
18764
#line 6832 "gram.y"
18765
{ yyval.node = makeTypeCast(yyvsp[-2].node, yyvsp[0].typnam); }
18769
#line 6834 "gram.y"
18770
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, yyvsp[0].node); }
18774
#line 6836 "gram.y"
18775
{ yyval.node = doNegate(yyvsp[0].node); }
18779
#line 6838 "gram.y"
18780
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", yyvsp[-2].node, yyvsp[0].node); }
18784
#line 6840 "gram.y"
18785
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", yyvsp[-2].node, yyvsp[0].node); }
18789
#line 6842 "gram.y"
18790
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", yyvsp[-2].node, yyvsp[0].node); }
18794
#line 6844 "gram.y"
18795
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", yyvsp[-2].node, yyvsp[0].node); }
18799
#line 6846 "gram.y"
18800
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", yyvsp[-2].node, yyvsp[0].node); }
18804
#line 6848 "gram.y"
18805
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", yyvsp[-2].node, yyvsp[0].node); }
18809
#line 6850 "gram.y"
18810
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", yyvsp[-2].node, yyvsp[0].node); }
18814
#line 6852 "gram.y"
18815
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", yyvsp[-2].node, yyvsp[0].node); }
18819
#line 6854 "gram.y"
18820
{ yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", yyvsp[-2].node, yyvsp[0].node); }
18824
#line 6856 "gram.y"
18825
{ yyval.node = (Node *) makeA_Expr(AEXPR_OP, yyvsp[-1].list, yyvsp[-2].node, yyvsp[0].node); }
18829
#line 6858 "gram.y"
18830
{ yyval.node = (Node *) makeA_Expr(AEXPR_OP, yyvsp[-1].list, NULL, yyvsp[0].node); }
18834
#line 6860 "gram.y"
18835
{ yyval.node = (Node *) makeA_Expr(AEXPR_OP, yyvsp[0].list, yyvsp[-1].node, NULL); }
18839
#line 6862 "gram.y"
18841
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", yyvsp[-4].node, yyvsp[0].node);
18846
#line 6866 "gram.y"
18848
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", yyvsp[-5].node, (Node *) yyvsp[-1].list);
18853
#line 6870 "gram.y"
18855
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_OF, "!=", yyvsp[-6].node, (Node *) yyvsp[-1].list);
18860
#line 6883 "gram.y"
18861
{ yyval.node = yyvsp[0].node; }
18865
#line 6884 "gram.y"
18866
{ yyval.node = yyvsp[0].node; }
18870
#line 6886 "gram.y"
18872
ParamRef *p = makeNode(ParamRef);
18873
p->number = yyvsp[-1].ival;
18876
A_Indirection *n = makeNode(A_Indirection);
18877
n->arg = (Node *) p;
18878
n->indirection = yyvsp[0].list;
18879
yyval.node = (Node *) n;
18882
yyval.node = (Node *) p;
18887
#line 6900 "gram.y"
18891
A_Indirection *n = makeNode(A_Indirection);
18892
n->arg = yyvsp[-2].node;
18893
n->indirection = yyvsp[0].list;
18894
yyval.node = (Node *)n;
18897
yyval.node = yyvsp[-2].node;
18902
#line 6912 "gram.y"
18903
{ yyval.node = yyvsp[0].node; }
18907
#line 6914 "gram.y"
18908
{ yyval.node = yyvsp[0].node; }
18912
#line 6916 "gram.y"
18914
SubLink *n = makeNode(SubLink);
18915
n->subLinkType = EXPR_SUBLINK;
18918
n->subselect = yyvsp[0].node;
18919
yyval.node = (Node *)n;
18924
#line 6925 "gram.y"
18926
SubLink *n = makeNode(SubLink);
18927
n->subLinkType = EXISTS_SUBLINK;
18930
n->subselect = yyvsp[0].node;
18931
yyval.node = (Node *)n;
18936
#line 6934 "gram.y"
18938
SubLink *n = makeNode(SubLink);
18939
n->subLinkType = ARRAY_SUBLINK;
18942
n->subselect = yyvsp[0].node;
18943
yyval.node = (Node *)n;
18948
#line 6943 "gram.y"
18949
{ yyval.node = yyvsp[0].node; }
18953
#line 6945 "gram.y"
18955
RowExpr *r = makeNode(RowExpr);
18956
r->args = yyvsp[0].list;
18957
r->row_typeid = 0; /* not analyzed yet */
18958
yyval.node = (Node *)r;
18963
#line 6962 "gram.y"
18965
FuncCall *n = makeNode(FuncCall);
18966
n->funcname = yyvsp[-2].list;
18968
n->agg_star = FALSE;
18969
n->agg_distinct = FALSE;
18970
yyval.node = (Node *)n;
18975
#line 6971 "gram.y"
18977
FuncCall *n = makeNode(FuncCall);
18978
n->funcname = yyvsp[-3].list;
18979
n->args = yyvsp[-1].list;
18980
n->agg_star = FALSE;
18981
n->agg_distinct = FALSE;
18982
yyval.node = (Node *)n;
18987
#line 6980 "gram.y"
18989
FuncCall *n = makeNode(FuncCall);
18990
n->funcname = yyvsp[-4].list;
18991
n->args = yyvsp[-1].list;
18992
n->agg_star = FALSE;
18993
n->agg_distinct = FALSE;
18994
/* Ideally we'd mark the FuncCall node to indicate
18995
* "must be an aggregate", but there's no provision
18996
* for that in FuncCall at the moment.
18998
yyval.node = (Node *)n;
19003
#line 6993 "gram.y"
19005
FuncCall *n = makeNode(FuncCall);
19006
n->funcname = yyvsp[-4].list;
19007
n->args = yyvsp[-1].list;
19008
n->agg_star = FALSE;
19009
n->agg_distinct = TRUE;
19010
yyval.node = (Node *)n;
19015
#line 7002 "gram.y"
19018
* For now, we transform AGGREGATE(*) into AGGREGATE(1).
19020
* This does the right thing for COUNT(*) (in fact,
19021
* any certainly-non-null expression would do for COUNT),
19022
* and there are no other aggregates in SQL92 that accept
19023
* '*' as parameter.
19025
* The FuncCall node is also marked agg_star = true,
19026
* so that later processing can detect what the argument
19029
FuncCall *n = makeNode(FuncCall);
19030
A_Const *star = makeNode(A_Const);
19032
star->val.type = T_Integer;
19033
star->val.val.ival = 1;
19034
n->funcname = yyvsp[-3].list;
19035
n->args = list_make1(star);
19036
n->agg_star = TRUE;
19037
n->agg_distinct = FALSE;
19038
yyval.node = (Node *)n;
19043
#line 7027 "gram.y"
19046
* Translate as "'now'::text::date".
19048
* We cannot use "'now'::date" because coerce_type() will
19049
* immediately reduce that to a constant representing
19050
* today's date. We need to delay the conversion until
19051
* runtime, else the wrong things will happen when
19052
* CURRENT_DATE is used in a column default value or rule.
19054
* This could be simplified if we had a way to generate
19055
* an expression tree representing runtime application
19056
* of type-input conversion functions. (As of PG 7.3
19057
* that is actually possible, but not clear that we want
19060
A_Const *s = makeNode(A_Const);
19063
s->val.type = T_String;
19064
s->val.val.str = "now";
19065
s->typename = SystemTypeName("text");
19067
d = SystemTypeName("date");
19069
yyval.node = (Node *)makeTypeCast((Node *)s, d);
19074
#line 7055 "gram.y"
19077
* Translate as "'now'::text::timetz".
19078
* See comments for CURRENT_DATE.
19080
A_Const *s = makeNode(A_Const);
19083
s->val.type = T_String;
19084
s->val.val.str = "now";
19085
s->typename = SystemTypeName("text");
19087
d = SystemTypeName("timetz");
19089
yyval.node = (Node *)makeTypeCast((Node *)s, d);
19094
#line 7072 "gram.y"
19097
* Translate as "'now'::text::timetz(n)".
19098
* See comments for CURRENT_DATE.
19100
A_Const *s = makeNode(A_Const);
19103
s->val.type = T_String;
19104
s->val.val.str = "now";
19105
s->typename = SystemTypeName("text");
19106
d = SystemTypeName("timetz");
19107
if (yyvsp[-1].ival < 0)
19109
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
19110
errmsg("CURRENT_TIME(%d) precision must not be negative",
19112
if (yyvsp[-1].ival > MAX_TIME_PRECISION)
19115
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
19116
errmsg("CURRENT_TIME(%d) precision reduced to maximum allowed, %d",
19117
yyvsp[-1].ival, MAX_TIME_PRECISION)));
19118
yyvsp[-1].ival = MAX_TIME_PRECISION;
19120
d->typmod = yyvsp[-1].ival;
19122
yyval.node = (Node *)makeTypeCast((Node *)s, d);
19127
#line 7102 "gram.y"
19130
* Translate as "now()", since we have a function that
19131
* does exactly what is needed.
19133
FuncCall *n = makeNode(FuncCall);
19134
n->funcname = SystemFuncName("now");
19136
n->agg_star = FALSE;
19137
n->agg_distinct = FALSE;
19138
yyval.node = (Node *)n;
19143
#line 7115 "gram.y"
19146
* Translate as "'now'::text::timestamptz(n)".
19147
* See comments for CURRENT_DATE.
19149
A_Const *s = makeNode(A_Const);
19152
s->val.type = T_String;
19153
s->val.val.str = "now";
19154
s->typename = SystemTypeName("text");
19156
d = SystemTypeName("timestamptz");
19157
if (yyvsp[-1].ival < 0)
19159
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
19160
errmsg("CURRENT_TIMESTAMP(%d) precision must not be negative",
19162
if (yyvsp[-1].ival > MAX_TIMESTAMP_PRECISION)
19165
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
19166
errmsg("CURRENT_TIMESTAMP(%d) precision reduced to maximum allowed, %d",
19167
yyvsp[-1].ival, MAX_TIMESTAMP_PRECISION)));
19168
yyvsp[-1].ival = MAX_TIMESTAMP_PRECISION;
19170
d->typmod = yyvsp[-1].ival;
19172
yyval.node = (Node *)makeTypeCast((Node *)s, d);
19177
#line 7146 "gram.y"
19180
* Translate as "'now'::text::time".
19181
* See comments for CURRENT_DATE.
19183
A_Const *s = makeNode(A_Const);
19186
s->val.type = T_String;
19187
s->val.val.str = "now";
19188
s->typename = SystemTypeName("text");
19190
d = SystemTypeName("time");
19192
yyval.node = (Node *)makeTypeCast((Node *)s, d);
19197
#line 7163 "gram.y"
19200
* Translate as "'now'::text::time(n)".
19201
* See comments for CURRENT_DATE.
19203
A_Const *s = makeNode(A_Const);
19206
s->val.type = T_String;
19207
s->val.val.str = "now";
19208
s->typename = SystemTypeName("text");
19209
d = SystemTypeName("time");
19210
if (yyvsp[-1].ival < 0)
19212
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
19213
errmsg("LOCALTIME(%d) precision must not be negative",
19215
if (yyvsp[-1].ival > MAX_TIME_PRECISION)
19218
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
19219
errmsg("LOCALTIME(%d) precision reduced to maximum allowed, %d",
19220
yyvsp[-1].ival, MAX_TIME_PRECISION)));
19221
yyvsp[-1].ival = MAX_TIME_PRECISION;
19223
d->typmod = yyvsp[-1].ival;
19225
yyval.node = (Node *)makeTypeCast((Node *)s, d);
19230
#line 7193 "gram.y"
19233
* Translate as "'now'::text::timestamp".
19234
* See comments for CURRENT_DATE.
19236
A_Const *s = makeNode(A_Const);
19239
s->val.type = T_String;
19240
s->val.val.str = "now";
19241
s->typename = SystemTypeName("text");
19243
d = SystemTypeName("timestamp");
19245
yyval.node = (Node *)makeTypeCast((Node *)s, d);
19250
#line 7210 "gram.y"
19253
* Translate as "'now'::text::timestamp(n)".
19254
* See comments for CURRENT_DATE.
19256
A_Const *s = makeNode(A_Const);
19259
s->val.type = T_String;
19260
s->val.val.str = "now";
19261
s->typename = SystemTypeName("text");
19263
d = SystemTypeName("timestamp");
19264
if (yyvsp[-1].ival < 0)
19266
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
19267
errmsg("LOCALTIMESTAMP(%d) precision must not be negative",
19269
if (yyvsp[-1].ival > MAX_TIMESTAMP_PRECISION)
19272
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
19273
errmsg("LOCALTIMESTAMP(%d) precision reduced to maximum allowed, %d",
19274
yyvsp[-1].ival, MAX_TIMESTAMP_PRECISION)));
19275
yyvsp[-1].ival = MAX_TIMESTAMP_PRECISION;
19277
d->typmod = yyvsp[-1].ival;
19279
yyval.node = (Node *)makeTypeCast((Node *)s, d);
19284
#line 7241 "gram.y"
19286
FuncCall *n = makeNode(FuncCall);
19287
n->funcname = SystemFuncName("current_user");
19289
n->agg_star = FALSE;
19290
n->agg_distinct = FALSE;
19291
yyval.node = (Node *)n;
19296
#line 7250 "gram.y"
19298
FuncCall *n = makeNode(FuncCall);
19299
n->funcname = SystemFuncName("current_user");
19301
n->agg_star = FALSE;
19302
n->agg_distinct = FALSE;
19303
yyval.node = (Node *)n;
19308
#line 7259 "gram.y"
19310
FuncCall *n = makeNode(FuncCall);
19311
n->funcname = SystemFuncName("session_user");
19313
n->agg_star = FALSE;
19314
n->agg_distinct = FALSE;
19315
yyval.node = (Node *)n;
19320
#line 7268 "gram.y"
19322
FuncCall *n = makeNode(FuncCall);
19323
n->funcname = SystemFuncName("current_user");
19325
n->agg_star = FALSE;
19326
n->agg_distinct = FALSE;
19327
yyval.node = (Node *)n;
19332
#line 7277 "gram.y"
19333
{ yyval.node = makeTypeCast(yyvsp[-3].node, yyvsp[-1].typnam); }
19337
#line 7279 "gram.y"
19339
FuncCall *n = makeNode(FuncCall);
19340
n->funcname = SystemFuncName("date_part");
19341
n->args = yyvsp[-1].list;
19342
n->agg_star = FALSE;
19343
n->agg_distinct = FALSE;
19344
yyval.node = (Node *)n;
19349
#line 7288 "gram.y"
19351
/* overlay(A PLACING B FROM C FOR D) is converted to
19352
* substring(A, 1, C-1) || B || substring(A, C+1, C+D)
19353
* overlay(A PLACING B FROM C) is converted to
19354
* substring(A, 1, C-1) || B || substring(A, C+1, C+char_length(B))
19356
FuncCall *n = makeNode(FuncCall);
19357
n->funcname = SystemFuncName("overlay");
19358
n->args = yyvsp[-1].list;
19359
n->agg_star = FALSE;
19360
n->agg_distinct = FALSE;
19361
yyval.node = (Node *)n;
19366
#line 7302 "gram.y"
19368
/* position(A in B) is converted to position(B, A) */
19369
FuncCall *n = makeNode(FuncCall);
19370
n->funcname = SystemFuncName("position");
19371
n->args = yyvsp[-1].list;
19372
n->agg_star = FALSE;
19373
n->agg_distinct = FALSE;
19374
yyval.node = (Node *)n;
19379
#line 7312 "gram.y"
19381
/* substring(A from B for C) is converted to
19382
* substring(A, B, C) - thomas 2000-11-28
19384
FuncCall *n = makeNode(FuncCall);
19385
n->funcname = SystemFuncName("substring");
19386
n->args = yyvsp[-1].list;
19387
n->agg_star = FALSE;
19388
n->agg_distinct = FALSE;
19389
yyval.node = (Node *)n;
19394
#line 7324 "gram.y"
19396
/* TREAT(expr AS target) converts expr of a particular type to target,
19397
* which is defined to be a subtype of the original expression.
19398
* In SQL99, this is intended for use with structured UDTs,
19399
* but let's make this a generally useful form allowing stronger
19400
* coersions than are handled by implicit casting.
19402
FuncCall *n = makeNode(FuncCall);
19403
/* Convert SystemTypeName() to SystemFuncName() even though
19404
* at the moment they result in the same thing.
19406
n->funcname = SystemFuncName(((Value *)llast(yyvsp[-1].typnam->names))->val.str);
19407
n->args = list_make1(yyvsp[-3].node);
19408
yyval.node = (Node *)n;
19413
#line 7340 "gram.y"
19415
/* various trim expressions are defined in SQL92
19416
* - thomas 1997-07-19
19418
FuncCall *n = makeNode(FuncCall);
19419
n->funcname = SystemFuncName("btrim");
19420
n->args = yyvsp[-1].list;
19421
n->agg_star = FALSE;
19422
n->agg_distinct = FALSE;
19423
yyval.node = (Node *)n;
19428
#line 7352 "gram.y"
19430
FuncCall *n = makeNode(FuncCall);
19431
n->funcname = SystemFuncName("ltrim");
19432
n->args = yyvsp[-1].list;
19433
n->agg_star = FALSE;
19434
n->agg_distinct = FALSE;
19435
yyval.node = (Node *)n;
19440
#line 7361 "gram.y"
19442
FuncCall *n = makeNode(FuncCall);
19443
n->funcname = SystemFuncName("rtrim");
19444
n->args = yyvsp[-1].list;
19445
n->agg_star = FALSE;
19446
n->agg_distinct = FALSE;
19447
yyval.node = (Node *)n;
19452
#line 7370 "gram.y"
19454
FuncCall *n = makeNode(FuncCall);
19455
n->funcname = SystemFuncName("btrim");
19456
n->args = yyvsp[-1].list;
19457
n->agg_star = FALSE;
19458
n->agg_distinct = FALSE;
19459
yyval.node = (Node *)n;
19464
#line 7379 "gram.y"
19466
FuncCall *n = makeNode(FuncCall);
19467
A_Const *c = makeNode(A_Const);
19469
c->val.type = T_String;
19470
c->val.val.str = NameListToQuotedString(yyvsp[-1].list);
19472
n->funcname = SystemFuncName("convert_using");
19473
n->args = list_make2(yyvsp[-3].node, c);
19474
n->agg_star = FALSE;
19475
n->agg_distinct = FALSE;
19476
yyval.node = (Node *)n;
19481
#line 7393 "gram.y"
19483
FuncCall *n = makeNode(FuncCall);
19484
n->funcname = SystemFuncName("convert");
19485
n->args = yyvsp[-1].list;
19486
n->agg_star = FALSE;
19487
n->agg_distinct = FALSE;
19488
yyval.node = (Node *)n;
19493
#line 7402 "gram.y"
19495
yyval.node = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", yyvsp[-3].node, yyvsp[-1].node);
19500
#line 7406 "gram.y"
19502
CoalesceExpr *c = makeNode(CoalesceExpr);
19503
c->args = yyvsp[-1].list;
19504
yyval.node = (Node *)c;
19509
#line 7412 "gram.y"
19511
MinMaxExpr *v = makeNode(MinMaxExpr);
19512
v->args = yyvsp[-1].list;
19513
v->op = IS_GREATEST;
19514
yyval.node = (Node *)v;
19519
#line 7419 "gram.y"
19521
MinMaxExpr *v = makeNode(MinMaxExpr);
19522
v->args = yyvsp[-1].list;
19524
yyval.node = (Node *)v;
19529
#line 7437 "gram.y"
19530
{ yyval.list = yyvsp[-1].list; }
19534
#line 7438 "gram.y"
19535
{ yyval.list = NIL; }
19539
#line 7439 "gram.y"
19540
{ yyval.list = lappend(yyvsp[-3].list, yyvsp[-1].node); }
19544
#line 7442 "gram.y"
19545
{ yyval.ival = ANY_SUBLINK; }
19549
#line 7443 "gram.y"
19550
{ yyval.ival = ANY_SUBLINK; }
19554
#line 7444 "gram.y"
19555
{ yyval.ival = ALL_SUBLINK; }
19559
#line 7447 "gram.y"
19560
{ yyval.str = yyvsp[0].str; }
19564
#line 7448 "gram.y"
19565
{ yyval.str = yyvsp[0].str; }
19569
#line 7451 "gram.y"
19570
{ yyval.str = "+"; }
19574
#line 7452 "gram.y"
19575
{ yyval.str = "-"; }
19579
#line 7453 "gram.y"
19580
{ yyval.str = "*"; }
19584
#line 7454 "gram.y"
19585
{ yyval.str = "/"; }
19589
#line 7455 "gram.y"
19590
{ yyval.str = "%"; }
19594
#line 7456 "gram.y"
19595
{ yyval.str = "^"; }
19599
#line 7457 "gram.y"
19600
{ yyval.str = "<"; }
19604
#line 7458 "gram.y"
19605
{ yyval.str = ">"; }
19609
#line 7459 "gram.y"
19610
{ yyval.str = "="; }
19614
#line 7463 "gram.y"
19615
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
19619
#line 7465 "gram.y"
19620
{ yyval.list = yyvsp[-1].list; }
19624
#line 7470 "gram.y"
19625
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
19629
#line 7472 "gram.y"
19630
{ yyval.list = yyvsp[-1].list; }
19634
#line 7477 "gram.y"
19635
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
19639
#line 7479 "gram.y"
19640
{ yyval.list = yyvsp[-1].list; }
19644
#line 7481 "gram.y"
19645
{ yyval.list = list_make1(makeString("~~")); }
19649
#line 7483 "gram.y"
19650
{ yyval.list = list_make1(makeString("!~~")); }
19654
#line 7485 "gram.y"
19655
{ yyval.list = list_make1(makeString("~~*")); }
19659
#line 7487 "gram.y"
19660
{ yyval.list = list_make1(makeString("!~~*")); }
19664
#line 7499 "gram.y"
19666
yyval.list = list_make1(yyvsp[0].node);
19671
#line 7503 "gram.y"
19673
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
19678
#line 7510 "gram.y"
19680
A_Const *n = makeNode(A_Const);
19681
n->val.type = T_String;
19682
n->val.val.str = yyvsp[-2].str;
19683
yyval.list = list_make2((Node *) n, yyvsp[0].node);
19688
#line 7516 "gram.y"
19689
{ yyval.list = NIL; }
19693
#line 7520 "gram.y"
19695
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].typnam);
19700
#line 7524 "gram.y"
19702
yyval.list = list_make1(yyvsp[0].typnam);
19707
#line 7530 "gram.y"
19708
{ yyval.list = list_make1(yyvsp[0].node); }
19712
#line 7532 "gram.y"
19713
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); }
19717
#line 7536 "gram.y"
19719
ArrayExpr *n = makeNode(ArrayExpr);
19720
n->elements = yyvsp[-1].list;
19721
yyval.node = (Node *)n;
19726
#line 7542 "gram.y"
19728
ArrayExpr *n = makeNode(ArrayExpr);
19729
n->elements = yyvsp[-1].list;
19730
yyval.node = (Node *)n;
19735
#line 7554 "gram.y"
19736
{ yyval.str = yyvsp[0].str; }
19740
#line 7555 "gram.y"
19741
{ yyval.str = "year"; }
19745
#line 7556 "gram.y"
19746
{ yyval.str = "month"; }
19750
#line 7557 "gram.y"
19751
{ yyval.str = "day"; }
19755
#line 7558 "gram.y"
19756
{ yyval.str = "hour"; }
19760
#line 7559 "gram.y"
19761
{ yyval.str = "minute"; }
19765
#line 7560 "gram.y"
19766
{ yyval.str = "second"; }
19770
#line 7561 "gram.y"
19771
{ yyval.str = yyvsp[0].str; }
19775
#line 7571 "gram.y"
19777
yyval.list = list_make4(yyvsp[-3].node, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node);
19782
#line 7575 "gram.y"
19784
yyval.list = list_make3(yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node);
19789
#line 7582 "gram.y"
19790
{ yyval.node = yyvsp[0].node; }
19794
#line 7588 "gram.y"
19795
{ yyval.list = list_make2(yyvsp[0].node, yyvsp[-2].node); }
19799
#line 7589 "gram.y"
19800
{ yyval.list = NIL; }
19804
#line 7606 "gram.y"
19806
yyval.list = list_make3(yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node);
19811
#line 7610 "gram.y"
19813
/* not legal per SQL99, but might as well allow it */
19814
yyval.list = list_make3(yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].node);
19819
#line 7615 "gram.y"
19821
yyval.list = list_make2(yyvsp[-1].node, yyvsp[0].node);
19826
#line 7619 "gram.y"
19829
* Since there are no cases where this syntax allows
19830
* a textual FOR value, we forcibly cast the argument
19831
* to int4. This is a kluge to avoid surprising results
19832
* when the argument is, say, int8. It'd be better if
19833
* there were not an implicit cast from int8 to text ...
19835
A_Const *n = makeNode(A_Const);
19836
n->val.type = T_Integer;
19837
n->val.val.ival = 1;
19838
yyval.list = list_make3(yyvsp[-1].node, (Node *) n,
19839
makeTypeCast(yyvsp[0].node, SystemTypeName("int4")));
19844
#line 7634 "gram.y"
19846
yyval.list = yyvsp[0].list;
19851
#line 7638 "gram.y"
19852
{ yyval.list = NIL; }
19856
#line 7642 "gram.y"
19857
{ yyval.node = yyvsp[0].node; }
19861
#line 7645 "gram.y"
19862
{ yyval.node = yyvsp[0].node; }
19866
#line 7648 "gram.y"
19867
{ yyval.list = lappend(yyvsp[0].list, yyvsp[-2].node); }
19871
#line 7649 "gram.y"
19872
{ yyval.list = yyvsp[0].list; }
19876
#line 7650 "gram.y"
19877
{ yyval.list = yyvsp[0].list; }
19881
#line 7654 "gram.y"
19883
SubLink *n = makeNode(SubLink);
19884
n->subselect = yyvsp[0].node;
19885
/* other fields will be filled later */
19886
yyval.node = (Node *)n;
19891
#line 7660 "gram.y"
19892
{ yyval.node = (Node *)yyvsp[-1].list; }
19896
#line 7671 "gram.y"
19898
CaseExpr *c = makeNode(CaseExpr);
19899
c->casetype = 0; /* not analyzed yet */
19900
c->arg = (Expr *) yyvsp[-3].node;
19901
c->args = yyvsp[-2].list;
19902
c->defresult = (Expr *) yyvsp[-1].node;
19903
yyval.node = (Node *)c;
19908
#line 7683 "gram.y"
19909
{ yyval.list = list_make1(yyvsp[0].node); }
19913
#line 7684 "gram.y"
19914
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); }
19918
#line 7689 "gram.y"
19920
CaseWhen *w = makeNode(CaseWhen);
19921
w->expr = (Expr *) yyvsp[-2].node;
19922
w->result = (Expr *) yyvsp[0].node;
19923
yyval.node = (Node *)w;
19928
#line 7698 "gram.y"
19929
{ yyval.node = yyvsp[0].node; }
19933
#line 7699 "gram.y"
19934
{ yyval.node = NULL; }
19938
#line 7702 "gram.y"
19939
{ yyval.node = yyvsp[0].node; }
19943
#line 7703 "gram.y"
19944
{ yyval.node = NULL; }
19948
#line 7712 "gram.y"
19950
yyval.node = makeColumnRef(yyvsp[0].str, NIL);
19955
#line 7716 "gram.y"
19957
yyval.node = makeColumnRef(yyvsp[-1].str, yyvsp[0].list);
19962
#line 7723 "gram.y"
19964
yyval.node = (Node *) makeString(yyvsp[0].str);
19969
#line 7727 "gram.y"
19971
yyval.node = (Node *) makeString("*");
19976
#line 7731 "gram.y"
19978
A_Indices *ai = makeNode(A_Indices);
19980
ai->uidx = yyvsp[-1].node;
19981
yyval.node = (Node *) ai;
19986
#line 7738 "gram.y"
19988
A_Indices *ai = makeNode(A_Indices);
19989
ai->lidx = yyvsp[-3].node;
19990
ai->uidx = yyvsp[-1].node;
19991
yyval.node = (Node *) ai;
19996
#line 7747 "gram.y"
19997
{ yyval.list = list_make1(yyvsp[0].node); }
20001
#line 7748 "gram.y"
20002
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); }
20006
#line 7752 "gram.y"
20007
{ yyval.list = NIL; }
20011
#line 7753 "gram.y"
20012
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); }
20016
#line 7768 "gram.y"
20017
{ yyval.list = list_make1(yyvsp[0].target); }
20021
#line 7769 "gram.y"
20022
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].target); }
20026
#line 7774 "gram.y"
20028
yyval.target = makeNode(ResTarget);
20029
yyval.target->name = yyvsp[0].str;
20030
yyval.target->indirection = NIL;
20031
yyval.target->val = (Node *)yyvsp[-2].node;
20036
#line 7781 "gram.y"
20038
yyval.target = makeNode(ResTarget);
20039
yyval.target->name = NULL;
20040
yyval.target->indirection = NIL;
20041
yyval.target->val = (Node *)yyvsp[0].node;
20046
#line 7788 "gram.y"
20048
ColumnRef *n = makeNode(ColumnRef);
20049
n->fields = list_make1(makeString("*"));
20051
yyval.target = makeNode(ResTarget);
20052
yyval.target->name = NULL;
20053
yyval.target->indirection = NIL;
20054
yyval.target->val = (Node *)n;
20059
#line 7800 "gram.y"
20060
{ yyval.list = list_make1(yyvsp[0].target); }
20064
#line 7801 "gram.y"
20065
{ yyval.list = lappend(yyvsp[-2].list,yyvsp[0].target); }
20069
#line 7806 "gram.y"
20071
yyval.target = makeNode(ResTarget);
20072
yyval.target->name = yyvsp[-3].str;
20073
yyval.target->indirection = yyvsp[-2].list;
20074
yyval.target->val = (Node *) yyvsp[0].node;
20079
#line 7813 "gram.y"
20081
yyval.target = makeNode(ResTarget);
20082
yyval.target->name = yyvsp[-3].str;
20083
yyval.target->indirection = yyvsp[-2].list;
20084
yyval.target->val = (Node *) makeNode(SetToDefault);
20089
#line 7823 "gram.y"
20090
{ yyval.list = list_make1(yyvsp[0].target); }
20094
#line 7824 "gram.y"
20095
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].target); }
20099
#line 7829 "gram.y"
20101
yyval.target = makeNode(ResTarget);
20102
yyval.target->name = NULL;
20103
yyval.target->indirection = NIL;
20104
yyval.target->val = (Node *)yyvsp[0].node;
20109
#line 7836 "gram.y"
20111
yyval.target = makeNode(ResTarget);
20112
yyval.target->name = NULL;
20113
yyval.target->indirection = NIL;
20114
yyval.target->val = (Node *) makeNode(SetToDefault);
20119
#line 7852 "gram.y"
20120
{ yyval.str = yyvsp[0].str; }
20124
#line 7853 "gram.y"
20125
{ yyval.str = yyvsp[0].str; }
20129
#line 7857 "gram.y"
20130
{ yyval.list = list_make1(yyvsp[0].range); }
20134
#line 7858 "gram.y"
20135
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].range); }
20139
#line 7870 "gram.y"
20141
yyval.range = makeNode(RangeVar);
20142
yyval.range->catalogname = NULL;
20143
yyval.range->schemaname = NULL;
20144
yyval.range->relname = yyvsp[0].str;
20149
#line 7877 "gram.y"
20151
check_qualified_name(yyvsp[0].list);
20152
yyval.range = makeNode(RangeVar);
20153
switch (list_length(yyvsp[0].list))
20156
yyval.range->catalogname = NULL;
20157
yyval.range->schemaname = yyvsp[-1].str;
20158
yyval.range->relname = strVal(linitial(yyvsp[0].list));
20161
yyval.range->catalogname = yyvsp[-1].str;
20162
yyval.range->schemaname = strVal(linitial(yyvsp[0].list));
20163
yyval.range->relname = strVal(lsecond(yyvsp[0].list));
20167
(errcode(ERRCODE_SYNTAX_ERROR),
20168
errmsg("improper qualified name (too many dotted names): %s",
20169
NameListToString(lcons(makeString(yyvsp[-1].str), yyvsp[0].list)))));
20176
#line 7903 "gram.y"
20177
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
20181
#line 7905 "gram.y"
20182
{ yyval.list = lappend(yyvsp[-2].list, makeString(yyvsp[0].str)); }
20186
#line 7909 "gram.y"
20187
{ yyval.str = yyvsp[0].str; }
20191
#line 7912 "gram.y"
20192
{ yyval.str = yyvsp[0].str; }
20196
#line 7915 "gram.y"
20197
{ yyval.str = yyvsp[0].str; }
20201
#line 7917 "gram.y"
20202
{ yyval.str = yyvsp[0].str; }
20206
#line 7919 "gram.y"
20207
{ yyval.str = yyvsp[0].str; }
20211
#line 7921 "gram.y"
20212
{ yyval.str = yyvsp[0].str; }
20216
#line 7932 "gram.y"
20217
{ yyval.list = list_make1(makeString(yyvsp[0].str)); }
20221
#line 7934 "gram.y"
20222
{ yyval.list = check_func_name(lcons(makeString(yyvsp[-1].str), yyvsp[0].list)); }
20226
#line 7942 "gram.y"
20228
A_Const *n = makeNode(A_Const);
20229
n->val.type = T_Integer;
20230
n->val.val.ival = yyvsp[0].ival;
20231
yyval.node = (Node *)n;
20236
#line 7949 "gram.y"
20238
A_Const *n = makeNode(A_Const);
20239
n->val.type = T_Float;
20240
n->val.val.str = yyvsp[0].str;
20241
yyval.node = (Node *)n;
20246
#line 7956 "gram.y"
20248
A_Const *n = makeNode(A_Const);
20249
n->val.type = T_String;
20250
n->val.val.str = yyvsp[0].str;
20251
yyval.node = (Node *)n;
20256
#line 7963 "gram.y"
20258
A_Const *n = makeNode(A_Const);
20259
n->val.type = T_BitString;
20260
n->val.val.str = yyvsp[0].str;
20261
yyval.node = (Node *)n;
20266
#line 7970 "gram.y"
20268
/* This is a bit constant per SQL99:
20269
* Without Feature F511, "BIT data type",
20270
* a <general literal> shall not be a
20271
* <bit string literal> or a <hex string literal>.
20273
A_Const *n = makeNode(A_Const);
20274
n->val.type = T_BitString;
20275
n->val.val.str = yyvsp[0].str;
20276
yyval.node = (Node *)n;
20281
#line 7982 "gram.y"
20283
A_Const *n = makeNode(A_Const);
20284
n->typename = yyvsp[-1].typnam;
20285
n->val.type = T_String;
20286
n->val.val.str = yyvsp[0].str;
20287
yyval.node = (Node *)n;
20292
#line 7990 "gram.y"
20294
A_Const *n = makeNode(A_Const);
20295
n->typename = yyvsp[-2].typnam;
20296
n->val.type = T_String;
20297
n->val.val.str = yyvsp[-1].str;
20298
/* precision is not specified, but fields may be... */
20299
if (yyvsp[0].ival != INTERVAL_FULL_RANGE)
20300
n->typename->typmod = INTERVAL_TYPMOD(INTERVAL_FULL_PRECISION, yyvsp[0].ival);
20301
yyval.node = (Node *)n;
20306
#line 8001 "gram.y"
20308
A_Const *n = makeNode(A_Const);
20309
n->typename = yyvsp[-5].typnam;
20310
n->val.type = T_String;
20311
n->val.val.str = yyvsp[-1].str;
20312
/* precision specified, and fields may be... */
20313
if (yyvsp[-3].ival < 0)
20315
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
20316
errmsg("INTERVAL(%d) precision must not be negative",
20318
if (yyvsp[-3].ival > MAX_INTERVAL_PRECISION)
20321
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
20322
errmsg("INTERVAL(%d) precision reduced to maximum allowed, %d",
20323
yyvsp[-3].ival, MAX_INTERVAL_PRECISION)));
20324
yyvsp[-3].ival = MAX_INTERVAL_PRECISION;
20326
n->typename->typmod = INTERVAL_TYPMOD(yyvsp[-3].ival, yyvsp[0].ival);
20327
yyval.node = (Node *)n;
20332
#line 8024 "gram.y"
20334
yyval.node = (Node *)makeBoolAConst(TRUE);
20339
#line 8028 "gram.y"
20341
yyval.node = (Node *)makeBoolAConst(FALSE);
20346
#line 8032 "gram.y"
20348
A_Const *n = makeNode(A_Const);
20349
n->val.type = T_Null;
20350
yyval.node = (Node *)n;
20355
#line 8039 "gram.y"
20356
{ yyval.ival = yyvsp[0].ival; }
20360
#line 8040 "gram.y"
20361
{ yyval.str = yyvsp[0].str; }
20365
#line 8041 "gram.y"
20366
{ yyval.str = yyvsp[0].str; }
20370
#line 8043 "gram.y"
20371
{ yyval.ival = yyvsp[0].ival; }
20375
#line 8044 "gram.y"
20376
{ yyval.ival = - yyvsp[0].ival; }
20380
#line 8060 "gram.y"
20381
{ yyval.str = yyvsp[0].str; }
20385
#line 8061 "gram.y"
20386
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20390
#line 8062 "gram.y"
20391
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20395
#line 8067 "gram.y"
20396
{ yyval.str = yyvsp[0].str; }
20400
#line 8068 "gram.y"
20401
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20405
#line 8074 "gram.y"
20406
{ yyval.str = yyvsp[0].str; }
20410
#line 8075 "gram.y"
20411
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20415
#line 8076 "gram.y"
20416
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20420
#line 8082 "gram.y"
20421
{ yyval.str = yyvsp[0].str; }
20425
#line 8083 "gram.y"
20426
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20430
#line 8084 "gram.y"
20431
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20435
#line 8085 "gram.y"
20436
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20440
#line 8086 "gram.y"
20441
{ yyval.str = pstrdup(yyvsp[0].keyword); }
20445
#line 8476 "gram.y"
20448
yyval.str = "*OLD*";
20451
(errcode(ERRCODE_SYNTAX_ERROR),
20452
errmsg("OLD used in query that is not in a rule")));
20457
#line 8485 "gram.y"
20460
yyval.str = "*NEW*";
20463
(errcode(ERRCODE_SYNTAX_ERROR),
20464
errmsg("NEW used in query that is not in a rule")));
20471
/* Line 1000 of yacc.c. */
20472
#line 20473 "gram.c"
20478
YY_STACK_PRINT (yyss, yyssp);
20483
/* Now `shift' the result of the reduction. Determine what state
20484
that goes to, based on the state we popped back to and the rule
20485
number reduced by. */
20489
yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
20490
if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
20491
yystate = yytable[yystate];
20493
yystate = yydefgoto[yyn - YYNTOKENS];
20498
/*------------------------------------.
20499
| yyerrlab -- here on detecting error |
20500
`------------------------------------*/
20502
/* If not already recovering from an error, report this error. */
20506
#if YYERROR_VERBOSE
20507
yyn = yypact[yystate];
20509
if (YYPACT_NINF < yyn && yyn < YYLAST)
20511
YYSIZE_T yysize = 0;
20512
int yytype = YYTRANSLATE (yychar);
20513
const char* yyprefix;
20517
/* Start YYX at -YYN if negative to avoid negative indexes in
20519
int yyxbegin = yyn < 0 ? -yyn : 0;
20521
/* Stay within bounds of both yycheck and yytname. */
20522
int yychecklim = YYLAST - yyn;
20523
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
20526
yyprefix = ", expecting ";
20527
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
20528
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
20530
yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
20538
yysize += (sizeof ("syntax error, unexpected ")
20539
+ yystrlen (yytname[yytype]));
20540
yymsg = (char *) YYSTACK_ALLOC (yysize);
20543
char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
20544
yyp = yystpcpy (yyp, yytname[yytype]);
20548
yyprefix = ", expecting ";
20549
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
20550
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
20552
yyp = yystpcpy (yyp, yyprefix);
20553
yyp = yystpcpy (yyp, yytname[yyx]);
20558
YYSTACK_FREE (yymsg);
20561
yyerror ("syntax error; also virtual memory exhausted");
20564
#endif /* YYERROR_VERBOSE */
20565
yyerror ("syntax error");
20570
if (yyerrstatus == 3)
20572
/* If just tried and failed to reuse lookahead token after an
20573
error, discard it. */
20575
if (yychar <= YYEOF)
20577
/* If at end of input, pop the error token,
20578
then the rest of the stack, then return failure. */
20579
if (yychar == YYEOF)
20585
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
20586
yydestruct (yystos[*yyssp], yyvsp);
20591
YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
20592
yydestruct (yytoken, &yylval);
20598
/* Else will try to reuse lookahead token after shifting the error
20603
/*---------------------------------------------------.
20604
| yyerrorlab -- error raised explicitly by YYERROR. |
20605
`---------------------------------------------------*/
20609
/* Pacify GCC when the user code never invokes YYERROR and the label
20610
yyerrorlab therefore never appears in user code. */
20621
/*-------------------------------------------------------------.
20622
| yyerrlab1 -- common code for both syntax error and YYERROR. |
20623
`-------------------------------------------------------------*/
20625
yyerrstatus = 3; /* Each real token shifted decrements this. */
20629
yyn = yypact[yystate];
20630
if (yyn != YYPACT_NINF)
20633
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
20635
yyn = yytable[yyn];
20641
/* Pop the current state because it cannot handle the error token. */
20645
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
20646
yydestruct (yystos[yystate], yyvsp);
20649
YY_STACK_PRINT (yyss, yyssp);
20652
if (yyn == YYFINAL)
20655
YYDPRINTF ((stderr, "Shifting error token, "));
20664
/*-------------------------------------.
20665
| yyacceptlab -- YYACCEPT comes here. |
20666
`-------------------------------------*/
20671
/*-----------------------------------.
20672
| yyabortlab -- YYABORT comes here. |
20673
`-----------------------------------*/
20679
/*----------------------------------------------.
20680
| yyoverflowlab -- parser overflow comes here. |
20681
`----------------------------------------------*/
20683
yyerror ("parser stack overflow");
20685
/* Fall through. */
20691
YYSTACK_FREE (yyss);
20697
#line 8495 "gram.y"
20701
makeColumnRef(char *relname, List *indirection)
20704
* Generate a ColumnRef node, with an A_Indirection node added if there
20705
* is any subscripting in the specified indirection list. However,
20706
* any field selection at the start of the indirection list must be
20707
* transposed into the "fields" part of the ColumnRef node.
20709
ColumnRef *c = makeNode(ColumnRef);
20713
foreach(l, indirection)
20715
if (IsA(lfirst(l), A_Indices))
20717
A_Indirection *i = makeNode(A_Indirection);
20721
/* easy case - all indirection goes to A_Indirection */
20722
c->fields = list_make1(makeString(relname));
20723
i->indirection = indirection;
20727
/* got to split the list in two */
20728
i->indirection = list_copy_tail(indirection, nfields);
20729
indirection = list_truncate(indirection, nfields);
20730
c->fields = lcons(makeString(relname), indirection);
20732
i->arg = (Node *) c;
20737
/* No subscripting, so all indirection gets added to field list */
20738
c->fields = lcons(makeString(relname), indirection);
20743
makeTypeCast(Node *arg, TypeName *typename)
20746
* Simply generate a TypeCast node.
20748
* Earlier we would determine whether an A_Const would
20749
* be acceptable, however Domains require coerce_type()
20750
* to process them -- applying constraints as required.
20752
TypeCast *n = makeNode(TypeCast);
20754
n->typename = typename;
20759
makeStringConst(char *str, TypeName *typename)
20761
A_Const *n = makeNode(A_Const);
20763
n->val.type = T_String;
20764
n->val.val.str = str;
20765
n->typename = typename;
20771
makeIntConst(int val)
20773
A_Const *n = makeNode(A_Const);
20774
n->val.type = T_Integer;
20775
n->val.val.ival = val;
20776
n->typename = SystemTypeName("int4");
20782
makeFloatConst(char *str)
20784
A_Const *n = makeNode(A_Const);
20786
n->val.type = T_Float;
20787
n->val.val.str = str;
20788
n->typename = SystemTypeName("float8");
20794
makeAConst(Value *v)
20801
n = makeFloatConst(v->val.str);
20805
n = makeIntConst(v->val.ival);
20810
n = makeStringConst(v->val.str, NULL);
20818
* Create a DefElem node and set contents.
20819
* Could be moved to nodes/makefuncs.c if this is useful elsewhere.
20822
makeDefElem(char *name, Node *arg)
20824
DefElem *f = makeNode(DefElem);
20830
/* makeBoolAConst()
20831
* Create an A_Const node and initialize to a boolean constant.
20834
makeBoolAConst(bool state)
20836
A_Const *n = makeNode(A_Const);
20837
n->val.type = T_String;
20838
n->val.val.str = (state? "t": "f");
20839
n->typename = SystemTypeName("bool");
20843
/* makeRowNullTest()
20844
* Generate separate operator nodes for a single row descriptor test.
20846
* Eventually this should be eliminated in favor of making the NullTest
20847
* node type capable of handling it directly.
20850
makeRowNullTest(NullTestType test, RowExpr *row)
20852
Node *result = NULL;
20855
foreach(arg, row->args)
20859
n = makeNode(NullTest);
20860
n->arg = (Expr *) lfirst(arg);
20861
n->nulltesttype = test;
20863
if (result == NULL)
20864
result = (Node *) n;
20865
else if (test == IS_NOT_NULL)
20866
result = (Node *) makeA_Expr(AEXPR_OR, NIL, result, (Node *)n);
20868
result = (Node *) makeA_Expr(AEXPR_AND, NIL, result, (Node *)n);
20871
if (result == NULL)
20873
/* zero-length rows? Generate constant TRUE or FALSE */
20874
result = (Node *) makeBoolAConst(test == IS_NULL);
20881
* Create and populate a FuncCall node to support the OVERLAPS operator.
20884
makeOverlaps(List *largs, List *rargs)
20886
FuncCall *n = makeNode(FuncCall);
20887
n->funcname = SystemFuncName("overlaps");
20888
if (list_length(largs) == 1)
20889
largs = lappend(largs, largs);
20890
else if (list_length(largs) != 2)
20892
(errcode(ERRCODE_SYNTAX_ERROR),
20893
errmsg("wrong number of parameters on left side of OVERLAPS expression")));
20894
if (list_length(rargs) == 1)
20895
rargs = lappend(rargs, rargs);
20896
else if (list_length(rargs) != 2)
20898
(errcode(ERRCODE_SYNTAX_ERROR),
20899
errmsg("wrong number of parameters on right side of OVERLAPS expression")));
20900
n->args = list_concat(largs, rargs);
20901
n->agg_star = FALSE;
20902
n->agg_distinct = FALSE;
20906
/* check_qualified_name --- check the result of qualified_name production
20908
* It's easiest to let the grammar production for qualified_name allow
20909
* subscripts and '*', which we then must reject here.
20912
check_qualified_name(List *names)
20918
if (!IsA(lfirst(i), String))
20919
yyerror("syntax error");
20920
else if (strcmp(strVal(lfirst(i)), "*") == 0)
20921
yyerror("syntax error");
20925
/* check_func_name --- check the result of func_name production
20927
* It's easiest to let the grammar production for func_name allow subscripts
20928
* and '*', which we then must reject here.
20931
check_func_name(List *names)
20937
if (!IsA(lfirst(i), String))
20938
yyerror("syntax error");
20939
else if (strcmp(strVal(lfirst(i)), "*") == 0)
20940
yyerror("syntax error");
20945
/* extractArgTypes()
20946
* Given a list of FunctionParameter nodes, extract a list of just the
20947
* argument types (TypeNames) for input parameters only. This is what
20948
* is needed to look up an existing function, which is what is wanted by
20949
* the productions that use this call.
20952
extractArgTypes(List *parameters)
20954
List *result = NIL;
20957
foreach(i, parameters)
20959
FunctionParameter *p = (FunctionParameter *) lfirst(i);
20961
if (p->mode != FUNC_PARAM_OUT) /* keep if IN or INOUT */
20962
result = lappend(result, p->argType);
20967
/* findLeftmostSelect()
20968
* Find the leftmost component SelectStmt in a set-operation parsetree.
20970
static SelectStmt *
20971
findLeftmostSelect(SelectStmt *node)
20973
while (node && node->op != SETOP_NONE)
20978
/* insertSelectOptions()
20979
* Insert ORDER BY, etc into an already-constructed SelectStmt.
20981
* This routine is just to avoid duplicating code in SelectStmt productions.
20984
insertSelectOptions(SelectStmt *stmt,
20985
List *sortClause, Node *lockingClause,
20986
Node *limitOffset, Node *limitCount)
20989
* Tests here are to reject constructs like
20990
* (SELECT foo ORDER BY bar) ORDER BY baz
20994
if (stmt->sortClause)
20996
(errcode(ERRCODE_SYNTAX_ERROR),
20997
errmsg("multiple ORDER BY clauses not allowed")));
20998
stmt->sortClause = sortClause;
21002
if (stmt->lockingClause)
21004
(errcode(ERRCODE_SYNTAX_ERROR),
21005
errmsg("multiple FOR UPDATE/FOR SHARE clauses not allowed")));
21006
stmt->lockingClause = (LockingClause *) lockingClause;
21010
if (stmt->limitOffset)
21012
(errcode(ERRCODE_SYNTAX_ERROR),
21013
errmsg("multiple OFFSET clauses not allowed")));
21014
stmt->limitOffset = limitOffset;
21018
if (stmt->limitCount)
21020
(errcode(ERRCODE_SYNTAX_ERROR),
21021
errmsg("multiple LIMIT clauses not allowed")));
21022
stmt->limitCount = limitCount;
21027
makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
21029
SelectStmt *n = makeNode(SelectStmt);
21033
n->larg = (SelectStmt *) larg;
21034
n->rarg = (SelectStmt *) rarg;
21038
/* SystemFuncName()
21039
* Build a properly-qualified reference to a built-in function.
21042
SystemFuncName(char *name)
21044
return list_make1(makeString(name));
21047
/* SystemTypeName()
21048
* Build a properly-qualified reference to a built-in type.
21050
* typmod is defaulted, but may be changed afterwards by caller.
21053
SystemTypeName(char *name)
21055
TypeName *n = makeNode(TypeName);
21057
n->names = list_make1(makeString(name));
21063
* Initialize to parse one query string
21068
QueryIsRule = FALSE;
21071
/* exprIsNullConstant()
21072
* Test whether an a_expr is a plain NULL constant or not.
21075
exprIsNullConstant(Node *arg)
21077
if (arg && IsA(arg, A_Const))
21079
A_Const *con = (A_Const *) arg;
21081
if (con->val.type == T_Null &&
21082
con->typename == NULL)
21089
* Handle negation of a numeric constant.
21091
* Formerly, we did this here because the optimizer couldn't cope with
21092
* indexquals that looked like "var = -4" --- it wants "var = const"
21093
* and a unary minus operator applied to a constant didn't qualify.
21094
* As of Postgres 7.0, that problem doesn't exist anymore because there
21095
* is a constant-subexpression simplifier in the optimizer. However,
21096
* there's still a good reason for doing this here, which is that we can
21097
* postpone committing to a particular internal representation for simple
21098
* negative constants. It's better to leave "-123.456" in string form
21099
* until we know what the desired type is.
21104
if (IsA(n, A_Const))
21106
A_Const *con = (A_Const *)n;
21108
if (con->val.type == T_Integer)
21110
con->val.val.ival = -con->val.val.ival;
21113
if (con->val.type == T_Float)
21115
doNegateFloat(&con->val);
21120
return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n);
21124
doNegateFloat(Value *v)
21126
char *oldval = v->val.str;
21128
if (*oldval == '+')
21130
if (*oldval == '-')
21131
v->val.str = oldval+1; /* just strip the '-' */
21134
char *newval = (char *) palloc(strlen(oldval) + 2);
21137
strcpy(newval+1, oldval);
21138
v->val.str = newval;