5c82b2f16517bec8257808652e3ebedb92815b89
[sdk] / compiler / libec / src / grammar.ec
1 /* A Bison parser, made by GNU Bison 2.4.2.  */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4    
5       Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6    Foundation, Inc.
7    
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30    
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35    simplifying the original so-called "semantic" parser.  */
36
37 /* All symbols defined below should begin with yy or YY, to avoid
38    infringing on user name space.  This should be done even for local
39    variables, as they might otherwise be expanded by user macros.
40    There are some unavoidable exceptions within include files to
41    define necessary library symbols; they are noted "INFRINGES ON
42    USER NAME SPACE" below.  */
43
44 /* Identify Bison output.  */
45 #define YYBISON 1
46
47 /* Bison version.  */
48 #define YYBISON_VERSION "2.4.2"
49
50 /* Skeleton name.  */
51 #define YYSKELETON_NAME "yacc.c"
52
53 /* Pure parsers.  */
54 #define YYPURE 0
55
56 /* Push parsers.  */
57 #define YYPUSH 0
58
59 /* Pull parsers.  */
60 #define YYPULL 1
61
62 /* Using locations.  */
63 #define YYLSP_NEEDED 1
64
65
66
67 /* Copy the first part of user declarations.  */
68
69 /* Line 189 of yacc.c  */
70 #line 1 "grammar.y"
71
72 import "ecdefs"
73
74 #define YYLTYPE Location
75 #include "grammar.h"
76
77 #ifndef YYLLOC_DEFAULT
78 # define YYLLOC_DEFAULT(Current, Rhs, N)         \
79   (Current).start = (Rhs)[1].start;      \
80   (Current).end = (Rhs)[N].end;
81 #endif
82
83 #define PRECOMPILER
84 extern File fileInput;
85 extern char * yytext;
86 OldList * ast;
87 int yylex();
88 int yyerror();
89 bool guess;
90 bool deleteWatchable = false;
91
92 #define MAX_STRUCT_LEVELS     256
93 AccessMode memberAccessStack[MAX_STRUCT_LEVELS];
94 int defaultMemberAccess = -1;
95
96 #define POP_DEFAULT_ACCESS    if(defaultMemberAccess > -1) defaultMemberAccess--;
97
98 #define C89_DECL_WARNING            $"eC expects all declarations to precede statements in the block (C89 style)\n"
99 #define CASE_LABELED_STMT_WARNING   $"labeled statement directly within a case statement\n"
100
101 #define uint _uint
102 default:
103
104
105
106 /* Line 189 of yacc.c  */
107 #line 108 "grammar.ec"
108
109 /* Enabling traces.  */
110 #ifndef YYDEBUG
111 # define YYDEBUG 1
112 #endif
113
114 /* Enabling verbose error messages.  */
115 #ifdef YYERROR_VERBOSE
116 # undef YYERROR_VERBOSE
117 # define YYERROR_VERBOSE 1
118 #else
119 # define YYERROR_VERBOSE 0
120 #endif
121
122 /* Enabling the token table.  */
123 #ifndef YYTOKEN_TABLE
124 # define YYTOKEN_TABLE 0
125 #endif
126
127
128 /* Tokens.  */
129 #ifndef YYTOKENTYPE
130 # define YYTOKENTYPE
131    /* Put the tokens into the symbol table, so that GDB and other debuggers
132       know about them.  */
133    enum yytokentype {
134      IDENTIFIER = 258,
135      CONSTANT = 259,
136      STRING_LITERAL = 260,
137      SIZEOF = 261,
138      PTR_OP = 262,
139      INC_OP = 263,
140      DEC_OP = 264,
141      LEFT_OP = 265,
142      RIGHT_OP = 266,
143      LE_OP = 267,
144      GE_OP = 268,
145      EQ_OP = 269,
146      NE_OP = 270,
147      AND_OP = 271,
148      OR_OP = 272,
149      MUL_ASSIGN = 273,
150      DIV_ASSIGN = 274,
151      MOD_ASSIGN = 275,
152      ADD_ASSIGN = 276,
153      SUB_ASSIGN = 277,
154      LEFT_ASSIGN = 278,
155      RIGHT_ASSIGN = 279,
156      AND_ASSIGN = 280,
157      XOR_ASSIGN = 281,
158      OR_ASSIGN = 282,
159      TYPE_NAME = 283,
160      TYPEDEF = 284,
161      EXTERN = 285,
162      STATIC = 286,
163      AUTO = 287,
164      REGISTER = 288,
165      CHAR = 289,
166      SHORT = 290,
167      INT = 291,
168      UINT = 292,
169      INT64 = 293,
170      LONG = 294,
171      SIGNED = 295,
172      UNSIGNED = 296,
173      FLOAT = 297,
174      DOUBLE = 298,
175      CONST = 299,
176      VOLATILE = 300,
177      VOID = 301,
178      VALIST = 302,
179      STRUCT = 303,
180      UNION = 304,
181      ENUM = 305,
182      ELLIPSIS = 306,
183      CASE = 307,
184      DEFAULT = 308,
185      IF = 309,
186      SWITCH = 310,
187      WHILE = 311,
188      DO = 312,
189      FOR = 313,
190      GOTO = 314,
191      CONTINUE = 315,
192      BREAK = 316,
193      RETURN = 317,
194      IFX = 318,
195      ELSE = 319,
196      CLASS = 320,
197      THISCLASS = 321,
198      CLASS_NAME = 322,
199      PROPERTY = 323,
200      SETPROP = 324,
201      GETPROP = 325,
202      NEWOP = 326,
203      RENEW = 327,
204      DELETE = 328,
205      EXT_DECL = 329,
206      EXT_STORAGE = 330,
207      IMPORT = 331,
208      DEFINE = 332,
209      VIRTUAL = 333,
210      ATTRIB = 334,
211      PUBLIC = 335,
212      PRIVATE = 336,
213      TYPED_OBJECT = 337,
214      ANY_OBJECT = 338,
215      _INCREF = 339,
216      EXTENSION = 340,
217      ASM = 341,
218      TYPEOF = 342,
219      WATCH = 343,
220      STOPWATCHING = 344,
221      FIREWATCHERS = 345,
222      WATCHABLE = 346,
223      CLASS_DESIGNER = 347,
224      CLASS_NO_EXPANSION = 348,
225      CLASS_FIXED = 349,
226      ISPROPSET = 350,
227      CLASS_DEFAULT_PROPERTY = 351,
228      PROPERTY_CATEGORY = 352,
229      CLASS_DATA = 353,
230      CLASS_PROPERTY = 354,
231      SUBCLASS = 355,
232      NAMESPACE = 356,
233      NEW0OP = 357,
234      RENEW0 = 358,
235      VAARG = 359,
236      DBTABLE = 360,
237      DBFIELD = 361,
238      DBINDEX = 362,
239      DATABASE_OPEN = 363,
240      ALIGNOF = 364,
241      ATTRIB_DEP = 365,
242      __ATTRIB = 366,
243      BOOL = 367,
244      _BOOL = 368,
245      _COMPLEX = 369,
246      _IMAGINARY = 370,
247      RESTRICT = 371,
248      THREAD = 372,
249      WIDE_STRING_LITERAL = 373
250    };
251 #endif
252
253
254
255 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
256 typedef union YYSTYPE
257 {
258
259 /* Line 214 of yacc.c  */
260 #line 38 "grammar.y"
261
262    SpecifierType specifierType;
263    int i;
264    AccessMode declMode;
265    Identifier id;
266    Expression exp;
267    Specifier specifier;
268    OldList * list;
269    Enumerator enumerator;
270    Declarator declarator;
271    Pointer pointer;
272    Initializer initializer;
273    InitDeclarator initDeclarator;
274    TypeName typeName;
275    Declaration declaration;
276    Statement stmt;
277    FunctionDefinition function;
278    External external;
279    Context context;
280    AsmField asmField;
281    Attrib attrib;
282    ExtDecl extDecl;
283    Attribute attribute;
284
285    Instantiation instance;
286    MembersInit membersInit;
287    MemberInit memberInit;
288    ClassFunction classFunction;
289    ClassDefinition _class;
290    ClassDef classDef;
291    PropertyDef prop;
292    char * string;
293    Symbol symbol;
294    PropertyWatch propertyWatch;
295    TemplateParameter templateParameter;
296    TemplateArgument templateArgument;
297    TemplateDatatype templateDatatype;
298
299    DBTableEntry dbtableEntry;
300    DBIndexItem dbindexItem;
301    DBTableDef dbtableDef;
302
303
304
305 /* Line 214 of yacc.c  */
306 #line 307 "grammar.ec"
307 } YYSTYPE;
308 # define YYSTYPE_IS_TRIVIAL 1
309 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
310 # define YYSTYPE_IS_DECLARED 1
311 #endif
312
313 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
314 typedef struct YYLTYPE
315 {
316   int first_line;
317   int first_column;
318   int last_line;
319   int last_column;
320 } YYLTYPE;
321 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
322 # define YYLTYPE_IS_DECLARED 1
323 # define YYLTYPE_IS_TRIVIAL 1
324 #endif
325
326
327 /* Copy the second part of user declarations.  */
328
329
330 /* Line 264 of yacc.c  */
331 #line 332 "grammar.ec"
332
333 #ifdef short
334 # undef short
335 #endif
336
337 #ifdef YYTYPE_UINT8
338 typedef YYTYPE_UINT8 yytype_uint8;
339 #else
340 typedef unsigned char yytype_uint8;
341 #endif
342
343 #ifdef YYTYPE_INT8
344 typedef YYTYPE_INT8 yytype_int8;
345 #elif (defined __STDC__ || defined __C99__FUNC__ \
346      || defined __cplusplus || defined _MSC_VER)
347 typedef signed char yytype_int8;
348 #else
349 typedef short int yytype_int8;
350 #endif
351
352 #ifdef YYTYPE_UINT16
353 typedef YYTYPE_UINT16 yytype_uint16;
354 #else
355 typedef unsigned short int yytype_uint16;
356 #endif
357
358 #ifdef YYTYPE_INT16
359 typedef YYTYPE_INT16 yytype_int16;
360 #else
361 typedef short int yytype_int16;
362 #endif
363
364 #ifndef YYSIZE_T
365 # ifdef __SIZE_TYPE__
366 #  define YYSIZE_T __SIZE_TYPE__
367 # elif defined size_t
368 #  define YYSIZE_T size_t
369 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
370      || defined __cplusplus || defined _MSC_VER)
371 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
372 #  define YYSIZE_T size_t
373 # else
374 #  define YYSIZE_T unsigned int
375 # endif
376 #endif
377
378 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
379
380 #ifndef YY_
381 # if defined YYENABLE_NLS && YYENABLE_NLS
382 #  if ENABLE_NLS
383 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
384 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
385 #  endif
386 # endif
387 # ifndef YY_
388 #  define YY_(msgid) msgid
389 # endif
390 #endif
391
392 /* Suppress unused-variable warnings by "using" E.  */
393 #if ! defined lint || defined __GNUC__
394 # define YYUSE(e) ((void) (e))
395 #else
396 # define YYUSE(e) /* empty */
397 #endif
398
399 /* Identity function, used to suppress warnings about constant conditions.  */
400 #ifndef lint
401 # define YYID(n) (n)
402 #else
403 #if (defined __STDC__ || defined __C99__FUNC__ \
404      || defined __cplusplus || defined _MSC_VER)
405 static int
406 YYID (int yyi)
407 #else
408 static int
409 YYID (yyi)
410     int yyi;
411 #endif
412 {
413   return yyi;
414 }
415 #endif
416
417 #if ! defined yyoverflow || YYERROR_VERBOSE
418
419 /* The parser invokes alloca or malloc; define the necessary symbols.  */
420
421 # ifdef YYSTACK_USE_ALLOCA
422 #  if YYSTACK_USE_ALLOCA
423 #   ifdef __GNUC__
424 #    define YYSTACK_ALLOC __builtin_alloca
425 #   elif defined __BUILTIN_VA_ARG_INCR
426 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
427 #   elif defined _AIX
428 #    define YYSTACK_ALLOC __alloca
429 #   elif defined _MSC_VER
430 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
431 #    define alloca _alloca
432 #   else
433 #    define YYSTACK_ALLOC alloca
434 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
435      || defined __cplusplus || defined _MSC_VER)
436 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
437 #     ifndef _STDLIB_H
438 #      define _STDLIB_H 1
439 #     endif
440 #    endif
441 #   endif
442 #  endif
443 # endif
444
445 # ifdef YYSTACK_ALLOC
446    /* Pacify GCC's `empty if-body' warning.  */
447 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
448 #  ifndef YYSTACK_ALLOC_MAXIMUM
449     /* The OS might guarantee only one guard page at the bottom of the stack,
450        and a page size can be as small as 4096 bytes.  So we cannot safely
451        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
452        to allow for a few compiler-allocated temporary stack slots.  */
453 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
454 #  endif
455 # else
456 #  define YYSTACK_ALLOC YYMALLOC
457 #  define YYSTACK_FREE YYFREE
458 #  ifndef YYSTACK_ALLOC_MAXIMUM
459 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
460 #  endif
461 #  if (defined __cplusplus && ! defined _STDLIB_H \
462        && ! ((defined YYMALLOC || defined malloc) \
463              && (defined YYFREE || defined free)))
464 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
465 #   ifndef _STDLIB_H
466 #    define _STDLIB_H 1
467 #   endif
468 #  endif
469 #  ifndef YYMALLOC
470 #   define YYMALLOC malloc
471 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
472      || defined __cplusplus || defined _MSC_VER)
473 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
474 #   endif
475 #  endif
476 #  ifndef YYFREE
477 #   define YYFREE free
478 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
479      || defined __cplusplus || defined _MSC_VER)
480 void free (void *); /* INFRINGES ON USER NAME SPACE */
481 #   endif
482 #  endif
483 # endif
484 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
485
486
487 #if (! defined yyoverflow \
488      && (! defined __cplusplus \
489          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
490              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
491
492 /* A type that is properly aligned for any stack member.  */
493 union yyalloc
494 {
495   yytype_int16 yyss_alloc;
496   YYSTYPE yyvs_alloc;
497   YYLTYPE yyls_alloc;
498 };
499
500 /* The size of the maximum gap between one aligned stack and the next.  */
501 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
502
503 /* The size of an array large to enough to hold all stacks, each with
504    N elements.  */
505 # define YYSTACK_BYTES(N) \
506      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
507       + 2 * YYSTACK_GAP_MAXIMUM)
508
509 /* Copy COUNT objects from FROM to TO.  The source and destination do
510    not overlap.  */
511 # ifndef YYCOPY
512 #  if defined __GNUC__ && 1 < __GNUC__
513 #   define YYCOPY(To, From, Count) \
514       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
515 #  else
516 #   define YYCOPY(To, From, Count)              \
517       do                                        \
518         {                                       \
519           YYSIZE_T yyi;                         \
520           for (yyi = 0; yyi < (Count); yyi++)   \
521             (To)[yyi] = (From)[yyi];            \
522         }                                       \
523       while (YYID (0))
524 #  endif
525 # endif
526
527 /* Relocate STACK from its old location to the new one.  The
528    local variables YYSIZE and YYSTACKSIZE give the old and new number of
529    elements in the stack, and YYPTR gives the new location of the
530    stack.  Advance YYPTR to a properly aligned location for the next
531    stack.  */
532 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
533     do                                                                  \
534       {                                                                 \
535         YYSIZE_T yynewbytes;                                            \
536         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
537         Stack = &yyptr->Stack_alloc;                                    \
538         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
539         yyptr += yynewbytes / sizeof (*yyptr);                          \
540       }                                                                 \
541     while (YYID (0))
542
543 #endif
544
545 /* YYFINAL -- State number of the termination state.  */
546 #define YYFINAL  295
547 /* YYLAST -- Last index in YYTABLE.  */
548 #define YYLAST   41266
549
550 /* YYNTOKENS -- Number of terminals.  */
551 #define YYNTOKENS  144
552 /* YYNNTS -- Number of nonterminals.  */
553 #define YYNNTS  257
554 /* YYNRULES -- Number of rules.  */
555 #define YYNRULES  1308
556 /* YYNRULES -- Number of states.  */
557 #define YYNSTATES  2168
558
559 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
560 #define YYUNDEFTOK  2
561 #define YYMAXUTOK   373
562
563 #define YYTRANSLATE(YYX)                                                \
564   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
565
566 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
567 static const yytype_uint8 yytranslate[] =
568 {
569        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
570        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
571        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
572        2,     2,     2,   138,     2,     2,   132,   140,   135,     2,
573      122,   123,   119,   136,   127,   137,   130,   139,     2,     2,
574        2,     2,     2,     2,     2,     2,     2,     2,   131,   125,
575      120,   126,   121,   143,     2,     2,     2,     2,     2,     2,
576        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
577        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
578        2,   133,     2,   134,   141,     2,     2,     2,     2,     2,
579        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
580        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
581        2,     2,     2,   129,   142,   128,   124,     2,     2,     2,
582        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
583        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
584        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
585        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
586        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
587        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
588        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
589        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
590        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
591        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
592        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
593        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
594        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
595        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
596       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
597       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
598       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
599       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
600       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
601       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
602       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
603       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
604       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
605      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
606      115,   116,   117,   118
607 };
608
609 #if YYDEBUG
610 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
611    YYRHS.  */
612 static const yytype_uint16 yyprhs[] =
613 {
614        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
615       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
616       60,    63,    66,    69,    72,    75,    78,    81,    85,    88,
617       90,    93,    95,    98,   101,   104,   107,   110,   113,   115,
618      117,   121,   123,   127,   131,   133,   135,   139,   143,   145,
619      149,   153,   157,   161,   163,   166,   169,   171,   173,   176,
620      179,   182,   185,   188,   191,   193,   195,   197,   200,   203,
621      205,   208,   211,   214,   217,   219,   222,   225,   229,   234,
622      240,   245,   249,   254,   257,   261,   266,   272,   277,   281,
623      286,   292,   298,   303,   306,   310,   314,   318,   322,   325,
624      330,   334,   338,   341,   346,   350,   353,   357,   360,   364,
625      367,   369,   372,   376,   380,   384,   387,   389,   393,   397,
626      399,   403,   407,   410,   415,   421,   425,   430,   434,   436,
627      440,   444,   448,   451,   455,   458,   463,   469,   473,   478,
628      482,   484,   488,   492,   495,   497,   500,   503,   506,   508,
629      511,   517,   525,   535,   542,   551,   556,   563,   565,   568,
630      572,   577,   580,   583,   585,   587,   590,   593,   595,   597,
631      599,   601,   609,   611,   614,   619,   621,   623,   626,   630,
632      633,   636,   639,   643,   645,   648,   651,   654,   656,   658,
633      660,   663,   666,   669,   673,   677,   679,   681,   684,   687,
634      689,   692,   695,   698,   701,   703,   706,   708,   711,   714,
635      719,   724,   731,   734,   739,   744,   751,   753,   755,   759,
636      761,   766,   772,   774,   776,   778,   780,   784,   786,   788,
637      790,   794,   798,   802,   804,   808,   810,   813,   816,   820,
638      824,   830,   836,   843,   850,   853,   856,   860,   864,   868,
639      872,   876,   880,   884,   888,   892,   896,   900,   902,   904,
640      908,   910,   913,   918,   920,   922,   924,   929,   934,   940,
641      949,   952,   954,   956,   958,   961,   968,   975,   981,   987,
642      994,  1001,  1007,  1013,  1021,  1029,  1036,  1043,  1051,  1059,
643     1066,  1073,  1078,  1084,  1089,  1096,  1101,  1103,  1105,  1107,
644     1109,  1113,  1116,  1118,  1121,  1124,  1127,  1129,  1134,  1139,
645     1143,  1148,  1153,  1157,  1161,  1164,  1167,  1172,  1177,  1181,
646     1186,  1190,  1194,  1197,  1200,  1202,  1204,  1208,  1212,  1214,
647     1216,  1220,  1224,  1227,  1230,  1233,  1236,  1239,  1242,  1247,
648     1253,  1259,  1262,  1267,  1269,  1271,  1273,  1275,  1277,  1279,
649     1281,  1283,  1285,  1287,  1289,  1294,  1296,  1300,  1304,  1308,
650     1312,  1316,  1320,  1322,  1326,  1330,  1334,  1338,  1340,  1344,
651     1348,  1352,  1356,  1359,  1361,  1364,  1368,  1372,  1376,  1380,
652     1384,  1388,  1392,  1394,  1398,  1402,  1406,  1410,  1414,  1418,
653     1422,  1426,  1428,  1432,  1436,  1440,  1444,  1446,  1450,  1454,
654     1458,  1462,  1464,  1468,  1472,  1476,  1480,  1482,  1486,  1490,
655     1492,  1496,  1500,  1502,  1508,  1514,  1520,  1526,  1532,  1538,
656     1544,  1550,  1556,  1562,  1568,  1574,  1580,  1586,  1592,  1598,
657     1600,  1604,  1608,  1612,  1616,  1620,  1624,  1628,  1632,  1634,
658     1636,  1638,  1640,  1642,  1644,  1646,  1648,  1650,  1652,  1654,
659     1656,  1660,  1664,  1667,  1669,  1673,  1677,  1679,  1681,  1684,
660     1687,  1691,  1695,  1699,  1703,  1707,  1711,  1715,  1718,  1721,
661     1724,  1727,  1730,  1736,  1743,  1750,  1753,  1759,  1761,  1763,
662     1765,  1770,  1772,  1776,  1780,  1784,  1788,  1792,  1796,  1798,
663     1802,  1806,  1810,  1814,  1816,  1820,  1824,  1828,  1832,  1834,
664     1837,  1841,  1845,  1849,  1853,  1857,  1861,  1865,  1867,  1871,
665     1875,  1879,  1883,  1887,  1891,  1895,  1899,  1901,  1905,  1909,
666     1913,  1917,  1919,  1923,  1927,  1931,  1935,  1937,  1941,  1945,
667     1949,  1953,  1955,  1959,  1963,  1965,  1969,  1973,  1975,  1981,
668     1987,  1993,  1999,  2004,  2009,  2014,  2019,  2025,  2031,  2037,
669     2043,  2048,  2053,  2058,  2063,  2069,  2075,  2081,  2087,  2093,
670     2099,  2105,  2111,  2115,  2119,  2122,  2125,  2127,  2131,  2135,
671     2139,  2143,  2145,  2148,  2152,  2156,  2159,  2162,  2165,  2167,
672     2170,  2174,  2178,  2180,  2182,  2184,  2186,  2188,  2190,  2192,
673     2194,  2196,  2198,  2200,  2202,  2204,  2206,  2208,  2210,  2212,
674     2216,  2220,  2222,  2226,  2229,  2231,  2234,  2237,  2240,  2245,
675     2250,  2254,  2258,  2263,  2269,  2274,  2281,  2288,  2293,  2299,
676     2304,  2311,  2318,  2324,  2330,  2333,  2336,  2339,  2345,  2349,
677     2355,  2362,  2368,  2376,  2384,  2393,  2402,  2410,  2418,  2422,
678     2426,  2430,  2435,  2439,  2445,  2451,  2458,  2466,  2473,  2478,
679     2480,  2482,  2484,  2486,  2488,  2490,  2492,  2494,  2496,  2499,
680     2501,  2503,  2505,  2507,  2509,  2511,  2513,  2515,  2517,  2519,
681     2521,  2523,  2525,  2527,  2529,  2531,  2536,  2541,  2546,  2548,
682     2550,  2552,  2554,  2556,  2558,  2560,  2562,  2564,  2566,  2568,
683     2570,  2572,  2574,  2576,  2578,  2580,  2582,  2584,  2586,  2588,
684     2590,  2592,  2594,  2596,  2598,  2600,  2605,  2610,  2615,  2617,
685     2619,  2622,  2625,  2629,  2635,  2638,  2642,  2648,  2654,  2660,
686     2662,  2666,  2669,  2672,  2676,  2680,  2683,  2687,  2691,  2696,
687     2700,  2704,  2708,  2712,  2716,  2720,  2725,  2730,  2735,  2737,
688     2739,  2744,  2748,  2751,  2755,  2759,  2763,  2767,  2771,  2775,
689     2779,  2783,  2787,  2791,  2795,  2799,  2801,  2803,  2805,  2808,
690     2810,  2813,  2815,  2818,  2820,  2823,  2825,  2828,  2830,  2833,
691     2835,  2838,  2840,  2843,  2845,  2848,  2850,  2853,  2855,  2858,
692     2860,  2863,  2865,  2868,  2870,  2873,  2875,  2878,  2880,  2883,
693     2885,  2888,  2890,  2893,  2895,  2898,  2900,  2903,  2905,  2908,
694     2910,  2913,  2915,  2918,  2920,  2923,  2925,  2928,  2930,  2933,
695     2935,  2937,  2939,  2942,  2944,  2947,  2949,  2952,  2954,  2957,
696     2962,  2968,  2970,  2972,  2974,  2977,  2979,  2982,  2984,  2987,
697     2989,  2992,  2997,  3003,  3005,  3008,  3010,  3013,  3015,  3018,
698     3020,  3023,  3025,  3028,  3030,  3033,  3038,  3044,  3046,  3049,
699     3051,  3054,  3056,  3059,  3061,  3064,  3066,  3069,  3071,  3074,
700     3079,  3085,  3089,  3093,  3095,  3099,  3103,  3107,  3111,  3113,
701     3115,  3117,  3122,  3127,  3132,  3136,  3141,  3146,  3151,  3155,
702     3157,  3161,  3166,  3170,  3175,  3180,  3185,  3190,  3194,  3197,
703     3201,  3205,  3209,  3213,  3216,  3219,  3222,  3226,  3231,  3233,
704     3235,  3238,  3242,  3246,  3250,  3254,  3257,  3260,  3263,  3267,
705     3272,  3274,  3276,  3278,  3280,  3282,  3287,  3289,  3291,  3293,
706     3295,  3297,  3299,  3301,  3303,  3305,  3310,  3312,  3315,  3319,
707     3326,  3332,  3336,  3341,  3344,  3348,  3352,  3356,  3360,  3365,
708     3370,  3375,  3378,  3382,  3386,  3390,  3395,  3400,  3404,  3409,
709     3412,  3416,  3420,  3424,  3429,  3434,  3436,  3439,  3442,  3446,
710     3448,  3450,  3453,  3456,  3460,  3462,  3464,  3467,  3470,  3474,
711     3476,  3479,  3483,  3486,  3489,  3491,  3494,  3498,  3501,  3503,
712     3506,  3510,  3514,  3516,  3519,  3523,  3527,  3529,  3532,  3536,
713     3540,  3542,  3545,  3549,  3553,  3555,  3558,  3562,  3566,  3568,
714     3572,  3577,  3579,  3584,  3587,  3593,  3597,  3599,  3601,  3603,
715     3605,  3607,  3609,  3613,  3617,  3620,  3623,  3625,  3627,  3631,
716     3634,  3638,  3640,  3644,  3648,  3652,  3656,  3660,  3662,  3665,
717     3669,  3673,  3675,  3678,  3680,  3683,  3686,  3689,  3692,  3696,
718     3698,  3700,  3704,  3708,  3710,  3714,  3719,  3723,  3728,  3732,
719     3736,  3741,  3745,  3750,  3752,  3756,  3760,  3765,  3769,  3773,
720     3777,  3782,  3784,  3788,  3792,  3796,  3800,  3804,  3806,  3810,
721     3813,  3815,  3817,  3819,  3821,  3823,  3826,  3828,  3830,  3832,
722     3834,  3837,  3840,  3843,  3845,  3847,  3849,  3851,  3853,  3856,
723     3858,  3860,  3865,  3873,  3875,  3879,  3880,  3887,  3896,  3907,
724     3920,  3929,  3940,  3951,  3957,  3965,  3975,  3987,  3995,  4005,
725     4015,  4019,  4024,  4029,  4033,  4037,  4041,  4046,  4051,  4055,
726     4059,  4063,  4068,  4073,  4077,  4080,  4084,  4087,  4091,  4096,
727     4101,  4105,  4109,  4111,  4113,  4115,  4117,  4119,  4122,  4126,
728     4129,  4132,  4135,  4139,  4143,  4146,  4152,  4159,  4162,  4165,
729     4168,  4171,  4174,  4177,  4179,  4182,  4185,  4189,  4191,  4194,
730     4196,  4199,  4202,  4204,  4207,  4210,  4213,  4216,  4219,  4222,
731     4224,  4226,  4229,  4232,  4234,  4236,  4239,  4242,  4244,  4247,
732     4250,  4252,  4255,  4257,  4260,  4263,  4269,  4275,  4283,  4291,
733     4297,  4303,  4307,  4310,  4316,  4321,  4326,  4334,  4341,  4348,
734     4354,  4362,  4369,  4374,  4382,  4392,  4396,  4401,  4406,  4412,
735     4418,  4425,  4433,  4440,  4447,  4453,  4459,  4464,  4468,  4471,
736     4473,  4476,  4481,  4485,  4491,  4496,  4500,  4503,  4506,  4509,
737     4513,  4517,  4521,  4525,  4528,  4531,  4533,  4535,  4540,  4544,
738     4549,  4553,  4557,  4560,  4565,  4569,  4574,  4578,  4582,  4585,
739     4587,  4590,  4592,  4594,  4597,  4599,  4602,  4606,  4610,  4612,
740     4615,  4618,  4621,  4625,  4630,  4635,  4638,  4641,  4644,  4647,
741     4649,  4652,  4654,  4657,  4659,  4662,  4665,  4667,  4670,  4672,
742     4675,  4678,  4681,  4684,  4686,  4689,  4692,  4696,  4698,  4700,
743     4701,  4708,  4715,  4721,  4726,  4728,  4731,  4734,  4736,  4740,
744     4744,  4749,  4751,  4753,  4756,  4759,  4766,  4773,  4780
745 };
746
747 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
748 static const yytype_int16 yyrhs[] =
749 {
750      390,     0,    -1,   216,   119,    -1,   216,   120,    -1,   149,
751       -1,   216,   216,    -1,    28,    -1,    28,    -1,   147,    -1,
752      147,   120,   210,   121,    -1,   147,   120,   210,    11,    -1,
753      299,   334,    -1,   332,    -1,   299,   122,   123,    -1,   124,
754      299,   122,   123,    -1,    78,   299,   334,    -1,    78,   332,
755       -1,   299,   335,    -1,   333,    -1,    78,   299,   335,    -1,
756       78,   333,    -1,   150,   374,    -1,   153,   374,    -1,   153,
757      125,    -1,   151,   374,    -1,   152,   374,    -1,   150,   125,
758       -1,   150,   324,   125,    -1,   150,   375,    -1,   154,    -1,
759      153,   375,    -1,   155,    -1,   155,   125,    -1,   298,   334,
760       -1,   298,   336,    -1,   298,   335,    -1,   158,   374,    -1,
761      158,   375,    -1,   159,    -1,   158,    -1,   224,   126,   339,
762       -1,   339,    -1,   224,   126,   340,    -1,   224,   126,     1,
763       -1,   340,    -1,   162,    -1,   164,   127,   162,    -1,   165,
764      127,   162,    -1,   163,    -1,   164,   127,   163,    -1,   165,
765      127,   163,    -1,   164,   127,     1,    -1,   165,   127,     1,
766       -1,   127,    -1,   164,   125,    -1,   165,   125,    -1,   166,
767       -1,   160,    -1,   169,   166,    -1,   169,   160,    -1,   167,
768      166,    -1,   167,   160,    -1,   169,   125,    -1,   167,   125,
769       -1,   125,    -1,   167,    -1,   164,    -1,   167,   164,    -1,
770      169,   164,    -1,   161,    -1,   168,   161,    -1,   169,   161,
771       -1,   167,   161,    -1,   167,   165,    -1,   165,    -1,   164,
772        1,    -1,   171,   128,    -1,   171,     1,   128,    -1,   298,
773      216,   129,   169,    -1,   298,   216,   129,   168,     1,    -1,
774      298,   216,   129,   168,    -1,   298,   216,   129,    -1,   298,
775      216,   129,     1,    -1,   173,   128,    -1,   173,     1,   128,
776       -1,   299,   216,   129,   169,    -1,   299,   216,   129,   168,
777        1,    -1,   299,   216,   129,   168,    -1,   299,   216,   129,
778       -1,   299,   216,   129,     1,    -1,   300,   216,   129,   168,
779      128,    -1,   300,   216,   129,   169,   128,    -1,   300,   216,
780      129,   128,    -1,   176,   128,    -1,   176,     1,   128,    -1,
781      149,   129,   168,    -1,   216,   129,   168,    -1,   149,   129,
782      169,    -1,   149,   129,    -1,   149,   129,   168,     1,    -1,
783      149,   129,     1,    -1,   216,   129,   169,    -1,   216,   129,
784       -1,   216,   129,   168,     1,    -1,   216,   129,     1,    -1,
785      178,   128,    -1,   178,     1,   128,    -1,   129,   169,    -1,
786      129,   168,     1,    -1,   129,     1,    -1,   129,    -1,   129,
787      168,    -1,   224,   126,   339,    -1,   224,   126,   340,    -1,
788      224,   126,     1,    -1,   224,     1,    -1,   179,    -1,   181,
789      127,   179,    -1,   182,   127,   179,    -1,   180,    -1,   181,
790      127,   180,    -1,   182,   127,   180,    -1,   181,     1,    -1,
791       68,   304,   216,   129,    -1,    68,   304,   328,   216,   129,
792       -1,    68,   304,   129,    -1,    68,   304,   328,   129,    -1,
793       68,     1,   129,    -1,   183,    -1,   184,    69,   374,    -1,
794      184,    70,   374,    -1,   184,    95,   374,    -1,   184,    91,
795       -1,   184,    97,   218,    -1,   184,   128,    -1,    99,   304,
796      216,   129,    -1,    99,   304,   328,   216,   129,    -1,    99,
797      304,   129,    -1,    99,   304,   328,   129,    -1,    99,     1,
798      129,    -1,   186,    -1,   187,    69,   374,    -1,   187,    70,
799      374,    -1,   187,   128,    -1,   216,    -1,   189,   216,    -1,
800      189,   374,    -1,    73,   374,    -1,   190,    -1,   191,   190,
801       -1,    88,   122,   189,   123,   374,    -1,    88,   122,   243,
802      123,   129,   191,   128,    -1,   243,   130,    88,   122,   243,
803      123,   129,   191,   128,    -1,    89,   122,   243,   127,   189,
804      123,    -1,   243,   130,    89,   122,   243,   127,   189,   123,
805       -1,    89,   122,   243,   123,    -1,   243,   130,    89,   122,
806      243,   123,    -1,    90,    -1,    90,   189,    -1,   224,   130,
807       90,    -1,   243,   130,    90,   189,    -1,   197,   125,    -1,
808      181,   125,    -1,   156,    -1,   185,    -1,   362,   156,    -1,
809      362,   185,    -1,   188,    -1,    91,    -1,    93,    -1,    94,
810       -1,    99,   122,   216,   123,   126,   339,   125,    -1,   125,
811       -1,   362,   131,    -1,   362,   122,   216,   123,    -1,   157,
812       -1,   299,    -1,   299,   286,    -1,   362,   299,   286,    -1,
813      362,   299,    -1,   362,   175,    -1,   362,   172,    -1,    98,
814      299,   286,    -1,   192,    -1,    92,   216,    -1,    92,   149,
815       -1,    96,   216,    -1,   175,    -1,   172,    -1,   181,    -1,
816      173,     1,    -1,   176,     1,    -1,   362,   157,    -1,   362,
817      173,     1,    -1,   362,   176,     1,    -1,   182,    -1,   196,
818       -1,   198,   196,    -1,   199,   196,    -1,   197,    -1,   198,
819        1,    -1,   199,     1,    -1,   198,   197,    -1,   199,   197,
820       -1,   299,    -1,   299,   328,    -1,   299,    -1,   299,   328,
821       -1,    65,   216,    -1,    65,   216,   126,   201,    -1,    65,
822      216,   131,   200,    -1,    65,   216,   131,   200,   126,   201,
823       -1,    65,   148,    -1,    65,   148,   126,   201,    -1,    65,
824      148,   131,   200,    -1,    65,   148,   131,   200,   126,   201,
825       -1,   216,    -1,   216,    -1,   216,   126,   203,    -1,   233,
826       -1,   299,   216,   126,   205,    -1,   299,   328,   216,   126,
827      205,    -1,   202,    -1,   204,    -1,   206,    -1,   207,    -1,
828      208,   127,   207,    -1,   205,    -1,   203,    -1,   201,    -1,
829      216,   126,   205,    -1,   216,   126,   203,    -1,   216,   126,
830      201,    -1,   209,    -1,   210,   127,   209,    -1,    65,    -1,
831      211,   216,    -1,   211,   147,    -1,   216,   211,   216,    -1,
832      216,   211,   147,    -1,   211,   216,   120,   208,   121,    -1,
833      211,   147,   120,   208,   121,    -1,   216,   211,   216,   120,
834      208,   121,    -1,   216,   211,   147,   120,   208,   121,    -1,
835      215,   128,    -1,   214,   125,    -1,   212,   129,   128,    -1,
836      214,   129,   128,    -1,   211,   216,   125,    -1,   211,   146,
837      125,    -1,   212,   131,   303,    -1,   212,   129,   199,    -1,
838      214,   129,   199,    -1,   212,   129,   198,    -1,   214,   129,
839      198,    -1,   212,   129,     1,    -1,   214,   129,     1,    -1,
840        3,    -1,   220,    -1,   122,   245,   123,    -1,   385,    -1,
841      132,   385,    -1,   132,   385,   130,   385,    -1,     4,    -1,
842      216,    -1,   175,    -1,    85,   122,   374,   123,    -1,    85,
843      122,   245,   123,    -1,    85,   122,   346,   123,   337,    -1,
844       85,   122,   346,   123,   122,   346,   123,   337,    -1,   219,
845      216,    -1,   219,    -1,   218,    -1,   118,    -1,   122,   123,
846       -1,    71,   306,   329,   133,   265,   134,    -1,    71,   306,
847      329,   133,   266,   134,    -1,    71,   306,   133,   265,   134,
848       -1,    71,   306,   133,   266,   134,    -1,   102,   306,   329,
849      133,   265,   134,    -1,   102,   306,   329,   133,   266,   134,
850       -1,   102,   306,   133,   265,   134,    -1,   102,   306,   133,
851      266,   134,    -1,    72,   265,   305,   329,   133,   265,   134,
852       -1,    72,   265,   305,   329,   133,   266,   134,    -1,    72,
853      265,   305,   133,   265,   134,    -1,    72,   265,   305,   133,
854      266,   134,    -1,   103,   265,   305,   329,   133,   265,   134,
855       -1,   103,   265,   305,   329,   133,   266,   134,    -1,   103,
856      265,   305,   133,   265,   134,    -1,   103,   265,   305,   133,
857      266,   134,    -1,    65,   122,   298,   123,    -1,    65,   122,
858      298,   328,   123,    -1,    65,   122,   216,   123,    -1,   104,
859      122,   243,   127,   346,   123,    -1,    98,   122,   216,   123,
860       -1,   397,    -1,   398,    -1,   399,    -1,   400,    -1,   133,
861      225,   134,    -1,   133,   134,    -1,   177,    -1,   178,     1,
862       -1,   122,   245,    -1,   122,   263,    -1,   217,    -1,   224,
863      133,   245,   134,    -1,   224,   133,   263,   134,    -1,   224,
864      122,   123,    -1,   224,   122,   225,   123,    -1,   224,   122,
865      226,   123,    -1,   224,   130,   216,    -1,   224,     7,   216,
866       -1,   224,     8,    -1,   224,     9,    -1,   247,   133,   245,
867      134,    -1,   247,   133,   263,   134,    -1,   247,   122,   123,
868       -1,   247,   122,   225,   123,    -1,   247,   130,   216,    -1,
869      247,     7,   216,    -1,   247,     8,    -1,   247,     9,    -1,
870      243,    -1,   221,    -1,   225,   127,   243,    -1,   225,   127,
871      221,    -1,   262,    -1,   222,    -1,   225,   127,   262,    -1,
872      225,   127,   222,    -1,   225,   127,    -1,     8,   228,    -1,
873        9,   228,    -1,   229,   230,    -1,   229,   221,    -1,     6,
874      228,    -1,     6,   122,   347,   123,    -1,     6,   122,    65,
875      146,   123,    -1,     6,   122,    65,   145,   123,    -1,   109,
876      228,    -1,   109,   122,   347,   123,    -1,   227,    -1,   224,
877       -1,   135,    -1,   119,    -1,   136,    -1,   137,    -1,   124,
878       -1,   138,    -1,    73,    -1,    84,    -1,   228,    -1,   122,
879      346,   123,   230,    -1,   230,    -1,   231,   119,   230,    -1,
880      231,   139,   230,    -1,   231,   140,   230,    -1,   251,   119,
881      230,    -1,   251,   139,   230,    -1,   251,   140,   230,    -1,
882      231,    -1,   232,   136,   231,    -1,   232,   137,   231,    -1,
883      252,   136,   231,    -1,   252,   137,   231,    -1,   232,    -1,
884      233,    10,   232,    -1,   233,    11,   232,    -1,   253,    10,
885      232,    -1,   253,    11,   232,    -1,   235,   120,    -1,   233,
886       -1,   234,   233,    -1,   235,   121,   233,    -1,   235,    12,
887      233,    -1,   235,    13,   233,    -1,   254,   120,   233,    -1,
888      254,   121,   233,    -1,   254,    12,   233,    -1,   254,    13,
889      233,    -1,   235,    -1,   236,    14,   235,    -1,   236,    15,
890      235,    -1,   255,    14,   235,    -1,   255,    15,   235,    -1,
891      236,    14,   221,    -1,   236,    15,   221,    -1,   255,    14,
892      221,    -1,   255,    15,   221,    -1,   236,    -1,   237,   135,
893      236,    -1,   256,   135,   236,    -1,   237,   135,   221,    -1,
894      256,   135,   221,    -1,   237,    -1,   238,   141,   237,    -1,
895      257,   141,   237,    -1,   238,   141,   221,    -1,   257,   141,
896      221,    -1,   238,    -1,   239,   142,   238,    -1,   258,   142,
897      238,    -1,   239,   142,   221,    -1,   258,   142,   221,    -1,
898      239,    -1,   240,    16,   239,    -1,   259,    16,   239,    -1,
899      240,    -1,   241,    17,   240,    -1,   260,    17,   240,    -1,
900      241,    -1,   241,   143,   245,   131,   242,    -1,   241,   143,
901      263,   131,   242,    -1,   260,   143,   245,   131,   242,    -1,
902      260,   143,   263,   131,   242,    -1,   241,   143,   246,   131,
903      242,    -1,   241,   143,   264,   131,   242,    -1,   260,   143,
904      246,   131,   242,    -1,   260,   143,   264,   131,   242,    -1,
905      241,   143,   245,   131,   221,    -1,   241,   143,   263,   131,
906      221,    -1,   260,   143,   245,   131,   221,    -1,   260,   143,
907      263,   131,   221,    -1,   241,   143,   246,   131,   221,    -1,
908      241,   143,   264,   131,   221,    -1,   260,   143,   246,   131,
909      221,    -1,   260,   143,   264,   131,   221,    -1,   242,    -1,
910      228,   244,   243,    -1,   249,   244,   243,    -1,   242,   244,
911      243,    -1,   261,   244,   243,    -1,   228,   244,   221,    -1,
912      249,   244,   221,    -1,   242,   244,   221,    -1,   261,   244,
913      221,    -1,   126,    -1,    18,    -1,    19,    -1,    20,    -1,
914       21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
915       26,    -1,    27,    -1,   243,    -1,   245,   127,   243,    -1,
916      263,   127,   243,    -1,   263,   123,    -1,   221,    -1,   245,
917      127,   221,    -1,   263,   127,   221,    -1,   223,    -1,     1,
918       -1,   224,     1,    -1,   176,     1,    -1,   224,     7,     1,
919       -1,   247,     7,     1,    -1,   224,   122,   225,    -1,   224,
920      122,   226,    -1,   224,   130,     1,    -1,   247,   122,   226,
921       -1,   247,   130,     1,    -1,     8,   249,    -1,     9,   249,
922       -1,   229,   250,    -1,   229,   222,    -1,     6,   249,    -1,
923        6,   122,   347,   123,     1,    -1,     6,   122,    65,   146,
924      123,     1,    -1,     6,   122,    65,   145,   123,     1,    -1,
925      109,   249,    -1,   109,   122,   347,   123,     1,    -1,   248,
926       -1,   247,    -1,   249,    -1,   122,   346,   123,   250,    -1,
927      250,    -1,   231,   119,   250,    -1,   231,   139,   250,    -1,
928      231,   140,   250,    -1,   251,   119,   250,    -1,   251,   139,
929      250,    -1,   251,   140,   250,    -1,   251,    -1,   232,   136,
930      251,    -1,   232,   137,   251,    -1,   252,   136,   251,    -1,
931      252,   137,   251,    -1,   252,    -1,   233,    10,   252,    -1,
932      233,    11,   252,    -1,   253,    10,   252,    -1,   253,    11,
933      252,    -1,   253,    -1,   234,   253,    -1,   235,   121,   253,
934       -1,   235,    12,   253,    -1,   235,    13,   253,    -1,   254,
935      120,   253,    -1,   254,   121,   253,    -1,   254,    12,   253,
936       -1,   254,    13,   253,    -1,   254,    -1,   236,    14,   254,
937       -1,   236,    15,   254,    -1,   255,    14,   254,    -1,   255,
938       15,   254,    -1,   236,    14,   222,    -1,   236,    15,   222,
939       -1,   255,    14,   222,    -1,   255,    15,   222,    -1,   255,
940       -1,   237,   135,   255,    -1,   256,   135,   255,    -1,   237,
941      135,   222,    -1,   256,   135,   222,    -1,   256,    -1,   238,
942      141,   256,    -1,   257,   141,   256,    -1,   238,   141,   222,
943       -1,   257,   141,   222,    -1,   257,    -1,   239,   142,   257,
944       -1,   258,   142,   257,    -1,   239,   142,   222,    -1,   258,
945      142,   222,    -1,   258,    -1,   240,    16,   258,    -1,   259,
946       16,   258,    -1,   259,    -1,   241,    17,   259,    -1,   260,
947       17,   259,    -1,   260,    -1,   241,   143,   245,   131,   260,
948       -1,   241,   143,   263,   131,   260,    -1,   260,   143,   245,
949      131,   260,    -1,   260,   143,   263,   131,   260,    -1,   241,
950      143,   245,   131,    -1,   241,   143,   263,   131,    -1,   260,
951      143,   245,   131,    -1,   260,   143,   263,   131,    -1,   241,
952      143,   246,   131,   260,    -1,   241,   143,   264,   131,   260,
953       -1,   260,   143,   246,   131,   260,    -1,   260,   143,   264,
954      131,   260,    -1,   241,   143,   246,   131,    -1,   241,   143,
955      264,   131,    -1,   260,   143,   246,   131,    -1,   260,   143,
956      264,   131,    -1,   241,   143,   245,   131,   222,    -1,   241,
957      143,   263,   131,   222,    -1,   260,   143,   245,   131,   222,
958       -1,   260,   143,   263,   131,   222,    -1,   241,   143,   246,
959      131,   222,    -1,   241,   143,   264,   131,   222,    -1,   260,
960      143,   246,   131,   222,    -1,   260,   143,   264,   131,   222,
961       -1,   241,   143,   131,    -1,   260,   143,   131,    -1,   241,
962      143,    -1,   260,   143,    -1,   261,    -1,   228,   244,   262,
963       -1,   249,   244,   262,    -1,   228,   244,   222,    -1,   249,
964      244,   222,    -1,   262,    -1,   243,     1,    -1,   245,   127,
965      262,    -1,   263,   127,   262,    -1,   245,   245,    -1,   263,
966      245,    -1,   245,   263,    -1,   222,    -1,   221,     1,    -1,
967      245,   127,   222,    -1,   263,   127,   222,    -1,   242,    -1,
968      261,    -1,    29,    -1,    30,    -1,    31,    -1,   117,    -1,
969       32,    -1,    33,    -1,   116,    -1,    29,    -1,    30,    -1,
970       31,    -1,   117,    -1,    32,    -1,    33,    -1,   116,    -1,
971      216,    -1,   216,   126,   265,    -1,   216,   126,   266,    -1,
972      269,    -1,   270,   127,   269,    -1,   270,   127,    -1,    50,
973       -1,   271,   216,    -1,   271,   149,    -1,   274,   128,    -1,
974      271,   216,   129,   128,    -1,   271,   149,   129,   128,    -1,
975      271,   129,   270,    -1,   271,   129,     1,    -1,   271,   216,
976      129,   270,    -1,   271,   216,   129,   270,     1,    -1,   271,
977      216,   129,     1,    -1,   271,   216,   129,   270,   125,   198,
978       -1,   271,   216,   129,   270,   125,   199,    -1,   271,   149,
979      129,   270,    -1,   271,   149,   129,   270,     1,    -1,   271,
980      149,   129,     1,    -1,   271,   149,   129,   270,   125,   198,
981       -1,   271,   149,   129,   270,   125,   199,    -1,   271,   216,
982      129,   270,   125,    -1,   271,   149,   129,   270,   125,    -1,
983      271,   216,    -1,   271,   149,    -1,   277,   128,    -1,   275,
984      131,   303,   129,   128,    -1,   275,   129,   128,    -1,   275,
985      131,   303,   129,   270,    -1,   275,   131,   303,   129,   270,
986        1,    -1,   275,   131,   303,   129,     1,    -1,   275,   131,
987      303,   129,   270,   125,   198,    -1,   275,   131,   303,   129,
988      270,   125,   199,    -1,   275,   131,   303,   129,   270,     1,
989      125,   198,    -1,   275,   131,   303,   129,   270,     1,   125,
990      199,    -1,   275,   131,   303,   129,     1,   125,   198,    -1,
991      275,   131,   303,   129,     1,   125,   199,    -1,   271,   129,
992      270,    -1,   271,   129,     1,    -1,   275,   129,   270,    -1,
993      275,   129,   270,     1,    -1,   275,   129,     1,    -1,   275,
994      129,   270,   125,   198,    -1,   275,   129,   270,   125,   199,
995       -1,   275,   131,   303,   129,   270,   125,    -1,   275,   131,
996      303,   129,   270,     1,   125,    -1,   275,   131,   303,   129,
997        1,   125,    -1,   275,   129,   270,   125,    -1,   276,    -1,
998      293,    -1,   277,    -1,   294,    -1,   319,    -1,    44,    -1,
999       45,    -1,   280,    -1,   281,    -1,   282,   281,    -1,    46,
1000       -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,    38,
1001       -1,    47,    -1,    39,    -1,    42,    -1,    43,    -1,    40,
1002       -1,    41,    -1,    85,    -1,   290,    -1,   272,    -1,   146,
1003       -1,    87,   122,   243,   123,    -1,   100,   122,   146,   123,
1004       -1,   100,   122,   216,   123,    -1,    66,    -1,    82,    -1,
1005       83,    -1,   113,    -1,   112,    -1,   114,    -1,   115,    -1,
1006       46,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,
1007       38,    -1,    47,    -1,    39,    -1,    42,    -1,    43,    -1,
1008       40,    -1,    41,    -1,    85,    -1,   290,    -1,   272,    -1,
1009      149,    -1,   113,    -1,   112,    -1,   114,    -1,   115,    -1,
1010       87,   122,   243,   123,    -1,   100,   122,   146,   123,    -1,
1011      100,   122,   216,   123,    -1,    66,    -1,   336,    -1,   336,
1012      324,    -1,   131,   265,    -1,   336,   131,   265,    -1,   336,
1013      131,   265,   131,   265,    -1,   131,   266,    -1,   336,   131,
1014      266,    -1,   336,   131,   265,   131,   266,    -1,   336,   131,
1015      266,   131,   266,    -1,   336,   131,   266,   131,   265,    -1,
1016      285,    -1,   286,   127,   285,    -1,   295,   216,    -1,   295,
1017      147,    -1,   295,   319,   216,    -1,   295,   319,   147,    -1,
1018      289,   128,    -1,   287,   129,   128,    -1,   295,   129,   128,
1019       -1,   295,   319,   129,   128,    -1,   287,   129,   198,    -1,
1020      287,   129,   199,    -1,   287,   129,     1,    -1,   295,   129,
1021      198,    -1,   295,   129,   199,    -1,   295,   129,     1,    -1,
1022      295,   319,   129,   198,    -1,   295,   319,   129,   199,    -1,
1023      295,   319,   129,     1,    -1,   287,    -1,   287,    -1,   287,
1024      120,   208,   121,    -1,   291,   131,   303,    -1,   294,   128,
1025       -1,   292,   129,   128,    -1,   291,   129,   128,    -1,   295,
1026      129,   128,    -1,   292,   129,   198,    -1,   292,   129,   199,
1027       -1,   292,   129,     1,    -1,   291,   129,   198,    -1,   291,
1028      129,   199,    -1,   291,   129,     1,    -1,   295,   129,   198,
1029       -1,   295,   129,   199,    -1,   295,   129,     1,    -1,    48,
1030       -1,    49,    -1,   281,    -1,   296,   281,    -1,   283,    -1,
1031      296,   283,    -1,   273,    -1,   296,   273,    -1,   288,    -1,
1032      296,   288,    -1,   281,    -1,   297,   281,    -1,   283,    -1,
1033      297,   283,    -1,   145,    -1,   297,   145,    -1,   273,    -1,
1034      297,   273,    -1,   288,    -1,   297,   288,    -1,   267,    -1,
1035      298,   267,    -1,   281,    -1,   298,   281,    -1,   284,    -1,
1036      298,   284,    -1,   273,    -1,   298,   273,    -1,   288,    -1,
1037      298,   288,    -1,   267,    -1,   299,   267,    -1,   281,    -1,
1038      299,   281,    -1,   283,    -1,   299,   283,    -1,   145,    -1,
1039      299,   145,    -1,   288,    -1,   299,   288,    -1,   273,    -1,
1040      299,   273,    -1,   268,    -1,   300,   268,    -1,   281,    -1,
1041      300,   281,    -1,   283,    -1,   300,   283,    -1,   145,    -1,
1042      300,   145,    -1,   278,    -1,   300,   278,    -1,   279,    -1,
1043      300,   279,    -1,    81,    -1,    80,    -1,   267,    -1,   302,
1044      267,    -1,   281,    -1,   302,   281,    -1,   284,    -1,   302,
1045      284,    -1,   216,    -1,   302,   216,    -1,   216,   120,   210,
1046      121,    -1,   302,   216,   120,   210,   121,    -1,   302,    -1,
1047      295,    -1,   267,    -1,   304,   267,    -1,   281,    -1,   304,
1048      281,    -1,   284,    -1,   304,   284,    -1,   216,    -1,   304,
1049      216,    -1,   216,   120,   210,   121,    -1,   304,   216,   120,
1050      210,   121,    -1,   267,    -1,   305,   267,    -1,   281,    -1,
1051      305,   281,    -1,   284,    -1,   305,   284,    -1,   288,    -1,
1052      305,   288,    -1,   273,    -1,   305,   273,    -1,   216,    -1,
1053      305,   216,    -1,   216,   120,   210,   121,    -1,   305,   216,
1054      120,   210,   121,    -1,   267,    -1,   306,   267,    -1,   281,
1055       -1,   306,   281,    -1,   284,    -1,   306,   284,    -1,   288,
1056       -1,   306,   288,    -1,   273,    -1,   306,   273,    -1,   216,
1057       -1,   306,   216,    -1,   216,   120,   210,   121,    -1,   306,
1058      216,   120,   210,   121,    -1,   308,   127,     1,    -1,   307,
1059      127,     1,    -1,   216,    -1,   308,   127,   216,    -1,   307,
1060      127,   216,    -1,   350,   127,   216,    -1,   351,   127,   216,
1061       -1,   310,    -1,   147,    -1,    37,    -1,   147,   133,   265,
1062      134,    -1,   147,   133,   266,   134,    -1,   147,   133,   146,
1063      134,    -1,   147,   133,   134,    -1,   309,   133,   265,   134,
1064       -1,   309,   133,   266,   134,    -1,   309,   133,   146,   134,
1065       -1,   309,   133,   134,    -1,   216,    -1,   122,   330,   123,
1066       -1,   122,   319,   330,   123,    -1,   122,   331,   123,    -1,
1067      122,   319,   331,   123,    -1,   310,   133,   265,   134,    -1,
1068      310,   133,   266,   134,    -1,   310,   133,   146,   134,    -1,
1069      310,   133,   134,    -1,   310,   122,    -1,   311,   352,   123,
1070       -1,   311,   353,   123,    -1,   311,   308,   123,    -1,   311,
1071      307,   123,    -1,   311,   123,    -1,   311,   307,    -1,   311,
1072        1,    -1,   311,   350,   122,    -1,   311,   299,   216,   122,
1073       -1,   312,    -1,   310,    -1,   309,   122,    -1,   315,   352,
1074      123,    -1,   315,   353,   123,    -1,   315,   308,   123,    -1,
1075      315,   307,   123,    -1,   315,   123,    -1,   315,   307,    -1,
1076      315,     1,    -1,   315,   350,   122,    -1,   315,   299,   216,
1077      122,    -1,   316,    -1,   309,    -1,    74,    -1,    75,    -1,
1078      324,    -1,    86,   122,   385,   123,    -1,    79,    -1,   110,
1079       -1,   111,    -1,     3,    -1,    28,    -1,    75,    -1,    74,
1080       -1,    44,    -1,   321,    -1,   321,   122,   245,   123,    -1,
1081      322,    -1,   323,   322,    -1,   323,   127,   322,    -1,   320,
1082      122,   122,   323,   123,   123,    -1,   320,   122,   122,   123,
1083      123,    -1,   122,   328,   123,    -1,   122,   319,   328,   123,
1084       -1,   133,   134,    -1,   133,   265,   134,    -1,   133,   266,
1085      134,    -1,   133,   146,   134,    -1,   325,   133,   134,    -1,
1086      325,   133,   265,   134,    -1,   325,   133,   146,   134,    -1,
1087      325,   133,   266,   134,    -1,   122,   123,    -1,   122,   352,
1088      123,    -1,   122,   353,   123,    -1,   325,   122,   123,    -1,
1089      325,   122,   352,   123,    -1,   325,   122,   353,   123,    -1,
1090      122,   329,   123,    -1,   122,   319,   329,   123,    -1,   122,
1091      123,    -1,   122,   352,   123,    -1,   122,   353,   123,    -1,
1092      326,   122,   123,    -1,   326,   122,   352,   123,    -1,   326,
1093      122,   353,   123,    -1,   119,    -1,   119,   282,    -1,   119,
1094      327,    -1,   119,   282,   327,    -1,   327,    -1,   325,    -1,
1095      327,   325,    -1,   319,   327,    -1,   319,   327,   325,    -1,
1096      327,    -1,   326,    -1,   327,   326,    -1,   319,   327,    -1,
1097      319,   327,   326,    -1,   314,    -1,   327,   314,    -1,   319,
1098      327,   314,    -1,   330,   319,    -1,   336,   319,    -1,   318,
1099       -1,   327,   318,    -1,   319,   327,   318,    -1,   331,   319,
1100       -1,   312,    -1,   327,   312,    -1,   319,   327,   312,    -1,
1101      327,   319,   312,    -1,   313,    -1,   327,   313,    -1,   319,
1102      327,   313,    -1,   327,   319,   313,    -1,   316,    -1,   327,
1103      316,    -1,   319,   327,   316,    -1,   327,   319,   316,    -1,
1104      317,    -1,   327,   317,    -1,   319,   327,   317,    -1,   327,
1105      319,   317,    -1,   309,    -1,   327,   309,    -1,   319,   327,
1106      309,    -1,   327,   319,   309,    -1,   243,    -1,   129,   341,
1107      128,    -1,   129,   341,   127,   128,    -1,   262,    -1,   129,
1108      341,   128,     1,    -1,   129,   341,    -1,   129,   341,   127,
1109      128,     1,    -1,   129,   341,   127,    -1,   242,    -1,   221,
1110       -1,   261,    -1,   222,    -1,   337,    -1,   338,    -1,   341,
1111      127,   337,    -1,   341,   127,   338,    -1,   341,   337,    -1,
1112      341,   338,    -1,   330,    -1,   331,    -1,   330,   126,   337,
1113       -1,   330,     1,    -1,   330,   126,   338,    -1,   342,    -1,
1114      344,   127,   342,    -1,    37,   127,   342,    -1,    38,   127,
1115      342,    -1,   147,   127,   342,    -1,   345,   127,   342,    -1,
1116      343,    -1,   342,     1,    -1,   344,   127,   343,    -1,   345,
1117      127,   343,    -1,   296,    -1,   296,   328,    -1,   297,    -1,
1118      297,   328,    -1,   299,   331,    -1,   299,   328,    -1,   299,
1119      135,    -1,   299,   135,   331,    -1,   299,    -1,    65,    -1,
1120      299,   331,     1,    -1,   299,   328,     1,    -1,   348,    -1,
1121      350,   127,   348,    -1,   350,     1,   127,   348,    -1,   351,
1122      127,   348,    -1,   351,     1,   127,   348,    -1,     1,   127,
1123      348,    -1,   308,   127,   348,    -1,   308,     1,   127,   348,
1124       -1,   307,   127,   348,    -1,   307,     1,   127,   348,    -1,
1125      349,    -1,   350,   127,   349,    -1,   351,   127,   349,    -1,
1126      351,     1,   127,   349,    -1,     1,   127,   349,    -1,   308,
1127      127,   349,    -1,   307,   127,   349,    -1,   307,     1,   127,
1128      349,    -1,   350,    -1,   350,   127,    51,    -1,   351,   127,
1129       51,    -1,   308,   127,    51,    -1,   307,   127,    51,    -1,
1130        1,   127,    51,    -1,   351,    -1,   350,   127,     1,    -1,
1131      351,     1,    -1,   359,    -1,   324,    -1,   374,    -1,   125,
1132       -1,   131,    -1,   245,   125,    -1,   377,    -1,   379,    -1,
1133      381,    -1,   358,    -1,   195,   125,    -1,   194,   125,    -1,
1134      193,   125,    -1,   360,    -1,   380,    -1,   375,    -1,   378,
1135       -1,   382,    -1,   381,     1,    -1,   263,    -1,   385,    -1,
1136      385,   122,   243,   123,    -1,   133,   216,   134,   385,   122,
1137      243,   123,    -1,   356,    -1,   357,   127,   356,    -1,    -1,
1138       86,   281,   122,   385,   123,   125,    -1,    86,   281,   122,
1139      385,   131,   357,   123,   125,    -1,    86,   281,   122,   385,
1140      131,   357,   131,   357,   123,   125,    -1,    86,   281,   122,
1141      385,   131,   357,   131,   357,   131,   357,   123,   125,    -1,
1142       86,   281,   122,   385,     3,   357,   123,   125,    -1,    86,
1143      281,   122,   385,     3,   357,   131,   357,   123,   125,    -1,
1144       86,   281,   122,   385,   131,   357,     3,   357,   123,   125,
1145       -1,    86,   122,   385,   123,   125,    -1,    86,   122,   385,
1146      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1147      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1148      131,   357,   131,   357,   123,   125,    -1,    86,   122,   385,
1149        3,   357,   123,   125,    -1,    86,   122,   385,     3,   357,
1150      131,   357,   123,   125,    -1,    86,   122,   385,   131,   357,
1151        3,   357,   123,   125,    -1,   216,   131,   354,    -1,    52,
1152      265,   131,   354,    -1,    52,   266,   131,   354,    -1,    52,
1153      131,   354,    -1,    53,   131,   354,    -1,   216,   131,   363,
1154       -1,    52,   265,   131,   363,    -1,    52,   266,   131,   363,
1155       -1,    52,   131,   363,    -1,    53,   131,   363,    -1,   216,
1156      131,   355,    -1,    52,   265,   131,   355,    -1,    52,   266,
1157      131,   355,    -1,    52,   131,   355,    -1,    52,   131,    -1,
1158       53,   131,   355,    -1,    53,   131,    -1,   216,   131,   366,
1159       -1,    52,   265,   131,   366,    -1,    52,   266,   131,   366,
1160       -1,    52,   131,   366,    -1,    53,   131,   366,    -1,    80,
1161       -1,    81,    -1,    53,    -1,    80,    -1,    81,    -1,   298,
1162      125,    -1,   298,   344,   125,    -1,   170,   125,    -1,   366,
1163      125,    -1,   300,   125,    -1,   300,   344,   125,    -1,   301,
1164      344,   125,    -1,   174,   125,    -1,    77,   216,   126,   242,
1165      125,    -1,    31,    77,   216,   126,   242,   125,    -1,   300,
1166        1,    -1,   298,     1,    -1,   366,     1,    -1,   171,     1,
1167       -1,   170,     1,    -1,   298,   345,    -1,   363,    -1,   367,
1168      363,    -1,   368,   363,    -1,   367,     1,   125,    -1,   366,
1169       -1,   367,   366,    -1,   354,    -1,   369,   354,    -1,   370,
1170      354,    -1,   355,    -1,   369,   355,    -1,   370,   355,    -1,
1171      369,   363,    -1,   370,   363,    -1,   369,   366,    -1,   370,
1172      366,    -1,   369,    -1,   367,    -1,   367,   369,    -1,   368,
1173      369,    -1,   370,    -1,   368,    -1,   367,   370,    -1,   368,
1174      370,    -1,   129,    -1,   375,   128,    -1,   373,   372,    -1,
1175      373,    -1,   373,   371,    -1,   125,    -1,   245,   125,    -1,
1176      263,   125,    -1,    54,   122,   245,   123,   354,    -1,    54,
1177      122,   263,   123,   354,    -1,    54,   122,   245,   123,   354,
1178       64,   354,    -1,    54,   122,   263,   123,   354,    64,   354,
1179       -1,    55,   122,   245,   123,   354,    -1,    55,   122,   263,
1180      123,   354,    -1,    54,   122,   263,    -1,   377,     1,    -1,
1181       56,   122,   245,   123,   354,    -1,    56,   122,   263,   354,
1182       -1,    56,   122,   123,   354,    -1,    57,   354,    56,   122,
1183      245,   123,   125,    -1,    57,   354,    56,   122,   263,   125,
1184       -1,    58,   122,   376,   376,   123,   354,    -1,    58,   122,
1185      376,   123,   354,    -1,    58,   122,   376,   376,   245,   123,
1186      354,    -1,    58,   122,   376,   376,   263,   354,    -1,    58,
1187      122,   123,   354,    -1,    58,   122,   216,   131,   245,   123,
1188      354,    -1,    58,   122,   216,   131,   245,   125,   245,   123,
1189      354,    -1,    58,   122,     1,    -1,    58,   122,   263,     1,
1190       -1,    58,   122,   376,     1,    -1,    58,   122,   376,   263,
1191        1,    -1,    58,   122,   376,   376,   263,    -1,    58,   122,
1192      376,   376,   123,   355,    -1,    58,   122,   376,   376,   245,
1193      123,   355,    -1,    58,   122,   376,   376,   263,   355,    -1,
1194       57,   354,    56,   122,   245,   123,    -1,    57,   354,    56,
1195      122,   245,    -1,    57,   354,    56,   122,   263,    -1,    57,
1196      354,    56,   122,    -1,    57,   354,    56,    -1,    57,   354,
1197       -1,    57,    -1,    56,     1,    -1,    56,   122,   123,     1,
1198       -1,    56,   122,   263,    -1,    56,   122,   245,   123,   355,
1199       -1,    56,   122,   263,   355,    -1,    59,   216,   125,    -1,
1200       60,   125,    -1,    61,   125,    -1,    62,   125,    -1,    62,
1201      245,   125,    -1,    62,   263,   125,    -1,    62,   221,   125,
1202       -1,    62,   222,   125,    -1,    62,   263,    -1,    62,   222,
1203       -1,    62,    -1,    59,    -1,   300,   332,   367,   374,    -1,
1204      300,   332,   374,    -1,   300,   334,   367,   374,    -1,   300,
1205      334,   374,    -1,   332,   367,   374,    -1,   332,   374,    -1,
1206      300,   332,   367,   375,    -1,   300,   332,   375,    -1,   300,
1207      334,   367,   375,    -1,   300,   334,   375,    -1,   332,   367,
1208      375,    -1,   332,   375,    -1,     5,    -1,   385,     5,    -1,
1209      383,    -1,   213,    -1,   300,   213,    -1,   364,    -1,    76,
1210      385,    -1,    76,    31,   385,    -1,    76,   216,   385,    -1,
1211      125,    -1,   361,   383,    -1,   361,   213,    -1,   361,   364,
1212       -1,   361,    76,   385,    -1,   361,    76,    31,   385,    -1,
1213      361,    76,   216,   385,    -1,   361,   131,    -1,    31,   131,
1214       -1,   101,   216,    -1,   101,   149,    -1,   391,    -1,   361,
1215      391,    -1,   215,    -1,   300,   215,    -1,   384,    -1,   361,
1216      215,    -1,   361,   384,    -1,   365,    -1,   361,   365,    -1,
1217      387,    -1,   389,   387,    -1,   388,   387,    -1,   389,     1,
1218       -1,   388,     1,    -1,   386,    -1,   389,   386,    -1,   388,
1219      213,    -1,   388,   361,   213,    -1,   389,    -1,   388,    -1,
1220       -1,   105,   385,   216,   129,   396,   128,    -1,   105,   385,
1221      149,   129,   396,   128,    -1,   105,   385,   129,   396,   128,
1222       -1,   299,   216,   385,   125,    -1,   216,    -1,   121,   216,
1223       -1,   120,   216,    -1,   393,    -1,   394,   127,   393,    -1,
1224      107,   394,   125,    -1,   107,   394,   216,   125,    -1,   392,
1225       -1,   395,    -1,   396,   392,    -1,   396,   395,    -1,   108,
1226      122,   243,   127,   243,   123,    -1,   106,   122,   385,   127,
1227      216,   123,    -1,   107,   122,   385,   127,   216,   123,    -1,
1228      105,   122,   385,   123,    -1
1229 };
1230
1231 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1232 static const yytype_uint16 yyrline[] =
1233 {
1234        0,   282,   282,   301,   340,   341,   421,   425,   428,   429,
1235      430,   469,   471,   476,   481,   486,   488,   493,   495,   500,
1236      502,   507,   509,   511,   513,   515,   519,   523,   536,   538,
1237      540,   542,   544,   550,   552,   557,   562,   567,   569,   571,
1238      576,   577,   581,   582,   593,   597,   598,   600,   605,   606,
1239      608,   611,   623,   634,   653,   655,   660,   661,   662,   663,
1240      664,   665,   666,   667,   680,   684,   685,   686,   687,   691,
1241      692,   693,   694,   695,   696,   697,   701,   703,   708,   710,
1242      712,   714,   716,   746,   748,   753,   755,   757,   759,   761,
1243      790,   792,   794,   799,   801,   806,   808,   812,   814,   816,
1244      818,   823,   826,   829,   832,   897,   899,   904,   906,   908,
1245      910,   912,   943,   947,   948,   949,   953,   954,   955,   959,
1246      960,   961,   962,   966,   969,   972,   975,   978,   983,   984,
1247      986,   988,   990,   992,   997,  1001,  1004,  1007,  1010,  1013,
1248     1018,  1019,  1021,  1026,  1030,  1032,  1037,  1039,  1044,  1046,
1249     1051,  1056,  1058,  1063,  1065,  1067,  1069,  1074,  1076,  1078,
1250     1080,  1085,  1086,  1087,  1088,  1089,  1090,  1091,  1092,  1093,
1251     1094,  1095,  1097,  1098,  1100,  1104,  1107,  1108,  1109,  1110,
1252     1111,  1112,  1113,  1114,  1115,  1116,  1117,  1118,  1119,  1120,
1253     1122,  1123,  1127,  1128,  1129,  1133,  1137,  1138,  1139,  1143,
1254     1144,  1145,  1146,  1147,  1151,  1152,  1164,  1165,  1169,  1170,
1255     1171,  1172,  1173,  1174,  1175,  1176,  1180,  1184,  1185,  1189,
1256     1197,  1198,  1202,  1203,  1204,  1208,  1209,  1213,  1214,  1215,
1257     1216,  1217,  1218,  1258,  1259,  1263,  1271,  1272,  1280,  1281,
1258     1283,  1284,  1293,  1294,  1298,  1305,  1312,  1318,  1325,  1331,
1259     1340,  1347,  1353,  1359,  1365,  1371,  1377,  1388,  1393,  1394,
1260     1399,  1400,  1401,  1405,  1409,  1410,  1411,  1412,  1413,  1414,
1261     1415,  1428,  1429,  1430,  1431,  1432,  1433,  1434,  1435,  1436,
1262     1437,  1438,  1439,  1440,  1441,  1442,  1443,  1444,  1445,  1446,
1263     1447,  1448,  1449,  1450,  1451,  1453,  1454,  1455,  1456,  1457,
1264     1459,  1460,  1464,  1468,  1472,  1473,  1477,  1479,  1480,  1481,
1265     1482,  1483,  1484,  1485,  1486,  1487,  1489,  1490,  1491,  1492,
1266     1493,  1494,  1495,  1496,  1523,  1524,  1525,  1526,  1530,  1531,
1267     1532,  1533,  1534,  1538,  1539,  1540,  1541,  1543,  1544,  1545,
1268     1546,  1549,  1550,  1554,  1555,  1564,  1565,  1566,  1567,  1568,
1269     1569,  1570,  1571,  1575,  1576,  1580,  1581,  1582,  1583,  1584,
1270     1585,  1586,  1590,  1591,  1592,  1593,  1594,  1598,  1599,  1600,
1271     1601,  1602,  1606,  1614,  1615,  1616,  1617,  1618,  1619,  1620,
1272     1621,  1622,  1626,  1627,  1628,  1629,  1630,  1632,  1633,  1634,
1273     1635,  1639,  1640,  1641,  1643,  1644,  1648,  1649,  1650,  1652,
1274     1653,  1657,  1658,  1659,  1661,  1662,  1666,  1667,  1668,  1672,
1275     1673,  1674,  1678,  1679,  1680,  1681,  1682,  1684,  1685,  1686,
1276     1687,  1689,  1690,  1691,  1692,  1694,  1695,  1696,  1697,  1701,
1277     1702,  1703,  1704,  1705,  1707,  1708,  1709,  1710,  1714,  1715,
1278     1716,  1717,  1718,  1719,  1720,  1721,  1722,  1723,  1724,  1728,
1279     1729,  1730,  1731,  1735,  1736,  1737,  1741,  1742,  1743,  1744,
1280     1746,  1747,  1749,  1750,  1755,  1757,  1762,  1790,  1791,  1792,
1281     1793,  1795,  1796,  1797,  1798,  1800,  1801,  1805,  1806,  1815,
1282     1816,  1820,  1821,  1822,  1823,  1824,  1825,  1826,  1830,  1831,
1283     1835,  1839,  1843,  1850,  1851,  1852,  1853,  1854,  1858,  1859,
1284     1902,  1903,  1904,  1905,  1906,  1907,  1908,  1912,  1913,  1914,
1285     1915,  1916,  1923,  1924,  1925,  1926,  1930,  1931,  1932,  1934,
1286     1935,  1939,  1940,  1941,  1943,  1944,  1948,  1949,  1950,  1952,
1287     1953,  1957,  1958,  1959,  1963,  1964,  1965,  1969,  1970,  1971,
1288     1972,  1973,  1974,  1975,  1976,  1977,  1979,  1980,  1981,  1982,
1289     1983,  1984,  1985,  1986,  1988,  1989,  1990,  1991,  1993,  1994,
1290     1995,  1996,  1998,  2006,  2010,  2015,  2022,  2023,  2027,  2032,
1291     2033,  2037,  2038,  2039,  2040,  2046,  2047,  2048,  2052,  2053,
1292     2054,  2055,  2059,  2061,  2065,  2066,  2067,  2068,  2069,  2070,
1293     2071,  2075,  2076,  2077,  2078,  2079,  2080,  2081,  2085,  2086,
1294     2087,  2091,  2092,  2093,  2097,  2101,  2102,  2106,  2107,  2108,
1295     2112,  2113,  2115,  2116,  2117,  2118,  2119,  2121,  2122,  2123,
1296     2124,  2125,  2127,  2128,  2132,  2133,  2137,  2138,  2139,  2143,
1297     2144,  2145,  2146,  2147,  2148,  2149,  2150,  2151,  2153,  2154,
1298     2156,  2157,  2158,  2159,  2160,  2162,  2163,  2164,  2165,  2169,
1299     2170,  2174,  2175,  2179,  2183,  2184,  2185,  2190,  2191,  2195,
1300     2196,  2197,  2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,
1301     2206,  2207,  2208,  2209,  2210,  2211,  2212,  2213,  2214,  2215,
1302     2216,  2217,  2218,  2219,  2220,  2224,  2225,  2226,  2227,  2228,
1303     2229,  2230,  2231,  2232,  2233,  2234,  2235,  2236,  2237,  2238,
1304     2239,  2240,  2241,  2242,  2243,  2244,  2245,  2246,  2247,  2253,
1305     2255,  2257,  2259,  2261,  2263,  2265,  2267,  2269,  2271,  2276,
1306     2277,  2281,  2287,  2293,  2300,  2310,  2311,  2312,  2313,  2317,
1307     2318,  2319,  2321,  2322,  2323,  2325,  2326,  2327,  2331,  2335,
1308     2343,  2352,  2361,  2362,  2364,  2365,  2369,  2376,  2383,  2386,
1309     2399,  2413,  2416,  2418,  2420,  2425,  2426,  2430,  2431,  2432,
1310     2433,  2434,  2435,  2436,  2437,  2441,  2442,  2443,  2444,  2445,
1311     2446,  2447,  2448,  2449,  2450,  2454,  2455,  2456,  2457,  2458,
1312     2459,  2460,  2461,  2462,  2463,  2467,  2468,  2469,  2470,  2471,
1313     2472,  2473,  2474,  2475,  2476,  2477,  2478,  2482,  2483,  2484,
1314     2485,  2486,  2487,  2488,  2489,  2490,  2491,  2495,  2496,  2500,
1315     2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,  2510,  2512,
1316     2520,  2530,  2531,  2535,  2536,  2537,  2538,  2539,  2540,  2541,
1317     2542,  2543,  2551,  2560,  2561,  2562,  2563,  2564,  2565,  2566,
1318     2567,  2568,  2569,  2570,  2571,  2572,  2580,  2589,  2590,  2591,
1319     2592,  2593,  2594,  2595,  2596,  2597,  2598,  2599,  2600,  2601,
1320     2609,  2618,  2619,  2623,  2624,  2625,  2626,  2627,  2631,  2632,
1321     2639,  2641,  2650,  2659,  2668,  2677,  2678,  2679,  2680,  2684,
1322     2685,  2686,  2687,  2688,  2689,  2690,  2691,  2692,  2696,  2700,
1323     2701,  2702,  2703,  2704,  2709,  2718,  2727,  2736,  2750,  2751,
1324     2756,  2760,  2761,  2762,  2763,  2764,  2769,  2778,  2787,  2796,
1325     2810,  2811,  2860,  2861,  2862,  2863,  2875,  2876,  2877,  2882,
1326     2883,  2884,  2885,  2886,  2890,  2891,  2895,  2896,  2897,  2901,
1327     2902,  2906,  2907,  2908,  2909,  2910,  2911,  2912,  2913,  2914,
1328     2915,  2916,  2917,  2918,  2919,  2920,  2921,  2925,  2926,  2927,
1329     2928,  2929,  2930,  2931,  2932,  2936,  2937,  2938,  2939,  2943,
1330     2944,  2945,  2946,  2947,  2951,  2952,  2953,  2954,  2955,  2959,
1331     2960,  2962,  2964,  2966,  2971,  2972,  2974,  2976,  2981,  2982,
1332     2983,  2984,  2988,  2989,  2990,  2991,  2995,  2996,  2997,  2998,
1333     3002,  3003,  3004,  3005,  3009,  3010,  3011,  3012,  3016,  3017,
1334     3018,  3035,  3036,  3037,  3038,  3051,  3068,  3069,  3074,  3075,
1335     3079,  3080,  3081,  3082,  3085,  3086,  3090,  3091,  3092,  3096,
1336     3100,  3104,  3105,  3106,  3107,  3108,  3117,  3126,  3127,  3128,
1337     3129,  3133,  3134,  3138,  3139,  3144,  3145,  3146,  3147,  3148,
1338     3149,  3168,  3169,  3173,  3174,  3175,  3176,  3177,  3178,  3180,
1339     3181,  3182,  3183,  3187,  3188,  3189,  3190,  3191,  3193,  3194,
1340     3195,  3199,  3200,  3201,  3202,  3203,  3204,  3208,  3209,  3210,
1341     3215,  3216,  3217,  3218,  3219,  3220,  3221,  3222,  3223,  3224,
1342     3225,  3226,  3227,  3231,  3232,  3233,  3234,  3235,  3236,  3237,
1343     3241,  3242,  3243,  3247,  3248,  3249,  3253,  3254,  3255,  3256,
1344     3258,  3259,  3260,  3262,  3263,  3264,  3265,  3267,  3268,  3269,
1345     3273,  3274,  3275,  3276,  3277,  3279,  3280,  3281,  3282,  3283,
1346     3287,  3288,  3289,  3290,  3291,  3292,  3293,  3295,  3296,  3297,
1347     3298,  3299,  3303,  3304,  3305,  3309,  3310,  3314,  3315,  3316,
1348     3317,  3321,  3322,  3323,  3325,  3326,  3327,  3331,  3335,  3336,
1349     3338,  3339,  3340,  3344,  3345,  3346,  3347,  3351,  3352,  3356,
1350     3357,  3358,  3362,  3363,  3364,  3365,  3366,  3367,  3368,  3372,
1351     3373,  3374,  3375,  3379,  3380,  3381,  3382,  3386,  3390,  3394,
1352     3396,  3399,  3405,  3406,  3407,  3411,  3412,  3413,  3414,  3415,
1353     3416,  3420,  3421,  3425,  3426,  3427,  3429,  3430,  3432,  3433,
1354     3434,  3435,  3436,  3438,  3439,  3443,  3444,  3445,  3446,  3450,
1355     3451,  3452,  3453,  3455,  3456,  3457,  3458,  3459,  3460,  3461,
1356     3464,  3468,  3469,  3473,  3474,  3478,  3479,  3480,  3481,  3482,
1357     3483,  3484,  3485,  3489,  3490,  3491,  3492,  3498,  3499,  3501,
1358     3502,  3505,  3506,  3509,  3510,  3511,  3512,  3513,  3514,  3518,
1359     3519,  3531,  3532,  3535,  3538,  3540,  3541,  3542,  3552,  3554,
1360     3555,  3557,  3558,  3559,  3560,  3570,  3571,  3572,  3573,  3574,
1361     3575,  3579,  3580,  3589,  3591,  3592,  3594,  3596,  3600,  3601,
1362     3602,  3603,  3604,  3608,  3609,  3610,  3612,  3617,  3618,  3619,
1363     3623,  3624,  3625,  3629,  3633,  3634,  3635,  3639,  3640,  3644,
1364     3645,  3649,  3650,  3651,  3652,  3656,  3660,  3664,  3668
1365 };
1366 #endif
1367
1368 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1369 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1370    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1371 static const char *const yytname[] =
1372 {
1373   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1374   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1375   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1376   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1377   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1378   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1379   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1380   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1381   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1382   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1383   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1384   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1385   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1386   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1387   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1388   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1389   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1390   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1391   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL",
1392   "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD",
1393   "WIDE_STRING_LITERAL", "'*'", "'<'", "'>'", "'('", "')'", "'~'", "';'",
1394   "'='", "','", "'}'", "'{'", "'.'", "':'", "'$'", "'['", "']'", "'&'",
1395   "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'", "'?'", "$accept",
1396   "guess_type", "type", "base_strict_type", "base_strict_type_name",
1397   "strict_type", "class_function_definition_start",
1398   "constructor_function_definition_start",
1399   "destructor_function_definition_start",
1400   "virtual_class_function_definition_start",
1401   "class_function_definition_start_error",
1402   "virtual_class_function_definition_start_error",
1403   "class_function_definition", "class_function_definition_error",
1404   "instance_class_function_definition_start",
1405   "instance_class_function_definition_start_error",
1406   "instance_class_function_definition",
1407   "instance_class_function_definition_error", "data_member_initialization",
1408   "data_member_initialization_error", "data_member_initialization_list",
1409   "data_member_initialization_list_error",
1410   "data_member_initialization_list_coloned",
1411   "members_initialization_list_coloned", "members_initialization_list",
1412   "members_initialization_list_error", "instantiation_named",
1413   "instantiation_named_error", "guess_instantiation_named",
1414   "guess_instantiation_named_error", "external_guess_instantiation_named",
1415   "instantiation_unnamed", "instantiation_unnamed_error",
1416   "instantiation_anon", "instantiation_anon_error", "default_property",
1417   "default_property_error", "default_property_list",
1418   "default_property_list_error", "property_start", "property_body",
1419   "property", "class_property_start", "class_property_body",
1420   "class_property", "watch_property_list", "property_watch",
1421   "property_watch_list", "self_watch_definition", "watch_definition",
1422   "stopwatching", "firewatchers", "struct_declaration",
1423   "struct_declaration_error", "struct_declaration_list",
1424   "struct_declaration_list_error", "template_datatype",
1425   "template_type_argument", "template_type_parameter",
1426   "template_identifier_argument", "template_identifier_parameter",
1427   "template_expression_argument", "template_expression_parameter",
1428   "template_parameter", "template_parameters_list", "template_argument",
1429   "template_arguments_list", "class_entry", "class_decl", "class",
1430   "class_head", "class_error", "identifier", "primary_expression",
1431   "i18n_string", "constant", "simple_primary_expression",
1432   "anon_instantiation_expression", "anon_instantiation_expression_error",
1433   "primary_expression_error", "postfix_expression",
1434   "argument_expression_list", "argument_expression_list_error",
1435   "common_unary_expression", "unary_expression", "unary_operator",
1436   "cast_expression", "multiplicative_expression", "additive_expression",
1437   "shift_expression", "relational_expression_smaller_than",
1438   "relational_expression", "equality_expression", "and_expression",
1439   "exclusive_or_expression", "inclusive_or_expression",
1440   "logical_and_expression", "logical_or_expression",
1441   "conditional_expression", "assignment_expression", "assignment_operator",
1442   "expression", "expression_anon_inst", "postfix_expression_error",
1443   "common_unary_expression_error", "unary_expression_error",
1444   "cast_expression_error", "multiplicative_expression_error",
1445   "additive_expression_error", "shift_expression_error",
1446   "relational_expression_error", "equality_expression_error",
1447   "and_expression_error", "exclusive_or_expression_error",
1448   "inclusive_or_expression_error", "logical_and_expression_error",
1449   "logical_or_expression_error", "conditional_expression_error",
1450   "assignment_expression_error", "expression_error",
1451   "expression_anon_inst_error", "constant_expression",
1452   "constant_expression_error", "storage_class_specifier",
1453   "external_storage_class_specifier", "enumerator", "enumerator_list",
1454   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1455   "enum_specifier_compound_error", "enum_decl", "enum_class",
1456   "enum_class_error", "class_specifier", "class_specifier_error",
1457   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1458   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1459   "struct_entry", "struct_or_union_specifier_compound",
1460   "struct_or_union_specifier_compound_error",
1461   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1462   "struct_class", "struct_class_error", "struct_or_union",
1463   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1464   "declaration_specifiers", "guess_declaration_specifiers",
1465   "external_guess_declaration_specifiers",
1466   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1467   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1468   "new_specifiers", "identifier_list_error", "identifier_list",
1469   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1470   "direct_declarator_function_start", "direct_declarator_function",
1471   "direct_declarator_function_error", "direct_declarator",
1472   "direct_declarator_function_start_type_ok",
1473   "direct_declarator_function_type_ok",
1474   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1475   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1476   "attrib", "direct_abstract_declarator",
1477   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1478   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1479   "declarator_function", "declarator_function_error",
1480   "declarator_function_type_ok", "declarator_function_error_type_ok",
1481   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1482   "initializer_condition", "initializer_condition_error",
1483   "initializer_list", "init_declarator", "init_declarator_error",
1484   "init_declarator_list", "init_declarator_list_error", "type_name",
1485   "guess_type_name", "parameter_declaration",
1486   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1487   "parameter_type_list", "parameter_type_list_error", "statement",
1488   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1489   "labeled_statement", "labeled_statement_error", "declaration_mode",
1490   "member_access", "declaration", "external_guess_declaration",
1491   "external_guess_declaration_error", "declaration_error",
1492   "declaration_list", "declaration_list_error", "statement_list",
1493   "statement_list_error", "compound_inside", "compound_inside_error",
1494   "compound_start", "compound_statement", "compound_statement_error",
1495   "expression_statement", "selection_statement",
1496   "selection_statement_error", "iteration_statement",
1497   "iteration_statement_error", "jump_statement", "jump_statement_error",
1498   "function_definition", "function_definition_error", "string_literal",
1499   "external_declaration", "external_declaration_error",
1500   "translation_unit_error", "translation_unit", "thefile",
1501   "dbtable_definition", "dbfield_entry", "dbindex_item",
1502   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1503   "database_open", "dbfield", "dbindex", "dbtable", 0
1504 };
1505 #endif
1506
1507 # ifdef YYPRINT
1508 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1509    token YYLEX-NUM.  */
1510 static const yytype_uint16 yytoknum[] =
1511 {
1512        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1513      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1514      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1515      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1516      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1517      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1518      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1519      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1520      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1521      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1522      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1523      365,   366,   367,   368,   369,   370,   371,   372,   373,    42,
1524       60,    62,    40,    41,   126,    59,    61,    44,   125,   123,
1525       46,    58,    36,    91,    93,    38,    43,    45,    33,    47,
1526       37,    94,   124,    63
1527 };
1528 # endif
1529
1530 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1531 static const yytype_uint16 yyr1[] =
1532 {
1533        0,   144,   145,   145,   146,   146,   147,   148,   149,   149,
1534      149,   150,   150,   151,   152,   153,   153,   154,   154,   155,
1535      155,   156,   156,   156,   156,   156,   156,   156,   157,   157,
1536      157,   157,   157,   158,   158,   159,   160,   161,   161,   161,
1537      162,   162,   163,   163,   163,   164,   164,   164,   165,   165,
1538      165,   165,   165,   165,   166,   166,   167,   167,   167,   167,
1539      167,   167,   167,   167,   167,   168,   168,   168,   168,   169,
1540      169,   169,   169,   169,   169,   169,   170,   170,   171,   171,
1541      171,   171,   171,   172,   172,   173,   173,   173,   173,   173,
1542      174,   174,   174,   175,   175,   176,   176,   176,   176,   176,
1543      176,   176,   176,   176,   176,   177,   177,   178,   178,   178,
1544      178,   178,   179,   180,   180,   180,   181,   181,   181,   182,
1545      182,   182,   182,   183,   183,   183,   183,   183,   184,   184,
1546      184,   184,   184,   184,   185,   186,   186,   186,   186,   186,
1547      187,   187,   187,   188,   189,   189,   190,   190,   191,   191,
1548      192,   193,   193,   194,   194,   194,   194,   195,   195,   195,
1549      195,   196,   196,   196,   196,   196,   196,   196,   196,   196,
1550      196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
1551      197,   197,   197,   197,   197,   197,   197,   197,   197,   197,
1552      197,   197,   197,   197,   197,   197,   198,   198,   198,   199,
1553      199,   199,   199,   199,   200,   200,   201,   201,   202,   202,
1554      202,   202,   202,   202,   202,   202,   203,   204,   204,   205,
1555      206,   206,   207,   207,   207,   208,   208,   209,   209,   209,
1556      209,   209,   209,   210,   210,   211,   212,   212,   212,   212,
1557      212,   212,   212,   212,   213,   213,   213,   213,   213,   213,
1558      214,   215,   215,   215,   215,   215,   215,   216,   217,   217,
1559      218,   218,   218,   219,   220,   220,   220,   220,   220,   220,
1560      220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1561      220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1562      220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1563      220,   220,   221,   222,   223,   223,   224,   224,   224,   224,
1564      224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1565      224,   224,   224,   224,   225,   225,   225,   225,   226,   226,
1566      226,   226,   226,   227,   227,   227,   227,   227,   227,   227,
1567      227,   227,   227,   228,   228,   229,   229,   229,   229,   229,
1568      229,   229,   229,   230,   230,   231,   231,   231,   231,   231,
1569      231,   231,   232,   232,   232,   232,   232,   233,   233,   233,
1570      233,   233,   234,   235,   235,   235,   235,   235,   235,   235,
1571      235,   235,   236,   236,   236,   236,   236,   236,   236,   236,
1572      236,   237,   237,   237,   237,   237,   238,   238,   238,   238,
1573      238,   239,   239,   239,   239,   239,   240,   240,   240,   241,
1574      241,   241,   242,   242,   242,   242,   242,   242,   242,   242,
1575      242,   242,   242,   242,   242,   242,   242,   242,   242,   243,
1576      243,   243,   243,   243,   243,   243,   243,   243,   244,   244,
1577      244,   244,   244,   244,   244,   244,   244,   244,   244,   245,
1578      245,   245,   245,   246,   246,   246,   247,   247,   247,   247,
1579      247,   247,   247,   247,   247,   247,   247,   248,   248,   248,
1580      248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1581      250,   251,   251,   251,   251,   251,   251,   251,   252,   252,
1582      252,   252,   252,   253,   253,   253,   253,   253,   254,   254,
1583      254,   254,   254,   254,   254,   254,   254,   255,   255,   255,
1584      255,   255,   255,   255,   255,   255,   256,   256,   256,   256,
1585      256,   257,   257,   257,   257,   257,   258,   258,   258,   258,
1586      258,   259,   259,   259,   260,   260,   260,   261,   261,   261,
1587      261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
1588      261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
1589      261,   261,   261,   261,   261,   261,   262,   262,   262,   262,
1590      262,   263,   263,   263,   263,   263,   263,   263,   264,   264,
1591      264,   264,   265,   266,   267,   267,   267,   267,   267,   267,
1592      267,   268,   268,   268,   268,   268,   268,   268,   269,   269,
1593      269,   270,   270,   270,   271,   272,   272,   273,   273,   273,
1594      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
1595      274,   274,   274,   274,   275,   275,   276,   276,   276,   277,
1596      277,   277,   277,   277,   277,   277,   277,   277,   277,   277,
1597      277,   277,   277,   277,   277,   277,   277,   277,   277,   278,
1598      278,   279,   279,   280,   281,   281,   281,   282,   282,   283,
1599      283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
1600      283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
1601      283,   283,   283,   283,   283,   284,   284,   284,   284,   284,
1602      284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
1603      284,   284,   284,   284,   284,   284,   284,   284,   284,   285,
1604      285,   285,   285,   285,   285,   285,   285,   285,   285,   286,
1605      286,   287,   287,   287,   287,   288,   288,   288,   288,   289,
1606      289,   289,   289,   289,   289,   289,   289,   289,   290,   291,
1607      291,   292,   293,   293,   293,   293,   294,   294,   294,   294,
1608      294,   294,   294,   294,   294,   295,   295,   296,   296,   296,
1609      296,   296,   296,   296,   296,   297,   297,   297,   297,   297,
1610      297,   297,   297,   297,   297,   298,   298,   298,   298,   298,
1611      298,   298,   298,   298,   298,   299,   299,   299,   299,   299,
1612      299,   299,   299,   299,   299,   299,   299,   300,   300,   300,
1613      300,   300,   300,   300,   300,   300,   300,   301,   301,   302,
1614      302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
1615      302,   303,   303,   304,   304,   304,   304,   304,   304,   304,
1616      304,   304,   304,   305,   305,   305,   305,   305,   305,   305,
1617      305,   305,   305,   305,   305,   305,   305,   306,   306,   306,
1618      306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1619      306,   307,   307,   308,   308,   308,   308,   308,   309,   309,
1620      309,   309,   309,   309,   309,   309,   309,   309,   309,   310,
1621      310,   310,   310,   310,   310,   310,   310,   310,   311,   312,
1622      312,   312,   312,   312,   313,   313,   313,   313,   314,   314,
1623      315,   316,   316,   316,   316,   316,   317,   317,   317,   317,
1624      318,   318,   319,   319,   319,   319,   320,   320,   320,   321,
1625      321,   321,   321,   321,   322,   322,   323,   323,   323,   324,
1626      324,   325,   325,   325,   325,   325,   325,   325,   325,   325,
1627      325,   325,   325,   325,   325,   325,   325,   326,   326,   326,
1628      326,   326,   326,   326,   326,   327,   327,   327,   327,   328,
1629      328,   328,   328,   328,   329,   329,   329,   329,   329,   330,
1630      330,   330,   330,   330,   331,   331,   331,   331,   332,   332,
1631      332,   332,   333,   333,   333,   333,   334,   334,   334,   334,
1632      335,   335,   335,   335,   336,   336,   336,   336,   337,   337,
1633      337,   338,   338,   338,   338,   338,   339,   339,   340,   340,
1634      341,   341,   341,   341,   341,   341,   342,   342,   342,   343,
1635      343,   344,   344,   344,   344,   344,   344,   345,   345,   345,
1636      345,   346,   346,   347,   347,   348,   348,   348,   348,   348,
1637      348,   349,   349,   350,   350,   350,   350,   350,   350,   350,
1638      350,   350,   350,   351,   351,   351,   351,   351,   351,   351,
1639      351,   352,   352,   352,   352,   352,   352,   353,   353,   353,
1640      354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1641      354,   354,   354,   355,   355,   355,   355,   355,   355,   355,
1642      356,   356,   356,   357,   357,   357,   358,   358,   358,   358,
1643      358,   358,   358,   358,   358,   358,   358,   358,   358,   358,
1644      359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1645      360,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1646      360,   360,   361,   361,   361,   362,   362,   363,   363,   363,
1647      363,   364,   364,   364,   364,   364,   364,   365,   366,   366,
1648      366,   366,   366,   367,   367,   367,   367,   368,   368,   369,
1649      369,   369,   370,   370,   370,   370,   370,   370,   370,   371,
1650      371,   371,   371,   372,   372,   372,   372,   373,   374,   375,
1651      375,   375,   376,   376,   376,   377,   377,   377,   377,   377,
1652      377,   378,   378,   379,   379,   379,   379,   379,   379,   379,
1653      379,   379,   379,   379,   379,   380,   380,   380,   380,   380,
1654      380,   380,   380,   380,   380,   380,   380,   380,   380,   380,
1655      380,   380,   380,   380,   380,   381,   381,   381,   381,   381,
1656      381,   381,   381,   382,   382,   382,   382,   383,   383,   383,
1657      383,   383,   383,   384,   384,   384,   384,   384,   384,   385,
1658      385,   386,   386,   386,   386,   386,   386,   386,   386,   386,
1659      386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
1660      386,   387,   387,   387,   387,   387,   387,   387,   388,   388,
1661      388,   388,   388,   389,   389,   389,   389,   390,   390,   390,
1662      391,   391,   391,   392,   393,   393,   393,   394,   394,   395,
1663      395,   396,   396,   396,   396,   397,   398,   399,   400
1664 };
1665
1666 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1667 static const yytype_uint8 yyr2[] =
1668 {
1669        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1670        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1671        2,     2,     2,     2,     2,     2,     2,     3,     2,     1,
1672        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1673        3,     1,     3,     3,     1,     1,     3,     3,     1,     3,
1674        3,     3,     3,     1,     2,     2,     1,     1,     2,     2,
1675        2,     2,     2,     2,     1,     1,     1,     2,     2,     1,
1676        2,     2,     2,     2,     1,     2,     2,     3,     4,     5,
1677        4,     3,     4,     2,     3,     4,     5,     4,     3,     4,
1678        5,     5,     4,     2,     3,     3,     3,     3,     2,     4,
1679        3,     3,     2,     4,     3,     2,     3,     2,     3,     2,
1680        1,     2,     3,     3,     3,     2,     1,     3,     3,     1,
1681        3,     3,     2,     4,     5,     3,     4,     3,     1,     3,
1682        3,     3,     2,     3,     2,     4,     5,     3,     4,     3,
1683        1,     3,     3,     2,     1,     2,     2,     2,     1,     2,
1684        5,     7,     9,     6,     8,     4,     6,     1,     2,     3,
1685        4,     2,     2,     1,     1,     2,     2,     1,     1,     1,
1686        1,     7,     1,     2,     4,     1,     1,     2,     3,     2,
1687        2,     2,     3,     1,     2,     2,     2,     1,     1,     1,
1688        2,     2,     2,     3,     3,     1,     1,     2,     2,     1,
1689        2,     2,     2,     2,     1,     2,     1,     2,     2,     4,
1690        4,     6,     2,     4,     4,     6,     1,     1,     3,     1,
1691        4,     5,     1,     1,     1,     1,     3,     1,     1,     1,
1692        3,     3,     3,     1,     3,     1,     2,     2,     3,     3,
1693        5,     5,     6,     6,     2,     2,     3,     3,     3,     3,
1694        3,     3,     3,     3,     3,     3,     3,     1,     1,     3,
1695        1,     2,     4,     1,     1,     1,     4,     4,     5,     8,
1696        2,     1,     1,     1,     2,     6,     6,     5,     5,     6,
1697        6,     5,     5,     7,     7,     6,     6,     7,     7,     6,
1698        6,     4,     5,     4,     6,     4,     1,     1,     1,     1,
1699        3,     2,     1,     2,     2,     2,     1,     4,     4,     3,
1700        4,     4,     3,     3,     2,     2,     4,     4,     3,     4,
1701        3,     3,     2,     2,     1,     1,     3,     3,     1,     1,
1702        3,     3,     2,     2,     2,     2,     2,     2,     4,     5,
1703        5,     2,     4,     1,     1,     1,     1,     1,     1,     1,
1704        1,     1,     1,     1,     4,     1,     3,     3,     3,     3,
1705        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1706        3,     3,     2,     1,     2,     3,     3,     3,     3,     3,
1707        3,     3,     1,     3,     3,     3,     3,     3,     3,     3,
1708        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1709        3,     1,     3,     3,     3,     3,     1,     3,     3,     1,
1710        3,     3,     1,     5,     5,     5,     5,     5,     5,     5,
1711        5,     5,     5,     5,     5,     5,     5,     5,     5,     1,
1712        3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
1713        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1714        3,     3,     2,     1,     3,     3,     1,     1,     2,     2,
1715        3,     3,     3,     3,     3,     3,     3,     2,     2,     2,
1716        2,     2,     5,     6,     6,     2,     5,     1,     1,     1,
1717        4,     1,     3,     3,     3,     3,     3,     3,     1,     3,
1718        3,     3,     3,     1,     3,     3,     3,     3,     1,     2,
1719        3,     3,     3,     3,     3,     3,     3,     1,     3,     3,
1720        3,     3,     3,     3,     3,     3,     1,     3,     3,     3,
1721        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1722        3,     1,     3,     3,     1,     3,     3,     1,     5,     5,
1723        5,     5,     4,     4,     4,     4,     5,     5,     5,     5,
1724        4,     4,     4,     4,     5,     5,     5,     5,     5,     5,
1725        5,     5,     3,     3,     2,     2,     1,     3,     3,     3,
1726        3,     1,     2,     3,     3,     2,     2,     2,     1,     2,
1727        3,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1728        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1729        3,     1,     3,     2,     1,     2,     2,     2,     4,     4,
1730        3,     3,     4,     5,     4,     6,     6,     4,     5,     4,
1731        6,     6,     5,     5,     2,     2,     2,     5,     3,     5,
1732        6,     5,     7,     7,     8,     8,     7,     7,     3,     3,
1733        3,     4,     3,     5,     5,     6,     7,     6,     4,     1,
1734        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
1735        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1736        1,     1,     1,     1,     1,     4,     4,     4,     1,     1,
1737        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1738        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1739        1,     1,     1,     1,     1,     4,     4,     4,     1,     1,
1740        2,     2,     3,     5,     2,     3,     5,     5,     5,     1,
1741        3,     2,     2,     3,     3,     2,     3,     3,     4,     3,
1742        3,     3,     3,     3,     3,     4,     4,     4,     1,     1,
1743        4,     3,     2,     3,     3,     3,     3,     3,     3,     3,
1744        3,     3,     3,     3,     3,     1,     1,     1,     2,     1,
1745        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1746        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1747        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1748        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1749        2,     1,     2,     1,     2,     1,     2,     1,     2,     1,
1750        1,     1,     2,     1,     2,     1,     2,     1,     2,     4,
1751        5,     1,     1,     1,     2,     1,     2,     1,     2,     1,
1752        2,     4,     5,     1,     2,     1,     2,     1,     2,     1,
1753        2,     1,     2,     1,     2,     4,     5,     1,     2,     1,
1754        2,     1,     2,     1,     2,     1,     2,     1,     2,     4,
1755        5,     3,     3,     1,     3,     3,     3,     3,     1,     1,
1756        1,     4,     4,     4,     3,     4,     4,     4,     3,     1,
1757        3,     4,     3,     4,     4,     4,     4,     3,     2,     3,
1758        3,     3,     3,     2,     2,     2,     3,     4,     1,     1,
1759        2,     3,     3,     3,     3,     2,     2,     2,     3,     4,
1760        1,     1,     1,     1,     1,     4,     1,     1,     1,     1,
1761        1,     1,     1,     1,     1,     4,     1,     2,     3,     6,
1762        5,     3,     4,     2,     3,     3,     3,     3,     4,     4,
1763        4,     2,     3,     3,     3,     4,     4,     3,     4,     2,
1764        3,     3,     3,     4,     4,     1,     2,     2,     3,     1,
1765        1,     2,     2,     3,     1,     1,     2,     2,     3,     1,
1766        2,     3,     2,     2,     1,     2,     3,     2,     1,     2,
1767        3,     3,     1,     2,     3,     3,     1,     2,     3,     3,
1768        1,     2,     3,     3,     1,     2,     3,     3,     1,     3,
1769        4,     1,     4,     2,     5,     3,     1,     1,     1,     1,
1770        1,     1,     3,     3,     2,     2,     1,     1,     3,     2,
1771        3,     1,     3,     3,     3,     3,     3,     1,     2,     3,
1772        3,     1,     2,     1,     2,     2,     2,     2,     3,     1,
1773        1,     3,     3,     1,     3,     4,     3,     4,     3,     3,
1774        4,     3,     4,     1,     3,     3,     4,     3,     3,     3,
1775        4,     1,     3,     3,     3,     3,     3,     1,     3,     2,
1776        1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1777        2,     2,     2,     1,     1,     1,     1,     1,     2,     1,
1778        1,     4,     7,     1,     3,     0,     6,     8,    10,    12,
1779        8,    10,    10,     5,     7,     9,    11,     7,     9,     9,
1780        3,     4,     4,     3,     3,     3,     4,     4,     3,     3,
1781        3,     4,     4,     3,     2,     3,     2,     3,     4,     4,
1782        3,     3,     1,     1,     1,     1,     1,     2,     3,     2,
1783        2,     2,     3,     3,     2,     5,     6,     2,     2,     2,
1784        2,     2,     2,     1,     2,     2,     3,     1,     2,     1,
1785        2,     2,     1,     2,     2,     2,     2,     2,     2,     1,
1786        1,     2,     2,     1,     1,     2,     2,     1,     2,     2,
1787        1,     2,     1,     2,     2,     5,     5,     7,     7,     5,
1788        5,     3,     2,     5,     4,     4,     7,     6,     6,     5,
1789        7,     6,     4,     7,     9,     3,     4,     4,     5,     5,
1790        6,     7,     6,     6,     5,     5,     4,     3,     2,     1,
1791        2,     4,     3,     5,     4,     3,     2,     2,     2,     3,
1792        3,     3,     3,     2,     2,     1,     1,     4,     3,     4,
1793        3,     3,     2,     4,     3,     4,     3,     3,     2,     1,
1794        2,     1,     1,     2,     1,     2,     3,     3,     1,     2,
1795        2,     2,     3,     4,     4,     2,     2,     2,     2,     1,
1796        2,     1,     2,     1,     2,     2,     1,     2,     1,     2,
1797        2,     2,     2,     1,     2,     2,     3,     1,     1,     0,
1798        6,     6,     5,     4,     1,     2,     2,     1,     3,     3,
1799        4,     1,     1,     2,     2,     6,     6,     6,     4
1800 };
1801
1802 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1803    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1804    means the default is an error.  */
1805 static const yytype_uint16 yydefact[] =
1806 {
1807     1289,   257,     6,   591,   592,   593,   595,   596,   660,   661,
1808      662,   663,   664,   666,   669,   670,   667,   668,   654,   655,
1809      659,   665,   755,   756,   604,  1134,   235,   678,   912,   913,
1810        0,     0,   916,  1132,  1133,   679,   680,   671,     0,     0,
1811        0,     0,     0,   917,   918,   682,   681,   683,   684,   597,
1812      594,   955,     0,  1258,   803,   674,     8,     4,     0,     0,
1813        0,  1252,     0,  1271,   879,   797,     0,   673,     0,   649,
1814      651,   805,   807,   656,   799,   801,   738,   672,     0,     0,
1815      650,   652,     0,     0,     0,     0,     0,   978,   653,     0,
1816      914,     0,     0,     0,  1254,  1276,  1251,  1273,  1283,  1278,
1817        0,     0,     0,  1269,     0,  1266,  1249,     0,     0,  1255,
1818        0,     0,     0,     0,  1268,  1267,     0,   657,   956,   653,
1819      957,   870,   869,   879,   911,   868,   898,   969,     0,   910,
1820      974,     0,     0,     0,     0,     0,     0,  1144,     0,   237,
1821      236,     0,     0,   245,     0,   244,     2,     3,     0,     5,
1822        0,   606,   605,     0,     0,   626,     0,     0,     0,     0,
1823      742,     0,   722,   721,     0,  1147,   593,   663,   664,  1141,
1824      804,     8,  1253,  1272,   879,   798,   806,   808,   800,   802,
1825      978,   986,   653,     0,     0,  1017,     0,     0,     0,  1027,
1826        0,     0,   870,     0,   869,     0,     0,   888,     0,     0,
1827      584,   585,   586,   588,   589,  1040,   590,   587,   893,   791,
1828      863,   785,     0,   795,     0,   787,   789,   738,   793,     0,
1829        0,  1039,     0,     0,  1043,  1053,     0,     0,     0,     0,
1830        0,     0,   979,     0,   686,   687,   688,   689,   690,   692,
1831      695,   696,   693,   694,   685,   691,   708,   697,     0,     0,
1832      702,   701,   703,   704,  1177,   700,     0,     0,   775,   699,
1833      781,   777,   779,   783,   698,     0,  1153,     0,     0,     0,
1834        0,  1242,  1248,   593,     0,  1265,  1260,  1274,     0,  1261,
1835     1277,  1259,  1275,  1270,  1282,  1285,     0,     0,     0,     0,
1836        0,  1280,  1281,  1284,  1279,     1,     0,  1256,  1257,  1250,
1837        0,     0,   457,   263,     0,     0,     0,     0,     0,     0,
1838      351,   352,     0,     0,     0,     0,     0,     0,     0,     0,
1839        0,     0,   273,   346,     0,   349,     0,     0,   345,   347,
1840      348,   350,     0,   265,     0,   264,   306,   272,   271,   258,
1841      456,     0,   343,   353,     0,   355,   362,   367,   373,     0,
1842      382,   391,   396,   401,   406,   409,   412,   429,     0,   478,
1843      477,   479,   481,   488,   493,   498,   507,   516,   521,   526,
1844      531,   534,   537,     0,   260,   296,   297,   298,   299,     0,
1845        0,     0,     0,     0,   658,   958,     0,   900,     0,   905,
1846        0,     0,     0,     0,     0,     0,     0,   911,   970,   975,
1847        0,   880,   972,   882,   977,   973,   671,     4,   229,   228,
1848      227,   233,     0,   264,   353,   219,   479,     0,   206,   249,
1849        0,     0,   248,   255,     0,     0,  1135,  1136,     0,   168,
1850        0,   169,   170,     0,     0,     0,     0,     0,   172,   246,
1851        0,     0,     0,     0,    29,    31,   163,   175,   188,     0,
1852      187,     0,   116,   119,     0,   195,   128,     0,   164,   140,
1853        0,   167,   183,   196,   199,     0,     0,   264,     0,     0,
1854      176,     0,   982,   653,     0,    12,    18,     0,   810,   809,
1855      817,   811,     0,   813,   815,   738,   822,   821,   250,   256,
1856      247,     0,     0,   239,   238,   639,   598,   601,   638,   642,
1857      628,     0,     0,     0,   222,   223,   224,   225,     0,   217,
1858        0,   751,   744,     0,     0,   741,   748,   743,     0,     0,
1859      754,   745,     0,     0,   724,   723,     0,     0,     0,     0,
1860        0,   979,   987,     0,  1019,     0,     0,  1238,  1244,     0,
1861     1240,  1246,  1028,  1142,     0,     0,     0,  1143,   887,     0,
1862      264,   582,   583,     0,     0,     0,     0,   606,   605,   607,
1863        0,   725,     0,     0,   663,     0,     0,  1037,   792,     8,
1864      879,   786,   796,   788,   790,   794,   911,   868,   653,   960,
1865      959,     0,     0,     0,   892,     0,     0,   891,     0,     0,
1866        0,  1069,     0,   889,   890,   980,     0,   981,     0,     0,
1867     1151,  1139,  1150,    76,  1148,   689,   690,  1137,   879,   776,
1868      782,   778,   780,   784,   653,     0,  1152,  1149,  1140,     0,
1869     1154,     0,  1241,  1247,  1155,     0,     0,     0,     0,     0,
1870        0,     0,     0,  1236,     0,     0,     0,   697,     0,     0,
1871        0,   157,  1073,  1074,   700,     0,     0,     0,   264,     0,
1872      353,     0,     0,   479,   566,   571,     0,  1071,  1159,  1162,
1873     1079,  1070,  1083,     0,     0,     0,     0,  1181,  1179,  1072,
1874     1085,     0,  1086,  1077,  1084,     0,  1087,  1178,     0,     0,
1875     1262,   879,     0,     0,     0,  1272,     0,   868,   986,   653,
1876        0,     0,     0,     0,  1248,  1286,     0,     0,   412,     0,
1877        0,   915,     0,   337,   471,     0,   333,   467,   334,   468,
1878        0,   857,   847,   855,   849,   851,   853,     0,     0,     0,
1879        0,     0,     0,     0,     0,     0,     0,     0,     0,   341,
1880      475,   274,     0,     0,     0,   761,   757,   759,   763,  1031,
1881        0,   261,     0,   301,   302,     0,   325,     0,   324,     0,
1882      459,    93,     0,   270,   458,     0,   314,   315,     0,     0,
1883        0,   439,   440,   441,   442,   443,   444,   445,   446,   447,
1884      448,   438,     0,     0,   336,   470,   335,   469,     0,     0,
1885        0,     0,     0,     0,     0,   374,   499,     0,     0,   372,
1886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1887      675,     0,   322,   323,     0,     0,     0,     0,     0,     0,
1888        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1889        0,     0,     0,     0,     0,     0,     0,     0,   676,   677,
1890        0,     0,     0,  1301,  1302,     0,     0,     0,   874,     0,
1891        0,     0,   878,     0,     0,     0,   904,   903,   901,   902,
1892      911,   970,   975,   881,   883,   997,    10,     9,     0,     0,
1893        0,   653,   959,   207,     0,     0,   264,   206,     0,     0,
1894      829,   823,   825,   827,     0,     0,     0,    16,    20,     0,
1895      185,   184,   186,     0,     0,     0,     0,   346,     0,   264,
1896        0,    26,     0,    21,    28,    24,     0,    25,    23,    22,
1897       30,    32,   190,    83,   191,   122,   162,     0,     0,     0,
1898        0,   132,     0,     0,   134,     0,     0,   143,   161,   200,
1899      197,   202,   201,   198,   203,   115,     0,     0,     0,   879,
1900      719,   177,   994,     0,   990,   653,     0,    11,    17,   709,
1901      895,  1039,     0,     0,     0,   983,     0,     0,   173,   165,
1902      192,   181,     0,   180,     0,   166,   879,   179,     0,   606,
1903      605,   818,   812,   814,   816,     0,     0,     0,   603,   641,
1904        0,     0,     7,   212,   208,   740,     0,     0,     0,     0,
1905     1016,  1023,  1024,  1025,    64,    53,    92,    39,    38,    57,
1906       69,    45,    48,     0,    74,    56,     0,     0,     0,  1007,
1907     1009,     0,  1006,  1008,     0,    41,    44,   911,   980,   971,
1908      988,   976,   997,   989,     0,   998,  1001,  1018,  1020,  1237,
1909     1243,  1239,  1245,  1022,  1029,  1026,  1030,   886,   884,   885,
1910     1066,  1048,  1057,   611,   610,     0,     0,   457,   726,     0,
1911        0,   457,   727,     0,     0,     0,   941,   879,     0,     0,
1912      653,   959,     0,     0,     0,   933,     0,     0,     0,     0,
1913        0,  1038,   962,     0,     0,   961,  1042,  1041,     0,   862,
1914     1065,   865,  1051,  1059,     0,   861,  1064,   864,  1049,  1058,
1915        0,  1068,  1062,   866,  1044,  1054,     0,  1063,   867,  1046,
1916     1055,   919,   920,   923,   922,   921,     0,   924,   926,     0,
1917        0,     0,     0,    77,     0,  1138,  1156,     0,     0,     0,
1918        0,     0,     0,  1220,     0,     0,     0,     0,     0,     0,
1919        0,     0,     0,     0,   264,     0,  1071,  1218,  1076,  1078,
1920        0,     0,  1226,  1227,  1228,     0,  1234,     0,     0,     0,
1921        0,     0,     0,   158,   144,  1082,  1081,  1080,     0,     0,
1922        0,   572,     0,  1075,     0,     0,     0,     0,   452,     0,
1923        0,   457,     0,     0,     0,     0,  1160,  1163,  1165,     0,
1924     1161,  1164,  1166,     0,  1192,  1088,  1263,  1264,   237,   236,
1925        0,     0,     0,   987,     0,     0,  1244,     0,  1246,  1247,
1926        0,     0,  1145,     0,     0,   769,   264,   771,   765,   767,
1927      773,  1033,     0,     0,     0,     0,     0,     0,   858,   848,
1928      856,   850,   852,   854,   653,   965,   964,     0,   843,   833,
1929      841,   835,   837,   839,     0,     0,     0,     0,     0,     0,
1930        0,     0,     0,     0,     0,     0,     0,     0,   259,     0,
1931      762,   758,   760,   764,  1032,     0,     0,   457,     0,     0,
1932        0,   105,     0,   300,   457,     0,     0,    94,   457,     0,
1933        0,   460,   313,   309,   329,   462,   463,   328,   464,   312,
1934        0,     0,   434,   430,   303,   356,   482,   357,   483,   358,
1935      484,   363,   489,   364,   490,   368,   494,   369,   495,   376,
1936      501,   377,   502,   375,   500,   387,   512,   383,   508,   388,
1937      513,   384,   509,   394,   519,   392,   517,   399,   524,   397,
1938      522,   404,   529,   402,   527,   407,   532,   410,   535,   562,
1939        0,   578,     0,     0,     0,     0,   436,   432,   461,   321,
1940      318,     0,   465,   466,   320,     0,     0,   435,   431,   359,
1941      485,   360,   486,   361,   487,   365,   491,   366,   492,   370,
1942      496,   371,   497,   380,   505,   381,   506,   378,   503,   379,
1943      504,   389,   514,   385,   510,   390,   515,   386,   511,   395,
1944      520,   393,   518,   400,   525,   398,   523,   405,   530,   403,
1945      528,   408,   533,   411,   536,   563,     0,     0,     0,     0,
1946      437,   433,     0,     0,  1294,  1297,     0,     0,  1292,  1303,
1947     1304,     0,     0,   873,   871,   872,   877,   875,   876,   234,
1948      232,   231,   230,   264,   653,   962,   241,     0,   207,   240,
1949      127,     0,   125,   830,   824,   826,   828,     0,   653,     0,
1950       15,    19,     0,   182,   994,   653,     0,   139,     0,   137,
1951      830,     0,   264,   653,     0,    27,    84,   117,   120,   118,
1952      121,   129,   130,   131,   133,   141,   142,   114,   112,   113,
1953       13,   711,   714,     0,     0,   907,  1039,     0,     0,     0,
1954      995,   991,     0,     0,   710,   879,   896,   984,   985,   879,
1955      193,   194,   178,     0,     0,     0,     0,   599,   600,   602,
1956        0,     0,   631,   627,     0,     0,     0,     0,     0,   226,
1957      218,   216,     0,     0,     0,    36,    37,    75,    54,     0,
1958       55,     0,    63,    61,    72,    67,    73,    60,    90,    39,
1959       70,    62,    91,    59,    71,    68,     0,    58,     0,   689,
1960       33,    35,    34,  1010,  1011,     0,   619,   609,     0,   614,
1961      608,     0,   457,   728,     0,     0,     0,   959,     0,   931,
1962      942,   943,   936,   934,   935,     0,   963,   944,     0,     0,
1963      937,     0,     0,     0,  1052,  1060,  1039,  1050,  1045,  1047,
1964     1056,   930,     0,     0,     0,   927,   705,   706,   707,   457,
1965        0,     0,  1113,  1123,  1118,     0,     0,     0,  1114,  1125,
1966     1119,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1968        0,  1217,  1205,     0,  1182,   264,     0,     0,     0,  1225,
1969     1231,  1232,  1229,  1230,     0,     0,     0,     0,   145,  1110,
1970     1120,  1115,     0,   159,   569,   567,     0,     0,     0,   450,
1971      573,   570,   568,   451,   574,     0,   988,  1243,  1245,  1146,
1972        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1973      770,   772,   766,   768,   774,  1034,     0,   293,   291,     0,
1974        0,   949,   653,     0,     0,     0,     0,     0,     0,   967,
1975        0,   966,     0,     0,     0,   844,   834,   842,   836,   838,
1976      840,     0,   267,     0,   266,   295,     0,     0,     0,     0,
1977        0,     0,  1308,     0,     0,     0,     0,   354,   480,   262,
1978      108,   106,   327,   326,    99,   103,   310,     0,   311,   307,
1979      308,   579,     0,     0,     0,     0,     0,     0,   319,   316,
1980      317,     0,     0,     0,     0,  1296,  1295,  1299,     0,     0,
1981        0,  1291,  1290,     0,   959,   218,     0,     0,   123,   126,
1982        0,     0,     0,     0,     0,   995,     0,   135,   138,     0,
1983       14,   457,     0,     0,   720,     0,   879,   908,   996,   992,
1984      993,   712,   715,   897,   174,   819,     0,   243,   242,     0,
1985      630,     0,   213,   214,   204,   209,   210,   220,     0,     0,
1986       51,    46,    49,    52,    47,    50,    37,    43,    40,    42,
1987        0,     0,  1014,  1015,   618,     0,   613,     0,   962,   961,
1988      932,   945,   946,   939,   938,   940,  1036,  1035,     0,   929,
1989      928,    79,  1111,  1121,  1116,     0,  1112,  1122,  1117,     0,
1990        0,     0,     0,     0,  1221,  1195,     0,     0,  1194,  1224,
1991        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1992        0,  1202,     0,  1183,  1206,  1184,  1207,     0,     0,     0,
1993     1095,   915,  1095,     0,     0,   155,     0,     0,     0,   160,
1994        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1995      472,   292,   859,     0,   964,     0,   947,   950,   951,   277,
1996      278,     0,   968,   952,     0,     0,     0,     0,     0,     0,
1997        0,     0,     0,     0,   268,   281,   282,     0,     0,     0,
1998        0,     0,     0,     0,     0,     0,   476,   331,   330,   454,
1999      580,   421,   554,   413,   538,   425,   558,   417,   546,   455,
2000      581,   422,   555,   414,   539,   426,   559,   418,   547,   423,
2001      556,   415,   540,   427,   560,   419,   548,   424,   557,   416,
2002      541,   428,   561,   420,   549,  1298,  1300,  1293,   831,     0,
2003      124,   150,   996,     0,   136,    86,   909,     0,     0,   820,
2004        0,     0,     0,     0,     0,     0,   205,     0,   221,     0,
2005        0,  1012,  1013,  1002,     0,     0,     0,     0,   925,  1185,
2006     1186,  1189,  1190,  1193,  1223,     0,     0,     0,     0,     0,
2007        0,     0,  1199,  1208,     0,     0,     0,     0,  1093,     0,
2008     1090,  1103,     0,  1095,     0,  1095,     0,     0,     0,     0,
2009      474,   473,   966,   948,   860,   953,   954,   275,   276,   845,
2010      285,   286,     0,     0,     0,     0,   279,   280,   289,   290,
2011        0,     0,   294,  1306,  1307,  1305,   832,     0,   713,   716,
2012      718,   717,     0,     0,   215,   211,     0,   999,  1004,     0,
2013        0,     0,     0,     0,     0,     0,  1213,  1197,     0,     0,
2014     1198,  1210,     0,  1201,  1212,     0,     0,     0,  1095,     0,
2015     1095,     0,  1095,     0,  1096,     0,     0,     0,   148,     0,
2016      153,     0,   156,     0,   846,   283,   284,     0,   287,   288,
2017      171,  1000,  1187,  1188,     0,     0,  1196,  1203,     0,  1200,
2018     1211,     0,  1107,  1094,     0,     0,     0,  1104,     0,     0,
2019     1095,  1095,     0,  1095,   147,   146,   151,   149,     0,     0,
2020      354,   480,   269,     0,     0,     0,  1091,     0,     0,  1095,
2021     1100,     0,     0,  1097,     0,     0,   154,  1204,     0,  1108,
2022     1109,  1105,     0,     0,     0,     0,  1095,   152,     0,     0,
2023     1101,  1102,  1098,     0,  1092,  1106,     0,  1099
2024 };
2025
2026 /* YYDEFGOTO[NTERM-NUM].  */
2027 static const yytype_int16 yydefgoto[] =
2028 {
2029       -1,   209,    55,    56,   973,   332,   440,   441,   442,   443,
2030      444,   445,   446,   447,   987,   988,   989,   990,   991,   992,
2031      993,   994,   995,   996,   997,   998,   256,   257,   448,   449,
2032       58,   333,   334,   744,   773,   452,   453,   454,   455,   456,
2033      457,   458,   459,   460,   461,  2087,  2088,  2089,   462,   645,
2034      646,   647,   463,   464,   465,   466,  1783,   408,   504,   409,
2035      505,   410,   506,   507,   865,   411,   412,    59,    60,    61,
2036       62,    63,   335,   336,   337,   338,   339,   999,  1000,   340,
2037      341,   747,  1266,   342,   650,   344,   345,   346,   347,   348,
2038      349,   350,   351,   352,   353,   354,   355,   356,   357,   732,
2039      827,   652,  1323,   359,   360,   653,   362,   363,   364,   365,
2040      366,   367,   368,   369,   370,   371,   372,   654,   655,  1125,
2041     1325,   553,   554,   211,    65,   497,   498,   212,    67,   213,
2042      214,    68,    69,    70,    71,    72,    73,   215,   118,   216,
2043      262,   930,   931,   217,   218,   219,    77,    78,    79,    80,
2044       81,   220,   739,  1201,   265,   470,    83,    84,   487,   488,
2045      875,  1224,   717,  1048,  1049,   124,    85,   471,    87,   472,
2046      127,   128,   129,   934,   130,   119,    89,  1097,  1098,  1099,
2047       90,   579,  1215,   474,   581,  1217,   133,   185,   475,   476,
2048      187,   938,   135,  1017,  1534,  1005,  1006,  1535,   188,   189,
2049      190,   191,   740,  1202,   224,   225,   226,   227,   228,   229,
2050      658,   659,  2008,  2009,   660,   661,   662,    93,   477,   266,
2051       94,    95,   267,   268,   269,   665,   666,   667,   668,   270,
2052      669,   896,  1618,  1128,   672,   673,   674,  1129,   676,    96,
2053       97,   374,    98,    99,   100,   101,   102,   103,   833,  1395,
2054     1396,   834,   835,   375,   376,   377,   378
2055 };
2056
2057 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2058    STATE-NUM.  */
2059 #define YYPACT_NINF -1980
2060 static const int yypact[] =
2061 {
2062    38035, -1980, -1980, -1980, -1980,    32, -1980, -1980, -1980, -1980,
2063    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2064    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2065      811,   108, -1980, -1980, -1980, -1980, -1980, -1980,     3,    16,
2066       55,   706,   320, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2067    -1980,  2651,  3046, -1980, -1980, -1980,   208, -1980,   262,   706,
2068      275, -1980,   215,   294,  1026, -1980,   420, -1980,   719, -1980,
2069      377, -1980, -1980, -1980, -1980, -1980,   272, -1980,  1066,   429,
2070    -1980,   392,  1234, 37643,  2976,   759, 38329, -1980,   462,   481,
2071    -1980,  1834, 40946, 36221, -1980, -1980, -1980, -1980, -1980, -1980,
2072    38138, 37241,   635, -1980,   108, -1980, -1980,   320,   320,   640,
2073      549,   320, 29147,   706, -1980, -1980,   414, -1980,  2651, -1980,
2074    -1980, -1980,   550, -1980,   847,   862, -1980, -1980, 38425, -1980,
2075    -1980,  3046,  1821,  1740,  1890,  2006, 23636, -1980,   568,   806,
2076      797, 30225, 40570, -1980, 30351, -1980, -1980, -1980,   706, -1980,
2077      755,  1090,  1135,    72, 40570, -1980, 40300, 30477, 40570, 30603,
2078    -1980, 30729, -1980, -1980,   706, -1980, -1980,   647,   587, -1980,
2079    -1980,  1058, -1980,   294,   494, -1980, -1980, -1980, -1980, -1980,
2080     1159,   651,   462,  1821,  1255,  2006, 40946, 40946,   282, -1980,
2081     1154,   613,   738,   587,   866,   462,  1213, -1980, 27747,   780,
2082    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2083      776, -1980,   453, -1980,   800, -1980, -1980,   809, -1980,   823,
2084     1428, 35364,   190,   372, -1980, -1980,   600,   660,   873,   886,
2085      357,   906, -1980,   357, -1980, -1980, -1980, -1980, -1980, -1980,
2086    -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,   920,   945,
2087    -1980, -1980, -1980, -1980, -1980, -1980,   123,    57, -1980, -1980,
2088    -1980, -1980, -1980, -1980, -1980, 37839, -1980, 17397, 36533, 41149,
2089    17536, -1980,   947,  1041,   884, -1980, -1980,   294, 37741, -1980,
2090    -1980, -1980, -1980, -1980, -1980, -1980,   377,   392, 38905, 40946,
2091    39190, -1980, -1980, -1980, -1980, -1980,  1002,   640,   640, -1980,
2092    29147,   183, -1980, -1980, 29202, 29287, 29287,  1031, 40750, 29147,
2093    -1980, -1980,  1052,  1055, 40750, 29147,  1076,  1088,  1110,  1152,
2094     1168, 29342, -1980, -1980, 23880, -1980,   320, 12020, -1980, -1980,
2095    -1980, -1980,  1093, -1980,   128,  1113, -1980, -1980,   108, -1980,
2096    -1980, 12822, -1980,  1549, 27802, -1980,   871,   948,  1089, 29147,
2097      842,  1126,  1162,  1161,  1174,  1305,   106,  1549,  1220,   786,
2098    -1980,  1549, -1980,   933,  1030,  1375,  1012,  1240,  1216,  1259,
2099     1212,  1345,   159,  1549,   640, -1980, -1980, -1980, -1980,  1280,
2100      393, 40390,  1310,  1316, -1980, -1980, 27887, -1980, 27942, -1980,
2101      688,   700,  1286,  1334,  1821,  2171,  2540,   847, -1980, -1980,
2102      915, -1980, -1980, -1980, -1980, -1980,  1052,  1093, -1980, -1980,
2103    -1980, -1980,   639,  1359, -1980,  1089, -1980,  1375, 35479, -1980,
2104    23758, 40300, -1980,   544, 40030, 39285, -1980, -1980,  1256, -1980,
2105      706, -1980, -1980,   108, 39475, 39095,  6453, 40660, -1980, -1980,
2106     1536,  1333,  1333,  1115, -1980,  1340, -1980, -1980, -1980,   133,
2107      861,   172, -1980, -1980, 29587,  1349, -1980,  1120, -1980, -1980,
2108      345, -1980, -1980, -1980,  1369, 29721, 29847,   343,   185,   786,
2109    36325, 38521, -1980,   462,  1834, -1980, -1980, 11378, -1980, -1980,
2110     1381, -1980,   706, -1980, -1980, -1980,  1964, 40750, -1980,   544,
2111    -1980, 29973, 30099,  1385,  1392, -1980,  1399, -1980,  1403, -1980,
2112    -1980,  2594,  1405,   760, -1980, -1980, -1980, -1980,   976,   804,
2113    35479,  1009, -1980, 30855, 30981, -1980,  1009, -1980, 31107, 31233,
2114     1009, -1980, 31359, 31485, -1980, -1980,  3046,  3046,  3046, 21842,
2115      915,  1159,   651,   915, -1980, 28027, 36533, -1980,   947, 36533,
2116    -1980,   947, -1980, -1980,  3046,  3046,   915, -1980, -1980,  1409,
2117      225, -1980, -1980,  1418,  1463, 40120,  1486,  1408,  1430, -1980,
2118    31611, -1980, 31737,   503, -1980, 12663, 28082,  3046, -1980,  1219,
2119      776, -1980, -1980, -1980, -1980, -1980,   847,  1429,   462,   893,
2120      187,   132,  1336,  1476, -1980, 39760,  1480, -1980, 39850,  1499,
2121    39940,  1507, 40210, -1980, -1980, -1980,  1249, -1980, 29147,   706,
2122    -1980, -1980,  1527, -1980, -1980,   647,   587, -1980,  1519, -1980,
2123    -1980, -1980, -1980, -1980,   462,  1301,   613, -1980, -1980,  1533,
2124    -1980, 17675, -1980,   947, -1980,   180, 28167,  1529,  1540,  1542,
2125       27, 17814,  1544,   108,  1547,  1552, 17953,  1052,  2197,  1557,
2126     1564,   108, -1980, -1980,  1093,  1563,  1570,  1572,  1379, 16002,
2127     1549, 16146, 25428,  1549,  1549, -1980, 16285, 37937, -1980, -1980,
2128    -1980, -1980, -1980, 18092, 18231, 18370, 18509, -1980, -1980, -1980,
2129      947, 18648, -1980, -1980, -1980, 18787, -1980, -1980,   320,   320,
2130      640,   584,   706,  1390,  1569, -1980,   847,   759, -1980,   462,
2131     1821, 40946, 40946, 36533, -1980, -1980, 39000, 29147,   196,  1580,
2132      326, -1980, 24018, -1980, -1980, 28222, -1980, -1980, -1980, -1980,
2133    40750,  1586, -1980, -1980, -1980, -1980, -1980, 35797, 40750, 24156,
2134      108, 35903, 40750, 29147,   320,   320,   320, 29147, 23880, -1980,
2135    -1980, -1980, 12978, 13122, 13266, -1980, -1980, -1980, -1980,  8525,
2136     1587,    66, 21980, -1980, -1980,   194, -1980,   561, -1980, 22118,
2137     1581, -1980, 22256, -1980, -1980,  1525, -1980, -1980, 25486,  1530,
2138    29147, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2139    -1980, -1980, 27802,   201, -1980, -1980, -1980, -1980, 29147, 29147,
2140    29147, 29147, 29147, 29147, 29147,  1089,  1375, 29147, 29147, -1980,
2141    29147, 27802, 27802, 27802, 27802, 27802, 29147, 29147, 13410, 27802,
2142    -1980,  1539, -1980, -1980, 25571,  1550, 29147, 27802, 29147, 29147,
2143    29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 29147, 27802,
2144    27802, 27802, 27802, 27802, 29147, 29147, 13554, 27802, -1980, -1980,
2145      595,   776, 40660, -1980, -1980, 37340, 40390, 40390, -1980,  1577,
2146     1578,  1579, -1980,  1582,  1583,  1585, -1980, -1980, -1980, -1980,
2147      847, -1980, -1980, -1980, -1980,  1588, -1980, -1980, 23636, 23636,
2148    35258,   462,   897, -1980,   659,   985,  1616, 35479,   999,  1591,
2149     1595, -1980, -1980, -1980,  1964, 35585, 39380, -1980, -1980,   108,
2150    -1980, -1980, -1980, 36429,  1593,   108, 35691,  2591, 24278,  1425,
2151    39570, -1980,  1598, -1980,   947, -1980,   947, -1980, -1980, -1980,
2152      947, -1980,  1597, -1980,   831, -1980, -1980,  4080,  4080,  1333,
2153     1333, -1980,  1333,   147, -1980,  1333,  1333, -1980, -1980,   138,
2154    -1980,  1369,   138, -1980,  1369,   902, 28307,  2488, 29147,   622,
2155    -1980,  1599,   847, 38617, -1980,   462,  1821, -1980, -1980,   718,
2156      780, 35364, 29453,   585,   357, -1980,   357,  3046, -1980, -1980,
2157    -1980, -1980,   241, -1980,   263, -1980,   343, 36325, 23636, -1980,
2158    -1980,  1607, -1980, -1980, -1980, 40300, 40300, 29147,   108, -1980,
2159    31863,   117, -1980,   -28,   956, -1980, 40300,   108,   901,   108,
2160     1526, -1980, -1980, -1980, -1980, -1980, -1980,  1333, -1980, -1980,
2161    -1980, -1980, -1980, 36635,  1438, -1980, 22394, 41048, 22532, -1980,
2162    -1980, 12215, -1980, -1980, 39665, -1980, -1980,   847,  1159, -1980,
2163      651, -1980,   847, -1980, 28027, -1980, -1980, -1980, -1980, -1980,
2164      947, -1980,   947, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2165    -1980, -1980, -1980, -1980,  1403,   118,   166,  1600, -1980, 31989,
2166    32115,  1603, -1980, 32241, 32367, 32493, -1980,   627,   398,   437,
2167     1172,  1818,  1611,  1617,  1621, -1980,  1605,  1612,  1615,   462,
2168      915,  2006,   187, 38713, 28362,   893, -1980, -1980, 40480, -1980,
2169    -1980,   776, -1980, -1980, 40480, -1980, -1980,   776, -1980, -1980,
2170    40480, -1980, -1980,   776, -1980, -1980, 40480, -1980,   776, -1980,
2171    -1980, -1980, -1980, -1980, -1980, -1980,  1630,  1634, -1980,  1386,
2172     1635,  1637,   394, -1980, 22670, -1980, -1980, 18926,  1631,  1632,
2173    19065, 29147, 29147, -1980, 28447, 28502,  1633,  1646,  1647, 10041,
2174     1648,   108, 25626,  2368,  1485, 25711, -1980,  1717, -1980, -1980,
2175    25796,  1649, -1980, -1980, -1980,  1655,  1663, 25851, 16424,   320,
2176     1667, 29147, 29147,   108, -1980, -1980, -1980, -1980, 21566,   860,
2177    27802, -1980,  1393, -1980, 29147, 13698, 13842, 27802, -1980, 29147,
2178    13986,  1533, 19204, 19343, 19482, 19621, -1980, -1980, -1980, 19760,
2179    -1980, -1980, -1980, 19899, -1980, -1980,   640,   640,  1651,  1671,
2180    35013, 35138,   915, -1980,   915, 36533, -1980, 36533, -1980, -1980,
2181     1668, 27802, -1980, 27802,   664, -1980,   343, -1980, -1980, -1980,
2182    -1980,  8525,  1672,  1673, 40840, 23636, 38233, 29147,  1674, -1980,
2183    -1980, -1980, -1980, -1980,   462,  1675,  1678,  1669,  1681, -1980,
2184    -1980, -1980, -1980, -1980, 36009, 25936,  1680,  1683,  1686, 29147,
2185     1679, 36115,  1677,   373,   337,   579,  1684,  1690, -1980,   108,
2186    -1980, -1980, -1980, -1980, -1980, 29147,   320,   265, 36736, 22808,
2187     1689, -1980, 27802, -1980,   270, 36837, 22946, -1980,   274, 36938,
2188    23084, -1980, -1980, -1980, -1980,  1244,  1697, -1980, -1980, -1980,
2189    26021,  4957, -1980, -1980,  1689, -1980, -1980, -1980, -1980, -1980,
2190    -1980,   871,   933,   871,   933,   948,  1030,   948,  1030,  1089,
2191     1375,  1089,  1375,  1089,  1375, -1980, -1980,   842,  1012, -1980,
2192    -1980,   842,  1012, -1980, -1980,  1126,  1240, -1980, -1980,  1162,
2193     1216, -1980, -1980,  1161,  1259,  1174,  1212,  1305,  1345, -1980,
2194       53, -1980, 26079,  1691,  5767,  1692, -1980, -1980, -1980, -1980,
2195    -1980,  1246, -1980, -1980, -1980, 26164,  6821, -1980, -1980, -1980,
2196    -1980, -1980, -1980, -1980, -1980,   871,   933,   871,   933,   948,
2197     1030,   948,  1030,  1089,  1375,  1089,  1375,  1089,  1375,  1089,
2198     1375, -1980, -1980,   842,  1012, -1980, -1980,   842,  1012, -1980,
2199    -1980,  1126,  1240, -1980, -1980,  1162,  1216, -1980, -1980,  1161,
2200     1259,  1174,  1212,  1305,  1345, -1980, 26222,  1694,  8377,  1696,
2201    -1980, -1980,   108,   108, -1980, -1980,   475,   929, -1980, -1980,
2202    -1980, 37441, 37542, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2203    -1980, -1980, -1980,   683,  2432,   897, -1980, 23636,   108, -1980,
2204    -1980, 23636, -1980,   937, -1980, -1980, -1980,   508,   462,  1821,
2205    -1980, -1980,   449,  1599,  1588,   462,  1821, -1980,  1711, -1980,
2206      949,   603,   979,  3046,  1712, -1980, -1980, -1980, -1980, -1980,
2207    -1980, -1980, -1980, -1980, -1980, -1980, -1980,  4810, -1980, -1980,
2208    -1980, -1980, -1980, 23222,  2258,   780, 35364, 21428,   626,   915,
2209      847, -1980,   915, 29147, -1980,   853, -1980, -1980, -1980,  1716,
2210     1597,  1581,  1599,  1017, 23636,  1029,  1034, -1980, -1980, -1980,
2211    32619, 32745,  1719, -1980,  3229, 40660, 40660, 40660, 40660, -1980,
2212    -1980, -1980, 29147,  1721, 28587, -1980,   947, -1980, -1980, 28642,
2213    -1980, 28727, -1980, -1980, -1980,  1493,  1438, -1980, -1980,  1333,
2214    -1980, -1980, -1980, -1980, -1980,  1493,  1438, -1980, 28782,  6990,
2215    -1980, -1980, -1980, -1980, -1980, 20038, -1980, -1980,   249, -1980,
2216    -1980,   257,  1720, -1980, 32871, 32997,   462,  1818,  1729, -1980,
2217    -1980, -1980, -1980, -1980, -1980,   915,   893, -1980,  1730,  1737,
2218    -1980,  1727,  1728,  1731, -1980, -1980, 35364, -1980, -1980, -1980,
2219    -1980, -1980, 29147,  1741,  1520, -1980, -1980, -1980, -1980,   280,
2220    37039, 23360, -1980, -1980, -1980, 20177, 21566, 21566, -1980, -1980,
2221    -1980, 20316, 26307, 16563, 26392, 26477, 24642, 26562, 16702, 21704,
2222     1736,  1742, 21704, 29147, 28867,  1812, 26647,  1663,  9673,   320,
2223    21704,  1753,  8069, 10041, -1980,  1494, 26702, 10504, 26787, -1980,
2224    -1980, -1980, -1980, -1980,   200,   320,  1754,  1264, -1980, -1980,
2225    -1980, -1980, 20455, -1980, -1980, -1980,  1756,  1758,   108, -1980,
2226    -1980, -1980, -1980, -1980, -1980, 40300, -1980, -1980, -1980, -1980,
2227    26842,  1752, 24918,  1755, 26927,  1760, 25003,  1763,  1761,  1762,
2228    -1980, -1980, -1980, -1980, -1980, -1980, 14130, -1980, -1980,  1776,
2229     1072, -1980,  2718,  1779,  1783,  1788,  1780,  1785, 23636,  1678,
2230    38809,  1675, 29147, 23636, 29147,  1801, -1980, -1980, -1980, -1980,
2231    -1980,  1789, -1980, 28922, -1980, -1980,  1792,  1793, 29147, 29147,
2232     1790,  9853, -1980,   108,   108, 29147, 14274, -1980, -1980,   640,
2233    -1980, -1980, -1980, -1980, -1980, -1980, -1980, 14418, -1980, -1980,
2234    -1980, -1980, 27802, 14562, 14706, 27802, 14850, 14994, -1980, -1980,
2235    -1980, 15138, 15282, 15426, 15570, -1980, -1980, -1980,   595,  1808,
2236      610, -1980, -1980,   462,   897,  1923,  1114, 23636, -1980, -1980,
2237     1807,   915,   915,  1333,   915,  1588,  1813, -1980, -1980,  1817,
2238    -1980,   300, 37140, 23498, -1980,   462,   881, -1980,   847, -1980,
2239    -1980,  1810,  1811, -1980, -1980, -1980,  1136, -1980, -1980, 33123,
2240     1822, 33249, -1980,  1823, 35479, -1980,  1827, -1980, 29147, 28027,
2241     2310, -1980, -1980,  2310, -1980, -1980, -1980,  2310, -1980, -1980,
2242    20594, 20733, -1980, -1980, -1980, 33375, -1980, 33501,   187,   893,
2243    -1980, -1980, -1980, -1980, -1980, -1980, -1980,  2006, 27012, -1980,
2244    -1980, -1980, -1980, -1980, -1980, 20872, -1980, -1980, -1980, 21011,
2245    10041, 24366, 10041, 24366, 12520, -1980, 24780, 16841, -1980, -1980,
2246    21704, 21704, 27097, 10041, 27182, 24504,  1826, 25088, 27267,   204,
2247    21150, -1980, 29147, -1980, 12520, -1980,  8069, 10041, 25173, 29007,
2248       84,  1829,    84,   226,  1828, -1980,   108, 29147, 29147,   108,
2249    27802, 27802, 27802, 27802, 27802, 27802, 27802, 27802, 15714, 15858,
2250    -1980, -1980, -1980,   462,  1678,  1832, -1980, -1980, -1980, -1980,
2251    -1980,  1146,  1675, -1980,  1837,  1838,  1844,  1846,  1205,  1847,
2252     1848, 23636, 29147, 23880, -1980, -1980, -1980,  1854,  1857,  1859,
2253     1860, 29147,  1839,  1843,  1845,  1875, -1980, -1980, -1980, -1980,
2254    -1980, -1980, -1980, -1980,   326, -1980, -1980, -1980,   326, -1980,
2255    -1980, -1980, -1980, -1980,   326, -1980, -1980, -1980,   326, -1980,
2256    -1980, -1980,   326, -1980, -1980, -1980,   326, -1980, -1980, -1980,
2257      326, -1980, -1980, -1980,   326, -1980, -1980, -1980, -1980,  1215,
2258    -1980, -1980,  1588, 27802, -1980, -1980, -1980, 29147, 29147, -1980,
2259    33627, 33753, 33879, 34005, 34131, 40660, -1980, 40660, -1980, 10309,
2260    21289, -1980, -1980, -1980, 34257, 34383, 34509, 34635, -1980,  1938,
2261     1941, -1980, -1980, -1980, -1980, 10041, 29147, 29062,  1829, 16980,
2262    17119, 25258, -1980, 12520, 24780, 27322, 17258,   108, -1980,  1081,
2263      177, -1980,    96,    84,  1883,    84,    92,   645,  1886,  1271,
2264    -1980, -1980,  1675, -1980, -1980, -1980, -1980, -1980, -1980, -1980,
2265    -1980, -1980,  1237,  1877,  1880,  1892, -1980, -1980, -1980, -1980,
2266     1884,  1885, -1980, -1980, -1980, -1980, -1980,  1895, -1980, -1980,
2267    -1980, -1980, 34761, 34887, -1980, -1980, 27407, -1980, -1980, 10041,
2268    10041, 27492, 25343, 10041, 27577, 24504,  1896, -1980, 10041, 29147,
2269    -1980, -1980, 24780, -1980, -1980,  1888,  1898,    84,    84, 29147,
2270       84,  1899,    84,  1149, -1980,   240,  1333,   636, -1980,   283,
2271    -1980,  1897, -1980,   108, -1980, -1980, -1980, 28587, -1980, -1980,
2272    -1980, -1980, -1980, -1980,  1896, 10041, -1980, -1980, 27662, -1980,
2273    -1980,   320, -1980, -1980,  1272,  1902,  1285, -1980,  1184,  1903,
2274       84,    84,  1904,    84, -1980, -1980, -1980, -1980,    92,   673,
2275    -1980, -1980, -1980, 10041,   199,  1908, -1980,  1911,  1915,    84,
2276    -1980,  1321,  1328, -1980,  1204,   696, -1980, -1980, 29147, -1980,
2277    -1980, -1980,  1347,  1916,  1917,  1919,    84, -1980,  1922,  1921,
2278    -1980, -1980, -1980,  1350, -1980, -1980,  1926, -1980
2279 };
2280
2281 /* YYPGOTO[NTERM-NUM].  */
2282 static const yytype_int16 yypgoto[] =
2283 {
2284    -1980,  2067,   112, 10144, -1980,  1990, -1980, -1980, -1980, -1980,
2285    -1980, -1980,  1584,  1589,  -929, -1980,  -890,  -964,   145,   148,
2286     -881,  -809,  -799, -1980,  -732,  -699, -1980, -1980,  1594,  1602,
2287    -1980,  1715,  3265, -1980,  -292,   608,   681, -1980, -1980, -1980,
2288    -1980,  1609, -1980, -1980, -1980,  -640, -1979,  -101, -1980, -1980,
2289    -1980, -1980,  2390,  3133,   -22,    11,   557,  -848, -1980,  -834,
2290    -1980,  -843, -1980,  1071,  -148,  1199,  -671,     1,  1774,   -13,
2291     1781,   -21,     0, -1980,  1151, -1980, -1980,  7528,  3860, -1980,
2292     5622,  -146,  1266, -1980,  3771, -1980,  -325,   391,   534,  1100,
2293    -1980,  -458,  -457,  -203,   -38,    10,   124,   914,  9076,  4373,
2294      -45,  8898,  -781,   380, -1980,  4549,  -320,   656,   856,  2026,
2295      615,   146,   161,   191,   209,   234,  1241,   526,  -421,  7106,
2296     -748,  -294,   723, 10847,   -56,  1109,  -130,  3236, 10912,  8268,
2297    -1980, -1980, -1980,   -74,   -41,   -70, -1980,  6550, -1980,  1022,
2298     3315,   620,  -795,  3736,  8758, -1980, 11214, -1980, -1980, -1980,
2299      -52,  4053, -1980, -1980,  2030,  6555,   -37, -1980, -1980,  1141,
2300     1659,  1373,  1784,   -82,   -81,  5431, 10303,  8661,  3330,  -367,
2301     -114,  -368,    77,  -851,    74,  2858, -1980, -1980, -1062, -1980,
2302     3595,  -558, -1204,  7418,  -207,  -670,   264,   210,   151,  1685,
2303     -252,  -764,  -456,  -909,  -529,  -917,  -919,   311,  1105,  1098,
2304      -24,  1849,  -716,  1374,   628,  -511,  -431, -1980,   -89,   -71,
2305     5725,   212,    31,  -391, -1980, -1980, -1980,  2004, -1980,  3316,
2306     2016,   -64,  3577,    -7,  1841,  1018,  1021, -1980, -1980, -1980,
2307      -90,  1996, -1551,   -69, -1980, -1980, -1980,     6, -1980,  2019,
2308      -55,    19,  2012,  1592, -1980, -1980, -1980,  2022,  -759,   381,
2309    -1980,  -745,   863, -1980, -1980, -1980, -1980
2310 };
2311
2312 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2313    positive, shift that token.  If negative, reduce the rule which
2314    number is the opposite.  If zero, do what YYDEFACT says.
2315    If YYTABLE_NINF, syntax error.  */
2316 #define YYTABLE_NINF -1289
2317 static const yytype_int16 yytable[] =
2318 {
2319       64,  1143,   271,  1226,   222,   223,  1018,  1459,   508,  1458,
2320     1248,  1410,  1681,   177,   939,   718,  1412,  1255,   398,   776,
2321     1259,   722,  1065,   501,   777,  1411,   286,   175,  1113,   280,
2322      108,   110,  1514,  1520,  1524,   745,   692,  1575,   282,   392,
2323      943,   115,   176,  1249,  1032,  1387,   390,   391,   287,   109,
2324     1256,  1230,   123,  1260,  1721,  1848,   278,   393,   602,   140,
2325      196,   116,   173,   288,   149,   148,   152,  1859,  1519,   398,
2326      172,   299,   277,   499,  1073,     1,  1399,  1079,  1389,  1085,
2327      276,  1090,   163,   174,   123,  1471,   210,   285,  1433,   106,
2328     1400,   123,   840,    64,   844,     1,   537,   540,  1495,  2080,
2329       64,    64,   933,  1496,   296,  1533,  1513,   945,  1523,   104,
2330     2127,     1,  1431,   380,  1016,  1515,   383,  1525,  1492,  1536,
2331        1,     1,   491,   797,   600,   111,   297,   298,   210,   750,
2332      301,   123,   123,  1066,   902,   513,   413,   518,   112,   522,
2333      149,   467,   480,  1500,   467,  -457,  -457,  -457,   494,  1114,
2334      496,    92,   106,   496,   480,   492,   509,   467,   480,   467,
2335      181,   467,  1482,   105,   525,  2086,  2127,  1539,   514,     1,
2336      519,   138,   523,   904,   149,   148,   825,   113,   622,   536,
2337      539,   617,   299,   123,  -453,   603,   925,  1516,   299,  1526,
2338        1,   583,   755,   756,   757,  1250,  1246,  1517,   550,  1527,
2339      500,   671,  1274,  1860,   299,   299,   399,  1860,   177,   299,
2340      149,   863,   558,   797,   286,     2,   286,  2007,   937,  2081,
2341      163,   570,   175,  2077,   121,   379,   280,  2082,     1,  2013,
2342      123,   299,   175,   123,   186,   282,   287,   176,   287,  1432,
2343     1531,   615,  1480,  2121,    92,  1493,  1537,   176,   601,   798,
2344     1804,   289,    92,   696, -1036, -1036,   751,   399,  1806, -1036,
2345      532,   903,   134,   663,  1481,   608,  -109,   685,  -457,   277,
2346      648,  -100,  1057,   868,   679,  -104,   675,   695,   681,   326,
2347      851,   -82,   693,   542,  1520,  1524,     1,  1483,    64,   682,
2348       64,  1520,  1524,   680,  1540,  1520,  1524,  1997,   772,  2079,
2349      751,   -89,   826,   979,  1065,   618,   701,   758,   711,   565,
2350      549,   926,   799,   584,   711,   759,   807,   585,   760,  1519,
2351      566,  2148,  1251,  1861,   550,   106,  1519,  1998,   136,  1251,
2352     1519,  1862,  1108,  1297,  1301,  1862,  1305,  1267,   753,  1191,
2353      143,   396,   299,   825,   144,   741,     1,   184,   184,  2014,
2354      893,   895,   897,   899,   752,   181,  2086,  2015,  1052,  1523,
2355        1,  1363,  1367,  2122,  1371,   688,  1523,  2077,  1525,   903,
2356     1523,  2123,  1580,   586,  1805,  1525,   968,  -617,   299,  1525,
2357      149,   831,  1807,  1267,   968,  -612,   550,   137,   550,   942,
2358      223,   751,   156,  -109,   123,   395,     1,     1,  -100,   583,
2359      123,  -739,  -104,  -739,   141,  1581,   142, -1021,   -82, -1021,
2360     1651,  2126,  1655,   149,   915,   916,  1009,     1,   831,   299,
2361      866,   509,   145,     1,   870,   570,  1034,   939,   -89,   186,
2362      881,   582,  1009,   882,   831,   870,   889,   831,   586,   691,
2363     1526,   289,     2,  1653,   692,  1657,  1019,  1526,     2,  1021,
2364     1527,  1526,     1,  1275,  1277,  1279,     1,  1527,  1276,  1278,
2365     1280,  1527,   146,   147,  1703,   467,   467,   149,   852,  1193,
2366      929,   210,   752,   917,   123,  1892,  1053,   956,     1,    52,
2367      745,     2,   960,  1339,  1341,  1343,   163,   961,  1340,  1342,
2368     1344,   467,   467,  1065,  1054,   587,  1702,     1,   839,   588,
2369      843,   939,  1468,   974,  1556,   155,     1,   745,   933,   149,
2370      978,     1,  1820,   467,   467,   745,   829,  1578,   467,   467,
2371      160,   469,   467,   467,   469,   585,   123,   123,   123,   184,
2372      123,     2,  1244,   123,  1670,   745,  1673,   469,  1039,   469,
2373     1043,   469,   184,   381,   123,   123,   123,   688,  1532,   150,
2374      149,  -457,  -457,  -457,  1691,   831,   496,  1565,   159,    26,
2375      467,  1700,   467,   525,   588,  1047,   550,   123,   933,  1410,
2376      149,  1040,  1753,  1044,  1412,  1570,   877,  1477,  1471,  1478,
2377      123,    51,   556,  1745,   299,  1071,   589,     1,  1077,   933,
2378     1083,  1309,  1088,  1016,   671,   671,   671,   671,     1,  1102,
2379     1737,   589,  1738,   231,  1011,  1150,     1,  1010,  1157,  1799,
2380     1013,  1798,  1265,   146,   147,   299,  1520,  1524,  1769,  1375,
2381     1011,  1770,   286,   529,  1430,     1,  1802,   589,  -863,  1227,
2382        1,  1124,  1045,  1131,  1461,   295,   933,  1749,   373,     1,
2383      175,  1144,  1399,  1399,   287,   299,   134,  1782,     1,  1785,
2384      856,  1519,  -910,  1052,   399,   176,  1400,  1400,  1331,  1787,
2385     1418,   591,     1,   648,   648,   648,   648,     1,  1427,   675,
2386      675,   675,   675,  1487,  -457,   300,     1,  -457,  1056,  1441,
2387     2022,   149,  1179,   386,  1185,  1187,     1,   972,  1252,   583,
2388      123,  1523,     2,   419,  -216,  1253,   570,  1176,  1177,     1,
2389     1525,   586,  1196,   146,   147,   937,  1704,  1476, -1061,     1,
2390     1203,  1101,   590,   529,   527,  1392,  1393,  1208,  1218,   550,
2391     1228,  1208,  1218, -1061,   552,  -910,  -910,   590,  1196,  1635,
2392     -910,  1762,  1758,  1640,     2,  1957,  1642,  -910,  1644,  1239,
2393      545,   146,   147,  1233,  1234,  1235,   146,   147,  1767, -1061,
2394     1746,  1463,  1530,   590,  -863,  1262,   495,  1313,     1,  1269,
2395      857,  -910,  -910,     1,  1763,   254,   858,  1183,  2090,  2086,
2396     1562,  1053,  1526,   688,   526,   134,  -910,  1061,  -910,     1,
2397     -870,   710,  1527, -1067,  1904,  1379,   710,   592,   972,  1054,
2398      980,   980,   980,   801,   802,   803,  2146,    32,  1520,  1524,
2399        1,  1329,   146,   147,  -216,  1334,  1315,     1,   184,   184,
2400     -216,   846,   752,  1776,     1,   585,   106,  1485,  1486,  1451,
2401     1452,  1600,  1453,   847,  2157,  1455,  1456,   588,    43,    44,
2402     1394,   149,  1397,  1519,  1381,   831,   831,   831,  -459,  -459,
2403     -459,  1494,   107,  1548,   392,   469,   469,   691,   153,  1473,
2404      154,  1467,   391,   373,   787,   788,     1,  1556,   413,  1413,
2405      210,  1268,   393,     1,   974,   526,   149,   978,  -265,  -265,
2406     -265,   469,   469,  1523,   163,  1423,   570,  1167,  1171,  1144,
2407     1533,   197,  1525,   570,     1,  1438,  1440,     1,  1442,   106,
2408      831,  1981,   198,   469,   469,   146,   147,  1505,   469,   469,
2409     1769,  1770,   469,   469,     1,  1538,  1541,   555,   804,  -458,
2410     -458,  -458,   552,  1676,   552,   678,   805,   421,     1,   806,
2411     1707,  1317,   422,   146,   147,  1708,   420,   123,   559,   149,
2412      977,    -8,     1,   210,   106,  1696,   123,   398,   560,  1306,
2413      469,  1475,   469,     2,   123,  1978,   123,  1479,  1490,  1383,
2414     1633,   561,   121,   688,  1526,  1310,   149,   929,   413,  1257,
2415      745,  -459,   789,   790,  1527,   509,   509,  1372,   496,   387,
2416      467,   496,   146,   147,  1558,  1773,   509,  1501,   149,  1503,
2417      388,  1491,     1,  1376,   197,  1912,  1314,  -265,  -899,  1809,
2418      778,  -265,  1559,   528,  1665,   198,   593,  1669,  1869,   386,
2419      146,   147,  1885,  1966,   123,  1316,  1803,  1891,   939,   594,
2420      779,   780,  1898,  1183,  1380,  1063,  -457,  -457,  -457,   860,
2421      146,   147,    75,  1544,   815,   816,  1064,  1502,   596,     1,
2422      566,  1318,  -458,  1382,   688,   496,   496,    52,   671,   467,
2423      467,   671,   598,   467,   467,   467,  2047,   149,   146,   147,
2424      123,   123,   808,  -879,  -879,  1003,  1545,  1747,  -879,  1384,
2425      123,   933,   123,   210,   550,  -879,  1748,   599,   831,  1747,
2426     1802,   149,   809,   810,   831,   677,  1959,   149,  1757,   671,
2427      831,   688,  1497,   149,   781,   782,   831,  1498,   149,  -879,
2428     -879,    26,   552,   671,   671,   671,   671,   975,   134,   783,
2429      784,   933,   149,   976,   933,   179,  1416,   648,   752,   841,
2430      648,   845,   976,   675,  1016,    75,   675,  1674,   104,  1124,
2431     1419,  1131,    75,    75,   373,   399,   976,  2054,   697,  2055,
2432     1615,  -457,   817,   818,   399,  1675,  1011,   134,  1775,  -457,
2433      791,   792,  -457,  1628,   858,   146,   147,  1981,   648,  1269,
2434     1777,   582,   552,   710,   675,  1778,   976,   134,  1624,   491,
2435     -898,   976,   648,   648,   648,   648,   811,   812,   675,   675,
2436      675,   675,  1281,  1283,   719,     1,  1561,   720,   136,  1771,
2437      467,   467,   123,  1031,   123,   528,  1809,  2035,  2132,   909,
2438      910,   386,   492,  1882,   831,   157,   149,   158,   723,   858,
2439        2,   831,  1345,  1347,  2076,   413,   210,  1548,  2077,   121,
2440      724,   911,  2078,  1072,   698,   912,  1078,   913,  1084,  -625,
2441     1089,  -625,   749,   698,  1685,  -869,  2017,  -869,  -869,   698,
2442     2032,  1685,   725,  -898,  -898,  1958,   415,     1,  -898,   149,
2443      898,   858,   752,   574,   254,  -898,    28,    29,   914,   373,
2444     1556,    32,  1091,   373,   819,   820,   534,  1969,    38,  1646,
2445      396,  1013,     2,   858,  -624,  1709,  -624,  2024,  1003,  -898,
2446     -898,  1982,  2119,   858,   726,  1003,  2077,  1092,  1003,   543,
2447     2120,   544,    43,    44,  -898,  -898,  -898,   469,   469,  1058,
2448      727,    51,  -869,  1093,   565,   502,  1918,   793,   373,   515,
2449      179,  1640,   794,  -869,  1644,   566,  1659,  2138,    28,    29,
2450      179,  2077,    75,    32,   395,  2139,   795,  1285,  1287,  1583,
2451       38,   796,  1589,  1094,  1095,   373,  2029,  2155,  -869,    28,
2452       29,  2077,   858,   373,    32,  2156,  2046,  1067,   547,   136,
2453      544,    38,   858,   800,    43,    44,   737,  1349,  1351,  1109,
2454      469,   821,   386,   373,   823,  -869,  -869,  -869,  2094,  1816,
2455     1630,   824,     1,   161,   858,    43,    44,  1716,  1016,  1728,
2456     -216,  1717,  1096,  1717,  1167,  1171,  1167,  1171,   879,  1016,
2457    -1016,   535, -1016,   933,   933,   813,   814,  1865,  1896,  1091,
2458     1899,  1866,  1735,  1736,  2092,  2135,  1739,   149,  2093,  2077,
2459      822,   831,   831,   828,  1907,  1909,  1298,  1302,  2137,   848,
2460       28,    29,  2077,   149,  1092,    32,  1740,  1413,  1503,   469,
2461      469,   413,    38,   469,   469,   469,  1105,  1750,   544,   123,
2462     1093,     1,  1628,   851,  1364,  1368,   123,  1282,  1284,   836,
2463      574,  1759,   149,   123,  2153,   837,    43,    44,  2077,   785,
2464     1803,  2154,  1003,  2129,   552,  2077,     2,   849, -1035, -1035,
2465     1094,  1095,   254, -1035,   123,   901,  1766,  1346,  1348,   123,
2466     2159,  2012,   123,  2166,  2077,   149,   908,  2077,   146,   147,
2467     -216,  1636,  1637,  1638,   413,   859,  -216,  1033,   752,     1,
2468      467,   467,   574,   552,   918,   831,   831,   831,   831,  -879,
2469     -879,   958,    28,    29,  -879,   965,  1183,    32,   752,  1573,
2470     1148,  -879,   966,  1574,    38,  1447,  1449,   671,   671,  1180,
2471      415,   142,  1003,  1091,  1003,   967,  1261,  1982,     1,   671,
2472      968,  1268,   574,     1,   971,  -879,  -879,  1035,    43,    44,
2473     1328,   700,     1,  1027,   467,   467,  1646,   123,  1092,  1013,
2474      700,  1333,  1028,     1,   752,   123,   700,   562,  1016,  1036,
2475      469,   469,   198,  1510,  1093,  1511,   570,   761,   762,   763,
2476      764,   765,   766,   767,   768,   769,   770,  1976,   745,   745,
2477      745,   745,   745,   745,   745,   745,   648,   648,  1448,  1450,
2478      552,  1894,   675,   675,  1094,  1095,  1124,  1029,   648,  1124,
2479       28,    29,  1124,  1068,   675,    32,  1615,  1074,  2033,  1895,
2480     1124,   698,    38,  1124,   752,    32,  1610,  2040,  1508,     1,
2481     1509,   852,  2083,   752,  2085,  1852,  1080,  -216,  1849,  1011,
2482     1003,   981,   982,   983,  1086,  1016,    43,    44,  1144,  1286,
2483     1288,   552,  1024,  1026,  1863,   509,    43,    44,  1104,  1023,
2484     1025,  1462,  1504,   396,  1791,  1103,  1794,  1792,  1106,  1795,
2485     1110,   891,  1111,  1961,  1112,   254,  1130,   373,   373,  1350,
2486     1352,   745,  1132,  2048,  2050,   771,   582,  1133,   413,  1141,
2487      210,  1162,  1164,   413,  1163,  1165,  1142,  2114,  1145,  2116,
2488     1488,  2118,   291,   294,  1009,  1146,  1564,  1147,  1181,  1401,
2489     1402,  1239,  1567,  1913,  1914,  1192,  1205,   395,  1568,  1257,
2490     1245,  1403,  1404,  1405,  1569,  1421,  1406,  1407,   179,  1408,
2491     1420,   388,  1437,  1445,  1199,  1446,  1464,  1484,  -731,  2141,
2492     2142,  -734,  2144,   552,  1549,   146,   147,  -216,  1394,  1552,
2493     1550,   737,  1417,  -216,  1551,   752,  1553,   413,  2152,  1554,
2494     1199,   123,   123,  1571,   123,   552,  1572,  1970,  1576,  1973,
2495     1577,  1242,  1586,  1587,  1602,  2163,   149,   671,  1603,  1604,
2496     1606,  1645,  2130,  1611,  1619,  1003,  1817,  2131,   373,   467,
2497     1620,   467,  1003,  1984,   831,  1986,  1003,  1563,  1621,  1625,
2498     1971,   421,  1974,  1649,  1678,  1666,  1667,  1680,  1823,  1827,
2499     1206,  1683,  1682,  1693,  1701,   467,  1694,   467,   123,  1695,
2500     1839,  1705,  1698,  1706,    28,    29,  1985,  1711,  1987,    32,
2501     1718,     1,  1724,  1727,     1,  1732,    38,  1734,  1646,  1013,
2502     1124,  1124,  1124,  1124,  1756,  1760,   648,     1,  1601,  1774,
2503     1124,  1124,   675,  1124,  1779,  1124,     2,  1788,  -737,     2,
2504       43,    44,  1810,  1811,   574,   121,   450,  1124,   121,   450,
2505     1812,  1813,  1814,   401,  1819,  1815,  1144,  1840,  1846,  1628,
2506      469,   469,   450,  1841,   450,  1850,   450,  1864,  1867,  2010,
2507     1868,  2010,  1011,  1871,  1878,  1879,  1873,  1289,  1291,   574,
2508     1293,  1875,    28,    29,  1877,    28,    29,    32,   574,  1881,
2509       32,   413,  1886,   550,    38,   574,  1887,    38,    28,    29,
2510      737,  1888,   574,    32,  1889,  1353,  1355,  1357,  1359,  1890,
2511       38,  1901,  1902,  1911,   469,   469,  1905,  1906,    43,    44,
2512     1677,    43,    44,  1956,  -231,   671,  1960,   671,   700,  1963,
2513      565,  1967,  1968,    52,    43,    44,  1964,  1972,  1996,  1975,
2514     2052,   566,  1697,  1977,  2011,  2023,    52,  2016,   415,   415,
2515     2025,  2026,  2042,   574,    28,    29,  2043,     1,  2044,    32,
2516      467,   467,   467,   467,   467,   831,    38,   831,  2027,   574,
2517     2028,  2030,  2031,  2053,   467,   467,   467,   467,  2036,  1003,
2518       57,  2037,     2,  2038,  2039,  1124,  2124,  2125,  2045,   552,
2519       43,    44,  2059,   671,   648,  2060,   648,  2075,  2084,  2091,
2520      675,  2095,   675,   403,  2096,  2097,  1144,  1628,  2098,  2099,
2521     2100,  2106,  2111,  2112,  2117,  2136,  2128,  2145,  2140,  2143,
2522      373,   114,  2010,  2149,  2010,  1003,  2150,  1003,    28,    29,
2523     2151,  2160,  2161,    32,  2162,  2164,  2165,  1499,  1994,    57,
2524       38,  2167,   467,   467,  1003,  1786,   151,  1409,   415,  1124,
2525     1124,   949,   683,  1124,  1454,  1124,   950,    54,  1124,   684,
2526     1332,   951,   648,    57,    43,    44,    57,  1489,   675,   952,
2527       28,    29,   255,    57,  1764,    32,   955,  1628,   272,  1144,
2528       57,    57,    38,  1144,   886,  1231,  2010,  2010,   721,  2010,
2529     1979,  2010,  1237,    57,   290,  1124,   382,  1003,  2113,   279,
2530      878,   664,   281,   293,   616,   283,    43,    44,    57,  1955,
2531        0,     0,     0,     0,     0,     0,   407,     0,  1144,  1628,
2532     2134,   407,   255,  1124,   407,     0,     0,     0,     0,  2010,
2533     2010,     0,  2010,     0,   255,  1144,    57,   407,   255,   407,
2534      170,   407,     0,     0,     0,     0,     0,     0,  2010,   469,
2535       54,   469,   417,     0,     0,     0,     0,    54,    54,     0,
2536        0,     0,     0,     0,     0,  2010,   255,   255,     0,     0,
2537      450,   450,   538,   541,     0,   469,     0,   469,   407,     0,
2538        0,     0,   953,     0,     0,     0,  1772,     0,     0,     0,
2539        0,     0,   557,     0,     0,     0,   450,   450,   552,     0,
2540      552,    57,     0,     0,     0,     0,  2071,     0,  2074,   373,
2541        0,     0,     0,  1663,   552,   552,     0,     0,   450,   450,
2542        0,   373,     0,   450,   450,     0,     0,   450,   450,     0,
2543        0,    18,    19,     0,     0,    28,    29,     0,     0,     0,
2544       32,     0,     0,     0,     0,   255,     0,    38,   255,   255,
2545      644,     1,     0,     0,   623,     0,   670,     0,    57,     0,
2546        0,    28,    29,     0,     0,   450,    32,   450,    57,   255,
2547       57,    43,    44,    38,  2110,   694,     2,     0,   568,  1003,
2548        0,     0,     0,     0,   853,   121,     0,     0,   255,     0,
2549        0,     0,     0,     0,   255,   415,     0,    43,    44,     0,
2550        0,     0,     0,     0,   407,     0,     0,  -457,     0,  1139,
2551     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,
2552        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
2553        0,     0,     0,     0,    38,   170,     0,     0,     0,     0,
2554      469,   469,   469,   469,   469,   170,     0,    54,     0,     0,
2555        0,     0,     0,     0,   469,   469,   469,   469,    43,    44,
2556        0,    57,     0,     0,     0,   786,   407,    51,   407,     0,
2557       52,     0,     0,     0,     0,     0,     0,     0,     0,   928,
2558        0,     0,     0,   373,   373,     0,     0,     0,     0,     0,
2559        0,     0,     0,     0,     0,  1897,     0,  1900,    57,     0,
2560      407,    57,    18,    19,   255,    57,     0,     0,     0,     0,
2561      880,  1908,  1910,     0,    57,   255,     0,    57,   552,     0,
2562     -457,  -457,   469,   469,     0,     0,   894,   552,     0,   900,
2563     -457,     0,    28,    29,     0,     0,   417,    32,     0,  -457,
2564     -457,  -457,  -457,  -457,    38,   407,   407,     0,     0,     0,
2565       57,    57,     0,     0,     0,     0,     0,   407,     0,     0,
2566        0,     0,   959,     0,     0,     0,     0,   255,    43,    44,
2567        0,   407,   407,     0,     0,   568,     0,     0,   574,     0,
2568     1609,     1,     0,   552,   552,     0,     0,     0,     0,     0,
2569       57,     0,     0,   407,   407,     0,    28,    29,   407,   407,
2570        0,    32,   407,   407,     0,     0,     2,   415,    38,   644,
2571        0,   415,     0,     0,     0,   121,   255,     0,     0,   255,
2572        0,     0,  1020,     0,     0,  1022,     0,   568,     0,     0,
2573        0,     0,    43,    44,     0,    57,     0,     0,     0,     0,
2574      407,    51,   407,     0,   860,    57,   407,     0,     0,  1004,
2575        0,     0,    28,    29,     0,   566,     0,    32,     0,     0,
2576        0,     0,     0,     0,    38,    57,     0,   568,    57,     0,
2577       57,     0,    57,     0,   415,     0,     0,     0,   574,    57,
2578        0,     0,     0,     0,     0,   969,     0,  -640,    43,    44,
2579        0,     0,   415,     0,     0,   373,     0,    51,     0,     0,
2580       52,  1460,     0,     0,    28,    29,     0,     0,     0,    32,
2581        0,     0,  -640,   373,     0,  2034,    38,     0,  -955,     0,
2582        0,  -640,  -640,     0,  2041,    18,    19,   698,   698,     0,
2583      698,   698,     0,     0,     0,   698,   698,   698,   698,     0,
2584       43,    44,     0,   644,   644,   644,   644,     0,     0,   670,
2585      670,   670,   670,   854,     0,    28,    29,     0,  -640,  -640,
2586       32,     0,     0,  -640,   373,     0,     0,    38,     0,     0,
2587     -640,   255,   255,   255,     0,   450,    57,  1186,  1188,  1189,
2588     2049,  2051,   407,     0,     0,    18,    19,     0,     0,     0,
2589      255,    43,    44,     0,  -640,  -640,     0,   255,   255,   407,
2590       51,   255,   255,  -640,     0,     0,  -640,     0,   407,   970,
2591        0,   968,  -640,   737,     0,    28,    29,     0,     0,    57,
2592       32,     0,   644,     0,     0,     0,     0,    38,     0,   644,
2593     1204,     0,   644,     0,     0,     0,     0,     0,     0,     0,
2594        0,     0,     0,     0,   450,   450,     0,     0,   450,   450,
2595      450,    43,    44,   170,     0,     0,     0,     0,     0,  1195,
2596       51,     0,  1004,     0,     0,     0,     0,     0,   415,  1004,
2597        0,     0,  1004,   415,   698,   698,   698,   698,   698,   698,
2598      698,   698,    28,    29,     0,  1195,     0,    32,     0,     0,
2599        0,     0,     0,     0,    38,     0,   574,     0,     0,     0,
2600        0,     0,     0,  1290,  1292,     0,  1294,     0,     0,     0,
2601        0,     0,    57,     0,     0,    57,    57,    57,    43,    44,
2602        0,     0,     0,     0,     0,     0,     0,    51,     0,     0,
2603     1206,  1354,  1356,  1358,  1360,     0,     0,   415,   407,   407,
2604       57,     0,     0,     0,     0,   920,   923,    57,    88,     0,
2605        0,     0,     0,     0,     0,   255,    57,     0,     0,     0,
2606        0,     0,     0,    57,     0,     0,   255,   698,   407,     0,
2607       57,   920,   923,     0,   417,   417,     0,     0,   415,     0,
2608        0,     0,     0,     0,     0,   450,   450,     0,     0,   568,
2609        0,     0,     0,   920,   923,     0,     0,     0,   920,   923,
2610      131,     0,   920,   923,     0,     0,     0,     0,     0,     0,
2611        0,     0,     0,    57,     0,   737,     0,     0,     0,     0,
2612        0,    57,     0,     0,   568,     0,     0,     0,     0,     0,
2613      164,   182,   195,   568,     0,     0,     0,    57,   407,   233,
2614      568,    88,     0,     0,     0,    57,    57,   568,    88,    88,
2615      407,     0,     0,     0,  1924,  1928,    57,  1934,  1938,     0,
2616        0,     0,  1942,  1946,  1950,  1954,     0,     0,     0,     1,
2617        0,     0,     0,  1506,   417,     0,   644,   255,   644,   195,
2618      400,   402,   404,   405,   255,     0,     0,     0,     0,   473,
2619        0,   415,   473,     0,     2,     0,     0,     0,   568,     0,
2620        0,     0,     0,   192,   193,   473,     0,   473,     0,   473,
2621        0,     0,     0,     0,   568,     0,  1004,  1004,  1004,   407,
2622      407,     0,     0,   407,   407,   407,     0,     0,     0,     0,
2623        0,   533,   402,   404,     0,     0,     0,     0,     0,     1,
2624       28,    29,     0,    57,   407,    32,     0,     0,    57,     0,
2625        0,     0,    38,     0,    57,     0,     0,     0,     0,     0,
2626       57,     0,     0,     0,     2,     0,    57,     0,   563,   578,
2627        0,     0,     0,   121,     0,     0,    43,    44,     0,     0,
2628        0,     0,     0,     0,   644,    51,     0,   644,    52,     0,
2629      644,     0,     0,   670,     0,     0,   670,     0,     0,     0,
2630        0,   700,   700,   700,   700,   700,   700,   700,   700,     0,
2631       28,    29,     0,   614,     0,    32,     0,     0,     0,     0,
2632        0,     0,    38,     0,  1004,     0,   182,     0,   644,     0,
2633        0,     0,     0,     0,   670,     0,   689,     0,    88,     0,
2634        0,     0,   644,   644,   644,   644,    43,    44,   670,   670,
2635      670,   670,     0,     0,     0,    51,     0,     0,    52,     0,
2636      407,   407,     0,     0,     0,   255,     0,   255,     0,     0,
2637        0,  1647,     0,  1648,    57,     0,     0,     0,     0,     0,
2638        0,    57,     0,     0,   255,   407,    57,     0,     0,     0,
2639        0,     0,     0,     0,   700,   450,   450,     0,     0,     0,
2640        0,     0,     0,     0,   255,     0,     0,     0,     0,     0,
2641        0,   255,     0,     0,     0,     0,     0,     0,     0,     0,
2642     1780,   417,  -629,     0,     0,     0,    66,     0,   255,   644,
2643        0,     0,     0,     0,     0,   255,   644,     0,     0,   255,
2644      644,     0,   400,   402,   404,     0,     0,  -629,     0,   450,
2645      450,  1658,     0,     0,     0,     0,  -629,  -629,  1660,     0,
2646        0,     0,     0,     0,     0,     0,   861,     0,  1004,  1004,
2647        0,     0,     0,   473,     0,  1004,  1004,     0,     0,  1004,
2648     1004,     0,     0,     0,   131,     0,     0,     0,     0,     0,
2649        0,     0,     0,  -629,  -629,     0,     0,     0,  -629,     0,
2650        0,     0,     0,     0,     0,  -629,     0,     0,     0,    66,
2651        0,     0,     0,   473,   473,     0,     0,     0,   935,    66,
2652        0,     0,   946,     0,     0,   473,    66,    66,     0,  -629,
2653     -629,     0,     0,     0,   164,     0,     0,     0,  -629,   473,
2654      473,  -629,     0,     0,  1781,     0,   968,  -629,     0,     0,
2655        0,     0,     0,     0,     0,     0,     0,     0,   861,     0,
2656        0,   473,   473,     0,     0,     0,   473,   473,   482,     0,
2657      473,   473,   126,     0,   195,   195,   195,     0,     0,     0,
2658      482,    57,    57,     0,   482,     0,     0,     0,     0,     0,
2659        0,     0,   195,   195,     0,     0,   451,   407,     0,   451,
2660        0,   407,     0,   180,   126,     0,     0,     0,   473,     0,
2661      473,   232,   451,  1050,   451,  1059,   451,     0,     0,   920,
2662      923,     0,     0,   920,   923,     0,     0,     0,     0,     0,
2663      404,     0,     0,   417,     0,     0,     0,   417,     0,     0,
2664        0,     0,     0,   644,     0,     0,    57,   484,     0,     0,
2665        0,   126,   126,     0,     0,     0,     0,     0,     0,   484,
2666        0,     0,     0,   484,   407,     0,     0,     0,     0,     0,
2667      407,   407,     0,     0,     0,    57,    57,    57,    57,     0,
2668        0,     0,     0,  1004,   450,     0,   450,     0,     0,     0,
2669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2670      417,     0,     0,   531,    66,  1796,     0,     0,     0,     0,
2671      450,     0,   450,     0,    66,     0,    66,     0,   417,     0,
2672        0,     0,     0,   568,   407,   407,     0,     0,     0,     0,
2673        0,     0,     0,     0,     0,     0,     0,     0,  1184,     0,
2674        0,     0,     0,     0,   689,     0,    57,     0,     0,     0,
2675      595,     0,     0,   597,     0,     0,     0,     0,     0,     0,
2676      255,   644,     0,     0,     0,  1214,   644,   644,     0,  1214,
2677      612,     0,   670,   670,   620,   624,     0,     0,     0,   644,
2678        0,     0,   644,     0,   670,   126,     0,   861,   921,   924,
2679      644,     0,     0,     0,     0,     0,     0,     0,   180,     0,
2680     1004,  1004,     0,     0,     0,     0,     0,     0,     0,     0,
2681        0,     0,     0,   715,   921,   924,     0,     0,     0,   715,
2682        0,     0,     0,   568,     0,    57,     0,     0,     0,     0,
2683        0,     0,     0,     0,     0,     0,   921,   924,     0,     0,
2684        0,   921,   924,     0,     0,   921,   924,     0,     0,     0,
2685      482,     0,     0,     0,     0,     0,     0,     0,   407,     0,
2686       57,   482,     0,   407,     0,     0,     0,     0,     0,     0,
2687        0,     0,     0,     0,     0,   450,   450,   450,   450,   450,
2688        0,    57,     0,     0,     0,     0,     0,     0,     0,   450,
2689      450,   450,   450,     0,   417,     0,     0,     0,     0,   417,
2690        0,     0,     0,     0,     0,     0,     0,     0,  1414,     0,
2691        0,     0,     0,   482,   126,   861,     0,     0,     0,     0,
2692      451,   451,   164,   861,  1428,     0,    76,   407,     0,   873,
2693        0,  1435,   954,     0,   861,     0,  1443,     0,     0,     0,
2694      873,     0,   255,   644,     0,     0,   451,   451,     0,     0,
2695        0,     0,     0,     0,     0,     0,   126,   450,   450,   407,
2696        0,   407,     0,   417,    57,     0,     0,     0,   451,   451,
2697        0,     0,     0,   451,   451,   131,     0,   451,   451,     0,
2698        0,     0,  1004,  1004,  1472,   407,     0,   407,     0,   578,
2699        0,     0,   964,     0,   232,   131,     0,     0,     0,     0,
2700        0,     0,     0,     0,   417,   935,     0,     0,     0,    76,
2701        0,     0,     0,     0,     0,   451,     0,   451,   473,    76,
2702      644,   644,   670,     0,     0,     0,    76,    76,   402,     0,
2703        0,     0,     0,     0,     0,   621,   625,     0,     0,     0,
2704        0,   568,   620,     0,     0,   620,   126,   126,   126,     0,
2705     1008,     0,   935,   597,     0,   657,     0,     0,     0,     0,
2706        0,     0,     0,     0,   126,   126,   126,     0,   485,     0,
2707      920,   923,     0,   343,     0,     0,     0,     0,     0,     0,
2708      485,   407,     0,   407,   485,   126,     0,   473,   473,     0,
2709        0,   473,   473,   473,     0,     0,     0,   414,  1546,   400,
2710        0,     0,     0,     0,     0,     0,     0,     0,     0,   404,
2711        0,     0,     0,     0,     0,     0,     0,   417,     0,     0,
2712        0,     0,    66,     0,   920,   923,     0,     0,     0,     0,
2713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2714        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2715      407,   407,   407,   407,   407,    57,     0,    57,     0,   414,
2716        0,     0,     0,     0,   407,   407,   407,   407,     0,   620,
2717      624,  1168,  1172,     0,     0,     0,     0,     0,     0,     0,
2718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2719      670,     0,   670,     0,     0,     0,     0,     0,     0,   620,
2720        0,     0,     0,     0,    76,     0,     0,     0,     0,     0,
2721      232,     0,     0,     0,    76,     0,    76,     0,     0,     0,
2722        0,     0,  1212,  1222,     0,   892,  1212,  1222,   473,   473,
2723        0,     0,   407,   407,     0,     0,     0,     0,     0,     0,
2724        0,     0,     0,    82,     0,     0,     0,     0,     0,   861,
2725        0,     0,   861,     0,  1672,     0,     0,     0,   670,     0,
2726        0,   414,     0,     0,     0,   703,   706,   708,     0,     0,
2727      414,   302,  1214,     1,   303,   106,   414,     0,     0,  1214,
2728        0,     0,   729,     0,     0,     0,     0,     0,   343,     0,
2729        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
2730        0,   482,     0,   621,     0,   414,   621,     0,     0,     0,
2731      414,     0,   482,     0,     0,     0,     0,     0,     0,     0,
2732        0,     0,     0,     0,     0,     0,    82,     0,     0,     0,
2733        0,     0,     0,     0,     0,   307,    82,     0,     0,     0,
2734        0,   308,   309,    82,    82,     0,     0,   414,     0,   414,
2735      485,     0,     0,     0,     0,   312,     0,     0,     0,     0,
2736        0,   485,   921,   924,     0,     0,   921,   924,   313,     0,
2737        0,     0,   314,   315,   316,   317,   318,   319,   320,     0,
2738     1426,   414,     0,     0,     0,   486,     0,     0,   322,     0,
2739        0,  1426,   705,     0,   775,     0,     0,   486,     0,     0,
2740        0,   486,   326,   327,     0,     0,     0,     0,   126,     0,
2741        0,     0,     0,   485,     0,     0,  1126,     0,     0,     0,
2742        0,     0,     0,     0,     0,   451,     0,     0,     0,     0,
2743      621,   625,  1169,  1173,     0,     0,     0,     0,     0,     0,
2744        0,     0,     0,     0,     0,     0,     0,   126,   657,   657,
2745      657,   657,     0,     0,     0,     0,     0,     0,     0,     0,
2746      621,     0,  1743,     0,   595,     0,   597,   126,     0,     0,
2747        0,     0,     0,     0,     0,     0,     0,  1752,     0,     0,
2748        0,     0,     0,     0,   400,     0,     0,     0,     0,     0,
2749      414,   195,     0,     0,   451,   451,     0,     0,   451,   451,
2750      451,     0,     0,     0,     0,     0,     0,     0,     0,   612,
2751        0,     0,  1765,     0,   578,     0,     0,     0,     0,     0,
2752        0,    82,     0,     0,     0,     0,     0,   414,     0,     0,
2753        0,    82,     0,    82,     0,     0,     0,     0,   473,   473,
2754        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2755      920,   923,     0,   920,   923,     0,     0,     0,     0,   343,
2756        0,     0,     0,     0,   920,   923,   920,   923,     0,     0,
2757      126,   126,     0,     0,     0,     0,     0,     0,     0,     0,
2758        0,     0,     0,     0,     0,     0,     0,   414,     0,     0,
2759        0,     0,   473,   473,     0,   400,     0,     0,     0,     0,
2760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2761        0,     0,     0,  1584,   578,     0,  1590,     0,     0,     0,
2762        0,     0,    76,     0,     0,     0,     0,     0,     0,     0,
2763        0,     0,   920,   923,     0,   451,   451,     0,     0,     0,
2764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2765        0,     0,     0,     0,  1631,     0,     0,     0,   414,     0,
2766        0,     0,     0,     0,     0,     0,     0,   874,  1168,  1172,
2767     1168,  1172,     0,     0,     0,   358,     0,     0,   874,     0,
2768        0,     0,     0,     0,   343,     0,  1136,     0,   343,     0,
2769        0,   620,     0,   620,     0,     0,     0,     0,     0,     0,
2770        0,     0,   595,   414,   597,     0,     0,     0,     0,   612,
2771      414,     0,     0,   414,     0,     0,     0,     0,     0,     0,
2772     1883,     0,     0,     0,  1474,     0,     0,     0,     0,  1689,
2773      874,     0,     0,   343,     0,     0,  1689,     0,     0,   414,
2774      414,   414,   414,   414,   414,   414,     0,     0,   414,   414,
2775        0,   414,   414,   414,   414,   414,   414,   414,   414,     0,
2776      343,     0,     0,     0,     0,     0,     0,     0,   343,   414,
2777      414,   414,   414,   414,   414,   414,   414,   414,   414,   414,
2778      414,   414,   414,   414,   414,   414,   414,     0,   343,     0,
2779        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2780        0,   485,     0,     0,     0,     0,     0,     0,  1264,     0,
2781        0,     0,   485,   921,   924,     0,     0,     0,     0,   414,
2782      414,     0,     0,     0,     0,     0,     0,   473,     0,   473,
2783        0,     0,   861,   651,     0,     0,     0,     0,     0,     0,
2784        0,  1296,  1300,  1304,  1308,  1312,     0,     0,  1321,     0,
2785        0,   361,     0,   473,  1264,   473,     0,     0,     0,     0,
2786        0,     0,     0,     0,     0,   404,     0,   921,   924,  1362,
2787     1366,  1370,  1374,  1378,  1585,   416,  1321,  1591,     0,     0,
2788        0,     0,     0,     0,     0,     0,     0,   414,     0,   414,
2789      748,     0,   657,     0,     0,   657,     0,     0,     0,     0,
2790        0,     0,     0,     0,  1126,     0,     0,     0,     0,     0,
2791        0,     0,     0,     0,     0,  1632,     0,     0,     0,   414,
2792        0,     0,     0,     0,     0,     0,     0,     0,   414,  1169,
2793     1173,  1169,  1173,   657,     0,     0,     0,   416,     0,    82,
2794        0,     0,     0,     0,     0,   451,   451,   657,   657,   657,
2795      657,     0,   621,     0,   621,     0,     0,   414,     0,   414,
2796        0,     0,     0,   126,     0,     0,     0,     0,     0,     0,
2797        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2799        0,     0,     0,     0,     0,     0,     0,     0,     0,   451,
2800      451,     0,     0,     0,     0,     0,     0,  -457,  -457,  -457,
2801     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,   473,   473,
2802      473,   473,   473,     0,     0,   414,     0,     0,     0,     0,
2803        0,     0,   473,   473,   473,   473,     0,     0,     0,   416,
2804        0,     0,     0,   704,   707,   709,     0,     0,   416,     0,
2805        0,     0,     0,     0,   416,     0,     0,     0,     0,     0,
2806      730,     0,     0,     0,     0,   414,   361,   126,     0,     0,
2807        0,     0,     0,     0,     0,     0,   414,     0,     0,     0,
2808        0,     0,     0,   416,     0,     0,     0,     0,   416,     0,
2809        0,     0,  1824,  1828,     0,     0,     0,     0,  1015,     0,
2810      473,   473,   343,   343,     0,  1584,     0,     0,  1590,     0,
2811        0,     0,     0,     0,     0,     0,  1631,     0,   874,     0,
2812     -457,  -457,     0,     0,     0,   416,     0,   416,     0,   874,
2813     -457,     0,     0,     0,     0,  -457,  -457,  -457,     0,  -457,
2814     -457,  -457,  -457,  -457,     0,     0,     0,     0,   302,     0,
2815        1,   303,   106,   304,     0,   305,   306,     0,     0,   416,
2816        0,  1100,     0,     0,     0,     0,   414,     0,   414,     0,
2817        0,     0,  1607,     0,     0,     2,     0,     0,     0,     0,
2818        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2819      414,     0,     0,     0,   651,     0,     0,     0,     0,     0,
2820     1634,     0,     0,     0,     0,     0,   414,  1641,     0,     0,
2821      414,     0,   307,   343,     0,     0,     0,   414,   308,   309,
2822      310,   414,     0,     0,     0,     0,   651,   651,   651,   651,
2823        0,   311,   312,     0,   451,     0,   451,     0,     0,     0,
2824        0,  1321,     0,  1321,     0,   313,     0,     0,     0,   314,
2825      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
2826      451,     0,   451,     0,     0,   322,   323,     0,   416,   324,
2827     1158,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
2828      327,  1720,   328,   329,   330,   331,  1232,     0,     0,     0,
2829     1236,     0,     0,   921,   924,     0,   921,   924,     0,     0,
2830        0,     0,     0,     0,     0,   416,     0,   921,   924,   921,
2831      924,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2832        0,   748,     0,     0,     0,     0,     0,     0,   126,     0,
2833        0,     0,     0,     0,     0,  1273,     0,   361,     0,     0,
2834        0,     0,     0,     0,     0,     0,  1824,  1828,     0,     0,
2835        0,     0,     0,  1825,  1829,     0,     0,     0,     0,     0,
2836        0,     0,  1327,     0,     0,   416,   625,   748,     0,   625,
2837     1338,   657,   657,     0,     0,   921,   924,   625,   414,     0,
2838        0,  1126,   414,  1126,   657,     0,     0,   657,     0,     0,
2839     1391,     0,     0,     0,     0,   657,     0,     0,  1126,     0,
2840        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2842        0,     0,     0,     0,   414,   451,   451,   451,   451,   451,
2843        0,     0,     0,     0,   414,     0,   416,     0,     0,   451,
2844      451,   451,   451,     0,     0,   414,     0,     0,     0,     0,
2845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2846        0,     0,   361,   414,     0,   343,   361,     0,     0,     0,
2847      414,     0,   414,     0,     0,     0,     0,     0,     0,     0,
2848        0,   416,     0,     0,     0,     0,     0,     0,   416,   414,
2849        0,   416,     0,     0,     0,     0,     0,     0,     0,     0,
2850        0,     0,     0,     0,     0,     0,     0,   451,   451,     0,
2851        0,   361,     0,     0,     0,     0,     0,   416,   416,   416,
2852      416,   416,   416,   416,     0,     0,   416,   416,     0,   416,
2853      416,   416,   416,   416,   416,   416,   416,     0,   361,     0,
2854        0,     0,   414,     0,     0,     0,   361,   416,   416,   416,
2855      416,   416,   416,   416,   416,   416,   416,   416,   416,   416,
2856      416,   416,   416,   416,   416,     0,   361,     0,     0,     0,
2857        0,     0,     0,     0,     0,     0,     0,  1015,     0,     0,
2858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2859        0,     0,     0,     0,     0,     0,     0,   416,   416,     0,
2860        0,     0,     0,     0,     0,     0,     0,   625,   625,     0,
2861        0,     0,     0,     0,     0,  1126,  1126,  1126,  1126,     0,
2862        0,  1126,     0,     0,     0,   657,   657,     0,  1126,     0,
2863     1126,     0,     0,     0,     0,     0,     0,     0,     0,   414,
2864        0,     0,  1126,   414,   414,   414,     0,     0,     0,     0,
2865        0,     0,     0,     0,   343,     0,     0,     0,     0,   414,
2866      414,     0,     0,     0,     0,   416,   343,   416,     0,     0,
2867      651,     0,     0,   651,     0,     0,     0,     0,     0,     0,
2868        0,     0,   651,     0,   414,   414,     0,   414,   414,     0,
2869        0,     0,   414,   414,   414,   414,     0,   416,     0,     0,
2870        0,     0,     0,     0,  1626,  1627,   416,     0,   414,     0,
2871        0,   651,     0,  1273,     0,     0,     0,  1639,     0,     0,
2872     1338,     0,  1643,     0,   414,   651,   651,   651,   651,     0,
2873        0,     0,     0,     0,     0,   416,     0,   416,     0,     0,
2874        0,     0,     0,     0,     0,     0,     0,     0,     0,   414,
2875        0,     0,     0,   397,     0,     0,     0,     0,     0,     0,
2876        0,     0,     0,     0,     0,     0,     0,  1917,     0,     0,
2877        0,     0,  1920,  1922,  1926,  1930,  1932,  1936,     0,     0,
2878     1126,  1940,  1944,  1948,  1952,     0,     0,     0,     0,  1126,
2879        0,  1126,     0,     0,     0,     0,     0,     0,     0,     0,
2880        0,     0,     0,   416,   397,     0,     0,     0,     0,     0,
2881        0,     0,     0,     0,     0,  1713,     0,     0,     0,     0,
2882        0,     0,     0,     0,     0,     0,     0,     0,   343,   343,
2883        0,   414,   414,   414,   414,   414,   414,   414,   414,     0,
2884        0,     0,   576,   416,  1126,  1126,     0,     0,  1126,     0,
2885     1126,     0,     0,  1126,   416,     0,     0,  1126,     0,     0,
2886        0,     0,   414,   414,     0,     0,     0,     0,     0,     0,
2887        0,     0,   414,     0,     0,     0,     0,     0,     0,     0,
2888      361,   361,     0,     0,     0,     0,     0,     0,     0,     0,
2889     1126,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2890        0,     0,     0,     0,     0,     0,     0,     0,     0,   686,
2891        0,     0,     0,     0,     0,     0,     0,     0,  1126,     0,
2892        0,     0,     0,     0,   414,     0,     0,     0,   414,   414,
2893        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2894        0,     0,     0,     0,   416,     0,   416,     0,     0,     0,
2895        0,     0,     0,   468,     0,     0,   468,     0,   302,     0,
2896        1,   303,   106,   304,     0,   305,   306,     0,   416,   468,
2897        0,   468,     0,   468,     0,     0,     0,     0,     0,     0,
2898        0,     0,     0,     0,   416,     2,     0,     0,   416,     0,
2899        0,   361,     0,     0,     0,   416,     0,     0,     0,   416,
2900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2901        0,     0,     0,     0,     0,   850,     0,     0,     0,     0,
2902        0,   855,   307,     0,     0,     0,     0,     0,   308,   309,
2903      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2904      343,   311,   312,     0,     0,     0,     0,     0,     0,     0,
2905        0,     0,     0,     0,     0,   313,     0,     0,   343,   314,
2906      315,   316,   317,   318,   319,   320,   321,  1015,     0,     0,
2907        0,     0,     0,     0,     0,   322,   323,     0,     0,   324,
2908     1158,   325,   649,     0,  1725,     0,     0,     0,  1726,   326,
2909      327,   932,   328,   329,   330,   331,     0,     0,  1015,     0,
2910        0,     0,     0,     0,     0,     0,     0,     0,     0,   343,
2911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2912        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2914        0,     0,     0,     0,     0,     0,     0,     0,     0,   651,
2915      651,  1007,     0,     0,  1012,     0,   416,     0,     0,   651,
2916      416,   651,   651,     0,     0,   651,     0,  1007,     0,     0,
2917        0,     0,     0,   651,     0,     0,   651,     0,     0,     0,
2918        0,     0,     0,     0,     0,     0,     0,     0,   576,     0,
2919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2920        0,   576,   416,     0,     0,     0,     0,     0,     0,     0,
2921        0,     0,   416,     0,     0,     0,     0,     0,     0,     0,
2922        0,     0,     0,   416,     0,     0,     0,     0,     0,     0,
2923        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2924        0,   416,     0,   361,     0,     0,     0,     0,   416,     0,
2925      416,     0,     0,     0,     0,     0,  1015,     0,     0,     0,
2926        0,     0,     0,     0,     0,     0,     0,   416,  1915,     0,
2927        0,     0,     0,     0,     0,     0,     0,   468,   468,     0,
2928     1713,     0,     0,     0,     0,  1639,     0,     0,  1643,     0,
2929        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2930        0,     0,     0,   468,   468,     0,     0,     0,     0,     0,
2931        0,   686,     0,     0,     0,     0,     0,   686,     0,     0,
2932      416,     0,     0,     0,     0,   468,   468,     0,     0,     0,
2933      468,   468,     0,     0,   468,   468,     0,     0,     0,     0,
2934        0,  1001,     0,     0,     0,     0,     0,     0,     0,     0,
2935        0,     0,  1015,     0,     0,     0,     0,     0,     0,     0,
2936        0,     0,     0,  1015,     0,     0,     0,     0,     0,     0,
2937        0,     0,   468,     0,   468,     0,     0,     0,     0,     0,
2938        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2939        0,     0,     0,   651,   651,   651,   651,     0,     0,   651,
2940        0,     0,     0,   651,   651,     0,   651,     0,   651,     0,
2941        0,     0,     0,     0,     0,     0,     0,   416,     0,     0,
2942      651,   416,   416,   416,     0,     0,     0,     0,     0,     0,
2943     2018,  2019,   361,     0,     0,     0,     0,   416,   416,     0,
2944        0,     0,     0,   649,   361,     0,     0,     0,     0,     0,
2945        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2946        0,     0,   416,   416,     0,   416,   416,     0,     0,     0,
2947      416,   416,   416,   416,     0,   649,   649,   649,   649,     0,
2948        0,     0,     0,     0,     0,     0,   416,     0,     0,     0,
2949        0,     0,     0,     0,     0,     0,     0,   686,     0,     0,
2950        0,     0,   416,     0,  1434,     0,     0,     0,     0,     0,
2951        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2952        0,     0,     0,     0,     0,     0,     0,   416,     0,     0,
2953        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2954        0,     0,  1015,     0,     0,     0,  1127,     0,     0,     0,
2955        0,     0,     0,     0,  1001,     0,     0,  1470,   651,     0,
2956        0,  1001,   576,     0,  1001,     0,     0,   651,     0,   651,
2957        0,     0,     0,     0,     0,     0,     0,     0,   932,     0,
2958     1166,  1170,     0,     0,     0,     0,     0,     0,     0,     0,
2959        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2960        0,     0,     0,     0,     0,     0,   361,   361,     0,   416,
2961      416,   416,   416,   416,   416,   416,   416,     0,     0,  1015,
2962        0,     0,   651,   651,     0,   932,   651,     0,   651,     0,
2963        0,   651,     0,     0,     0,   651,     0,     0,     0,     0,
2964      416,   416,  2115,     0,   302,     0,     1,   303,   106,   304,
2965      416,   305,   306,     0,     0,     0,     0,     0,     0,     0,
2966     1015,     0,     0,     0,     0,     0,     0,     0,   651,     0,
2967        0,     2,   397,     0,     0,     0,     0,     0,     0,     0,
2968      121,   576,     0,   576,     0,     0,     0,     0,     0,     0,
2969        0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
2970        0,     0,   416,     0,     0,     0,   416,   416,   307,     0,
2971        0,  2158,     0,     0,   308,   309,   310,    28,    29,   468,
2972      468,     0,    32,     0,     0,     0,     0,   311,   312,    38,
2973        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2974       74,   313,     0,     0,     0,   314,   315,   316,   317,   318,
2975      319,   320,   321,    43,    44,     0,     0,     0,     0,     0,
2976        0,   322,   887,     0,     0,   888,   731,   325,     0,     0,
2977        0,     0,     0,     0,     0,   326,   327,     0,   328,   329,
2978      330,   331,   468,     0,     0,     0,     0,     0,     0,     0,
2979        0,   117,     0,     0,     0,     0,     0,     0,     0,     0,
2980        0,     0,     0,   686,     0,   686,     0,     0,  1001,     0,
2981     1001,     0,     0,     0,     0,     0,     0,     0,   361,     0,
2982        0,     0,     0,   178,     0,     0,     0,     0,     0,     0,
2983        0,   221,   261,    74,     0,     0,   361,     0,     0,     0,
2984       74,    74,     0,     0,     0,     0,     0,     0,     0,     0,
2985        0,   468,   468,     0,     0,   468,   468,   468,   384,     0,
2986        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2987        0,     0,     0,   221,     0,     0,     0,     0,     0,     0,
2988        0,   418,   483,     0,     0,     0,     0,   361,     0,     0,
2989        0,     0,     0,     0,   483,     0,     0,     0,   483,     0,
2990        0,   510,     0,     0,     0,     0,     0,     0,     0,     0,
2991        0,     0,     0,     0,     0,     0,  1001,     0,     0,   649,
2992        0,     0,   649,     0,     0,     0,   261,   261,     0,     0,
2993        0,   649,     0,     0,     0,     0,     0,     0,     0,     0,
2994        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2995        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2996      649,   573,     0,     0,     0,     0,     0,     0,     0,     0,
2997        0,     0,     0,     0,   649,   649,   649,   649,     0,     0,
2998        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2999        0,     0,   468,   468,     0,     0,     0,     0,     0,     0,
3000        0,     0,     0,     0,     0,   611,     0,     0,   261,   261,
3001      261,     0,   302,     0,     1,   303,   106,   304,   178,   305,
3002      306,     0,  1582,     0,     0,  1588,     0,     0,   178,   261,
3003       74,     0,     0,     0,  1605,     0,     0,     0,     0,     2,
3004        0,     0,     0,     0,     0,     0,     0,     0,   714,     0,
3005      686,     0,     0,     0,   714,     0,     0,  1755,     0,     0,
3006        0,  1001,     0,  1629,   736,     0,     0,     0,  1001,     0,
3007        0,     0,  1001,     0,     0,     0,   307,  1166,  1170,  1166,
3008     1170,     0,   308,   309,   310,  1434,     0,   576,     0,     0,
3009     1768,     0,     0,  1012,     0,   311,   312,     0,     0,     0,
3010        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
3011        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
3012      321,     0,     0,     0,     0,     0,   832,     0,     0,   322,
3013      323,     0,     0,   324,  1158,   325,     0,     0,  1159,     0,
3014        0,     0,     0,   326,   327,  1730,   328,   329,   330,   331,
3015        0,     0,     0,     0,     0,     0,     0,     0,   573,     0,
3016        0,     0,     0,     0,   872,   867,   510,     0,   850,     0,
3017      876,     0,     0,     0,     0,   872,   576,     0,     0,   883,
3018        0,  -870,   890,     0,  -870,  -870,  -870,   576,  -870,  -870,
3019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3020        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3021      573,     0,     0,     0,     0,     0,   941,     0,     0,     0,
3022        0,     0,   957,     0,     0,     0,     0,   963,     0,     0,
3023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3024        0,     0,     0,     0,     0,  -870,     0,     0,     0,     0,
3025      573,  -870,  -870,  -870,     0,     0,     0,     0,     0,     0,
3026        0,     0,     0,     0,  -870,     0,     0,     0,     0,   261,
3027        0,     0,     0,     0,     0,  1001,   261,     0,  -870,   261,
3028        0,     0,  -870,  -870,  -870,  -870,  -870,  -870,  -870,  -870,
3029        0,     0,     0,     0,     0,     0,     0,     0,  -870,     0,
3030      221,     0,   468,   468,  -870,  -870,     0,  -870,  -870,  -870,
3031      221,     0,  -870,  -870,     0,  -870,  -870,  -870,  -870,     0,
3032        0,  1001,     0,  1001,     0,     0,     0,     0,     0,     0,
3033      221,     0,     0,   221,     0,   221,     0,   221,     0,     0,
3034        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3035        0,     0,     0,     0,     0,     0,   468,   468,     0,     0,
3036        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3037        0,     0,   686,   686,     0,  1962,     0,     0,  1140,     0,
3038        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3039        0,     0,     0,  1001,     0,     0,     0,     0,   649,   649,
3040        0,     0,     0,   261,   261,   261,   261,     0,   649,     0,
3041      649,   649,     0,     0,   649,     0,     0,     0,     0,     0,
3042        0,     0,   649,     0,     0,   649,     0,     0,     0,  1007,
3043        0,   261,   261,   261,     0,     0,   178,     0,     0,     0,
3044        0,     0,  1198,     0,     0,     0,     0,     0,     0,     0,
3045      261,     0,     0,     0,     0,     0,     0,  1211,  1221,   736,
3046        0,  1211,  1221,     0,     0,     0,     0,     0,  1198,     0,
3047        0,     0,     0,     0,     0,     0,     0,     0,     0,  1241,
3048        0,     0,   261,     0,     0,     0,     0,     0,     0,   261,
3049        0,     0,   261,     0,     0,     0,     0,     0,     0,     0,
3050        0,  1822,  1826,     0,     0,     0,     0,     0,     0,     0,
3051        0,  1835,     0,  1838,  1582,     0,     0,  1588,     0,     0,
3052        0,     0,     0,     0,     0,  1629,     0,     0,  1851,     0,
3053        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3054        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3055        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3056        0,     0,     0,     0,     0,     0,   656,     0,     0,     0,
3057        0,     0,   573,     0,     0,  1001,     0,     0,     0,     0,
3058      832,   832,   832,     0,     0,     0,     0,     0,     0,     0,
3059        0,   468,     0,   468,     0,     0,     0,     0,     0,     0,
3060        0,     0,     0,   418,   418,   221,     0,   573,    91,     0,
3061        0,     0,     0,     0,     0,  1425,   573,   468,     0,   468,
3062      734,     0,     0,   573,     0,     0,  1425,   117,   736,     0,
3063      573,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3064        0,     0,   649,   649,   649,   649,     0,     0,   649,     0,
3065        0,     0,   649,   649,     0,   649,     0,   649,     0,   120,
3066      132,     0,     0,     0,     0,     0,     0,     0,     0,   649,
3067        0,     0,     0,     0,     0,     0,     0,     0,  1466,     0,
3068        0,   573,     0,     0,     0,     0,     0,     0,     0,     0,
3069        0,   183,   132,     0,     0,     0,   230,   573,     0,     0,
3070        0,    91,     0,   418,     0,     0,     0,     0,    91,    91,
3071      510,   510,     0,     0,     0,     0,     0,     0,     0,     0,
3072        0,   510,     0,     0,     0,     0,   385,     0,     0,     0,
3073        0,     0,   734,     0,     0,     0,   261,   261,   261,   394,
3074        0,     0,     0,     0,   611,  1989,  1990,  1991,  1992,     0,
3075        0,  1993,     0,     0,     0,  1822,  1826,     0,  1835,     0,
3076     1838,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3077        0,     0,  2002,     0,     0,     0,     0,     0,     0,     0,
3078        0,     0,   468,   468,   468,   468,   468,     0,     0,     0,
3079      530,     0,     0,     0,     0,     0,   468,   468,   468,   468,
3080        0,     0,     0,   546,     0,     0,     0,   649,   221,     0,
3081        0,     0,     0,   221,     0,     0,   649,     0,   649,  1566,
3082        0,     0,     0,     0,     0,  1566,     0,     0,     0,   580,
3083        0,   221,     0,     0,     0,     0,     0,     0,     0,     0,
3084        0,     0,     0,     0,   261,     0,     0,   261,     0,     0,
3085      261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3086        0,     0,     0,  1140,   468,   468,     0,     0,     0,     0,
3087        0,   649,   649,   132,     0,   649,     0,   649,     0,     0,
3088      649,     0,     0,     0,   649,     0,   183,     0,   261,     0,
3089        0,     0,     0,     0,     0,     0,   690,     0,    91,     0,
3090        0,     0,   261,   261,   261,   261,     0,     0,     0,     0,
3091     1993,     0,     0,     0,     0,     0,     0,   649,     0,  2070,
3092        0,  2073,     0,     0,     0,   261,     0,   261,     0,     0,
3093        0,     0,  1138,     0,     0,     0,     0,     0,     0,     0,
3094        0,  1662,     0,     0,   611,   649,     0,     0,  1156,     0,
3095      418,   221,     0,     0,     0,     0,     0,     0,     0,   656,
3096      656,   656,   656,     0,  1688,     0,     0,     0,     0,     0,
3097        0,  1688,     0,     0,  2102,  2103,     0,     0,  2070,     0,
3098     2073,     0,     0,  2107,     0,     0,     0,  2109,   261,   261,
3099        0,     0,     0,     0,     0,   261,   261,     0,   734,   261,
3100      261,   734,     0,     0,     0,     0,     0,     0,     0,     0,
3101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3102     2109,     0,     0,     0,   734,     0,   862,     0,     0,  1156,
3103        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3104        0,     0,     0,     0,   132,   746,     0,     0,  2147,     0,
3105        0,     0,     0,     0,     0,     0,  1271,     0,     0,     0,
3106        0,     0,   774,     0,     0,     0,     0,     0,     0,     0,
3107        0,     0,     0,     0,     0,     0,     0,     0,   936,     0,
3108        0,   944,     0,     0,     0,     0,     0,     0,     0,     0,
3109        0,     0,     0,     0,  1324,     0,     0,     0,     0,     0,
3110        0,     0,  1336,     0,     0,     0,     0,     0,     0,     0,
3111        0,     0,     0,     0,     0,     0,     0,     0,   862,     0,
3112        0,     0,  1388,     0,     0,     0,     0,     0,     0,     0,
3113        0,     0,     0,     0,   132,   132,   132,     0,     0,     0,
3114        0,     0,     0,     0,     0,     0,   832,   832,     0,     0,
3115        0,     0,   132,   132,     0,     0,     0,     0,     0,     0,
3116        0,     0,   418,     0,     0,     0,   418,     0,     0,     0,
3117        0,     0,     0,  1051,     0,  1060,     0,     0,     0,     0,
3118        0,     0,     0,     0,   734,     0,  1062,     0,     0,     0,
3119        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3120        0,     0,     0,   261,     0,     0,   573,     0,     0,     0,
3121        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3122        0,     0,   546,     0,     0,     0,     0,     0,     0,   418,
3123        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3124      418,  1784,   418,  1784,     0,     0,     0,     0,     0,     0,
3125        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3126     -457,     0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3127     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3128     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,
3129        0,     0,     0,     0,     0,     0,     0,  1182,     0,     0,
3130        0,     0,     0,     0,   690,     0,   573,     0,     0,     0,
3131        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3132      261,   261,     0,     0,  -457,  1216,   261,   261,     0,  1216,
3133     -457,  -457,  -457,     0,     0,     0,     0,     0,     0,   261,
3134        0,     0,   261,  -457,  -457,     0,     0,   862,     0,     0,
3135      261,     0,     0,     0,  1135,     0,     0,  -457,     0,     0,
3136        0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,
3137        0,     0,     0,     0,     0,     0,     0,  -457,  -457,  -457,
3138     -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,     0,  -457,
3139      510,  -457,  -457,     0,  -457,  -457,  -457,  -457,  -457,  -457,
3140     -457,  -457,  -457,   656,     0,     0,   656,  1593,  1595,     0,
3141     1598,     0,     0,     0,     0,     0,     0,     0,  1608,     0,
3142        0,     0,     0,   418,     0,   221,  1617,     0,   418,     0,
3143        0,     0,     0,  1156,     0,     0,     0,     0,     0,     0,
3144        0,   736,     0,     0,   656,     0,     0,     0,     0,     0,
3145        0,  1156,     0,     0,     0,     0,  1156,     0,   656,   656,
3146      656,   656,     0,     0,     0,     0,     0,     0,   862,  1415,
3147        0,     0,     0,     0,     0,   862,   746,     0,     0,     0,
3148        0,     0,     0,   862,  1429,     0,     0,  1652,     0,  1656,
3149     1272,  1436,   418,     0,   862,   120,   132,     0,     0,     0,
3150        0,     0,   261,   261,     0,     0,     0,     0,     0,  1295,
3151     1299,  1303,  1307,  1311,     0,     0,  1320,  1326,     0,     0,
3152        0,  1156,   746,     0,   573,  1337,     0,     0,     0,     0,
3153        0,     0,     0,     0,     0,   132,     0,  1361,  1365,  1369,
3154     1373,  1377,     0,  1469,  1320,  1390,     0,     0,     0,   580,
3155      260,     0,     0,     0,     0,   132,     0,     0,     0,     0,
3156        0,     0,     0,     0,     0,   936,  1156,     0,   302,     0,
3157        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
3158      261,   261,     0,     0,     0,     0,     0,     0,     0,     0,
3159        0,     0,     0,     0,     0,     2,     0,     0,     0,     0,
3160        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3161        0,     0,   936,     0,     0,     0,     0,     0,  1156,     0,
3162        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3163        0,  1156,   307,     0,     0,     0,     0,     0,   308,   309,
3164      310,     0,     0,   736,   260,   260,   418,     0,     0,     0,
3165        0,   311,   312,     0,     0,     0,     0,     0,  1547,     0,
3166        0,     0,     0,     0,     0,   313,     0,  1555,     0,   314,
3167      315,   316,   317,   318,   319,   320,   321,     0,     0,   572,
3168        0,     0,  1156,     0,     0,   322,   323,     0,     0,   324,
3169     1158,   325,     0,     0,  1725,     0,     0,     0,  1733,   326,
3170      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
3171        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
3172      418,     0,   418,   610,     0,     0,   260,   260,   260,     0,
3173        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3174        0,     0,     0,     2,     0,     0,     0,   260,     0,     8,
3175        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
3176       19,    20,    21,    22,    23,    24,   713,     0,     0,     0,
3177        0,     0,   713,     0,     0,     0,     0,     0,     0,     0,
3178        0,    27,   735,     0,     0,     0,     0,     0,     0,    28,
3179       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
3180       37,    38,    39,     0,     0,     0,     0,     0,     0,   862,
3181        0,     0,   862,     0,  1216,    40,     0,     0,     0,     0,
3182        0,     0,  1679,     0,     0,    43,    44,    45,    46,    47,
3183       48,     0,  1216,     0,    51,     0,     0,   860,     0,  1216,
3184     1135,     0,     0,     0,     0,     0,     0,     0,   566,     0,
3185        0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
3186        0,     0,     0,     0,     0,     0,     0,     0,  1272,     0,
3187        0,     0,     0,     0,     0,  1337,   572,     0,     0,     0,
3188        0,     0,   656,   656,     0,     0,     0,     0,  1156,     0,
3189     1156,     0,     0,  1156,   656,     0,     0,     0,     0,  1842,
3190     1845,     0,  1847,    86,     0,     0,     0,     0,     0,  1320,
3191        0,  1320,  1156,     0,  1858,     0,     0,     0,     0,     0,
3192        0,     0,     0,     0,     0,     0,     0,     0,   572,     0,
3193        0,     0,     0,     0,    86,    86,     0,     0,     0,     0,
3194        0,     0,    86,     0,    86,     0,  1156,     0,     0,     0,
3195     1156,    86,    86,     0,     0,     0,     0,     0,     0,     0,
3196        0,     0,     0,     0,     0,     0,     0,     0,   572,     0,
3197     1712,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3198        0,     0,    86,    86,     0,     0,     0,   260,     0,     0,
3199        0,     0,     0,     0,   260,     0,     0,   260,     0,     0,
3200        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3201        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3202        0,     0,  1744,     0,     0,     0,     0,     0,     0,     0,
3203        0,     0,     0,     0,    86,     0,  1751,     0,     0,     0,
3204      263,     0,     0,  1754,     0,     0,     0,     0,     0,     0,
3205        0,   394,     0,     0,     0,     0,     0,     0,     0,     0,
3206        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3207        0,     0,  1436,     0,   580,     0,     0,     0,     0,     0,
3208        0,    86,     0,     0,    86,     0,     0,     0,     0,     0,
3209        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3210        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3211        0,     0,     0,     0,  1156,     0,    86,     0,     0,     0,
3212        0,   260,   260,   260,   260,     0,     0,     0,     0,    86,
3213        0,     0,   656,  1156,   263,   263,     0,     0,     0,    86,
3214     1156,    86,     0,     0,  1847,     0,  2000,     0,     0,   260,
3215      260,   260,     0,     0,  1808,  2006,     0,     0,     0,     0,
3216     1197,     0,     0,     0,     0,     0,     0,     0,   260,   575,
3217        0,     0,     0,     0,   580,  1210,  1220,   735,     0,  1210,
3218     1220,     0,     0,     0,     0,     0,  1197,     0,     0,     0,
3219        0,     0,     0,     0,     0,     0,     0,  1240,     0,   734,
3220      260,     0,     0,     0,     0,     0,     0,   260,     0,     0,
3221      260,     0,     0,   613,     0,     0,   263,   263,   263,     0,
3222        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3223        0,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3224        0,     0,     0,     0,     0,    86,     0,     0,     0,     0,
3225        0,     0,     0,     0,     0,     0,   716,     0,     0,     0,
3226        0,     0,   716,     0,     0,     0,     0,     0,     0,     0,
3227        0,     0,   738,     0,     0,     0,     0,     0,     0,     0,
3228     1884,     0,     0,     0,     0,     0,     0,    86,     0,     0,
3229      572,     0,  2062,  2065,     0,  1156,     0,  1156,     0,     0,
3230      656,  1156,   656,     0,     0,     0,     0,     0,     0,     0,
3231        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3232        0,     0,     0,     0,     0,   572,     0,     0,     0,     0,
3233        0,     0,     0,     0,   572,     0,     0,     0,     0,     0,
3234        0,   572,     0,     0,     0,     0,   735,     0,   572,     0,
3235        0,  1415,     0,     0,     0,     0,     0,  1156,     0,     0,
3236     1156,     0,     0,     0,     0,     0,   575,     0,   656,     0,
3237        0,     0,     0,  1754,     0,     0,     0,    86,    86,    86,
3238        0,    86,     0,     0,    86,     0,     0,     0,     0,     0,
3239        0,     0,   862,     0,     0,    86,    86,    86,     0,   572,
3240        0,     0,     0,     0,  1156,     0,     0,     0,     0,     0,
3241        0,     0,   733,     0,     0,   572,    86,     0,   575,     0,
3242        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3243        0,     0,     0,     0,     0,  1712,     0,     0,     0,     0,
3244     1919,  1921,  1925,  1929,  1931,  1935,     0,     0,     0,  1939,
3245     1943,  1947,  1951,     0,   260,   260,   260,     0,   575,     0,
3246        0,     0,   610,     0,   551,     0,     0,     0,     0,     0,
3247        0,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3248        0,     0,     0,     0,   263,     0,     0,   263,     0,     0,
3249        0,  1679,     0,     0,     0,     0,     0,     0,     0,     0,
3250        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3252        0,     0,     0,     0,   733,     0,     0,     0,     0,     0,
3253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3254        0,    86,     0,     0,     0,     0,     0,    86,     0,     0,
3255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3256        0,     0,   260,     0,     0,   260,   699,     0,   260,     0,
3257        0,     0,     0,     0,     0,   551,     0,     0,     0,     0,
3258        0,   551,     0,     0,     0,     0,     0,     0,  1921,  1925,
3259     1931,  1935,  1939,  1943,  1947,  1951,     0,     0,     0,     0,
3260        0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
3261        0,   263,   263,   263,   263,     0,     0,     0,     0,     0,
3262      260,   260,   260,   260,     0,     0,     0,     0,     0,     0,
3263        0,     0,     0,     0,     0,     0,     0,     0,     0,   263,
3264      263,   263,     0,   260,     0,   260,     0,     0,     0,     0,
3265     1200,     0,   551,     0,   551,     0,     0,     0,   263,  1661,
3266        0,     0,   610,     0,     0,  1213,  1223,   738,     0,  1213,
3267     1223,     0,     0,     0,     0,     0,  1200,     0,     0,     0,
3268        0,     0,  1687,     0,     0,     0,     0,  1243,     0,  1687,
3269      263,     0,     0,     0,     0,     0,     0,   263,     0,     0,
3270      263,     0,     0,     0,     0,     0,   260,   260,     0,     0,
3271        0,     0,     0,   260,   260,     0,     0,   260,   260,     0,
3272        0,     0,     0,     0,  1137,     0,     0,     0,     0,     0,
3273        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
3274     1155,     0,     0,     0,  1160,     0,     0,     0,     0,     0,
3275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3277        0,     0,     0,     0,     0,     0,     0,     0,    86,     0,
3278      575,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3279      733,     0,     0,   733,     0,  1002,     0,     0,    86,     0,
3280        0,     0,     0,     0,     0,     0,     0,  1225,     0,     0,
3281        0,     0,     0,     0,     0,   575,   733,     0,     0,     0,
3282        0,  1155,  1160,     0,   575,     0,     0,     0,     0,     0,
3283        0,   575,   551,     0,     0,     0,   738,     0,   575,     0,
3284        0,     0,     0,     0,     0,     0,     0,     0,  1270,     0,
3285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3286        0,     0,     0,     0,   302,     0,     1,   303,   106,   304,
3287        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
3288        0,     0,     0,     0,     0,     0,  1322,     0,     0,   575,
3289        0,     2,   551,     0,  1335,     0,     0,     0,     0,     0,
3290        0,    86,    86,     0,     0,   575,     0,     0,     0,     0,
3291        0,     0,     0,     0,  1386,     0,     0,     0,     0,     0,
3292        0,   260,     0,     0,   572,     0,     0,     0,   307,     0,
3293        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
3294        0,     0,     0,     0,   263,   263,   263,   311,   312,     0,
3295        0,     0,   613,     0,     0,     0,     0,     0,     0,     0,
3296        0,   313,     0,  1190,     0,   314,   315,   316,   317,   318,
3297      319,   320,   321,     0,     0,     0,   733,     0,     0,     0,
3298        0,   322,   323,     0,     0,   324,  1158,   325,  1623,     0,
3299     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
3300      330,   331,     0,     0,     0,     0,     0,     0,  1002,     0,
3301        0,     0,     0,     0,     0,  1002,     0,     0,  1002,     0,
3302        0,     0,     0,     0,   572,     0,     0,     0,     0,     0,
3303        0,     0,     0,    86,     0,    86,     0,     0,   260,   260,
3304        0,     0,     0,     0,   260,   260,     1,     0,     0,     0,
3305        0,     0,   263,     0,     0,   263,     0,   260,   263,     0,
3306      260,     0,     0,     0,     0,     0,     0,     0,   260,     0,
3307        0,     2,     0,     0,     0,     0,     0,     8,     9,    10,
3308       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
3309       21,    22,    23,    24,     0,     0,   263,     0,     0,     0,
3310        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
3311      263,   263,   263,   263,     0,     0,     0,    28,    29,     0,
3312        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
3313       39,     0,     0,   263,     0,   263,     0,     0,     0,     0,
3314        0,     0,     0,    40,     0,     0,     0,     0,     0,  1664,
3315        0,     0,   613,    43,    44,    45,    46,    47,    48,   735,
3316        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3317        0,     0,  1690,     0,     0,     0,     0,     0,     0,  1690,
3318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3319        0,     0,  1002,     0,   551,     0,   263,   263,     0,  1592,
3320     1594,     0,  1597,   263,   263,     0,     0,   263,   263,     0,
3321     1137,     0,     0,  1160,     0,     0,     0,     0,  1616,     0,
3322      260,   260,     0,     0,     0,  1155,  1160,     0,     0,     0,
3323        0,     0,   302,   551,     1,   303,   106,   304,     0,   305,
3324      306,     0,   572,  1155,  1160,     0,     0,     0,  1155,     0,
3325        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
3326        0,     0,  1002,     0,  1002,     0,     0,     0,     0,     0,
3327        0,     0,     0,     0,     0,     0,     0,     0,     0,  1650,
3328        0,  1654,     0,  1115,  1116,  1117,   629,  1118,  1119,  1120,
3329     1121,   634,   635,  1122,    86,     0,   307,     0,   260,   260,
3330        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
3331       32,     0,     0,  1155,     0,   311,   312,  1123,     0,   639,
3332      640,   641,     0,     0,     0,     0,     0,     0,     0,   313,
3333      551,     0,     0,   314,   315,   316,   317,   318,   319,   320,
3334      321,    43,    44,     0,     0,     0,     0,     0,     0,   322,
3335      323,     0,     0,   324,     0,   325,   642,     0,  1155,  1160,
3336      254,   735,   643,   326,   327,     0,   328,   329,   330,   331,
3337     1002,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3338        0,   551,     0,     0,     0,     0,   122,     0,     0,     0,
3339        0,     0,     0,   139,     0,     0,     0,     0,    86,     0,
3340        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3341     1155,   263,  1160,     0,   575,     0,   162,   171,   194,     0,
3342        0,     0,     0,  1155,  1160,     0,     0,     0,     0,     0,
3343        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3345        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3346        0,     0,     0,     0,     0,   122,   122,     0,     0,     0,
3347        0,     0,     0,   551,  1155,     0,  1160,     0,     0,     0,
3348        0,     0,   493,     0,     0,     0,     0,     0,     0,     0,
3349        0,     0,     0,     0,     0,   551,     0,     0,   524,     0,
3350      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
3351        0,     0,     0,     0,   575,  1002,     0,   122,     0,     0,
3352        0,     0,  1002,     0,     0,     0,  1002,     2,   263,   263,
3353        0,     0,     0,     0,   263,   263,     0,     0,     0,     0,
3354        0,     0,     0,     0,     0,   125,     0,   263,     0,     0,
3355      263,     0,     0,     0,   162,   569,     0,     0,   263,     0,
3356        0,     0,     0,     0,   307,     0,     0,     0,     0,     0,
3357      308,   309,   310,     0,     0,     0,   125,   125,     0,     0,
3358        0,     0,     0,   311,   312,     0,     0,     0,     0,     0,
3359        0,     0,     0,     0,     0,     0,     0,   313,     0,   171,
3360        0,   314,   315,   316,   317,   318,   319,   320,   321,     0,
3361        0,     0,   171,     0,     0,     0,     0,   322,   323,     0,
3362        0,   324,   569,   325,   125,   125,  2056,  2057,  1014,     0,
3363        0,   326,   327,     0,   328,   329,   330,   331,     0,     0,
3364        0,     0,     0,     0,     0,     0,     0,     0,     0,   738,
3365        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
3366     1818,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3367        0,     0,     0,     0,     0,     0,   125,     0,     0,     0,
3368     1155,  1160,  1155,  1160,     0,  1155,  1837,     0,     0,     0,
3369        0,  1592,  1844,     0,  1616,  1854,  1160,     1,   303,   106,
3370      304,     0,   305,   306,  1155,  1160,  1616,     0,     0,     0,
3371      263,   263,     0,     0,   577,     0,     0,     0,     0,     0,
3372        0,     0,     2,     0,     0,     0,     0,     0,   122,  1002,
3373        0,     0,   575,     0,   122,     0,     0,     0,  1155,   551,
3374     1160,     0,  1155,     0,  1160,     0,     0,     0,     0,     0,
3375        0,     0,     0,     0,     0,     0,     0,     0,   125,   307,
3376        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
3377      569,   125,     0,     0,     0,  1002,     0,  1002,   311,   312,
3378        0,   687,     0,     0,     0,     0,     0,     0,   263,   263,
3379        0,     0,   313,     0,  1002,     0,   314,   315,   316,   317,
3380      318,   319,   320,   321,   569,     0,     0,     0,     0,     0,
3381        0,     0,   322,   323,     0,     0,   324,  1158,   325,  1855,
3382      162,  1159,     0,     0,     0,     0,   326,   327,     0,   328,
3383      329,   330,   331,     0,     0,     0,     0,     0,     0,     0,
3384        0,     0,     0,     0,     0,     0,     0,  1002,     0,     0,
3385        0,   738,     0,     0,     0,     0,     0,     0,     0,     0,
3386      122,   122,   122,     0,   122,     0,     0,   122,     0,     0,
3387        0,     0,     0,     0,     0,     0,     0,     0,   122,   122,
3388      122,     0,     0,     0,     0,     0,     0,   125,     0,     0,
3389        0,     0,     0,   577,     0,     0,     0,   524,     0,   569,
3390        0,   122,     0,     0,     0,     0,  1155,     0,     0,     0,
3391        0,     0,     0,     0,   122,     0,     0,     0,     0,     0,
3392        0,     0,     0,     0,     0,  1155,     0,     0,     0,   125,
3393     1160,     0,  1155,  1837,     0,  1160,  1616,     0,  1999,     0,
3394     2001,     0,     0,     0,     0,     0,  1160,  2005,   551,     0,
3395      551,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3396        0,     0,     0,   577,   551,   551,     0,     0,     0,     0,
3397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3398        0,     0,     0,     0,     0,     0,     0,     0,     0,  1923,
3399     1927,   733,  1933,  1937,     0,     0,     0,  1941,  1945,  1949,
3400     1953,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3401        0,     0,     0,     0,     0,     0,  1178,     0,     0,   125,
3402      125,   125,     0,   125,   122,     0,   687,     0,     0,  1002,
3403      569,     0,     0,     0,     0,     0,     0,   125,   125,   125,
3404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3405        0,     0,     0,     0,     0,     0,     0,     0,   125,     0,
3406      577,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3407        0,     0,     0,   577,     0,     0,     0,     0,     0,     0,
3408        0,     0,     0,     0,  2061,  2064,     0,  1155,  1160,  1155,
3409        0,     0,     0,  1155,  1837,     0,     0,     0,     0,     0,
3410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3412        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3413        0,     0,     0,     0,     0,     0,  1923,  1927,  1933,  1937,
3414     1941,  1945,  1949,  1953,     0,     0,     0,     0,     0,  1155,
3415     1160,     0,  1155,  1837,     0,     0,     0,  2108,     0,     0,
3416        0,     0,     0,     0,     0,     0,     0,     0,   551,     0,
3417        0,     0,     0,     0,     0,     0,     0,   551,     0,   481,
3418        0,     0,     0,   687,     0,     0,     0,     0,     0,   687,
3419        0,   481,     0,     0,   259,   481,  1155,     0,     0,     0,
3420        0,     0,     0,     0,     0,     0,     0,     0,   162,     0,
3421      569,     0,     0,     0,     0,     0,     0,   569,     0,     0,
3422        0,     0,   569,   258,   258,     0,     0,     0,     0,  1002,
3423        0,     0,     0,   551,   551,     0,     0,     0,     0,     0,
3424        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
3425        0,     0,     0,     0,     0,     0,   259,     0,   571,     0,
3426      259,   122,     0,     0,     0,     0,     0,     0,     0,     0,
3427      122,     0,     0,     0,     0,   569,     0,     0,     0,     0,
3428        0,   122,     0,     0,     0,     0,     0,     0,   259,   259,
3429        0,   569,     0,     0,     0,     0,     0,     0,     0,     0,
3430        0,     0,   609,     0,     0,   258,   258,   258,     0,     0,
3431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3432        0,     0,     0,     0,     0,     0,   258,     0,     0,     0,
3433        0,     0,     0,     0,     0,     0,     0,     0,   569,     0,
3434        0,     0,     0,     0,     0,   712,     0,     0,     0,     0,
3435        0,   712,     0,     0,     0,     0,     0,     0,     0,     0,
3436        0,     0,     0,     0,     0,     0,     0,   259,     0,   577,
3437      259,   259,   259,     0,     0,     0,   577,     0,     0,     0,
3438        0,   125,     0,     0,   122,   122,     0,     0,     0,     0,
3439        0,   259,     0,     0,   122,     0,   122,     0,     0,     0,
3440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3441      259,     0,     0,     0,     0,     0,   259,     0,     0,     0,
3442      125,     0,     0,     0,     0,     0,     0,     0,     0,   577,
3443        0,     0,     0,     0,   577,     0,     0,     0,     0,     0,
3444      125,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3445      577,     0,     0,     0,     0,   571,     0,     0,     0,     0,
3446        0,   871,     0,     0,     0,     0,     0,     0,     0,     0,
3447        0,     0,   871,     0,     0,     0,     0,     0,     0,     0,
3448        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3449        0,     0,     0,     0,     0,     0,   264,   577,     0,     0,
3450        0,     0,     0,     0,     0,     0,     0,   571,     0,     0,
3451        0,     0,     0,     0,     0,     0,   122,     0,   122,     0,
3452        0,     0,     0,     0,   962,     0,   259,     0,     0,     0,
3453        0,     0,     0,     0,     0,     0,     0,   259,     0,     0,
3454        0,     0,     0,   125,   125,     0,   264,   571,     0,     0,
3455        0,     0,     0,   577,     0,   577,     0,     0,   264,     0,
3456        0,     0,   264,     0,     0,     0,   258,     0,     0,     0,
3457        0,     1,     0,   258,     0,     0,   258,     0,     0,     0,
3458        0,     0,     0,     0,     0,     0,     0,     0,     0,   259,
3459      264,   264,     0,     0,     0,     0,     2,   200,   201,   202,
3460      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
3461       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
3462        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3463        0,   259,     0,     0,    27,     0,   424,     0,   259,     0,
3464        0,   259,    28,    29,     0,     0,   425,    32,     0,     0,
3465       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
3466        0,     0,     0,     0,     0,     0,     0,     0,    40,   264,
3467        0,     0,   264,   264,   264,   687,     0,   687,    43,    44,
3468       45,    46,    47,    48,   206,   207,     0,    51,     0,     0,
3469      947,     0,   437,   264,     0,     0,     0,     0,     0,   948,
3470      258,   258,   258,   258,     0,     0,     0,     0,     0,     0,
3471        0,     0,   264,     0,     0,     0,     0,     0,   264,     0,
3472        0,     0,     0,     0,     0,     0,     0,     0,   258,   258,
3473      258,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3474        0,     0,     0,     0,     0,     0,     0,   258,     0,     0,
3475        0,     0,     0,     0,  1209,  1219,     0,     0,  1209,  1219,
3476        0,     0,     0,   122,     0,   259,   259,   259,   259,     0,
3477      122,     0,     0,     0,     0,     0,     0,   122,     0,   258,
3478        0,     0,     0,     0,     0,     0,   258,     0,     0,   258,
3479        0,     0,     0,   259,   259,   259,     0,     0,   122,     0,
3480      569,     0,     0,   122,     0,     0,   122,     0,     0,     0,
3481        0,     0,   259,     0,     0,     0,     0,     0,     0,   259,
3482      259,     0,     0,   259,   259,     0,     0,     0,   264,     0,
3483        0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
3484        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
3485        0,   259,     0,     0,   259,     0,     0,     0,     0,     0,
3486        0,     0,     0,     0,     0,     0,     0,     0,     0,   571,
3487        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3488        0,   122,     0,     0,     0,     0,     0,     0,     0,   122,
3489        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3490      569,     0,     0,     0,   571,     0,     0,     0,     0,     0,
3491        0,     0,  1424,   571,     0,     0,     0,     0,     0,     0,
3492      571,     0,   577,  1424,     0,     0,     0,   571,     0,   577,
3493        0,     0,     0,   264,     0,     0,   125,     0,     0,     0,
3494      264,     0,     0,   264,     0,     0,     0,     0,     0,     0,
3495        0,     0,     0,     0,     0,     0,     0,   577,     0,   577,
3496        0,     0,   577,     0,     0,   577,     0,     0,     0,     0,
3497        0,     0,     0,     0,     0,     0,     0,   259,   571,     0,
3498        0,     0,     0,     0,     0,     0,     0,     0,   259,     0,
3499        0,     0,     0,     0,   571,     0,     0,     0,     0,     0,
3500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3503        0,     0,     0,   258,   258,   258,     0,     0,     0,     0,
3504      125,   609,     0,     0,     0,     0,     0,     0,   577,     0,
3505        0,     0,     0,     0,     0,     0,     0,     0,     0,   577,
3506        0,     0,     0,     0,     0,     0,     0,   264,   264,   264,
3507      264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3508        0,     0,     0,     0,     0,   122,   122,     0,   122,     0,
3509        0,     0,     0,     0,     0,   264,   264,   264,   259,   259,
3510      259,     0,     0,     0,     0,     0,   259,     0,     0,     0,
3511        0,     0,     0,     0,   264,     0,     0,     0,     0,     0,
3512        0,   264,   264,     0,     0,   264,   264,     0,     0,     0,
3513        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3514        0,   258,   122,     0,   258,     0,   264,   258,     0,     0,
3515        0,     0,     0,   264,     0,     0,   264,     0,     0,     0,
3516        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3518        0,     0,     0,     0,     0,   258,     0,     0,     0,     0,
3519        0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
3520      258,   258,   258,     0,     0,     0,   259,     0,     0,   259,
3521        0,   302,   259,     1,   303,   106,   304,     0,   305,   306,
3522        0,     0,   258,     0,   258,     0,     0,     0,     0,     0,
3523        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
3524        0,   609,     0,     0,   577,   577,     0,   577,     0,     0,
3525      259,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3526        0,  1686,     0,     0,   259,   259,   259,   259,  1686,     0,
3527        0,     0,     0,     0,     0,   307,     0,     0,     0,   264,
3528        0,   308,   309,   310,     0,   258,   258,   259,     0,   259,
3529      264,     0,   258,   258,   311,   312,   258,   258,     0,     0,
3530        0,   125,     0,     0,     0,     0,   259,     0,   313,     0,
3531        0,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3532        0,     0,     0,     0,     0,     0,   259,     0,   322,   323,
3533        0,     0,   324,   259,   325,     0,     0,     0,     0,   742,
3534        0,     0,   326,   327,   743,   328,   329,   330,   331,     0,
3535      259,   259,     0,     0,     0,     0,     0,   259,   259,     0,
3536        0,   259,   259,     0,     0,     0,     0,     0,     0,     0,
3537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3538        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3540      264,   264,   264,     0,     0,     0,   754,     0,   264,     0,
3541        0,     0,   755,   756,   757,  -344,  -344,  -344,  -344,  -344,
3542     -344,  -344,  -344,     0,     0,     0,     0,     0,     0,     0,
3543        0,     0,     0,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3544     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3545     -344,  -344,  -344,  -344,  -344,  -344,     0,     0,     0,     0,
3546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3547        0,  -344,     0,     0,     0,     0,     0,     0,     0,  -344,
3548     -344,     0,     0,     0,  -344,     0,     0,     0,     0,     0,
3549     -344,  -344,  -344,     0,     0,     0,     0,     0,     0,     0,
3550      258,     0,     0,   571,     0,  -344,     0,     0,   264,     0,
3551        0,   264,     0,     0,   264,  -344,  -344,  -344,  -344,  -344,
3552     -344,  -344,  -344,     0,  -344,  -344,  -344,   758,     0,     0,
3553     -344,  1528,  -344,  -344,     0,   759,     0,     0,   760,     0,
3554     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,     0,
3555        0,     0,   264,     0,     0,     0,     0,     0,     0,     0,
3556        0,     0,     0,     0,     0,   259,   264,   264,   264,   264,
3557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3558        0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
3559        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3560        0,     0,     0,   571,     0,     0,     0,     0,   264,     0,
3561        0,     0,     0,     0,     0,     0,     0,   258,   258,     0,
3562        0,     0,     0,   258,   258,     0,     0,     0,   264,     0,
3563        0,     0,     0,     0,     0,   264,   258,     0,     0,   258,
3564        0,     0,     0,     0,     0,     0,     0,   258,     0,     0,
3565        0,     0,   264,   264,     0,     0,     0,     0,     0,   264,
3566      264,     0,     0,   264,   264,     0,     0,     0,     0,     0,
3567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3568        0,     0,   259,   259,     0,     0,     0,     0,   259,   259,
3569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3570        0,   259,     0,     0,   259,     0,     0,     0,     0,     0,
3571        0,  -457,   259,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3572     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3573     -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,     0,
3574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3576        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3577        0,     0,     0,     0,     0,  -457,     0,     0,     0,     0,
3578        0,  -457,  -457,  -457,     0,     0,     0,     0,     0,     0,
3579        0,     0,     0,     0,  -457,  -457,     0,     0,     0,   258,
3580      258,     0,     0,     0,     0,     0,     0,     0,  -457,     0,
3581        0,     0,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
3582        0,   571,     0,     0,     0,     0,     0,     0,  -457,  -457,
3583     -457,  -457,  -457,  -457,  -457,     0,  -457,  -457,     0,     0,
3584     -457,     0,  -457,  -457,     0,  -457,  -457,  -457,  -457,  -457,
3585     -457,  -457,  -457,  -457,   199,     0,     1,     0,     0,     0,
3586        0,     0,     0,     0,   259,   259,     0,   264,     0,     0,
3587        0,     0,     0,     0,     0,     0,     0,   258,   258,     0,
3588        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
3589      564,    12,    13,    14,    15,    16,    17,    18,    19,    20,
3590       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
3591        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
3592        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
3593        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
3594       39,     0,   259,   259,     0,     0,     0,     0,     0,     0,
3595        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
3596        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
3597      207,     0,    51,     0,     0,   565,  1046,     0,     0,     0,
3598        0,     0,     0,     0,   264,   264,   566,     0,     0,     0,
3599      264,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3600        0,     0,     0,   264,     0,     0,   264,     0,     0,     0,
3601        0,     0,  -344,   754,   264,  -344,  -344,  -344,  -344,   755,
3602      756,   757,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3603     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3604     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3605     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3606     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3607     -344,  -344,  -344,  -344,  -344,     0,     0,  -344,  -344,     0,
3608     -344,     0,     0,  -344,  -344,  -344,  -344,  -344,     0,     0,
3609     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3610     -344,  -344,  -344,  -344,  -344,  -344,  -344,     0,  -344,     0,
3611     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3612     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3613     -344,  -344,  -344,  -344,   758,  -344,  -344,  -344,  -344,  -344,
3614     -344,  -344,   759,  -344,  -344,   760,  -344,  -344,  -344,  -344,
3615     -344,  -344,  -344,  -344,  -344,  -344,     0,     0,     0,     0,
3616        0,     0,     0,     0,     0,     0,   264,   264,  -449,  1151,
3617        0,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3618     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3619     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3620     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3621     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,
3622     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3623     -449,     0,     0,  -449,  -449,     0,  -449,     0,     0,  -449,
3624     -449,  -449,  -449,  -449,   264,   264,  -449,  -449,  -449,  -449,
3625     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3626     -449,  -449,  -449,     0,  -449,     0,  -449,  -449,  -449,     0,
3627     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3628     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3629     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3630     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3631     -449,  -449,  -304,   302,     0,     1,   303,   106,   304,  -304,
3632      305,   306,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3633     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3634        2,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3635     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3636     -304,  -304,  -304,     0,  -304,  -304,  -304,  -304,  -304,  -304,
3637     -304,  -304,  -304,  -304,  -304,     0,     0,   307,  -304,     0,
3638     -304,     0,     0,   308,   309,   310,  -304,  -304,     0,     0,
3639     -304,  -304,  -304,  -304,  -304,  -304,   311,   312,  -304,  -304,
3640     -304,  -304,  -304,  -304,  -304,  -304,  -304,     0,  -304,     0,
3641      313,  -304,  -304,     0,   314,   315,   316,   317,   318,   319,
3642      320,   321,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3643      322,   323,  -304,  -304,   324,  1238,   325,  -304,  -304,  1154,
3644     -304,  -304,  -304,  -304,   326,   327,  -304,   328,   329,   330,
3645      331,  -304,  -304,  -304,  -304,  -304,  -305,   302,     0,     1,
3646      303,   106,   304,  -305,   305,   306,  -305,  -305,  -305,  -305,
3647     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3648     -305,  -305,  -305,  -305,     2,  -305,  -305,  -305,  -305,  -305,
3649     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3650     -305,  -305,  -305,  -305,  -305,  -305,  -305,     0,  -305,  -305,
3651     -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,     0,
3652        0,   307,  -305,     0,  -305,     0,     0,   308,   309,   310,
3653     -305,  -305,     0,     0,  -305,  -305,  -305,  -305,  -305,  -305,
3654      311,   312,  -305,  -305,  -305,  -305,  -305,  -305,  -305,  -305,
3655     -305,     0,  -305,     0,   313,  -305,  -305,     0,   314,   315,
3656      316,   317,   318,   319,   320,   321,  -305,  -305,  -305,  -305,
3657     -305,  -305,  -305,  -305,   322,   323,  -305,  -305,   324,  1158,
3658      325,  -305,  -305,  1159,  -305,  -305,  -305,  -305,   326,   327,
3659     -305,   328,   329,   330,   331,  -305,  -305,  -305,  -305,  -305,
3660     -564,   302,     0,     1,   303,   106,   304,  -564,   305,   306,
3661     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3662     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,     2,  -564,
3663     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3664     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3665     -564,     0,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3666     -564,  -564,  -564,     0,     0,   307,  -564,     0,  -564,     0,
3667        0,   308,   309,   310,  -564,  -564,     0,     0,  -564,  -564,
3668     -564,  -564,  -564,  -564,   311,   312,  -564,  -564,  -564,  -564,
3669     -564,  -564,  -564,  -564,  -564,     0,  -564,     0,   313,  -564,
3670     -564,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3671     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,   322,   323,
3672     -564,  -564,   324,  -564,   325,  -564,  -564,  -564,  -564,   742,
3673     -564,  1319,   326,   327,  -564,   328,   329,   330,   331,  -564,
3674     -564,  -564,  -564,  -564,  -565,   302,     0,     1,   303,   106,
3675      304,  -565,   305,   306,  -565,  -565,  -565,  -565,  -565,  -565,
3676     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3677     -565,  -565,     2,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3678     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
3679     -565,  -565,  -565,  -565,  -565,     0,  -565,  -565,  -565,  -565,
3680     -565,  -565,  -565,  -565,  -565,  -565,  -565,     0,     0,   307,
3681     -565,     0,  -565,     0,     0,   308,   309,   310,  -565,  -565,
3682        0,     0,  -565,  -565,  -565,  -565,  -565,  -565,   311,   312,
3683     -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,     0,
3684     -565,     0,   313,  -565,  -565,     0,   314,   315,   316,   317,
3685      318,   319,   320,   321,  -565,  -565,  -565,  -565,  -565,  -565,
3686     -565,  -565,   322,   323,  -565,  -565,   324,  -565,   325,  -565,
3687     -565,  -565,  -565,   742,  -565,  1385,   326,   327,  -565,   328,
3688      329,   330,   331,  -565,  -565,  -565,  -565,  -565,  -575,   302,
3689        0,     1,   303,   106,   304,  -575,   305,   306,  -575,  -575,
3690     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3691     -575,  -575,  -575,  -575,  -575,  -575,     2,  -575,  -575,  -575,
3692     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3693     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,     0,
3694     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3695     -575,     0,     0,   307,  -575,     0,  -575,     0,     0,   308,
3696      309,   310,  -575,  -575,     0,     0,  -575,  -575,  -575,  -575,
3697     -575,  -575,   311,   312,  -575,  -575,  -575,  -575,  -575,  -575,
3698     -575,  -575,  -575,     0,  -575,     0,   313,  -575,  -575,     0,
3699      314,   315,   316,   317,   318,   319,   320,   321,  -575,  -575,
3700     -575,  -575,  -575,  -575,  -575,  -575,   322,   323,  -575,  -575,
3701      324,  -575,   325,  -575,  -575,  1154,  -575,  -575,  -575,  -575,
3702      326,   327,  -575,   328,   329,   330,   331,  -575,  -575,  -575,
3703     -575,  -575,  -577,   302,     0,     1,   303,   106,   304,  -577,
3704      305,   306,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3705     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3706        2,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3707     -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3708     -577,  -577,  -577,     0,  -577,  -577,  -577,  -577,  -577,  -577,
3709     -577,  -577,  -577,  -577,  -577,     0,     0,   307,  -577,     0,
3710     -577,     0,     0,   308,   309,   310,  -577,  -577,     0,     0,
3711     -577,  -577,  -577,  -577,  -577,  -577,   311,   312,  -577,  -577,
3712     -577,  -577,  -577,  -577,  -577,  -577,  -577,     0,  -577,     0,
3713      313,  -577,  -577,     0,   314,   315,   316,   317,   318,   319,
3714      320,   321,  -577,  -577,  -577,  -577,  -577,  -577,  -577,  -577,
3715      322,   323,  -577,  -577,   324,  1158,   325,  -577,  -577,  1159,
3716     -577,  -577,  -577,  -577,   326,   327,  -577,   328,   329,   330,
3717      331,  -577,  -577,  -577,  -577,  -577,  -576,   302,     0,     1,
3718      303,   106,   304,  -576,   305,   306,  -576,  -576,  -576,  -576,
3719     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3720     -576,  -576,  -576,  -576,     2,  -576,  -576,  -576,  -576,  -576,
3721     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3722     -576,  -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,  -576,
3723     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,     0,
3724        0,   307,  -576,     0,  -576,     0,     0,   308,   309,   310,
3725     -576,  -576,     0,     0,  -576,  -576,  -576,  -576,  -576,  -576,
3726      311,   312,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3727     -576,     0,  -576,     0,   313,  -576,  -576,     0,   314,   315,
3728      316,   317,   318,   319,   320,   321,  -576,  -576,  -576,  -576,
3729     -576,  -576,  -576,  -576,   322,   323,  -576,  -576,   324,  -576,
3730      325,  -576,  -576,  1154,  -576,  -576,  -576,  -576,   326,   327,
3731     -576,   328,   329,   330,   331,  -576,  -576,  -576,  -576,  -576,
3732     -338,  1880,     0,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3733     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3734     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3735     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3736     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3737     -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3738     -338,  -338,  -338,     0,     0,  -338,  -338,     0,  -338,     0,
3739        0,  -338,  -338,  -338,  -338,  -338,     0,     0,  -338,  -338,
3740     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3741     -338,  -338,  -338,  -338,  -338,     0,  -338,     0,  -338,  -338,
3742     -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3743     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3744     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3745     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3746     -338,  -338,  -338,  -338,  -342,  1916,     0,  -342,  -342,  -342,
3747     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3748     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3749     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3750     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3751     -342,  -342,  -342,  -342,  -342,     0,  -342,  -342,  -342,  -342,
3752     -342,  -342,  -342,  -342,  -342,  -342,  -342,     0,     0,  -342,
3753     -342,     0,  -342,     0,     0,  -342,  -342,  -342,  -342,  -342,
3754        0,     0,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3755     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,     0,
3756     -342,     0,  -342,  -342,  -342,     0,  -342,  -342,  -342,  -342,
3757     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3758     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3759     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,
3760     -342,  -342,  -342,  -342,  -342,  -342,  -342,  -342,  -332,   302,
3761        0,     1,   303,   106,   304,  -332,   305,   306,  -332,  -332,
3762     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3763     -332,  -332,  -332,  -332,  -332,  -332,     2,  -332,  -332,  -332,
3764     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3765     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,     0,
3766     -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,  -332,
3767     -332,     0,     0,   307,  -332,     0,  -332,     0,     0,   308,
3768      309,   310,  -332,  -332,     0,     0,  -332,  -332,  -332,  -332,
3769     -332,  -332,   311,   312,  -332,  -332,  -332,  -332,  -332,  -332,
3770     -332,  -332,  -332,     0,  -332,     0,   313,  -332,  -332,     0,
3771      314,   315,   316,   317,   318,   319,   320,   321,  -332,  -332,
3772     -332,  -332,  -332,  -332,  -332,  -332,   322,   323,  -332,  -332,
3773      324,  -332,   325,  -332,  -332,  -332,  -332,   742,  -332,  -332,
3774      326,   327,  -332,   328,   329,   330,   331,  -332,  -332,  -332,
3775     -332,  -332,  -542,   302,     0,     1,   303,   106,   304,  -542,
3776      305,   306,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3777     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3778        2,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3779     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3780     -542,  -542,  -542,     0,  -542,  -542,  -542,  -542,  -542,  -542,
3781     -542,  -542,  -542,  -542,  -542,     0,     0,   307,  -542,     0,
3782     -542,     0,     0,   308,   309,   310,  -542,  -542,     0,     0,
3783     -542,  -542,  -542,  -542,  -542,  -542,   311,   312,  -542,  -542,
3784     -542,  -542,  -542,  -542,  -542,  -542,  -542,     0,  -542,     0,
3785      313,  -542,  -542,     0,   314,   315,   316,   317,   318,   319,
3786      320,   321,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3787      322,   323,  -542,  -542,   324,  -542,   325,  -542,  -542,  -542,
3788     -542,   742,  -542,  -542,   326,   327,  -542,   328,   329,   330,
3789      331,  -542,  -542,  -542,  -542,  -542,  -550,   302,     0,     1,
3790      303,   106,   304,  -550,   305,   306,  -550,  -550,  -550,  -550,
3791     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3792     -550,  -550,  -550,  -550,     2,  -550,  -550,  -550,  -550,  -550,
3793     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3794     -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,  -550,  -550,
3795     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,
3796        0,   307,  -550,     0,  -550,     0,     0,   308,   309,   310,
3797     -550,  -550,     0,     0,  -550,  -550,  -550,  -550,  -550,  -550,
3798      311,   312,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3799     -550,     0,  -550,     0,   313,  -550,  -550,     0,   314,   315,
3800      316,   317,   318,   319,   320,   321,  -550,  -550,  -550,  -550,
3801     -550,  -550,  -550,  -550,   322,   323,  -550,  -550,   324,  -550,
3802      325,  -550,  -550,  -550,  -550,   742,  -550,  -550,   326,   327,
3803     -550,   328,   329,   330,   331,  -550,  -550,  -550,  -550,  -550,
3804     -543,   302,     0,     1,   303,   106,   304,  -543,   305,   306,
3805     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3806     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,     2,  -543,
3807     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3808     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3809     -543,     0,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3810     -543,  -543,  -543,     0,     0,   307,  -543,     0,  -543,     0,
3811        0,   308,   309,   310,  -543,  -543,     0,     0,  -543,  -543,
3812     -543,  -543,  -543,  -543,   311,   312,  -543,  -543,  -543,  -543,
3813     -543,  -543,  -543,  -543,  -543,     0,  -543,     0,   313,  -543,
3814     -543,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3815     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,   322,   323,
3816     -543,  -543,   324,  -543,   325,  -543,  -543,  -543,  -543,   742,
3817     -543,  -543,   326,   327,  -543,   328,   329,   330,   331,  -543,
3818     -543,  -543,  -543,  -543,  -551,   302,     0,     1,   303,   106,
3819      304,  -551,   305,   306,  -551,  -551,  -551,  -551,  -551,  -551,
3820     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3821     -551,  -551,     2,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3822     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3823     -551,  -551,  -551,  -551,  -551,     0,  -551,  -551,  -551,  -551,
3824     -551,  -551,  -551,  -551,  -551,  -551,  -551,     0,     0,   307,
3825     -551,     0,  -551,     0,     0,   308,   309,   310,  -551,  -551,
3826        0,     0,  -551,  -551,  -551,  -551,  -551,  -551,   311,   312,
3827     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,     0,
3828     -551,     0,   313,  -551,  -551,     0,   314,   315,   316,   317,
3829      318,   319,   320,   321,  -551,  -551,  -551,  -551,  -551,  -551,
3830     -551,  -551,   322,   323,  -551,  -551,   324,  -551,   325,  -551,
3831     -551,  -551,  -551,   742,  -551,  -551,   326,   327,  -551,   328,
3832      329,   330,   331,  -551,  -551,  -551,  -551,  -551,  -544,   302,
3833        0,     1,   303,   106,   304,  -544,   305,   306,  -544,  -544,
3834     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3835     -544,  -544,  -544,  -544,  -544,  -544,     2,  -544,  -544,  -544,
3836     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3837     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,     0,
3838     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3839     -544,     0,     0,   307,  -544,     0,  -544,     0,     0,   308,
3840      309,   310,  -544,  -544,     0,     0,  -544,  -544,  -544,  -544,
3841     -544,  -544,   311,   312,  -544,  -544,  -544,  -544,  -544,  -544,
3842     -544,  -544,  -544,     0,  -544,     0,   313,  -544,  -544,     0,
3843      314,   315,   316,   317,   318,   319,   320,   321,  -544,  -544,
3844     -544,  -544,  -544,  -544,  -544,  -544,   322,   323,  -544,  -544,
3845      324,  -544,   325,  -544,  -544,  -544,  -544,   742,  -544,  -544,
3846      326,   327,  -544,   328,   329,   330,   331,  -544,  -544,  -544,
3847     -544,  -544,  -552,   302,     0,     1,   303,   106,   304,  -552,
3848      305,   306,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3849     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3850        2,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3851     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3852     -552,  -552,  -552,     0,  -552,  -552,  -552,  -552,  -552,  -552,
3853     -552,  -552,  -552,  -552,  -552,     0,     0,   307,  -552,     0,
3854     -552,     0,     0,   308,   309,   310,  -552,  -552,     0,     0,
3855     -552,  -552,  -552,  -552,  -552,  -552,   311,   312,  -552,  -552,
3856     -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,  -552,     0,
3857      313,  -552,  -552,     0,   314,   315,   316,   317,   318,   319,
3858      320,   321,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3859      322,   323,  -552,  -552,   324,  -552,   325,  -552,  -552,  -552,
3860     -552,   742,  -552,  -552,   326,   327,  -552,   328,   329,   330,
3861      331,  -552,  -552,  -552,  -552,  -552,  -545,   302,     0,     1,
3862      303,   106,   304,  -545,   305,   306,  -545,  -545,  -545,  -545,
3863     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3864     -545,  -545,  -545,  -545,     2,  -545,  -545,  -545,  -545,  -545,
3865     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3866     -545,  -545,  -545,  -545,  -545,  -545,  -545,     0,  -545,  -545,
3867     -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,     0,
3868        0,   307,  -545,     0,  -545,     0,     0,   308,   309,   310,
3869     -545,  -545,     0,     0,  -545,  -545,  -545,  -545,  -545,  -545,
3870      311,   312,  -545,  -545,  -545,  -545,  -545,  -545,  -545,  -545,
3871     -545,     0,  -545,     0,   313,  -545,  -545,     0,   314,   315,
3872      316,   317,   318,   319,   320,   321,  -545,  -545,  -545,  -545,
3873     -545,  -545,  -545,  -545,   322,   323,  -545,  -545,   324,  -545,
3874      325,  -545,  -545,  -545,  -545,   742,  -545,  -545,   326,   327,
3875     -545,   328,   329,   330,   331,  -545,  -545,  -545,  -545,  -545,
3876     -553,   302,     0,     1,   303,   106,   304,  -553,   305,   306,
3877     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3878     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,     2,  -553,
3879     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3880     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3881     -553,     0,  -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,
3882     -553,  -553,  -553,     0,     0,   307,  -553,     0,  -553,     0,
3883        0,   308,   309,   310,  -553,  -553,     0,     0,  -553,  -553,
3884     -553,  -553,  -553,  -553,   311,   312,  -553,  -553,  -553,  -553,
3885     -553,  -553,  -553,  -553,  -553,     0,  -553,     0,   313,  -553,
3886     -553,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3887     -553,  -553,  -553,  -553,  -553,  -553,  -553,  -553,   322,   323,
3888     -553,  -553,   324,  -553,   325,  -553,  -553,  -553,  -553,   742,
3889     -553,  -553,   326,   327,  -553,   328,   329,   330,   331,  -553,
3890     -553,  -553,  -553,  -553,  -340,  2020,     0,  -340,  -340,  -340,
3891     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3892     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3893     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3894     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3895     -340,  -340,  -340,  -340,  -340,     0,  -340,  -340,  -340,  -340,
3896     -340,  -340,  -340,  -340,  -340,  -340,  -340,     0,     0,  -340,
3897     -340,     0,  -340,     0,     0,  -340,  -340,  -340,  -340,  -340,
3898        0,     0,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3899     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,     0,
3900     -340,     0,  -340,  -340,  -340,     0,  -340,  -340,  -340,  -340,
3901     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3902     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3903     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,
3904     -340,  -340,  -340,  -340,  -340,  -340,  -340,  -340,  -339,  2021,
3905        0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3906     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3907     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3908     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3909     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,     0,
3910     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3911     -339,     0,     0,  -339,  -339,     0,  -339,     0,     0,  -339,
3912     -339,  -339,  -339,  -339,     0,     0,  -339,  -339,  -339,  -339,
3913     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3914     -339,  -339,  -339,     0,  -339,     0,  -339,  -339,  -339,     0,
3915     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3916     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3917     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3918     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3919     -339,  -339,  -344,   754,     0,  -344,  -344,  -344,  -344,   755,
3920      756,   757,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3921     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3922     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3923     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3924     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3925     -344,  -344,  -344,  -344,  -344,     0,     0,  -344,  -344,     0,
3926     -344,     0,     0,  -344,  -344,  -344,  -344,  -344,     0,     0,
3927     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3928     -344,  -344,  -344,  -344,  -344,  -344,  -344,     0,  -344,     0,
3929     -344,  -344,  -344,     0,  -344,  -344,  -344,  -344,  -344,  -344,
3930     -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,  -344,
3931     -344,  -344,  -344,  -344,   758,  -344,  -344,  -344,  -344,  -344,
3932     -344,  -344,  1149,  -344,  -344,   760,     0,  -344,  -344,  -344,
3933     -344,  -344,  -344,  -344,  -344,  -344,  -449,  1151,     0,  -449,
3934     -449,  -449,  -449,     0,  -449,  -449,     0,     0,     0,     0,
3935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3936        0,     0,     0,     0,  -449,  -449,  -449,  -449,  -449,  -449,
3937     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3938     -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,  -449,  -449,
3939     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,     0,
3940        0,  -449,  -449,     0,  -449,     0,     0,  -449,  -449,  -449,
3941     -449,  -449,     0,     0,  -449,  -449,  -449,  -449,  -449,  -449,
3942     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3943     -449,     0,  -449,     0,  -449,  -449,  -449,     0,  -449,  -449,
3944     -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,  -449,
3945     -449,  -449,  -449,  -449,  -449,  -449,     0,     0,  -449,  -449,
3946     -449,  -449,     0,  -449,  -449,  -449,  1152,  -449,  -449,  -449,
3947        0,  -449,  -449,  -449,  -449, -1089,   302,     0,     1,   303,
3948      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
3949        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3950        0,     0,     0,     2, -1089, -1089, -1089, -1089, -1089, -1089,
3951    -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
3952    -1089, -1089, -1089, -1089, -1089, -1089,     0, -1089, -1089, -1089,
3953    -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,     0,     0,
3954      307, -1089,     0, -1089,     0,     0,   308,   309,   310, -1089,
3955    -1089,     0,     0, -1089, -1089, -1089, -1089, -1089, -1089,   311,
3956      312, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089, -1089,
3957        0, -1089,     0,   313, -1089, -1089,     0,   314,   315,   316,
3958      317,   318,   319,   320,   321, -1089, -1089, -1089, -1089, -1089,
3959    -1089, -1089, -1089,   322,   323,     0,     0,   324,  1158,   325,
3960    -1089,     0,  1159, -1089, -1089,     0, -1089,   326,   327,     0,
3961      328,   329,   330,   331, -1233,   302,     0,     1,   303,   106,
3962      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
3963        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3964        0,     0,     2, -1233, -1233, -1233, -1233, -1233, -1233, -1233,
3965    -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233,
3966    -1233, -1233, -1233, -1233, -1233,     0, -1233, -1233, -1233, -1233,
3967    -1233, -1233, -1233, -1233, -1233, -1233, -1233,     0,     0,   307,
3968    -1233,     0, -1233,     0,     0,   308,   309,   310, -1233, -1233,
3969        0,     0, -1233, -1233, -1233, -1233, -1233, -1233,   311,   312,
3970    -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233, -1233,     0,
3971    -1233,     0,   313, -1233, -1233,     0,   314,   315,   316,   317,
3972      318,   319,   320,   321, -1233, -1233, -1233, -1233, -1233, -1233,
3973    -1233, -1233,   322,   323,     0,     0,   324,  1158,   325,  1623,
3974        0,  1159, -1233, -1233,     0, -1233,   326,   327,     0,   328,
3975      329,   330,   331, -1191,   302,     0,     1,   303,   106,   304,
3976        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
3977        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3978        0,     2, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3979    -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3980    -1191, -1191, -1191, -1191,     0, -1191, -1191, -1191, -1191, -1191,
3981    -1191, -1191, -1191, -1191, -1191, -1191,     0,     0,   307, -1191,
3982        0, -1191,     0,     0,   308,   309,   310, -1191, -1191,     0,
3983        0, -1191, -1191, -1191, -1191, -1191, -1191,   311,   312, -1191,
3984    -1191, -1191, -1191, -1191, -1191, -1191, -1191, -1191,     0, -1191,
3985        0,   313, -1191, -1191,     0,   314,   315,   316,   317,   318,
3986      319,   320,   321, -1191, -1191, -1191, -1191, -1191, -1191, -1191,
3987    -1191,   322,   323,     0,     0,   324,  1831,   325, -1191,     0,
3988     1159, -1191, -1191,     0, -1191,   326,   327,     0,   328,   329,
3989      330,   331, -1222,   302,     0,     1,   303,   106,   304,     0,
3990      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
3991        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3992        2, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222,
3993    -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222, -1222,
3994    -1222, -1222, -1222,     0,   626,   627,   628,   629,   630,   631,
3995      632,   633,   634,   635,   636,     0,     0,   307, -1222,     0,
3996    -1222,     0,     0,   308,   309,   310, -1222, -1222,     0,     0,
3997    -1222,    32, -1222, -1222, -1222, -1222,   311,   312,  1123, -1222,
3998      639,   640,   641, -1222, -1222, -1222, -1222,     0, -1222,     0,
3999      313, -1222, -1222,     0,   314,   315,   316,   317,   318,   319,
4000      320,   321,    43,    44, -1222, -1222, -1222, -1222, -1222, -1222,
4001      322,   323,     0,     0,   324,  1158,   325,   642,     0,  1159,
4002    -1222,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4003      331,  -576,   302,     0,     1,   303,   106,   304,     0,   305,
4004      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4005        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4006     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4007     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4008     -576,  -576,     0,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
4009     -576,  -576,  -576,  -576,     0,     0,   307,  -576,     0,  -576,
4010        0,     0,   308,   309,   310,  -576,  -576,     0,     0,  -576,
4011     -576,  -576,  -576,  -576,  -576,   311,   312,  -576,  -576,  -576,
4012     -576,  -576,  -576,  -576,  -576,  -576,     0,  -576,     0,   313,
4013     -576,  -576,     0,   314,   315,   316,   317,   318,   319,   320,
4014      321,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,   322,
4015      323,     0,     0,   324,  -576,   325,  1153,     0,  1154,  -576,
4016     -576,     0,  -576,   326,   327,     0,   328,   329,   330,   331,
4017    -1214,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4019        0,     0,     0,     0,     0,     0,     0,     0,     2, -1214,
4020    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4021    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4022    -1214,     0, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
4023    -1214, -1214, -1214,     0,     0,   307, -1214,     0, -1214,     0,
4024        0,   308,   309,   310, -1214, -1214,     0,     0, -1214, -1214,
4025    -1214, -1214, -1214, -1214,   311,   312, -1214, -1214, -1214, -1214,
4026    -1214, -1214, -1214, -1214, -1214,     0, -1214,     0,   313, -1214,
4027    -1214,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4028    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,   322,   323,
4029        0,     0,   324,  2066,   325, -1214,     0,  1154, -1214, -1214,
4030        0, -1214,   326,   327,     0,   328,   329,   330,   331, -1215,
4031      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4032        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4033        0,     0,     0,     0,     0,     0,     0,     2, -1215, -1215,
4034    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4035    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4036        0, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4037    -1215, -1215,     0,     0,   307, -1215,     0, -1215,     0,     0,
4038      308,   309,   310, -1215, -1215,     0,     0, -1215, -1215, -1215,
4039    -1215, -1215, -1215,   311,   312, -1215, -1215, -1215, -1215, -1215,
4040    -1215, -1215, -1215, -1215,     0, -1215,     0,   313, -1215, -1215,
4041        0,   314,   315,   316,   317,   318,   319,   320,   321, -1215,
4042    -1215, -1215, -1215, -1215, -1215, -1215, -1215,   322,   323,     0,
4043        0,   324,  1158,   325,  2067,     0,  1159, -1215, -1215,     0,
4044    -1215,   326,   327,     0,   328,   329,   330,   331, -1209,   302,
4045        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4047        0,     0,     0,     0,     0,     0,     2, -1209, -1209, -1209,
4048    -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209,
4049    -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209, -1209,     0,
4050      626,   627,   628,   629,   630,   631,   632,   633,   634,   635,
4051      636,     0,     0,   307, -1209,     0, -1209,     0,     0,   308,
4052      309,   310, -1209, -1209,     0,     0, -1209,    32, -1209, -1209,
4053    -1209, -1209,   311,   312,  1123, -1209,   639,   640,   641, -1209,
4054    -1209, -1209, -1209,     0, -1209,     0,   313, -1209, -1209,     0,
4055      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4056    -1209, -1209, -1209, -1209, -1209, -1209,   322,   323,     0,     0,
4057      324,  1158,   325,   642,     0,  1159, -1209,   254,     0,   643,
4058      326,   327,     0,   328,   329,   330,   331, -1157,   617,     0,
4059    -1157, -1157, -1157, -1157,     0, -1157, -1157,     0,     0,     0,
4060        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4061        0,     0,     0,     0,     0, -1157, -1157, -1157, -1157, -1157,
4062    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4063    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0, -1157,
4064    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4065        0,     0, -1157, -1157,     0, -1157,     0,     0, -1157, -1157,
4066    -1157, -1157, -1157,     0,     0, -1157, -1157, -1157, -1157, -1157,
4067    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4068    -1157, -1157,     0, -1157,     0, -1157, -1157, -1157,     0, -1157,
4069    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4070    -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0,     0, -1157,
4071        0, -1157,   618,     0, -1157, -1157, -1157,     0, -1157, -1157,
4072    -1157,     0, -1157, -1157, -1157, -1157, -1180,   302,     0,     1,
4073      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4074        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4075        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4076      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4077       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4078      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4079        0,   307,   246,     0, -1180,     0,     0,   308,   309,   310,
4080       28,    29,     0,     0, -1180,    32, -1180, -1180, -1180, -1180,
4081      311,   637,   638,   248,   639,   640,   641, -1180, -1180, -1180,
4082    -1180,     0, -1180,     0,   313, -1180,   249,     0,   314,   315,
4083      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4084      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4085      325,   642,     0, -1180, -1180,   254,     0,   643,   326,   327,
4086        0,   328,   329,   330,   331, -1158,   617,     0, -1158, -1158,
4087    -1158, -1158,     0, -1158, -1158,     0,     0,     0,     0,     0,
4088        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4089        0,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4090    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4091    -1158, -1158, -1158, -1158, -1158, -1158,     0, -1158, -1158, -1158,
4092    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,     0,     0,
4093    -1158, -1158,     0, -1158,     0,     0, -1158, -1158, -1158, -1158,
4094    -1158,     0,     0, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4095    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4096        0, -1158,     0, -1158, -1158, -1158,     0, -1158, -1158, -1158,
4097    -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158, -1158,
4098    -1158, -1158, -1158, -1158, -1158,     0,     0, -1158,     0, -1158,
4099      618,     0, -1158, -1158, -1158,     0, -1158, -1158, -1158,     0,
4100    -1158, -1158, -1158, -1158, -1219,   302,     0,     1,   303,   106,
4101      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4103        0,     0,     2, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
4104    -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
4105    -1219, -1219, -1219, -1219, -1219,     0,  1115,  1116,  1117,   629,
4106     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4107    -1219,     0, -1219,     0,     0,   308,   309,   310, -1219, -1219,
4108        0,     0, -1219,    32, -1219, -1219, -1219, -1219,   311,   312,
4109     1123, -1219,   639,   640,   641, -1219, -1219, -1219, -1219,     0,
4110    -1219,     0,   313, -1219, -1219,     0,   314,   315,   316,   317,
4111      318,   319,   320,   321,    43,    44, -1219, -1219, -1219, -1219,
4112    -1219, -1219,   322,   323,     0,     0,   324,     0,   325,   642,
4113        0, -1219, -1219,   254,     0,   643,   326,   327,     0,   328,
4114      329,   330,   331, -1235,   302,     0,     1,   303,   106,   304,
4115        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4116        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4117        0,     2, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4118    -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4119    -1235, -1235, -1235, -1235,     0, -1235, -1235, -1235, -1235, -1235,
4120    -1235, -1235, -1235, -1235, -1235, -1235,     0,     0,   307, -1235,
4121        0, -1235,     0,     0,   308,   309,   310, -1235, -1235,     0,
4122        0, -1235, -1235, -1235, -1235, -1235, -1235,   311,   312, -1235,
4123    -1235, -1235, -1235, -1235, -1235, -1235, -1235, -1235,     0, -1235,
4124        0,   313, -1235, -1235,     0,   314,   315,   316,   317,   318,
4125      319,   320,   321, -1235, -1235, -1235, -1235, -1235, -1235, -1235,
4126    -1235,   322,   323,     0,     0,   324,     0,   325,  1134,     0,
4127    -1235, -1235,   742,     0, -1235,   326,   327,     0,   328,   329,
4128      330,   331, -1170,  1161,     0,     1,   303,   106,   304,     0,
4129      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4130        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4131        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4132      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4133       22,    23,    24,     0,   626,   627,   628,   629,   630,   631,
4134      632,   633,   634,   635,   636,     0,     0,   307,   246,     0,
4135    -1170,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4136    -1170,    32, -1170, -1170, -1170, -1170,   311,   637,   638,   248,
4137      639,   640,   641, -1170, -1170, -1170, -1170,     0, -1170,     0,
4138      313, -1170,   249,     0,   314,   315,   316,   317,   318,   319,
4139      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4140      322,   323,     0,     0,   324,     0,   325,   642,     0, -1170,
4141    -1170,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4142      331, -1174,   302,     0,     1,   303,   106,   304,     0,   305,
4143      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4144        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4145      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4146      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4147       23,    24,     0,   626,   627,   628,   629,   630,   631,   632,
4148      633,   634,   635,   636,     0,     0,   307,   246,     0, -1174,
4149        0,     0,   308,   309,   310,    28,    29,     0,     0, -1174,
4150       32, -1174, -1174, -1174, -1174,   311,   637,   638,   248,   639,
4151      640,   641, -1174, -1174, -1174, -1174,     0, -1174,     0,   313,
4152    -1174,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4153      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4154      323,     0,     0,   324,     0,   325,   642,     0, -1174, -1174,
4155      254,     0,   643,   326,   327,     0,   328,   329,   330,   331,
4156    -1169,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4158        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4159      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4160      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4161       24,     0,   626,   627,   628,   629,   630,   631,   632,   633,
4162      634,   635,   636,     0,     0,   307,   246,     0, -1169,     0,
4163        0,   308,   309,   310,    28,    29,     0,     0, -1169,    32,
4164    -1169, -1169, -1169, -1169,   311,   637,   638,   248,   639,   640,
4165      641, -1169, -1169, -1169, -1169,     0, -1169,     0,   313, -1169,
4166      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4167       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4168        0,     0,   324,     0,   325,   642,     0, -1169, -1169,   254,
4169        0,   643,   326,   327,     0,   328,   329,   330,   331, -1173,
4170      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4171        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4172        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
4173      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
4174      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
4175        0,   626,   627,   628,   629,   630,   631,   632,   633,   634,
4176      635,   636,     0,     0,   307,   246,     0, -1173,     0,     0,
4177      308,   309,   310,    28,    29,     0,     0, -1173,    32, -1173,
4178    -1173, -1173, -1173,   311,   637,   638,   248,   639,   640,   641,
4179    -1173, -1173, -1173, -1173,     0, -1173,     0,   313, -1173,   249,
4180        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4181       44,   250,   251,   252,   253,   206,   207,   322,   323,     0,
4182        0,   324,     0,   325,   642,     0, -1173, -1173,   254,     0,
4183      643,   326,   327,     0,   328,   329,   330,   331, -1076,  1174,
4184        0, -1076, -1076, -1076, -1076,     0, -1076, -1076,     0,     0,
4185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4186        0,     0,     0,     0,     0,     0, -1076, -1076, -1076, -1076,
4187    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4188    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,     0,
4189    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4190    -1076,     0,     0, -1076, -1076,     0, -1076,     0,     0, -1076,
4191    -1076, -1076, -1076, -1076,     0,     0, -1076, -1076, -1076, -1076,
4192    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4193    -1076, -1076, -1076,     0, -1076,     0, -1076, -1076, -1076,     0,
4194    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,
4195    -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076,     0,     0,
4196    -1076,     0, -1076, -1076,     0, -1076, -1076, -1076,     0, -1076,
4197    -1076, -1076,     0, -1076, -1076, -1076, -1076, -1078,  1175,     0,
4198    -1078, -1078, -1078, -1078,     0, -1078, -1078,     0,     0,     0,
4199        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4200        0,     0,     0,     0,     0, -1078, -1078, -1078, -1078, -1078,
4201    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4202    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,     0, -1078,
4203    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4204        0,     0, -1078, -1078,     0, -1078,     0,     0, -1078, -1078,
4205    -1078, -1078, -1078,     0,     0, -1078, -1078, -1078, -1078, -1078,
4206    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4207    -1078, -1078,     0, -1078,     0, -1078, -1078, -1078,     0, -1078,
4208    -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078, -1078,
4209    -1078, -1078, -1078, -1078, -1078, -1078, -1078,     0,     0, -1078,
4210        0, -1078, -1078,     0, -1078, -1078, -1078,     0, -1078, -1078,
4211    -1078,     0, -1078, -1078, -1078, -1078, -1124,   302,     0,     1,
4212      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4213        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4214        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4215      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4216       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4217      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4218        0,   307,   246,     0, -1124,     0,     0,   308,   309,   310,
4219       28,    29,     0,     0, -1124,    32, -1124, -1124, -1124, -1124,
4220      311,   637,   638,   248,   639,   640,   641, -1124, -1124, -1124,
4221    -1124,     0, -1124,     0,   313, -1124,   249,     0,   314,   315,
4222      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4223      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4224      325,   642,     0, -1124, -1124,   254,     0,   643,   326,   327,
4225        0,   328,   329,   330,   331, -1126,   302,     0,     1,   303,
4226      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4228        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4229      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4230       19,   244,   245,    22,    23,    24,     0,   626,   627,   628,
4231      629,   630,   631,   632,   633,   634,   635,   636,     0,     0,
4232      307,   246,     0, -1126,     0,     0,   308,   309,   310,    28,
4233       29,     0,     0, -1126,    32, -1126, -1126, -1126, -1126,   311,
4234      637,   638,   248,   639,   640,   641, -1126, -1126, -1126, -1126,
4235        0, -1126,     0,   313, -1126,   249,     0,   314,   315,   316,
4236      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4237      253,   206,   207,   322,   323,     0,     0,   324,     0,   325,
4238      642,     0, -1126, -1126,   254,     0,   643,   326,   327,     0,
4239      328,   329,   330,   331, -1171,   302,     0,     1,   303,   106,
4240      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4241        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4242        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4243      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4244      244,   245,    22,    23,    24,     0,   626,   627,   628,   629,
4245      630,   631,   632,   633,   634,   635,   636,     0,     0,   307,
4246      246,     0, -1171,     0,     0,   308,   309,   310,    28,    29,
4247        0,     0, -1171,    32, -1171, -1171, -1171, -1171,   311,   637,
4248      638,   248,   639,   640,   641, -1171, -1171, -1171, -1171,     0,
4249    -1171,     0,   313, -1171,   249,     0,   314,   315,   316,   317,
4250      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4251      206,   207,   322,   323,     0,     0,   324,     0,   325,   642,
4252        0, -1171, -1171,   254,     0,   643,   326,   327,     0,   328,
4253      329,   330,   331, -1175,   302,     0,     1,   303,   106,   304,
4254        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4256        0,     2,   200,   201,   202,   203,   204,   234,   235,   236,
4257      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
4258      245,    22,    23,    24,     0,   626,   627,   628,   629,   630,
4259      631,   632,   633,   634,   635,   636,     0,     0,   307,   246,
4260        0, -1175,     0,     0,   308,   309,   310,    28,    29,     0,
4261        0, -1175,    32, -1175, -1175, -1175, -1175,   311,   637,   638,
4262      248,   639,   640,   641, -1175, -1175, -1175, -1175,     0, -1175,
4263        0,   313, -1175,   249,     0,   314,   315,   316,   317,   318,
4264      319,   320,   321,    43,    44,   250,   251,   252,   253,   206,
4265      207,   322,   323,     0,     0,   324,     0,   325,   642,     0,
4266    -1175, -1175,   254,     0,   643,   326,   327,     0,   328,   329,
4267      330,   331, -1172,   302,     0,     1,   303,   106,   304,     0,
4268      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4270        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4271      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4272       22,    23,    24,     0,   626,   627,   628,   629,   630,   631,
4273      632,   633,   634,   635,   636,     0,     0,   307,   246,     0,
4274    -1172,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4275    -1172,    32, -1172, -1172, -1172, -1172,   311,   637,   638,   248,
4276      639,   640,   641, -1172, -1172, -1172, -1172,     0, -1172,     0,
4277      313, -1172,   249,     0,   314,   315,   316,   317,   318,   319,
4278      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4279      322,   323,     0,     0,   324,     0,   325,   642,     0, -1172,
4280    -1172,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4281      331, -1176,   302,     0,     1,   303,   106,   304,     0,   305,
4282      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4283        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4284      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4285      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4286       23,    24,     0,   626,   627,   628,   629,   630,   631,   632,
4287      633,   634,   635,   636,     0,     0,   307,   246,     0, -1176,
4288        0,     0,   308,   309,   310,    28,    29,     0,     0, -1176,
4289       32, -1176, -1176, -1176, -1176,   311,   637,   638,   248,   639,
4290      640,   641, -1176, -1176, -1176, -1176,     0, -1176,     0,   313,
4291    -1176,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4292      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4293      323,     0,     0,   324,     0,   325,   642,     0, -1176, -1176,
4294      254,     0,   643,   326,   327,     0,   328,   329,   330,   331,
4295    -1167,   617,     0, -1167, -1167, -1167, -1167,     0, -1167, -1167,
4296        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4297        0,     0,     0,     0,     0,     0,     0,     0, -1167, -1167,
4298    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4299    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4300    -1167,     0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4301    -1167, -1167, -1167,     0,     0, -1167, -1167,     0, -1167,     0,
4302        0, -1167, -1167, -1167, -1167, -1167,     0,     0, -1167, -1167,
4303    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4304    -1167, -1167, -1167, -1167, -1167,     0, -1167,     0, -1167, -1167,
4305    -1167,     0, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4306    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4307        0,     0, -1167,     0, -1167,   618,     0, -1167, -1167, -1167,
4308        0, -1167, -1167, -1167,     0, -1167, -1167, -1167, -1167, -1168,
4309      617,     0, -1168, -1168, -1168, -1168,     0, -1168, -1168,     0,
4310        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4311        0,     0,     0,     0,     0,     0,     0, -1168, -1168, -1168,
4312    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4313    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4314        0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4315    -1168, -1168,     0,     0, -1168, -1168,     0, -1168,     0,     0,
4316    -1168, -1168, -1168, -1168, -1168,     0,     0, -1168, -1168, -1168,
4317    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4318    -1168, -1168, -1168, -1168,     0, -1168,     0, -1168, -1168, -1168,
4319        0, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,
4320    -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168, -1168,     0,
4321        0, -1168,     0, -1168,   618,     0, -1168, -1168, -1168,     0,
4322    -1168, -1168, -1168,     0, -1168, -1168, -1168, -1168, -1003,   302,
4323        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4325        0,     0,     0,     0,     0,     0,     2, -1003, -1003, -1003,
4326    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,
4327    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,     0,
4328    -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003,
4329    -1003,     0,     0,   307, -1003,     0, -1003,     0,     0,   308,
4330      309,   310, -1003, -1003,     0,     0, -1003, -1003, -1003, -1003,
4331    -1003, -1003,   311,   312, -1003, -1003, -1003, -1003, -1003, -1003,
4332    -1003, -1003, -1003,     0, -1003,     0,   313, -1003, -1003,     0,
4333      314,   315,   316,   317,   318,   319,   320,   321, -1003, -1003,
4334    -1003, -1003, -1003, -1003, -1003, -1003,   322,   323,     0,     0,
4335      324,     0,   325, -1003,     0,  1800,  1801,  1014,     0, -1003,
4336      326,   327,     0,   328,   329,   330,   331, -1130,   617,     0,
4337    -1130, -1130, -1130, -1130,     0, -1130, -1130,     0,     0,     0,
4338        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4339        0,     0,     0,     0,     0, -1130, -1130, -1130, -1130, -1130,
4340    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4341    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0, -1130,
4342    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4343        0,     0, -1130, -1130,     0, -1130,     0,     0, -1130, -1130,
4344    -1130, -1130, -1130,     0,     0, -1130, -1130, -1130, -1130, -1130,
4345    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4346    -1130, -1130,     0, -1130,     0, -1130, -1130, -1130,     0, -1130,
4347    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4348    -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0,     0, -1130,
4349        0, -1130,   618,     0, -1130, -1130, -1130,     0, -1130, -1130,
4350    -1130,     0, -1130, -1130, -1130, -1130, -1131,   617,     0, -1131,
4351    -1131, -1131, -1131,     0, -1131, -1131,     0,     0,     0,     0,
4352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4353        0,     0,     0,     0, -1131, -1131, -1131, -1131, -1131, -1131,
4354    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4355    -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0, -1131, -1131,
4356    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0,
4357        0, -1131, -1131,     0, -1131,     0,     0, -1131, -1131, -1131,
4358    -1131, -1131,     0,     0, -1131, -1131, -1131, -1131, -1131, -1131,
4359    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4360    -1131,     0, -1131,     0, -1131, -1131, -1131,     0, -1131, -1131,
4361    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4362    -1131, -1131, -1131, -1131, -1131, -1131,     0,     0, -1131,     0,
4363    -1131,   618,     0, -1131, -1131, -1131,     0, -1131, -1131, -1131,
4364        0, -1131, -1131, -1131, -1131, -1127,   617,     0, -1127, -1127,
4365    -1127, -1127,     0, -1127, -1127,     0,     0,     0,     0,     0,
4366        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4367        0,     0,     0, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4368    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4369    -1127, -1127, -1127, -1127, -1127, -1127,     0, -1127, -1127, -1127,
4370    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,     0,     0,
4371    -1127, -1127,     0, -1127,     0,     0, -1127, -1127, -1127, -1127,
4372    -1127,     0,     0, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4373    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4374        0, -1127,     0, -1127, -1127, -1127,     0, -1127, -1127, -1127,
4375    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4376    -1127, -1127, -1127, -1127, -1127,     0,     0, -1127,     0, -1127,
4377      618,     0, -1127, -1127, -1127,     0, -1127, -1127, -1127,     0,
4378    -1127, -1127, -1127, -1127, -1005,   302,     0,     1,   303,   106,
4379      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4381        0,     0,     2, -1005, -1005, -1005, -1005, -1005, -1005, -1005,
4382    -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005,
4383    -1005, -1005, -1005, -1005, -1005,     0, -1005, -1005, -1005, -1005,
4384    -1005, -1005, -1005, -1005, -1005, -1005, -1005,     0,     0,   307,
4385    -1005,     0, -1005,     0,     0,   308,   309,   310, -1005, -1005,
4386        0,     0, -1005, -1005, -1005, -1005, -1005, -1005,   311,   312,
4387    -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005,     0,
4388    -1005,     0,   313, -1005, -1005,     0,   314,   315,   316,   317,
4389      318,   319,   320,   321, -1005, -1005, -1005, -1005, -1005, -1005,
4390    -1005, -1005,   322,   323,     0,     0,   324,     0,   325, -1005,
4391        0, -1005,  1980,  1014,     0, -1005,   326,   327,     0,   328,
4392      329,   330,   331,  -999,  1983,     0,  -999,  -999,  -999,  -999,
4393        0,  -999,  -999,     0,     0,     0,     0,     0,     0,     0,
4394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4395        0,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4396     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4397     -999,  -999,  -999,  -999,     0,  -999,  -999,  -999,  -999,  -999,
4398     -999,  -999,  -999,  -999,  -999,  -999,     0,     0,  -999,  -999,
4399        0,  -999,     0,     0,  -999,  -999,  -999,  -999,  -999,     0,
4400        0,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4401     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,     0,  -999,
4402        0,  -999,  -999,  -999,     0,  -999,  -999,  -999,  -999,  -999,
4403     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4404     -999,  -999,  -999,     0,     0,  -999,     0,  -999,  -999,     0,
4405     -999,  -999,  -999,     0,  -999,  -999,  -999,     0,  -999,  -999,
4406     -999,  -999, -1128,   617,     0, -1128, -1128, -1128, -1128,     0,
4407    -1128, -1128,     0,     0,     0,     0,     0,     0,     0,     0,
4408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4409    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4410    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4411    -1128, -1128, -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128,
4412    -1128, -1128, -1128, -1128, -1128,     0,     0, -1128, -1128,     0,
4413    -1128,     0,     0, -1128, -1128, -1128, -1128, -1128,     0,     0,
4414    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4415    -1128, -1128, -1128, -1128, -1128, -1128, -1128,     0, -1128,     0,
4416    -1128, -1128, -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128,
4417    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4418    -1128, -1128,     0,     0, -1128,     0, -1128,   618,     0, -1128,
4419    -1128, -1128,     0, -1128, -1128, -1128,     0, -1128, -1128, -1128,
4420    -1128, -1129,   617,     0, -1129, -1129, -1129, -1129,     0, -1129,
4421    -1129,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4422        0,     0,     0,     0,     0,     0,     0,     0,     0, -1129,
4423    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4424    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4425    -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4426    -1129, -1129, -1129, -1129,     0,     0, -1129, -1129,     0, -1129,
4427        0,     0, -1129, -1129, -1129, -1129, -1129,     0,     0, -1129,
4428    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4429    -1129, -1129, -1129, -1129, -1129, -1129,     0, -1129,     0, -1129,
4430    -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4431    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4432    -1129,     0,     0, -1129,     0, -1129,   618,     0, -1129, -1129,
4433    -1129,     0, -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129,
4434    -1216,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4436        0,     0,     0,     0,     0,     0,     0,     0,     2, -1216,
4437    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4438    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4439    -1216,     0, -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,
4440    -1216, -1216, -1216,     0,     0,   307, -1216,     0, -1216,     0,
4441        0,   308,   309,   310, -1216, -1216,     0,     0, -1216, -1216,
4442    -1216, -1216, -1216, -1216,   311,   312, -1216, -1216, -1216, -1216,
4443    -1216, -1216, -1216, -1216, -1216,     0, -1216,     0,   313, -1216,
4444    -1216,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4445    -1216, -1216, -1216, -1216, -1216, -1216, -1216, -1216,   322,   323,
4446        0,     0,   324,     0,   325, -1216,     0, -1216, -1216, -1216,
4447        0, -1216,   326,   327,     0,   328,   329,   330,   331, -1000,
4448     2058,     0, -1000, -1000, -1000, -1000,     0, -1000, -1000,     0,
4449        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4450        0,     0,     0,     0,     0,     0,     0, -1000, -1000, -1000,
4451    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4452    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4453        0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4454    -1000, -1000,     0,     0, -1000, -1000,     0, -1000,     0,     0,
4455    -1000, -1000, -1000, -1000, -1000,     0,     0, -1000, -1000, -1000,
4456    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4457    -1000, -1000, -1000, -1000,     0, -1000,     0, -1000, -1000, -1000,
4458        0, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
4459    -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,     0,
4460        0, -1000,     0, -1000, -1000,     0, -1000, -1000, -1000,     0,
4461    -1000, -1000, -1000,     0, -1000, -1000, -1000, -1000,  -906,   583,
4462        0,  -906,  -906,  -906,  -906,     0,  -906,  -906,     0,     0,
4463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4464        0,     0,     0,     0,     0,     0,  -906,  -906,  -906,  -906,
4465     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,
4466     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,
4467        0,  -906,     0,     0,     0,     0,     0,     0,     0,     0,
4468        0,     0,     0,  -906,  -906,     0,  -906,     0,     0,  -906,
4469     -906,  -906,  -906,  -906,     0,     0,  -906,  -906,  -906,  -906,
4470     -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,     0,  -906,
4471     -906,  -906,  -906,     0,  -906,     0,  -906,  -906,  -906,     0,
4472     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,
4473     -906,  -906,  -906,  -906,  -906,  -906,  -906,  -906,     0,     0,
4474     -906,   846,  -906,  -906,     0,   585,  -906,  -906,     0,     0,
4475     -906,  -906,     0,  -906,  -906,  -906,  -906,   302,     0,     1,
4476      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4477        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4478        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4479      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4480       18,    19,   244,   245,    22,    23,    24,     0,   626,   627,
4481      628,   629,   630,   631,   632,   633,   634,   635,   636,     0,
4482        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4483       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4484      311,   637,   638,   248,   639,   640,   641,     0,     0,     0,
4485        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4486      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4487      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4488      325,   642,     0,     0,     0,   254,     0,   643,   326,   327,
4489        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4490      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4492        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4493      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4494      244,   245,    22,    23,    24,     0,  1115,  1116,  1117,   629,
4495     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4496      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4497        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4498      638,   248,   639,   640,   641,     0,     0,     0,     0,     0,
4499        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4500      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4501      206,   207,   322,   323,     0,     0,   324,     0,   325,   642,
4502        0,     0,     0,   254,     0,   643,   326,   327,     0,   328,
4503      329,   330,   331,   302,     0,     1,   303,   106,   304,     0,
4504      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4505        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4506        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4507      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4508       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4509        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4510        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4511        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4512        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4513      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4514      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4515      322,   323,     0,     0,   324,     0,   325,   984,     0,   985,
4516      986,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4517      331,  1247,     0,     1,   303,   106,   304,     0,   305,   306,
4518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4519        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4520      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4521      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4522       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4523        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4524        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4525        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4526        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4527      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4528       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4529        0,     0,   324,     0,   325,   984,     0,   985,  -110,   742,
4530        0,     0,   326,   327,     0,   328,   329,   330,   331,  1254,
4531        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4533        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4534      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4535      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4537        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4538      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4539        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4540        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4541      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4542      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4543      324,     0,   325,   984,     0,   985,   -98,   742,     0,     0,
4544      326,   327,     0,   328,   329,   330,   331,  1258,     0,     1,
4545      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4547        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4548      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4549       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4551        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4552       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4553      311,   637,    38,   248,     0,     0,     0,     0,     0,     0,
4554        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4555      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4556      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4557      325,   984,     0,   985,  -102,   742,     0,     0,   326,   327,
4558        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4559      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4560        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4561        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4562      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4563      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4564        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4565      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4566        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4567       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4568        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4569      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4570      206,   207,   322,   323,     0,     0,   324,     0,   325,  1512,
4571        0,   985,   -65,   742,     0,     0,   326,   327,     0,   328,
4572      329,   330,   331,   302,     0,     1,   303,   106,   304,     0,
4573      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4575        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4576      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4577       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4578        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4579        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4580        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4582      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4583      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4584      322,   323,     0,     0,   324,     0,   325,  1521,     0,   985,
4585     1522,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4586      331,  1579,     0,     1,   303,   106,   304,     0,   305,   306,
4587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4588        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4589      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4590      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4591       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4592        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4593        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4594        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4595        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4596      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4597       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4598        0,     0,   324,     0,   325,   984,     0,   985,   -81,   742,
4599        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4600        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4601        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4602        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4603      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4604      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4605        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4606        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4607      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4608        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4609        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4610      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4611      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4612      324,     0,   325,  1521,     0,   985,  -107,   742,     0,     0,
4613      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4614      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4615        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4616        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4617      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4618       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4619        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4620        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4621       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4622      311,   637,    38,   248,     0,     0,     0,     0,     0,     0,
4623        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4624      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4625      252,   253,   206,   207,   322,   323,     0,     0,   324,     0,
4626      325,  1521,     0,   985,   -97,   742,     0,     0,   326,   327,
4627        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4628      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4630        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4631      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4632      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4633        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4634      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4635        0,     0,     0,    32,     0,     0,     0,     0,   311,   637,
4636       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4637        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4638      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4639      206,   207,   322,   323,     0,     0,   324,     0,   325,  1521,
4640        0,   985,  -101,   742,     0,     0,   326,   327,     0,   328,
4641      329,   330,   331,  1761,     0,     1,   303,   106,   304,     0,
4642      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4644        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4645      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4646       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4647        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4648        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4649        0,    32,     0,     0,     0,     0,   311,   637,    38,   248,
4650        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4651      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4652      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4653      322,   323,     0,     0,   324,     0,   325,   984,     0,   985,
4654      -88,   742,     0,     0,   326,   327,     0,   328,   329,   330,
4655      331,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4656        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4657        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4658      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4659      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4660       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4661        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4662        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4663        0,     0,     0,     0,   311,   637,    38,   248,     0,     0,
4664        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4665      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4666       43,    44,   250,   251,   252,   253,   206,   207,   322,   323,
4667        0,     0,   324,     0,   325,  1521,     0,   985,   -78,   742,
4668        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4669        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4671        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4672      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4673      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4674        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4675        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4676      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4677        0,     0,   311,   637,    38,   248,     0,     0,     0,     0,
4678        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4679      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4680      250,   251,   252,   253,   206,   207,   322,   323,     0,     0,
4681      324,     0,   325,  1521,     0,   985,   -85,   742,     0,     0,
4682      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4683      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4684        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4685        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4686        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4687       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4688        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4689        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4690       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4691      311,   406,    38,    39,     0,     0,     0,     0,     0,     0,
4692        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4693      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4694       47,    48,   206,   207,   322,   323,     0,     0,   324,   302,
4695      325,     1,   303,   106,   304,     0,   305,   306,   326,   327,
4696        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4697        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4698      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
4699       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4700        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4701        0,     0,     0,   864,    27,     0,     0,     0,     0,   308,
4702      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4703       35,    36,   311,   406,    38,    39,     0,     0,     0,     0,
4704        0,     0,     0,     0,     0,     0,   313,     0,    40,     0,
4705      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4706       45,    46,    47,    48,   206,   207,   322,   323,     0,     0,
4707      324,   302,   325,     1,   303,   106,   304,     0,   305,   306,
4708      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4709        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4710        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
4711       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4712       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4713        0,     0,     0,     0,     0,   307,    27,     0,     0,     0,
4714        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4715        0,     0,    35,    36,   311,   406,    38,    39,     0,     0,
4716        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4717       40,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4718       43,    44,    45,    46,    47,    48,     0,     0,   322,   323,
4719        0,     0,   324,   731,   325,     0,     0,     0,     0,     0,
4720        0,     0,   326,   327,     0,   328,   329,   330,   331,   302,
4721        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4723        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4724        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
4725       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4726        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4727        0,     0,     0,  1194,    27,     0,     0,     0,     0,   308,
4728      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4729       35,    36,   311,   406,    38,    39,     0,     0,     0,     0,
4730        0,     0,     0,     0,     0,     0,   313,     0,    40,     0,
4731      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4732       45,    46,    47,    48,     0,     0,   322,   323,     0,     0,
4733      324,   731,   325,     0,     0,     0,     0,     0,     0,     0,
4734      326,   327,     0,   328,   329,   330,   331,   302,     0,     1,
4735      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4737        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4738        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4739       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4740        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4741        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4742       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4743      311,   406,    38,    39,     0,     0,     0,     0,     0,     0,
4744        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4745      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4746       47,    48,     0,     0,   322,   323,     0,     0,   324,   302,
4747      325,     1,   303,   106,   304,   254,   305,   306,   326,   327,
4748        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4749        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4750        0,     0,     8,     9,    10,   564,    12,    13,    14,    15,
4751       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4752        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4753        0,     0,     0,   307,    27,     0,     0,     0,     0,   308,
4754      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4755       35,    36,   311,   406,    38,    39,     0,   302,     0,     1,
4756      303,   106,   304,     0,   305,   306,   313,     0,    40,     0,
4757      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4758       45,    46,    47,    48,     2,     0,   322,   887,     0,     0,
4759      888,   731,   325,     0,     0,     0,     0,     0,     0,     0,
4760      326,   327,     0,   328,   329,   330,   331,     0,  1115,  1116,
4761     1117,   629,  1118,  1119,  1120,  1121,   634,   635,  1122,     0,
4762        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4763        0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
4764      311,   312,  1123,     0,   639,   640,   641,     0,     0,     0,
4765        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4766      316,   317,   318,   319,   320,   321,    43,    44,     0,     0,
4767        0,     0,     0,     0,   322,   323,     0,     0,   324,  -452,
4768      325,   642,     0,  -452,     0,   254,     0,   643,   326,   327,
4769        0,   328,   329,   330,   331,   302,     0,     1,   303,   106,
4770      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4772        0,     0,     2,     0,     0,     0,     0,     0,     0,     0,
4773        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4774        0,     0,     0,     0,     0,     0,  1115,  1116,  1117,   629,
4775     1118,  1119,  1120,  1121,   634,   635,  1122,     0,     0,   307,
4776        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
4777        0,     0,     0,    32,     0,     0,     0,     0,   311,   312,
4778     1123,     0,   639,   640,   641,     0,     0,     0,     0,     0,
4779        0,     0,   313,     0,     0,     0,   314,   315,   316,   317,
4780      318,   319,   320,   321,    43,    44,     0,     0,     0,     0,
4781        0,     0,   322,   323,     0,     0,   324,  1158,   325,   642,
4782        0,  1159,     0,   254,     0,   643,   326,   327,     0,   328,
4783      329,   330,   331,  1834,     0,     1,   303,   106,   304,     0,
4784      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4785        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4786        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4787        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4788        0,     0,     0,     0,  1115,  1116,  1117,   629,  1118,  1119,
4789     1120,  1121,   634,   635,  1122,     0,     0,   307,     0,     0,
4790        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4791        0,    32,     0,     0,     0,     0,   311,   312,  1123,     0,
4792      639,   640,   641,     0,     0,     0,     0,     0,     0,     0,
4793      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4794      320,   321,    43,    44,     0,     0,     0,     0,     0,     0,
4795      322,   323,     0,     0,   324,     0,   325,   642,     0,     0,
4796        0,   254,     0,   643,   326,   327,     0,   328,   329,   330,
4797      331,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4799        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
4800        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4802        0,     0,   626,   627,   628,   629,   630,   631,   632,   633,
4803      634,   635,   636,     0,     0,   307,     0,     0,     0,     0,
4804        0,   308,   309,   310,     0,     0,     0,     0,     0,    32,
4805        0,     0,     0,     0,   311,   312,  1123,     0,   639,   640,
4806      641,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4807        0,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4808       43,    44,     0,     0,     0,     0,     0,     0,   322,   323,
4809        0,     0,   324,     0,   325,   642,     0,     0,     0,   254,
4810        0,   643,   326,   327,     0,   328,   329,   330,   331,   302,
4811        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4812        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4813        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4814        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4815        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4817        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4818      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4819        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4820        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4821      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4822        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4823      324,  1158,   325,     0,     0,  1725,     0,     0,     0,  1872,
4824      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4825        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4826        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4827        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4828        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4829        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4830      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4831        0,   322,   323,     0,     0,   324,  1158,   325,     0,     0,
4832     1725,     0,     0,     0,  1876,   326,   327,     0,   328,   329,
4833      330,   331,     0,     0,     0,     0,     0,     0,     0,     0,
4834        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4835      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4836        0,     0,   311,   312,  2003,     0,     1,   303,   106,   304,
4837        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4838      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4839        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4840      324,  1158,   325,  1855,     0,  1159,     0,     0,     0,     0,
4841      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4842        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4843        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4844        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4845        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4846        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4847      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4848        0,   322,   323,     0,     0,   324,  1158,   325,  1855,     0,
4849     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
4850      330,   331,     0,     0,     0,     0,     0,     0,     0,     0,
4851        0,     0,     0,   307,     0,     0,     0,     0,     0,   308,
4852      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4853        0,     0,   311,   312,   302,     0,     1,   303,   106,   304,
4854        0,   305,   306,     0,     0,     0,   313,     0,     0,     0,
4855      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4856        0,     2,     0,     0,     0,     0,   322,   323,     0,     0,
4857      324,  2068,   325,  2069,     0,  1154,     0,     0,     0,     0,
4858      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4859        0,     0,     0,     0,     0,     0,     0,     0,   307,     0,
4860        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
4861        0,     0,     0,     0,     0,     0,     0,   311,   312,   302,
4862        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4863        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
4864      319,   320,   321,     0,     0,     0,     2,     0,     0,     0,
4865        0,   322,   323,     0,     0,   324,  1158,   325,  2067,     0,
4866     1159,     0,     0,     0,     0,   326,   327,     0,   328,   329,
4867      330,   331,     0,     0,     0,     0,     0,   302,     0,     1,
4868      303,   106,   304,   307,   305,   306,     0,     0,     0,   308,
4869      309,   310,     0,     0,     0,     0,     0,     0,     0,     0,
4870        0,     0,   311,   312,     2,     0,     0,     0,     0,     0,
4871        0,     0,     0,     0,     0,     0,   313,     0,     0,     0,
4872      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4873        0,     0,     0,     0,     0,     0,   322,   323,     0,     0,
4874      324,   307,   325,  1153,     0,  1154,     0,   308,   309,   310,
4875      326,   327,     0,   328,   329,   330,   331,     0,     0,     0,
4876      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4877      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4878      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4879        0,     0,     0,     0,   322,   323,     0,     0,   324,  1263,
4880      325,     0,     0,     0,     0,   742,     0,     0,   326,   327,
4881        0,   328,   329,   330,   331,     0,     0,   302,     0,     1,
4882      303,   106,   304,     0,   305,   306,   307,     0,     0,     0,
4883        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4884        0,     0,     0,     0,     2,   311,   312,     0,     0,     0,
4885        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4886        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4887      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4888      323,   307,     0,   324,  1330,   325,     0,   308,   309,   310,
4889      742,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4890      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4891      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4892      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4893        0,     0,     0,     0,   322,   323,     0,     0,   324,     0,
4894      325,  1134,     0,     0,     0,   742,     0,     0,   326,   327,
4895        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4896        0,     0,     0,     0,     0,     0,   307,     0,     0,     0,
4897        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4898        0,     0,     0,     0,     0,   311,   312,  1612,     0,     1,
4899      303,   106,   304,     0,   305,   306,     0,     0,     0,   313,
4900        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4901      321,     0,     0,     0,     2,     0,     0,     0,     0,   322,
4902      323,     0,     0,   324,  1158,   325,     0,     0,  1159,     0,
4903        0,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4904        0,     0,   302,     0,     1,   303,   106,   304,     0,   305,
4905      306,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4906        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4907      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4908        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4909      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4910        0,     0,     0,     0,   322,   323,   307,     0,   324,  1613,
4911      325,  1614,   308,   309,   310,     0,     0,     0,   326,   327,
4912        0,   328,   329,   330,   331,   311,   312,   302,     0,     1,
4913      303,   106,   304,     0,   305,   306,     0,     0,     0,   313,
4914        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4915      321,     0,     0,     0,     2,     0,     0,     0,     0,   322,
4916      323,     0,     0,   324,     0,   325,  1622,     0,  1154,     0,
4917        0,     0,     0,   326,   327,     0,   328,   329,   330,   331,
4918        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4919        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4920        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4921      311,   312,   302,     0,     1,   303,   106,   304,     0,   305,
4922      306,     0,     0,     0,   313,     0,     0,     0,   314,   315,
4923      316,   317,   318,   319,   320,   321,     0,     0,     0,     2,
4924        0,     0,     0,     0,   322,   323,     0,     0,   324,  1692,
4925      325,     0,     0,  1154,     0,     0,     0,     0,   326,   327,
4926        0,   328,   329,   330,   331,     0,     0,     0,     0,     0,
4927      302,     0,     1,   303,   106,   304,   307,   305,   306,     0,
4928        0,     0,   308,   309,   310,     0,     0,     0,     0,     0,
4929        0,     0,     0,     0,     0,   311,   312,     2,     0,     0,
4930        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4931        0,     0,     0,   314,   315,   316,   317,   318,   319,   320,
4932      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4933      323,     0,     0,   324,   307,   325,     0,     0,  1154,     0,
4934      308,   309,   310,   326,   327,  1719,   328,   329,   330,   331,
4935        0,     0,     0,   311,   312,   302,     0,     1,   303,   106,
4936      304,     0,   305,   306,     0,     0,     0,   313,     0,     0,
4937        0,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4938        0,     0,     2,     0,     0,     0,     0,   322,   323,     0,
4939        0,   324,     0,   325,     0,     0,  1722,     0,     0,     0,
4940     1723,   326,   327,     0,   328,   329,   330,   331,     0,     0,
4941        0,     0,     0,   302,     0,     1,   303,   106,   304,   307,
4942      305,   306,     0,     0,     0,   308,   309,   310,     0,     0,
4943        0,     0,     0,     0,     0,     0,     0,     0,   311,   312,
4944        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4945        0,     0,   313,     0,     0,     0,   314,   315,   316,   317,
4946      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4947        0,     0,   322,   323,     0,     0,   324,   307,   325,     0,
4948        0,  1154,     0,   308,   309,   310,   326,   327,  1729,   328,
4949      329,   330,   331,     0,     0,     0,   311,   312,   302,     0,
4950        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4951      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4952      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4953      322,   323,     0,     0,   324,     0,   325,     0,     0,  1722,
4954        0,     0,     0,  1731,   326,   327,     0,   328,   329,   330,
4955      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4956        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4957      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4958        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
4959      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
4960      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4961        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
4962     1830,   325,     0,     0,  1154,     0,     0,     0,     0,   326,
4963      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
4964        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
4965        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4966        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
4967        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4968      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4969      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4970      322,   323,     0,     0,   324,  1832,   325,     0,     0,  1154,
4971        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
4972      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4973        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4974      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4975        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
4976      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
4977      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4978        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
4979     1833,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
4980      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
4981        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
4982        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
4983        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
4984        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4985      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4986      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4987      322,   323,     0,     0,   324,  1836,   325,     0,     0,  1154,
4988        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
4989      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
4990      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
4991      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4992        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4993        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
4994      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4995        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
4996     1613,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
4997      327,     0,   328,   329,   330,   331,   311,   312,  1856,     0,
4998        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4999      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5000      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5001      322,   323,     0,     0,   324,     0,   325,  1853,     0,  1154,
5002        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5003      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5004      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5005      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5006        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5007        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5008      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5009        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5010     1857,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
5011      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5012        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5013      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5014      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5015      322,   323,     0,     0,   324,     0,   325,     0,     0,  1722,
5016        0,     0,     0,  1870,   326,   327,     0,   328,   329,   330,
5017      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5018        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5019      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5020        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5021      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5022      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5023        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5024        0,   325,     0,     0,  1722,     0,     0,     0,  1874,   326,
5025      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5026        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5027        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5028        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5029        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5030      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5031      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5032      322,   323,     0,     0,   324,  1988,   325,     0,     0,  1154,
5033        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5034      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5035        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5036      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5037        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5038      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5039      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5040        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5041     1831,   325,     0,     0,  1159,     0,     0,     0,     0,   326,
5042      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5043        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5044        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5045        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5046        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5047      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5048      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5049      322,   323,     0,     0,   324,  1995,   325,     0,     0,  1154,
5050        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5051      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5052      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5053      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5054        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5055        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5056      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5057        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5058     1857,   325,  1614,   308,   309,   310,     0,     0,     0,   326,
5059      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5060        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5061      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5062      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5063      322,   323,     0,     0,   324,  2072,   325,     0,     0,  1154,
5064        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5065      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5066        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5067      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5068        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5069      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5070      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5071        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5072        0,   325,     0,     0,     0,  2101,  1014,     0,     0,   326,
5073      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5074        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5075        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5076        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5077        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5078      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5079      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5080      322,   323,     0,     0,   324,  2104,   325,     0,     0,  1154,
5081        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5082      331,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5083        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
5084      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5085        0,   311,   312,   302,     0,     1,   303,   106,   304,     0,
5086      305,   306,     0,     0,     0,   313,     0,     0,     0,   314,
5087      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5088        2,     0,     0,     0,     0,   322,   323,     0,     0,   324,
5089     2105,   325,     0,     0,  1154,     0,     0,     0,     0,   326,
5090      327,     0,   328,   329,   330,   331,     0,     0,     0,     0,
5091        0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
5092        0,     0,     0,   308,   309,   310,     0,     0,     0,     0,
5093        0,     0,     0,     0,     0,     0,   311,   312,   302,     0,
5094        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5095      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5096      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5097      322,   323,     0,     0,   324,  2133,   325,     0,     0,  1154,
5098        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5099      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5100      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5101      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5102        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5103        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5104      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5105        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5106        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5107      327,   548,   328,   329,   330,   331,   311,   312,   302,     0,
5108        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5109      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5110      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5111      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5112        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5113      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5114      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5115      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5116        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5117        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5118      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5119        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5120        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5121      327,   838,   328,   329,   330,   331,   311,   312,   302,     0,
5122        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5123      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5124      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5125      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5126        0,     0,     0,     0,   326,   327,   842,   328,   329,   330,
5127      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5128      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5129      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5130        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5131        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5132      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5133        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5134        0,   325,     0,   308,   309,   310,  1014,     0,     0,   326,
5135      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5136        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5137      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5138      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5139      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5140        0,     0,     0,     0,   326,   327,  1055,   328,   329,   330,
5141      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5142      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5143      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5144        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5145        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5146      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5147        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5148        0,   325,     0,   308,   309,   310,     0,     0,  1107,   326,
5149      327,     0,   328,   329,   330,   331,   311,   312,  1457,     0,
5150        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5151      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5152      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5153      322,   323,     0,     0,   324,   731,   325,     0,     0,     0,
5154        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5155      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5156      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5157      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5158        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5159        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5160      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5161        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5162        0,   325,     0,   308,   309,   310,   742,     0,     0,   326,
5163      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5164        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5165      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5166      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5167      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5168        0,     0,     0,     0,   326,   327,  1560,   328,   329,   330,
5169      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5170      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5171      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5172        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5173        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5174      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5175        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5176     1596,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5177      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5178        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5179      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5180      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5181      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5182        0,     0,     0,  1599,   326,   327,     0,   328,   329,   330,
5183      331,     0,     0,  1790,     0,     1,   303,   106,   304,     0,
5184      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5185      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5186        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5187        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5188      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5189        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5190        0,   325,     0,   308,   309,   310,  1789,     0,     0,   326,
5191      327,     0,   328,   329,   330,   331,   311,   312,  1793,     0,
5192        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5193      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5194      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5195      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5196        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5197      331,     0,     0,  1797,     0,     1,   303,   106,   304,     0,
5198      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5199      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5200        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5201        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5202      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5203        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5204        0,   325,     0,   308,   309,   310,   742,     0,     0,   326,
5205      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5206        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5207      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5208      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5209      322,   323,     0,     0,   324,     0,   325,     0,     0,     0,
5210        0,   742,     0,     0,   326,   327,     0,   328,   329,   330,
5211      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5212      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5213      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5214        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5215        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5216      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5217        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5218     1843,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5219      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5220        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5221      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5222      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5223      322,   323,     0,     0,  1903,     0,   325,     0,     0,     0,
5224        0,  1789,     0,     0,   326,   327,     0,   328,   329,   330,
5225      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5226      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5227      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5228        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5229        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5230      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5231        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5232     2004,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5233      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5234        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5235      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5236      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5237      322,   323,     0,     0,   324,  2063,   325,     0,     0,     0,
5238        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5239      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5240      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5241      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5242        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5243        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5244      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5245        0,     0,     0,     0,     0,   322,   323,   307,     0,   324,
5246        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5247      327,     0,   328,   329,   330,   331,   311,   312,   302,     0,
5248        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
5249      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5250      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
5251      322,   323,     0,     0,   702,     0,   325,     0,     0,     0,
5252        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5253      331,     0,     0,   302,     0,     1,   303,   106,   304,     0,
5254      305,   306,   307,     0,     0,     0,     0,     0,   308,   309,
5255      310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5256        2,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5257        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
5258      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5259        0,     0,     0,     0,     0,   322,   323,   307,     0,   705,
5260        0,   325,     0,   308,   309,   310,     0,     0,     0,   326,
5261      327,     0,   328,   329,   330,   331,   311,   312,     0,     0,
5262        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5263      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
5264      320,   321,     0,  -894,   583,     0,  -894,  -894,  -894,     0,
5265      322,   323,     0,     0,   728,     0,   325,     0,     0,     0,
5266        0,     0,     0,     0,   326,   327,     0,   328,   329,   330,
5267      331,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5268     -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5269     -894,  -894,  -894,  -894,     0,     0,  -894,     0,     0,     0,
5270        0,     0,     0,     0,     0,     0,     0,     0,  -894,  -894,
5271        0,  -894,     0,     0,  -894,  -894,     0,  -894,  -894,     0,
5272        0,  -894,  -894,  -894,  -894,  -894,  -894,     0,  -894,  -894,
5273     -894,  -894,     0,     0,  -894,  -894,  -894,  -894,     0,  -894,
5274        0,  -894,  -894,  -894,     0,  -894,  -894,  -894,  -894,  -894,
5275     -894,  -894,     0,  -894,  -894,  -894,  -894,  -894,  -894,  -894,
5276     -894,  -894,  -894,     0,     0,  -894,   584,  -894,  -894,     0,
5277      585,  -894,     0,     0,     0,  -894,  -894,  -189,   905,     0,
5278     -189,  -189,  -189,     0,     0,     0,     0,     0,     0,     0,
5279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5280        0,     0,     0,     0,     0,  -189,  -189,  -189,  -189,  -189,
5281     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
5282     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,
5283     -189,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5284        0,     0,  -189,  -189,     0,  -189,     0,     0,  -189,  -189,
5285        0,  -189,  -189,     0,     0,  -189,  -189,  -189,  -189,  -189,
5286     -189,     0,  -189,  -189,  -189,  -189,     0,     0,  -189,  -189,
5287     -189,  -189,     0,  -189,     0,  -189,  -189,  -189,     0,  -189,
5288     -189,  -189,  -189,  -189,  -189,  -189,     0,  -189,  -189,  -189,
5289     -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,  -189,
5290        0,  -189,   906,     0,   907,  -189,     0,     0,     0,  -189,
5291     -189,  -253,   919,     0,     1,   303,   106,     0,     0,     0,
5292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5293        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5294      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5295       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5296       23,    24,     0,     0,  -253,     0,     0,     0,     0,     0,
5297        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5298        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5299       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5300        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5301      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5302        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5303       51,     0,     0,   436,     0,   437,   438,  -251,   922,  -253,
5304        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5306        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5307      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5308       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5309     -251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5310        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5311        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5312       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5313      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5314      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5315       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5316        0,   437,   438,  -254,   919,  -251,     1,   303,   106,   326,
5317      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5319        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5320       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5321       21,    22,    23,    24,     0,     0,  -254,     0,     0,     0,
5322        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5323        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5324        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5325       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5326        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5327      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5328      207,   322,    51,     0,     0,   436,     0,   437,   438,  -252,
5329      922,  -254,     1,   303,   106,   326,   327,     0,     0,     0,
5330        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5331        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5332      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5333       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5334        0,     0,  -252,     0,     0,     0,     0,     0,     0,     0,
5335        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5336      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5337      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5338      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5339        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5340       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5341        0,   436,     0,   437,   438,     0,   423,  -252,     1,   303,
5342      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5343        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5344        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5345        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5346       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5348      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5349       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5350      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5351        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5352      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5353       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5354      438,     0,   489,   439,     1,   303,   106,   326,   327,     0,
5355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5356        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5357      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5358       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5359       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5360        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5361        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5362       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5363        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5364      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5365        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5366       51,     0,     0,   436,     0,   437,   438,     0,   511,   490,
5367        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5368        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5369        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5370      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5371       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5373        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5374        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5375       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5376      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5377      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5378       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5379        0,   437,   438,     0,   516,   512,     1,   303,   106,   326,
5380      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5382        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5383       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5384       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5385        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5386        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5387        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5388       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5389        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5390      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5391      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5392      520,   517,     1,   303,   106,   326,   327,     0,     0,     0,
5393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5394        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5395      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5396       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5398        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5399      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5400      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5401      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5402        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5403       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5404        0,   436,     0,   437,   438,     0,   919,   521,     1,   303,
5405      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5406        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5407        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5408        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5409       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5411      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5412       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5413      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5414        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5415      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5416       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5417      438,     0,   922,  -749,     1,   303,   106,   326,   327,     0,
5418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5419        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5420      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5421       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5422       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5423        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5424        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5425       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5426        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5427      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5428        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5429       51,     0,     0,   436,     0,   437,   438,     0,   919,  -750,
5430        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5432        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5433      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5434       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5436        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5437        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5438       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5439      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5440      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5441       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5442        0,   437,   438,     0,   922,  -746,     1,   303,   106,   326,
5443      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5444        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5445        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5446       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5447       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5448        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5449        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5450        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5451       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5452        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5453      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5454      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5455      919,  -747,     1,   303,   106,   326,   327,     0,     0,     0,
5456        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5457        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5458      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5459       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5460        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5461        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5462      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5463      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5464      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5465        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5466       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5467        0,   436,     0,   437,   438,     0,   922,  -752,     1,   303,
5468      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5469        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5470        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5471        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5472       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5473        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5474      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5475       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5476      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5477        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5478      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5479       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5480      438,     0,  1037,  -753,     1,   303,   106,   326,   327,     0,
5481        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5482        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5483      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5484       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5485       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5486        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5487        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5488       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5489        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5490      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5491        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5492       51,     0,     0,   436,     0,   437,   438,     0,  1041,  1038,
5493        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5494        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5495        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5496      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5497       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5498        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5499        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5500        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5501       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5502      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5503      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5504       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5505        0,   437,   438,     0,   302,  1042,     1,   303,   106,   326,
5506      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5507        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5508        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5509       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5510       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5511        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5512        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5513        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5514       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5515        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5516      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5517      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5518      919,  -648,     1,   303,   106,   326,   327,     0,     0,     0,
5519        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5520        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5521      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5522       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5523        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5524        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5525      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5526      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5527      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5528        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5529       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5530        0,   436,     0,   437,   438,     0,   922,  -729,     1,   303,
5531      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5533        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5534        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5535       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5537      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5538       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5539      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5540        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5541      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5542       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5543      438,     0,   919,  -730,     1,   303,   106,   326,   327,     0,
5544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5545        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5546      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5547       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5548       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5549        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5550        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5551       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5552        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5553      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5554        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5555       51,     0,     0,   436,     0,   437,   438,     0,   922,  -732,
5556        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5558        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5559      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5560       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5562        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5563        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5564       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5565      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5566      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5567       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5568        0,   437,   438,     0,  1542,  -733,     1,   303,   106,   326,
5569      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5571        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5572       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5573       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5574        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5575        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5576        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5577       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5578        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5579      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5580      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5581      919,  1543,     1,   303,   106,   326,   327,     0,     0,     0,
5582        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5583        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5584      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5585       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5586        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5587        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5588      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5589      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5590      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5591        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5592       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5593        0,   436,     0,   437,   438,     0,   922,  -643,     1,   303,
5594      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5595        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5596        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5597        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5598       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5599        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5600      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5601       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5602      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5603        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5604      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5605       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5606      438,     0,   919,  -644,     1,   303,   106,   326,   327,     0,
5607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5608        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5609      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5610       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5611       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5612        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5613        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5614       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5615        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5616      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5617        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5618       51,     0,     0,   436,     0,   437,   438,     0,   922,  -735,
5619        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5621        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5622      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5623       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5625        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5626        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5627       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5628      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5629      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5630       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5631        0,   437,   438,     0,   302,  -736,     1,   303,   106,   326,
5632      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5634        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5635       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5636       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5637        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5638        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5639        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5640       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5641        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5642      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5643      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5644      302,  -647,     1,   303,   106,   326,   327,     0,     0,     0,
5645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5646        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5647      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5648       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5649        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5650        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5651      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5652      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5653      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5654        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5655       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5656        0,   436,     0,   437,   438,     0,   302,  -645,     1,   303,
5657      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5658        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5659        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5660        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5661       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5662        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5663      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5664       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5665      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5666        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5667      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5668       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5669      438,     0,   302,  -623,     1,   303,   106,   326,   327,     0,
5670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5671        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5672      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5673       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5674       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5675        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5676        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5677       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5678        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5679      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5680        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5681       51,     0,     0,   436,     0,   437,   438,     0,   919,  -622,
5682        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5683        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5684        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5685      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5686       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5687        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5688        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5689        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5690       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5691      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5692      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5693       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5694        0,   437,   438,     0,   922,  -636,     1,   303,   106,   326,
5695      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5696        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5697        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5698       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5699       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5700        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5701        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5702        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5703       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5704        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5705      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5706      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5707      302,  -637,     1,   303,   106,   326,   327,     0,     0,     0,
5708        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5709        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5710      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5711       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5712        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5713        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5714      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5715      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5716      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5717        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5718       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5719        0,   436,     0,   437,   438,     0,   919,  -646,     1,   303,
5720      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5722        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5723        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5724       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5726      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5727       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5728      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5729        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5730      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5731       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5732      438,     0,   922,  -632,     1,   303,   106,   326,   327,     0,
5733        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5734        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5735      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5736       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5737       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5738        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5739        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5740       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5741        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5742      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5743        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5744       51,     0,     0,   436,     0,   437,   438,     0,   919,  -633,
5745        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5746        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5747        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5748      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5749       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5750        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5751        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5752        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5753       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5754      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5755      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5756       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5757        0,   437,   438,     0,   922,  -620,     1,   303,   106,   326,
5758      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5759        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5760        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5761       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5762       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5763        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5764        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5765        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5766       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5767        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5768      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5769      207,   322,    51,     0,     0,   436,     0,   437,   438,     0,
5770      919,  -621,     1,   303,   106,   326,   327,     0,     0,     0,
5771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5772        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5773      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5774       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5776        0,     0,     0,     0,   307,    27,     0,   424,     0,     0,
5777      308,   309,     0,    28,    29,     0,     0,   425,    32,   426,
5778      427,    35,    36,     0,   406,    38,    39,   428,     0,     0,
5779      429,   430,   431,   432,     0,   433,     0,   434,   435,    40,
5780        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5781       44,    45,    46,    47,    48,   206,   207,   322,    51,     0,
5782        0,   436,     0,   437,   438,     0,   922,  -615,     1,   303,
5783      106,   326,   327,     0,     0,     0,     0,     0,     0,     0,
5784        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5785        0,     0,     0,     2,   200,   201,   202,   203,   204,     8,
5786        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5787       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5788        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5789      307,    27,     0,   424,     0,     0,   308,   309,     0,    28,
5790       29,     0,     0,   425,    32,   426,   427,    35,    36,     0,
5791      406,    38,    39,   428,     0,     0,   429,   430,   431,   432,
5792        0,   433,     0,   434,   435,    40,     0,   314,   315,   316,
5793      317,   318,   319,   320,     0,    43,    44,    45,    46,    47,
5794       48,   206,   207,   322,    51,     0,     0,   436,     0,   437,
5795      438,     0,   919,  -616,     1,   303,   106,   326,   327,     0,
5796        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5797        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
5798      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
5799       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5800       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5801        0,     0,     0,     0,     0,     0,   307,    27,     0,   424,
5802        0,     0,   308,   309,     0,    28,    29,     0,     0,   425,
5803       32,   426,   427,    35,    36,     0,   406,    38,    39,   428,
5804        0,     0,   429,   430,   431,   432,     0,   433,     0,   434,
5805      435,    40,     0,   314,   315,   316,   317,   318,   319,   320,
5806        0,    43,    44,    45,    46,    47,    48,   206,   207,   322,
5807       51,     0,     0,   436,     0,   437,   438,     0,   922,  -634,
5808        1,   303,   106,   326,   327,     0,     0,     0,     0,     0,
5809        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5810        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
5811      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5812       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5813        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5814        0,     0,   307,    27,     0,   424,     0,     0,   308,   309,
5815        0,    28,    29,     0,     0,   425,    32,   426,   427,    35,
5816       36,     0,   406,    38,    39,   428,     0,     0,   429,   430,
5817      431,   432,     0,   433,     0,   434,   435,    40,     0,   314,
5818      315,   316,   317,   318,   319,   320,     0,    43,    44,    45,
5819       46,    47,    48,   206,   207,   322,    51,     0,     0,   436,
5820        0,   437,   438,     0,   423,  -635,     1,   303,   106,   326,
5821      327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5823        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5824       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5825       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5826        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5827        0,   424,     0,     0,   308,   309,     0,    28,    29,     0,
5828        0,   425,    32,   426,   427,    35,    36,     0,   406,    38,
5829       39,   428,     0,     0,   429,   430,   431,   432,     0,   433,
5830        0,   434,   435,    40,     0,   314,   315,   316,   317,   318,
5831      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5832      207,   322,    51,     0,     0,   436,     0,   437,   438,   489,
5833        0,     1,   303,   106,     0,   326,   327,     0,     0,     0,
5834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5835        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5836      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5837       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5838        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5839        0,     0,     0,   307,    27,     0,   424,     0,     0,   308,
5840      309,     0,    28,    29,     0,     0,   425,    32,   426,   427,
5841       35,    36,     0,   406,    38,    39,   428,     0,     0,   429,
5842      430,   431,   432,     0,   433,     0,   434,   435,    40,     0,
5843      314,   315,   316,   317,   318,   319,   320,     0,    43,    44,
5844       45,    46,    47,    48,   206,   207,   322,    51,     0,   199,
5845      436,     1,   437,   438,     0,     0,     0,     0,     0,     0,
5846      326,   327,     0,     0,     0,     0,     0,     0,     0,     0,
5847        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
5848      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
5849       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5851        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
5852        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5853       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
5854        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
5855        0,     0,     0,     0,     0,     0,     0,     1,    43,    44,
5856       45,    46,    47,    48,   206,   207,     0,    51,     0,     0,
5857      860,  1046,     0,     0,     0,     0,     0,     0,     0,     0,
5858        0,   566,     2,   200,   201,   202,   203,   204,     8,     9,
5859       10,   564,    12,    13,    14,    15,    16,    17,    18,    19,
5860       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5861        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5862       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5863        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
5864       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
5865        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
5866        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
5867      206,   207,     1,    51,     0,     0,   565,     0,     0,     0,
5868        0,     0,     0,     0,     0,     0,     0,   566,     0,   567,
5869        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5870      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5871       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5873        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5874        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5875        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5876        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5877        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
5878       44,    45,    46,    47,    48,   206,   207,     0,    51,     0,
5879        0,   860,     0,     0,     0,     0,     0,     0,     0,     0,
5880        0,     0,   566,     2,   200,   201,   202,   203,   204,   234,
5881      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
5882       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
5883        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5884        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
5885       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5886      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
5887        0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
5888        0,     0,     0,     0,     1,    43,    44,   250,   251,   252,
5889      253,   206,   207,     0,    51,     0,     0,   860,     0,     0,
5890        0,     0,     0,     0,  1422,     0,     0,     0,   566,     2,
5891      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
5892      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
5893       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5894        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
5895        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5896       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
5897        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5898        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
5899        1,    43,    44,   250,   251,   252,   253,   206,   207,     0,
5900       51,     0,     0,   860,     0,     0,     0,     0,     0,     0,
5901     1439,     0,     0,     0,   566,     2,   200,   201,   202,   203,
5902      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
5903      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
5904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5905        0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
5906        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
5907        0,     0,   247,    38,   248,     0,     0,     0,     0,     0,
5908        0,     0,     0,     0,     0,     0,     0,   249,     0,     0,
5909        0,     0,     0,     0,     0,     0,     1,    43,    44,   250,
5910      251,   252,   253,   206,   207,     0,    51,     0,     0,  1206,
5911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5912     1207,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5913      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5914      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5915        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5916        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5917        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5918      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5919        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
5920        0,     0,     1,    43,    44,   250,   251,   252,   253,   206,
5921      207,     0,    51,     0,     0,  1206,     0,     0,     0,     0,
5922        0,     0,     0,     0,     0,     0,  1229,     2,   200,   201,
5923      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5924      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5926        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5927        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5928        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5929        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5930        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
5931       44,   250,   251,   252,   253,   206,   207,     0,    51,     0,
5932        0,  1206,     0,     0,     0,     0,     0,     0,     0,     0,
5933        0,     0,  1684,     2,   200,   201,   202,   203,   204,   234,
5934      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
5935       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
5936        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5937        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
5938       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5939      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
5940        0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
5941        0,     0,     0,     0,     1,    43,    44,   250,   251,   252,
5942      253,   206,   207,     0,    51,     0,     0,  1206,     0,     0,
5943        0,     0,     0,     0,     0,     0,     0,     0,  1699,     2,
5944        3,     4,   273,     6,     7,     8,     9,    10,    11,    12,
5945       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5946       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5947        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
5948        0,     0,     0,     0,     0,    28,    29,   274,    31,     0,
5949       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5951        0,    40,     0,     0,     0,     0,    42,     0,     1,     0,
5952        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
5953       51,     0,     0,    52,     0,     0,     0,     0,     0,     0,
5954        0,     0,   275,     2,   200,   201,   202,   203,   204,     8,
5955        9,    10,   564,    12,    13,    14,    15,    16,    17,    18,
5956       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5957        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5958        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5959       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5960       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5961        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
5962        0,     0,     1,     0,     0,    43,    44,    45,    46,    47,
5963       48,   206,   207,     0,    51,     0,     0,   927,     0,     0,
5964        0,     0,     0,     0,     0,     0,   928,     2,   200,   201,
5965      202,   203,   204,     8,     9,    10,   564,    12,    13,    14,
5966       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5968        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5969        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5970        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5971        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5972        0,     0,     0,     0,   619,     0,     0,     0,     0,    43,
5973       44,    45,    46,    47,    48,   206,   207,     0,    51,     0,
5974        0,    52,     0,     0,     0,     0,     0,     0,     0,     0,
5975      928,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5976      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5977      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5978        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5979        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5980        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5981      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5982        0,     0,     0,   249,     0,     0,  1507,     0,     0,     0,
5983        0,     0,     0,    43,    44,   250,   251,   252,   253,   206,
5984      207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5985        0,     0,   254,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
5986      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
5987      -66,   -66,   -66,   -66,   -66,   -66,     0,     0,     0,     0,
5988        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5989        0,   -66,     0,     0,     0,     0,     0,     0,     0,   -66,
5990      -66,     0,     0,     0,   -66,     0,     0,     0,     0,     0,
5991      -66,   -66,   -66,     0,     0,     0,     0,     0,     0,     0,
5992        0,     0,     0,     0,     0,   -66,     0,  1710,     0,     0,
5993        0,     0,     0,     0,     0,   -66,   -66,   -66,   -66,   -66,
5994      -66,   -66,   -66,     0,     0,     0,     0,     0,     0,     0,
5995     1508,     0,  1509,   -66,     2,   200,   201,   202,   203,   204,
5996      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
5997       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
5998        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5999        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6000       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6001        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6002        0,     0,     0,     0,     0,     0,   249,     0,  1714,     0,
6003        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6004      252,   253,   206,   207,     0,     0,     0,     0,     0,     0,
6005        0,     0,     0,     0,  -111,     2,   200,   201,   202,   203,
6006      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
6007      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
6008        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6009        0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
6010        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
6011        0,     0,   247,    38,   248,     0,     0,     0,     0,     0,
6012        0,     0,     0,     0,     0,     0,     0,   249,     0,  1715,
6013        0,     0,     0,     0,     0,     0,     0,    43,    44,   250,
6014      251,   252,   253,   206,   207,     0,     0,     0,     0,     0,
6015        0,     0,     0,     0,     0,   -95,     2,   200,   201,   202,
6016      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
6017      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
6018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6019        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
6020        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6021        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
6022        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
6023     1821,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6024      250,   251,   252,   253,   206,   207,     0,     0,     0,     0,
6025        0,     0,     0,     0,     0,     0,   -96,     2,   200,   201,
6026      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6027      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6029        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6030        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6031        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6032        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6033        0,  1965,     0,     0,     0,     0,     0,     0,     0,    43,
6034       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
6035        0,     0,     0,     0,     0,     0,     0,   -80,     2,   200,
6036      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6037      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6038       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6039        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6040        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6041        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6042        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6043      249, -1287,   292,     0,     1,     0,     0,     0,     0,     0,
6044       43,    44,   250,   251,   252,   253,   206,   207,     0,     0,
6045        0,     0,     0,     0,     0,     0,     0,     0,   -87,     2,
6046        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
6047       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6048       23,    24,     0,     0,    25,     0,     0,     0,     0,     0,
6049        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
6050        0,     0,     0,     0,     0,    28,    29,    30,    31,     0,
6051       32,    33,    34,    35,    36,     0,    37,    38,    39,     0,
6052        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6053        0,    40,    41,     1,     0,     0,    42,     0,     0,     0,
6054        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6055       51,     0,     0,    52,     0,     0,    53,     0,     2,   200,
6056      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6057       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6058       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6059        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6060        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6061        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6062        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6063       40,     0,     0,     0,     1,     0,     0,   830,     0,     0,
6064       43,    44,    45,    46,    47,    48,   206,   207,     0,     0,
6065        0,     0,     0,     0,     0,     0,     0,     0,  1398,     2,
6066      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
6067       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6068       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6069        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6070        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6071       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6072        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6073        0,    40,     0,     0,     0,     1,     0,     0,   830,     0,
6074        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6075        0,     0,     0,     0,     0,     0,     0,     0,     0,  1741,
6076        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
6077       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
6078       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
6079        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
6080        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
6081        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
6082        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6083        0,     0,    40,     0,   165,     0,     1,     0,     0,   830,
6084        0,     0,    43,    44,    45,    46,    47,    48,   206,   207,
6085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6086     1742,     2,     3,     4,   166,     6,     7,     8,     9,    10,
6087      167,   168,    13,    14,    15,    16,    17,    18,    19,    20,
6088       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6089        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
6090        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6091        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6092       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6093        0,     0,   165,    40,     1,     0,     0,     0,     0,     0,
6094        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
6095       50,     0,    51,     0,     0,    52,     0,     0,   169,     2,
6096        3,     4,   166,     6,     7,     8,     9,    10,   167,   168,
6097       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6098       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6099        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6100        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6101       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6103      604,    40,     1,     0,     0,     0,     0,     0,     0,     0,
6104        0,    43,    44,    45,    46,    47,    48,    49,    50,     0,
6105       51,     0,     0,    52,     0,     0,   169,     2,   200,   201,
6106      202,   203,   204,   234,   235,   236,   605,   606,   239,   240,
6107      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6109        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6110        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6111        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6112        0,     0,     0,     0,     0,     0,     0,     0,  -914,   249,
6113     -914,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6114       44,   250,   251,   252,   253,   206,   207,     0,    51,     0,
6115        0,    52,     0,     0,   607,  -914,  -914,  -914,  -914,  -914,
6116     -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,
6117     -914,  -914,  -914,  -914,  -914,  -914,  -914,  -914,     0,     0,
6118        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6119        0,     0,     0,  -914,     0,     0,     0,     0,     0,     0,
6120        0,  -914,  -914,     0,     0,     0,  -914,     0,     0,     0,
6121        0,     0,  -914,  -914,  -914,     0,     0,     0,     0,     0,
6122        0,     0,     0,     0,     0,     0,     0,  -914,     1,     0,
6123        0,     0,     0,     0,     0,     0,     0,  -914,  -914,  -914,
6124     -914,  -914,  -914,  -914,  -914,     0,  -914,     0,     0,  -914,
6125        0,     0,  -914,     2,     3,     4,     5,     6,     7,     8,
6126        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6127       19,    20,    21,    22,    23,    24,     0,     0,    25,     0,
6128        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6129       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6130       29,    30,    31,     0,    32,    33,    34,    35,    36,     0,
6131       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6132        0,     0,     0,     0,     0,    40,    41,     0, -1288,   284,
6133       42,     1,     0,     0,     0,    43,    44,    45,    46,    47,
6134       48,    49,    50,     0,    51,     0,     0,    52,     0,     0,
6135       53,     0,     0,     0,     0,     0,     2,     3,     4,   166,
6136        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
6137       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6138        0,    25,     0,     0,     0,     0,     0,     0,     0,     0,
6139        0,     0,     0,    26,    27,     0,     0,     0,     0,     0,
6140        0,     0,    28,    29,     0,     0,     0,    32,    33,    34,
6141       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6142        0,     0,     0,     0,   199,     0,     1,     0,    40,     0,
6143        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6144       45,    46,    47,    48,    49,    50,     0,    51,     0,     0,
6145       52,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6146       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6147       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6148        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6149        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6150        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6151       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6152      199,     0,     1,    40,     0,     0,     0,     0,     0,     0,
6153        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6154      207,     0,    51,     0,     0,  1206,  1671,     2,   200,   201,
6155      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6156       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6158        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6159        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6160        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6161        0,     0,     0,     0,     0,     0,   199,     0,     1,    40,
6162        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6163       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
6164        0,     0,   208,     2,   200,   201,   202,   203,   204,     8,
6165        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6166       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6167        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6168      205,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6169       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6170       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6171        0,     0,   940,     0,     1,    40,     0,     0,     0,     0,
6172        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6173       48,   206,   207,     0,     0,     0,     0,     0,   389,     2,
6174      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
6175       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6176       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6177        0,     0,     0,     0,     0,     0,   205,    27,     0,     0,
6178        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6179       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6180        0,     0,     0,     0,     0,     0,     0,     0,  1465,     0,
6181        1,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6182        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6183        0,     0,     0,     0,   208,     2,   200,   201,   202,   203,
6184      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6185       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6186        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6187        0,     0,   205,    27,     0,     0,     0,     0,     0,     0,
6188        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6189       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6190        0,     0,     0,     0,   199,     0,     1,    40,     0,     0,
6191        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6192       46,    47,    48,   206,   207,     0,     0,     0,     0,     0,
6193      389,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6194       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6195       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6196        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6197        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6198        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6199       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6200      199,     0,     1,    40,     0,     0,     0,     0,     0,     0,
6201        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6202      207,     0,     0,     0,     0,     0,  1557,     2,   200,   201,
6203      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6204       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6205        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6206        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6207        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6208        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6209        0,     0,     0,     0,     0,     0,   165,     0,     1,    40,
6210        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6211       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
6212        0,     0,  1893,     2,     3,     4,   166,     6,     7,     8,
6213        9,    10,   564,    12,    13,    14,    15,    16,    17,    18,
6214       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6215        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6216       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6217       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6218       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6219        0,   165,     0,     1,     0,    40,     0,     0,     0,     0,
6220        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6221       48,    49,    50,     0,    51,     0,     0,    52,     2,     3,
6222        4,   166,     6,     7,     8,     9,    10,   564,    12,    13,
6223       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6224       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6225        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6226        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6227        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6228        0,     0,     0,     0,     0,     0,   884,     0,     1,     0,
6229       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6230       43,    44,    45,    46,    47,    48,    49,    50,     0,    51,
6231        0,     0,    52,     2,   200,   201,   202,   203,   204,   234,
6232      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
6233       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6234        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6235        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6236       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6237      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6238        0,     0,     0,     1,     0,   249,     0,     0,     0,     0,
6239        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6240      253,   206,   207,     0,     0,     0,     0,   885,     2,     3,
6241        4,   166,     6,     7,     8,     9,    10,    11,    12,    13,
6242       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6243       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6244        0,     0,     0,     0,     0,    26,    27,     0,     0,     0,
6245        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6246        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6247        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6248       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6249       43,    44,    45,    46,    47,    48,    49,    50,     0,    51,
6250        0,     0,    52,     2,   200,   201,   202,   203,   204,     8,
6251        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6252       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6254        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6255       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6256       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6257        0,     0,     0,     1,     0,    40,     0,     0,     0,     0,
6258        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6259       48,   206,   207,     0,    51,     0,     0,    52,     2,   200,
6260      201,   202,   203,   204,     8,     9,    10,   564,    12,    13,
6261       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6262       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6263        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6264        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6265        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6266        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6267       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6268       43,    44,    45,    46,    47,    48,   206,   207,     0,    51,
6269        0,     0,    52,     2,   200,   201,   202,   203,   204,     8,
6270        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6271       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6272        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6273        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6274       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6275       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6276        0,     0,     0,     1,     0,    40,     0,     0,     0,     0,
6277        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6278       48,   206,   207,     0,     0,     0,     0,   720,     2,   200,
6279      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6280       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6281       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6282        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6283        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6284        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6285        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6286       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6287       43,    44,    45,    46,    47,    48,   206,   207,     0,     0,
6288        0,     0,  1444,     2,   200,   201,   202,   203,   204,   234,
6289      235,   236,  1529,   238,   239,   240,   241,   242,   243,    18,
6290       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6292        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6293       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6294      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6295        0,  1069,     0,     1,     0,   249,     0,     0,     0,     0,
6296        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6297      253,   206,   207,     0,    51,     0,     0,    52,     2,   200,
6298      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6299       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6300       24,  1070,     0,     0,     0,     0,     0,     0,     0,     0,
6301        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6302        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6303        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6304        0,  1075,     0,     1,     0,     0,     0,     0,     0,     0,
6305       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6306       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6307      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6308       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6309       24,  1076,     0,     0,     0,     0,     0,     0,     0,     0,
6310        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6311        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6312        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6313        0,  1081,     0,     1,     0,     0,     0,     0,     0,     0,
6314       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6315       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6316      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6317       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6318       24,  1082,     0,     0,     0,     0,     0,     0,     0,     0,
6319        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6320        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6321        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6322        0,   869,     0,     1,     0,     0,     0,     0,     0,     0,
6323       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6324       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6325      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6326      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6327       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6328        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6329        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6330        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6331        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6332      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6333       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6334      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6335       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6336       24,  1030,     0,     0,     0,     0,     0,     0,     0,     0,
6337        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6338        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6339        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6340        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6341       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6342       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6343      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6344       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6345       24,  1087,     0,     0,     0,     0,     0,     0,     0,     0,
6346        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6347        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6348        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6349        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6350       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6351       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6352      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6353       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6354       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6355        0,     0,     0,     0,     0,   503,    27,     0,     0,     0,
6356        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6357        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6358        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6359       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6360       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6361      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6362       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6363       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6364        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6365        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6366        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6367        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6368       40,     0,     0,     0,     0,     0,     0,   830,     0,     0,
6369       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6370      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6371       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6372       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6373        0,     0,     0,     0,     0,   205,    27,     0,     0,     0,
6374        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6375        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6376        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6377       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6378       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6379      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6380      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6381       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6382        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6383        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6384      478,   479,     0,     0,     0,   247,    38,   248,     0,     0,
6385        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6386      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6387       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6388      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
6389       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
6390       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6391        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
6392        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6393        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
6394        0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
6395       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6396       43,    44,    45,    46,    47,    48,   206,   207,     2,   200,
6397      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6398      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6399       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6400        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6401        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6402        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6403        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6404      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6405       43,    44,   250,   251,   252,   253,   206,   207,     2,   200,
6406      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
6407      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
6408       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6409        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
6410        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
6411        0,     0,     0,     0,     0,   247,    38,   248,     0,     0,
6412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6413      249,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6414       43,    44,   250,   251,   252,   253,   206,   207,     0,    51,
6415        0,     0,   860,  1668,     0,     0,     0,     0,     0,     0,
6416        0,     0,     0,   566,     2,   200,   201,   202,   203,   204,
6417      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
6418       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
6419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6420        0,     0,   246,     0,     0,     0,     0,     0,     0,     0,
6421       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
6422        0,   247,    38,   248,     0,     0,     0,     0,     0,     0,
6423        0,     0,     0,     0,     0,     0,   249,     0,     0,     0,
6424        0,     0,     0,     0,     0,     0,    43,    44,   250,   251,
6425      252,   253,   206,   207,     0,     0,     0,     0,     0,     0,
6426        0,     0,     0,     0,     0,   254,     2,   200,   201,   202,
6427      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
6428      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
6429        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6430        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
6431        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6432        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
6433        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
6434        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6435      250,   251,   252,   253,   206,   207,     0,     0,     0,     0,
6436        0,     0,     0,     0,     0,     0,  1518,     2,   200,   201,
6437      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6438      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6440        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6441        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6442        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6443        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6444        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6445       44,   250,   251,   252,   253,   206,   207
6446 };
6447
6448 static const yytype_int16 yycheck[] =
6449 {
6450        0,   641,    92,   719,    86,    86,   535,   926,   156,   926,
6451      742,   859,  1216,    83,   470,   309,   859,   749,   132,   344,
6452      752,   315,   580,   153,   344,   859,   100,    83,     1,    93,
6453       30,    31,   996,   997,   998,   327,   288,  1099,    93,   128,
6454      471,    41,    83,   742,   555,   826,   128,   128,   100,    30,
6455      749,   721,    52,   752,     1,  1606,    93,   128,     1,    59,
6456       84,    42,    83,   100,    64,    64,    66,  1618,   997,   183,
6457       83,     5,    93,     1,   585,     3,   835,   588,   826,   590,
6458       93,   592,    82,    83,    84,   936,    86,   100,   883,     5,
6459      835,    91,   386,    93,   388,     3,   186,   187,   126,     3,
6460      100,   101,   470,   131,   104,  1014,   996,   474,   998,    77,
6461     2089,     3,   876,   113,   535,   996,   116,   998,     1,     1,
6462        3,     3,   144,    17,     1,   122,   107,   108,   128,     1,
6463      111,   131,   132,     1,     1,   157,   136,   159,   122,   161,
6464      140,   141,   142,   977,   144,     7,     8,     9,   148,   122,
6465      150,     0,     5,   153,   154,   144,   156,   157,   158,   159,
6466       83,   161,   957,   131,   164,    73,  2145,     1,   157,     3,
6467      159,    59,   161,     1,   174,   174,    17,   122,   268,   186,
6468      187,     1,     5,   183,   131,   128,     1,   996,     5,   998,
6469        3,     1,     7,     8,     9,     1,   130,   996,   198,   998,
6470      128,   270,     1,     3,     5,     5,   132,     3,   278,     5,
6471      210,   418,   212,    17,   288,    28,   290,   133,   470,   123,
6472      220,   221,   278,   127,    37,   113,   290,   131,     3,     3,
6473      230,     5,   288,   233,    83,   290,   288,   278,   290,   879,
6474     1004,   265,     1,     3,    93,   128,   128,   288,   125,   143,
6475        1,   100,   101,   290,   122,   123,   128,   183,     1,   127,
6476      183,   128,    52,   270,     1,   265,     1,   288,   130,   290,
6477      270,     1,   566,   421,   274,     1,   270,   290,   278,   132,
6478      394,     1,   289,     1,  1248,  1249,     3,   958,   288,   288,
6479      290,  1255,  1256,   274,   128,  1259,  1260,  1848,   343,   122,
6480      128,     1,   143,   510,   862,   125,   123,   122,   308,   122,
6481      198,   126,   357,   123,   314,   130,   361,   127,   133,  1248,
6482      133,   122,   128,   123,   324,     5,  1255,   123,   120,   128,
6483     1259,   131,   626,   791,   792,   131,   793,   758,   338,   143,
6484      125,   131,     5,    17,   129,   326,     3,    83,    84,   123,
6485      440,   441,   442,   443,   129,   278,    73,   131,   565,  1249,
6486        3,   819,   820,   123,   821,   288,  1256,   127,  1249,   128,
6487     1260,   131,  1104,     1,   125,  1256,   127,   128,     5,  1260,
6488      380,   381,   125,   804,   127,   128,   386,   125,   388,   471,
6489      471,   128,   120,   128,   394,   131,     3,     3,   128,     1,
6490      400,   129,   128,   131,   129,  1104,   131,   125,   128,   127,
6491     1191,   128,  1193,   413,    69,    70,   530,     3,   418,     5,
6492      420,   421,   128,     3,   424,   425,   556,   883,   128,   278,
6493      430,   221,   546,   433,   434,   435,   436,   437,     1,   288,
6494     1249,   290,    28,  1191,   696,  1193,   536,  1256,    28,   539,
6495     1249,  1260,     3,   778,   779,   780,     3,  1256,   778,   779,
6496      780,  1260,   119,   120,   127,   465,   466,   467,   394,   143,
6497      470,   471,   129,   128,   474,  1679,   565,   477,     3,   122,
6498      772,    28,   482,   808,   809,   810,   486,   487,   808,   809,
6499      810,   491,   492,  1051,   565,   123,   123,     3,   386,   127,
6500      388,   957,   933,   503,  1062,   128,     3,   799,   876,   509,
6501      510,     3,  1574,   513,   514,   807,   123,   123,   518,   519,
6502      128,   141,   522,   523,   144,   127,   526,   527,   528,   265,
6503      530,    28,   739,   533,  1205,   827,  1206,   157,   560,   159,
6504      562,   161,   278,   129,   544,   545,   546,   470,  1004,   129,
6505      550,     7,     8,     9,  1224,   555,   556,  1068,   129,    65,
6506      560,  1231,   562,   563,   127,   565,   566,   567,   936,  1417,
6507      570,   560,   123,   562,  1417,  1086,   425,   944,  1429,   946,
6508      580,   119,   129,  1417,     5,   585,     1,     3,   588,   957,
6509      590,   794,   592,  1014,   663,   664,   665,   666,     3,   599,
6510      125,     1,   127,   122,   530,   650,     3,   530,   653,  1528,
6511      533,  1528,   758,   119,   120,     5,  1580,  1581,  1469,   822,
6512      546,  1472,   696,   129,   876,     3,  1535,     1,     1,   719,
6513        3,   631,   129,   633,   928,     0,  1004,   129,   112,     3,
6514      696,   641,  1401,  1402,   696,     5,   436,  1495,     3,  1497,
6515       11,  1580,     1,   860,   580,   696,  1401,  1402,   804,  1502,
6516      867,     1,     3,   663,   664,   665,   666,     3,   875,   663,
6517      664,   665,   666,   967,   130,   126,     3,   133,   566,   886,
6518     1884,   681,   682,   133,   691,   692,     3,    28,   127,     1,
6519      690,  1581,    28,   125,    11,   134,   696,   678,   679,     3,
6520     1581,     1,   702,   119,   120,   957,   127,   122,   123,     3,
6521      710,   599,   127,   129,   127,   120,   121,   717,   718,   719,
6522      720,   721,   722,   123,   198,    74,    75,   127,   728,  1150,
6523       79,  1463,   129,  1154,    28,   125,  1157,    86,  1159,   739,
6524      127,   119,   120,   724,   725,   726,   119,   120,   122,   123,
6525     1421,   129,  1004,   127,   127,   755,     1,   795,     3,   759,
6526      121,   110,   111,     3,  1463,   129,   127,   690,   123,    73,
6527     1064,   860,  1581,   696,   127,   565,   125,   567,   127,     3,
6528      133,   122,  1581,   123,  1693,   823,   122,   127,    28,   860,
6529      526,   527,   528,     7,     8,     9,   123,    79,  1762,  1763,
6530        3,   801,   119,   120,   121,   805,   796,     3,   544,   545,
6531      127,   123,   129,  1484,     3,   127,     5,   965,   966,   909,
6532      910,  1115,   912,   123,   128,   915,   916,   127,   110,   111,
6533      830,   831,   832,  1762,   824,   835,   836,   837,     7,     8,
6534        9,   971,    31,  1050,   933,   465,   466,   696,   129,   131,
6535      131,   933,   933,   327,    12,    13,     3,  1415,   858,   859,
6536      860,     1,   933,     3,   864,   127,   866,   867,     7,     8,
6537        9,   491,   492,  1763,   874,   875,   876,   665,   666,   879,
6538     1789,   122,  1763,   883,     3,   885,   886,     3,   888,     5,
6539      890,  1800,   133,   513,   514,   119,   120,   987,   518,   519,
6540     1751,  1752,   522,   523,     3,  1035,  1036,   127,   122,     7,
6541        8,     9,   386,  1207,   388,    31,   130,   120,     3,   133,
6542     1245,   797,   125,   119,   120,  1245,   120,   927,   128,   929,
6543      126,   125,     3,   933,     5,  1229,   936,  1051,   129,   793,
6544      560,   941,   562,    28,   944,  1788,   946,   947,   970,   825,
6545       90,   128,    37,   876,  1763,   794,   956,   957,   958,   128,
6546     1252,   130,   120,   121,  1763,   965,   966,   821,   968,   122,
6547      970,   971,   119,   120,  1063,   122,   976,   977,   978,   979,
6548      133,   970,     3,   822,   122,  1701,   795,   126,   126,  1547,
6549      119,   130,  1063,   127,  1201,   133,   123,  1204,  1638,   133,
6550      119,   120,  1672,   122,  1004,   796,  1535,  1678,  1464,   123,
6551      139,   140,  1683,   936,   823,   122,     7,     8,     9,   122,
6552      119,   120,     0,  1045,    12,    13,   133,   126,   122,     3,
6553      133,   797,   130,   824,   957,  1035,  1036,   122,  1107,  1039,
6554     1040,  1110,   122,  1043,  1044,  1045,  1963,  1047,   119,   120,
6555     1050,  1051,   119,    74,    75,   529,  1045,   120,    79,   825,
6556     1060,  1429,  1062,  1063,  1064,    86,   129,   122,  1068,   120,
6557     1979,  1071,   139,   140,  1074,   128,  1747,  1077,   129,  1148,
6558     1080,  1004,   126,  1083,   136,   137,  1086,   131,  1088,   110,
6559      111,    65,   566,  1162,  1163,  1164,  1165,   121,   888,    10,
6560       11,  1469,  1102,   127,  1472,    83,   121,  1107,   129,   386,
6561     1110,   388,   127,  1107,  1535,    93,  1110,  1206,    77,  1119,
6562      121,  1121,   100,   101,   598,  1051,   127,  1975,   126,  1977,
6563     1130,   122,   120,   121,  1060,  1206,  1062,   927,   121,   130,
6564       14,    15,   133,  1143,   127,   119,   120,  2056,  1148,  1149,
6565      121,   941,   626,   122,  1148,   121,   127,   947,  1139,  1181,
6566        1,   127,  1162,  1163,  1164,  1165,   136,   137,  1162,  1163,
6567     1164,  1165,   781,   782,   122,     3,  1064,   122,   120,  1473,
6568     1180,  1181,  1182,   555,  1184,   127,  1744,  1903,  2097,    69,
6569       70,   133,  1181,   121,  1194,   129,  1196,   131,   122,   127,
6570       28,  1201,   811,   812,   123,  1205,  1206,  1414,   127,    37,
6571      122,    91,   131,   585,   300,    95,   588,    97,   590,   129,
6572      592,   131,   129,   309,  1224,     6,  1866,     8,     9,   315,
6573     1901,  1231,   122,    74,    75,   121,   136,     3,    79,  1239,
6574      125,   127,   129,   221,   129,    86,    74,    75,   128,   723,
6575     1808,    79,     3,   727,    14,    15,     1,   121,    86,  1182,
6576     1050,  1184,    28,   127,   129,  1246,   131,   121,   742,   110,
6577      111,  1800,   123,   127,   122,   749,   127,    28,   752,   125,
6578      131,   127,   110,   111,   125,   126,   127,   907,   908,   566,
6579      122,   119,    73,    44,   122,   154,  1717,   135,   772,   158,
6580      278,  1722,   141,    84,  1725,   133,  1194,   123,    74,    75,
6581      288,   127,   290,    79,  1050,   131,   142,   783,   784,  1107,
6582       86,    16,  1110,    74,    75,   799,   121,   123,   109,    74,
6583       75,   127,   127,   807,    79,   131,   121,     1,   125,   120,
6584      127,    86,   127,   123,   110,   111,   324,   813,   814,   626,
6585      970,   135,   133,   827,   142,   136,   137,   138,   121,  1566,
6586     1148,    16,     3,   129,   127,   110,   111,   123,  1789,   123,
6587       11,   127,   123,   127,  1162,  1163,  1164,  1165,   122,  1800,
6588      125,   126,   127,  1751,  1752,    10,    11,   123,  1682,     3,
6589     1684,   127,  1392,  1393,   123,   123,  1396,  1397,   127,   127,
6590      141,  1401,  1402,   123,  1698,  1699,   791,   792,   123,   123,
6591       74,    75,   127,  1413,    28,    79,  1397,  1417,  1418,  1039,
6592     1040,  1421,    86,  1043,  1044,  1045,   125,  1427,   127,  1429,
6593       44,     3,  1432,  1547,   819,   820,  1436,   781,   782,   129,
6594      418,  1441,  1442,  1443,   123,   129,   110,   111,   127,   349,
6595     1979,   123,   926,  2093,   928,   127,    28,   123,   122,   123,
6596       74,    75,   129,   127,  1464,   125,  1466,   811,   812,  1469,
6597      123,  1862,  1472,   123,   127,  1475,   127,   127,   119,   120,
6598      121,    88,    89,    90,  1484,   126,   127,     1,   129,     3,
6599     1490,  1491,   470,   967,   125,  1495,  1496,  1497,  1498,    74,
6600       75,   120,    74,    75,    79,   120,  1429,    79,   129,   123,
6601      131,    86,   120,   127,    86,   907,   908,  1586,  1587,   129,
6602      420,   131,   996,     3,   998,   126,     1,  2056,     3,  1598,
6603      127,     1,   510,     3,   129,   110,   111,   129,   110,   111,
6604        1,   300,     3,   134,  1544,  1545,  1469,  1547,    28,  1472,
6605      309,     1,   134,     3,   129,  1555,   315,   129,  1979,   129,
6606     1180,  1181,   133,   125,    44,   127,  1566,    18,    19,    20,
6607       21,    22,    23,    24,    25,    26,    27,  1784,  1870,  1871,
6608     1872,  1873,  1874,  1875,  1876,  1877,  1586,  1587,   907,   908,
6609     1064,  1680,  1586,  1587,    74,    75,  1596,   134,  1598,  1599,
6610       74,    75,  1602,   127,  1598,    79,  1606,   127,  1902,  1680,
6611     1610,   697,    86,  1613,   129,    79,   131,  1911,   125,     3,
6612      127,  1547,  2013,   129,  2015,   131,   127,    11,  1609,  1555,
6613     1104,   526,   527,   528,   127,  2056,   110,   111,  1638,   783,
6614      784,  1115,   544,   545,  1625,  1645,   110,   111,   129,   544,
6615      545,   928,   126,  1443,  1509,   128,  1511,  1509,   125,  1511,
6616      131,   125,   122,  1753,   122,   129,   122,  1141,  1142,   813,
6617      814,  1963,   125,  1967,  1968,   126,  1466,   125,  1678,   122,
6618     1680,   663,   664,  1683,   663,   664,   122,  2078,   125,  2080,
6619      967,  2082,   100,   101,  1808,   125,  1068,   125,   129,   836,
6620      837,  1701,  1074,  1703,  1704,   125,   120,  1443,  1080,   128,
6621      123,   134,   134,   134,  1086,   120,   134,   134,   696,   134,
6622      129,   133,   129,   125,   702,   128,   127,   120,   128,  2120,
6623     2121,   128,  2123,  1207,   123,   119,   120,   121,  1738,   134,
6624      123,   719,   126,   127,   123,   129,   134,  1747,  2139,   134,
6625      728,  1751,  1752,   123,  1754,  1229,   122,  1779,   123,  1781,
6626      123,   739,   131,   131,   131,  2156,  1766,  1836,   122,   122,
6627      122,   120,  2097,    56,   125,  1249,  1566,  2097,  1252,  1779,
6628      125,  1781,  1256,  1805,  1784,  1807,  1260,  1064,   125,   122,
6629     1779,   120,  1781,   125,   120,   123,   123,   122,  1586,  1587,
6630      122,   120,   133,   123,   127,  1805,   123,  1807,  1808,   123,
6631     1598,   127,   133,   123,    74,    75,  1805,   128,  1807,    79,
6632      123,     3,   131,   131,     3,   131,    86,   131,  1751,  1752,
6633     1830,  1831,  1832,  1833,   123,   123,  1836,     3,  1115,   123,
6634     1840,  1841,  1836,  1843,   125,  1845,    28,   126,   128,    28,
6635      110,   111,   123,   123,   832,    37,   141,  1857,    37,   144,
6636      123,   134,   134,   123,   123,   134,  1866,   131,    56,  1869,
6637     1490,  1491,   157,   131,   159,   122,   161,   123,   122,  1860,
6638      122,  1862,  1808,   131,   123,   123,   131,   787,   788,   867,
6639      790,   131,    74,    75,   131,    74,    75,    79,   876,   123,
6640       79,  1901,   123,  1903,    86,   883,   123,    86,    74,    75,
6641      888,   123,   890,    79,   134,   815,   816,   817,   818,   134,
6642       86,   120,   133,   133,  1544,  1545,   134,   134,   110,   111,
6643     1207,   110,   111,   125,    11,  2004,   129,  2006,   697,   126,
6644      122,   131,   131,   122,   110,   111,   129,   125,   122,   126,
6645     1972,   133,  1229,   126,   125,   123,   122,   129,   858,   859,
6646      123,   123,   123,   941,    74,    75,   123,     3,   123,    79,
6647     1970,  1971,  1972,  1973,  1974,  1975,    86,  1977,   134,   957,
6648      134,   134,   134,  1972,  1984,  1985,  1986,  1987,   134,  1463,
6649        0,   134,    28,   134,   134,  1995,  2086,  2087,   123,  1473,
6650      110,   111,    64,  2072,  2004,    64,  2006,  2007,   125,   123,
6651     2004,   134,  2006,   123,   134,   123,  2016,  2017,   134,   134,
6652      125,   125,   134,   125,   125,   123,   129,  2128,   125,   125,
6653     1504,    41,  2013,   125,  2015,  1509,   125,  1511,    74,    75,
6654      125,   125,   125,    79,   125,   123,   125,   976,  1836,    59,
6655       86,   125,  2052,  2053,  1528,  1498,    66,   858,   958,  2059,
6656     2060,   477,   288,  2063,   913,  2065,   477,     0,  2068,   288,
6657      804,   477,  2072,    83,   110,   111,    86,   968,  2072,   477,
6658       74,    75,    92,    93,  1464,    79,   477,  2087,    92,  2089,
6659      100,   101,    86,  2093,   435,   722,  2077,  2078,   314,  2080,
6660     1789,  2082,   728,   113,   100,  2105,   116,  1581,  2077,    93,
6661      425,   270,    93,   101,   265,    93,   110,   111,   128,  1738,
6662       -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,  2128,  2129,
6663     2111,   141,   142,  2133,   144,    -1,    -1,    -1,    -1,  2120,
6664     2121,    -1,  2123,    -1,   154,  2145,   156,   157,   158,   159,
6665       83,   161,    -1,    -1,    -1,    -1,    -1,    -1,  2139,  1779,
6666       93,  1781,   136,    -1,    -1,    -1,    -1,   100,   101,    -1,
6667       -1,    -1,    -1,    -1,    -1,  2156,   186,   187,    -1,    -1,
6668      465,   466,   186,   187,    -1,  1805,    -1,  1807,   198,    -1,
6669       -1,    -1,   477,    -1,    -1,    -1,  1473,    -1,    -1,    -1,
6670       -1,    -1,   212,    -1,    -1,    -1,   491,   492,  1682,    -1,
6671     1684,   221,    -1,    -1,    -1,    -1,  2004,    -1,  2006,  1693,
6672       -1,    -1,    -1,  1201,  1698,  1699,    -1,    -1,   513,   514,
6673       -1,  1705,    -1,   518,   519,    -1,    -1,   522,   523,    -1,
6674       -1,    44,    45,    -1,    -1,    74,    75,    -1,    -1,    -1,
6675       79,    -1,    -1,    -1,    -1,   265,    -1,    86,   268,   269,
6676      270,     3,    -1,    -1,   268,    -1,   270,    -1,   278,    -1,
6677       -1,    74,    75,    -1,    -1,   560,    79,   562,   288,   289,
6678      290,   110,   111,    86,  2072,   289,    28,    -1,   221,  1763,
6679       -1,    -1,    -1,    -1,   123,    37,    -1,    -1,   308,    -1,
6680       -1,    -1,    -1,    -1,   314,  1205,    -1,   110,   111,    -1,
6681       -1,    -1,    -1,    -1,   324,    -1,    -1,     7,    -1,   122,
6682       10,    11,    12,    13,    14,    15,    16,    17,    -1,    -1,
6683       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
6684       -1,    -1,    -1,    -1,    86,   278,    -1,    -1,    -1,    -1,
6685     1970,  1971,  1972,  1973,  1974,   288,    -1,   290,    -1,    -1,
6686       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,   110,   111,
6687       -1,   381,    -1,    -1,    -1,   349,   386,   119,   388,    -1,
6688      122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
6689       -1,    -1,    -1,  1867,  1868,    -1,    -1,    -1,    -1,    -1,
6690       -1,    -1,    -1,    -1,    -1,  1682,    -1,  1684,   418,    -1,
6691      420,   421,    44,    45,   424,   425,    -1,    -1,    -1,    -1,
6692      430,  1698,  1699,    -1,   434,   435,    -1,   437,  1902,    -1,
6693      120,   121,  2052,  2053,    -1,    -1,   440,  1911,    -1,   443,
6694      130,    -1,    74,    75,    -1,    -1,   420,    79,    -1,   139,
6695      140,   141,   142,   143,    86,   465,   466,    -1,    -1,    -1,
6696      470,   471,    -1,    -1,    -1,    -1,    -1,   477,    -1,    -1,
6697       -1,    -1,   482,    -1,    -1,    -1,    -1,   487,   110,   111,
6698       -1,   491,   492,    -1,    -1,   418,    -1,    -1,  1466,    -1,
6699      122,     3,    -1,  1967,  1968,    -1,    -1,    -1,    -1,    -1,
6700      510,    -1,    -1,   513,   514,    -1,    74,    75,   518,   519,
6701       -1,    79,   522,   523,    -1,    -1,    28,  1417,    86,   529,
6702       -1,  1421,    -1,    -1,    -1,    37,   536,    -1,    -1,   539,
6703       -1,    -1,   536,    -1,    -1,   539,    -1,   470,    -1,    -1,
6704       -1,    -1,   110,   111,    -1,   555,    -1,    -1,    -1,    -1,
6705      560,   119,   562,    -1,   122,   565,   566,    -1,    -1,   529,
6706       -1,    -1,    74,    75,    -1,   133,    -1,    79,    -1,    -1,
6707       -1,    -1,    -1,    -1,    86,   585,    -1,   510,   588,    -1,
6708      590,    -1,   592,    -1,  1484,    -1,    -1,    -1,  1566,   599,
6709       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   110,   111,
6710       -1,    -1,  1502,    -1,    -1,  2079,    -1,   119,    -1,    -1,
6711      122,   123,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
6712       -1,    -1,    28,  2097,    -1,  1902,    86,    -1,    37,    -1,
6713       -1,    37,    38,    -1,  1911,    44,    45,  1723,  1724,    -1,
6714     1726,  1727,    -1,    -1,    -1,  1731,  1732,  1733,  1734,    -1,
6715      110,   111,    -1,   663,   664,   665,   666,    -1,    -1,   663,
6716      664,   665,   666,   123,    -1,    74,    75,    -1,    74,    75,
6717       79,    -1,    -1,    79,  2148,    -1,    -1,    86,    -1,    -1,
6718       86,   691,   692,   693,    -1,   970,   696,   691,   692,   693,
6719     1967,  1968,   702,    -1,    -1,    44,    45,    -1,    -1,    -1,
6720      710,   110,   111,    -1,   110,   111,    -1,   717,   718,   719,
6721      119,   721,   722,   119,    -1,    -1,   122,    -1,   728,   125,
6722       -1,   127,   128,  1701,    -1,    74,    75,    -1,    -1,   739,
6723       79,    -1,   742,    -1,    -1,    -1,    -1,    86,    -1,   749,
6724      710,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6725       -1,    -1,    -1,    -1,  1039,  1040,    -1,    -1,  1043,  1044,
6726     1045,   110,   111,   696,    -1,    -1,    -1,    -1,    -1,   702,
6727      119,    -1,   742,    -1,    -1,    -1,    -1,    -1,  1678,   749,
6728       -1,    -1,   752,  1683,  1870,  1871,  1872,  1873,  1874,  1875,
6729     1876,  1877,    74,    75,    -1,   728,    -1,    79,    -1,    -1,
6730       -1,    -1,    -1,    -1,    86,    -1,  1784,    -1,    -1,    -1,
6731       -1,    -1,    -1,   787,   788,    -1,   790,    -1,    -1,    -1,
6732       -1,    -1,   832,    -1,    -1,   835,   836,   837,   110,   111,
6733       -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
6734      122,   815,   816,   817,   818,    -1,    -1,  1747,   858,   859,
6735      860,    -1,    -1,    -1,    -1,   465,   466,   867,     0,    -1,
6736       -1,    -1,    -1,    -1,    -1,   875,   876,    -1,    -1,    -1,
6737       -1,    -1,    -1,   883,    -1,    -1,   886,  1963,   888,    -1,
6738      890,   491,   492,    -1,   858,   859,    -1,    -1,  1788,    -1,
6739       -1,    -1,    -1,    -1,    -1,  1180,  1181,    -1,    -1,   832,
6740       -1,    -1,    -1,   513,   514,    -1,    -1,    -1,   518,   519,
6741       52,    -1,   522,   523,    -1,    -1,    -1,    -1,    -1,    -1,
6742       -1,    -1,    -1,   933,    -1,  1903,    -1,    -1,    -1,    -1,
6743       -1,   941,    -1,    -1,   867,    -1,    -1,    -1,    -1,    -1,
6744       82,    83,    84,   876,    -1,    -1,    -1,   957,   958,    91,
6745      883,    93,    -1,    -1,    -1,   965,   966,   890,   100,   101,
6746      970,    -1,    -1,    -1,  1723,  1724,   976,  1726,  1727,    -1,
6747       -1,    -1,  1731,  1732,  1733,  1734,    -1,    -1,    -1,     3,
6748       -1,    -1,    -1,   987,   958,    -1,   996,   997,   998,   131,
6749      132,   133,   134,   135,  1004,    -1,    -1,    -1,    -1,   141,
6750       -1,  1901,   144,    -1,    28,    -1,    -1,    -1,   941,    -1,
6751       -1,    -1,    -1,    37,    38,   157,    -1,   159,    -1,   161,
6752       -1,    -1,    -1,    -1,   957,    -1,   996,   997,   998,  1039,
6753     1040,    -1,    -1,  1043,  1044,  1045,    -1,    -1,    -1,    -1,
6754       -1,   183,   184,   185,    -1,    -1,    -1,    -1,    -1,     3,
6755       74,    75,    -1,  1063,  1064,    79,    -1,    -1,  1068,    -1,
6756       -1,    -1,    86,    -1,  1074,    -1,    -1,    -1,    -1,    -1,
6757     1080,    -1,    -1,    -1,    28,    -1,  1086,    -1,   220,   221,
6758       -1,    -1,    -1,    37,    -1,    -1,   110,   111,    -1,    -1,
6759       -1,    -1,    -1,    -1,  1104,   119,    -1,  1107,   122,    -1,
6760     1110,    -1,    -1,  1107,    -1,    -1,  1110,    -1,    -1,    -1,
6761       -1,  1870,  1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,
6762       74,    75,    -1,   265,    -1,    79,    -1,    -1,    -1,    -1,
6763       -1,    -1,    86,    -1,  1104,    -1,   278,    -1,  1148,    -1,
6764       -1,    -1,    -1,    -1,  1148,    -1,   288,    -1,   290,    -1,
6765       -1,    -1,  1162,  1163,  1164,  1165,   110,   111,  1162,  1163,
6766     1164,  1165,    -1,    -1,    -1,   119,    -1,    -1,   122,    -1,
6767     1180,  1181,    -1,    -1,    -1,  1185,    -1,  1187,    -1,    -1,
6768       -1,  1185,    -1,  1187,  1194,    -1,    -1,    -1,    -1,    -1,
6769       -1,  1201,    -1,    -1,  1204,  1205,  1206,    -1,    -1,    -1,
6770       -1,    -1,    -1,    -1,  1963,  1490,  1491,    -1,    -1,    -1,
6771       -1,    -1,    -1,    -1,  1224,    -1,    -1,    -1,    -1,    -1,
6772       -1,  1231,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6773        1,  1205,     3,    -1,    -1,    -1,     0,    -1,  1248,  1249,
6774       -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,    -1,  1259,
6775     1260,    -1,   394,   395,   396,    -1,    -1,    28,    -1,  1544,
6776     1545,  1194,    -1,    -1,    -1,    -1,    37,    38,  1201,    -1,
6777       -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,  1248,  1249,
6778       -1,    -1,    -1,   425,    -1,  1255,  1256,    -1,    -1,  1259,
6779     1260,    -1,    -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,
6780       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
6781       -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,    83,
6782       -1,    -1,    -1,   465,   466,    -1,    -1,    -1,   470,    93,
6783       -1,    -1,   474,    -1,    -1,   477,   100,   101,    -1,   110,
6784      111,    -1,    -1,    -1,   486,    -1,    -1,    -1,   119,   491,
6785      492,   122,    -1,    -1,   125,    -1,   127,   128,    -1,    -1,
6786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
6787       -1,   513,   514,    -1,    -1,    -1,   518,   519,   142,    -1,
6788      522,   523,    52,    -1,   526,   527,   528,    -1,    -1,    -1,
6789      154,  1401,  1402,    -1,   158,    -1,    -1,    -1,    -1,    -1,
6790       -1,    -1,   544,   545,    -1,    -1,   141,  1417,    -1,   144,
6791       -1,  1421,    -1,    83,    84,    -1,    -1,    -1,   560,    -1,
6792      562,    91,   157,   565,   159,   567,   161,    -1,    -1,  1039,
6793     1040,    -1,    -1,  1043,  1044,    -1,    -1,    -1,    -1,    -1,
6794      582,    -1,    -1,  1417,    -1,    -1,    -1,  1421,    -1,    -1,
6795       -1,    -1,    -1,  1463,    -1,    -1,  1466,   142,    -1,    -1,
6796       -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,   154,
6797       -1,    -1,    -1,   158,  1484,    -1,    -1,    -1,    -1,    -1,
6798     1490,  1491,    -1,    -1,    -1,  1495,  1496,  1497,  1498,    -1,
6799       -1,    -1,    -1,  1463,  1779,    -1,  1781,    -1,    -1,    -1,
6800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6801     1484,    -1,    -1,   183,   278,  1519,    -1,    -1,    -1,    -1,
6802     1805,    -1,  1807,    -1,   288,    -1,   290,    -1,  1502,    -1,
6803       -1,    -1,    -1,  1466,  1544,  1545,    -1,    -1,    -1,    -1,
6804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   690,    -1,
6805       -1,    -1,    -1,    -1,   696,    -1,  1566,    -1,    -1,    -1,
6806      230,    -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,
6807     1580,  1581,    -1,    -1,    -1,   717,  1586,  1587,    -1,   721,
6808      265,    -1,  1586,  1587,   268,   269,    -1,    -1,    -1,  1599,
6809       -1,    -1,  1602,    -1,  1598,   265,    -1,   739,   465,   466,
6810     1610,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   278,    -1,
6811     1580,  1581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6812       -1,    -1,    -1,   308,   491,   492,    -1,    -1,    -1,   314,
6813       -1,    -1,    -1,  1566,    -1,  1645,    -1,    -1,    -1,    -1,
6814       -1,    -1,    -1,    -1,    -1,    -1,   513,   514,    -1,    -1,
6815       -1,   518,   519,    -1,    -1,   522,   523,    -1,    -1,    -1,
6816      424,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,    -1,
6817     1680,   435,    -1,  1683,    -1,    -1,    -1,    -1,    -1,    -1,
6818       -1,    -1,    -1,    -1,    -1,  1970,  1971,  1972,  1973,  1974,
6819       -1,  1701,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1984,
6820     1985,  1986,  1987,    -1,  1678,    -1,    -1,    -1,    -1,  1683,
6821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   860,    -1,
6822       -1,    -1,    -1,   487,   394,   867,    -1,    -1,    -1,    -1,
6823      465,   466,   874,   875,   876,    -1,     0,  1747,    -1,   424,
6824       -1,   883,   477,    -1,   886,    -1,   888,    -1,    -1,    -1,
6825      435,    -1,  1762,  1763,    -1,    -1,   491,   492,    -1,    -1,
6826       -1,    -1,    -1,    -1,    -1,    -1,   436,  2052,  2053,  1779,
6827       -1,  1781,    -1,  1747,  1784,    -1,    -1,    -1,   513,   514,
6828       -1,    -1,    -1,   518,   519,   927,    -1,   522,   523,    -1,
6829       -1,    -1,  1762,  1763,   936,  1805,    -1,  1807,    -1,   941,
6830       -1,    -1,   487,    -1,   474,   947,    -1,    -1,    -1,    -1,
6831       -1,    -1,    -1,    -1,  1788,   957,    -1,    -1,    -1,    83,
6832       -1,    -1,    -1,    -1,    -1,   560,    -1,   562,   970,    93,
6833     1840,  1841,  1836,    -1,    -1,    -1,   100,   101,   980,    -1,
6834       -1,    -1,    -1,    -1,    -1,   268,   269,    -1,    -1,    -1,
6835       -1,  1784,   536,    -1,    -1,   539,   526,   527,   528,    -1,
6836      530,    -1,  1004,   533,    -1,   270,    -1,    -1,    -1,    -1,
6837       -1,    -1,    -1,    -1,   544,   545,   546,    -1,   142,    -1,
6838     1490,  1491,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
6839      154,  1901,    -1,  1903,   158,   565,    -1,  1039,  1040,    -1,
6840       -1,  1043,  1044,  1045,    -1,    -1,    -1,   136,  1050,  1051,
6841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1061,
6842       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1901,    -1,    -1,
6843       -1,    -1,   696,    -1,  1544,  1545,    -1,    -1,    -1,    -1,
6844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6846     1970,  1971,  1972,  1973,  1974,  1975,    -1,  1977,    -1,   198,
6847       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,    -1,   663,
6848      664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6849       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6850     2004,    -1,  2006,    -1,    -1,    -1,    -1,    -1,    -1,   693,
6851       -1,    -1,    -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,
6852      690,    -1,    -1,    -1,   288,    -1,   290,    -1,    -1,    -1,
6853       -1,    -1,   717,   718,    -1,   440,   721,   722,  1180,  1181,
6854       -1,    -1,  2052,  2053,    -1,    -1,    -1,    -1,    -1,    -1,
6855       -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,  1201,
6856       -1,    -1,  1204,    -1,  1206,    -1,    -1,    -1,  2072,    -1,
6857       -1,   300,    -1,    -1,    -1,   304,   305,   306,    -1,    -1,
6858      309,     1,  1224,     3,     4,     5,   315,    -1,    -1,  1231,
6859       -1,    -1,   321,    -1,    -1,    -1,    -1,    -1,   327,    -1,
6860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
6861       -1,   875,    -1,   536,    -1,   344,   539,    -1,    -1,    -1,
6862      349,    -1,   886,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6863       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
6864       -1,    -1,    -1,    -1,    -1,    65,    93,    -1,    -1,    -1,
6865       -1,    71,    72,   100,   101,    -1,    -1,   386,    -1,   388,
6866      424,    -1,    -1,    -1,    -1,    85,    -1,    -1,    -1,    -1,
6867       -1,   435,  1039,  1040,    -1,    -1,  1043,  1044,    98,    -1,
6868       -1,    -1,   102,   103,   104,   105,   106,   107,   108,    -1,
6869      875,   420,    -1,    -1,    -1,   142,    -1,    -1,   118,    -1,
6870       -1,   886,   122,    -1,   344,    -1,    -1,   154,    -1,    -1,
6871       -1,   158,   132,   133,    -1,    -1,    -1,    -1,   888,    -1,
6872       -1,    -1,    -1,   487,    -1,    -1,   631,    -1,    -1,    -1,
6873       -1,    -1,    -1,    -1,    -1,   970,    -1,    -1,    -1,    -1,
6874      663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,
6875       -1,    -1,    -1,    -1,    -1,    -1,    -1,   927,   663,   664,
6876      665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6877      693,    -1,  1414,    -1,   944,    -1,   946,   947,    -1,    -1,
6878       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1429,    -1,    -1,
6879       -1,    -1,    -1,    -1,  1436,    -1,    -1,    -1,    -1,    -1,
6880      529,  1443,    -1,    -1,  1039,  1040,    -1,    -1,  1043,  1044,
6881     1045,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1004,
6882       -1,    -1,  1464,    -1,  1466,    -1,    -1,    -1,    -1,    -1,
6883       -1,   278,    -1,    -1,    -1,    -1,    -1,   566,    -1,    -1,
6884       -1,   288,    -1,   290,    -1,    -1,    -1,    -1,  1490,  1491,
6885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6886     1970,  1971,    -1,  1973,  1974,    -1,    -1,    -1,    -1,   598,
6887       -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,    -1,    -1,
6888     1050,  1051,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6889       -1,    -1,    -1,    -1,    -1,    -1,    -1,   626,    -1,    -1,
6890       -1,    -1,  1544,  1545,    -1,  1547,    -1,    -1,    -1,    -1,
6891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6892       -1,    -1,    -1,  1107,  1566,    -1,  1110,    -1,    -1,    -1,
6893       -1,    -1,   696,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6894       -1,    -1,  2052,  2053,    -1,  1180,  1181,    -1,    -1,    -1,
6895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6896       -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,   697,    -1,
6897       -1,    -1,    -1,    -1,    -1,    -1,    -1,   424,  1162,  1163,
6898     1164,  1165,    -1,    -1,    -1,   112,    -1,    -1,   435,    -1,
6899       -1,    -1,    -1,    -1,   723,    -1,   636,    -1,   727,    -1,
6900       -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,    -1,    -1,
6901       -1,    -1,  1182,   742,  1184,    -1,    -1,    -1,    -1,  1204,
6902      749,    -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,
6903     1672,    -1,    -1,    -1,   939,    -1,    -1,    -1,    -1,  1224,
6904      487,    -1,    -1,   772,    -1,    -1,  1231,    -1,    -1,   778,
6905      779,   780,   781,   782,   783,   784,    -1,    -1,   787,   788,
6906       -1,   790,   791,   792,   793,   794,   795,   796,   797,    -1,
6907      799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   807,   808,
6908      809,   810,   811,   812,   813,   814,   815,   816,   817,   818,
6909      819,   820,   821,   822,   823,   824,   825,    -1,   827,    -1,
6910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6911       -1,   875,    -1,    -1,    -1,    -1,    -1,    -1,   758,    -1,
6912       -1,    -1,   886,  1490,  1491,    -1,    -1,    -1,    -1,   858,
6913      859,    -1,    -1,    -1,    -1,    -1,    -1,  1779,    -1,  1781,
6914       -1,    -1,  1784,   270,    -1,    -1,    -1,    -1,    -1,    -1,
6915       -1,   791,   792,   793,   794,   795,    -1,    -1,   798,    -1,
6916       -1,   112,    -1,  1805,   804,  1807,    -1,    -1,    -1,    -1,
6917       -1,    -1,    -1,    -1,    -1,  1817,    -1,  1544,  1545,   819,
6918      820,   821,   822,   823,  1107,   136,   826,  1110,    -1,    -1,
6919       -1,    -1,    -1,    -1,    -1,    -1,    -1,   926,    -1,   928,
6920      327,    -1,  1107,    -1,    -1,  1110,    -1,    -1,    -1,    -1,
6921       -1,    -1,    -1,    -1,  1119,    -1,    -1,    -1,    -1,    -1,
6922       -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,   958,
6923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   967,  1162,
6924     1163,  1164,  1165,  1148,    -1,    -1,    -1,   198,    -1,   696,
6925       -1,    -1,    -1,    -1,    -1,  1490,  1491,  1162,  1163,  1164,
6926     1165,    -1,  1185,    -1,  1187,    -1,    -1,   996,    -1,   998,
6927       -1,    -1,    -1,  1443,    -1,    -1,    -1,    -1,    -1,    -1,
6928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1544,
6931     1545,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,     9,
6932       10,    11,    12,    13,    14,    15,    16,    17,  1970,  1971,
6933     1972,  1973,  1974,    -1,    -1,  1064,    -1,    -1,    -1,    -1,
6934       -1,    -1,  1984,  1985,  1986,  1987,    -1,    -1,    -1,   300,
6935       -1,    -1,    -1,   304,   305,   306,    -1,    -1,   309,    -1,
6936       -1,    -1,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,
6937      321,    -1,    -1,    -1,    -1,  1104,   327,  1547,    -1,    -1,
6938       -1,    -1,    -1,    -1,    -1,    -1,  1115,    -1,    -1,    -1,
6939       -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,   349,    -1,
6940       -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,   535,    -1,
6941     2052,  2053,  1141,  1142,    -1,  1599,    -1,    -1,  1602,    -1,
6942       -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,   875,    -1,
6943      120,   121,    -1,    -1,    -1,   386,    -1,   388,    -1,   886,
6944      130,    -1,    -1,    -1,    -1,   135,   136,   137,    -1,   139,
6945      140,   141,   142,   143,    -1,    -1,    -1,    -1,     1,    -1,
6946        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,   420,
6947       -1,   598,    -1,    -1,    -1,    -1,  1205,    -1,  1207,    -1,
6948       -1,    -1,  1122,    -1,    -1,    28,    -1,    -1,    -1,    -1,
6949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6950     1229,    -1,    -1,    -1,   631,    -1,    -1,    -1,    -1,    -1,
6951     1150,    -1,    -1,    -1,    -1,    -1,  1245,  1157,    -1,    -1,
6952     1249,    -1,    65,  1252,    -1,    -1,    -1,  1256,    71,    72,
6953       73,  1260,    -1,    -1,    -1,    -1,   663,   664,   665,   666,
6954       -1,    84,    85,    -1,  1779,    -1,  1781,    -1,    -1,    -1,
6955       -1,  1191,    -1,  1193,    -1,    98,    -1,    -1,    -1,   102,
6956      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
6957     1805,    -1,  1807,    -1,    -1,   118,   119,    -1,   529,   122,
6958      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
6959      133,   134,   135,   136,   137,   138,   723,    -1,    -1,    -1,
6960      727,    -1,    -1,  1970,  1971,    -1,  1973,  1974,    -1,    -1,
6961       -1,    -1,    -1,    -1,    -1,   566,    -1,  1984,  1985,  1986,
6962     1987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6963       -1,   758,    -1,    -1,    -1,    -1,    -1,    -1,  1808,    -1,
6964       -1,    -1,    -1,    -1,    -1,   772,    -1,   598,    -1,    -1,
6965       -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,    -1,
6966       -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,    -1,
6967       -1,    -1,   799,    -1,    -1,   626,  1599,   804,    -1,  1602,
6968      807,  1586,  1587,    -1,    -1,  2052,  2053,  1610,  1417,    -1,
6969       -1,  1596,  1421,  1598,  1599,    -1,    -1,  1602,    -1,    -1,
6970      827,    -1,    -1,    -1,    -1,  1610,    -1,    -1,  1613,    -1,
6971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6973       -1,    -1,    -1,    -1,  1463,  1970,  1971,  1972,  1973,  1974,
6974       -1,    -1,    -1,    -1,  1473,    -1,   697,    -1,    -1,  1984,
6975     1985,  1986,  1987,    -1,    -1,  1484,    -1,    -1,    -1,    -1,
6976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6977       -1,    -1,   723,  1502,    -1,  1504,   727,    -1,    -1,    -1,
6978     1509,    -1,  1511,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6979       -1,   742,    -1,    -1,    -1,    -1,    -1,    -1,   749,  1528,
6980       -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6981       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2052,  2053,    -1,
6982       -1,   772,    -1,    -1,    -1,    -1,    -1,   778,   779,   780,
6983      781,   782,   783,   784,    -1,    -1,   787,   788,    -1,   790,
6984      791,   792,   793,   794,   795,   796,   797,    -1,   799,    -1,
6985       -1,    -1,  1581,    -1,    -1,    -1,   807,   808,   809,   810,
6986      811,   812,   813,   814,   815,   816,   817,   818,   819,   820,
6987      821,   822,   823,   824,   825,    -1,   827,    -1,    -1,    -1,
6988       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1014,    -1,    -1,
6989       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6990       -1,    -1,    -1,    -1,    -1,    -1,    -1,   858,   859,    -1,
6991       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,
6992       -1,    -1,    -1,    -1,    -1,  1830,  1831,  1832,  1833,    -1,
6993       -1,  1836,    -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,
6994     1845,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,
6995       -1,    -1,  1857,  1682,  1683,  1684,    -1,    -1,    -1,    -1,
6996       -1,    -1,    -1,    -1,  1693,    -1,    -1,    -1,    -1,  1698,
6997     1699,    -1,    -1,    -1,    -1,   926,  1705,   928,    -1,    -1,
6998     1107,    -1,    -1,  1110,    -1,    -1,    -1,    -1,    -1,    -1,
6999       -1,    -1,  1119,    -1,  1723,  1724,    -1,  1726,  1727,    -1,
7000       -1,    -1,  1731,  1732,  1733,  1734,    -1,   958,    -1,    -1,
7001       -1,    -1,    -1,    -1,  1141,  1142,   967,    -1,  1747,    -1,
7002       -1,  1148,    -1,  1150,    -1,    -1,    -1,  1154,    -1,    -1,
7003     1157,    -1,  1159,    -1,  1763,  1162,  1163,  1164,  1165,    -1,
7004       -1,    -1,    -1,    -1,    -1,   996,    -1,   998,    -1,    -1,
7005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1788,
7006       -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,    -1,
7007       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1717,    -1,    -1,
7008       -1,    -1,  1722,  1723,  1724,  1725,  1726,  1727,    -1,    -1,
7009     1995,  1731,  1732,  1733,  1734,    -1,    -1,    -1,    -1,  2004,
7010       -1,  2006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7011       -1,    -1,    -1,  1064,   183,    -1,    -1,    -1,    -1,    -1,
7012       -1,    -1,    -1,    -1,    -1,  1252,    -1,    -1,    -1,    -1,
7013       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1867,  1868,
7014       -1,  1870,  1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,
7015       -1,    -1,   221,  1104,  2059,  2060,    -1,    -1,  2063,    -1,
7016     2065,    -1,    -1,  2068,  1115,    -1,    -1,  2072,    -1,    -1,
7017       -1,    -1,  1901,  1902,    -1,    -1,    -1,    -1,    -1,    -1,
7018       -1,    -1,  1911,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7019     1141,  1142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7020     2105,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,
7022       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2133,    -1,
7023       -1,    -1,    -1,    -1,  1963,    -1,    -1,    -1,  1967,  1968,
7024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7025       -1,    -1,    -1,    -1,  1205,    -1,  1207,    -1,    -1,    -1,
7026       -1,    -1,    -1,   141,    -1,    -1,   144,    -1,     1,    -1,
7027        3,     4,     5,     6,    -1,     8,     9,    -1,  1229,   157,
7028       -1,   159,    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,
7029       -1,    -1,    -1,    -1,  1245,    28,    -1,    -1,  1249,    -1,
7030       -1,  1252,    -1,    -1,    -1,  1256,    -1,    -1,    -1,  1260,
7031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7032       -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,
7033       -1,   400,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7034       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7035     2079,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7036       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,  2097,   102,
7037      103,   104,   105,   106,   107,   108,   109,  1504,    -1,    -1,
7038       -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
7039      123,   124,   270,    -1,   127,    -1,    -1,    -1,   131,   132,
7040      133,   470,   135,   136,   137,   138,    -1,    -1,  1535,    -1,
7041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2148,
7042       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7043       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1586,
7046     1587,   530,    -1,    -1,   533,    -1,  1417,    -1,    -1,  1596,
7047     1421,  1598,  1599,    -1,    -1,  1602,    -1,   546,    -1,    -1,
7048       -1,    -1,    -1,  1610,    -1,    -1,  1613,    -1,    -1,    -1,
7049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   567,    -1,
7050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7051       -1,   580,  1463,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7052       -1,    -1,  1473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7053       -1,    -1,    -1,  1484,    -1,    -1,    -1,    -1,    -1,    -1,
7054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7055       -1,  1502,    -1,  1504,    -1,    -1,    -1,    -1,  1509,    -1,
7056     1511,    -1,    -1,    -1,    -1,    -1,  1693,    -1,    -1,    -1,
7057       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1528,  1705,    -1,
7058       -1,    -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,
7059     1717,    -1,    -1,    -1,    -1,  1722,    -1,    -1,  1725,    -1,
7060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7061       -1,    -1,    -1,   491,   492,    -1,    -1,    -1,    -1,    -1,
7062       -1,   690,    -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,
7063     1581,    -1,    -1,    -1,    -1,   513,   514,    -1,    -1,    -1,
7064      518,   519,    -1,    -1,   522,   523,    -1,    -1,    -1,    -1,
7065       -1,   529,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7066       -1,    -1,  1789,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7067       -1,    -1,    -1,  1800,    -1,    -1,    -1,    -1,    -1,    -1,
7068       -1,    -1,   560,    -1,   562,    -1,    -1,    -1,    -1,    -1,
7069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7070       -1,    -1,    -1,  1830,  1831,  1832,  1833,    -1,    -1,  1836,
7071       -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,  1845,    -1,
7072       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1678,    -1,    -1,
7073     1857,  1682,  1683,  1684,    -1,    -1,    -1,    -1,    -1,    -1,
7074     1867,  1868,  1693,    -1,    -1,    -1,    -1,  1698,  1699,    -1,
7075       -1,    -1,    -1,   631,  1705,    -1,    -1,    -1,    -1,    -1,
7076       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7077       -1,    -1,  1723,  1724,    -1,  1726,  1727,    -1,    -1,    -1,
7078     1731,  1732,  1733,  1734,    -1,   663,   664,   665,   666,    -1,
7079       -1,    -1,    -1,    -1,    -1,    -1,  1747,    -1,    -1,    -1,
7080       -1,    -1,    -1,    -1,    -1,    -1,    -1,   876,    -1,    -1,
7081       -1,    -1,  1763,    -1,   883,    -1,    -1,    -1,    -1,    -1,
7082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7083       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1788,    -1,    -1,
7084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7085       -1,    -1,  1979,    -1,    -1,    -1,   631,    -1,    -1,    -1,
7086       -1,    -1,    -1,    -1,   742,    -1,    -1,   936,  1995,    -1,
7087       -1,   749,   941,    -1,   752,    -1,    -1,  2004,    -1,  2006,
7088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   957,    -1,
7089      665,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7091       -1,    -1,    -1,    -1,    -1,    -1,  1867,  1868,    -1,  1870,
7092     1871,  1872,  1873,  1874,  1875,  1876,  1877,    -1,    -1,  2056,
7093       -1,    -1,  2059,  2060,    -1,  1004,  2063,    -1,  2065,    -1,
7094       -1,  2068,    -1,    -1,    -1,  2072,    -1,    -1,    -1,    -1,
7095     1901,  1902,  2079,    -1,     1,    -1,     3,     4,     5,     6,
7096     1911,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7097     2097,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2105,    -1,
7098       -1,    28,  1051,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7099       37,  1060,    -1,  1062,    -1,    -1,    -1,    -1,    -1,    -1,
7100       -1,    -1,    -1,    -1,    -1,    -1,  2133,    -1,    -1,    -1,
7101       -1,    -1,  1963,    -1,    -1,    -1,  1967,  1968,    65,    -1,
7102       -1,  2148,    -1,    -1,    71,    72,    73,    74,    75,   907,
7103      908,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
7104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7105        0,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
7106      107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,
7107       -1,   118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,
7108       -1,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
7109      137,   138,   970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7110       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7111       -1,    -1,    -1,  1182,    -1,  1184,    -1,    -1,   996,    -1,
7112      998,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2079,    -1,
7113       -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,
7114       -1,    86,    92,    93,    -1,    -1,  2097,    -1,    -1,    -1,
7115      100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7116       -1,  1039,  1040,    -1,    -1,  1043,  1044,  1045,   118,    -1,
7117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7118       -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,    -1,
7119       -1,   136,   142,    -1,    -1,    -1,    -1,  2148,    -1,    -1,
7120       -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,   158,    -1,
7121       -1,   156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7122       -1,    -1,    -1,    -1,    -1,    -1,  1104,    -1,    -1,  1107,
7123       -1,    -1,  1110,    -1,    -1,    -1,   186,   187,    -1,    -1,
7124       -1,  1119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7125       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7127     1148,   221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7128       -1,    -1,    -1,    -1,  1162,  1163,  1164,  1165,    -1,    -1,
7129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7130       -1,    -1,  1180,  1181,    -1,    -1,    -1,    -1,    -1,    -1,
7131       -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,   268,   269,
7132      270,    -1,     1,    -1,     3,     4,     5,     6,   278,     8,
7133        9,    -1,  1107,    -1,    -1,  1110,    -1,    -1,   288,   289,
7134      290,    -1,    -1,    -1,  1119,    -1,    -1,    -1,    -1,    28,
7135       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,
7136     1429,    -1,    -1,    -1,   314,    -1,    -1,  1436,    -1,    -1,
7137       -1,  1249,    -1,  1148,   324,    -1,    -1,    -1,  1256,    -1,
7138       -1,    -1,  1260,    -1,    -1,    -1,    65,  1162,  1163,  1164,
7139     1165,    -1,    71,    72,    73,  1464,    -1,  1466,    -1,    -1,
7140     1469,    -1,    -1,  1472,    -1,    84,    85,    -1,    -1,    -1,
7141       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
7142       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7143      109,    -1,    -1,    -1,    -1,    -1,   381,    -1,    -1,   118,
7144      119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,    -1,
7145       -1,    -1,    -1,   132,   133,   134,   135,   136,   137,   138,
7146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,
7147       -1,    -1,    -1,    -1,   424,   420,   421,    -1,  1547,    -1,
7148      425,    -1,    -1,    -1,    -1,   435,  1555,    -1,    -1,   434,
7149       -1,     1,   437,    -1,     4,     5,     6,  1566,     8,     9,
7150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7152      470,    -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,    -1,
7153       -1,    -1,   477,    -1,    -1,    -1,    -1,   487,    -1,    -1,
7154       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7155       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7156      510,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7157       -1,    -1,    -1,    -1,    84,    -1,    -1,    -1,    -1,   529,
7158       -1,    -1,    -1,    -1,    -1,  1463,   536,    -1,    98,   539,
7159       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
7161      555,    -1,  1490,  1491,   124,   125,    -1,   127,   128,   129,
7162      565,    -1,   132,   133,    -1,   135,   136,   137,   138,    -1,
7163       -1,  1509,    -1,  1511,    -1,    -1,    -1,    -1,    -1,    -1,
7164      585,    -1,    -1,   588,    -1,   590,    -1,   592,    -1,    -1,
7165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7166       -1,    -1,    -1,    -1,    -1,    -1,  1544,  1545,    -1,    -1,
7167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7168       -1,    -1,  1751,  1752,    -1,  1754,    -1,    -1,   638,    -1,
7169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7170       -1,    -1,    -1,  1581,    -1,    -1,    -1,    -1,  1586,  1587,
7171       -1,    -1,    -1,   663,   664,   665,   666,    -1,  1596,    -1,
7172     1598,  1599,    -1,    -1,  1602,    -1,    -1,    -1,    -1,    -1,
7173       -1,    -1,  1610,    -1,    -1,  1613,    -1,    -1,    -1,  1808,
7174       -1,   691,   692,   693,    -1,    -1,   696,    -1,    -1,    -1,
7175       -1,    -1,   702,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7176      710,    -1,    -1,    -1,    -1,    -1,    -1,   717,   718,   719,
7177       -1,   721,   722,    -1,    -1,    -1,    -1,    -1,   728,    -1,
7178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   739,
7179       -1,    -1,   742,    -1,    -1,    -1,    -1,    -1,    -1,   749,
7180       -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7181       -1,  1586,  1587,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7182       -1,  1596,    -1,  1598,  1599,    -1,    -1,  1602,    -1,    -1,
7183       -1,    -1,    -1,    -1,    -1,  1610,    -1,    -1,  1613,    -1,
7184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7187       -1,    -1,    -1,    -1,    -1,    -1,   270,    -1,    -1,    -1,
7188       -1,    -1,   832,    -1,    -1,  1763,    -1,    -1,    -1,    -1,
7189      835,   836,   837,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7190       -1,  1779,    -1,  1781,    -1,    -1,    -1,    -1,    -1,    -1,
7191       -1,    -1,    -1,   858,   859,   860,    -1,   867,     0,    -1,
7192       -1,    -1,    -1,    -1,    -1,   875,   876,  1805,    -1,  1807,
7193      324,    -1,    -1,   883,    -1,    -1,   886,   887,   888,    -1,
7194      890,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7195       -1,    -1,  1830,  1831,  1832,  1833,    -1,    -1,  1836,    -1,
7196       -1,    -1,  1840,  1841,    -1,  1843,    -1,  1845,    -1,    51,
7197       52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1857,
7198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   933,    -1,
7199       -1,   941,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7200       -1,    83,    84,    -1,    -1,    -1,    88,   957,    -1,    -1,
7201       -1,    93,    -1,   958,    -1,    -1,    -1,    -1,   100,   101,
7202      965,   966,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7203       -1,   976,    -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,
7204       -1,    -1,   436,    -1,    -1,    -1,   996,   997,   998,   131,
7205       -1,    -1,    -1,    -1,  1004,  1830,  1831,  1832,  1833,    -1,
7206       -1,  1836,    -1,    -1,    -1,  1840,  1841,    -1,  1843,    -1,
7207     1845,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7208       -1,    -1,  1857,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7209       -1,    -1,  1970,  1971,  1972,  1973,  1974,    -1,    -1,    -1,
7210      182,    -1,    -1,    -1,    -1,    -1,  1984,  1985,  1986,  1987,
7211       -1,    -1,    -1,   195,    -1,    -1,    -1,  1995,  1063,    -1,
7212       -1,    -1,    -1,  1068,    -1,    -1,  2004,    -1,  2006,  1074,
7213       -1,    -1,    -1,    -1,    -1,  1080,    -1,    -1,    -1,   221,
7214       -1,  1086,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7215       -1,    -1,    -1,    -1,  1104,    -1,    -1,  1107,    -1,    -1,
7216     1110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7217       -1,    -1,    -1,  1123,  2052,  2053,    -1,    -1,    -1,    -1,
7218       -1,  2059,  2060,   265,    -1,  2063,    -1,  2065,    -1,    -1,
7219     2068,    -1,    -1,    -1,  2072,    -1,   278,    -1,  1148,    -1,
7220       -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,   290,    -1,
7221       -1,    -1,  1162,  1163,  1164,  1165,    -1,    -1,    -1,    -1,
7222     1995,    -1,    -1,    -1,    -1,    -1,    -1,  2105,    -1,  2004,
7223       -1,  2006,    -1,    -1,    -1,  1185,    -1,  1187,    -1,    -1,
7224       -1,    -1,   636,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7225       -1,  1201,    -1,    -1,  1204,  2133,    -1,    -1,   652,    -1,
7226     1205,  1206,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   663,
7227      664,   665,   666,    -1,  1224,    -1,    -1,    -1,    -1,    -1,
7228       -1,  1231,    -1,    -1,  2059,  2060,    -1,    -1,  2063,    -1,
7229     2065,    -1,    -1,  2068,    -1,    -1,    -1,  2072,  1248,  1249,
7230       -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,   702,  1259,
7231     1260,   705,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7233     2105,    -1,    -1,    -1,   728,    -1,   418,    -1,    -1,   733,
7234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7235       -1,    -1,    -1,    -1,   436,   327,    -1,    -1,  2133,    -1,
7236       -1,    -1,    -1,    -1,    -1,    -1,   760,    -1,    -1,    -1,
7237       -1,    -1,   344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,
7239       -1,   473,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7240       -1,    -1,    -1,    -1,   798,    -1,    -1,    -1,    -1,    -1,
7241       -1,    -1,   806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
7243       -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7244       -1,    -1,    -1,    -1,   526,   527,   528,    -1,    -1,    -1,
7245       -1,    -1,    -1,    -1,    -1,    -1,  1401,  1402,    -1,    -1,
7246       -1,    -1,   544,   545,    -1,    -1,    -1,    -1,    -1,    -1,
7247       -1,    -1,  1417,    -1,    -1,    -1,  1421,    -1,    -1,    -1,
7248       -1,    -1,    -1,   565,    -1,   567,    -1,    -1,    -1,    -1,
7249       -1,    -1,    -1,    -1,   888,    -1,   578,    -1,    -1,    -1,
7250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7251       -1,    -1,    -1,  1463,    -1,    -1,  1466,    -1,    -1,    -1,
7252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7253       -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,  1484,
7254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7255     1495,  1496,  1497,  1498,    -1,    -1,    -1,    -1,    -1,    -1,
7256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7257        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7258       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7259       21,    22,    23,    24,    25,    26,    27,    28,    -1,    -1,
7260       -1,    -1,    -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,
7261       -1,    -1,    -1,    -1,   696,    -1,  1566,    -1,    -1,    -1,
7262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7263     1580,  1581,    -1,    -1,    65,   717,  1586,  1587,    -1,   721,
7264       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,  1599,
7265       -1,    -1,  1602,    84,    85,    -1,    -1,   739,    -1,    -1,
7266     1610,    -1,    -1,    -1,   636,    -1,    -1,    98,    -1,    -1,
7267       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7268       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
7269      121,   122,   123,   124,   125,   126,   127,    -1,    -1,   130,
7270     1645,   132,   133,    -1,   135,   136,   137,   138,   139,   140,
7271      141,   142,   143,  1107,    -1,    -1,  1110,  1111,  1112,    -1,
7272     1114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1122,    -1,
7273       -1,    -1,    -1,  1678,    -1,  1680,  1130,    -1,  1683,    -1,
7274       -1,    -1,    -1,  1137,    -1,    -1,    -1,    -1,    -1,    -1,
7275       -1,  1701,    -1,    -1,  1148,    -1,    -1,    -1,    -1,    -1,
7276       -1,  1155,    -1,    -1,    -1,    -1,  1160,    -1,  1162,  1163,
7277     1164,  1165,    -1,    -1,    -1,    -1,    -1,    -1,   860,   861,
7278       -1,    -1,    -1,    -1,    -1,   867,   758,    -1,    -1,    -1,
7279       -1,    -1,    -1,   875,   876,    -1,    -1,  1191,    -1,  1193,
7280      772,   883,  1747,    -1,   886,   887,   888,    -1,    -1,    -1,
7281       -1,    -1,  1762,  1763,    -1,    -1,    -1,    -1,    -1,   791,
7282      792,   793,   794,   795,    -1,    -1,   798,   799,    -1,    -1,
7283       -1,  1225,   804,    -1,  1784,   807,    -1,    -1,    -1,    -1,
7284       -1,    -1,    -1,    -1,    -1,   927,    -1,   819,   820,   821,
7285      822,   823,    -1,   935,   826,   827,    -1,    -1,    -1,   941,
7286       92,    -1,    -1,    -1,    -1,   947,    -1,    -1,    -1,    -1,
7287       -1,    -1,    -1,    -1,    -1,   957,  1270,    -1,     1,    -1,
7288        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7289     1840,  1841,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7290       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
7291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7292       -1,    -1,  1004,    -1,    -1,    -1,    -1,    -1,  1322,    -1,
7293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7294       -1,  1335,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7295       73,    -1,    -1,  1903,   186,   187,  1901,    -1,    -1,    -1,
7296       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,  1050,    -1,
7297       -1,    -1,    -1,    -1,    -1,    98,    -1,  1059,    -1,   102,
7298      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   221,
7299       -1,    -1,  1386,    -1,    -1,   118,   119,    -1,    -1,   122,
7300      123,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,   132,
7301      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
7302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
7303     1975,    -1,  1977,   265,    -1,    -1,   268,   269,   270,    -1,
7304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7305       -1,    -1,    -1,    28,    -1,    -1,    -1,   289,    -1,    34,
7306       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7307       45,    46,    47,    48,    49,    50,   308,    -1,    -1,    -1,
7308       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7309       -1,    66,   324,    -1,    -1,    -1,    -1,    -1,    -1,    74,
7310       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
7311       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,  1201,
7312       -1,    -1,  1204,    -1,  1206,   100,    -1,    -1,    -1,    -1,
7313       -1,    -1,  1214,    -1,    -1,   110,   111,   112,   113,   114,
7314      115,    -1,  1224,    -1,   119,    -1,    -1,   122,    -1,  1231,
7315     1122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,
7316       -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1150,    -1,
7318       -1,    -1,    -1,    -1,    -1,  1157,   418,    -1,    -1,    -1,
7319       -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,  1592,    -1,
7320     1594,    -1,    -1,  1597,  1598,    -1,    -1,    -1,    -1,  1603,
7321     1604,    -1,  1606,    52,    -1,    -1,    -1,    -1,    -1,  1191,
7322       -1,  1193,  1616,    -1,  1618,    -1,    -1,    -1,    -1,    -1,
7323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,
7324       -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,
7325       -1,    -1,    91,    -1,    93,    -1,  1650,    -1,    -1,    -1,
7326     1654,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   510,    -1,
7328     1252,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7329       -1,    -1,   131,   132,    -1,    -1,    -1,   529,    -1,    -1,
7330       -1,    -1,    -1,    -1,   536,    -1,    -1,   539,    -1,    -1,
7331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7332       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7333       -1,    -1,  1414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7334       -1,    -1,    -1,    -1,   183,    -1,  1428,    -1,    -1,    -1,
7335       92,    -1,    -1,  1435,    -1,    -1,    -1,    -1,    -1,    -1,
7336       -1,  1443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7338       -1,    -1,  1464,    -1,  1466,    -1,    -1,    -1,    -1,    -1,
7339       -1,   230,    -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,
7340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7342       -1,    -1,    -1,    -1,  1818,    -1,   265,    -1,    -1,    -1,
7343       -1,   663,   664,   665,   666,    -1,    -1,    -1,    -1,   278,
7344       -1,    -1,  1836,  1837,   186,   187,    -1,    -1,    -1,   288,
7345     1844,   290,    -1,    -1,  1848,    -1,  1850,    -1,    -1,   691,
7346      692,   693,    -1,    -1,  1546,  1859,    -1,    -1,    -1,    -1,
7347      702,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   710,   221,
7348       -1,    -1,    -1,    -1,  1566,   717,   718,   719,    -1,   721,
7349      722,    -1,    -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,
7350       -1,    -1,    -1,    -1,    -1,    -1,    -1,   739,    -1,  1903,
7351      742,    -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,
7352      752,    -1,    -1,   265,    -1,    -1,   268,   269,   270,    -1,
7353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7354       -1,    -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,
7355       -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,
7356       -1,    -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,
7357       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7358       -1,    -1,   324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7359     1672,    -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,    -1,
7360      832,    -1,  1996,  1997,    -1,  1999,    -1,  2001,    -1,    -1,
7361     2004,  2005,  2006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7363       -1,    -1,    -1,    -1,    -1,   867,    -1,    -1,    -1,    -1,
7364       -1,    -1,    -1,    -1,   876,    -1,    -1,    -1,    -1,    -1,
7365       -1,   883,    -1,    -1,    -1,    -1,   888,    -1,   890,    -1,
7366       -1,  1743,    -1,    -1,    -1,    -1,    -1,  2061,    -1,    -1,
7367     2064,    -1,    -1,    -1,    -1,    -1,   418,    -1,  2072,    -1,
7368       -1,    -1,    -1,  1765,    -1,    -1,    -1,   526,   527,   528,
7369       -1,   530,    -1,    -1,   533,    -1,    -1,    -1,    -1,    -1,
7370       -1,    -1,  1784,    -1,    -1,   544,   545,   546,    -1,   941,
7371       -1,    -1,    -1,    -1,  2108,    -1,    -1,    -1,    -1,    -1,
7372       -1,    -1,   324,    -1,    -1,   957,   565,    -1,   470,    -1,
7373       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7374       -1,    -1,    -1,    -1,    -1,  1717,    -1,    -1,    -1,    -1,
7375     1722,  1723,  1724,  1725,  1726,  1727,    -1,    -1,    -1,  1731,
7376     1732,  1733,  1734,    -1,   996,   997,   998,    -1,   510,    -1,
7377       -1,    -1,  1004,    -1,   198,    -1,    -1,    -1,    -1,    -1,
7378       -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    -1,
7379       -1,    -1,    -1,    -1,   536,    -1,    -1,   539,    -1,    -1,
7380       -1,  1883,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7381       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7383       -1,    -1,    -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,
7384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7385       -1,   690,    -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,
7386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7387       -1,    -1,  1104,    -1,    -1,  1107,   300,    -1,  1110,    -1,
7388       -1,    -1,    -1,    -1,    -1,   309,    -1,    -1,    -1,    -1,
7389       -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,  1870,  1871,
7390     1872,  1873,  1874,  1875,  1876,  1877,    -1,    -1,    -1,    -1,
7391       -1,    -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,
7392       -1,   663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,
7393     1162,  1163,  1164,  1165,    -1,    -1,    -1,    -1,    -1,    -1,
7394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,
7395      692,   693,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,
7396      702,    -1,   386,    -1,   388,    -1,    -1,    -1,   710,  1201,
7397       -1,    -1,  1204,    -1,    -1,   717,   718,   719,    -1,   721,
7398      722,    -1,    -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,
7399       -1,    -1,  1224,    -1,    -1,    -1,    -1,   739,    -1,  1231,
7400      742,    -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,
7401      752,    -1,    -1,    -1,    -1,    -1,  1248,  1249,    -1,    -1,
7402       -1,    -1,    -1,  1255,  1256,    -1,    -1,  1259,  1260,    -1,
7403       -1,    -1,    -1,    -1,   636,    -1,    -1,    -1,    -1,    -1,
7404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   888,
7405      652,    -1,    -1,    -1,   656,    -1,    -1,    -1,    -1,    -1,
7406       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7408       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   927,    -1,
7409      832,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7410      702,    -1,    -1,   705,    -1,   529,    -1,    -1,   947,    -1,
7411       -1,    -1,    -1,    -1,    -1,    -1,    -1,   719,    -1,    -1,
7412       -1,    -1,    -1,    -1,    -1,   867,   728,    -1,    -1,    -1,
7413       -1,   733,   734,    -1,   876,    -1,    -1,    -1,    -1,    -1,
7414       -1,   883,   566,    -1,    -1,    -1,   888,    -1,   890,    -1,
7415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   760,    -1,
7416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7417       -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,
7418       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7419       -1,    -1,    -1,    -1,    -1,    -1,   798,    -1,    -1,   941,
7420       -1,    28,   626,    -1,   806,    -1,    -1,    -1,    -1,    -1,
7421       -1,  1050,  1051,    -1,    -1,   957,    -1,    -1,    -1,    -1,
7422       -1,    -1,    -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,
7423       -1,  1463,    -1,    -1,  1466,    -1,    -1,    -1,    65,    -1,
7424       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
7425       -1,    -1,    -1,    -1,   996,   997,   998,    84,    85,    -1,
7426       -1,    -1,  1004,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7427       -1,    98,    -1,   697,    -1,   102,   103,   104,   105,   106,
7428      107,   108,   109,    -1,    -1,    -1,   888,    -1,    -1,    -1,
7429       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
7430      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
7431      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,   742,    -1,
7432       -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,   752,    -1,
7433       -1,    -1,    -1,    -1,  1566,    -1,    -1,    -1,    -1,    -1,
7434       -1,    -1,    -1,  1182,    -1,  1184,    -1,    -1,  1580,  1581,
7435       -1,    -1,    -1,    -1,  1586,  1587,     3,    -1,    -1,    -1,
7436       -1,    -1,  1104,    -1,    -1,  1107,    -1,  1599,  1110,    -1,
7437     1602,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,
7438       -1,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,
7439       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7440       47,    48,    49,    50,    -1,    -1,  1148,    -1,    -1,    -1,
7441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
7442     1162,  1163,  1164,  1165,    -1,    -1,    -1,    74,    75,    -1,
7443       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
7444       87,    -1,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,
7445       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,  1201,
7446       -1,    -1,  1204,   110,   111,   112,   113,   114,   115,  1701,
7447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7448       -1,    -1,  1224,    -1,    -1,    -1,    -1,    -1,    -1,  1231,
7449       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7450       -1,    -1,   926,    -1,   928,    -1,  1248,  1249,    -1,  1111,
7451     1112,    -1,  1114,  1255,  1256,    -1,    -1,  1259,  1260,    -1,
7452     1122,    -1,    -1,  1125,    -1,    -1,    -1,    -1,  1130,    -1,
7453     1762,  1763,    -1,    -1,    -1,  1137,  1138,    -1,    -1,    -1,
7454       -1,    -1,     1,   967,     3,     4,     5,     6,    -1,     8,
7455        9,    -1,  1784,  1155,  1156,    -1,    -1,    -1,  1160,    -1,
7456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7457       -1,    -1,   996,    -1,   998,    -1,    -1,    -1,    -1,    -1,
7458       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1191,
7459       -1,  1193,    -1,    52,    53,    54,    55,    56,    57,    58,
7460       59,    60,    61,    62,  1443,    -1,    65,    -1,  1840,  1841,
7461       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
7462       79,    -1,    -1,  1225,    -1,    84,    85,    86,    -1,    88,
7463       89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
7464     1064,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
7465      109,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,
7466      119,    -1,    -1,   122,    -1,   124,   125,    -1,  1270,  1271,
7467      129,  1903,   131,   132,   133,    -1,   135,   136,   137,   138,
7468     1104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7469       -1,  1115,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
7470       -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,  1547,    -1,
7471       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7472     1322,  1463,  1324,    -1,  1466,    -1,    82,    83,    84,    -1,
7473       -1,    -1,    -1,  1335,  1336,    -1,    -1,    -1,    -1,    -1,
7474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7477       -1,    -1,    -1,    -1,    -1,   131,   132,    -1,    -1,    -1,
7478       -1,    -1,    -1,  1207,  1386,    -1,  1388,    -1,    -1,    -1,
7479       -1,    -1,   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7480       -1,    -1,    -1,    -1,    -1,  1229,    -1,    -1,   164,    -1,
7481        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
7482       -1,    -1,    -1,    -1,  1566,  1249,    -1,   183,    -1,    -1,
7483       -1,    -1,  1256,    -1,    -1,    -1,  1260,    28,  1580,  1581,
7484       -1,    -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,    -1,
7485       -1,    -1,    -1,    -1,    -1,    52,    -1,  1599,    -1,    -1,
7486     1602,    -1,    -1,    -1,   220,   221,    -1,    -1,  1610,    -1,
7487       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
7488       71,    72,    73,    -1,    -1,    -1,    83,    84,    -1,    -1,
7489       -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
7490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   265,
7491       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7492       -1,    -1,   278,    -1,    -1,    -1,    -1,   118,   119,    -1,
7493       -1,   122,   288,   124,   131,   132,   127,   128,   129,    -1,
7494       -1,   132,   133,    -1,   135,   136,   137,   138,    -1,    -1,
7495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1701,
7496       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1808,
7497     1572,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7498       -1,    -1,    -1,    -1,    -1,    -1,   183,    -1,    -1,    -1,
7499     1592,  1593,  1594,  1595,    -1,  1597,  1598,    -1,    -1,    -1,
7500       -1,  1603,  1604,    -1,  1606,     1,  1608,     3,     4,     5,
7501        6,    -1,     8,     9,  1616,  1617,  1618,    -1,    -1,    -1,
7502     1762,  1763,    -1,    -1,   221,    -1,    -1,    -1,    -1,    -1,
7503       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,   394,  1463,
7504       -1,    -1,  1784,    -1,   400,    -1,    -1,    -1,  1650,  1473,
7505     1652,    -1,  1654,    -1,  1656,    -1,    -1,    -1,    -1,    -1,
7506       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    65,
7507       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
7508      436,   278,    -1,    -1,    -1,  1509,    -1,  1511,    84,    85,
7509       -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,
7510       -1,    -1,    98,    -1,  1528,    -1,   102,   103,   104,   105,
7511      106,   107,   108,   109,   470,    -1,    -1,    -1,    -1,    -1,
7512       -1,    -1,   118,   119,    -1,    -1,   122,   123,   124,   125,
7513      486,   127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,
7514      136,   137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7515       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1581,    -1,    -1,
7516       -1,  1903,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7517      526,   527,   528,    -1,   530,    -1,    -1,   533,    -1,    -1,
7518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   544,   545,
7519      546,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,
7520       -1,    -1,    -1,   400,    -1,    -1,    -1,   563,    -1,   565,
7521       -1,   567,    -1,    -1,    -1,    -1,  1818,    -1,    -1,    -1,
7522       -1,    -1,    -1,    -1,   580,    -1,    -1,    -1,    -1,    -1,
7523       -1,    -1,    -1,    -1,    -1,  1837,    -1,    -1,    -1,   436,
7524     1842,    -1,  1844,  1845,    -1,  1847,  1848,    -1,  1850,    -1,
7525     1852,    -1,    -1,    -1,    -1,    -1,  1858,  1859,  1682,    -1,
7526     1684,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7527       -1,    -1,    -1,   470,  1698,  1699,    -1,    -1,    -1,    -1,
7528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1723,
7530     1724,  1903,  1726,  1727,    -1,    -1,    -1,  1731,  1732,  1733,
7531     1734,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7532       -1,    -1,    -1,    -1,    -1,    -1,   682,    -1,    -1,   526,
7533      527,   528,    -1,   530,   690,    -1,   533,    -1,    -1,  1763,
7534      696,    -1,    -1,    -1,    -1,    -1,    -1,   544,   545,   546,
7535       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7536       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   565,    -1,
7537      567,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7538       -1,    -1,    -1,   580,    -1,    -1,    -1,    -1,    -1,    -1,
7539       -1,    -1,    -1,    -1,  1996,  1997,    -1,  1999,  2000,  2001,
7540       -1,    -1,    -1,  2005,  2006,    -1,    -1,    -1,    -1,    -1,
7541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,
7544       -1,    -1,    -1,    -1,    -1,    -1,  1870,  1871,  1872,  1873,
7545     1874,  1875,  1876,  1877,    -1,    -1,    -1,    -1,    -1,  2061,
7546     2062,    -1,  2064,  2065,    -1,    -1,    -1,  2069,    -1,    -1,
7547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1902,    -1,
7548       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1911,    -1,   142,
7549       -1,    -1,    -1,   690,    -1,    -1,    -1,    -1,    -1,   696,
7550       -1,   154,    -1,    -1,    92,   158,  2108,    -1,    -1,    -1,
7551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   874,    -1,
7552      876,    -1,    -1,    -1,    -1,    -1,    -1,   883,    -1,    -1,
7553       -1,    -1,   888,   186,   187,    -1,    -1,    -1,    -1,  1963,
7554       -1,    -1,    -1,  1967,  1968,    -1,    -1,    -1,    -1,    -1,
7555       -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,    -1,    -1,
7556       -1,    -1,    -1,    -1,    -1,    -1,   154,    -1,   221,    -1,
7557      158,   927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7558      936,    -1,    -1,    -1,    -1,   941,    -1,    -1,    -1,    -1,
7559       -1,   947,    -1,    -1,    -1,    -1,    -1,    -1,   186,   187,
7560       -1,   957,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7561       -1,    -1,   265,    -1,    -1,   268,   269,   270,    -1,    -1,
7562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7563       -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,
7564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1004,    -1,
7565       -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,
7566       -1,   314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7567       -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,   876,
7568      268,   269,   270,    -1,    -1,    -1,   883,    -1,    -1,    -1,
7569       -1,   888,    -1,    -1,  1050,  1051,    -1,    -1,    -1,    -1,
7570       -1,   289,    -1,    -1,  1060,    -1,  1062,    -1,    -1,    -1,
7571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7572      308,    -1,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,
7573      927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   936,
7574       -1,    -1,    -1,    -1,   941,    -1,    -1,    -1,    -1,    -1,
7575      947,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7576      957,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,    -1,
7577       -1,   424,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7578       -1,    -1,   435,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7580       -1,    -1,    -1,    -1,    -1,    -1,    92,  1004,    -1,    -1,
7581       -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,    -1,
7582       -1,    -1,    -1,    -1,    -1,    -1,  1182,    -1,  1184,    -1,
7583       -1,    -1,    -1,    -1,   487,    -1,   424,    -1,    -1,    -1,
7584       -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,    -1,    -1,
7585       -1,    -1,    -1,  1050,  1051,    -1,   142,   510,    -1,    -1,
7586       -1,    -1,    -1,  1060,    -1,  1062,    -1,    -1,   154,    -1,
7587       -1,    -1,   158,    -1,    -1,    -1,   529,    -1,    -1,    -1,
7588       -1,     3,    -1,   536,    -1,    -1,   539,    -1,    -1,    -1,
7589       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   487,
7590      186,   187,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7591       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7592       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7593       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7594       -1,   529,    -1,    -1,    66,    -1,    68,    -1,   536,    -1,
7595       -1,   539,    74,    75,    -1,    -1,    78,    79,    -1,    -1,
7596       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
7597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   265,
7598       -1,    -1,   268,   269,   270,  1182,    -1,  1184,   110,   111,
7599      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
7600      122,    -1,   124,   289,    -1,    -1,    -1,    -1,    -1,   131,
7601      663,   664,   665,   666,    -1,    -1,    -1,    -1,    -1,    -1,
7602       -1,    -1,   308,    -1,    -1,    -1,    -1,    -1,   314,    -1,
7603       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,   692,
7604      693,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7605       -1,    -1,    -1,    -1,    -1,    -1,    -1,   710,    -1,    -1,
7606       -1,    -1,    -1,    -1,   717,   718,    -1,    -1,   721,   722,
7607       -1,    -1,    -1,  1429,    -1,   663,   664,   665,   666,    -1,
7608     1436,    -1,    -1,    -1,    -1,    -1,    -1,  1443,    -1,   742,
7609       -1,    -1,    -1,    -1,    -1,    -1,   749,    -1,    -1,   752,
7610       -1,    -1,    -1,   691,   692,   693,    -1,    -1,  1464,    -1,
7611     1466,    -1,    -1,  1469,    -1,    -1,  1472,    -1,    -1,    -1,
7612       -1,    -1,   710,    -1,    -1,    -1,    -1,    -1,    -1,   717,
7613      718,    -1,    -1,   721,   722,    -1,    -1,    -1,   424,    -1,
7614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,
7615       -1,    -1,    -1,    -1,   742,    -1,    -1,    -1,    -1,    -1,
7616       -1,   749,    -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,
7617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   832,
7618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7619       -1,  1547,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1555,
7620       -1,   487,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7621     1566,    -1,    -1,    -1,   867,    -1,    -1,    -1,    -1,    -1,
7622       -1,    -1,   875,   876,    -1,    -1,    -1,    -1,    -1,    -1,
7623      883,    -1,  1429,   886,    -1,    -1,    -1,   890,    -1,  1436,
7624       -1,    -1,    -1,   529,    -1,    -1,  1443,    -1,    -1,    -1,
7625      536,    -1,    -1,   539,    -1,    -1,    -1,    -1,    -1,    -1,
7626       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1464,    -1,  1466,
7627       -1,    -1,  1469,    -1,    -1,  1472,    -1,    -1,    -1,    -1,
7628       -1,    -1,    -1,    -1,    -1,    -1,    -1,   875,   941,    -1,
7629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   886,    -1,
7630       -1,    -1,    -1,    -1,   957,    -1,    -1,    -1,    -1,    -1,
7631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7633       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7634       -1,    -1,    -1,   996,   997,   998,    -1,    -1,    -1,    -1,
7635     1547,  1004,    -1,    -1,    -1,    -1,    -1,    -1,  1555,    -1,
7636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1566,
7637       -1,    -1,    -1,    -1,    -1,    -1,    -1,   663,   664,   665,
7638      666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7639       -1,    -1,    -1,    -1,    -1,  1751,  1752,    -1,  1754,    -1,
7640       -1,    -1,    -1,    -1,    -1,   691,   692,   693,   996,   997,
7641      998,    -1,    -1,    -1,    -1,    -1,  1004,    -1,    -1,    -1,
7642       -1,    -1,    -1,    -1,   710,    -1,    -1,    -1,    -1,    -1,
7643       -1,   717,   718,    -1,    -1,   721,   722,    -1,    -1,    -1,
7644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7645       -1,  1104,  1808,    -1,  1107,    -1,   742,  1110,    -1,    -1,
7646       -1,    -1,    -1,   749,    -1,    -1,   752,    -1,    -1,    -1,
7647       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7648       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7649       -1,    -1,    -1,    -1,    -1,  1148,    -1,    -1,    -1,    -1,
7650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1162,
7651     1163,  1164,  1165,    -1,    -1,    -1,  1104,    -1,    -1,  1107,
7652       -1,     1,  1110,     3,     4,     5,     6,    -1,     8,     9,
7653       -1,    -1,  1185,    -1,  1187,    -1,    -1,    -1,    -1,    -1,
7654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7655       -1,  1204,    -1,    -1,  1751,  1752,    -1,  1754,    -1,    -1,
7656     1148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7657       -1,  1224,    -1,    -1,  1162,  1163,  1164,  1165,  1231,    -1,
7658       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,   875,
7659       -1,    71,    72,    73,    -1,  1248,  1249,  1185,    -1,  1187,
7660      886,    -1,  1255,  1256,    84,    85,  1259,  1260,    -1,    -1,
7661       -1,  1808,    -1,    -1,    -1,    -1,  1204,    -1,    98,    -1,
7662       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7663       -1,    -1,    -1,    -1,    -1,    -1,  1224,    -1,   118,   119,
7664       -1,    -1,   122,  1231,   124,    -1,    -1,    -1,    -1,   129,
7665       -1,    -1,   132,   133,   134,   135,   136,   137,   138,    -1,
7666     1248,  1249,    -1,    -1,    -1,    -1,    -1,  1255,  1256,    -1,
7667       -1,  1259,  1260,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7669       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7671      996,   997,   998,    -1,    -1,    -1,     1,    -1,  1004,    -1,
7672       -1,    -1,     7,     8,     9,    10,    11,    12,    13,    14,
7673       15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7674       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
7675       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7676       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
7677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7678       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
7679       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
7680       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7681     1463,    -1,    -1,  1466,    -1,   100,    -1,    -1,  1104,    -1,
7682       -1,  1107,    -1,    -1,  1110,   110,   111,   112,   113,   114,
7683      115,   116,   117,    -1,   119,   120,   121,   122,    -1,    -1,
7684      125,   126,   127,   128,    -1,   130,    -1,    -1,   133,    -1,
7685      135,   136,   137,    -1,   139,   140,   141,   142,   143,    -1,
7686       -1,    -1,  1148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7687       -1,    -1,    -1,    -1,    -1,  1463,  1162,  1163,  1164,  1165,
7688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1185,
7690       -1,  1187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7691       -1,    -1,    -1,  1566,    -1,    -1,    -1,    -1,  1204,    -1,
7692       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1580,  1581,    -1,
7693       -1,    -1,    -1,  1586,  1587,    -1,    -1,    -1,  1224,    -1,
7694       -1,    -1,    -1,    -1,    -1,  1231,  1599,    -1,    -1,  1602,
7695       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1610,    -1,    -1,
7696       -1,    -1,  1248,  1249,    -1,    -1,    -1,    -1,    -1,  1255,
7697     1256,    -1,    -1,  1259,  1260,    -1,    -1,    -1,    -1,    -1,
7698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7699       -1,    -1,  1580,  1581,    -1,    -1,    -1,    -1,  1586,  1587,
7700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7701       -1,  1599,    -1,    -1,  1602,    -1,    -1,    -1,    -1,    -1,
7702       -1,     1,  1610,     3,     4,     5,     6,     7,     8,     9,
7703       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7704       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
7705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7708       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7709       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7710       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,  1762,
7711     1763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
7712       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7713       -1,  1784,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
7714      120,   121,   122,   123,   124,    -1,   126,   127,    -1,    -1,
7715      130,    -1,   132,   133,    -1,   135,   136,   137,   138,   139,
7716      140,   141,   142,   143,     1,    -1,     3,    -1,    -1,    -1,
7717       -1,    -1,    -1,    -1,  1762,  1763,    -1,  1463,    -1,    -1,
7718       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1840,  1841,    -1,
7719       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7720       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7721       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
7722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
7723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
7724       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
7725       87,    -1,  1840,  1841,    -1,    -1,    -1,    -1,    -1,    -1,
7726       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
7727       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
7728      117,    -1,   119,    -1,    -1,   122,   123,    -1,    -1,    -1,
7729       -1,    -1,    -1,    -1,  1580,  1581,   133,    -1,    -1,    -1,
7730     1586,  1587,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7731       -1,    -1,    -1,  1599,    -1,    -1,  1602,    -1,    -1,    -1,
7732       -1,    -1,     0,     1,  1610,     3,     4,     5,     6,     7,
7733        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7734       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7735       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7736       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7737       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7738       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7739       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7740       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7741       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7742       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7743      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7744      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7745      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7746      138,   139,   140,   141,   142,   143,    -1,    -1,    -1,    -1,
7747       -1,    -1,    -1,    -1,    -1,    -1,  1762,  1763,     0,     1,
7748       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7749       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7750       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7751       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7752       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7753       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7754       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7755       72,    73,    74,    75,  1840,  1841,    78,    79,    80,    81,
7756       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7757       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7758      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7759      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7760      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7761      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7762      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7763        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7764       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7765       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7766       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7767       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7768       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7769       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7770       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7771       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7772       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7773      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7774      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7775      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7776      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7777        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7778       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7779       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7780       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7781       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7782       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7783       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7784       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7785       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7786       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7787      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7788      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7789      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7790      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7791        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7792       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7793       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7794       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7795       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7796       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7797       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7798       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7799       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7800       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7801      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7802      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7803      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7804      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7805      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7806        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7807       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7808       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7809       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7810       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7811       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7812       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7813       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7814       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7815       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7816      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7817      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7818      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7819      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7820       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7821       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7822       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7823       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7824       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7825       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7826       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7827       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7828       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7829       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7830      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7831      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7832      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7833      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7834      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7835        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7836       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7837       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7838       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7839       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7840       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7841       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7842       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7843       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7844       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7845      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7846      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7847      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7848      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7849        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7850       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7851       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7852       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7853       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7854       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7855       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7856       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7857       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7858       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7859      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7860      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7861      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7862      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7863        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7864       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7865       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7866       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7867       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7868       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7869       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7870       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7871       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7872       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7873      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7874      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7875      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7876      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7877      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7878        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7879       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7880       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7881       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7882       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7883       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7884       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7885       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7886       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7887       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7888      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7889      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7890      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7891      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7892       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7893       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7894       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7895       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7896       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7897       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7898       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7899       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7900       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7901       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7902      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7903      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7904      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7905      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7906      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7907        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7908       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7909       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7910       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7911       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7912       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7913       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7914       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7915       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7916       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7917      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7918      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7919      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7920      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7921        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7922       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7923       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7924       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7925       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7926       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7927       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7928       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7929       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7930       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7931      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7932      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7933      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7934      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
7935        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7936       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7937       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7938       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7939       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7940       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7941       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7942       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7943       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7944       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7945      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7946      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7947      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7948      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7949      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
7950        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7951       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7952       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7953       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7954       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7955       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7956       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7957       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7958       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7959       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7960      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7961      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7962      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7963      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
7964       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7965       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7966       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7967       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7968       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7969       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7970       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7971       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7972       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7973       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7974      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7975      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7976      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7977      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7978      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
7979        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7980       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7981       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7982       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7983       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7984       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7985       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7986       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7987       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7988       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7989      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7990      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7991      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7992      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
7993        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7994       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7995       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7996       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7997       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7998       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7999       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8000       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8001       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8002       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8003      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8004      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
8005      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
8006      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
8007        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
8008       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
8009       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
8010       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8011       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8012       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8013       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8014       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8015       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8016       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8017      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8018      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8019      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
8020      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
8021      140,   141,   142,   143,     0,     1,    -1,     3,     4,     5,
8022        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
8023       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
8024       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
8025       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8026       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8027       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8028       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8029       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8030       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8031       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8032      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8033      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
8034      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
8035      136,   137,   138,   139,   140,   141,   142,   143,     0,     1,
8036       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
8037       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
8038       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
8039       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8040       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8041       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8042       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8043       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8044       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8045       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8046      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8047      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
8048      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
8049      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
8050      142,   143,     0,     1,    -1,     3,     4,     5,     6,     7,
8051        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
8052       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
8053       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8054       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8055       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8056       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8057       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8058       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8059       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8060       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8061      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8062      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
8063      128,   129,   130,   131,   132,   133,    -1,   135,   136,   137,
8064      138,   139,   140,   141,   142,   143,     0,     1,    -1,     3,
8065        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8066       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8067       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8068       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8069       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8070       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8071       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8072       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8073       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8074       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8075      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8076      114,   115,   116,   117,   118,   119,    -1,    -1,   122,   123,
8077      124,   125,    -1,   127,   128,   129,   130,   131,   132,   133,
8078       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8079        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8081       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8082       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8083       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8084       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8085       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8086       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8087       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8088       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8089      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8090      115,   116,   117,   118,   119,    -1,    -1,   122,   123,   124,
8091      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8092      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8093        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8095       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8096       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8097       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8098       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8099       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8100       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8101       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8102       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8103      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8104      116,   117,   118,   119,    -1,    -1,   122,   123,   124,   125,
8105       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8106      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8107       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8109       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8110       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8111       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8112       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8113       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8114       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8115       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8116       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8117      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8118      117,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8119      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8120      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8121        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8123       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8124       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8125       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8126       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8127       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8128       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8129       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8130       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8131      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8132      118,   119,    -1,    -1,   122,   123,   124,   125,    -1,   127,
8133      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8134      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8135        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8137       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8138       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8139       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8140       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8141       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8142       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8143       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8144       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8145      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8146      119,    -1,    -1,   122,   123,   124,   125,    -1,   127,   128,
8147      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8148        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8151       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8152       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8153       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8154       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8155       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8156       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8157       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8158      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8159      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8160       -1,    -1,   122,   123,   124,   125,    -1,   127,   128,   129,
8161       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8162        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8165       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8166       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8167       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8168       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8169       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8170       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8171       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8172       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8173      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8174       -1,   122,   123,   124,   125,    -1,   127,   128,   129,    -1,
8175      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8176       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8178       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8179       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8180       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8181       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8182       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8183       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8184       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8185       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8186      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8187      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8188      122,   123,   124,   125,    -1,   127,   128,   129,    -1,   131,
8189      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8190        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8191       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8192       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8193       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8194       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8195       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8196       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8197       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8198       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8199       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8200      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8201      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8202       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8203      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8204        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8206       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8207       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8208       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8209       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8210       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8211       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8212       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8213       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8214      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8215      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8216      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8217       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8218        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8220       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8221       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8222       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8223       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8224       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8225       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8226       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8227       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8228      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8229      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8230      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8231      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8232        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8234       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8235       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8236       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8237       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8238       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8239       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8240       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8241       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8242      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8243      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8244       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8245      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8246       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8248       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8249       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8250       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8251       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8252       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8253       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8254       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8255       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8256      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8257      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8258      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8259      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8260        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8262       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8263       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8264       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8265       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8266       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8267       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8268       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8269       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8270      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8271      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8272      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8273      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8274        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8276       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8277       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8278       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8279       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8280       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8281       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8282       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8283       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8284      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8285      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8286      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8287        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8290       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8291       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8292       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8293       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8294       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8295       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8296       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8297      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8298      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8299       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8300       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8301        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8304       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8305       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8306       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8307       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8308       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8309       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8310       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8311       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8312      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8313       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8314      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8315       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8316       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8317       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8318       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8319       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8320       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8321       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8322       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8323       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8324       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8325      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8326      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8327      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,   131,
8328      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8329        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8331       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8332       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8333       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8334       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8335       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8336       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8337       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8338       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8339      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8340      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8341       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8342      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8343        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8344       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8345       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8346       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8347       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8348       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8349       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8350       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8351       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8352       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8353      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8354      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8355      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8356       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8357        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8359       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8360       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8361       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8362       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8363       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8364       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8365       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8366       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8367      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8368      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8369      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8370      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8371        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8372       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8373       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8374       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8375       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8376       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8377       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8378       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8379       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8380       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8381      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8382      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8383       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8384      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8385       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8387       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8388       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8389       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8390       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8391       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8392       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8393       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8394       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8395      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8396      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8397      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8398      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8399        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8401       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8402       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8403       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8404       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8405       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8406       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8407       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8408       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8409      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8410      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8411      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8412      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8413        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8415       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8416       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8417       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8418       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8419       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8420       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8421       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8422       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8423      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8424      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8425      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8426        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8429       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8430       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8431       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8432       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8433       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8434       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8435       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8436      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8437      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8438       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8439       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8440        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8443       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8444       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8445       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8446       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8447       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8448       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8449       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8450       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8451      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8452       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8453      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8454       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8456       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8457       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8458       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8459       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8460       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8461       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8462       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8463       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8464      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8465      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8466      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,   131,
8467      132,   133,    -1,   135,   136,   137,   138,     0,     1,    -1,
8468        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8470       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8471       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8472       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
8473       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8474       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
8475       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
8476       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
8477       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
8478      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8479      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
8480       -1,   124,   125,    -1,   127,   128,   129,    -1,   131,   132,
8481      133,    -1,   135,   136,   137,   138,     0,     1,    -1,     3,
8482        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8484       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8485       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8486       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8487       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8488       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8489       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8490       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8491       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8492      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8493      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8494      124,   125,    -1,   127,   128,   129,    -1,   131,   132,   133,
8495       -1,   135,   136,   137,   138,     0,     1,    -1,     3,     4,
8496        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8497       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8498       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8499       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8500       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
8501       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8502       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
8503       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
8504       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8505       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
8506      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8507      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
8508      125,    -1,   127,   128,   129,    -1,   131,   132,   133,    -1,
8509      135,   136,   137,   138,     0,     1,    -1,     3,     4,     5,
8510        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8511       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8512       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8513       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8514       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8515       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8516       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8517       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8518       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8519       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8520      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8521      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8522       -1,   127,   128,   129,    -1,   131,   132,   133,    -1,   135,
8523      136,   137,   138,     0,     1,    -1,     3,     4,     5,     6,
8524       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8526       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8527       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8528       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
8529       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
8530       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8531       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
8532       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
8533       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
8534      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8535      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
8536      127,   128,   129,    -1,   131,   132,   133,    -1,   135,   136,
8537      137,   138,     0,     1,    -1,     3,     4,     5,     6,    -1,
8538        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8540       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8541       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8542       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8543       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8544       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8545       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8546       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8547       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8548      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8549      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8550      128,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8551      138,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
8552        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8553       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8554       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8555       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8556       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8557       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
8558       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
8559       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
8560       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
8561       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8562      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8563      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,
8564      129,    -1,   131,   132,   133,    -1,   135,   136,   137,   138,
8565        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8568       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8569       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8570       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8571       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8572       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8573       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8574       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8575      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8576      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8577       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8578       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     0,
8579        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8582       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8583       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8584       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8585       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
8586       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
8587       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
8588       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
8589       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8590      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
8591       -1,   122,    -1,   124,   125,    -1,   127,   128,   129,    -1,
8592      131,   132,   133,    -1,   135,   136,   137,   138,     0,     1,
8593       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8595       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8596       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8597       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8598       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8599       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8600       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8601       82,    83,    84,    85,    86,    87,    88,    -1,    -1,    91,
8602       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8603      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8604      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8605      122,   123,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8606      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8607        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8608       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8609       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8610       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8611       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8612       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8613       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8614       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8615       84,    85,    86,    87,    88,    89,    90,    -1,    -1,    -1,
8616       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8617      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8618      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8619      124,   125,    -1,    -1,    -1,   129,    -1,   131,   132,   133,
8620       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8621        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8623       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8624       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8625       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8626       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8627       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8628       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8629       86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
8630       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8631      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8632      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8633       -1,    -1,    -1,   129,    -1,   131,   132,   133,    -1,   135,
8634      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8635        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8637       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8638       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8639       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8640       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8641       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8642       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8644       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8645      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8646      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8647      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8648      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8651       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8652       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8653       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8654       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8655       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8656       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8658      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8659      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8660       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8661       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8662       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8664       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8665       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8666       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8668       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8669       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8670       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8671       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8672      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8673      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8674      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8675      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8676        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8678       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8679       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8680       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8681       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8682       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8683       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8684       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8685       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8686      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8687      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8688      124,   125,    -1,   127,   128,   129,    -1,    -1,   132,   133,
8689       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8690        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8691       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8692       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8693       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8694       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8696       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8697       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8698       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8699       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8700      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8701      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8702       -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,   135,
8703      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8704        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8706       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8707       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8708       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8710       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8711       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8713       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8714      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8715      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8716      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8717      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8720       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8721       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8722       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8723       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8724       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8725       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8727      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8728      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8729       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8730       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8731       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8733       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8734       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8735       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8737       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8738       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8739       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8740       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8741      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8742      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8743      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8744      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8745        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8747       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8748       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8749       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8751       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8752       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8753       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8754       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8755      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8756      114,   115,   116,   117,   118,   119,    -1,    -1,   122,    -1,
8757      124,   125,    -1,   127,   128,   129,    -1,    -1,   132,   133,
8758       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8759        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8761       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8762       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8763       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8765       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8766       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8767       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8768       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8769      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8770      116,   117,   118,   119,    -1,    -1,   122,    -1,   124,   125,
8771       -1,   127,   128,   129,    -1,    -1,   132,   133,    -1,   135,
8772      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8773        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8775       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8776       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8777       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8779       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8780       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8782       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8783      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8784      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
8785      128,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
8786      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8789       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8790       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8791       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8792       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8793       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8794       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8796      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8797      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
8798       -1,    -1,   122,    -1,   124,   125,    -1,   127,   128,   129,
8799       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8800       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8802       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8803       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8804       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8805       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8806       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8807       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8808       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8809       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8810      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8811      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8812      122,    -1,   124,   125,    -1,   127,   128,   129,    -1,    -1,
8813      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8814        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8816       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8817       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8818       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8820       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8821       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8822       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8823       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8824      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8825      114,   115,   116,   117,   118,   119,    -1,    -1,   122,     1,
8826      124,     3,     4,     5,     6,    -1,     8,     9,   132,   133,
8827       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
8828       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8829       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8830       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8832       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8833       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8834       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8835       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8836      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8837      112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
8838      122,     1,   124,     3,     4,     5,     6,    -1,     8,     9,
8839      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8841       -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
8842       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8843       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8844       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8845       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8846       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
8847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8848      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8849      110,   111,   112,   113,   114,   115,    -1,    -1,   118,   119,
8850       -1,    -1,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,
8851       -1,    -1,   132,   133,    -1,   135,   136,   137,   138,     1,
8852       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8854       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8855       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8856       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8858       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8859       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8860       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8861       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8862      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8863      112,   113,   114,   115,    -1,    -1,   118,   119,    -1,    -1,
8864      122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8865      132,   133,    -1,   135,   136,   137,   138,     1,    -1,     3,
8866        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8868       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8869       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8870       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8871       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8872       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8873       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8874       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8875       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8876      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8877      114,   115,    -1,    -1,   118,   119,    -1,    -1,   122,     1,
8878      124,     3,     4,     5,     6,   129,     8,     9,   132,   133,
8879       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
8880       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8881       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8882       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8884       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8885       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8886       82,    83,    84,    85,    86,    87,    -1,     1,    -1,     3,
8887        4,     5,     6,    -1,     8,     9,    98,    -1,   100,    -1,
8888      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8889      112,   113,   114,   115,    28,    -1,   118,   119,    -1,    -1,
8890      122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8891      132,   133,    -1,   135,   136,   137,   138,    -1,    52,    53,
8892       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8893       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8894       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8895       84,    85,    86,    -1,    88,    89,    90,    -1,    -1,    -1,
8896       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
8897      104,   105,   106,   107,   108,   109,   110,   111,    -1,    -1,
8898       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
8899      124,   125,    -1,   127,    -1,   129,    -1,   131,   132,   133,
8900       -1,   135,   136,   137,   138,     1,    -1,     3,     4,     5,
8901        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8903       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8905       -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,    55,
8906       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8907       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
8908       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8909       86,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
8910       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
8911      106,   107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,
8912       -1,    -1,   118,   119,    -1,    -1,   122,   123,   124,   125,
8913       -1,   127,    -1,   129,    -1,   131,   132,   133,    -1,   135,
8914      136,   137,   138,     1,    -1,     3,     4,     5,     6,    -1,
8915        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8917       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8919       -1,    -1,    -1,    -1,    52,    53,    54,    55,    56,    57,
8920       58,    59,    60,    61,    62,    -1,    -1,    65,    -1,    -1,
8921       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
8922       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,
8923       88,    89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8924       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
8925      108,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,
8926      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,    -1,
8927       -1,   129,    -1,   131,   132,   133,    -1,   135,   136,   137,
8928      138,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
8931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8933       -1,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8934       60,    61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8935       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
8936       -1,    -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,
8937       90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8938       -1,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8939      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
8940       -1,    -1,   122,    -1,   124,   125,    -1,    -1,    -1,   129,
8941       -1,   131,   132,   133,    -1,   135,   136,   137,   138,     1,
8942       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8944       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8947       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8948       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8949       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8950       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8951       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8952      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8953       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8954      122,   123,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,
8955      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8957       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8959       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8960       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8961      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8962       -1,   118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,
8963      127,    -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,
8964      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8965       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8966       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8967       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8968       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8969      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8970       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8971      122,   123,   124,   125,    -1,   127,    -1,    -1,    -1,    -1,
8972      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8974       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8975       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8976       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8977       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8978      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8979       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8980      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
8981      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8982       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8983       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8984       -1,    -1,    84,    85,     1,    -1,     3,     4,     5,     6,
8985       -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8986      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8987       -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
8988      122,   123,   124,   125,    -1,   127,    -1,    -1,    -1,    -1,
8989      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
8990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8991       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,
8993       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8994       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8995      107,   108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8996       -1,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
8997      127,    -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,
8998      137,   138,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
8999        4,     5,     6,    65,     8,     9,    -1,    -1,    -1,    71,
9000       72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9001       -1,    -1,    84,    85,    28,    -1,    -1,    -1,    -1,    -1,
9002       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
9003      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9004       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
9005      122,    65,   124,   125,    -1,   127,    -1,    71,    72,    73,
9006      132,   133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,
9007       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9008        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9009      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9010       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
9011      124,    -1,    -1,    -1,    -1,   129,    -1,    -1,   132,   133,
9012       -1,   135,   136,   137,   138,    -1,    -1,     1,    -1,     3,
9013        4,     5,     6,    -1,     8,     9,    65,    -1,    -1,    -1,
9014       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9015       -1,    -1,    -1,    -1,    28,    84,    85,    -1,    -1,    -1,
9016       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9017       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9018      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9019      119,    65,    -1,   122,   123,   124,    -1,    71,    72,    73,
9020      129,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9021       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9022        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9023      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9024       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,    -1,
9025      124,   125,    -1,    -1,    -1,   129,    -1,    -1,   132,   133,
9026       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
9027       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
9028       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9029       -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,     3,
9030        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    98,
9031       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9032      109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,   118,
9033      119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,    -1,
9034       -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9035       -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,     8,
9036        9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9038       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9039       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9040      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9041       -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,   123,
9042      124,   125,    71,    72,    73,    -1,    -1,    -1,   132,   133,
9043       -1,   135,   136,   137,   138,    84,    85,     1,    -1,     3,
9044        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    98,
9045       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9046      109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,   118,
9047      119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,    -1,
9048       -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,   138,
9049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9050       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9052       84,    85,     1,    -1,     3,     4,     5,     6,    -1,     8,
9053        9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
9054      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    28,
9055       -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,   123,
9056      124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,   133,
9057       -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
9058        1,    -1,     3,     4,     5,     6,    65,     8,     9,    -1,
9059       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
9060       -1,    -1,    -1,    -1,    -1,    84,    85,    28,    -1,    -1,
9061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9062       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
9063      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9064      119,    -1,    -1,   122,    65,   124,    -1,    -1,   127,    -1,
9065       71,    72,    73,   132,   133,   134,   135,   136,   137,   138,
9066       -1,    -1,    -1,    84,    85,     1,    -1,     3,     4,     5,
9067        6,    -1,     8,     9,    -1,    -1,    -1,    98,    -1,    -1,
9068       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9069       -1,    -1,    28,    -1,    -1,    -1,    -1,   118,   119,    -1,
9070       -1,   122,    -1,   124,    -1,    -1,   127,    -1,    -1,    -1,
9071      131,   132,   133,    -1,   135,   136,   137,   138,    -1,    -1,
9072       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    65,
9073        8,     9,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
9074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
9075       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9076       -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,
9077      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9078       -1,    -1,   118,   119,    -1,    -1,   122,    65,   124,    -1,
9079       -1,   127,    -1,    71,    72,    73,   132,   133,   134,   135,
9080      136,   137,   138,    -1,    -1,    -1,    84,    85,     1,    -1,
9081        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9082       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9083      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9084      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,   127,
9085       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9086      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9087       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9088       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9089       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9090        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9091      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9092       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9093      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9094      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9096       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9097       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9098        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9099       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9100      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9101      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9102       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9103      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9104       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9105       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9106       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9107        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9108      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9109       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9110      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9111      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9112       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9113       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9114       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9115        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9116       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9117      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9118      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9119       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9120      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9121        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9122       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9123       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9124       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9125      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9126       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9127      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9128      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9129        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9130       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9131      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9132      118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
9133       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9134      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9135        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9136       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9137       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9138       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9139      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9140       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9141      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9142      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9143        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9144       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9145      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9146      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,   127,
9147       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9148      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9149       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9150       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9151       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9152        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9153      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9154       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9155       -1,   124,    -1,    -1,   127,    -1,    -1,    -1,   131,   132,
9156      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9158       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9159       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9160        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9161       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9162      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9163      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9164       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9165      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9166       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9167       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9168       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9169        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9170      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9171       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9172      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9173      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9175       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9176       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9177        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9178       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9179      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9180      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9181       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9182      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9183        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9184       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9185       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9186       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9187      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9188       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9189      123,   124,   125,    71,    72,    73,    -1,    -1,    -1,   132,
9190      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9191        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9192       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9193      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9194      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9195       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9196      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9197       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9198       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9199       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9200        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9201      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9202       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9203       -1,   124,    -1,    -1,    -1,   128,   129,    -1,    -1,   132,
9204      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9206       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9207       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9208        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9209       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9210      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9211      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9212       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9213      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9214       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9215       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9216       -1,    84,    85,     1,    -1,     3,     4,     5,     6,    -1,
9217        8,     9,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9218      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9219       28,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,   122,
9220      123,   124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   132,
9221      133,    -1,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
9222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
9223       -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
9224       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,     1,    -1,
9225        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9226       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9227      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9228      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,   127,
9229       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9230      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9231        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9232       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9233       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9234       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9235      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9236       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9237       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9238      133,   134,   135,   136,   137,   138,    84,    85,     1,    -1,
9239        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9240       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9241      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9242      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9243       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9244      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9245        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9246       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9247       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9248       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9249      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9250       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9251       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9252      133,   134,   135,   136,   137,   138,    84,    85,     1,    -1,
9253        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9254       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9255      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9256      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9257       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9258      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9259        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9260       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9261       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9262       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9263      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9264       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9265       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9266      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9267        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9268       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9269      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9270      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9271       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9272      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9273        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9274       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9275       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9276       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9277      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9278       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9279       -1,   124,    -1,    71,    72,    73,    -1,    -1,   131,   132,
9280      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9281        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9282       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9283      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9284      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
9285       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9286      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9287        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9288       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9289       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9290       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9291      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9292       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9293       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9294      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9295        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9296       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9297      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9298      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9299       -1,    -1,    -1,    -1,   132,   133,   134,   135,   136,   137,
9300      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9301        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9302       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9303       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9304       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9305      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9306       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9307      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9308      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9309        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9310       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9311      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9312      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9313       -1,    -1,    -1,   131,   132,   133,    -1,   135,   136,   137,
9314      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9315        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9316       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9317       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9318       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9319      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9320       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9321       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9322      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9323        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9324       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9325      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9326      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9327       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9328      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9329        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9330       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9331       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9332       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9333      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9334       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9335       -1,   124,    -1,    71,    72,    73,   129,    -1,    -1,   132,
9336      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9337        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9338       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9339      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9340      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9341       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9342      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9343        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9344       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9345       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9346       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9347      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9348       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9349      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9350      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9351        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9352       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9353      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9354      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9355       -1,   129,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9356      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9357        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9358       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9359       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9360       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9361      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9362       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9363      123,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9364      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9365        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9366       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9367      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9368      118,   119,    -1,    -1,   122,   123,   124,    -1,    -1,    -1,
9369       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9370      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9371        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9372       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9373       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9374       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9375      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9376       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9377       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9378      133,    -1,   135,   136,   137,   138,    84,    85,     1,    -1,
9379        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
9380       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9381      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
9382      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9383       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9384      138,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
9385        8,     9,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9386       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9387       28,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9388       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
9389      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9390       -1,    -1,    -1,    -1,    -1,   118,   119,    65,    -1,   122,
9391       -1,   124,    -1,    71,    72,    73,    -1,    -1,    -1,   132,
9392      133,    -1,   135,   136,   137,   138,    84,    85,    -1,    -1,
9393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9394       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
9395      108,   109,    -1,     0,     1,    -1,     3,     4,     5,    -1,
9396      118,   119,    -1,    -1,   122,    -1,   124,    -1,    -1,    -1,
9397       -1,    -1,    -1,    -1,   132,   133,    -1,   135,   136,   137,
9398      138,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9399       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9400       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9402       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9403       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9404       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9405       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9406      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9407      117,   118,   119,    -1,    -1,   122,   123,   124,   125,    -1,
9408      127,   128,    -1,    -1,    -1,   132,   133,     0,     1,    -1,
9409        3,     4,     5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9411       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9412       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9413       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9414       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9415       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9416       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9417       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9418       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9419      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9420      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9421       -1,   124,   125,    -1,   127,   128,    -1,    -1,    -1,   132,
9422      133,     0,     1,    -1,     3,     4,     5,    -1,    -1,    -1,
9423       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9425       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9426       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9427       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
9428       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9429       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9430       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9431       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9432       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9433       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9434      119,    -1,    -1,   122,    -1,   124,   125,     0,     1,   128,
9435        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9437       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9438       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9439       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9440       53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9441       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9442       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9443       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9444       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9445      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9446      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9447       -1,   124,   125,     0,     1,   128,     3,     4,     5,   132,
9448      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9449       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9450       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9451       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9452       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9454       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9455       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9456       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9457       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9458      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9459      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,     0,
9460        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9463       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9464       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9465       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9466       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9467       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9468       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9469       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9470       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9471      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9472       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9473        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9475       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9476       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9477       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9479       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9480       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9481       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9482       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9483      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9484      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9485      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9488       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9489       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9490       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9491       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9492       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9493       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9494       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9495       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9496       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9497      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9498        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9499       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9500       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9501       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9502       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9504       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9505       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9506       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9507       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9508      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9509      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9510       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9511      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9512       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9513       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9514       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9515       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9516       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9517       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9518       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9519       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9520       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9521      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9522      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9523        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9526       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9527       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9529       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9530       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9531       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9532       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9533       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9534      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9535       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9536        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9537       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9538       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9539       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9540       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9542       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9543       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9544       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9545       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9546      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9547      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9548      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9550       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9551       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9552       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9553       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9554       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9555       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9556       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9557       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9558       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9559       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9560      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9561        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9563       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9564       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9565       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9567       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9568       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9569       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9570       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9571      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9572      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9573       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9574      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9576       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9577       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9578       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9580       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9581       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9582       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9583       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9584      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9585      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9586        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9588       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9589       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9590       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9592       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9593       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9594       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9595       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9596       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9597      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9598       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9599        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9601       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9602       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9603       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9605       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9606       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9607       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9608       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9609      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9610      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9611      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9614       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9615       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9616       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9617       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9618       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9619       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9620       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9621       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9622       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9623      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9624        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9626       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9627       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9628       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9630       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9631       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9632       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9633       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9634      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9635      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9636       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9637      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9639       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9640       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9641       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9643       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9644       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9645       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9646       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9647      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9648      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9649        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9652       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9653       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9655       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9656       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9657       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9658       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9659       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9660      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9661       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9662        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9664       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9665       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9666       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9668       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9669       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9670       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9671       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9672      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9673      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9674      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9677       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9678       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9679       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9680       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9681       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9682       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9683       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9684       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9685       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9686      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9687        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9689       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9690       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9691       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9693       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9694       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9695       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9696       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9697      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9698      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9699       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9700      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9701       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9702       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9703       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9704       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9706       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9707       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9708       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9709       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9710      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9711      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9712        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9715       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9716       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9718       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9719       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9720       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9721       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9722       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9723      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9724       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9725        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9727       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9728       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9729       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9731       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9732       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9733       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9734       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9735      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9736      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9737      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9740       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9741       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9742       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9743       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9744       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9745       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9746       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9747       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9748       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9749      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9750        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9752       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9753       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9754       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9756       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9757       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9758       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9759       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9760      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9761      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9762       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9763      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9765       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9766       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9767       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9769       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9770       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9771       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9772       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9773      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9774      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9775        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9778       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9779       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9781       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9782       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9783       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9784       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9785       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9786      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9787       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9788        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9790       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9791       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9792       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9794       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9795       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9796       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9797       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9798      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9799      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9800      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9803       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9804       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9805       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9806       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9807       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9808       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9809       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9810       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9811       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9812      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9813        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9815       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9816       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9817       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9819       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9820       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9821       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9822       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9823      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9824      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9825       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9826      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9828       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9829       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9830       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9832       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9833       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9834       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9835       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9836      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9837      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9838        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9841       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9842       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9844       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9845       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9846       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9847       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9848       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9849      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9850       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9851        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9853       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9854       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9855       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9857       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9858       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9859       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9860       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9861      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9862      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9863      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9866       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9867       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9868       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9869       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9870       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9871       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9872       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9873       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9874       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9875      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9876        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9877       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9878       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9879       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9880       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9882       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9883       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9884       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9885       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9886      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9887      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9888       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9889      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9891       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9892       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9893       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9895       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9896       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9897       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9898       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9899      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9900      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,    -1,
9901        1,   128,     3,     4,     5,   132,   133,    -1,    -1,    -1,
9902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9904       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9905       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9907       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9908       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9909       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9910       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9911       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9912      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
9913       -1,   122,    -1,   124,   125,    -1,     1,   128,     3,     4,
9914        5,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9916       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9917       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9918       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9920       65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,
9921       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
9922       85,    86,    87,    88,    -1,    -1,    91,    92,    93,    94,
9923       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
9924      105,   106,   107,   108,    -1,   110,   111,   112,   113,   114,
9925      115,   116,   117,   118,   119,    -1,    -1,   122,    -1,   124,
9926      125,    -1,     1,   128,     3,     4,     5,   132,   133,    -1,
9927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
9929       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9930       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9931       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9932       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,
9933       -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,
9934       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
9935       -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,    98,
9936       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
9937       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
9938      119,    -1,    -1,   122,    -1,   124,   125,    -1,     1,   128,
9939        3,     4,     5,   132,   133,    -1,    -1,    -1,    -1,    -1,
9940       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9941       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
9942       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9943       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9945       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
9946       -1,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
9947       83,    -1,    85,    86,    87,    88,    -1,    -1,    91,    92,
9948       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
9949      103,   104,   105,   106,   107,   108,    -1,   110,   111,   112,
9950      113,   114,   115,   116,   117,   118,   119,    -1,    -1,   122,
9951       -1,   124,   125,    -1,     1,   128,     3,     4,     5,   132,
9952      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9954       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9955       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9956       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9957       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9958       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9959       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9960       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9961       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9962      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9963      117,   118,   119,    -1,    -1,   122,    -1,   124,   125,     1,
9964       -1,     3,     4,     5,    -1,   132,   133,    -1,    -1,    -1,
9965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9966       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9967       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9968       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9970       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9971       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9972       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9973       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9974      102,   103,   104,   105,   106,   107,   108,    -1,   110,   111,
9975      112,   113,   114,   115,   116,   117,   118,   119,    -1,     1,
9976      122,     3,   124,   125,    -1,    -1,    -1,    -1,    -1,    -1,
9977      132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9978       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9979       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9980       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9982       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
9983       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9984       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9986       -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,   111,
9987      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
9988      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9989       -1,   133,    28,    29,    30,    31,    32,    33,    34,    35,
9990       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9991       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9993       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9994       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
9995       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9996       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9997       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
9998      116,   117,     3,   119,    -1,    -1,   122,    -1,    -1,    -1,
9999       -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,   135,
10000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
10001       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10002       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10004       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10005       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10006       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10008       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,
10009      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10010       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10011       -1,    -1,   133,    28,    29,    30,    31,    32,    33,    34,
10012       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10013       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10015       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10016       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10017       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10018       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10019       -1,    -1,    -1,    -1,     3,   110,   111,   112,   113,   114,
10020      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10021       -1,    -1,    -1,    -1,   129,    -1,    -1,    -1,   133,    28,
10022       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10023       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10024       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10026       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10027       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10029       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10030        3,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10031      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,
10032      129,    -1,    -1,    -1,   133,    28,    29,    30,    31,    32,
10033       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10034       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10036       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10037       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10038       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10039       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
10040       -1,    -1,    -1,    -1,    -1,    -1,     3,   110,   111,   112,
10041      113,   114,   115,   116,   117,    -1,   119,    -1,    -1,   122,
10042       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10043      133,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10044       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10045       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10048       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10049       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10050       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10051       -1,    -1,     3,   110,   111,   112,   113,   114,   115,   116,
10052      117,    -1,   119,    -1,    -1,   122,    -1,    -1,    -1,    -1,
10053       -1,    -1,    -1,    -1,    -1,    -1,   133,    28,    29,    30,
10054       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10055       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10056       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10057       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10058       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10059       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   110,
10062      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10063       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10064       -1,    -1,   133,    28,    29,    30,    31,    32,    33,    34,
10065       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10066       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10068       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10069       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10070       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10071       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10072       -1,    -1,    -1,    -1,     3,   110,   111,   112,   113,   114,
10073      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    28,
10075       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10076       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10077       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10078       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10079       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10080       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10082       -1,   100,    -1,    -1,    -1,    -1,   105,    -1,     3,    -1,
10083       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10084      119,    -1,    -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,
10085       -1,    -1,   131,    28,    29,    30,    31,    32,    33,    34,
10086       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10087       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10089       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10090       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10091       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10092       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10093       -1,    -1,     3,    -1,    -1,   110,   111,   112,   113,   114,
10094      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10095       -1,    -1,    -1,    -1,    -1,    -1,   131,    28,    29,    30,
10096       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10097       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10099       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10100       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10101       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10103       -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,   110,
10104      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10105       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10106      131,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10107       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10108       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10111       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10112       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10113       -1,    -1,    -1,   100,    -1,    -1,     1,    -1,    -1,    -1,
10114       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10115      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10116       -1,    -1,   129,    28,    29,    30,    31,    32,    33,    34,
10117       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10118       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10120       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10121       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10122       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10123       -1,    -1,    -1,    -1,    -1,   100,    -1,     1,    -1,    -1,
10124       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10125      115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10126      125,    -1,   127,   128,    28,    29,    30,    31,    32,    33,
10127       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10128       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10130       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10131       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10132       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10133       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     1,    -1,
10134       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10135      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10136       -1,    -1,    -1,    -1,   128,    28,    29,    30,    31,    32,
10137       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10138       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10140       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10141       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10142       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10143       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,     1,
10144       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10145      113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
10146       -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,    31,
10147       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10148       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10150       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10151       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10152       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10154        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10155      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10156       -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,
10157       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10158       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10160       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10161       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10162       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10164       -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10165      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10166       -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,
10167       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10168       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10169       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10170       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10171       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10172       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10173       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10174      100,     0,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
10175      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,
10177       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10178       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10179       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
10180       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10181       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10182       79,    80,    81,    82,    83,    -1,    85,    86,    87,    -1,
10183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10184       -1,   100,   101,     3,    -1,    -1,   105,    -1,    -1,    -1,
10185       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10186      119,    -1,    -1,   122,    -1,    -1,   125,    -1,    28,    29,
10187       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10188       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10189       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10190       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10191       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10192       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10193       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10194      100,    -1,    -1,    -1,     3,    -1,    -1,   107,    -1,    -1,
10195      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    28,
10197       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10198       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10199       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10201       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10202       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10204       -1,   100,    -1,    -1,    -1,     3,    -1,    -1,   107,    -1,
10205       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
10207       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
10208       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
10209       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
10211       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
10212       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
10213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10214       -1,    -1,   100,    -1,     1,    -1,     3,    -1,    -1,   107,
10215       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
10216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10217      128,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10218       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10219       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10222       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10223       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10224       -1,    -1,     1,   100,     3,    -1,    -1,    -1,    -1,    -1,
10225       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10226      117,    -1,   119,    -1,    -1,   122,    -1,    -1,   125,    28,
10227       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10228       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10229       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10231       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10232       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10234        1,   100,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10235       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10236      119,    -1,    -1,   122,    -1,    -1,   125,    28,    29,    30,
10237       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10238       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10240       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10241       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10242       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   100,
10244        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10245      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
10246       -1,   122,    -1,    -1,   125,    28,    29,    30,    31,    32,
10247       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10248       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10250       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10251       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
10252       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10253       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,     3,    -1,
10254       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10255      113,   114,   115,   116,   117,    -1,   119,    -1,    -1,   122,
10256       -1,    -1,   125,    28,    29,    30,    31,    32,    33,    34,
10257       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10258       45,    46,    47,    48,    49,    50,    -1,    -1,    53,    -1,
10259       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10260       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10261       75,    76,    77,    -1,    79,    80,    81,    82,    83,    -1,
10262       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10263       -1,    -1,    -1,    -1,    -1,   100,   101,    -1,     0,     1,
10264      105,     3,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10265      115,   116,   117,    -1,   119,    -1,    -1,   122,    -1,    -1,
10266      125,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
10267       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10268       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10269       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10270       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10271       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    80,    81,
10272       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10273       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10275      112,   113,   114,   115,   116,   117,    -1,   119,    -1,    -1,
10276      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10277       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10278       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10281       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10282       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10283        1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10284       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10285      117,    -1,   119,    -1,    -1,   122,   123,    28,    29,    30,
10286       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10287       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10289       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10290       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10291       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10292       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   100,
10293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10294      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10295       -1,    -1,   123,    28,    29,    30,    31,    32,    33,    34,
10296       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10297       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10299       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10300       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10301       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10302       -1,    -1,     1,    -1,     3,   100,    -1,    -1,    -1,    -1,
10303       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10304      115,   116,   117,    -1,    -1,    -1,    -1,    -1,   123,    28,
10305       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10306       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10307       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10308       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10309       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10310       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
10312        3,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10313       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10314       -1,    -1,    -1,    -1,   123,    28,    29,    30,    31,    32,
10315       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10316       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10318       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10319       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10320       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10321       -1,    -1,    -1,    -1,     1,    -1,     3,   100,    -1,    -1,
10322       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10323      113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
10324      123,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10325       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10326       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10329       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10330       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10331        1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10332       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10333      117,    -1,    -1,    -1,    -1,    -1,   123,    28,    29,    30,
10334       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10335       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10337       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10338       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10339       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10340       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,   100,
10341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10342      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
10343       -1,    -1,   123,    28,    29,    30,    31,    32,    33,    34,
10344       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10345       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10347       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10348       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10349       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10350       -1,     1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10351       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10352      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10353       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10354       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10355       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10356       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10357       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10358       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10359       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    -1,
10360      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10361      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10362       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10363       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10364       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10365       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10366       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10367       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10368       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10369       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10370       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10371      115,   116,   117,    -1,    -1,    -1,    -1,   122,    28,    29,
10372       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10373       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10374       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10375       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10376       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10377       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10379      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10380      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10381       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10382       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10383       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10385       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10386       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10387       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10388       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10389       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10390      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10391       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10392       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10393       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10394       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10395       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10396       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10397       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10398      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10399      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10400       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10401       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10402       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10403       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10404       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10405       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10406       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10407       -1,    -1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10408       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10409      115,   116,   117,    -1,    -1,    -1,    -1,   122,    28,    29,
10410       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10411       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10412       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10413       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10414       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10415       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10417      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10418      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
10419       -1,    -1,   122,    28,    29,    30,    31,    32,    33,    34,
10420       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10421       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10423       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10424       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10425       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10426       -1,     1,    -1,     3,    -1,   100,    -1,    -1,    -1,    -1,
10427       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10428      115,   116,   117,    -1,   119,    -1,    -1,   122,    28,    29,
10429       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10430       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10431       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10432       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10433       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10434       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10435       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10436      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10437      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10438       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10439       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10440       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10441       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10442       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10443       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10444       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10445      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10446      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10447       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10448       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10449       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10450       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10451       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10452       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10453       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10454      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10455      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10456       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10457       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10458       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10459       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10460       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10461       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10462       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10463      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10464      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10465       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10466       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10467       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10468       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10469       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10470       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10471       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10472      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10473      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10474       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10475       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10476       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10477       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10478       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10479       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10480       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10481      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10482      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10483       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10484       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10485       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10486       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10487       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10488       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10489       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10490      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10491      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10492       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10493       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10494       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10495       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10496       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10497       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10498       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10499      100,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,
10500      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10501       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10502       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10503       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10504       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
10505       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10506       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10507       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10508      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10509      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10510       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10511       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10512       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10513       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10514       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10515       80,    81,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10516       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10517      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10518      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10519       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10520       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10521       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10522       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10523       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10524       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
10525       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
10526      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10527      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10528       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10529       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10530       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10531       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10532       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10533       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10535      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10536      110,   111,   112,   113,   114,   115,   116,   117,    28,    29,
10537       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
10538       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
10539       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10540       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
10541       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
10542       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
10543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10544      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10545      110,   111,   112,   113,   114,   115,   116,   117,    -1,   119,
10546       -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
10547       -1,    -1,    -1,   133,    28,    29,    30,    31,    32,    33,
10548       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
10549       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
10550       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10551       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10552       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
10553       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
10554       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
10555       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
10556      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
10557       -1,    -1,    -1,    -1,    -1,   129,    28,    29,    30,    31,
10558       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10559       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10560       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10561       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
10562       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10563       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
10565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10566      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10567       -1,    -1,    -1,    -1,    -1,    -1,   128,    28,    29,    30,
10568       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10569       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10570       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10571       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10572       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10573       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10576      111,   112,   113,   114,   115,   116,   117
10577 };
10578
10579 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10580    symbol of state STATE-NUM.  */
10581 static const yytype_uint16 yystos[] =
10582 {
10583        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
10584       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10585       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
10586       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
10587      100,   101,   105,   110,   111,   112,   113,   114,   115,   116,
10588      117,   119,   122,   125,   145,   146,   147,   149,   174,   211,
10589      212,   213,   214,   215,   216,   268,   271,   272,   275,   276,
10590      277,   278,   279,   280,   281,   283,   287,   290,   291,   292,
10591      293,   294,   295,   300,   301,   310,   311,   312,   319,   320,
10592      324,   327,   332,   361,   364,   365,   383,   384,   386,   387,
10593      388,   389,   390,   391,    77,   131,     5,    31,   216,   385,
10594      216,   122,   122,   122,   149,   216,   385,   281,   282,   319,
10595      327,    37,   147,   216,   309,   310,   312,   314,   315,   316,
10596      318,   319,   327,   330,   331,   336,   120,   125,   146,   147,
10597      216,   129,   131,   125,   129,   128,   119,   120,   211,   216,
10598      129,   149,   216,   129,   131,   128,   120,   129,   131,   129,
10599      128,   129,   147,   216,   319,     1,    31,    37,    38,   125,
10600      145,   147,   213,   215,   216,   268,   278,   279,   281,   283,
10601      312,   316,   319,   327,   330,   331,   332,   334,   342,   343,
10602      344,   345,    37,    38,   147,   319,   344,   122,   133,     1,
10603       29,    30,    31,    32,    33,    65,   116,   117,   123,   145,
10604      216,   267,   271,   273,   274,   281,   283,   287,   288,   289,
10605      295,   299,   307,   308,   348,   349,   350,   351,   352,   353,
10606      327,   122,   312,   319,    34,    35,    36,    37,    38,    39,
10607       40,    41,    42,    43,    46,    47,    66,    85,    87,   100,
10608      112,   113,   114,   115,   129,   149,   170,   171,   267,   272,
10609      273,   281,   284,   288,   290,   298,   363,   366,   367,   368,
10610      373,   374,   375,    31,    76,   131,   213,   215,   300,   364,
10611      365,   383,   384,   391,     1,   213,   277,   294,   300,   332,
10612      361,   387,     1,   386,   387,     0,   216,   385,   385,     5,
10613      126,   385,     1,     4,     6,     8,     9,    65,    71,    72,
10614       73,    84,    85,    98,   102,   103,   104,   105,   106,   107,
10615      108,   109,   118,   119,   122,   124,   132,   133,   135,   136,
10616      137,   138,   149,   175,   176,   216,   217,   218,   219,   220,
10617      223,   224,   227,   228,   229,   230,   231,   232,   233,   234,
10618      235,   236,   237,   238,   239,   240,   241,   242,   243,   247,
10619      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
10620      258,   259,   260,   261,   385,   397,   398,   399,   400,   146,
10621      216,   129,   149,   216,   281,   327,   133,   122,   133,   123,
10622      307,   308,   352,   353,   327,   330,   331,   309,   314,   318,
10623      319,   123,   319,   123,   319,   319,    85,   149,   201,   203,
10624      205,   209,   210,   216,   228,   233,   249,   253,   299,   125,
10625      120,   120,   125,     1,    68,    78,    80,    81,    88,    91,
10626       92,    93,    94,    96,    98,    99,   122,   124,   125,   128,
10627      150,   151,   152,   153,   154,   155,   156,   157,   172,   173,
10628      175,   176,   179,   180,   181,   182,   183,   184,   185,   186,
10629      187,   188,   192,   196,   197,   198,   199,   216,   224,   247,
10630      299,   311,   313,   319,   327,   332,   333,   362,    80,    81,
10631      216,   267,   271,   281,   284,   287,   295,   302,   303,     1,
10632      128,   198,   199,   147,   216,     1,   216,   269,   270,     1,
10633      128,   270,   303,    65,   202,   204,   206,   207,   208,   216,
10634      299,     1,   128,   198,   199,   303,     1,   128,   198,   199,
10635        1,   128,   198,   199,   147,   216,   127,   127,   127,   129,
10636      327,   312,   316,   319,     1,   126,   367,   374,   375,   367,
10637      374,   375,     1,   125,   127,   127,   327,   125,   134,   146,
10638      216,   242,   261,   265,   266,   127,   129,   149,   216,   128,
10639      129,   128,   129,   319,    37,   122,   133,   135,   145,   147,
10640      216,   267,   273,   281,   283,   288,   309,   310,   319,   325,
10641      327,   328,   331,     1,   123,   127,     1,   123,   127,     1,
10642      127,     1,   127,   123,   123,   312,   122,   312,   122,   122,
10643        1,   125,     1,   128,     1,    37,    38,   125,   216,   267,
10644      273,   281,   284,   288,   319,   344,   345,     1,   125,     1,
10645      363,   366,   374,   375,   363,   366,    52,    53,    54,    55,
10646       56,    57,    58,    59,    60,    61,    62,    85,    86,    88,
10647       89,    90,   125,   131,   149,   193,   194,   195,   216,   224,
10648      228,   243,   245,   249,   261,   262,   263,   324,   354,   355,
10649      358,   359,   360,   367,   368,   369,   370,   371,   372,   374,
10650      375,   377,   378,   379,   380,   381,   382,   128,    31,   216,
10651      385,   216,   211,   212,   214,   215,   309,   310,   316,   319,
10652      327,   332,   334,   367,   375,   213,   300,   126,   241,   242,
10653      260,   123,   122,   228,   249,   122,   228,   249,   228,   249,
10654      122,   216,   267,   273,   281,   284,   288,   306,   265,   122,
10655      122,   306,   265,   122,   122,   122,   122,   122,   122,   228,
10656      249,   123,   243,   245,   263,   273,   281,   283,   288,   296,
10657      346,   385,   129,   134,   177,   178,   221,   225,   243,   129,
10658        1,   128,   129,   216,     1,     7,     8,     9,   122,   130,
10659      133,    18,    19,    20,    21,    22,    23,    24,    25,    26,
10660       27,   126,   244,   178,   221,   222,   230,   250,   119,   139,
10661      140,   136,   137,    10,    11,   233,   253,    12,    13,   120,
10662      121,    14,    15,   135,   141,   142,    16,    17,   143,   244,
10663      123,     7,     8,     9,   122,   130,   133,   244,   119,   139,
10664      140,   136,   137,    10,    11,    12,    13,   120,   121,    14,
10665       15,   135,   141,   142,    16,    17,   143,   244,   123,   123,
10666      107,   216,   299,   392,   395,   396,   129,   129,   134,   146,
10667      265,   266,   134,   146,   265,   266,   123,   123,   123,   123,
10668      309,   314,   318,   123,   123,   309,    11,   121,   127,   126,
10669      122,   319,   327,   328,    65,   208,   216,   299,   208,     1,
10670      216,   267,   281,   284,   295,   304,   299,   332,   333,   122,
10671      149,   216,   216,   299,     1,   122,   304,   119,   122,   216,
10672      299,   125,   324,   374,   375,   374,   375,   374,   125,   374,
10673      375,   125,     1,   128,     1,     1,   125,   127,   127,    69,
10674       70,    91,    95,    97,   128,    69,    70,   128,   125,     1,
10675      196,   197,     1,   196,   197,     1,   126,   122,   131,   216,
10676      285,   286,   309,   315,   317,   319,   327,   334,   335,   336,
10677        1,   299,   307,   350,   327,   313,   319,   122,   131,   156,
10678      157,   172,   173,   175,   176,   185,   216,   299,   120,   149,
10679      216,   216,   267,   281,   284,   120,   120,   126,   127,     1,
10680      125,   129,    28,   148,   216,   121,   127,   126,   216,   328,
10681      330,   342,   342,   342,   125,   127,   128,   158,   159,   160,
10682      161,   162,   163,   164,   165,   166,   167,   168,   169,   221,
10683      222,   224,   242,   261,   298,   339,   340,   309,   312,   314,
10684      316,   318,   309,   316,   129,   243,   262,   337,   338,   374,
10685      375,   374,   375,   342,   343,   342,   343,   134,   134,   134,
10686       51,   348,   349,     1,   270,   129,   129,     1,   128,   198,
10687      199,     1,   128,   198,   199,   129,   123,   216,   307,   308,
10688      319,   327,   328,   352,   353,   134,   146,   265,   266,   319,
10689      327,   331,   327,   122,   133,   325,     1,     1,   127,     1,
10690       51,   216,   348,   349,   127,     1,    51,   216,   348,   349,
10691      127,     1,    51,   216,   348,   349,   127,    51,   216,   348,
10692      349,     3,    28,    44,    74,    75,   123,   321,   322,   323,
10693      243,   146,   216,   128,   129,   125,   125,   131,   265,   266,
10694      131,   122,   122,     1,   122,    52,    53,    54,    56,    57,
10695       58,    59,    62,    86,   216,   263,   324,   354,   377,   381,
10696      122,   216,   125,   125,   125,   221,   222,   245,   263,   122,
10697      281,   122,   122,   189,   216,   125,   125,   125,   131,   130,
10698      244,     1,   130,   125,   127,   245,   263,   244,   123,   127,
10699      245,     1,   369,   370,   369,   370,   354,   355,   363,   366,
10700      354,   355,   363,   366,     1,     1,   385,   385,   147,   216,
10701      129,   129,   327,   316,   319,   367,   375,   367,   375,   375,
10702      242,   143,   125,   143,    65,   145,   216,   273,   281,   283,
10703      288,   297,   347,   216,   298,   120,   122,   133,   216,   267,
10704      273,   281,   284,   288,   319,   326,   327,   329,   216,   267,
10705      273,   281,   284,   288,   305,   245,   346,   374,   216,   133,
10706      329,   305,   243,   385,   385,   385,   243,   347,   123,   216,
10707      273,   281,   283,   288,   328,   123,   130,     1,   168,   169,
10708        1,   128,   127,   134,     1,   168,   169,   128,     1,   168,
10709      169,     1,   216,   123,   222,   225,   226,   262,     1,   216,
10710      245,   263,   221,   243,     1,   230,   250,   230,   250,   230,
10711      250,   231,   251,   231,   251,   232,   252,   232,   252,   233,
10712      253,   233,   253,   233,   253,   221,   222,   235,   254,   221,
10713      222,   235,   254,   221,   222,   236,   255,   221,   222,   237,
10714      256,   221,   222,   238,   257,   239,   258,   240,   259,   131,
10715      221,   222,   245,   246,   263,   264,   221,   243,     1,   216,
10716      123,   225,   226,     1,   216,   245,   263,   221,   243,   230,
10717      250,   230,   250,   230,   250,   231,   251,   231,   251,   232,
10718      252,   232,   252,   233,   253,   233,   253,   233,   253,   233,
10719      253,   221,   222,   235,   254,   221,   222,   235,   254,   221,
10720      222,   236,   255,   221,   222,   237,   256,   221,   222,   238,
10721      257,   239,   258,   240,   259,   131,   245,   246,   263,   264,
10722      221,   243,   120,   121,   216,   393,   394,   216,   128,   392,
10723      395,   396,   396,   134,   134,   134,   134,   134,   134,   209,
10724      201,   203,   205,   216,   319,   327,   121,   126,   328,   121,
10725      129,   120,   129,   216,   267,   281,   284,   328,   319,   327,
10726      334,   335,   189,   286,   309,   319,   327,   129,   216,   129,
10727      216,   328,   216,   319,   122,   125,   128,   179,   180,   179,
10728      180,   374,   374,   374,   218,   374,   374,     1,   339,   340,
10729      123,   265,   266,   129,   127,     1,   299,   307,   350,   327,
10730      309,   317,   319,   131,   324,   216,   122,   313,   313,   216,
10731        1,     1,   286,   210,   120,   208,   208,   265,   266,   269,
10732      198,   199,     1,   128,   270,   126,   131,   126,   131,   207,
10733      203,   216,   126,   216,   126,   374,   375,     1,   125,   127,
10734      125,   127,   125,   160,   161,   164,   165,   166,   128,   158,
10735      161,   125,   128,   160,   161,   164,   165,   166,   126,    37,
10736      334,   335,   336,   337,   338,   341,     1,   128,   270,     1,
10737      128,   270,     1,   128,   198,   199,   319,   327,   328,   123,
10738      123,   123,   134,   134,   134,   327,   325,   123,   352,   353,
10739      134,   146,   265,   266,   348,   349,   299,   348,   348,   348,
10740      349,   123,   122,   123,   127,   322,   123,   123,   123,     1,
10741      168,   169,   354,   355,   363,   366,   131,   131,   354,   355,
10742      363,   366,   245,   263,   245,   263,   123,   245,   263,   131,
10743      265,   266,   131,   122,   122,   354,   122,   222,   263,   122,
10744      131,    56,     1,   123,   125,   216,   245,   263,   376,   125,
10745      125,   125,   125,   125,   385,   122,   243,   243,   216,   354,
10746      355,   363,   366,    90,   222,   262,    88,    89,    90,   243,
10747      262,   222,   262,   243,   262,   120,   316,   375,   375,   125,
10748      245,   246,   263,   264,   245,   246,   263,   264,   145,   146,
10749      145,   273,   281,   283,   288,   328,   123,   123,   123,   328,
10750      210,   123,   319,   329,   352,   353,   265,   266,   120,   327,
10751      122,   326,   133,   120,   133,   216,   267,   273,   281,   284,
10752      288,   329,   123,   123,   123,   123,   265,   266,   133,   133,
10753      329,   127,   123,   127,   127,   127,   123,   230,   250,   385,
10754        1,   128,   221,   243,     1,     1,   123,   127,   123,   134,
10755      134,     1,   127,   131,   131,   127,   131,   131,   123,   134,
10756      134,   131,   131,   131,   131,   216,   216,   125,   127,   216,
10757      385,   128,   128,   319,   327,   203,   210,   120,   129,   129,
10758      216,   327,   319,   123,   327,   309,   123,   129,   129,   216,
10759      123,     1,   168,   169,   285,   319,   216,   122,   309,   317,
10760      317,   265,   266,   122,   123,   121,   210,   121,   121,   125,
10761        1,   125,   201,   200,   299,   201,   200,   205,   126,   129,
10762        1,   162,   163,     1,   162,   163,   375,     1,   339,   340,
10763      127,   128,   337,   338,     1,   125,     1,   125,   327,   325,
10764      123,   123,   123,   134,   134,   134,   328,   331,   245,   123,
10765      322,     1,   354,   355,   363,   366,   354,   355,   363,   366,
10766      123,   123,   123,   123,     1,   354,   123,   245,   354,   355,
10767      131,   131,   263,   123,   245,   263,    56,   263,   376,   385,
10768      122,   354,   131,   125,     1,   125,     1,   123,   263,   376,
10769        3,   123,   131,   385,   123,   123,   127,   122,   122,   189,
10770      131,   131,   131,   131,   131,   131,   131,   131,   123,   123,
10771        1,   123,   121,   319,   327,   329,   123,   123,   123,   134,
10772      134,   210,   326,   123,   352,   353,   265,   266,   210,   265,
10773      266,   120,   133,   122,   337,   134,   134,   265,   266,   265,
10774      266,   133,   346,   216,   216,   243,     1,   222,   262,   221,
10775      222,   221,   222,   242,   260,   221,   222,   242,   260,   221,
10776      222,   221,   222,   242,   260,   221,   222,   242,   260,   221,
10777      222,   242,   260,   221,   222,   242,   260,   221,   222,   242,
10778      260,   221,   222,   242,   260,   393,   125,   125,   121,   210,
10779      129,   374,   309,   126,   129,     1,   122,   131,   131,   121,
10780      198,   199,   125,   198,   199,   126,   328,   126,   205,   341,
10781      128,   337,   338,     1,   198,   199,   198,   199,   123,   354,
10782      354,   354,   354,   354,   355,   123,   122,   376,   123,   245,
10783      263,   245,   354,     1,   123,   245,   263,   133,   356,   357,
10784      385,   125,   357,     3,   123,   131,   129,   189,   243,   243,
10785        1,     1,   326,   123,   121,   123,   123,   134,   134,   121,
10786      134,   134,   210,   265,   266,   346,   134,   134,   134,   134,
10787      265,   266,   123,   123,   123,   123,   121,   339,   265,   266,
10788      265,   266,   198,   199,   201,   201,   127,   128,     1,    64,
10789       64,   245,   263,   123,   245,   263,   123,   125,   123,   125,
10790      354,   355,   123,   354,   355,   216,   123,   127,   131,   122,
10791        3,   123,   131,   357,   125,   357,    73,   189,   190,   191,
10792      123,   123,   123,   127,   121,   134,   134,   123,   134,   134,
10793      125,   128,   354,   354,   123,   123,   125,   354,   245,   354,
10794      355,   134,   125,   356,   357,   243,   357,   125,   357,   123,
10795      131,     3,   123,   131,   374,   374,   128,   190,   129,   189,
10796      230,   250,   337,   123,   385,   123,   123,   123,   123,   131,
10797      125,   357,   357,   125,   357,   191,   123,   354,   122,   125,
10798      125,   125,   357,   123,   123,   123,   131,   128,   243,   123,
10799      125,   125,   125,   357,   123,   125,   123,   125
10800 };
10801
10802 #define yyerrok         (yyerrstatus = 0)
10803 #define yyclearin       (yychar = YYEMPTY)
10804 #define YYEMPTY         (-2)
10805 #define YYEOF           0
10806
10807 #define YYACCEPT        goto yyacceptlab
10808 #define YYABORT         goto yyabortlab
10809 #define YYERROR         goto yyerrorlab
10810
10811
10812 /* Like YYERROR except do call yyerror.  This remains here temporarily
10813    to ease the transition to the new meaning of YYERROR, for GCC.
10814    Once GCC version 2 has supplanted version 1, this can go.  However,
10815    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
10816    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
10817    discussed.  */
10818
10819 #define YYFAIL          goto yyerrlab
10820 #if defined YYFAIL
10821   /* This is here to suppress warnings from the GCC cpp's
10822      -Wunused-macros.  Normally we don't worry about that warning, but
10823      some users do, and we want to make it easy for users to remove
10824      YYFAIL uses, which will produce warnings from Bison 2.5.  */
10825 #endif
10826
10827 #define YYRECOVERING()  (!!yyerrstatus)
10828
10829 #define YYBACKUP(Token, Value)                                  \
10830 do                                                              \
10831   if (yychar == YYEMPTY && yylen == 1)                          \
10832     {                                                           \
10833       yychar = (Token);                                         \
10834       yylval = (Value);                                         \
10835       yytoken = YYTRANSLATE (yychar);                           \
10836       YYPOPSTACK (1);                                           \
10837       goto yybackup;                                            \
10838     }                                                           \
10839   else                                                          \
10840     {                                                           \
10841       yyerror (YY_("syntax error: cannot back up")); \
10842       YYERROR;                                                  \
10843     }                                                           \
10844 while (YYID (0))
10845
10846
10847 #define YYTERROR        1
10848 #define YYERRCODE       256
10849
10850
10851 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
10852    If N is 0, then set CURRENT to the empty location which ends
10853    the previous symbol: RHS[0] (always defined).  */
10854
10855 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
10856 #ifndef YYLLOC_DEFAULT
10857 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
10858     do                                                                  \
10859       if (YYID (N))                                                    \
10860         {                                                               \
10861           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
10862           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
10863           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
10864           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
10865         }                                                               \
10866       else                                                              \
10867         {                                                               \
10868           (Current).first_line   = (Current).last_line   =              \
10869             YYRHSLOC (Rhs, 0).last_line;                                \
10870           (Current).first_column = (Current).last_column =              \
10871             YYRHSLOC (Rhs, 0).last_column;                              \
10872         }                                                               \
10873     while (YYID (0))
10874 #endif
10875
10876
10877 /* YY_LOCATION_PRINT -- Print the location on the stream.
10878    This macro was not mandated originally: define only if we know
10879    we won't break user code: when these are the locations we know.  */
10880
10881 #ifndef YY_LOCATION_PRINT
10882 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
10883 #  define YY_LOCATION_PRINT(File, Loc)                  \
10884      fprintf (File, "%d.%d-%d.%d",                      \
10885               (Loc).first_line, (Loc).first_column,     \
10886               (Loc).last_line,  (Loc).last_column)
10887 # else
10888 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
10889 # endif
10890 #endif
10891
10892
10893 /* YYLEX -- calling `yylex' with the right arguments.  */
10894
10895 #ifdef YYLEX_PARAM
10896 # define YYLEX yylex (YYLEX_PARAM)
10897 #else
10898 # define YYLEX yylex ()
10899 #endif
10900
10901 /* Enable debugging if requested.  */
10902 #if YYDEBUG
10903
10904 # ifndef YYFPRINTF
10905 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10906 #  define YYFPRINTF fprintf
10907 # endif
10908
10909 # define YYDPRINTF(Args)                        \
10910 do {                                            \
10911   if (yydebug)                                  \
10912     YYFPRINTF Args;                             \
10913 } while (YYID (0))
10914
10915 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
10916 do {                                                                      \
10917   if (yydebug)                                                            \
10918     {                                                                     \
10919       YYFPRINTF (stderr, "%s ", Title);                                   \
10920       yy_symbol_print (stderr,                                            \
10921                   Type, Value, Location); \
10922       YYFPRINTF (stderr, "\n");                                           \
10923     }                                                                     \
10924 } while (YYID (0))
10925
10926
10927 /*--------------------------------.
10928 | Print this symbol on YYOUTPUT.  |
10929 `--------------------------------*/
10930
10931 /*ARGSUSED*/
10932 #if (defined __STDC__ || defined __C99__FUNC__ \
10933      || defined __cplusplus || defined _MSC_VER)
10934 static void
10935 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10936 #else
10937 static void
10938 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
10939     FILE *yyoutput;
10940     int yytype;
10941     YYSTYPE const * const yyvaluep;
10942     YYLTYPE const * const yylocationp;
10943 #endif
10944 {
10945   if (!yyvaluep)
10946     return;
10947   YYUSE (yylocationp);
10948 # ifdef YYPRINT
10949   if (yytype < YYNTOKENS)
10950     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10951 # else
10952   YYUSE (yyoutput);
10953 # endif
10954   switch (yytype)
10955     {
10956       default:
10957         break;
10958     }
10959 }
10960
10961
10962 /*--------------------------------.
10963 | Print this symbol on YYOUTPUT.  |
10964 `--------------------------------*/
10965
10966 #if (defined __STDC__ || defined __C99__FUNC__ \
10967      || defined __cplusplus || defined _MSC_VER)
10968 static void
10969 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10970 #else
10971 static void
10972 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10973     FILE *yyoutput;
10974     int yytype;
10975     YYSTYPE const * const yyvaluep;
10976     YYLTYPE const * const yylocationp;
10977 #endif
10978 {
10979   if (yytype < YYNTOKENS)
10980     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10981   else
10982     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10983
10984   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10985   YYFPRINTF (yyoutput, ": ");
10986   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10987   YYFPRINTF (yyoutput, ")");
10988 }
10989
10990 /*------------------------------------------------------------------.
10991 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10992 | TOP (included).                                                   |
10993 `------------------------------------------------------------------*/
10994
10995 #if (defined __STDC__ || defined __C99__FUNC__ \
10996      || defined __cplusplus || defined _MSC_VER)
10997 static void
10998 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
10999 #else
11000 static void
11001 yy_stack_print (yybottom, yytop)
11002     yytype_int16 *yybottom;
11003     yytype_int16 *yytop;
11004 #endif
11005 {
11006   YYFPRINTF (stderr, "Stack now");
11007   for (; yybottom <= yytop; yybottom++)
11008     {
11009       int yybot = *yybottom;
11010       YYFPRINTF (stderr, " %d", yybot);
11011     }
11012   YYFPRINTF (stderr, "\n");
11013 }
11014
11015 # define YY_STACK_PRINT(Bottom, Top)                            \
11016 do {                                                            \
11017   if (yydebug)                                                  \
11018     yy_stack_print ((Bottom), (Top));                           \
11019 } while (YYID (0))
11020
11021
11022 /*------------------------------------------------.
11023 | Report that the YYRULE is going to be reduced.  |
11024 `------------------------------------------------*/
11025
11026 #if (defined __STDC__ || defined __C99__FUNC__ \
11027      || defined __cplusplus || defined _MSC_VER)
11028 static void
11029 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
11030 #else
11031 static void
11032 yy_reduce_print (yyvsp, yylsp, yyrule)
11033     YYSTYPE *yyvsp;
11034     YYLTYPE *yylsp;
11035     int yyrule;
11036 #endif
11037 {
11038   int yynrhs = yyr2[yyrule];
11039   int yyi;
11040   unsigned long int yylno = yyrline[yyrule];
11041   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
11042              yyrule - 1, yylno);
11043   /* The symbols being reduced.  */
11044   for (yyi = 0; yyi < yynrhs; yyi++)
11045     {
11046       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
11047       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
11048                        &(yyvsp[(yyi + 1) - (yynrhs)])
11049                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
11050       YYFPRINTF (stderr, "\n");
11051     }
11052 }
11053
11054 # define YY_REDUCE_PRINT(Rule)          \
11055 do {                                    \
11056   if (yydebug)                          \
11057     yy_reduce_print (yyvsp, yylsp, Rule); \
11058 } while (YYID (0))
11059
11060 /* Nonzero means print parse trace.  It is left uninitialized so that
11061    multiple parsers can coexist.  */
11062 int yydebug;
11063 #else /* !YYDEBUG */
11064 # define YYDPRINTF(Args)
11065 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
11066 # define YY_STACK_PRINT(Bottom, Top)
11067 # define YY_REDUCE_PRINT(Rule)
11068 #endif /* !YYDEBUG */
11069
11070
11071 /* YYINITDEPTH -- initial size of the parser's stacks.  */
11072 #ifndef YYINITDEPTH
11073 # define YYINITDEPTH 200
11074 #endif
11075
11076 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
11077    if the built-in stack extension method is used).
11078
11079    Do not make this value too large; the results are undefined if
11080    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
11081    evaluated with infinite-precision integer arithmetic.  */
11082
11083 #ifndef YYMAXDEPTH
11084 # define YYMAXDEPTH 10000
11085 #endif
11086
11087 \f
11088
11089 #if YYERROR_VERBOSE
11090
11091 # ifndef yystrlen
11092 #  if defined __GLIBC__ && defined _STRING_H
11093 #   define yystrlen strlen
11094 #  else
11095 /* Return the length of YYSTR.  */
11096 #if (defined __STDC__ || defined __C99__FUNC__ \
11097      || defined __cplusplus || defined _MSC_VER)
11098 static YYSIZE_T
11099 yystrlen (const char *yystr)
11100 #else
11101 static YYSIZE_T
11102 yystrlen (yystr)
11103     const char *yystr;
11104 #endif
11105 {
11106   YYSIZE_T yylen;
11107   for (yylen = 0; yystr[yylen]; yylen++)
11108     continue;
11109   return yylen;
11110 }
11111 #  endif
11112 # endif
11113
11114 # ifndef yystpcpy
11115 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
11116 #   define yystpcpy stpcpy
11117 #  else
11118 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
11119    YYDEST.  */
11120 #if (defined __STDC__ || defined __C99__FUNC__ \
11121      || defined __cplusplus || defined _MSC_VER)
11122 static char *
11123 yystpcpy (char *yydest, const char *yysrc)
11124 #else
11125 static char *
11126 yystpcpy (yydest, yysrc)
11127     char *yydest;
11128     const char *yysrc;
11129 #endif
11130 {
11131   char *yyd = yydest;
11132   const char *yys = yysrc;
11133
11134   while ((*yyd++ = *yys++) != '\0')
11135     continue;
11136
11137   return yyd - 1;
11138 }
11139 #  endif
11140 # endif
11141
11142 # ifndef yytnamerr
11143 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
11144    quotes and backslashes, so that it's suitable for yyerror.  The
11145    heuristic is that double-quoting is unnecessary unless the string
11146    contains an apostrophe, a comma, or backslash (other than
11147    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
11148    null, do not copy; instead, return the length of what the result
11149    would have been.  */
11150 static YYSIZE_T
11151 yytnamerr (char *yyres, const char *yystr)
11152 {
11153   if (*yystr == '"')
11154     {
11155       YYSIZE_T yyn = 0;
11156       char const *yyp = yystr;
11157
11158       for (;;)
11159         switch (*++yyp)
11160           {
11161           case '\'':
11162           case ',':
11163             goto do_not_strip_quotes;
11164
11165           case '\\':
11166             if (*++yyp != '\\')
11167               goto do_not_strip_quotes;
11168             /* Fall through.  */
11169           default:
11170             if (yyres)
11171               yyres[yyn] = *yyp;
11172             yyn++;
11173             break;
11174
11175           case '"':
11176             if (yyres)
11177               yyres[yyn] = '\0';
11178             return yyn;
11179           }
11180     do_not_strip_quotes: ;
11181     }
11182
11183   if (! yyres)
11184     return yystrlen (yystr);
11185
11186   return yystpcpy (yyres, yystr) - yyres;
11187 }
11188 # endif
11189
11190 /* Copy into YYRESULT an error message about the unexpected token
11191    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
11192    including the terminating null byte.  If YYRESULT is null, do not
11193    copy anything; just return the number of bytes that would be
11194    copied.  As a special case, return 0 if an ordinary "syntax error"
11195    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
11196    size calculation.  */
11197 static YYSIZE_T
11198 yysyntax_error (char *yyresult, int yystate, int yychar)
11199 {
11200   int yyn = yypact[yystate];
11201
11202   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
11203     return 0;
11204   else
11205     {
11206       int yytype = YYTRANSLATE (yychar);
11207       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
11208       YYSIZE_T yysize = yysize0;
11209       YYSIZE_T yysize1;
11210       int yysize_overflow = 0;
11211       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
11212       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
11213       int yyx;
11214
11215 # if 0
11216       /* This is so xgettext sees the translatable formats that are
11217          constructed on the fly.  */
11218       YY_("syntax error, unexpected %s");
11219       YY_("syntax error, unexpected %s, expecting %s");
11220       YY_("syntax error, unexpected %s, expecting %s or %s");
11221       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
11222       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
11223 # endif
11224       char *yyfmt;
11225       char const *yyf;
11226       static char const yyunexpected[] = "syntax error, unexpected %s";
11227       static char const yyexpecting[] = ", expecting %s";
11228       static char const yyor[] = " or %s";
11229       char yyformat[sizeof yyunexpected
11230                     + sizeof yyexpecting - 1
11231                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
11232                        * (sizeof yyor - 1))];
11233       char const *yyprefix = yyexpecting;
11234
11235       /* Start YYX at -YYN if negative to avoid negative indexes in
11236          YYCHECK.  */
11237       int yyxbegin = yyn < 0 ? -yyn : 0;
11238
11239       /* Stay within bounds of both yycheck and yytname.  */
11240       int yychecklim = YYLAST - yyn + 1;
11241       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
11242       int yycount = 1;
11243
11244       yyarg[0] = yytname[yytype];
11245       yyfmt = yystpcpy (yyformat, yyunexpected);
11246
11247       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
11248         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
11249           {
11250             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
11251               {
11252                 yycount = 1;
11253                 yysize = yysize0;
11254                 yyformat[sizeof yyunexpected - 1] = '\0';
11255                 break;
11256               }
11257             yyarg[yycount++] = yytname[yyx];
11258             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
11259             yysize_overflow |= (yysize1 < yysize);
11260             yysize = yysize1;
11261             yyfmt = yystpcpy (yyfmt, yyprefix);
11262             yyprefix = yyor;
11263           }
11264
11265       yyf = YY_(yyformat);
11266       yysize1 = yysize + yystrlen (yyf);
11267       yysize_overflow |= (yysize1 < yysize);
11268       yysize = yysize1;
11269
11270       if (yysize_overflow)
11271         return YYSIZE_MAXIMUM;
11272
11273       if (yyresult)
11274         {
11275           /* Avoid sprintf, as that infringes on the user's name space.
11276              Don't have undefined behavior even if the translation
11277              produced a string with the wrong number of "%s"s.  */
11278           char *yyp = yyresult;
11279           int yyi = 0;
11280           while ((*yyp = *yyf) != '\0')
11281             {
11282               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
11283                 {
11284                   yyp += yytnamerr (yyp, yyarg[yyi++]);
11285                   yyf += 2;
11286                 }
11287               else
11288                 {
11289                   yyp++;
11290                   yyf++;
11291                 }
11292             }
11293         }
11294       return yysize;
11295     }
11296 }
11297 #endif /* YYERROR_VERBOSE */
11298 \f
11299
11300 /*-----------------------------------------------.
11301 | Release the memory associated to this symbol.  |
11302 `-----------------------------------------------*/
11303
11304 /*ARGSUSED*/
11305 #if (defined __STDC__ || defined __C99__FUNC__ \
11306      || defined __cplusplus || defined _MSC_VER)
11307 static void
11308 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
11309 #else
11310 static void
11311 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
11312     const char *yymsg;
11313     int yytype;
11314     YYSTYPE *yyvaluep;
11315     YYLTYPE *yylocationp;
11316 #endif
11317 {
11318   YYUSE (yyvaluep);
11319   YYUSE (yylocationp);
11320
11321   if (!yymsg)
11322     yymsg = "Deleting";
11323   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
11324
11325   switch (yytype)
11326     {
11327       case 145: /* "guess_type" */
11328
11329 /* Line 1009 of yacc.c  */
11330 #line 213 "grammar.y"
11331         { FreeSpecifier((yyvaluep->specifier)); };
11332
11333 /* Line 1009 of yacc.c  */
11334 #line 11335 "grammar.ec"
11335         break;
11336       case 146: /* "type" */
11337
11338 /* Line 1009 of yacc.c  */
11339 #line 213 "grammar.y"
11340         { FreeSpecifier((yyvaluep->specifier)); };
11341
11342 /* Line 1009 of yacc.c  */
11343 #line 11344 "grammar.ec"
11344         break;
11345       case 147: /* "base_strict_type" */
11346
11347 /* Line 1009 of yacc.c  */
11348 #line 213 "grammar.y"
11349         { FreeSpecifier((yyvaluep->specifier)); };
11350
11351 /* Line 1009 of yacc.c  */
11352 #line 11353 "grammar.ec"
11353         break;
11354       case 148: /* "base_strict_type_name" */
11355
11356 /* Line 1009 of yacc.c  */
11357 #line 248 "grammar.y"
11358         { delete (yyvaluep->string); };
11359
11360 /* Line 1009 of yacc.c  */
11361 #line 11362 "grammar.ec"
11362         break;
11363       case 149: /* "strict_type" */
11364
11365 /* Line 1009 of yacc.c  */
11366 #line 213 "grammar.y"
11367         { FreeSpecifier((yyvaluep->specifier)); };
11368
11369 /* Line 1009 of yacc.c  */
11370 #line 11371 "grammar.ec"
11371         break;
11372       case 150: /* "class_function_definition_start" */
11373
11374 /* Line 1009 of yacc.c  */
11375 #line 240 "grammar.y"
11376         { FreeClassFunction((yyvaluep->classFunction)); };
11377
11378 /* Line 1009 of yacc.c  */
11379 #line 11380 "grammar.ec"
11380         break;
11381       case 151: /* "constructor_function_definition_start" */
11382
11383 /* Line 1009 of yacc.c  */
11384 #line 240 "grammar.y"
11385         { FreeClassFunction((yyvaluep->classFunction)); };
11386
11387 /* Line 1009 of yacc.c  */
11388 #line 11389 "grammar.ec"
11389         break;
11390       case 152: /* "destructor_function_definition_start" */
11391
11392 /* Line 1009 of yacc.c  */
11393 #line 240 "grammar.y"
11394         { FreeClassFunction((yyvaluep->classFunction)); };
11395
11396 /* Line 1009 of yacc.c  */
11397 #line 11398 "grammar.ec"
11398         break;
11399       case 153: /* "virtual_class_function_definition_start" */
11400
11401 /* Line 1009 of yacc.c  */
11402 #line 240 "grammar.y"
11403         { FreeClassFunction((yyvaluep->classFunction)); };
11404
11405 /* Line 1009 of yacc.c  */
11406 #line 11407 "grammar.ec"
11407         break;
11408       case 154: /* "class_function_definition_start_error" */
11409
11410 /* Line 1009 of yacc.c  */
11411 #line 240 "grammar.y"
11412         { FreeClassFunction((yyvaluep->classFunction)); };
11413
11414 /* Line 1009 of yacc.c  */
11415 #line 11416 "grammar.ec"
11416         break;
11417       case 155: /* "virtual_class_function_definition_start_error" */
11418
11419 /* Line 1009 of yacc.c  */
11420 #line 240 "grammar.y"
11421         { FreeClassFunction((yyvaluep->classFunction)); };
11422
11423 /* Line 1009 of yacc.c  */
11424 #line 11425 "grammar.ec"
11425         break;
11426       case 156: /* "class_function_definition" */
11427
11428 /* Line 1009 of yacc.c  */
11429 #line 240 "grammar.y"
11430         { FreeClassFunction((yyvaluep->classFunction)); };
11431
11432 /* Line 1009 of yacc.c  */
11433 #line 11434 "grammar.ec"
11434         break;
11435       case 157: /* "class_function_definition_error" */
11436
11437 /* Line 1009 of yacc.c  */
11438 #line 240 "grammar.y"
11439         { FreeClassFunction((yyvaluep->classFunction)); };
11440
11441 /* Line 1009 of yacc.c  */
11442 #line 11443 "grammar.ec"
11443         break;
11444       case 158: /* "instance_class_function_definition_start" */
11445
11446 /* Line 1009 of yacc.c  */
11447 #line 240 "grammar.y"
11448         { FreeClassFunction((yyvaluep->classFunction)); };
11449
11450 /* Line 1009 of yacc.c  */
11451 #line 11452 "grammar.ec"
11452         break;
11453       case 159: /* "instance_class_function_definition_start_error" */
11454
11455 /* Line 1009 of yacc.c  */
11456 #line 240 "grammar.y"
11457         { FreeClassFunction((yyvaluep->classFunction)); };
11458
11459 /* Line 1009 of yacc.c  */
11460 #line 11461 "grammar.ec"
11461         break;
11462       case 160: /* "instance_class_function_definition" */
11463
11464 /* Line 1009 of yacc.c  */
11465 #line 240 "grammar.y"
11466         { FreeClassFunction((yyvaluep->classFunction)); };
11467
11468 /* Line 1009 of yacc.c  */
11469 #line 11470 "grammar.ec"
11470         break;
11471       case 161: /* "instance_class_function_definition_error" */
11472
11473 /* Line 1009 of yacc.c  */
11474 #line 240 "grammar.y"
11475         { FreeClassFunction((yyvaluep->classFunction)); };
11476
11477 /* Line 1009 of yacc.c  */
11478 #line 11479 "grammar.ec"
11479         break;
11480       case 162: /* "data_member_initialization" */
11481
11482 /* Line 1009 of yacc.c  */
11483 #line 238 "grammar.y"
11484         { FreeMemberInit((yyvaluep->memberInit)); };
11485
11486 /* Line 1009 of yacc.c  */
11487 #line 11488 "grammar.ec"
11488         break;
11489       case 163: /* "data_member_initialization_error" */
11490
11491 /* Line 1009 of yacc.c  */
11492 #line 238 "grammar.y"
11493         { FreeMemberInit((yyvaluep->memberInit)); };
11494
11495 /* Line 1009 of yacc.c  */
11496 #line 11497 "grammar.ec"
11497         break;
11498       case 164: /* "data_member_initialization_list" */
11499
11500 /* Line 1009 of yacc.c  */
11501 #line 263 "grammar.y"
11502         { FreeList((yyvaluep->list), FreeMemberInit); };
11503
11504 /* Line 1009 of yacc.c  */
11505 #line 11506 "grammar.ec"
11506         break;
11507       case 165: /* "data_member_initialization_list_error" */
11508
11509 /* Line 1009 of yacc.c  */
11510 #line 263 "grammar.y"
11511         { FreeList((yyvaluep->list), FreeMemberInit); };
11512
11513 /* Line 1009 of yacc.c  */
11514 #line 11515 "grammar.ec"
11515         break;
11516       case 166: /* "data_member_initialization_list_coloned" */
11517
11518 /* Line 1009 of yacc.c  */
11519 #line 263 "grammar.y"
11520         { FreeList((yyvaluep->list), FreeMemberInit); };
11521
11522 /* Line 1009 of yacc.c  */
11523 #line 11524 "grammar.ec"
11524         break;
11525       case 167: /* "members_initialization_list_coloned" */
11526
11527 /* Line 1009 of yacc.c  */
11528 #line 264 "grammar.y"
11529         { FreeList((yyvaluep->list), FreeMembersInit); };
11530
11531 /* Line 1009 of yacc.c  */
11532 #line 11533 "grammar.ec"
11533         break;
11534       case 168: /* "members_initialization_list" */
11535
11536 /* Line 1009 of yacc.c  */
11537 #line 264 "grammar.y"
11538         { FreeList((yyvaluep->list), FreeMembersInit); };
11539
11540 /* Line 1009 of yacc.c  */
11541 #line 11542 "grammar.ec"
11542         break;
11543       case 169: /* "members_initialization_list_error" */
11544
11545 /* Line 1009 of yacc.c  */
11546 #line 264 "grammar.y"
11547         { FreeList((yyvaluep->list), FreeMembersInit); };
11548
11549 /* Line 1009 of yacc.c  */
11550 #line 11551 "grammar.ec"
11551         break;
11552       case 170: /* "instantiation_named" */
11553
11554 /* Line 1009 of yacc.c  */
11555 #line 236 "grammar.y"
11556         { FreeInstance((yyvaluep->instance)); };
11557
11558 /* Line 1009 of yacc.c  */
11559 #line 11560 "grammar.ec"
11560         break;
11561       case 171: /* "instantiation_named_error" */
11562
11563 /* Line 1009 of yacc.c  */
11564 #line 236 "grammar.y"
11565         { FreeInstance((yyvaluep->instance)); };
11566
11567 /* Line 1009 of yacc.c  */
11568 #line 11569 "grammar.ec"
11569         break;
11570       case 175: /* "instantiation_unnamed" */
11571
11572 /* Line 1009 of yacc.c  */
11573 #line 236 "grammar.y"
11574         { FreeInstance((yyvaluep->instance)); };
11575
11576 /* Line 1009 of yacc.c  */
11577 #line 11578 "grammar.ec"
11578         break;
11579       case 176: /* "instantiation_unnamed_error" */
11580
11581 /* Line 1009 of yacc.c  */
11582 #line 236 "grammar.y"
11583         { FreeInstance((yyvaluep->instance)); };
11584
11585 /* Line 1009 of yacc.c  */
11586 #line 11587 "grammar.ec"
11587         break;
11588       case 179: /* "default_property" */
11589
11590 /* Line 1009 of yacc.c  */
11591 #line 238 "grammar.y"
11592         { FreeMemberInit((yyvaluep->memberInit)); };
11593
11594 /* Line 1009 of yacc.c  */
11595 #line 11596 "grammar.ec"
11596         break;
11597       case 180: /* "default_property_error" */
11598
11599 /* Line 1009 of yacc.c  */
11600 #line 238 "grammar.y"
11601         { FreeMemberInit((yyvaluep->memberInit)); };
11602
11603 /* Line 1009 of yacc.c  */
11604 #line 11605 "grammar.ec"
11605         break;
11606       case 181: /* "default_property_list" */
11607
11608 /* Line 1009 of yacc.c  */
11609 #line 263 "grammar.y"
11610         { FreeList((yyvaluep->list), FreeMemberInit); };
11611
11612 /* Line 1009 of yacc.c  */
11613 #line 11614 "grammar.ec"
11614         break;
11615       case 182: /* "default_property_list_error" */
11616
11617 /* Line 1009 of yacc.c  */
11618 #line 263 "grammar.y"
11619         { FreeList((yyvaluep->list), FreeMemberInit); };
11620
11621 /* Line 1009 of yacc.c  */
11622 #line 11623 "grammar.ec"
11623         break;
11624       case 185: /* "property" */
11625
11626 /* Line 1009 of yacc.c  */
11627 #line 249 "grammar.y"
11628         { FreeProperty((yyvaluep->prop)); };
11629
11630 /* Line 1009 of yacc.c  */
11631 #line 11632 "grammar.ec"
11632         break;
11633       case 196: /* "struct_declaration" */
11634
11635 /* Line 1009 of yacc.c  */
11636 #line 247 "grammar.y"
11637         { FreeClassDef((yyvaluep->classDef)); };
11638
11639 /* Line 1009 of yacc.c  */
11640 #line 11641 "grammar.ec"
11641         break;
11642       case 197: /* "struct_declaration_error" */
11643
11644 /* Line 1009 of yacc.c  */
11645 #line 247 "grammar.y"
11646         { FreeClassDef((yyvaluep->classDef)); };
11647
11648 /* Line 1009 of yacc.c  */
11649 #line 11650 "grammar.ec"
11650         break;
11651       case 198: /* "struct_declaration_list" */
11652
11653 /* Line 1009 of yacc.c  */
11654 #line 262 "grammar.y"
11655         { FreeList((yyvaluep->list), FreeClassDef); };
11656
11657 /* Line 1009 of yacc.c  */
11658 #line 11659 "grammar.ec"
11659         break;
11660       case 199: /* "struct_declaration_list_error" */
11661
11662 /* Line 1009 of yacc.c  */
11663 #line 262 "grammar.y"
11664         { FreeList((yyvaluep->list), FreeClassDef); };
11665
11666 /* Line 1009 of yacc.c  */
11667 #line 11668 "grammar.ec"
11668         break;
11669       case 200: /* "template_datatype" */
11670
11671 /* Line 1009 of yacc.c  */
11672 #line 268 "grammar.y"
11673         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11674
11675 /* Line 1009 of yacc.c  */
11676 #line 11677 "grammar.ec"
11677         break;
11678       case 201: /* "template_type_argument" */
11679
11680 /* Line 1009 of yacc.c  */
11681 #line 267 "grammar.y"
11682         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11683
11684 /* Line 1009 of yacc.c  */
11685 #line 11686 "grammar.ec"
11686         break;
11687       case 202: /* "template_type_parameter" */
11688
11689 /* Line 1009 of yacc.c  */
11690 #line 266 "grammar.y"
11691         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11692
11693 /* Line 1009 of yacc.c  */
11694 #line 11695 "grammar.ec"
11695         break;
11696       case 203: /* "template_identifier_argument" */
11697
11698 /* Line 1009 of yacc.c  */
11699 #line 267 "grammar.y"
11700         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11701
11702 /* Line 1009 of yacc.c  */
11703 #line 11704 "grammar.ec"
11704         break;
11705       case 204: /* "template_identifier_parameter" */
11706
11707 /* Line 1009 of yacc.c  */
11708 #line 266 "grammar.y"
11709         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11710
11711 /* Line 1009 of yacc.c  */
11712 #line 11713 "grammar.ec"
11713         break;
11714       case 205: /* "template_expression_argument" */
11715
11716 /* Line 1009 of yacc.c  */
11717 #line 267 "grammar.y"
11718         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11719
11720 /* Line 1009 of yacc.c  */
11721 #line 11722 "grammar.ec"
11722         break;
11723       case 206: /* "template_expression_parameter" */
11724
11725 /* Line 1009 of yacc.c  */
11726 #line 266 "grammar.y"
11727         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11728
11729 /* Line 1009 of yacc.c  */
11730 #line 11731 "grammar.ec"
11731         break;
11732       case 207: /* "template_parameter" */
11733
11734 /* Line 1009 of yacc.c  */
11735 #line 266 "grammar.y"
11736         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11737
11738 /* Line 1009 of yacc.c  */
11739 #line 11740 "grammar.ec"
11740         break;
11741       case 208: /* "template_parameters_list" */
11742
11743 /* Line 1009 of yacc.c  */
11744 #line 269 "grammar.y"
11745         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11746
11747 /* Line 1009 of yacc.c  */
11748 #line 11749 "grammar.ec"
11749         break;
11750       case 209: /* "template_argument" */
11751
11752 /* Line 1009 of yacc.c  */
11753 #line 267 "grammar.y"
11754         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11755
11756 /* Line 1009 of yacc.c  */
11757 #line 11758 "grammar.ec"
11758         break;
11759       case 210: /* "template_arguments_list" */
11760
11761 /* Line 1009 of yacc.c  */
11762 #line 270 "grammar.y"
11763         { FreeList((yyvaluep->list), FreeTemplateArgument); };
11764
11765 /* Line 1009 of yacc.c  */
11766 #line 11767 "grammar.ec"
11767         break;
11768       case 211: /* "class_entry" */
11769
11770 /* Line 1009 of yacc.c  */
11771 #line 244 "grammar.y"
11772         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11773
11774 /* Line 1009 of yacc.c  */
11775 #line 11776 "grammar.ec"
11776         break;
11777       case 212: /* "class_decl" */
11778
11779 /* Line 1009 of yacc.c  */
11780 #line 245 "grammar.y"
11781         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11782
11783 /* Line 1009 of yacc.c  */
11784 #line 11785 "grammar.ec"
11785         break;
11786       case 213: /* "class" */
11787
11788 /* Line 1009 of yacc.c  */
11789 #line 246 "grammar.y"
11790         { FreeClass((yyvaluep->_class)); };
11791
11792 /* Line 1009 of yacc.c  */
11793 #line 11794 "grammar.ec"
11794         break;
11795       case 214: /* "class_head" */
11796
11797 /* Line 1009 of yacc.c  */
11798 #line 246 "grammar.y"
11799         { FreeClass((yyvaluep->_class)); };
11800
11801 /* Line 1009 of yacc.c  */
11802 #line 11803 "grammar.ec"
11803         break;
11804       case 215: /* "class_error" */
11805
11806 /* Line 1009 of yacc.c  */
11807 #line 246 "grammar.y"
11808         { FreeClass((yyvaluep->_class)); };
11809
11810 /* Line 1009 of yacc.c  */
11811 #line 11812 "grammar.ec"
11812         break;
11813       case 216: /* "identifier" */
11814
11815 /* Line 1009 of yacc.c  */
11816 #line 200 "grammar.y"
11817         { FreeIdentifier((yyvaluep->id)); };
11818
11819 /* Line 1009 of yacc.c  */
11820 #line 11821 "grammar.ec"
11821         break;
11822       case 217: /* "primary_expression" */
11823
11824 /* Line 1009 of yacc.c  */
11825 #line 202 "grammar.y"
11826         { FreeExpression((yyvaluep->exp)); };
11827
11828 /* Line 1009 of yacc.c  */
11829 #line 11830 "grammar.ec"
11830         break;
11831       case 218: /* "i18n_string" */
11832
11833 /* Line 1009 of yacc.c  */
11834 #line 202 "grammar.y"
11835         { FreeExpression((yyvaluep->exp)); };
11836
11837 /* Line 1009 of yacc.c  */
11838 #line 11839 "grammar.ec"
11839         break;
11840       case 223: /* "primary_expression_error" */
11841
11842 /* Line 1009 of yacc.c  */
11843 #line 202 "grammar.y"
11844         { FreeExpression((yyvaluep->exp)); };
11845
11846 /* Line 1009 of yacc.c  */
11847 #line 11848 "grammar.ec"
11848         break;
11849       case 224: /* "postfix_expression" */
11850
11851 /* Line 1009 of yacc.c  */
11852 #line 202 "grammar.y"
11853         { FreeExpression((yyvaluep->exp)); };
11854
11855 /* Line 1009 of yacc.c  */
11856 #line 11857 "grammar.ec"
11857         break;
11858       case 225: /* "argument_expression_list" */
11859
11860 /* Line 1009 of yacc.c  */
11861 #line 251 "grammar.y"
11862         { FreeList((yyvaluep->list), FreeExpression); };
11863
11864 /* Line 1009 of yacc.c  */
11865 #line 11866 "grammar.ec"
11866         break;
11867       case 226: /* "argument_expression_list_error" */
11868
11869 /* Line 1009 of yacc.c  */
11870 #line 251 "grammar.y"
11871         { FreeList((yyvaluep->list), FreeExpression); };
11872
11873 /* Line 1009 of yacc.c  */
11874 #line 11875 "grammar.ec"
11875         break;
11876       case 228: /* "unary_expression" */
11877
11878 /* Line 1009 of yacc.c  */
11879 #line 202 "grammar.y"
11880         { FreeExpression((yyvaluep->exp)); };
11881
11882 /* Line 1009 of yacc.c  */
11883 #line 11884 "grammar.ec"
11884         break;
11885       case 230: /* "cast_expression" */
11886
11887 /* Line 1009 of yacc.c  */
11888 #line 202 "grammar.y"
11889         { FreeExpression((yyvaluep->exp)); };
11890
11891 /* Line 1009 of yacc.c  */
11892 #line 11893 "grammar.ec"
11893         break;
11894       case 231: /* "multiplicative_expression" */
11895
11896 /* Line 1009 of yacc.c  */
11897 #line 202 "grammar.y"
11898         { FreeExpression((yyvaluep->exp)); };
11899
11900 /* Line 1009 of yacc.c  */
11901 #line 11902 "grammar.ec"
11902         break;
11903       case 232: /* "additive_expression" */
11904
11905 /* Line 1009 of yacc.c  */
11906 #line 202 "grammar.y"
11907         { FreeExpression((yyvaluep->exp)); };
11908
11909 /* Line 1009 of yacc.c  */
11910 #line 11911 "grammar.ec"
11911         break;
11912       case 233: /* "shift_expression" */
11913
11914 /* Line 1009 of yacc.c  */
11915 #line 202 "grammar.y"
11916         { FreeExpression((yyvaluep->exp)); };
11917
11918 /* Line 1009 of yacc.c  */
11919 #line 11920 "grammar.ec"
11920         break;
11921       case 235: /* "relational_expression" */
11922
11923 /* Line 1009 of yacc.c  */
11924 #line 202 "grammar.y"
11925         { FreeExpression((yyvaluep->exp)); };
11926
11927 /* Line 1009 of yacc.c  */
11928 #line 11929 "grammar.ec"
11929         break;
11930       case 236: /* "equality_expression" */
11931
11932 /* Line 1009 of yacc.c  */
11933 #line 202 "grammar.y"
11934         { FreeExpression((yyvaluep->exp)); };
11935
11936 /* Line 1009 of yacc.c  */
11937 #line 11938 "grammar.ec"
11938         break;
11939       case 237: /* "and_expression" */
11940
11941 /* Line 1009 of yacc.c  */
11942 #line 202 "grammar.y"
11943         { FreeExpression((yyvaluep->exp)); };
11944
11945 /* Line 1009 of yacc.c  */
11946 #line 11947 "grammar.ec"
11947         break;
11948       case 238: /* "exclusive_or_expression" */
11949
11950 /* Line 1009 of yacc.c  */
11951 #line 202 "grammar.y"
11952         { FreeExpression((yyvaluep->exp)); };
11953
11954 /* Line 1009 of yacc.c  */
11955 #line 11956 "grammar.ec"
11956         break;
11957       case 239: /* "inclusive_or_expression" */
11958
11959 /* Line 1009 of yacc.c  */
11960 #line 202 "grammar.y"
11961         { FreeExpression((yyvaluep->exp)); };
11962
11963 /* Line 1009 of yacc.c  */
11964 #line 11965 "grammar.ec"
11965         break;
11966       case 240: /* "logical_and_expression" */
11967
11968 /* Line 1009 of yacc.c  */
11969 #line 202 "grammar.y"
11970         { FreeExpression((yyvaluep->exp)); };
11971
11972 /* Line 1009 of yacc.c  */
11973 #line 11974 "grammar.ec"
11974         break;
11975       case 241: /* "logical_or_expression" */
11976
11977 /* Line 1009 of yacc.c  */
11978 #line 202 "grammar.y"
11979         { FreeExpression((yyvaluep->exp)); };
11980
11981 /* Line 1009 of yacc.c  */
11982 #line 11983 "grammar.ec"
11983         break;
11984       case 242: /* "conditional_expression" */
11985
11986 /* Line 1009 of yacc.c  */
11987 #line 202 "grammar.y"
11988         { FreeExpression((yyvaluep->exp)); };
11989
11990 /* Line 1009 of yacc.c  */
11991 #line 11992 "grammar.ec"
11992         break;
11993       case 243: /* "assignment_expression" */
11994
11995 /* Line 1009 of yacc.c  */
11996 #line 202 "grammar.y"
11997         { FreeExpression((yyvaluep->exp)); };
11998
11999 /* Line 1009 of yacc.c  */
12000 #line 12001 "grammar.ec"
12001         break;
12002       case 245: /* "expression" */
12003
12004 /* Line 1009 of yacc.c  */
12005 #line 251 "grammar.y"
12006         { FreeList((yyvaluep->list), FreeExpression); };
12007
12008 /* Line 1009 of yacc.c  */
12009 #line 12010 "grammar.ec"
12010         break;
12011       case 247: /* "postfix_expression_error" */
12012
12013 /* Line 1009 of yacc.c  */
12014 #line 202 "grammar.y"
12015         { FreeExpression((yyvaluep->exp)); };
12016
12017 /* Line 1009 of yacc.c  */
12018 #line 12019 "grammar.ec"
12019         break;
12020       case 249: /* "unary_expression_error" */
12021
12022 /* Line 1009 of yacc.c  */
12023 #line 202 "grammar.y"
12024         { FreeExpression((yyvaluep->exp)); };
12025
12026 /* Line 1009 of yacc.c  */
12027 #line 12028 "grammar.ec"
12028         break;
12029       case 250: /* "cast_expression_error" */
12030
12031 /* Line 1009 of yacc.c  */
12032 #line 202 "grammar.y"
12033         { FreeExpression((yyvaluep->exp)); };
12034
12035 /* Line 1009 of yacc.c  */
12036 #line 12037 "grammar.ec"
12037         break;
12038       case 251: /* "multiplicative_expression_error" */
12039
12040 /* Line 1009 of yacc.c  */
12041 #line 202 "grammar.y"
12042         { FreeExpression((yyvaluep->exp)); };
12043
12044 /* Line 1009 of yacc.c  */
12045 #line 12046 "grammar.ec"
12046         break;
12047       case 252: /* "additive_expression_error" */
12048
12049 /* Line 1009 of yacc.c  */
12050 #line 202 "grammar.y"
12051         { FreeExpression((yyvaluep->exp)); };
12052
12053 /* Line 1009 of yacc.c  */
12054 #line 12055 "grammar.ec"
12055         break;
12056       case 253: /* "shift_expression_error" */
12057
12058 /* Line 1009 of yacc.c  */
12059 #line 202 "grammar.y"
12060         { FreeExpression((yyvaluep->exp)); };
12061
12062 /* Line 1009 of yacc.c  */
12063 #line 12064 "grammar.ec"
12064         break;
12065       case 254: /* "relational_expression_error" */
12066
12067 /* Line 1009 of yacc.c  */
12068 #line 202 "grammar.y"
12069         { FreeExpression((yyvaluep->exp)); };
12070
12071 /* Line 1009 of yacc.c  */
12072 #line 12073 "grammar.ec"
12073         break;
12074       case 255: /* "equality_expression_error" */
12075
12076 /* Line 1009 of yacc.c  */
12077 #line 202 "grammar.y"
12078         { FreeExpression((yyvaluep->exp)); };
12079
12080 /* Line 1009 of yacc.c  */
12081 #line 12082 "grammar.ec"
12082         break;
12083       case 256: /* "and_expression_error" */
12084
12085 /* Line 1009 of yacc.c  */
12086 #line 202 "grammar.y"
12087         { FreeExpression((yyvaluep->exp)); };
12088
12089 /* Line 1009 of yacc.c  */
12090 #line 12091 "grammar.ec"
12091         break;
12092       case 257: /* "exclusive_or_expression_error" */
12093
12094 /* Line 1009 of yacc.c  */
12095 #line 202 "grammar.y"
12096         { FreeExpression((yyvaluep->exp)); };
12097
12098 /* Line 1009 of yacc.c  */
12099 #line 12100 "grammar.ec"
12100         break;
12101       case 258: /* "inclusive_or_expression_error" */
12102
12103 /* Line 1009 of yacc.c  */
12104 #line 202 "grammar.y"
12105         { FreeExpression((yyvaluep->exp)); };
12106
12107 /* Line 1009 of yacc.c  */
12108 #line 12109 "grammar.ec"
12109         break;
12110       case 259: /* "logical_and_expression_error" */
12111
12112 /* Line 1009 of yacc.c  */
12113 #line 202 "grammar.y"
12114         { FreeExpression((yyvaluep->exp)); };
12115
12116 /* Line 1009 of yacc.c  */
12117 #line 12118 "grammar.ec"
12118         break;
12119       case 260: /* "logical_or_expression_error" */
12120
12121 /* Line 1009 of yacc.c  */
12122 #line 202 "grammar.y"
12123         { FreeExpression((yyvaluep->exp)); };
12124
12125 /* Line 1009 of yacc.c  */
12126 #line 12127 "grammar.ec"
12127         break;
12128       case 261: /* "conditional_expression_error" */
12129
12130 /* Line 1009 of yacc.c  */
12131 #line 202 "grammar.y"
12132         { FreeExpression((yyvaluep->exp)); };
12133
12134 /* Line 1009 of yacc.c  */
12135 #line 12136 "grammar.ec"
12136         break;
12137       case 262: /* "assignment_expression_error" */
12138
12139 /* Line 1009 of yacc.c  */
12140 #line 202 "grammar.y"
12141         { FreeExpression((yyvaluep->exp)); };
12142
12143 /* Line 1009 of yacc.c  */
12144 #line 12145 "grammar.ec"
12145         break;
12146       case 263: /* "expression_error" */
12147
12148 /* Line 1009 of yacc.c  */
12149 #line 251 "grammar.y"
12150         { FreeList((yyvaluep->list), FreeExpression); };
12151
12152 /* Line 1009 of yacc.c  */
12153 #line 12154 "grammar.ec"
12154         break;
12155       case 265: /* "constant_expression" */
12156
12157 /* Line 1009 of yacc.c  */
12158 #line 202 "grammar.y"
12159         { FreeExpression((yyvaluep->exp)); };
12160
12161 /* Line 1009 of yacc.c  */
12162 #line 12163 "grammar.ec"
12163         break;
12164       case 266: /* "constant_expression_error" */
12165
12166 /* Line 1009 of yacc.c  */
12167 #line 202 "grammar.y"
12168         { FreeExpression((yyvaluep->exp)); };
12169
12170 /* Line 1009 of yacc.c  */
12171 #line 12172 "grammar.ec"
12172         break;
12173       case 267: /* "storage_class_specifier" */
12174
12175 /* Line 1009 of yacc.c  */
12176 #line 213 "grammar.y"
12177         { FreeSpecifier((yyvaluep->specifier)); };
12178
12179 /* Line 1009 of yacc.c  */
12180 #line 12181 "grammar.ec"
12181         break;
12182       case 268: /* "external_storage_class_specifier" */
12183
12184 /* Line 1009 of yacc.c  */
12185 #line 213 "grammar.y"
12186         { FreeSpecifier((yyvaluep->specifier)); };
12187
12188 /* Line 1009 of yacc.c  */
12189 #line 12190 "grammar.ec"
12190         break;
12191       case 269: /* "enumerator" */
12192
12193 /* Line 1009 of yacc.c  */
12194 #line 218 "grammar.y"
12195         { FreeEnumerator((yyvaluep->enumerator)); };
12196
12197 /* Line 1009 of yacc.c  */
12198 #line 12199 "grammar.ec"
12199         break;
12200       case 270: /* "enumerator_list" */
12201
12202 /* Line 1009 of yacc.c  */
12203 #line 252 "grammar.y"
12204         { FreeList((yyvaluep->list), FreeEnumerator); };
12205
12206 /* Line 1009 of yacc.c  */
12207 #line 12208 "grammar.ec"
12208         break;
12209       case 272: /* "enum_specifier_nocompound" */
12210
12211 /* Line 1009 of yacc.c  */
12212 #line 213 "grammar.y"
12213         { FreeSpecifier((yyvaluep->specifier)); };
12214
12215 /* Line 1009 of yacc.c  */
12216 #line 12217 "grammar.ec"
12217         break;
12218       case 273: /* "enum_specifier_compound" */
12219
12220 /* Line 1009 of yacc.c  */
12221 #line 213 "grammar.y"
12222         { FreeSpecifier((yyvaluep->specifier)); };
12223
12224 /* Line 1009 of yacc.c  */
12225 #line 12226 "grammar.ec"
12226         break;
12227       case 274: /* "enum_specifier_compound_error" */
12228
12229 /* Line 1009 of yacc.c  */
12230 #line 213 "grammar.y"
12231         { FreeSpecifier((yyvaluep->specifier)); };
12232
12233 /* Line 1009 of yacc.c  */
12234 #line 12235 "grammar.ec"
12235         break;
12236       case 276: /* "enum_class" */
12237
12238 /* Line 1009 of yacc.c  */
12239 #line 213 "grammar.y"
12240         { FreeSpecifier((yyvaluep->specifier)); };
12241
12242 /* Line 1009 of yacc.c  */
12243 #line 12244 "grammar.ec"
12244         break;
12245       case 277: /* "enum_class_error" */
12246
12247 /* Line 1009 of yacc.c  */
12248 #line 213 "grammar.y"
12249         { FreeSpecifier((yyvaluep->specifier)); };
12250
12251 /* Line 1009 of yacc.c  */
12252 #line 12253 "grammar.ec"
12253         break;
12254       case 278: /* "class_specifier" */
12255
12256 /* Line 1009 of yacc.c  */
12257 #line 213 "grammar.y"
12258         { FreeSpecifier((yyvaluep->specifier)); };
12259
12260 /* Line 1009 of yacc.c  */
12261 #line 12262 "grammar.ec"
12262         break;
12263       case 279: /* "class_specifier_error" */
12264
12265 /* Line 1009 of yacc.c  */
12266 #line 213 "grammar.y"
12267         { FreeSpecifier((yyvaluep->specifier)); };
12268
12269 /* Line 1009 of yacc.c  */
12270 #line 12271 "grammar.ec"
12271         break;
12272       case 280: /* "ext_storage" */
12273
12274 /* Line 1009 of yacc.c  */
12275 #line 213 "grammar.y"
12276         { FreeSpecifier((yyvaluep->specifier)); };
12277
12278 /* Line 1009 of yacc.c  */
12279 #line 12280 "grammar.ec"
12280         break;
12281       case 281: /* "type_qualifier" */
12282
12283 /* Line 1009 of yacc.c  */
12284 #line 213 "grammar.y"
12285         { FreeSpecifier((yyvaluep->specifier)); };
12286
12287 /* Line 1009 of yacc.c  */
12288 #line 12289 "grammar.ec"
12289         break;
12290       case 282: /* "type_qualifier_list" */
12291
12292 /* Line 1009 of yacc.c  */
12293 #line 253 "grammar.y"
12294         { FreeList((yyvaluep->list), FreeSpecifier); };
12295
12296 /* Line 1009 of yacc.c  */
12297 #line 12298 "grammar.ec"
12298         break;
12299       case 283: /* "type_specifier" */
12300
12301 /* Line 1009 of yacc.c  */
12302 #line 213 "grammar.y"
12303         { FreeSpecifier((yyvaluep->specifier)); };
12304
12305 /* Line 1009 of yacc.c  */
12306 #line 12307 "grammar.ec"
12307         break;
12308       case 284: /* "strict_type_specifier" */
12309
12310 /* Line 1009 of yacc.c  */
12311 #line 213 "grammar.y"
12312         { FreeSpecifier((yyvaluep->specifier)); };
12313
12314 /* Line 1009 of yacc.c  */
12315 #line 12316 "grammar.ec"
12316         break;
12317       case 285: /* "struct_declarator" */
12318
12319 /* Line 1009 of yacc.c  */
12320 #line 219 "grammar.y"
12321         { FreeDeclarator((yyvaluep->declarator)); };
12322
12323 /* Line 1009 of yacc.c  */
12324 #line 12325 "grammar.ec"
12325         break;
12326       case 286: /* "struct_declarator_list" */
12327
12328 /* Line 1009 of yacc.c  */
12329 #line 255 "grammar.y"
12330         { FreeList((yyvaluep->list), FreeDeclarator); };
12331
12332 /* Line 1009 of yacc.c  */
12333 #line 12334 "grammar.ec"
12334         break;
12335       case 287: /* "struct_entry" */
12336
12337 /* Line 1009 of yacc.c  */
12338 #line 213 "grammar.y"
12339         { FreeSpecifier((yyvaluep->specifier)); };
12340
12341 /* Line 1009 of yacc.c  */
12342 #line 12343 "grammar.ec"
12343         break;
12344       case 288: /* "struct_or_union_specifier_compound" */
12345
12346 /* Line 1009 of yacc.c  */
12347 #line 213 "grammar.y"
12348         { FreeSpecifier((yyvaluep->specifier)); };
12349
12350 /* Line 1009 of yacc.c  */
12351 #line 12352 "grammar.ec"
12352         break;
12353       case 289: /* "struct_or_union_specifier_compound_error" */
12354
12355 /* Line 1009 of yacc.c  */
12356 #line 213 "grammar.y"
12357         { FreeSpecifier((yyvaluep->specifier)); };
12358
12359 /* Line 1009 of yacc.c  */
12360 #line 12361 "grammar.ec"
12361         break;
12362       case 290: /* "struct_or_union_specifier_nocompound" */
12363
12364 /* Line 1009 of yacc.c  */
12365 #line 213 "grammar.y"
12366         { FreeSpecifier((yyvaluep->specifier)); };
12367
12368 /* Line 1009 of yacc.c  */
12369 #line 12370 "grammar.ec"
12370         break;
12371       case 291: /* "struct_decl" */
12372
12373 /* Line 1009 of yacc.c  */
12374 #line 213 "grammar.y"
12375         { FreeSpecifier((yyvaluep->specifier)); };
12376
12377 /* Line 1009 of yacc.c  */
12378 #line 12379 "grammar.ec"
12379         break;
12380       case 292: /* "struct_head" */
12381
12382 /* Line 1009 of yacc.c  */
12383 #line 213 "grammar.y"
12384         { FreeSpecifier((yyvaluep->specifier)); };
12385
12386 /* Line 1009 of yacc.c  */
12387 #line 12388 "grammar.ec"
12388         break;
12389       case 293: /* "struct_class" */
12390
12391 /* Line 1009 of yacc.c  */
12392 #line 213 "grammar.y"
12393         { FreeSpecifier((yyvaluep->specifier)); };
12394
12395 /* Line 1009 of yacc.c  */
12396 #line 12397 "grammar.ec"
12397         break;
12398       case 294: /* "struct_class_error" */
12399
12400 /* Line 1009 of yacc.c  */
12401 #line 213 "grammar.y"
12402         { FreeSpecifier((yyvaluep->specifier)); };
12403
12404 /* Line 1009 of yacc.c  */
12405 #line 12406 "grammar.ec"
12406         break;
12407       case 296: /* "specifier_qualifier_list" */
12408
12409 /* Line 1009 of yacc.c  */
12410 #line 253 "grammar.y"
12411         { FreeList((yyvaluep->list), FreeSpecifier); };
12412
12413 /* Line 1009 of yacc.c  */
12414 #line 12415 "grammar.ec"
12415         break;
12416       case 297: /* "guess_specifier_qualifier_list" */
12417
12418 /* Line 1009 of yacc.c  */
12419 #line 253 "grammar.y"
12420         { FreeList((yyvaluep->list), FreeSpecifier); };
12421
12422 /* Line 1009 of yacc.c  */
12423 #line 12424 "grammar.ec"
12424         break;
12425       case 298: /* "declaration_specifiers" */
12426
12427 /* Line 1009 of yacc.c  */
12428 #line 253 "grammar.y"
12429         { FreeList((yyvaluep->list), FreeSpecifier); };
12430
12431 /* Line 1009 of yacc.c  */
12432 #line 12433 "grammar.ec"
12433         break;
12434       case 299: /* "guess_declaration_specifiers" */
12435
12436 /* Line 1009 of yacc.c  */
12437 #line 253 "grammar.y"
12438         { FreeList((yyvaluep->list), FreeSpecifier); };
12439
12440 /* Line 1009 of yacc.c  */
12441 #line 12442 "grammar.ec"
12442         break;
12443       case 300: /* "external_guess_declaration_specifiers" */
12444
12445 /* Line 1009 of yacc.c  */
12446 #line 253 "grammar.y"
12447         { FreeList((yyvaluep->list), FreeSpecifier); };
12448
12449 /* Line 1009 of yacc.c  */
12450 #line 12451 "grammar.ec"
12451         break;
12452       case 301: /* "external_guess_declaration_specifiers_error" */
12453
12454 /* Line 1009 of yacc.c  */
12455 #line 253 "grammar.y"
12456         { FreeList((yyvaluep->list), FreeSpecifier); };
12457
12458 /* Line 1009 of yacc.c  */
12459 #line 12460 "grammar.ec"
12460         break;
12461       case 302: /* "_inheritance_specifiers" */
12462
12463 /* Line 1009 of yacc.c  */
12464 #line 253 "grammar.y"
12465         { FreeList((yyvaluep->list), FreeSpecifier); };
12466
12467 /* Line 1009 of yacc.c  */
12468 #line 12469 "grammar.ec"
12469         break;
12470       case 303: /* "inheritance_specifiers" */
12471
12472 /* Line 1009 of yacc.c  */
12473 #line 253 "grammar.y"
12474         { FreeList((yyvaluep->list), FreeSpecifier); };
12475
12476 /* Line 1009 of yacc.c  */
12477 #line 12478 "grammar.ec"
12478         break;
12479       case 307: /* "identifier_list_error" */
12480
12481 /* Line 1009 of yacc.c  */
12482 #line 259 "grammar.y"
12483         { FreeList((yyvaluep->list), FreeTypeName); };
12484
12485 /* Line 1009 of yacc.c  */
12486 #line 12487 "grammar.ec"
12487         break;
12488       case 308: /* "identifier_list" */
12489
12490 /* Line 1009 of yacc.c  */
12491 #line 259 "grammar.y"
12492         { FreeList((yyvaluep->list), FreeTypeName); };
12493
12494 /* Line 1009 of yacc.c  */
12495 #line 12496 "grammar.ec"
12496         break;
12497       case 309: /* "direct_declarator_nofunction_type_ok" */
12498
12499 /* Line 1009 of yacc.c  */
12500 #line 219 "grammar.y"
12501         { FreeDeclarator((yyvaluep->declarator)); };
12502
12503 /* Line 1009 of yacc.c  */
12504 #line 12505 "grammar.ec"
12505         break;
12506       case 310: /* "direct_declarator_nofunction" */
12507
12508 /* Line 1009 of yacc.c  */
12509 #line 219 "grammar.y"
12510         { FreeDeclarator((yyvaluep->declarator)); };
12511
12512 /* Line 1009 of yacc.c  */
12513 #line 12514 "grammar.ec"
12514         break;
12515       case 311: /* "direct_declarator_function_start" */
12516
12517 /* Line 1009 of yacc.c  */
12518 #line 219 "grammar.y"
12519         { FreeDeclarator((yyvaluep->declarator)); };
12520
12521 /* Line 1009 of yacc.c  */
12522 #line 12523 "grammar.ec"
12523         break;
12524       case 312: /* "direct_declarator_function" */
12525
12526 /* Line 1009 of yacc.c  */
12527 #line 219 "grammar.y"
12528         { FreeDeclarator((yyvaluep->declarator)); };
12529
12530 /* Line 1009 of yacc.c  */
12531 #line 12532 "grammar.ec"
12532         break;
12533       case 313: /* "direct_declarator_function_error" */
12534
12535 /* Line 1009 of yacc.c  */
12536 #line 219 "grammar.y"
12537         { FreeDeclarator((yyvaluep->declarator)); };
12538
12539 /* Line 1009 of yacc.c  */
12540 #line 12541 "grammar.ec"
12541         break;
12542       case 314: /* "direct_declarator" */
12543
12544 /* Line 1009 of yacc.c  */
12545 #line 219 "grammar.y"
12546         { FreeDeclarator((yyvaluep->declarator)); };
12547
12548 /* Line 1009 of yacc.c  */
12549 #line 12550 "grammar.ec"
12550         break;
12551       case 315: /* "direct_declarator_function_start_type_ok" */
12552
12553 /* Line 1009 of yacc.c  */
12554 #line 219 "grammar.y"
12555         { FreeDeclarator((yyvaluep->declarator)); };
12556
12557 /* Line 1009 of yacc.c  */
12558 #line 12559 "grammar.ec"
12559         break;
12560       case 316: /* "direct_declarator_function_type_ok" */
12561
12562 /* Line 1009 of yacc.c  */
12563 #line 219 "grammar.y"
12564         { FreeDeclarator((yyvaluep->declarator)); };
12565
12566 /* Line 1009 of yacc.c  */
12567 #line 12568 "grammar.ec"
12568         break;
12569       case 317: /* "direct_declarator_function_error_type_ok" */
12570
12571 /* Line 1009 of yacc.c  */
12572 #line 219 "grammar.y"
12573         { FreeDeclarator((yyvaluep->declarator)); };
12574
12575 /* Line 1009 of yacc.c  */
12576 #line 12577 "grammar.ec"
12577         break;
12578       case 318: /* "direct_declarator_type_ok" */
12579
12580 /* Line 1009 of yacc.c  */
12581 #line 219 "grammar.y"
12582         { FreeDeclarator((yyvaluep->declarator)); };
12583
12584 /* Line 1009 of yacc.c  */
12585 #line 12586 "grammar.ec"
12586         break;
12587       case 319: /* "ext_decl" */
12588
12589 /* Line 1009 of yacc.c  */
12590 #line 273 "grammar.y"
12591         { FreeExtDecl((yyvaluep->extDecl)); };
12592
12593 /* Line 1009 of yacc.c  */
12594 #line 12595 "grammar.ec"
12595         break;
12596       case 321: /* "attribute_word" */
12597
12598 /* Line 1009 of yacc.c  */
12599 #line 248 "grammar.y"
12600         { delete (yyvaluep->string); };
12601
12602 /* Line 1009 of yacc.c  */
12603 #line 12604 "grammar.ec"
12604         break;
12605       case 322: /* "attribute" */
12606
12607 /* Line 1009 of yacc.c  */
12608 #line 274 "grammar.y"
12609         { FreeAttribute((yyvaluep->attribute)); };
12610
12611 /* Line 1009 of yacc.c  */
12612 #line 12613 "grammar.ec"
12613         break;
12614       case 323: /* "attribs_list" */
12615
12616 /* Line 1009 of yacc.c  */
12617 #line 275 "grammar.y"
12618         { FreeList((yyvaluep->list), FreeAttribute); };
12619
12620 /* Line 1009 of yacc.c  */
12621 #line 12622 "grammar.ec"
12622         break;
12623       case 324: /* "attrib" */
12624
12625 /* Line 1009 of yacc.c  */
12626 #line 272 "grammar.y"
12627         { FreeAttrib((yyvaluep->attrib)); };
12628
12629 /* Line 1009 of yacc.c  */
12630 #line 12631 "grammar.ec"
12631         break;
12632       case 325: /* "direct_abstract_declarator" */
12633
12634 /* Line 1009 of yacc.c  */
12635 #line 219 "grammar.y"
12636         { FreeDeclarator((yyvaluep->declarator)); };
12637
12638 /* Line 1009 of yacc.c  */
12639 #line 12640 "grammar.ec"
12640         break;
12641       case 326: /* "direct_abstract_declarator_noarray" */
12642
12643 /* Line 1009 of yacc.c  */
12644 #line 219 "grammar.y"
12645         { FreeDeclarator((yyvaluep->declarator)); };
12646
12647 /* Line 1009 of yacc.c  */
12648 #line 12649 "grammar.ec"
12649         break;
12650       case 327: /* "pointer" */
12651
12652 /* Line 1009 of yacc.c  */
12653 #line 201 "grammar.y"
12654         { FreePointer((yyvaluep->pointer)); };
12655
12656 /* Line 1009 of yacc.c  */
12657 #line 12658 "grammar.ec"
12658         break;
12659       case 328: /* "abstract_declarator" */
12660
12661 /* Line 1009 of yacc.c  */
12662 #line 219 "grammar.y"
12663         { FreeDeclarator((yyvaluep->declarator)); };
12664
12665 /* Line 1009 of yacc.c  */
12666 #line 12667 "grammar.ec"
12667         break;
12668       case 329: /* "abstract_declarator_noarray" */
12669
12670 /* Line 1009 of yacc.c  */
12671 #line 219 "grammar.y"
12672         { FreeDeclarator((yyvaluep->declarator)); };
12673
12674 /* Line 1009 of yacc.c  */
12675 #line 12676 "grammar.ec"
12676         break;
12677       case 330: /* "declarator" */
12678
12679 /* Line 1009 of yacc.c  */
12680 #line 219 "grammar.y"
12681         { FreeDeclarator((yyvaluep->declarator)); };
12682
12683 /* Line 1009 of yacc.c  */
12684 #line 12685 "grammar.ec"
12685         break;
12686       case 331: /* "declarator_type_ok" */
12687
12688 /* Line 1009 of yacc.c  */
12689 #line 219 "grammar.y"
12690         { FreeDeclarator((yyvaluep->declarator)); };
12691
12692 /* Line 1009 of yacc.c  */
12693 #line 12694 "grammar.ec"
12694         break;
12695       case 332: /* "declarator_function" */
12696
12697 /* Line 1009 of yacc.c  */
12698 #line 219 "grammar.y"
12699         { FreeDeclarator((yyvaluep->declarator)); };
12700
12701 /* Line 1009 of yacc.c  */
12702 #line 12703 "grammar.ec"
12703         break;
12704       case 333: /* "declarator_function_error" */
12705
12706 /* Line 1009 of yacc.c  */
12707 #line 219 "grammar.y"
12708         { FreeDeclarator((yyvaluep->declarator)); };
12709
12710 /* Line 1009 of yacc.c  */
12711 #line 12712 "grammar.ec"
12712         break;
12713       case 334: /* "declarator_function_type_ok" */
12714
12715 /* Line 1009 of yacc.c  */
12716 #line 219 "grammar.y"
12717         { FreeDeclarator((yyvaluep->declarator)); };
12718
12719 /* Line 1009 of yacc.c  */
12720 #line 12721 "grammar.ec"
12721         break;
12722       case 335: /* "declarator_function_error_type_ok" */
12723
12724 /* Line 1009 of yacc.c  */
12725 #line 219 "grammar.y"
12726         { FreeDeclarator((yyvaluep->declarator)); };
12727
12728 /* Line 1009 of yacc.c  */
12729 #line 12730 "grammar.ec"
12730         break;
12731       case 336: /* "declarator_nofunction_type_ok" */
12732
12733 /* Line 1009 of yacc.c  */
12734 #line 219 "grammar.y"
12735         { FreeDeclarator((yyvaluep->declarator)); };
12736
12737 /* Line 1009 of yacc.c  */
12738 #line 12739 "grammar.ec"
12739         break;
12740       case 337: /* "initializer" */
12741
12742 /* Line 1009 of yacc.c  */
12743 #line 225 "grammar.y"
12744         { FreeInitializer((yyvaluep->initializer)); };
12745
12746 /* Line 1009 of yacc.c  */
12747 #line 12748 "grammar.ec"
12748         break;
12749       case 338: /* "initializer_error" */
12750
12751 /* Line 1009 of yacc.c  */
12752 #line 225 "grammar.y"
12753         { FreeInitializer((yyvaluep->initializer)); };
12754
12755 /* Line 1009 of yacc.c  */
12756 #line 12757 "grammar.ec"
12757         break;
12758       case 339: /* "initializer_condition" */
12759
12760 /* Line 1009 of yacc.c  */
12761 #line 225 "grammar.y"
12762         { FreeInitializer((yyvaluep->initializer)); };
12763
12764 /* Line 1009 of yacc.c  */
12765 #line 12766 "grammar.ec"
12766         break;
12767       case 340: /* "initializer_condition_error" */
12768
12769 /* Line 1009 of yacc.c  */
12770 #line 225 "grammar.y"
12771         { FreeInitializer((yyvaluep->initializer)); };
12772
12773 /* Line 1009 of yacc.c  */
12774 #line 12775 "grammar.ec"
12775         break;
12776       case 341: /* "initializer_list" */
12777
12778 /* Line 1009 of yacc.c  */
12779 #line 257 "grammar.y"
12780         { FreeList((yyvaluep->list), FreeInitializer); };
12781
12782 /* Line 1009 of yacc.c  */
12783 #line 12784 "grammar.ec"
12784         break;
12785       case 342: /* "init_declarator" */
12786
12787 /* Line 1009 of yacc.c  */
12788 #line 226 "grammar.y"
12789         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12790
12791 /* Line 1009 of yacc.c  */
12792 #line 12793 "grammar.ec"
12793         break;
12794       case 343: /* "init_declarator_error" */
12795
12796 /* Line 1009 of yacc.c  */
12797 #line 226 "grammar.y"
12798         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12799
12800 /* Line 1009 of yacc.c  */
12801 #line 12802 "grammar.ec"
12802         break;
12803       case 344: /* "init_declarator_list" */
12804
12805 /* Line 1009 of yacc.c  */
12806 #line 258 "grammar.y"
12807         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12808
12809 /* Line 1009 of yacc.c  */
12810 #line 12811 "grammar.ec"
12811         break;
12812       case 345: /* "init_declarator_list_error" */
12813
12814 /* Line 1009 of yacc.c  */
12815 #line 258 "grammar.y"
12816         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12817
12818 /* Line 1009 of yacc.c  */
12819 #line 12820 "grammar.ec"
12820         break;
12821       case 346: /* "type_name" */
12822
12823 /* Line 1009 of yacc.c  */
12824 #line 227 "grammar.y"
12825         { FreeTypeName((yyvaluep->typeName)); };
12826
12827 /* Line 1009 of yacc.c  */
12828 #line 12829 "grammar.ec"
12829         break;
12830       case 347: /* "guess_type_name" */
12831
12832 /* Line 1009 of yacc.c  */
12833 #line 227 "grammar.y"
12834         { FreeTypeName((yyvaluep->typeName)); };
12835
12836 /* Line 1009 of yacc.c  */
12837 #line 12838 "grammar.ec"
12838         break;
12839       case 348: /* "parameter_declaration" */
12840
12841 /* Line 1009 of yacc.c  */
12842 #line 227 "grammar.y"
12843         { FreeTypeName((yyvaluep->typeName)); };
12844
12845 /* Line 1009 of yacc.c  */
12846 #line 12847 "grammar.ec"
12847         break;
12848       case 349: /* "parameter_declaration_error" */
12849
12850 /* Line 1009 of yacc.c  */
12851 #line 227 "grammar.y"
12852         { FreeTypeName((yyvaluep->typeName)); };
12853
12854 /* Line 1009 of yacc.c  */
12855 #line 12856 "grammar.ec"
12856         break;
12857       case 350: /* "parameter_list" */
12858
12859 /* Line 1009 of yacc.c  */
12860 #line 259 "grammar.y"
12861         { FreeList((yyvaluep->list), FreeTypeName); };
12862
12863 /* Line 1009 of yacc.c  */
12864 #line 12865 "grammar.ec"
12865         break;
12866       case 351: /* "parameter_list_error" */
12867
12868 /* Line 1009 of yacc.c  */
12869 #line 259 "grammar.y"
12870         { FreeList((yyvaluep->list), FreeTypeName); };
12871
12872 /* Line 1009 of yacc.c  */
12873 #line 12874 "grammar.ec"
12874         break;
12875       case 352: /* "parameter_type_list" */
12876
12877 /* Line 1009 of yacc.c  */
12878 #line 259 "grammar.y"
12879         { FreeList((yyvaluep->list), FreeTypeName); };
12880
12881 /* Line 1009 of yacc.c  */
12882 #line 12883 "grammar.ec"
12883         break;
12884       case 353: /* "parameter_type_list_error" */
12885
12886 /* Line 1009 of yacc.c  */
12887 #line 259 "grammar.y"
12888         { FreeList((yyvaluep->list), FreeTypeName); };
12889
12890 /* Line 1009 of yacc.c  */
12891 #line 12892 "grammar.ec"
12892         break;
12893       case 354: /* "statement" */
12894
12895 /* Line 1009 of yacc.c  */
12896 #line 228 "grammar.y"
12897         { FreeStatement((yyvaluep->stmt)); };
12898
12899 /* Line 1009 of yacc.c  */
12900 #line 12901 "grammar.ec"
12901         break;
12902       case 355: /* "statement_error" */
12903
12904 /* Line 1009 of yacc.c  */
12905 #line 228 "grammar.y"
12906         { FreeStatement((yyvaluep->stmt)); };
12907
12908 /* Line 1009 of yacc.c  */
12909 #line 12910 "grammar.ec"
12910         break;
12911       case 359: /* "labeled_statement" */
12912
12913 /* Line 1009 of yacc.c  */
12914 #line 228 "grammar.y"
12915         { FreeStatement((yyvaluep->stmt)); };
12916
12917 /* Line 1009 of yacc.c  */
12918 #line 12919 "grammar.ec"
12919         break;
12920       case 360: /* "labeled_statement_error" */
12921
12922 /* Line 1009 of yacc.c  */
12923 #line 228 "grammar.y"
12924         { FreeStatement((yyvaluep->stmt)); };
12925
12926 /* Line 1009 of yacc.c  */
12927 #line 12928 "grammar.ec"
12928         break;
12929       case 361: /* "declaration_mode" */
12930
12931 /* Line 1009 of yacc.c  */
12932 #line 271 "grammar.y"
12933         { };
12934
12935 /* Line 1009 of yacc.c  */
12936 #line 12937 "grammar.ec"
12937         break;
12938       case 363: /* "declaration" */
12939
12940 /* Line 1009 of yacc.c  */
12941 #line 232 "grammar.y"
12942         { FreeDeclaration((yyvaluep->declaration)); };
12943
12944 /* Line 1009 of yacc.c  */
12945 #line 12946 "grammar.ec"
12946         break;
12947       case 367: /* "declaration_list" */
12948
12949 /* Line 1009 of yacc.c  */
12950 #line 256 "grammar.y"
12951         { FreeList((yyvaluep->list), FreeDeclaration); };
12952
12953 /* Line 1009 of yacc.c  */
12954 #line 12955 "grammar.ec"
12955         break;
12956       case 368: /* "declaration_list_error" */
12957
12958 /* Line 1009 of yacc.c  */
12959 #line 256 "grammar.y"
12960         { FreeList((yyvaluep->list), FreeDeclaration); };
12961
12962 /* Line 1009 of yacc.c  */
12963 #line 12964 "grammar.ec"
12964         break;
12965       case 369: /* "statement_list" */
12966
12967 /* Line 1009 of yacc.c  */
12968 #line 260 "grammar.y"
12969         { FreeList((yyvaluep->list), FreeStatement); };
12970
12971 /* Line 1009 of yacc.c  */
12972 #line 12973 "grammar.ec"
12973         break;
12974       case 370: /* "statement_list_error" */
12975
12976 /* Line 1009 of yacc.c  */
12977 #line 260 "grammar.y"
12978         { FreeList((yyvaluep->list), FreeStatement); };
12979
12980 /* Line 1009 of yacc.c  */
12981 #line 12982 "grammar.ec"
12982         break;
12983       case 371: /* "compound_inside" */
12984
12985 /* Line 1009 of yacc.c  */
12986 #line 228 "grammar.y"
12987         { FreeStatement((yyvaluep->stmt)); };
12988
12989 /* Line 1009 of yacc.c  */
12990 #line 12991 "grammar.ec"
12991         break;
12992       case 372: /* "compound_inside_error" */
12993
12994 /* Line 1009 of yacc.c  */
12995 #line 228 "grammar.y"
12996         { FreeStatement((yyvaluep->stmt)); };
12997
12998 /* Line 1009 of yacc.c  */
12999 #line 13000 "grammar.ec"
13000         break;
13001       case 373: /* "compound_start" */
13002
13003 /* Line 1009 of yacc.c  */
13004 #line 265 "grammar.y"
13005         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
13006
13007 /* Line 1009 of yacc.c  */
13008 #line 13009 "grammar.ec"
13009         break;
13010       case 374: /* "compound_statement" */
13011
13012 /* Line 1009 of yacc.c  */
13013 #line 228 "grammar.y"
13014         { FreeStatement((yyvaluep->stmt)); };
13015
13016 /* Line 1009 of yacc.c  */
13017 #line 13018 "grammar.ec"
13018         break;
13019       case 375: /* "compound_statement_error" */
13020
13021 /* Line 1009 of yacc.c  */
13022 #line 228 "grammar.y"
13023         { FreeStatement((yyvaluep->stmt)); };
13024
13025 /* Line 1009 of yacc.c  */
13026 #line 13027 "grammar.ec"
13027         break;
13028       case 376: /* "expression_statement" */
13029
13030 /* Line 1009 of yacc.c  */
13031 #line 228 "grammar.y"
13032         { FreeStatement((yyvaluep->stmt)); };
13033
13034 /* Line 1009 of yacc.c  */
13035 #line 13036 "grammar.ec"
13036         break;
13037       case 377: /* "selection_statement" */
13038
13039 /* Line 1009 of yacc.c  */
13040 #line 228 "grammar.y"
13041         { FreeStatement((yyvaluep->stmt)); };
13042
13043 /* Line 1009 of yacc.c  */
13044 #line 13045 "grammar.ec"
13045         break;
13046       case 378: /* "selection_statement_error" */
13047
13048 /* Line 1009 of yacc.c  */
13049 #line 228 "grammar.y"
13050         { FreeStatement((yyvaluep->stmt)); };
13051
13052 /* Line 1009 of yacc.c  */
13053 #line 13054 "grammar.ec"
13054         break;
13055       case 379: /* "iteration_statement" */
13056
13057 /* Line 1009 of yacc.c  */
13058 #line 228 "grammar.y"
13059         { FreeStatement((yyvaluep->stmt)); };
13060
13061 /* Line 1009 of yacc.c  */
13062 #line 13063 "grammar.ec"
13063         break;
13064       case 380: /* "iteration_statement_error" */
13065
13066 /* Line 1009 of yacc.c  */
13067 #line 228 "grammar.y"
13068         { FreeStatement((yyvaluep->stmt)); };
13069
13070 /* Line 1009 of yacc.c  */
13071 #line 13072 "grammar.ec"
13072         break;
13073       case 381: /* "jump_statement" */
13074
13075 /* Line 1009 of yacc.c  */
13076 #line 228 "grammar.y"
13077         { FreeStatement((yyvaluep->stmt)); };
13078
13079 /* Line 1009 of yacc.c  */
13080 #line 13081 "grammar.ec"
13081         break;
13082       case 382: /* "jump_statement_error" */
13083
13084 /* Line 1009 of yacc.c  */
13085 #line 228 "grammar.y"
13086         { FreeStatement((yyvaluep->stmt)); };
13087
13088 /* Line 1009 of yacc.c  */
13089 #line 13090 "grammar.ec"
13090         break;
13091       case 383: /* "function_definition" */
13092
13093 /* Line 1009 of yacc.c  */
13094 #line 233 "grammar.y"
13095         { FreeFunction((yyvaluep->function)); };
13096
13097 /* Line 1009 of yacc.c  */
13098 #line 13099 "grammar.ec"
13099         break;
13100       case 384: /* "function_definition_error" */
13101
13102 /* Line 1009 of yacc.c  */
13103 #line 233 "grammar.y"
13104         { FreeFunction((yyvaluep->function)); };
13105
13106 /* Line 1009 of yacc.c  */
13107 #line 13108 "grammar.ec"
13108         break;
13109       case 385: /* "string_literal" */
13110
13111 /* Line 1009 of yacc.c  */
13112 #line 248 "grammar.y"
13113         { delete (yyvaluep->string); };
13114
13115 /* Line 1009 of yacc.c  */
13116 #line 13117 "grammar.ec"
13117         break;
13118       case 386: /* "external_declaration" */
13119
13120 /* Line 1009 of yacc.c  */
13121 #line 234 "grammar.y"
13122         { FreeExternal((yyvaluep->external)); };
13123
13124 /* Line 1009 of yacc.c  */
13125 #line 13126 "grammar.ec"
13126         break;
13127       case 387: /* "external_declaration_error" */
13128
13129 /* Line 1009 of yacc.c  */
13130 #line 234 "grammar.y"
13131         { FreeExternal((yyvaluep->external)); };
13132
13133 /* Line 1009 of yacc.c  */
13134 #line 13135 "grammar.ec"
13135         break;
13136       case 388: /* "translation_unit_error" */
13137
13138 /* Line 1009 of yacc.c  */
13139 #line 261 "grammar.y"
13140         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13141
13142 /* Line 1009 of yacc.c  */
13143 #line 13144 "grammar.ec"
13144         break;
13145       case 389: /* "translation_unit" */
13146
13147 /* Line 1009 of yacc.c  */
13148 #line 261 "grammar.y"
13149         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
13150
13151 /* Line 1009 of yacc.c  */
13152 #line 13153 "grammar.ec"
13153         break;
13154
13155       default:
13156         break;
13157     }
13158 }
13159
13160 /* Prevent warnings from -Wmissing-prototypes.  */
13161 #ifdef YYPARSE_PARAM
13162 #if defined __STDC__ || defined __cplusplus
13163 int yyparse (void *YYPARSE_PARAM);
13164 #else
13165 int yyparse ();
13166 #endif
13167 #else /* ! YYPARSE_PARAM */
13168 #if defined __STDC__ || defined __cplusplus
13169 int yyparse (void);
13170 #else
13171 int yyparse ();
13172 #endif
13173 #endif /* ! YYPARSE_PARAM */
13174
13175
13176 /* The lookahead symbol.  */
13177 int yychar;
13178
13179 /* The semantic value of the lookahead symbol.  */
13180 YYSTYPE yylval;
13181
13182 /* Location data for the lookahead symbol.  */
13183 YYLTYPE yylloc;
13184
13185 /* Number of syntax errors so far.  */
13186 int yynerrs;
13187
13188
13189
13190 /*-------------------------.
13191 | yyparse or yypush_parse.  |
13192 `-------------------------*/
13193
13194 #ifdef YYPARSE_PARAM
13195 #if (defined __STDC__ || defined __C99__FUNC__ \
13196      || defined __cplusplus || defined _MSC_VER)
13197 int
13198 yyparse (void *YYPARSE_PARAM)
13199 #else
13200 int
13201 yyparse (YYPARSE_PARAM)
13202     void *YYPARSE_PARAM;
13203 #endif
13204 #else /* ! YYPARSE_PARAM */
13205 #if (defined __STDC__ || defined __C99__FUNC__ \
13206      || defined __cplusplus || defined _MSC_VER)
13207 int
13208 yyparse (void)
13209 #else
13210 int
13211 yyparse ()
13212
13213 #endif
13214 #endif
13215 {
13216
13217
13218     int yystate;
13219     /* Number of tokens to shift before error messages enabled.  */
13220     int yyerrstatus;
13221
13222     /* The stacks and their tools:
13223        `yyss': related to states.
13224        `yyvs': related to semantic values.
13225        `yyls': related to locations.
13226
13227        Refer to the stacks thru separate pointers, to allow yyoverflow
13228        to reallocate them elsewhere.  */
13229
13230     /* The state stack.  */
13231     yytype_int16 yyssa[YYINITDEPTH];
13232     yytype_int16 *yyss;
13233     yytype_int16 *yyssp;
13234
13235     /* The semantic value stack.  */
13236     YYSTYPE yyvsa[YYINITDEPTH];
13237     YYSTYPE *yyvs;
13238     YYSTYPE *yyvsp;
13239
13240     /* The location stack.  */
13241     YYLTYPE yylsa[YYINITDEPTH];
13242     YYLTYPE *yyls;
13243     YYLTYPE *yylsp;
13244
13245     /* The locations where the error started and ended.  */
13246     YYLTYPE yyerror_range[2];
13247
13248     YYSIZE_T yystacksize;
13249
13250   int yyn;
13251   int yyresult;
13252   /* Lookahead token as an internal (translated) token number.  */
13253   int yytoken;
13254   /* The variables used to return semantic value and location from the
13255      action routines.  */
13256   YYSTYPE yyval;
13257   YYLTYPE yyloc;
13258
13259 #if YYERROR_VERBOSE
13260   /* Buffer for error messages, and its allocated size.  */
13261   char yymsgbuf[128];
13262   char *yymsg = yymsgbuf;
13263   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
13264 #endif
13265
13266 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
13267
13268   /* The number of symbols on the RHS of the reduced rule.
13269      Keep to zero when no symbol should be popped.  */
13270   int yylen = 0;
13271
13272   yytoken = 0;
13273   yyss = yyssa;
13274   yyvs = yyvsa;
13275   yyls = yylsa;
13276   yystacksize = YYINITDEPTH;
13277
13278   YYDPRINTF ((stderr, "Starting parse\n"));
13279
13280   yystate = 0;
13281   yyerrstatus = 0;
13282   yynerrs = 0;
13283   yychar = YYEMPTY; /* Cause a token to be read.  */
13284
13285   /* Initialize stack pointers.
13286      Waste one element of value and location stack
13287      so that they stay on the same level as the state stack.
13288      The wasted elements are never initialized.  */
13289   yyssp = yyss;
13290   yyvsp = yyvs;
13291   yylsp = yyls;
13292
13293 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
13294   /* Initialize the default location before parsing starts.  */
13295   yylloc.first_line   = yylloc.last_line   = 1;
13296   yylloc.first_column = yylloc.last_column = 1;
13297 #endif
13298
13299   goto yysetstate;
13300
13301 /*------------------------------------------------------------.
13302 | yynewstate -- Push a new state, which is found in yystate.  |
13303 `------------------------------------------------------------*/
13304  yynewstate:
13305   /* In all cases, when you get here, the value and location stacks
13306      have just been pushed.  So pushing a state here evens the stacks.  */
13307   yyssp++;
13308
13309  yysetstate:
13310   *yyssp = yystate;
13311
13312   if (yyss + yystacksize - 1 <= yyssp)
13313     {
13314       /* Get the current used size of the three stacks, in elements.  */
13315       YYSIZE_T yysize = yyssp - yyss + 1;
13316
13317 #ifdef yyoverflow
13318       {
13319         /* Give user a chance to reallocate the stack.  Use copies of
13320            these so that the &'s don't force the real ones into
13321            memory.  */
13322         YYSTYPE *yyvs1 = yyvs;
13323         yytype_int16 *yyss1 = yyss;
13324         YYLTYPE *yyls1 = yyls;
13325
13326         /* Each stack pointer address is followed by the size of the
13327            data in use in that stack, in bytes.  This used to be a
13328            conditional around just the two extra args, but that might
13329            be undefined if yyoverflow is a macro.  */
13330         yyoverflow (YY_("memory exhausted"),
13331                     &yyss1, yysize * sizeof (*yyssp),
13332                     &yyvs1, yysize * sizeof (*yyvsp),
13333                     &yyls1, yysize * sizeof (*yylsp),
13334                     &yystacksize);
13335
13336         yyls = yyls1;
13337         yyss = yyss1;
13338         yyvs = yyvs1;
13339       }
13340 #else /* no yyoverflow */
13341 # ifndef YYSTACK_RELOCATE
13342       goto yyexhaustedlab;
13343 # else
13344       /* Extend the stack our own way.  */
13345       if (YYMAXDEPTH <= yystacksize)
13346         goto yyexhaustedlab;
13347       yystacksize *= 2;
13348       if (YYMAXDEPTH < yystacksize)
13349         yystacksize = YYMAXDEPTH;
13350
13351       {
13352         yytype_int16 *yyss1 = yyss;
13353         union yyalloc *yyptr =
13354           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
13355         if (! yyptr)
13356           goto yyexhaustedlab;
13357         YYSTACK_RELOCATE (yyss_alloc, yyss);
13358         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
13359         YYSTACK_RELOCATE (yyls_alloc, yyls);
13360 #  undef YYSTACK_RELOCATE
13361         if (yyss1 != yyssa)
13362           YYSTACK_FREE (yyss1);
13363       }
13364 # endif
13365 #endif /* no yyoverflow */
13366
13367       yyssp = yyss + yysize - 1;
13368       yyvsp = yyvs + yysize - 1;
13369       yylsp = yyls + yysize - 1;
13370
13371       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
13372                   (unsigned long int) yystacksize));
13373
13374       if (yyss + yystacksize - 1 <= yyssp)
13375         YYABORT;
13376     }
13377
13378   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
13379
13380   if (yystate == YYFINAL)
13381     YYACCEPT;
13382
13383   goto yybackup;
13384
13385 /*-----------.
13386 | yybackup.  |
13387 `-----------*/
13388 yybackup:
13389
13390   /* Do appropriate processing given the current state.  Read a
13391      lookahead token if we need one and don't already have one.  */
13392
13393   /* First try to decide what to do without reference to lookahead token.  */
13394   yyn = yypact[yystate];
13395   if (yyn == YYPACT_NINF)
13396     goto yydefault;
13397
13398   /* Not known => get a lookahead token if don't already have one.  */
13399
13400   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
13401   if (yychar == YYEMPTY)
13402     {
13403       YYDPRINTF ((stderr, "Reading a token: "));
13404       yychar = YYLEX;
13405     }
13406
13407   if (yychar <= YYEOF)
13408     {
13409       yychar = yytoken = YYEOF;
13410       YYDPRINTF ((stderr, "Now at end of input.\n"));
13411     }
13412   else
13413     {
13414       yytoken = YYTRANSLATE (yychar);
13415       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
13416     }
13417
13418   /* If the proper action on seeing token YYTOKEN is to reduce or to
13419      detect an error, take that action.  */
13420   yyn += yytoken;
13421   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
13422     goto yydefault;
13423   yyn = yytable[yyn];
13424   if (yyn <= 0)
13425     {
13426       if (yyn == 0 || yyn == YYTABLE_NINF)
13427         goto yyerrlab;
13428       yyn = -yyn;
13429       goto yyreduce;
13430     }
13431
13432   /* Count tokens shifted since error; after three, turn off error
13433      status.  */
13434   if (yyerrstatus)
13435     yyerrstatus--;
13436
13437   /* Shift the lookahead token.  */
13438   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
13439
13440   /* Discard the shifted token.  */
13441   yychar = YYEMPTY;
13442
13443   yystate = yyn;
13444   *++yyvsp = yylval;
13445   *++yylsp = yylloc;
13446   goto yynewstate;
13447
13448
13449 /*-----------------------------------------------------------.
13450 | yydefault -- do the default action for the current state.  |
13451 `-----------------------------------------------------------*/
13452 yydefault:
13453   yyn = yydefact[yystate];
13454   if (yyn == 0)
13455     goto yyerrlab;
13456   goto yyreduce;
13457
13458
13459 /*-----------------------------.
13460 | yyreduce -- Do a reduction.  |
13461 `-----------------------------*/
13462 yyreduce:
13463   /* yyn is the number of a rule to reduce with.  */
13464   yylen = yyr2[yyn];
13465
13466   /* If YYLEN is nonzero, implement the default value of the action:
13467      `$$ = $1'.
13468
13469      Otherwise, the following line sets YYVAL to garbage.
13470      This behavior is undocumented and Bison
13471      users should not rely upon it.  Assigning to YYVAL
13472      unconditionally makes the parser a bit smaller, and it avoids a
13473      GCC warning that YYVAL may be used uninitialized.  */
13474   yyval = yyvsp[1-yylen];
13475
13476   /* Default location.  */
13477   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
13478   YY_REDUCE_PRINT (yyn);
13479   switch (yyn)
13480     {
13481         case 2:
13482
13483 /* Line 1464 of yacc.c  */
13484 #line 283 "grammar.y"
13485     {
13486       (yyval.specifier) = null;
13487       _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13488
13489       FreeIdentifier((yyvsp[(1) - (2)].id));
13490
13491       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13492       resetScannerPos(&(yylsp[(1) - (2)]).start);
13493       yyclearin;
13494
13495       YYPOPSTACK(1);
13496       yystate = *yyssp;
13497       YY_STACK_PRINT (yyss, yyssp);
13498       YYPOPSTACK(1);
13499       yystate = *yyssp;
13500       YY_STACK_PRINT (yyss, yyssp);
13501       goto yysetstate;
13502    ;}
13503     break;
13504
13505   case 3:
13506
13507 /* Line 1464 of yacc.c  */
13508 #line 302 "grammar.y"
13509     {
13510       (yyval.specifier) = null;
13511    #ifdef PRECOMPILER
13512       _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13513
13514       FreeIdentifier((yyvsp[(1) - (2)].id));
13515
13516       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13517       resetScannerPos(&(yylsp[(1) - (2)]).start);
13518       yyclearin;
13519
13520       YYPOPSTACK(1);
13521       yystate = *yyssp;
13522       YY_STACK_PRINT (yyss, yyssp);
13523       YYPOPSTACK(1);
13524       yystate = *yyssp;
13525       YY_STACK_PRINT (yyss, yyssp);
13526       goto yysetstate;
13527    #endif
13528    ;}
13529     break;
13530
13531   case 4:
13532
13533 /* Line 1464 of yacc.c  */
13534 #line 340 "grammar.y"
13535     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
13536     break;
13537
13538   case 5:
13539
13540 /* Line 1464 of yacc.c  */
13541 #line 342 "grammar.y"
13542     {
13543    #ifdef PRECOMPILER
13544       if(!(yyvsp[(1) - (2)].id).string[0])
13545       {
13546          (yyval.specifier) = MkSpecifierName((yyvsp[(1) - (2)].id).string);
13547          FreeIdentifier((yyvsp[(1) - (2)].id));
13548          FreeIdentifier((yyvsp[(2) - (2)].id));
13549       }
13550       else
13551       {
13552          _DeclClass((yyvsp[(1) - (2)].id)._class, (yyvsp[(1) - (2)].id).string);
13553
13554          FreeIdentifier((yyvsp[(1) - (2)].id));
13555          FreeIdentifier((yyvsp[(2) - (2)].id));
13556
13557          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13558          resetScannerPos(&(yylsp[(1) - (2)]).start);
13559          yyclearin;
13560
13561          YYPOPSTACK(1);
13562          yystate = *yyssp;
13563          YY_STACK_PRINT (yyss, yyssp);
13564          YYPOPSTACK(1);
13565          yystate = *yyssp;
13566          YY_STACK_PRINT (yyss, yyssp);
13567          goto yysetstate;
13568    #else
13569          Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]);
13570          Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);
13571          yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13572    #endif
13573       }
13574    ;}
13575     break;
13576
13577   case 6:
13578
13579 /* Line 1464 of yacc.c  */
13580 #line 421 "grammar.y"
13581     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13582     break;
13583
13584   case 7:
13585
13586 /* Line 1464 of yacc.c  */
13587 #line 425 "grammar.y"
13588     { (yyval.string) = CopyString(yytext); ;}
13589     break;
13590
13591   case 9:
13592
13593 /* Line 1464 of yacc.c  */
13594 #line 429 "grammar.y"
13595     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13596     break;
13597
13598   case 10:
13599
13600 /* Line 1464 of yacc.c  */
13601 #line 431 "grammar.y"
13602     {
13603       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13604       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13605       (yyval.specifier).loc = (yyloc);
13606
13607       (yylsp[(4) - (4)]).end.pos--;
13608       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start);
13609       resetScannerPos(&(yylsp[(4) - (4)]).end);
13610       yyclearin;
13611     ;}
13612     break;
13613
13614   case 11:
13615
13616 /* Line 1464 of yacc.c  */
13617 #line 470 "grammar.y"
13618     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13619     break;
13620
13621   case 12:
13622
13623 /* Line 1464 of yacc.c  */
13624 #line 472 "grammar.y"
13625     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13626     break;
13627
13628   case 13:
13629
13630 /* Line 1464 of yacc.c  */
13631 #line 477 "grammar.y"
13632     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (3)].list), null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); ;}
13633     break;
13634
13635   case 14:
13636
13637 /* Line 1464 of yacc.c  */
13638 #line 482 "grammar.y"
13639     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (4)].list), null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); ;}
13640     break;
13641
13642   case 15:
13643
13644 /* Line 1464 of yacc.c  */
13645 #line 487 "grammar.y"
13646     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13647     break;
13648
13649   case 16:
13650
13651 /* Line 1464 of yacc.c  */
13652 #line 489 "grammar.y"
13653     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13654     break;
13655
13656   case 17:
13657
13658 /* Line 1464 of yacc.c  */
13659 #line 494 "grammar.y"
13660     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13661     break;
13662
13663   case 18:
13664
13665 /* Line 1464 of yacc.c  */
13666 #line 496 "grammar.y"
13667     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13668     break;
13669
13670   case 19:
13671
13672 /* Line 1464 of yacc.c  */
13673 #line 501 "grammar.y"
13674     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13675     break;
13676
13677   case 20:
13678
13679 /* Line 1464 of yacc.c  */
13680 #line 503 "grammar.y"
13681     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); ;}
13682     break;
13683
13684   case 21:
13685
13686 /* Line 1464 of yacc.c  */
13687 #line 508 "grammar.y"
13688     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13689     break;
13690
13691   case 22:
13692
13693 /* Line 1464 of yacc.c  */
13694 #line 510 "grammar.y"
13695     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13696     break;
13697
13698   case 23:
13699
13700 /* Line 1464 of yacc.c  */
13701 #line 512 "grammar.y"
13702     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13703     break;
13704
13705   case 24:
13706
13707 /* Line 1464 of yacc.c  */
13708 #line 514 "grammar.y"
13709     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13710     break;
13711
13712   case 25:
13713
13714 /* Line 1464 of yacc.c  */
13715 #line 516 "grammar.y"
13716     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13717     break;
13718
13719   case 26:
13720
13721 /* Line 1464 of yacc.c  */
13722 #line 520 "grammar.y"
13723     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13724     break;
13725
13726   case 27:
13727
13728 /* Line 1464 of yacc.c  */
13729 #line 524 "grammar.y"
13730     {
13731          if((yyvsp[(1) - (3)].classFunction).declarator)
13732          {
13733             (yyvsp[(1) - (3)].classFunction).declarator = MkStructDeclarator((yyvsp[(1) - (3)].classFunction).declarator, null);
13734             (yyvsp[(1) - (3)].classFunction).declarator.structDecl.attrib = (yyvsp[(2) - (3)].attrib);
13735          }
13736          ProcessClassFunctionBody((yyvsp[(1) - (3)].classFunction), null);
13737          (yyval.classFunction).loc = (yyloc);
13738       ;}
13739     break;
13740
13741   case 28:
13742
13743 /* Line 1464 of yacc.c  */
13744 #line 537 "grammar.y"
13745     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13746     break;
13747
13748   case 29:
13749
13750 /* Line 1464 of yacc.c  */
13751 #line 539 "grammar.y"
13752     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13753     break;
13754
13755   case 30:
13756
13757 /* Line 1464 of yacc.c  */
13758 #line 541 "grammar.y"
13759     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13760     break;
13761
13762   case 31:
13763
13764 /* Line 1464 of yacc.c  */
13765 #line 543 "grammar.y"
13766     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13767     break;
13768
13769   case 32:
13770
13771 /* Line 1464 of yacc.c  */
13772 #line 545 "grammar.y"
13773     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13774     break;
13775
13776   case 33:
13777
13778 /* Line 1464 of yacc.c  */
13779 #line 551 "grammar.y"
13780     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13781     break;
13782
13783   case 34:
13784
13785 /* Line 1464 of yacc.c  */
13786 #line 553 "grammar.y"
13787     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); ;}
13788     break;
13789
13790   case 35:
13791
13792 /* Line 1464 of yacc.c  */
13793 #line 558 "grammar.y"
13794     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); ;}
13795     break;
13796
13797   case 36:
13798
13799 /* Line 1464 of yacc.c  */
13800 #line 563 "grammar.y"
13801     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13802     break;
13803
13804   case 37:
13805
13806 /* Line 1464 of yacc.c  */
13807 #line 568 "grammar.y"
13808     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13809     break;
13810
13811   case 38:
13812
13813 /* Line 1464 of yacc.c  */
13814 #line 570 "grammar.y"
13815     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13816     break;
13817
13818   case 39:
13819
13820 /* Line 1464 of yacc.c  */
13821 #line 572 "grammar.y"
13822     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13823     break;
13824
13825   case 40:
13826
13827 /* Line 1464 of yacc.c  */
13828 #line 576 "grammar.y"
13829     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end;;}
13830     break;
13831
13832   case 41:
13833
13834 /* Line 1464 of yacc.c  */
13835 #line 577 "grammar.y"
13836     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13837     break;
13838
13839   case 42:
13840
13841 /* Line 1464 of yacc.c  */
13842 #line 581 "grammar.y"
13843     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end;;}
13844     break;
13845
13846   case 43:
13847
13848 /* Line 1464 of yacc.c  */
13849 #line 583 "grammar.y"
13850     {
13851          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
13852          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end;
13853
13854          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start);
13855          yyclearin;
13856          resetScannerPos(&(yylsp[(2) - (3)]).end);
13857          (yyloc).start = (yylsp[(1) - (3)]).start;
13858          (yyloc).end = (yylsp[(2) - (3)]).end;
13859       ;}
13860     break;
13861
13862   case 44:
13863
13864 /* Line 1464 of yacc.c  */
13865 #line 593 "grammar.y"
13866     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13867     break;
13868
13869   case 45:
13870
13871 /* Line 1464 of yacc.c  */
13872 #line 597 "grammar.y"
13873     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13874     break;
13875
13876   case 46:
13877
13878 /* Line 1464 of yacc.c  */
13879 #line 599 "grammar.y"
13880     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13881     break;
13882
13883   case 47:
13884
13885 /* Line 1464 of yacc.c  */
13886 #line 601 "grammar.y"
13887     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13888     break;
13889
13890   case 48:
13891
13892 /* Line 1464 of yacc.c  */
13893 #line 605 "grammar.y"
13894     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13895     break;
13896
13897   case 49:
13898
13899 /* Line 1464 of yacc.c  */
13900 #line 607 "grammar.y"
13901     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13902     break;
13903
13904   case 50:
13905
13906 /* Line 1464 of yacc.c  */
13907 #line 609 "grammar.y"
13908     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13909     break;
13910
13911   case 51:
13912
13913 /* Line 1464 of yacc.c  */
13914 #line 612 "grammar.y"
13915     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13916          {
13917             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13918             MemberInit memberInit = MkMemberInit(null, dummy);
13919             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13920             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13921             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13922           }
13923           (yyval.list) = (yyvsp[(1) - (3)].list);
13924        ;}
13925     break;
13926
13927   case 52:
13928
13929 /* Line 1464 of yacc.c  */
13930 #line 624 "grammar.y"
13931     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13932          {
13933             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13934             MemberInit memberInit = MkMemberInit(null, dummy);
13935             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13936             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13937             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13938           }
13939           (yyval.list) = (yyvsp[(1) - (3)].list);
13940        ;}
13941     break;
13942
13943   case 53:
13944
13945 /* Line 1464 of yacc.c  */
13946 #line 635 "grammar.y"
13947     {
13948          Initializer dummy = MkInitializerAssignment(MkExpDummy());
13949          MemberInit memberInit = MkMemberInit(null, dummy);
13950          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start;
13951          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start;
13952
13953          (yyval.list) = MkList();
13954          ListAdd((yyval.list), memberInit);
13955
13956          dummy = MkInitializerAssignment(MkExpDummy());
13957          memberInit = MkMemberInit(null, dummy);
13958          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end;
13959          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end;
13960          ListAdd((yyval.list), memberInit);
13961       ;}
13962     break;
13963
13964   case 54:
13965
13966 /* Line 1464 of yacc.c  */
13967 #line 654 "grammar.y"
13968     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13969     break;
13970
13971   case 55:
13972
13973 /* Line 1464 of yacc.c  */
13974 #line 656 "grammar.y"
13975     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13976     break;
13977
13978   case 56:
13979
13980 /* Line 1464 of yacc.c  */
13981 #line 660 "grammar.y"
13982     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
13983     break;
13984
13985   case 57:
13986
13987 /* Line 1464 of yacc.c  */
13988 #line 661 "grammar.y"
13989     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13990     break;
13991
13992   case 58:
13993
13994 /* Line 1464 of yacc.c  */
13995 #line 662 "grammar.y"
13996     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13997     break;
13998
13999   case 59:
14000
14001 /* Line 1464 of yacc.c  */
14002 #line 663 "grammar.y"
14003     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14004     break;
14005
14006   case 60:
14007
14008 /* Line 1464 of yacc.c  */
14009 #line 664 "grammar.y"
14010     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14011     break;
14012
14013   case 61:
14014
14015 /* Line 1464 of yacc.c  */
14016 #line 665 "grammar.y"
14017     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14018     break;
14019
14020   case 63:
14021
14022 /* Line 1464 of yacc.c  */
14023 #line 668 "grammar.y"
14024     {
14025       MembersInit members = (MembersInit)(yyval.list)->last;
14026       if(members.type == dataMembersInit)
14027          members.loc.end = (yyloc).end;
14028       else
14029       {
14030          MembersInit members = MkMembersInitList(MkList());
14031          ListAdd((yyval.list), members);
14032          members.loc = (yylsp[(2) - (2)]);
14033       }
14034       (yyval.list) = (yyvsp[(1) - (2)].list);
14035    ;}
14036     break;
14037
14038   case 64:
14039
14040 /* Line 1464 of yacc.c  */
14041 #line 680 "grammar.y"
14042     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
14043     break;
14044
14045   case 66:
14046
14047 /* Line 1464 of yacc.c  */
14048 #line 685 "grammar.y"
14049     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14050     break;
14051
14052   case 67:
14053
14054 /* Line 1464 of yacc.c  */
14055 #line 686 "grammar.y"
14056     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14057     break;
14058
14059   case 68:
14060
14061 /* Line 1464 of yacc.c  */
14062 #line 687 "grammar.y"
14063     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14064     break;
14065
14066   case 69:
14067
14068 /* Line 1464 of yacc.c  */
14069 #line 691 "grammar.y"
14070     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14071     break;
14072
14073   case 70:
14074
14075 /* Line 1464 of yacc.c  */
14076 #line 692 "grammar.y"
14077     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14078     break;
14079
14080   case 71:
14081
14082 /* Line 1464 of yacc.c  */
14083 #line 693 "grammar.y"
14084     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14085     break;
14086
14087   case 72:
14088
14089 /* Line 1464 of yacc.c  */
14090 #line 694 "grammar.y"
14091     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14092     break;
14093
14094   case 73:
14095
14096 /* Line 1464 of yacc.c  */
14097 #line 695 "grammar.y"
14098     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
14099     break;
14100
14101   case 74:
14102
14103 /* Line 1464 of yacc.c  */
14104 #line 696 "grammar.y"
14105     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
14106     break;
14107
14108   case 75:
14109
14110 /* Line 1464 of yacc.c  */
14111 #line 697 "grammar.y"
14112     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
14113     break;
14114
14115   case 76:
14116
14117 /* Line 1464 of yacc.c  */
14118 #line 702 "grammar.y"
14119     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14120     break;
14121
14122   case 77:
14123
14124 /* Line 1464 of yacc.c  */
14125 #line 704 "grammar.y"
14126     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14127     break;
14128
14129   case 78:
14130
14131 /* Line 1464 of yacc.c  */
14132 #line 709 "grammar.y"
14133     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14134     break;
14135
14136   case 79:
14137
14138 /* Line 1464 of yacc.c  */
14139 #line 711 "grammar.y"
14140     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (5)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14141     break;
14142
14143   case 80:
14144
14145 /* Line 1464 of yacc.c  */
14146 #line 713 "grammar.y"
14147     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14148     break;
14149
14150   case 81:
14151
14152 /* Line 1464 of yacc.c  */
14153 #line 715 "grammar.y"
14154     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (3)].list), MkExpIdentifier((yyvsp[(2) - (3)].id)), null); (yyval.instance).exp.loc = (yylsp[(2) - (3)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (3)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14155     break;
14156
14157   case 82:
14158
14159 /* Line 1464 of yacc.c  */
14160 #line 717 "grammar.y"
14161     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14162     break;
14163
14164   case 83:
14165
14166 /* Line 1464 of yacc.c  */
14167 #line 747 "grammar.y"
14168     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14169     break;
14170
14171   case 84:
14172
14173 /* Line 1464 of yacc.c  */
14174 #line 749 "grammar.y"
14175     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14176     break;
14177
14178   case 85:
14179
14180 /* Line 1464 of yacc.c  */
14181 #line 754 "grammar.y"
14182     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list));(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14183     break;
14184
14185   case 86:
14186
14187 /* Line 1464 of yacc.c  */
14188 #line 756 "grammar.y"
14189     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (5)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14190     break;
14191
14192   case 87:
14193
14194 /* Line 1464 of yacc.c  */
14195 #line 758 "grammar.y"
14196     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list));(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14197     break;
14198
14199   case 88:
14200
14201 /* Line 1464 of yacc.c  */
14202 #line 760 "grammar.y"
14203     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (3)].list), MkExpIdentifier((yyvsp[(2) - (3)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (3)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (3)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14204     break;
14205
14206   case 89:
14207
14208 /* Line 1464 of yacc.c  */
14209 #line 762 "grammar.y"
14210     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14211     break;
14212
14213   case 90:
14214
14215 /* Line 1464 of yacc.c  */
14216 #line 791 "grammar.y"
14217     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(5) - (5)]).start;;}
14218     break;
14219
14220   case 91:
14221
14222 /* Line 1464 of yacc.c  */
14223 #line 793 "grammar.y"
14224     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(5) - (5)]).start;;}
14225     break;
14226
14227   case 92:
14228
14229 /* Line 1464 of yacc.c  */
14230 #line 795 "grammar.y"
14231     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), MkList());  (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).start;;}
14232     break;
14233
14234   case 93:
14235
14236 /* Line 1464 of yacc.c  */
14237 #line 800 "grammar.y"
14238     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14239     break;
14240
14241   case 94:
14242
14243 /* Line 1464 of yacc.c  */
14244 #line 802 "grammar.y"
14245     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14246     break;
14247
14248   case 95:
14249
14250 /* Line 1464 of yacc.c  */
14251 #line 807 "grammar.y"
14252     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14253     break;
14254
14255   case 96:
14256
14257 /* Line 1464 of yacc.c  */
14258 #line 809 "grammar.y"
14259     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14260       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
14261     break;
14262
14263   case 97:
14264
14265 /* Line 1464 of yacc.c  */
14266 #line 813 "grammar.y"
14267     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14268     break;
14269
14270   case 98:
14271
14272 /* Line 1464 of yacc.c  */
14273 #line 815 "grammar.y"
14274     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (2)].specifier), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14275     break;
14276
14277   case 99:
14278
14279 /* Line 1464 of yacc.c  */
14280 #line 817 "grammar.y"
14281     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (4)].specifier), null, (yyvsp[(3) - (4)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14282     break;
14283
14284   case 100:
14285
14286 /* Line 1464 of yacc.c  */
14287 #line 819 "grammar.y"
14288     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++;  ;}
14289     break;
14290
14291   case 101:
14292
14293 /* Line 1464 of yacc.c  */
14294 #line 824 "grammar.y"
14295     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14296       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
14297     break;
14298
14299   case 102:
14300
14301 /* Line 1464 of yacc.c  */
14302 #line 827 "grammar.y"
14303     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]);
14304       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (2)].id).string), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (2)].id)); ;}
14305     break;
14306
14307   case 103:
14308
14309 /* Line 1464 of yacc.c  */
14310 #line 830 "grammar.y"
14311     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]);
14312       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (4)].id).string), null, (yyvsp[(3) - (4)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (4)].id)); ;}
14313     break;
14314
14315   case 104:
14316
14317 /* Line 1464 of yacc.c  */
14318 #line 833 "grammar.y"
14319     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14320       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
14321     break;
14322
14323   case 105:
14324
14325 /* Line 1464 of yacc.c  */
14326 #line 898 "grammar.y"
14327     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14328     break;
14329
14330   case 106:
14331
14332 /* Line 1464 of yacc.c  */
14333 #line 900 "grammar.y"
14334     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14335     break;
14336
14337   case 107:
14338
14339 /* Line 1464 of yacc.c  */
14340 #line 905 "grammar.y"
14341     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (2)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14342     break;
14343
14344   case 108:
14345
14346 /* Line 1464 of yacc.c  */
14347 #line 907 "grammar.y"
14348     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14349     break;
14350
14351   case 109:
14352
14353 /* Line 1464 of yacc.c  */
14354 #line 909 "grammar.y"
14355     { (yyval.instance) = MkInstantiation(null, null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(1) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++;  ;}
14356     break;
14357
14358   case 110:
14359
14360 /* Line 1464 of yacc.c  */
14361 #line 911 "grammar.y"
14362     { (yyval.instance) = MkInstantiation(null, null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (1)]).end; (yyval.instance).insideLoc.end = (yylsp[(1) - (1)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14363     break;
14364
14365   case 111:
14366
14367 /* Line 1464 of yacc.c  */
14368 #line 913 "grammar.y"
14369     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (2)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14370     break;
14371
14372   case 112:
14373
14374 /* Line 1464 of yacc.c  */
14375 #line 943 "grammar.y"
14376     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14377     break;
14378
14379   case 113:
14380
14381 /* Line 1464 of yacc.c  */
14382 #line 947 "grammar.y"
14383     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
14384     break;
14385
14386   case 114:
14387
14388 /* Line 1464 of yacc.c  */
14389 #line 948 "grammar.y"
14390     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy())); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end; (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end; ;}
14391     break;
14392
14393   case 115:
14394
14395 /* Line 1464 of yacc.c  */
14396 #line 949 "grammar.y"
14397     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14398     break;
14399
14400   case 116:
14401
14402 /* Line 1464 of yacc.c  */
14403 #line 953 "grammar.y"
14404     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14405     break;
14406
14407   case 117:
14408
14409 /* Line 1464 of yacc.c  */
14410 #line 954 "grammar.y"
14411     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14412     break;
14413
14414   case 118:
14415
14416 /* Line 1464 of yacc.c  */
14417 #line 955 "grammar.y"
14418     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14419     break;
14420
14421   case 119:
14422
14423 /* Line 1464 of yacc.c  */
14424 #line 959 "grammar.y"
14425     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14426     break;
14427
14428   case 120:
14429
14430 /* Line 1464 of yacc.c  */
14431 #line 960 "grammar.y"
14432     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14433     break;
14434
14435   case 121:
14436
14437 /* Line 1464 of yacc.c  */
14438 #line 961 "grammar.y"
14439     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14440     break;
14441
14442   case 123:
14443
14444 /* Line 1464 of yacc.c  */
14445 #line 967 "grammar.y"
14446     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14447     break;
14448
14449   case 124:
14450
14451 /* Line 1464 of yacc.c  */
14452 #line 970 "grammar.y"
14453     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14454     break;
14455
14456   case 125:
14457
14458 /* Line 1464 of yacc.c  */
14459 #line 973 "grammar.y"
14460     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14461     break;
14462
14463   case 126:
14464
14465 /* Line 1464 of yacc.c  */
14466 #line 976 "grammar.y"
14467     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14468     break;
14469
14470   case 127:
14471
14472 /* Line 1464 of yacc.c  */
14473 #line 979 "grammar.y"
14474     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14475     break;
14476
14477   case 129:
14478
14479 /* Line 1464 of yacc.c  */
14480 #line 985 "grammar.y"
14481     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14482     break;
14483
14484   case 130:
14485
14486 /* Line 1464 of yacc.c  */
14487 #line 987 "grammar.y"
14488     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14489     break;
14490
14491   case 131:
14492
14493 /* Line 1464 of yacc.c  */
14494 #line 989 "grammar.y"
14495     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
14496     break;
14497
14498   case 132:
14499
14500 /* Line 1464 of yacc.c  */
14501 #line 991 "grammar.y"
14502     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
14503     break;
14504
14505   case 133:
14506
14507 /* Line 1464 of yacc.c  */
14508 #line 993 "grammar.y"
14509     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
14510     break;
14511
14512   case 134:
14513
14514 /* Line 1464 of yacc.c  */
14515 #line 997 "grammar.y"
14516     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
14517     break;
14518
14519   case 135:
14520
14521 /* Line 1464 of yacc.c  */
14522 #line 1002 "grammar.y"
14523     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14524     break;
14525
14526   case 136:
14527
14528 /* Line 1464 of yacc.c  */
14529 #line 1005 "grammar.y"
14530     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14531     break;
14532
14533   case 137:
14534
14535 /* Line 1464 of yacc.c  */
14536 #line 1008 "grammar.y"
14537     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14538     break;
14539
14540   case 138:
14541
14542 /* Line 1464 of yacc.c  */
14543 #line 1011 "grammar.y"
14544     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14545     break;
14546
14547   case 139:
14548
14549 /* Line 1464 of yacc.c  */
14550 #line 1014 "grammar.y"
14551     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14552     break;
14553
14554   case 141:
14555
14556 /* Line 1464 of yacc.c  */
14557 #line 1020 "grammar.y"
14558     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14559     break;
14560
14561   case 142:
14562
14563 /* Line 1464 of yacc.c  */
14564 #line 1022 "grammar.y"
14565     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14566     break;
14567
14568   case 143:
14569
14570 /* Line 1464 of yacc.c  */
14571 #line 1026 "grammar.y"
14572     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
14573     break;
14574
14575   case 144:
14576
14577 /* Line 1464 of yacc.c  */
14578 #line 1031 "grammar.y"
14579     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
14580     break;
14581
14582   case 145:
14583
14584 /* Line 1464 of yacc.c  */
14585 #line 1033 "grammar.y"
14586     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
14587     break;
14588
14589   case 146:
14590
14591 /* Line 1464 of yacc.c  */
14592 #line 1038 "grammar.y"
14593     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
14594     break;
14595
14596   case 147:
14597
14598 /* Line 1464 of yacc.c  */
14599 #line 1040 "grammar.y"
14600     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14601     break;
14602
14603   case 148:
14604
14605 /* Line 1464 of yacc.c  */
14606 #line 1045 "grammar.y"
14607     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14608     break;
14609
14610   case 149:
14611
14612 /* Line 1464 of yacc.c  */
14613 #line 1047 "grammar.y"
14614     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14615     break;
14616
14617   case 150:
14618
14619 /* Line 1464 of yacc.c  */
14620 #line 1052 "grammar.y"
14621     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14622     break;
14623
14624   case 151:
14625
14626 /* Line 1464 of yacc.c  */
14627 #line 1057 "grammar.y"
14628     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14629     break;
14630
14631   case 152:
14632
14633 /* Line 1464 of yacc.c  */
14634 #line 1059 "grammar.y"
14635     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14636     break;
14637
14638   case 153:
14639
14640 /* Line 1464 of yacc.c  */
14641 #line 1064 "grammar.y"
14642     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14643     break;
14644
14645   case 154:
14646
14647 /* Line 1464 of yacc.c  */
14648 #line 1066 "grammar.y"
14649     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14650     break;
14651
14652   case 155:
14653
14654 /* Line 1464 of yacc.c  */
14655 #line 1068 "grammar.y"
14656     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14657     break;
14658
14659   case 156:
14660
14661 /* Line 1464 of yacc.c  */
14662 #line 1070 "grammar.y"
14663     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14664     break;
14665
14666   case 157:
14667
14668 /* Line 1464 of yacc.c  */
14669 #line 1075 "grammar.y"
14670     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14671     break;
14672
14673   case 158:
14674
14675 /* Line 1464 of yacc.c  */
14676 #line 1077 "grammar.y"
14677     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14678     break;
14679
14680   case 159:
14681
14682 /* Line 1464 of yacc.c  */
14683 #line 1079 "grammar.y"
14684     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14685     break;
14686
14687   case 160:
14688
14689 /* Line 1464 of yacc.c  */
14690 #line 1081 "grammar.y"
14691     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14692     break;
14693
14694   case 161:
14695
14696 /* Line 1464 of yacc.c  */
14697 #line 1085 "grammar.y"
14698     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).end; ;}
14699     break;
14700
14701   case 162:
14702
14703 /* Line 1464 of yacc.c  */
14704 #line 1086 "grammar.y"
14705     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (2)].list)); if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).start; (yyval.classDef).loc = (yyloc); ;}
14706     break;
14707
14708   case 163:
14709
14710 /* Line 1464 of yacc.c  */
14711 #line 1087 "grammar.y"
14712     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14713     break;
14714
14715   case 164:
14716
14717 /* Line 1464 of yacc.c  */
14718 #line 1088 "grammar.y"
14719     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14720     break;
14721
14722   case 165:
14723
14724 /* Line 1464 of yacc.c  */
14725 #line 1089 "grammar.y"
14726     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14727     break;
14728
14729   case 166:
14730
14731 /* Line 1464 of yacc.c  */
14732 #line 1090 "grammar.y"
14733     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14734     break;
14735
14736   case 167:
14737
14738 /* Line 1464 of yacc.c  */
14739 #line 1091 "grammar.y"
14740     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); ;}
14741     break;
14742
14743   case 168:
14744
14745 /* Line 1464 of yacc.c  */
14746 #line 1092 "grammar.y"
14747     { (yyval.classDef) = null; deleteWatchable = true; ;}
14748     break;
14749
14750   case 169:
14751
14752 /* Line 1464 of yacc.c  */
14753 #line 1093 "grammar.y"
14754     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14755     break;
14756
14757   case 170:
14758
14759 /* Line 1464 of yacc.c  */
14760 #line 1094 "grammar.y"
14761     { (yyval.classDef) = MkClassDefFixed(); ;}
14762     break;
14763
14764   case 171:
14765
14766 /* Line 1464 of yacc.c  */
14767 #line 1095 "grammar.y"
14768     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
14769     break;
14770
14771   case 172:
14772
14773 /* Line 1464 of yacc.c  */
14774 #line 1097 "grammar.y"
14775     { (yyval.classDef) = null; ;}
14776     break;
14777
14778   case 173:
14779
14780 /* Line 1464 of yacc.c  */
14781 #line 1098 "grammar.y"
14782     { memberAccessStack[defaultMemberAccess] = (yyvsp[(1) - (2)].declMode); if(defaultMemberAccess == 0) { (yyval.classDef) = MkClassDefMemberAccess(); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); (yyval.classDef).loc = (yyloc); } else (yyval.classDef) = null; ;}
14783     break;
14784
14785   case 174:
14786
14787 /* Line 1464 of yacc.c  */
14788 #line 1100 "grammar.y"
14789     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
14790     break;
14791
14792   case 175:
14793
14794 /* Line 1464 of yacc.c  */
14795 #line 1104 "grammar.y"
14796     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyvsp[(1) - (1)].classFunction).loc;  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14797     break;
14798
14799   case 176:
14800
14801 /* Line 1464 of yacc.c  */
14802 #line 1107 "grammar.y"
14803     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14804     break;
14805
14806   case 177:
14807
14808 /* Line 1464 of yacc.c  */
14809 #line 1108 "grammar.y"
14810     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14811     break;
14812
14813   case 178:
14814
14815 /* Line 1464 of yacc.c  */
14816 #line 1109 "grammar.y"
14817     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14818     break;
14819
14820   case 179:
14821
14822 /* Line 1464 of yacc.c  */
14823 #line 1110 "grammar.y"
14824     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (2)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14825     break;
14826
14827   case 180:
14828
14829 /* Line 1464 of yacc.c  */
14830 #line 1111 "grammar.y"
14831     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14832     break;
14833
14834   case 181:
14835
14836 /* Line 1464 of yacc.c  */
14837 #line 1112 "grammar.y"
14838     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14839     break;
14840
14841   case 182:
14842
14843 /* Line 1464 of yacc.c  */
14844 #line 1113 "grammar.y"
14845     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
14846     break;
14847
14848   case 183:
14849
14850 /* Line 1464 of yacc.c  */
14851 #line 1114 "grammar.y"
14852     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); ;}
14853     break;
14854
14855   case 184:
14856
14857 /* Line 1464 of yacc.c  */
14858 #line 1115 "grammar.y"
14859     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
14860     break;
14861
14862   case 185:
14863
14864 /* Line 1464 of yacc.c  */
14865 #line 1116 "grammar.y"
14866     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
14867     break;
14868
14869   case 186:
14870
14871 /* Line 1464 of yacc.c  */
14872 #line 1117 "grammar.y"
14873     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
14874     break;
14875
14876   case 187:
14877
14878 /* Line 1464 of yacc.c  */
14879 #line 1118 "grammar.y"
14880     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14881     break;
14882
14883   case 188:
14884
14885 /* Line 1464 of yacc.c  */
14886 #line 1119 "grammar.y"
14887     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14888     break;
14889
14890   case 189:
14891
14892 /* Line 1464 of yacc.c  */
14893 #line 1120 "grammar.y"
14894     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); if((yyvsp[(1) - (1)].list)->last) ((MemberInit)(yyvsp[(1) - (1)].list)->last).loc.end = (yylsp[(1) - (1)]).end; (yyval.classDef).loc = (yyloc); ;}
14895     break;
14896
14897   case 190:
14898
14899 /* Line 1464 of yacc.c  */
14900 #line 1122 "grammar.y"
14901     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (2)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14902     break;
14903
14904   case 191:
14905
14906 /* Line 1464 of yacc.c  */
14907 #line 1123 "grammar.y"
14908     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (2)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14909     break;
14910
14911   case 192:
14912
14913 /* Line 1464 of yacc.c  */
14914 #line 1127 "grammar.y"
14915     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14916     break;
14917
14918   case 193:
14919
14920 /* Line 1464 of yacc.c  */
14921 #line 1128 "grammar.y"
14922     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14923     break;
14924
14925   case 194:
14926
14927 /* Line 1464 of yacc.c  */
14928 #line 1129 "grammar.y"
14929     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14930     break;
14931
14932   case 195:
14933
14934 /* Line 1464 of yacc.c  */
14935 #line 1133 "grammar.y"
14936     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
14937     break;
14938
14939   case 196:
14940
14941 /* Line 1464 of yacc.c  */
14942 #line 1137 "grammar.y"
14943     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14944     break;
14945
14946   case 197:
14947
14948 /* Line 1464 of yacc.c  */
14949 #line 1138 "grammar.y"
14950     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14951     break;
14952
14953   case 198:
14954
14955 /* Line 1464 of yacc.c  */
14956 #line 1139 "grammar.y"
14957     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14958     break;
14959
14960   case 199:
14961
14962 /* Line 1464 of yacc.c  */
14963 #line 1143 "grammar.y"
14964     { yyerror(); (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14965     break;
14966
14967   case 202:
14968
14969 /* Line 1464 of yacc.c  */
14970 #line 1146 "grammar.y"
14971     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14972     break;
14973
14974   case 203:
14975
14976 /* Line 1464 of yacc.c  */
14977 #line 1147 "grammar.y"
14978     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14979     break;
14980
14981   case 204:
14982
14983 /* Line 1464 of yacc.c  */
14984 #line 1151 "grammar.y"
14985     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
14986     break;
14987
14988   case 205:
14989
14990 /* Line 1464 of yacc.c  */
14991 #line 1152 "grammar.y"
14992     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
14993     break;
14994
14995   case 206:
14996
14997 /* Line 1464 of yacc.c  */
14998 #line 1164 "grammar.y"
14999     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
15000     break;
15001
15002   case 207:
15003
15004 /* Line 1464 of yacc.c  */
15005 #line 1165 "grammar.y"
15006     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
15007     break;
15008
15009   case 208:
15010
15011 /* Line 1464 of yacc.c  */
15012 #line 1169 "grammar.y"
15013     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
15014     break;
15015
15016   case 209:
15017
15018 /* Line 1464 of yacc.c  */
15019 #line 1170 "grammar.y"
15020     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
15021     break;
15022
15023   case 210:
15024
15025 /* Line 1464 of yacc.c  */
15026 #line 1171 "grammar.y"
15027     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
15028     break;
15029
15030   case 211:
15031
15032 /* Line 1464 of yacc.c  */
15033 #line 1172 "grammar.y"
15034     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
15035     break;
15036
15037   case 212:
15038
15039 /* Line 1464 of yacc.c  */
15040 #line 1173 "grammar.y"
15041     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
15042     break;
15043
15044   case 213:
15045
15046 /* Line 1464 of yacc.c  */
15047 #line 1174 "grammar.y"
15048     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
15049     break;
15050
15051   case 214:
15052
15053 /* Line 1464 of yacc.c  */
15054 #line 1175 "grammar.y"
15055     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
15056     break;
15057
15058   case 215:
15059
15060 /* Line 1464 of yacc.c  */
15061 #line 1176 "grammar.y"
15062     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
15063     break;
15064
15065   case 216:
15066
15067 /* Line 1464 of yacc.c  */
15068 #line 1180 "grammar.y"
15069     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
15070     break;
15071
15072   case 217:
15073
15074 /* Line 1464 of yacc.c  */
15075 #line 1184 "grammar.y"
15076     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
15077     break;
15078
15079   case 218:
15080
15081 /* Line 1464 of yacc.c  */
15082 #line 1185 "grammar.y"
15083     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
15084     break;
15085
15086   case 219:
15087
15088 /* Line 1464 of yacc.c  */
15089 #line 1189 "grammar.y"
15090     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
15091     break;
15092
15093   case 220:
15094
15095 /* Line 1464 of yacc.c  */
15096 #line 1197 "grammar.y"
15097     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
15098     break;
15099
15100   case 221:
15101
15102 /* Line 1464 of yacc.c  */
15103 #line 1198 "grammar.y"
15104     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
15105     break;
15106
15107   case 225:
15108
15109 /* Line 1464 of yacc.c  */
15110 #line 1208 "grammar.y"
15111     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
15112     break;
15113
15114   case 226:
15115
15116 /* Line 1464 of yacc.c  */
15117 #line 1209 "grammar.y"
15118     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
15119     break;
15120
15121   case 230:
15122
15123 /* Line 1464 of yacc.c  */
15124 #line 1216 "grammar.y"
15125     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15126     break;
15127
15128   case 231:
15129
15130 /* Line 1464 of yacc.c  */
15131 #line 1217 "grammar.y"
15132     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15133     break;
15134
15135   case 232:
15136
15137 /* Line 1464 of yacc.c  */
15138 #line 1218 "grammar.y"
15139     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
15140     break;
15141
15142   case 233:
15143
15144 /* Line 1464 of yacc.c  */
15145 #line 1258 "grammar.y"
15146     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
15147     break;
15148
15149   case 234:
15150
15151 /* Line 1464 of yacc.c  */
15152 #line 1259 "grammar.y"
15153     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
15154     break;
15155
15156   case 235:
15157
15158 /* Line 1464 of yacc.c  */
15159 #line 1264 "grammar.y"
15160     {
15161       if(curContext != globalContext)
15162          PopContext(curContext);
15163       (yyval.context) = PushContext();
15164    ;}
15165     break;
15166
15167   case 236:
15168
15169 /* Line 1464 of yacc.c  */
15170 #line 1271 "grammar.y"
15171     { (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace((yyvsp[(2) - (2)].id)._class, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15172     break;
15173
15174   case 237:
15175
15176 /* Line 1464 of yacc.c  */
15177 #line 1273 "grammar.y"
15178     {
15179       (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass((yyvsp[(2) - (2)].specifier).nsSpec, (yyvsp[(2) - (2)].specifier).name);
15180       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
15181       FreeSpecifier((yyvsp[(2) - (2)].specifier));
15182       ++defaultMemberAccess;
15183       memberAccessStack[defaultMemberAccess] = privateAccess;
15184    ;}
15185     break;
15186
15187   case 238:
15188
15189 /* Line 1464 of yacc.c  */
15190 #line 1280 "grammar.y"
15191     { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace((yyvsp[(3) - (3)].id)._class, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15192     break;
15193
15194   case 239:
15195
15196 /* Line 1464 of yacc.c  */
15197 #line 1281 "grammar.y"
15198     { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass((yyvsp[(3) - (3)].specifier).nsSpec, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15199     break;
15200
15201   case 240:
15202
15203 /* Line 1464 of yacc.c  */
15204 #line 1283 "grammar.y"
15205     { (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15206     break;
15207
15208   case 241:
15209
15210 /* Line 1464 of yacc.c  */
15211 #line 1285 "grammar.y"
15212     {
15213       (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass((yyvsp[(2) - (5)].specifier).nsSpec, (yyvsp[(2) - (5)].specifier).name);
15214       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
15215       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
15216       FreeSpecifier((yyvsp[(2) - (5)].specifier));
15217       ++defaultMemberAccess;
15218       memberAccessStack[defaultMemberAccess] = privateAccess;
15219    ;}
15220     break;
15221
15222   case 242:
15223
15224 /* Line 1464 of yacc.c  */
15225 #line 1293 "grammar.y"
15226     { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace((yyvsp[(3) - (6)].id)._class, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15227     break;
15228
15229   case 243:
15230
15231 /* Line 1464 of yacc.c  */
15232 #line 1294 "grammar.y"
15233     { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass((yyvsp[(3) - (6)].specifier).nsSpec, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15234     break;
15235
15236   case 244:
15237
15238 /* Line 1464 of yacc.c  */
15239 #line 1299 "grammar.y"
15240     {
15241          (yyval._class).loc = (yyloc);
15242          (yyval._class) = (yyvsp[(1) - (2)]._class);
15243       ;}
15244     break;
15245
15246   case 245:
15247
15248 /* Line 1464 of yacc.c  */
15249 #line 1306 "grammar.y"
15250     {
15251          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc);
15252          POP_DEFAULT_ACCESS
15253          PopContext(curContext);
15254       ;}
15255     break;
15256
15257   case 246:
15258
15259 /* Line 1464 of yacc.c  */
15260 #line 1313 "grammar.y"
15261     {
15262          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc);
15263          POP_DEFAULT_ACCESS
15264          PopContext(curContext);
15265       ;}
15266     break;
15267
15268   case 247:
15269
15270 /* Line 1464 of yacc.c  */
15271 #line 1319 "grammar.y"
15272     {
15273          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc);
15274          POP_DEFAULT_ACCESS
15275          PopContext(curContext);
15276       ;}
15277     break;
15278
15279   case 248:
15280
15281 /* Line 1464 of yacc.c  */
15282 #line 1326 "grammar.y"
15283     {
15284          (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace((yyvsp[(2) - (3)].id)._class, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
15285          POP_DEFAULT_ACCESS
15286          PopContext(curContext);
15287       ;}
15288     break;
15289
15290   case 249:
15291
15292 /* Line 1464 of yacc.c  */
15293 #line 1332 "grammar.y"
15294     {
15295          (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass((yyvsp[(2) - (3)].specifier).nsSpec, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
15296          POP_DEFAULT_ACCESS
15297          PopContext(curContext);
15298       ;}
15299     break;
15300
15301   case 250:
15302
15303 /* Line 1464 of yacc.c  */
15304 #line 1341 "grammar.y"
15305     {
15306          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
15307       ;}
15308     break;
15309
15310   case 251:
15311
15312 /* Line 1464 of yacc.c  */
15313 #line 1348 "grammar.y"
15314     {
15315          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++;
15316          POP_DEFAULT_ACCESS
15317          PopContext(curContext);
15318       ;}
15319     break;
15320
15321   case 252:
15322
15323 /* Line 1464 of yacc.c  */
15324 #line 1354 "grammar.y"
15325     {
15326          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++;
15327          POP_DEFAULT_ACCESS
15328          PopContext(curContext);
15329       ;}
15330     break;
15331
15332   case 253:
15333
15334 /* Line 1464 of yacc.c  */
15335 #line 1360 "grammar.y"
15336     {
15337          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++;
15338          POP_DEFAULT_ACCESS
15339          PopContext(curContext);
15340       ;}
15341     break;
15342
15343   case 254:
15344
15345 /* Line 1464 of yacc.c  */
15346 #line 1366 "grammar.y"
15347     {
15348          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++;
15349          POP_DEFAULT_ACCESS
15350          PopContext(curContext);
15351       ;}
15352     break;
15353
15354   case 255:
15355
15356 /* Line 1464 of yacc.c  */
15357 #line 1372 "grammar.y"
15358     {
15359          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++;
15360          POP_DEFAULT_ACCESS
15361          PopContext(curContext);
15362       ;}
15363     break;
15364
15365   case 256:
15366
15367 /* Line 1464 of yacc.c  */
15368 #line 1378 "grammar.y"
15369     {
15370          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++;
15371          POP_DEFAULT_ACCESS
15372          PopContext(curContext);
15373       ;}
15374     break;
15375
15376   case 257:
15377
15378 /* Line 1464 of yacc.c  */
15379 #line 1389 "grammar.y"
15380     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
15381     break;
15382
15383   case 259:
15384
15385 /* Line 1464 of yacc.c  */
15386 #line 1395 "grammar.y"
15387     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15388     break;
15389
15390   case 260:
15391
15392 /* Line 1464 of yacc.c  */
15393 #line 1399 "grammar.y"
15394     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
15395     break;
15396
15397   case 261:
15398
15399 /* Line 1464 of yacc.c  */
15400 #line 1400 "grammar.y"
15401     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
15402     break;
15403
15404   case 262:
15405
15406 /* Line 1464 of yacc.c  */
15407 #line 1401 "grammar.y"
15408     { (yyval.exp) = MkExpIntlString((yyvsp[(4) - (4)].string), (yyvsp[(2) - (4)].string)); delete (yyvsp[(2) - (4)].string); delete (yyvsp[(4) - (4)].string); (yyval.exp).loc = (yyloc); ;}
15409     break;
15410
15411   case 263:
15412
15413 /* Line 1464 of yacc.c  */
15414 #line 1405 "grammar.y"
15415     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
15416     break;
15417
15418   case 264:
15419
15420 /* Line 1464 of yacc.c  */
15421 #line 1409 "grammar.y"
15422     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
15423     break;
15424
15425   case 265:
15426
15427 /* Line 1464 of yacc.c  */
15428 #line 1410 "grammar.y"
15429     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15430     break;
15431
15432   case 266:
15433
15434 /* Line 1464 of yacc.c  */
15435 #line 1411 "grammar.y"
15436     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
15437     break;
15438
15439   case 267:
15440
15441 /* Line 1464 of yacc.c  */
15442 #line 1412 "grammar.y"
15443     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15444     break;
15445
15446   case 268:
15447
15448 /* Line 1464 of yacc.c  */
15449 #line 1413 "grammar.y"
15450     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
15451     break;
15452
15453   case 269:
15454
15455 /* Line 1464 of yacc.c  */
15456 #line 1414 "grammar.y"
15457     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
15458     break;
15459
15460   case 270:
15461
15462 /* Line 1464 of yacc.c  */
15463 #line 1416 "grammar.y"
15464     {
15465       char * constant = (yyvsp[(1) - (2)].exp).constant;
15466       int len = strlen(constant);
15467       if(constant[len-1] == '.')
15468       {
15469          constant[len-1] = 0;
15470          (yyval.exp) = MkExpMember((yyvsp[(1) - (2)].exp), (yyvsp[(2) - (2)].id));
15471          (yyval.exp).loc = (yyloc);
15472       }
15473       else
15474          yyerror();
15475    ;}
15476     break;
15477
15478   case 271:
15479
15480 /* Line 1464 of yacc.c  */
15481 #line 1428 "grammar.y"
15482     { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
15483     break;
15484
15485   case 273:
15486
15487 /* Line 1464 of yacc.c  */
15488 #line 1430 "grammar.y"
15489     { (yyval.exp) = MkExpWideString(yytext); (yyval.exp).loc = (yyloc); ;}
15490     break;
15491
15492   case 274:
15493
15494 /* Line 1464 of yacc.c  */
15495 #line 1431 "grammar.y"
15496     { Expression exp = MkExpDummy(); exp.loc.start = (yylsp[(1) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).start; (yyval.exp) = MkExpBrackets(MkListOne(exp)); (yyval.exp).loc = (yyloc); yyerror(); ;}
15497     break;
15498
15499   case 275:
15500
15501 /* Line 1464 of yacc.c  */
15502 #line 1432 "grammar.y"
15503     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15504     break;
15505
15506   case 276:
15507
15508 /* Line 1464 of yacc.c  */
15509 #line 1433 "grammar.y"
15510     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15511     break;
15512
15513   case 277:
15514
15515 /* Line 1464 of yacc.c  */
15516 #line 1434 "grammar.y"
15517     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15518     break;
15519
15520   case 278:
15521
15522 /* Line 1464 of yacc.c  */
15523 #line 1435 "grammar.y"
15524     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15525     break;
15526
15527   case 279:
15528
15529 /* Line 1464 of yacc.c  */
15530 #line 1436 "grammar.y"
15531     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15532     break;
15533
15534   case 280:
15535
15536 /* Line 1464 of yacc.c  */
15537 #line 1437 "grammar.y"
15538     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15539     break;
15540
15541   case 281:
15542
15543 /* Line 1464 of yacc.c  */
15544 #line 1438 "grammar.y"
15545     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15546     break;
15547
15548   case 282:
15549
15550 /* Line 1464 of yacc.c  */
15551 #line 1439 "grammar.y"
15552     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15553     break;
15554
15555   case 283:
15556
15557 /* Line 1464 of yacc.c  */
15558 #line 1440 "grammar.y"
15559     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15560     break;
15561
15562   case 284:
15563
15564 /* Line 1464 of yacc.c  */
15565 #line 1441 "grammar.y"
15566     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15567     break;
15568
15569   case 285:
15570
15571 /* Line 1464 of yacc.c  */
15572 #line 1442 "grammar.y"
15573     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15574     break;
15575
15576   case 286:
15577
15578 /* Line 1464 of yacc.c  */
15579 #line 1443 "grammar.y"
15580     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15581     break;
15582
15583   case 287:
15584
15585 /* Line 1464 of yacc.c  */
15586 #line 1444 "grammar.y"
15587     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15588     break;
15589
15590   case 288:
15591
15592 /* Line 1464 of yacc.c  */
15593 #line 1445 "grammar.y"
15594     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15595     break;
15596
15597   case 289:
15598
15599 /* Line 1464 of yacc.c  */
15600 #line 1446 "grammar.y"
15601     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15602     break;
15603
15604   case 290:
15605
15606 /* Line 1464 of yacc.c  */
15607 #line 1447 "grammar.y"
15608     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15609     break;
15610
15611   case 291:
15612
15613 /* Line 1464 of yacc.c  */
15614 #line 1448 "grammar.y"
15615     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
15616     break;
15617
15618   case 292:
15619
15620 /* Line 1464 of yacc.c  */
15621 #line 1449 "grammar.y"
15622     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
15623     break;
15624
15625   case 293:
15626
15627 /* Line 1464 of yacc.c  */
15628 #line 1450 "grammar.y"
15629     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15630     break;
15631
15632   case 294:
15633
15634 /* Line 1464 of yacc.c  */
15635 #line 1451 "grammar.y"
15636     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15637     break;
15638
15639   case 295:
15640
15641 /* Line 1464 of yacc.c  */
15642 #line 1453 "grammar.y"
15643     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15644     break;
15645
15646   case 300:
15647
15648 /* Line 1464 of yacc.c  */
15649 #line 1459 "grammar.y"
15650     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15651     break;
15652
15653   case 301:
15654
15655 /* Line 1464 of yacc.c  */
15656 #line 1460 "grammar.y"
15657     { (yyval.exp) = MkExpArray(null); (yyval.exp).loc = (yyloc); ;}
15658     break;
15659
15660   case 302:
15661
15662 /* Line 1464 of yacc.c  */
15663 #line 1464 "grammar.y"
15664     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15665     break;
15666
15667   case 303:
15668
15669 /* Line 1464 of yacc.c  */
15670 #line 1468 "grammar.y"
15671     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15672     break;
15673
15674   case 304:
15675
15676 /* Line 1464 of yacc.c  */
15677 #line 1472 "grammar.y"
15678     { yyerror(); (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15679     break;
15680
15681   case 305:
15682
15683 /* Line 1464 of yacc.c  */
15684 #line 1473 "grammar.y"
15685     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15686     break;
15687
15688   case 307:
15689
15690 /* Line 1464 of yacc.c  */
15691 #line 1479 "grammar.y"
15692     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15693     break;
15694
15695   case 308:
15696
15697 /* Line 1464 of yacc.c  */
15698 #line 1480 "grammar.y"
15699     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15700     break;
15701
15702   case 309:
15703
15704 /* Line 1464 of yacc.c  */
15705 #line 1481 "grammar.y"
15706     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
15707     break;
15708
15709   case 310:
15710
15711 /* Line 1464 of yacc.c  */
15712 #line 1482 "grammar.y"
15713     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); ;}
15714     break;
15715
15716   case 311:
15717
15718 /* Line 1464 of yacc.c  */
15719 #line 1483 "grammar.y"
15720     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); if((yyvsp[(3) - (4)].list)->last) ((Expression)(yyvsp[(3) - (4)].list)->last).loc.end = (yylsp[(4) - (4)]).start; ;}
15721     break;
15722
15723   case 312:
15724
15725 /* Line 1464 of yacc.c  */
15726 #line 1484 "grammar.y"
15727     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15728     break;
15729
15730   case 313:
15731
15732 /* Line 1464 of yacc.c  */
15733 #line 1485 "grammar.y"
15734     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15735     break;
15736
15737   case 314:
15738
15739 /* Line 1464 of yacc.c  */
15740 #line 1486 "grammar.y"
15741     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15742     break;
15743
15744   case 315:
15745
15746 /* Line 1464 of yacc.c  */
15747 #line 1487 "grammar.y"
15748     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15749     break;
15750
15751   case 316:
15752
15753 /* Line 1464 of yacc.c  */
15754 #line 1489 "grammar.y"
15755     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15756     break;
15757
15758   case 317:
15759
15760 /* Line 1464 of yacc.c  */
15761 #line 1490 "grammar.y"
15762     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15763     break;
15764
15765   case 318:
15766
15767 /* Line 1464 of yacc.c  */
15768 #line 1491 "grammar.y"
15769     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
15770     break;
15771
15772   case 319:
15773
15774 /* Line 1464 of yacc.c  */
15775 #line 1492 "grammar.y"
15776     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end;(yyval.exp).loc = (yyloc); ;}
15777     break;
15778
15779   case 320:
15780
15781 /* Line 1464 of yacc.c  */
15782 #line 1493 "grammar.y"
15783     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15784     break;
15785
15786   case 321:
15787
15788 /* Line 1464 of yacc.c  */
15789 #line 1494 "grammar.y"
15790     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15791     break;
15792
15793   case 322:
15794
15795 /* Line 1464 of yacc.c  */
15796 #line 1495 "grammar.y"
15797     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15798     break;
15799
15800   case 323:
15801
15802 /* Line 1464 of yacc.c  */
15803 #line 1496 "grammar.y"
15804     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15805     break;
15806
15807   case 324:
15808
15809 /* Line 1464 of yacc.c  */
15810 #line 1523 "grammar.y"
15811     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15812     break;
15813
15814   case 325:
15815
15816 /* Line 1464 of yacc.c  */
15817 #line 1524 "grammar.y"
15818     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15819     break;
15820
15821   case 326:
15822
15823 /* Line 1464 of yacc.c  */
15824 #line 1525 "grammar.y"
15825     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15826     break;
15827
15828   case 327:
15829
15830 /* Line 1464 of yacc.c  */
15831 #line 1526 "grammar.y"
15832     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15833     break;
15834
15835   case 328:
15836
15837 /* Line 1464 of yacc.c  */
15838 #line 1530 "grammar.y"
15839     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15840     break;
15841
15842   case 329:
15843
15844 /* Line 1464 of yacc.c  */
15845 #line 1531 "grammar.y"
15846     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15847     break;
15848
15849   case 330:
15850
15851 /* Line 1464 of yacc.c  */
15852 #line 1532 "grammar.y"
15853     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15854     break;
15855
15856   case 331:
15857
15858 /* Line 1464 of yacc.c  */
15859 #line 1533 "grammar.y"
15860     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15861     break;
15862
15863   case 332:
15864
15865 /* Line 1464 of yacc.c  */
15866 #line 1534 "grammar.y"
15867     { Expression exp = MkExpDummy(); yyerror(); exp.loc.start = (yylsp[(2) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), exp); ;}
15868     break;
15869
15870   case 333:
15871
15872 /* Line 1464 of yacc.c  */
15873 #line 1538 "grammar.y"
15874     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15875     break;
15876
15877   case 334:
15878
15879 /* Line 1464 of yacc.c  */
15880 #line 1539 "grammar.y"
15881     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15882     break;
15883
15884   case 335:
15885
15886 /* Line 1464 of yacc.c  */
15887 #line 1540 "grammar.y"
15888     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15889     break;
15890
15891   case 336:
15892
15893 /* Line 1464 of yacc.c  */
15894 #line 1541 "grammar.y"
15895     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15896     break;
15897
15898   case 337:
15899
15900 /* Line 1464 of yacc.c  */
15901 #line 1543 "grammar.y"
15902     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15903     break;
15904
15905   case 338:
15906
15907 /* Line 1464 of yacc.c  */
15908 #line 1544 "grammar.y"
15909     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15910     break;
15911
15912   case 339:
15913
15914 /* Line 1464 of yacc.c  */
15915 #line 1545 "grammar.y"
15916     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15917     break;
15918
15919   case 340:
15920
15921 /* Line 1464 of yacc.c  */
15922 #line 1546 "grammar.y"
15923     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15924     break;
15925
15926   case 341:
15927
15928 /* Line 1464 of yacc.c  */
15929 #line 1549 "grammar.y"
15930     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15931     break;
15932
15933   case 342:
15934
15935 /* Line 1464 of yacc.c  */
15936 #line 1550 "grammar.y"
15937     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15938     break;
15939
15940   case 345:
15941
15942 /* Line 1464 of yacc.c  */
15943 #line 1564 "grammar.y"
15944     { (yyval.i) = '&'; ;}
15945     break;
15946
15947   case 346:
15948
15949 /* Line 1464 of yacc.c  */
15950 #line 1565 "grammar.y"
15951     { (yyval.i) = '*'; ;}
15952     break;
15953
15954   case 347:
15955
15956 /* Line 1464 of yacc.c  */
15957 #line 1566 "grammar.y"
15958     { (yyval.i) = '+'; ;}
15959     break;
15960
15961   case 348:
15962
15963 /* Line 1464 of yacc.c  */
15964 #line 1567 "grammar.y"
15965     { (yyval.i) = '-'; ;}
15966     break;
15967
15968   case 349:
15969
15970 /* Line 1464 of yacc.c  */
15971 #line 1568 "grammar.y"
15972     { (yyval.i) = '~'; ;}
15973     break;
15974
15975   case 350:
15976
15977 /* Line 1464 of yacc.c  */
15978 #line 1569 "grammar.y"
15979     { (yyval.i) = '!'; ;}
15980     break;
15981
15982   case 351:
15983
15984 /* Line 1464 of yacc.c  */
15985 #line 1570 "grammar.y"
15986     { (yyval.i) = DELETE; ;}
15987     break;
15988
15989   case 352:
15990
15991 /* Line 1464 of yacc.c  */
15992 #line 1571 "grammar.y"
15993     { (yyval.i) = _INCREF; ;}
15994     break;
15995
15996   case 354:
15997
15998 /* Line 1464 of yacc.c  */
15999 #line 1576 "grammar.y"
16000     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16001     break;
16002
16003   case 356:
16004
16005 /* Line 1464 of yacc.c  */
16006 #line 1581 "grammar.y"
16007     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16008     break;
16009
16010   case 357:
16011
16012 /* Line 1464 of yacc.c  */
16013 #line 1582 "grammar.y"
16014     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16015     break;
16016
16017   case 358:
16018
16019 /* Line 1464 of yacc.c  */
16020 #line 1583 "grammar.y"
16021     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16022     break;
16023
16024   case 359:
16025
16026 /* Line 1464 of yacc.c  */
16027 #line 1584 "grammar.y"
16028     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16029     break;
16030
16031   case 360:
16032
16033 /* Line 1464 of yacc.c  */
16034 #line 1585 "grammar.y"
16035     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16036     break;
16037
16038   case 361:
16039
16040 /* Line 1464 of yacc.c  */
16041 #line 1586 "grammar.y"
16042     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16043     break;
16044
16045   case 363:
16046
16047 /* Line 1464 of yacc.c  */
16048 #line 1591 "grammar.y"
16049     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16050     break;
16051
16052   case 364:
16053
16054 /* Line 1464 of yacc.c  */
16055 #line 1592 "grammar.y"
16056     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16057     break;
16058
16059   case 365:
16060
16061 /* Line 1464 of yacc.c  */
16062 #line 1593 "grammar.y"
16063     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16064     break;
16065
16066   case 366:
16067
16068 /* Line 1464 of yacc.c  */
16069 #line 1594 "grammar.y"
16070     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16071     break;
16072
16073   case 368:
16074
16075 /* Line 1464 of yacc.c  */
16076 #line 1599 "grammar.y"
16077     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16078     break;
16079
16080   case 369:
16081
16082 /* Line 1464 of yacc.c  */
16083 #line 1600 "grammar.y"
16084     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16085     break;
16086
16087   case 370:
16088
16089 /* Line 1464 of yacc.c  */
16090 #line 1601 "grammar.y"
16091     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16092     break;
16093
16094   case 371:
16095
16096 /* Line 1464 of yacc.c  */
16097 #line 1602 "grammar.y"
16098     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16099     break;
16100
16101   case 372:
16102
16103 /* Line 1464 of yacc.c  */
16104 #line 1607 "grammar.y"
16105     {
16106       (yyval.exp) = (yyvsp[(1) - (2)].exp);
16107       skipErrors = true;
16108    ;}
16109     break;
16110
16111   case 374:
16112
16113 /* Line 1464 of yacc.c  */
16114 #line 1615 "grammar.y"
16115     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
16116     break;
16117
16118   case 375:
16119
16120 /* Line 1464 of yacc.c  */
16121 #line 1616 "grammar.y"
16122     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16123     break;
16124
16125   case 376:
16126
16127 /* Line 1464 of yacc.c  */
16128 #line 1617 "grammar.y"
16129     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16130     break;
16131
16132   case 377:
16133
16134 /* Line 1464 of yacc.c  */
16135 #line 1618 "grammar.y"
16136     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16137     break;
16138
16139   case 378:
16140
16141 /* Line 1464 of yacc.c  */
16142 #line 1619 "grammar.y"
16143     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16144     break;
16145
16146   case 379:
16147
16148 /* Line 1464 of yacc.c  */
16149 #line 1620 "grammar.y"
16150     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16151     break;
16152
16153   case 380:
16154
16155 /* Line 1464 of yacc.c  */
16156 #line 1621 "grammar.y"
16157     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16158     break;
16159
16160   case 381:
16161
16162 /* Line 1464 of yacc.c  */
16163 #line 1622 "grammar.y"
16164     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16165     break;
16166
16167   case 383:
16168
16169 /* Line 1464 of yacc.c  */
16170 #line 1627 "grammar.y"
16171     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16172     break;
16173
16174   case 384:
16175
16176 /* Line 1464 of yacc.c  */
16177 #line 1628 "grammar.y"
16178     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16179     break;
16180
16181   case 385:
16182
16183 /* Line 1464 of yacc.c  */
16184 #line 1629 "grammar.y"
16185     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16186     break;
16187
16188   case 386:
16189
16190 /* Line 1464 of yacc.c  */
16191 #line 1630 "grammar.y"
16192     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16193     break;
16194
16195   case 387:
16196
16197 /* Line 1464 of yacc.c  */
16198 #line 1632 "grammar.y"
16199     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16200     break;
16201
16202   case 388:
16203
16204 /* Line 1464 of yacc.c  */
16205 #line 1633 "grammar.y"
16206     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16207     break;
16208
16209   case 389:
16210
16211 /* Line 1464 of yacc.c  */
16212 #line 1634 "grammar.y"
16213     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16214     break;
16215
16216   case 390:
16217
16218 /* Line 1464 of yacc.c  */
16219 #line 1635 "grammar.y"
16220     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16221     break;
16222
16223   case 392:
16224
16225 /* Line 1464 of yacc.c  */
16226 #line 1640 "grammar.y"
16227     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16228     break;
16229
16230   case 393:
16231
16232 /* Line 1464 of yacc.c  */
16233 #line 1641 "grammar.y"
16234     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16235     break;
16236
16237   case 394:
16238
16239 /* Line 1464 of yacc.c  */
16240 #line 1643 "grammar.y"
16241     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16242     break;
16243
16244   case 395:
16245
16246 /* Line 1464 of yacc.c  */
16247 #line 1644 "grammar.y"
16248     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16249     break;
16250
16251   case 397:
16252
16253 /* Line 1464 of yacc.c  */
16254 #line 1649 "grammar.y"
16255     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16256     break;
16257
16258   case 398:
16259
16260 /* Line 1464 of yacc.c  */
16261 #line 1650 "grammar.y"
16262     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16263     break;
16264
16265   case 399:
16266
16267 /* Line 1464 of yacc.c  */
16268 #line 1652 "grammar.y"
16269     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16270     break;
16271
16272   case 400:
16273
16274 /* Line 1464 of yacc.c  */
16275 #line 1653 "grammar.y"
16276     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16277     break;
16278
16279   case 402:
16280
16281 /* Line 1464 of yacc.c  */
16282 #line 1658 "grammar.y"
16283     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16284     break;
16285
16286   case 403:
16287
16288 /* Line 1464 of yacc.c  */
16289 #line 1659 "grammar.y"
16290     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16291     break;
16292
16293   case 404:
16294
16295 /* Line 1464 of yacc.c  */
16296 #line 1661 "grammar.y"
16297     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16298     break;
16299
16300   case 405:
16301
16302 /* Line 1464 of yacc.c  */
16303 #line 1662 "grammar.y"
16304     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16305     break;
16306
16307   case 407:
16308
16309 /* Line 1464 of yacc.c  */
16310 #line 1667 "grammar.y"
16311     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16312     break;
16313
16314   case 408:
16315
16316 /* Line 1464 of yacc.c  */
16317 #line 1668 "grammar.y"
16318     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16319     break;
16320
16321   case 410:
16322
16323 /* Line 1464 of yacc.c  */
16324 #line 1673 "grammar.y"
16325     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16326     break;
16327
16328   case 411:
16329
16330 /* Line 1464 of yacc.c  */
16331 #line 1674 "grammar.y"
16332     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16333     break;
16334
16335   case 413:
16336
16337 /* Line 1464 of yacc.c  */
16338 #line 1679 "grammar.y"
16339     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16340     break;
16341
16342   case 414:
16343
16344 /* Line 1464 of yacc.c  */
16345 #line 1680 "grammar.y"
16346     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16347     break;
16348
16349   case 415:
16350
16351 /* Line 1464 of yacc.c  */
16352 #line 1681 "grammar.y"
16353     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16354     break;
16355
16356   case 416:
16357
16358 /* Line 1464 of yacc.c  */
16359 #line 1682 "grammar.y"
16360     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16361     break;
16362
16363   case 417:
16364
16365 /* Line 1464 of yacc.c  */
16366 #line 1684 "grammar.y"
16367     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16368     break;
16369
16370   case 418:
16371
16372 /* Line 1464 of yacc.c  */
16373 #line 1685 "grammar.y"
16374     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16375     break;
16376
16377   case 419:
16378
16379 /* Line 1464 of yacc.c  */
16380 #line 1686 "grammar.y"
16381     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16382     break;
16383
16384   case 420:
16385
16386 /* Line 1464 of yacc.c  */
16387 #line 1687 "grammar.y"
16388     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16389     break;
16390
16391   case 421:
16392
16393 /* Line 1464 of yacc.c  */
16394 #line 1689 "grammar.y"
16395     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16396     break;
16397
16398   case 422:
16399
16400 /* Line 1464 of yacc.c  */
16401 #line 1690 "grammar.y"
16402     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16403     break;
16404
16405   case 423:
16406
16407 /* Line 1464 of yacc.c  */
16408 #line 1691 "grammar.y"
16409     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16410     break;
16411
16412   case 424:
16413
16414 /* Line 1464 of yacc.c  */
16415 #line 1692 "grammar.y"
16416     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16417     break;
16418
16419   case 425:
16420
16421 /* Line 1464 of yacc.c  */
16422 #line 1694 "grammar.y"
16423     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16424     break;
16425
16426   case 426:
16427
16428 /* Line 1464 of yacc.c  */
16429 #line 1695 "grammar.y"
16430     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16431     break;
16432
16433   case 427:
16434
16435 /* Line 1464 of yacc.c  */
16436 #line 1696 "grammar.y"
16437     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16438     break;
16439
16440   case 428:
16441
16442 /* Line 1464 of yacc.c  */
16443 #line 1697 "grammar.y"
16444     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16445     break;
16446
16447   case 430:
16448
16449 /* Line 1464 of yacc.c  */
16450 #line 1702 "grammar.y"
16451     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16452     break;
16453
16454   case 431:
16455
16456 /* Line 1464 of yacc.c  */
16457 #line 1703 "grammar.y"
16458     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16459     break;
16460
16461   case 432:
16462
16463 /* Line 1464 of yacc.c  */
16464 #line 1704 "grammar.y"
16465     { Compiler_Error($"l-value expected\n"); (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16466     break;
16467
16468   case 433:
16469
16470 /* Line 1464 of yacc.c  */
16471 #line 1705 "grammar.y"
16472     { Compiler_Error($"l-value expected\n"); (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16473     break;
16474
16475   case 434:
16476
16477 /* Line 1464 of yacc.c  */
16478 #line 1707 "grammar.y"
16479     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16480     break;
16481
16482   case 435:
16483
16484 /* Line 1464 of yacc.c  */
16485 #line 1708 "grammar.y"
16486     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16487     break;
16488
16489   case 436:
16490
16491 /* Line 1464 of yacc.c  */
16492 #line 1709 "grammar.y"
16493     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16494     break;
16495
16496   case 437:
16497
16498 /* Line 1464 of yacc.c  */
16499 #line 1710 "grammar.y"
16500     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16501     break;
16502
16503   case 438:
16504
16505 /* Line 1464 of yacc.c  */
16506 #line 1714 "grammar.y"
16507     { (yyval.i) = '='; ;}
16508     break;
16509
16510   case 439:
16511
16512 /* Line 1464 of yacc.c  */
16513 #line 1715 "grammar.y"
16514     { (yyval.i) = MUL_ASSIGN; ;}
16515     break;
16516
16517   case 440:
16518
16519 /* Line 1464 of yacc.c  */
16520 #line 1716 "grammar.y"
16521     { (yyval.i) = DIV_ASSIGN; ;}
16522     break;
16523
16524   case 441:
16525
16526 /* Line 1464 of yacc.c  */
16527 #line 1717 "grammar.y"
16528     { (yyval.i) = MOD_ASSIGN; ;}
16529     break;
16530
16531   case 442:
16532
16533 /* Line 1464 of yacc.c  */
16534 #line 1718 "grammar.y"
16535     { (yyval.i) = ADD_ASSIGN; ;}
16536     break;
16537
16538   case 443:
16539
16540 /* Line 1464 of yacc.c  */
16541 #line 1719 "grammar.y"
16542     { (yyval.i) = SUB_ASSIGN; ;}
16543     break;
16544
16545   case 444:
16546
16547 /* Line 1464 of yacc.c  */
16548 #line 1720 "grammar.y"
16549     { (yyval.i) = LEFT_ASSIGN; ;}
16550     break;
16551
16552   case 445:
16553
16554 /* Line 1464 of yacc.c  */
16555 #line 1721 "grammar.y"
16556     { (yyval.i) = RIGHT_ASSIGN; ;}
16557     break;
16558
16559   case 446:
16560
16561 /* Line 1464 of yacc.c  */
16562 #line 1722 "grammar.y"
16563     { (yyval.i) = AND_ASSIGN; ;}
16564     break;
16565
16566   case 447:
16567
16568 /* Line 1464 of yacc.c  */
16569 #line 1723 "grammar.y"
16570     { (yyval.i) = XOR_ASSIGN; ;}
16571     break;
16572
16573   case 448:
16574
16575 /* Line 1464 of yacc.c  */
16576 #line 1724 "grammar.y"
16577     { (yyval.i) = OR_ASSIGN; ;}
16578     break;
16579
16580   case 449:
16581
16582 /* Line 1464 of yacc.c  */
16583 #line 1728 "grammar.y"
16584     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16585     break;
16586
16587   case 450:
16588
16589 /* Line 1464 of yacc.c  */
16590 #line 1729 "grammar.y"
16591     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16592     break;
16593
16594   case 451:
16595
16596 /* Line 1464 of yacc.c  */
16597 #line 1730 "grammar.y"
16598     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16599     break;
16600
16601   case 453:
16602
16603 /* Line 1464 of yacc.c  */
16604 #line 1735 "grammar.y"
16605     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16606     break;
16607
16608   case 454:
16609
16610 /* Line 1464 of yacc.c  */
16611 #line 1736 "grammar.y"
16612     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16613     break;
16614
16615   case 455:
16616
16617 /* Line 1464 of yacc.c  */
16618 #line 1737 "grammar.y"
16619     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16620     break;
16621
16622   case 457:
16623
16624 /* Line 1464 of yacc.c  */
16625 #line 1742 "grammar.y"
16626     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16627     break;
16628
16629   case 459:
16630
16631 /* Line 1464 of yacc.c  */
16632 #line 1744 "grammar.y"
16633     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16634     break;
16635
16636   case 460:
16637
16638 /* Line 1464 of yacc.c  */
16639 #line 1746 "grammar.y"
16640     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16641     break;
16642
16643   case 461:
16644
16645 /* Line 1464 of yacc.c  */
16646 #line 1747 "grammar.y"
16647     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16648     break;
16649
16650   case 462:
16651
16652 /* Line 1464 of yacc.c  */
16653 #line 1749 "grammar.y"
16654     { yyerror(); (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16655     break;
16656
16657   case 463:
16658
16659 /* Line 1464 of yacc.c  */
16660 #line 1750 "grammar.y"
16661     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16662     break;
16663
16664   case 464:
16665
16666 /* Line 1464 of yacc.c  */
16667 #line 1755 "grammar.y"
16668     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16669     break;
16670
16671   case 465:
16672
16673 /* Line 1464 of yacc.c  */
16674 #line 1757 "grammar.y"
16675     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
16676     break;
16677
16678   case 466:
16679
16680 /* Line 1464 of yacc.c  */
16681 #line 1762 "grammar.y"
16682     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16683     break;
16684
16685   case 467:
16686
16687 /* Line 1464 of yacc.c  */
16688 #line 1790 "grammar.y"
16689     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16690     break;
16691
16692   case 468:
16693
16694 /* Line 1464 of yacc.c  */
16695 #line 1791 "grammar.y"
16696     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16697     break;
16698
16699   case 469:
16700
16701 /* Line 1464 of yacc.c  */
16702 #line 1792 "grammar.y"
16703     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16704     break;
16705
16706   case 470:
16707
16708 /* Line 1464 of yacc.c  */
16709 #line 1793 "grammar.y"
16710     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16711     break;
16712
16713   case 471:
16714
16715 /* Line 1464 of yacc.c  */
16716 #line 1795 "grammar.y"
16717     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16718     break;
16719
16720   case 472:
16721
16722 /* Line 1464 of yacc.c  */
16723 #line 1796 "grammar.y"
16724     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16725     break;
16726
16727   case 473:
16728
16729 /* Line 1464 of yacc.c  */
16730 #line 1797 "grammar.y"
16731     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16732     break;
16733
16734   case 474:
16735
16736 /* Line 1464 of yacc.c  */
16737 #line 1798 "grammar.y"
16738     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16739     break;
16740
16741   case 475:
16742
16743 /* Line 1464 of yacc.c  */
16744 #line 1800 "grammar.y"
16745     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16746     break;
16747
16748   case 476:
16749
16750 /* Line 1464 of yacc.c  */
16751 #line 1801 "grammar.y"
16752     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16753     break;
16754
16755   case 480:
16756
16757 /* Line 1464 of yacc.c  */
16758 #line 1816 "grammar.y"
16759     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16760     break;
16761
16762   case 482:
16763
16764 /* Line 1464 of yacc.c  */
16765 #line 1821 "grammar.y"
16766     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16767     break;
16768
16769   case 483:
16770
16771 /* Line 1464 of yacc.c  */
16772 #line 1822 "grammar.y"
16773     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16774     break;
16775
16776   case 484:
16777
16778 /* Line 1464 of yacc.c  */
16779 #line 1823 "grammar.y"
16780     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16781     break;
16782
16783   case 485:
16784
16785 /* Line 1464 of yacc.c  */
16786 #line 1824 "grammar.y"
16787     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16788     break;
16789
16790   case 486:
16791
16792 /* Line 1464 of yacc.c  */
16793 #line 1825 "grammar.y"
16794     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16795     break;
16796
16797   case 487:
16798
16799 /* Line 1464 of yacc.c  */
16800 #line 1826 "grammar.y"
16801     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16802     break;
16803
16804   case 489:
16805
16806 /* Line 1464 of yacc.c  */
16807 #line 1831 "grammar.y"
16808     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16809     break;
16810
16811   case 490:
16812
16813 /* Line 1464 of yacc.c  */
16814 #line 1835 "grammar.y"
16815     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16816     break;
16817
16818   case 491:
16819
16820 /* Line 1464 of yacc.c  */
16821 #line 1839 "grammar.y"
16822     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16823     break;
16824
16825   case 492:
16826
16827 /* Line 1464 of yacc.c  */
16828 #line 1843 "grammar.y"
16829     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16830     break;
16831
16832   case 494:
16833
16834 /* Line 1464 of yacc.c  */
16835 #line 1851 "grammar.y"
16836     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16837     break;
16838
16839   case 495:
16840
16841 /* Line 1464 of yacc.c  */
16842 #line 1852 "grammar.y"
16843     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16844     break;
16845
16846   case 496:
16847
16848 /* Line 1464 of yacc.c  */
16849 #line 1853 "grammar.y"
16850     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16851     break;
16852
16853   case 497:
16854
16855 /* Line 1464 of yacc.c  */
16856 #line 1854 "grammar.y"
16857     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16858     break;
16859
16860   case 499:
16861
16862 /* Line 1464 of yacc.c  */
16863 #line 1860 "grammar.y"
16864     {
16865       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16866       {
16867          _DeclClass((yyvsp[(1) - (2)].exp).identifier._class, (yyvsp[(1) - (2)].exp).identifier.string);
16868
16869          // printf("Declaring Class %s\n", $1.identifier.string);
16870          skipErrors = false;
16871
16872          FreeExpression((yyvsp[(1) - (2)].exp));
16873          FreeExpression((yyvsp[(2) - (2)].exp));
16874
16875          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
16876          resetScannerPos(&(yylsp[(1) - (2)]).start);
16877          yyclearin;
16878
16879          YYPOPSTACK(1);
16880          yystate = *yyssp;
16881          YY_STACK_PRINT (yyss, yyssp);
16882
16883          YYPOPSTACK(1);
16884          yystate = *yyssp;
16885          YY_STACK_PRINT (yyss, yyssp);
16886 /*
16887          YYPOPSTACK(1);
16888          yystate = *yyssp;
16889          YY_STACK_PRINT (yyss, yyssp);
16890
16891          YYPOPSTACK(1);
16892          yystate = *yyssp;
16893          YY_STACK_PRINT (yyss, yyssp);
16894 */
16895          yyerrok;
16896
16897          goto yysetstate;
16898       }
16899       else
16900       {
16901          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
16902          (yyval.exp).loc = (yyloc);
16903       }
16904       skipErrors = false;
16905    ;}
16906     break;
16907
16908   case 500:
16909
16910 /* Line 1464 of yacc.c  */
16911 #line 1902 "grammar.y"
16912     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16913     break;
16914
16915   case 501:
16916
16917 /* Line 1464 of yacc.c  */
16918 #line 1903 "grammar.y"
16919     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16920     break;
16921
16922   case 502:
16923
16924 /* Line 1464 of yacc.c  */
16925 #line 1904 "grammar.y"
16926     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16927     break;
16928
16929   case 503:
16930
16931 /* Line 1464 of yacc.c  */
16932 #line 1905 "grammar.y"
16933     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16934     break;
16935
16936   case 504:
16937
16938 /* Line 1464 of yacc.c  */
16939 #line 1906 "grammar.y"
16940     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16941     break;
16942
16943   case 505:
16944
16945 /* Line 1464 of yacc.c  */
16946 #line 1907 "grammar.y"
16947     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16948     break;
16949
16950   case 506:
16951
16952 /* Line 1464 of yacc.c  */
16953 #line 1908 "grammar.y"
16954     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16955     break;
16956
16957   case 508:
16958
16959 /* Line 1464 of yacc.c  */
16960 #line 1913 "grammar.y"
16961     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16962     break;
16963
16964   case 509:
16965
16966 /* Line 1464 of yacc.c  */
16967 #line 1914 "grammar.y"
16968     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16969     break;
16970
16971   case 510:
16972
16973 /* Line 1464 of yacc.c  */
16974 #line 1915 "grammar.y"
16975     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16976     break;
16977
16978   case 511:
16979
16980 /* Line 1464 of yacc.c  */
16981 #line 1916 "grammar.y"
16982     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16983     break;
16984
16985   case 512:
16986
16987 /* Line 1464 of yacc.c  */
16988 #line 1923 "grammar.y"
16989     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16990     break;
16991
16992   case 513:
16993
16994 /* Line 1464 of yacc.c  */
16995 #line 1924 "grammar.y"
16996     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16997     break;
16998
16999   case 514:
17000
17001 /* Line 1464 of yacc.c  */
17002 #line 1925 "grammar.y"
17003     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17004     break;
17005
17006   case 515:
17007
17008 /* Line 1464 of yacc.c  */
17009 #line 1926 "grammar.y"
17010     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17011     break;
17012
17013   case 517:
17014
17015 /* Line 1464 of yacc.c  */
17016 #line 1931 "grammar.y"
17017     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17018     break;
17019
17020   case 518:
17021
17022 /* Line 1464 of yacc.c  */
17023 #line 1932 "grammar.y"
17024     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17025     break;
17026
17027   case 519:
17028
17029 /* Line 1464 of yacc.c  */
17030 #line 1934 "grammar.y"
17031     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17032     break;
17033
17034   case 520:
17035
17036 /* Line 1464 of yacc.c  */
17037 #line 1935 "grammar.y"
17038     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17039     break;
17040
17041   case 522:
17042
17043 /* Line 1464 of yacc.c  */
17044 #line 1940 "grammar.y"
17045     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17046     break;
17047
17048   case 523:
17049
17050 /* Line 1464 of yacc.c  */
17051 #line 1941 "grammar.y"
17052     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17053     break;
17054
17055   case 524:
17056
17057 /* Line 1464 of yacc.c  */
17058 #line 1943 "grammar.y"
17059     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17060     break;
17061
17062   case 525:
17063
17064 /* Line 1464 of yacc.c  */
17065 #line 1944 "grammar.y"
17066     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17067     break;
17068
17069   case 527:
17070
17071 /* Line 1464 of yacc.c  */
17072 #line 1949 "grammar.y"
17073     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17074     break;
17075
17076   case 528:
17077
17078 /* Line 1464 of yacc.c  */
17079 #line 1950 "grammar.y"
17080     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17081     break;
17082
17083   case 529:
17084
17085 /* Line 1464 of yacc.c  */
17086 #line 1952 "grammar.y"
17087     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17088     break;
17089
17090   case 530:
17091
17092 /* Line 1464 of yacc.c  */
17093 #line 1953 "grammar.y"
17094     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17095     break;
17096
17097   case 532:
17098
17099 /* Line 1464 of yacc.c  */
17100 #line 1958 "grammar.y"
17101     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17102     break;
17103
17104   case 533:
17105
17106 /* Line 1464 of yacc.c  */
17107 #line 1959 "grammar.y"
17108     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17109     break;
17110
17111   case 535:
17112
17113 /* Line 1464 of yacc.c  */
17114 #line 1964 "grammar.y"
17115     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17116     break;
17117
17118   case 536:
17119
17120 /* Line 1464 of yacc.c  */
17121 #line 1965 "grammar.y"
17122     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17123     break;
17124
17125   case 538:
17126
17127 /* Line 1464 of yacc.c  */
17128 #line 1970 "grammar.y"
17129     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17130     break;
17131
17132   case 539:
17133
17134 /* Line 1464 of yacc.c  */
17135 #line 1971 "grammar.y"
17136     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17137     break;
17138
17139   case 540:
17140
17141 /* Line 1464 of yacc.c  */
17142 #line 1972 "grammar.y"
17143     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17144     break;
17145
17146   case 541:
17147
17148 /* Line 1464 of yacc.c  */
17149 #line 1973 "grammar.y"
17150     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17151     break;
17152
17153   case 542:
17154
17155 /* Line 1464 of yacc.c  */
17156 #line 1974 "grammar.y"
17157     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17158     break;
17159
17160   case 543:
17161
17162 /* Line 1464 of yacc.c  */
17163 #line 1975 "grammar.y"
17164     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17165     break;
17166
17167   case 544:
17168
17169 /* Line 1464 of yacc.c  */
17170 #line 1976 "grammar.y"
17171     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17172     break;
17173
17174   case 545:
17175
17176 /* Line 1464 of yacc.c  */
17177 #line 1977 "grammar.y"
17178     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17179     break;
17180
17181   case 546:
17182
17183 /* Line 1464 of yacc.c  */
17184 #line 1979 "grammar.y"
17185     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17186     break;
17187
17188   case 547:
17189
17190 /* Line 1464 of yacc.c  */
17191 #line 1980 "grammar.y"
17192     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17193     break;
17194
17195   case 548:
17196
17197 /* Line 1464 of yacc.c  */
17198 #line 1981 "grammar.y"
17199     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17200     break;
17201
17202   case 549:
17203
17204 /* Line 1464 of yacc.c  */
17205 #line 1982 "grammar.y"
17206     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17207     break;
17208
17209   case 550:
17210
17211 /* Line 1464 of yacc.c  */
17212 #line 1983 "grammar.y"
17213     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17214     break;
17215
17216   case 551:
17217
17218 /* Line 1464 of yacc.c  */
17219 #line 1984 "grammar.y"
17220     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17221     break;
17222
17223   case 552:
17224
17225 /* Line 1464 of yacc.c  */
17226 #line 1985 "grammar.y"
17227     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17228     break;
17229
17230   case 553:
17231
17232 /* Line 1464 of yacc.c  */
17233 #line 1986 "grammar.y"
17234     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17235     break;
17236
17237   case 554:
17238
17239 /* Line 1464 of yacc.c  */
17240 #line 1988 "grammar.y"
17241     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17242     break;
17243
17244   case 555:
17245
17246 /* Line 1464 of yacc.c  */
17247 #line 1989 "grammar.y"
17248     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17249     break;
17250
17251   case 556:
17252
17253 /* Line 1464 of yacc.c  */
17254 #line 1990 "grammar.y"
17255     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17256     break;
17257
17258   case 557:
17259
17260 /* Line 1464 of yacc.c  */
17261 #line 1991 "grammar.y"
17262     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17263     break;
17264
17265   case 558:
17266
17267 /* Line 1464 of yacc.c  */
17268 #line 1993 "grammar.y"
17269     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17270     break;
17271
17272   case 559:
17273
17274 /* Line 1464 of yacc.c  */
17275 #line 1994 "grammar.y"
17276     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17277     break;
17278
17279   case 560:
17280
17281 /* Line 1464 of yacc.c  */
17282 #line 1995 "grammar.y"
17283     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17284     break;
17285
17286   case 561:
17287
17288 /* Line 1464 of yacc.c  */
17289 #line 1996 "grammar.y"
17290     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17291     break;
17292
17293   case 562:
17294
17295 /* Line 1464 of yacc.c  */
17296 #line 1999 "grammar.y"
17297     {
17298          yyerror();
17299          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy());
17300          (yyval.exp).loc = (yyloc);
17301          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]);
17302          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17303       ;}
17304     break;
17305
17306   case 563:
17307
17308 /* Line 1464 of yacc.c  */
17309 #line 2007 "grammar.y"
17310     {
17311          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17312       ;}
17313     break;
17314
17315   case 564:
17316
17317 /* Line 1464 of yacc.c  */
17318 #line 2011 "grammar.y"
17319     {
17320          yyerror();
17321          (yyval.exp) = MkExpCondition((yyvsp[(1) - (2)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (2)]); (yyval.exp).cond.elseExp.loc = (yylsp[(2) - (2)]);
17322       ;}
17323     break;
17324
17325   case 565:
17326
17327 /* Line 1464 of yacc.c  */
17328 #line 2016 "grammar.y"
17329     {
17330          (yyval.exp) = MkExpCondition((yyvsp[(1) - (2)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (2)]); (yyval.exp).cond.elseExp.loc = (yylsp[(2) - (2)]);
17331       ;}
17332     break;
17333
17334   case 567:
17335
17336 /* Line 1464 of yacc.c  */
17337 #line 2023 "grammar.y"
17338     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17339     break;
17340
17341   case 568:
17342
17343 /* Line 1464 of yacc.c  */
17344 #line 2027 "grammar.y"
17345     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17346     break;
17347
17348   case 569:
17349
17350 /* Line 1464 of yacc.c  */
17351 #line 2032 "grammar.y"
17352     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17353     break;
17354
17355   case 570:
17356
17357 /* Line 1464 of yacc.c  */
17358 #line 2033 "grammar.y"
17359     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17360     break;
17361
17362   case 571:
17363
17364 /* Line 1464 of yacc.c  */
17365 #line 2037 "grammar.y"
17366     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17367     break;
17368
17369   case 572:
17370
17371 /* Line 1464 of yacc.c  */
17372 #line 2038 "grammar.y"
17373     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17374     break;
17375
17376   case 573:
17377
17378 /* Line 1464 of yacc.c  */
17379 #line 2039 "grammar.y"
17380     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17381     break;
17382
17383   case 574:
17384
17385 /* Line 1464 of yacc.c  */
17386 #line 2040 "grammar.y"
17387     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17388     break;
17389
17390   case 575:
17391
17392 /* Line 1464 of yacc.c  */
17393 #line 2046 "grammar.y"
17394     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17395     break;
17396
17397   case 576:
17398
17399 /* Line 1464 of yacc.c  */
17400 #line 2047 "grammar.y"
17401     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17402     break;
17403
17404   case 577:
17405
17406 /* Line 1464 of yacc.c  */
17407 #line 2048 "grammar.y"
17408     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17409     break;
17410
17411   case 578:
17412
17413 /* Line 1464 of yacc.c  */
17414 #line 2052 "grammar.y"
17415     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17416     break;
17417
17418   case 579:
17419
17420 /* Line 1464 of yacc.c  */
17421 #line 2053 "grammar.y"
17422     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17423     break;
17424
17425   case 580:
17426
17427 /* Line 1464 of yacc.c  */
17428 #line 2054 "grammar.y"
17429     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17430     break;
17431
17432   case 581:
17433
17434 /* Line 1464 of yacc.c  */
17435 #line 2055 "grammar.y"
17436     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17437     break;
17438
17439   case 584:
17440
17441 /* Line 1464 of yacc.c  */
17442 #line 2065 "grammar.y"
17443     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17444     break;
17445
17446   case 585:
17447
17448 /* Line 1464 of yacc.c  */
17449 #line 2066 "grammar.y"
17450     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17451     break;
17452
17453   case 586:
17454
17455 /* Line 1464 of yacc.c  */
17456 #line 2067 "grammar.y"
17457     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17458     break;
17459
17460   case 587:
17461
17462 /* Line 1464 of yacc.c  */
17463 #line 2068 "grammar.y"
17464     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17465     break;
17466
17467   case 588:
17468
17469 /* Line 1464 of yacc.c  */
17470 #line 2069 "grammar.y"
17471     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17472     break;
17473
17474   case 589:
17475
17476 /* Line 1464 of yacc.c  */
17477 #line 2070 "grammar.y"
17478     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17479     break;
17480
17481   case 590:
17482
17483 /* Line 1464 of yacc.c  */
17484 #line 2071 "grammar.y"
17485     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17486     break;
17487
17488   case 591:
17489
17490 /* Line 1464 of yacc.c  */
17491 #line 2075 "grammar.y"
17492     { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
17493     break;
17494
17495   case 592:
17496
17497 /* Line 1464 of yacc.c  */
17498 #line 2076 "grammar.y"
17499     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17500     break;
17501
17502   case 593:
17503
17504 /* Line 1464 of yacc.c  */
17505 #line 2077 "grammar.y"
17506     { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
17507     break;
17508
17509   case 594:
17510
17511 /* Line 1464 of yacc.c  */
17512 #line 2078 "grammar.y"
17513     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17514     break;
17515
17516   case 595:
17517
17518 /* Line 1464 of yacc.c  */
17519 #line 2079 "grammar.y"
17520     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17521     break;
17522
17523   case 596:
17524
17525 /* Line 1464 of yacc.c  */
17526 #line 2080 "grammar.y"
17527     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17528     break;
17529
17530   case 597:
17531
17532 /* Line 1464 of yacc.c  */
17533 #line 2081 "grammar.y"
17534     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17535     break;
17536
17537   case 598:
17538
17539 /* Line 1464 of yacc.c  */
17540 #line 2085 "grammar.y"
17541     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17542     break;
17543
17544   case 599:
17545
17546 /* Line 1464 of yacc.c  */
17547 #line 2086 "grammar.y"
17548     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17549     break;
17550
17551   case 600:
17552
17553 /* Line 1464 of yacc.c  */
17554 #line 2087 "grammar.y"
17555     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17556     break;
17557
17558   case 601:
17559
17560 /* Line 1464 of yacc.c  */
17561 #line 2091 "grammar.y"
17562     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17563     break;
17564
17565   case 602:
17566
17567 /* Line 1464 of yacc.c  */
17568 #line 2092 "grammar.y"
17569     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17570     break;
17571
17572   case 604:
17573
17574 /* Line 1464 of yacc.c  */
17575 #line 2097 "grammar.y"
17576     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17577     break;
17578
17579   case 605:
17580
17581 /* Line 1464 of yacc.c  */
17582 #line 2101 "grammar.y"
17583     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17584     break;
17585
17586   case 606:
17587
17588 /* Line 1464 of yacc.c  */
17589 #line 2102 "grammar.y"
17590     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17591     break;
17592
17593   case 607:
17594
17595 /* Line 1464 of yacc.c  */
17596 #line 2106 "grammar.y"
17597     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17598     break;
17599
17600   case 608:
17601
17602 /* Line 1464 of yacc.c  */
17603 #line 2107 "grammar.y"
17604     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17605     break;
17606
17607   case 609:
17608
17609 /* Line 1464 of yacc.c  */
17610 #line 2108 "grammar.y"
17611     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17612     break;
17613
17614   case 610:
17615
17616 /* Line 1464 of yacc.c  */
17617 #line 2112 "grammar.y"
17618     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17619     break;
17620
17621   case 611:
17622
17623 /* Line 1464 of yacc.c  */
17624 #line 2113 "grammar.y"
17625     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17626     break;
17627
17628   case 612:
17629
17630 /* Line 1464 of yacc.c  */
17631 #line 2115 "grammar.y"
17632     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17633     break;
17634
17635   case 613:
17636
17637 /* Line 1464 of yacc.c  */
17638 #line 2116 "grammar.y"
17639     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17640     break;
17641
17642   case 614:
17643
17644 /* Line 1464 of yacc.c  */
17645 #line 2117 "grammar.y"
17646     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17647     break;
17648
17649   case 615:
17650
17651 /* Line 1464 of yacc.c  */
17652 #line 2118 "grammar.y"
17653     { (yyval.specifier) = MkEnum((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list);  POP_DEFAULT_ACCESS ;}
17654     break;
17655
17656   case 616:
17657
17658 /* Line 1464 of yacc.c  */
17659 #line 2119 "grammar.y"
17660     { (yyval.specifier) = MkEnum((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list);  POP_DEFAULT_ACCESS ;}
17661     break;
17662
17663   case 617:
17664
17665 /* Line 1464 of yacc.c  */
17666 #line 2121 "grammar.y"
17667     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17668     break;
17669
17670   case 618:
17671
17672 /* Line 1464 of yacc.c  */
17673 #line 2122 "grammar.y"
17674     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (5)].specifier).name), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (5)].specifier)); POP_DEFAULT_ACCESS ;}
17675     break;
17676
17677   case 619:
17678
17679 /* Line 1464 of yacc.c  */
17680 #line 2123 "grammar.y"
17681     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17682     break;
17683
17684   case 620:
17685
17686 /* Line 1464 of yacc.c  */
17687 #line 2124 "grammar.y"
17688     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (6)].specifier).name), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list); FreeSpecifier((yyvsp[(2) - (6)].specifier)); POP_DEFAULT_ACCESS ;}
17689     break;
17690
17691   case 621:
17692
17693 /* Line 1464 of yacc.c  */
17694 #line 2125 "grammar.y"
17695     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (6)].specifier).name), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list); FreeSpecifier((yyvsp[(2) - (6)].specifier)); POP_DEFAULT_ACCESS ;}
17696     break;
17697
17698   case 622:
17699
17700 /* Line 1464 of yacc.c  */
17701 #line 2127 "grammar.y"
17702     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17703     break;
17704
17705   case 623:
17706
17707 /* Line 1464 of yacc.c  */
17708 #line 2128 "grammar.y"
17709     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (5)].specifier).name), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (5)].specifier)); POP_DEFAULT_ACCESS ;}
17710     break;
17711
17712   case 624:
17713
17714 /* Line 1464 of yacc.c  */
17715 #line 2132 "grammar.y"
17716     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace((yyvsp[(2) - (2)].id)._class, (yyvsp[(2) - (2)].id).string); ;}
17717     break;
17718
17719   case 625:
17720
17721 /* Line 1464 of yacc.c  */
17722 #line 2133 "grammar.y"
17723     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass((yyvsp[(2) - (2)].specifier).nsSpec, (yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
17724     break;
17725
17726   case 626:
17727
17728 /* Line 1464 of yacc.c  */
17729 #line 2137 "grammar.y"
17730     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17731     break;
17732
17733   case 627:
17734
17735 /* Line 1464 of yacc.c  */
17736 #line 2138 "grammar.y"
17737     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17738     break;
17739
17740   case 628:
17741
17742 /* Line 1464 of yacc.c  */
17743 #line 2139 "grammar.y"
17744     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17745     break;
17746
17747   case 629:
17748
17749 /* Line 1464 of yacc.c  */
17750 #line 2143 "grammar.y"
17751     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(5) - (5)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17752     break;
17753
17754   case 630:
17755
17756 /* Line 1464 of yacc.c  */
17757 #line 2144 "grammar.y"
17758     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), (yyvsp[(5) - (6)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17759     break;
17760
17761   case 631:
17762
17763 /* Line 1464 of yacc.c  */
17764 #line 2145 "grammar.y"
17765     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17766     break;
17767
17768   case 632:
17769
17770 /* Line 1464 of yacc.c  */
17771 #line 2146 "grammar.y"
17772     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17773     break;
17774
17775   case 633:
17776
17777 /* Line 1464 of yacc.c  */
17778 #line 2147 "grammar.y"
17779     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17780     break;
17781
17782   case 634:
17783
17784 /* Line 1464 of yacc.c  */
17785 #line 2148 "grammar.y"
17786     { (yyval.specifier) = MkEnum((yyvsp[(1) - (8)].id), (yyvsp[(5) - (8)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (8)].list); (yyval.specifier).definitions = (yyvsp[(8) - (8)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17787     break;
17788
17789   case 635:
17790
17791 /* Line 1464 of yacc.c  */
17792 #line 2149 "grammar.y"
17793     { (yyval.specifier) = MkEnum((yyvsp[(1) - (8)].id), (yyvsp[(5) - (8)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (8)].list); (yyval.specifier).definitions = (yyvsp[(8) - (8)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17794     break;
17795
17796   case 636:
17797
17798 /* Line 1464 of yacc.c  */
17799 #line 2150 "grammar.y"
17800     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17801     break;
17802
17803   case 637:
17804
17805 /* Line 1464 of yacc.c  */
17806 #line 2151 "grammar.y"
17807     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17808     break;
17809
17810   case 638:
17811
17812 /* Line 1464 of yacc.c  */
17813 #line 2153 "grammar.y"
17814     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17815     break;
17816
17817   case 639:
17818
17819 /* Line 1464 of yacc.c  */
17820 #line 2154 "grammar.y"
17821     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17822     break;
17823
17824   case 640:
17825
17826 /* Line 1464 of yacc.c  */
17827 #line 2156 "grammar.y"
17828     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17829     break;
17830
17831   case 641:
17832
17833 /* Line 1464 of yacc.c  */
17834 #line 2157 "grammar.y"
17835     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17836     break;
17837
17838   case 642:
17839
17840 /* Line 1464 of yacc.c  */
17841 #line 2158 "grammar.y"
17842     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17843     break;
17844
17845   case 643:
17846
17847 /* Line 1464 of yacc.c  */
17848 #line 2159 "grammar.y"
17849     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(3) - (5)].list)); (yyval.specifier).definitions = (yyvsp[(5) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17850     break;
17851
17852   case 644:
17853
17854 /* Line 1464 of yacc.c  */
17855 #line 2160 "grammar.y"
17856     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(3) - (5)].list)); (yyval.specifier).definitions = (yyvsp[(5) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17857     break;
17858
17859   case 645:
17860
17861 /* Line 1464 of yacc.c  */
17862 #line 2162 "grammar.y"
17863     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), (yyvsp[(5) - (6)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17864     break;
17865
17866   case 646:
17867
17868 /* Line 1464 of yacc.c  */
17869 #line 2163 "grammar.y"
17870     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17871     break;
17872
17873   case 647:
17874
17875 /* Line 1464 of yacc.c  */
17876 #line 2164 "grammar.y"
17877     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17878     break;
17879
17880   case 648:
17881
17882 /* Line 1464 of yacc.c  */
17883 #line 2165 "grammar.y"
17884     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17885     break;
17886
17887   case 653:
17888
17889 /* Line 1464 of yacc.c  */
17890 #line 2179 "grammar.y"
17891     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
17892     break;
17893
17894   case 654:
17895
17896 /* Line 1464 of yacc.c  */
17897 #line 2183 "grammar.y"
17898     { (yyval.specifier) = MkSpecifier(CONST); ;}
17899     break;
17900
17901   case 655:
17902
17903 /* Line 1464 of yacc.c  */
17904 #line 2184 "grammar.y"
17905     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17906     break;
17907
17908   case 656:
17909
17910 /* Line 1464 of yacc.c  */
17911 #line 2185 "grammar.y"
17912     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17913     break;
17914
17915   case 657:
17916
17917 /* Line 1464 of yacc.c  */
17918 #line 2190 "grammar.y"
17919     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17920     break;
17921
17922   case 658:
17923
17924 /* Line 1464 of yacc.c  */
17925 #line 2191 "grammar.y"
17926     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
17927     break;
17928
17929   case 659:
17930
17931 /* Line 1464 of yacc.c  */
17932 #line 2195 "grammar.y"
17933     { (yyval.specifier) = MkSpecifier(VOID); ;}
17934     break;
17935
17936   case 660:
17937
17938 /* Line 1464 of yacc.c  */
17939 #line 2196 "grammar.y"
17940     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17941     break;
17942
17943   case 661:
17944
17945 /* Line 1464 of yacc.c  */
17946 #line 2197 "grammar.y"
17947     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17948     break;
17949
17950   case 662:
17951
17952 /* Line 1464 of yacc.c  */
17953 #line 2198 "grammar.y"
17954     { (yyval.specifier) = MkSpecifier(INT); ;}
17955     break;
17956
17957   case 663:
17958
17959 /* Line 1464 of yacc.c  */
17960 #line 2199 "grammar.y"
17961     { (yyval.specifier) = MkSpecifier(UINT); ;}
17962     break;
17963
17964   case 664:
17965
17966 /* Line 1464 of yacc.c  */
17967 #line 2200 "grammar.y"
17968     { (yyval.specifier) = MkSpecifier(INT64); ;}
17969     break;
17970
17971   case 665:
17972
17973 /* Line 1464 of yacc.c  */
17974 #line 2201 "grammar.y"
17975     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17976     break;
17977
17978   case 666:
17979
17980 /* Line 1464 of yacc.c  */
17981 #line 2202 "grammar.y"
17982     { (yyval.specifier) = MkSpecifier(LONG); ;}
17983     break;
17984
17985   case 667:
17986
17987 /* Line 1464 of yacc.c  */
17988 #line 2203 "grammar.y"
17989     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17990     break;
17991
17992   case 668:
17993
17994 /* Line 1464 of yacc.c  */
17995 #line 2204 "grammar.y"
17996     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17997     break;
17998
17999   case 669:
18000
18001 /* Line 1464 of yacc.c  */
18002 #line 2205 "grammar.y"
18003     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18004     break;
18005
18006   case 670:
18007
18008 /* Line 1464 of yacc.c  */
18009 #line 2206 "grammar.y"
18010     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18011     break;
18012
18013   case 671:
18014
18015 /* Line 1464 of yacc.c  */
18016 #line 2207 "grammar.y"
18017     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18018     break;
18019
18020   case 675:
18021
18022 /* Line 1464 of yacc.c  */
18023 #line 2211 "grammar.y"
18024     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18025     break;
18026
18027   case 676:
18028
18029 /* Line 1464 of yacc.c  */
18030 #line 2212 "grammar.y"
18031     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18032     break;
18033
18034   case 677:
18035
18036 /* Line 1464 of yacc.c  */
18037 #line 2213 "grammar.y"
18038     { _DeclClass((yyvsp[(3) - (4)].id)._class, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
18039     break;
18040
18041   case 678:
18042
18043 /* Line 1464 of yacc.c  */
18044 #line 2214 "grammar.y"
18045     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18046     break;
18047
18048   case 679:
18049
18050 /* Line 1464 of yacc.c  */
18051 #line 2215 "grammar.y"
18052     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
18053     break;
18054
18055   case 680:
18056
18057 /* Line 1464 of yacc.c  */
18058 #line 2216 "grammar.y"
18059     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
18060     break;
18061
18062   case 681:
18063
18064 /* Line 1464 of yacc.c  */
18065 #line 2217 "grammar.y"
18066     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18067     break;
18068
18069   case 682:
18070
18071 /* Line 1464 of yacc.c  */
18072 #line 2218 "grammar.y"
18073     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18074     break;
18075
18076   case 683:
18077
18078 /* Line 1464 of yacc.c  */
18079 #line 2219 "grammar.y"
18080     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18081     break;
18082
18083   case 684:
18084
18085 /* Line 1464 of yacc.c  */
18086 #line 2220 "grammar.y"
18087     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18088     break;
18089
18090   case 685:
18091
18092 /* Line 1464 of yacc.c  */
18093 #line 2224 "grammar.y"
18094     { (yyval.specifier) = MkSpecifier(VOID); ;}
18095     break;
18096
18097   case 686:
18098
18099 /* Line 1464 of yacc.c  */
18100 #line 2225 "grammar.y"
18101     { (yyval.specifier) = MkSpecifier(CHAR); ;}
18102     break;
18103
18104   case 687:
18105
18106 /* Line 1464 of yacc.c  */
18107 #line 2226 "grammar.y"
18108     { (yyval.specifier) = MkSpecifier(SHORT); ;}
18109     break;
18110
18111   case 688:
18112
18113 /* Line 1464 of yacc.c  */
18114 #line 2227 "grammar.y"
18115     { (yyval.specifier) = MkSpecifier(INT); ;}
18116     break;
18117
18118   case 689:
18119
18120 /* Line 1464 of yacc.c  */
18121 #line 2228 "grammar.y"
18122     { (yyval.specifier) = MkSpecifier(UINT); ;}
18123     break;
18124
18125   case 690:
18126
18127 /* Line 1464 of yacc.c  */
18128 #line 2229 "grammar.y"
18129     { (yyval.specifier) = MkSpecifier(INT64); ;}
18130     break;
18131
18132   case 691:
18133
18134 /* Line 1464 of yacc.c  */
18135 #line 2230 "grammar.y"
18136     { (yyval.specifier) = MkSpecifier(VALIST); ;}
18137     break;
18138
18139   case 692:
18140
18141 /* Line 1464 of yacc.c  */
18142 #line 2231 "grammar.y"
18143     { (yyval.specifier) = MkSpecifier(LONG); ;}
18144     break;
18145
18146   case 693:
18147
18148 /* Line 1464 of yacc.c  */
18149 #line 2232 "grammar.y"
18150     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
18151     break;
18152
18153   case 694:
18154
18155 /* Line 1464 of yacc.c  */
18156 #line 2233 "grammar.y"
18157     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
18158     break;
18159
18160   case 695:
18161
18162 /* Line 1464 of yacc.c  */
18163 #line 2234 "grammar.y"
18164     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
18165     break;
18166
18167   case 696:
18168
18169 /* Line 1464 of yacc.c  */
18170 #line 2235 "grammar.y"
18171     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
18172     break;
18173
18174   case 697:
18175
18176 /* Line 1464 of yacc.c  */
18177 #line 2236 "grammar.y"
18178     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
18179     break;
18180
18181   case 701:
18182
18183 /* Line 1464 of yacc.c  */
18184 #line 2240 "grammar.y"
18185     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
18186     break;
18187
18188   case 702:
18189
18190 /* Line 1464 of yacc.c  */
18191 #line 2241 "grammar.y"
18192     { (yyval.specifier) = MkSpecifier(BOOL); ;}
18193     break;
18194
18195   case 703:
18196
18197 /* Line 1464 of yacc.c  */
18198 #line 2242 "grammar.y"
18199     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18200     break;
18201
18202   case 704:
18203
18204 /* Line 1464 of yacc.c  */
18205 #line 2243 "grammar.y"
18206     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18207     break;
18208
18209   case 705:
18210
18211 /* Line 1464 of yacc.c  */
18212 #line 2244 "grammar.y"
18213     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18214     break;
18215
18216   case 706:
18217
18218 /* Line 1464 of yacc.c  */
18219 #line 2245 "grammar.y"
18220     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18221     break;
18222
18223   case 707:
18224
18225 /* Line 1464 of yacc.c  */
18226 #line 2246 "grammar.y"
18227     { _DeclClass((yyvsp[(3) - (4)].id)._class, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
18228     break;
18229
18230   case 708:
18231
18232 /* Line 1464 of yacc.c  */
18233 #line 2247 "grammar.y"
18234     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18235     break;
18236
18237   case 709:
18238
18239 /* Line 1464 of yacc.c  */
18240 #line 2254 "grammar.y"
18241     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
18242     break;
18243
18244   case 710:
18245
18246 /* Line 1464 of yacc.c  */
18247 #line 2256 "grammar.y"
18248     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
18249     break;
18250
18251   case 711:
18252
18253 /* Line 1464 of yacc.c  */
18254 #line 2258 "grammar.y"
18255     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18256     break;
18257
18258   case 712:
18259
18260 /* Line 1464 of yacc.c  */
18261 #line 2260 "grammar.y"
18262     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18263     break;
18264
18265   case 713:
18266
18267 /* Line 1464 of yacc.c  */
18268 #line 2262 "grammar.y"
18269     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18270     break;
18271
18272   case 714:
18273
18274 /* Line 1464 of yacc.c  */
18275 #line 2264 "grammar.y"
18276     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18277     break;
18278
18279   case 715:
18280
18281 /* Line 1464 of yacc.c  */
18282 #line 2266 "grammar.y"
18283     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18284     break;
18285
18286   case 716:
18287
18288 /* Line 1464 of yacc.c  */
18289 #line 2268 "grammar.y"
18290     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18291     break;
18292
18293   case 717:
18294
18295 /* Line 1464 of yacc.c  */
18296 #line 2270 "grammar.y"
18297     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18298     break;
18299
18300   case 718:
18301
18302 /* Line 1464 of yacc.c  */
18303 #line 2272 "grammar.y"
18304     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18305     break;
18306
18307   case 719:
18308
18309 /* Line 1464 of yacc.c  */
18310 #line 2276 "grammar.y"
18311     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
18312     break;
18313
18314   case 720:
18315
18316 /* Line 1464 of yacc.c  */
18317 #line 2277 "grammar.y"
18318     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
18319     break;
18320
18321   case 721:
18322
18323 /* Line 1464 of yacc.c  */
18324 #line 2282 "grammar.y"
18325     {
18326          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
18327          (yyval.specifier).addNameSpace = true;
18328          (yyval.specifier).ctx = PushContext();
18329       ;}
18330     break;
18331
18332   case 722:
18333
18334 /* Line 1464 of yacc.c  */
18335 #line 2288 "grammar.y"
18336     {
18337          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
18338          (yyval.specifier).ctx = PushContext();
18339          FreeSpecifier((yyvsp[(2) - (2)].specifier));
18340       ;}
18341     break;
18342
18343   case 723:
18344
18345 /* Line 1464 of yacc.c  */
18346 #line 2294 "grammar.y"
18347     {
18348          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
18349          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18350          (yyval.specifier).addNameSpace = true;
18351          (yyval.specifier).ctx = PushContext();
18352       ;}
18353     break;
18354
18355   case 724:
18356
18357 /* Line 1464 of yacc.c  */
18358 #line 2301 "grammar.y"
18359     {
18360          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
18361          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18362          (yyval.specifier).ctx = PushContext();
18363          FreeSpecifier((yyvsp[(3) - (3)].specifier));
18364       ;}
18365     break;
18366
18367   case 725:
18368
18369 /* Line 1464 of yacc.c  */
18370 #line 2310 "grammar.y"
18371     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18372     break;
18373
18374   case 726:
18375
18376 /* Line 1464 of yacc.c  */
18377 #line 2311 "grammar.y"
18378     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18379     break;
18380
18381   case 727:
18382
18383 /* Line 1464 of yacc.c  */
18384 #line 2312 "grammar.y"
18385     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18386     break;
18387
18388   case 728:
18389
18390 /* Line 1464 of yacc.c  */
18391 #line 2313 "grammar.y"
18392     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18393     break;
18394
18395   case 729:
18396
18397 /* Line 1464 of yacc.c  */
18398 #line 2317 "grammar.y"
18399     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18400     break;
18401
18402   case 730:
18403
18404 /* Line 1464 of yacc.c  */
18405 #line 2318 "grammar.y"
18406     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18407     break;
18408
18409   case 731:
18410
18411 /* Line 1464 of yacc.c  */
18412 #line 2319 "grammar.y"
18413     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18414     break;
18415
18416   case 732:
18417
18418 /* Line 1464 of yacc.c  */
18419 #line 2321 "grammar.y"
18420     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18421     break;
18422
18423   case 733:
18424
18425 /* Line 1464 of yacc.c  */
18426 #line 2322 "grammar.y"
18427     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18428     break;
18429
18430   case 734:
18431
18432 /* Line 1464 of yacc.c  */
18433 #line 2323 "grammar.y"
18434     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18435     break;
18436
18437   case 735:
18438
18439 /* Line 1464 of yacc.c  */
18440 #line 2325 "grammar.y"
18441     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18442     break;
18443
18444   case 736:
18445
18446 /* Line 1464 of yacc.c  */
18447 #line 2326 "grammar.y"
18448     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18449     break;
18450
18451   case 737:
18452
18453 /* Line 1464 of yacc.c  */
18454 #line 2327 "grammar.y"
18455     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18456     break;
18457
18458   case 738:
18459
18460 /* Line 1464 of yacc.c  */
18461 #line 2331 "grammar.y"
18462     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18463     break;
18464
18465   case 739:
18466
18467 /* Line 1464 of yacc.c  */
18468 #line 2336 "grammar.y"
18469     {
18470         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
18471         if(declMode)
18472         {
18473            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)((yyvsp[(1) - (1)].specifier).id._class, (yyvsp[(1) - (1)].specifier).id.string);
18474         }
18475      ;}
18476     break;
18477
18478   case 740:
18479
18480 /* Line 1464 of yacc.c  */
18481 #line 2344 "grammar.y"
18482     {
18483       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)((yyvsp[(1) - (4)].specifier).id._class, (yyvsp[(1) - (4)].specifier).id.string);
18484       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
18485       symbol.templateParams = (yyvsp[(3) - (4)].list);
18486    ;}
18487     break;
18488
18489   case 741:
18490
18491 /* Line 1464 of yacc.c  */
18492 #line 2353 "grammar.y"
18493     {
18494       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18495       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
18496       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
18497    ;}
18498     break;
18499
18500   case 742:
18501
18502 /* Line 1464 of yacc.c  */
18503 #line 2361 "grammar.y"
18504     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18505     break;
18506
18507   case 743:
18508
18509 /* Line 1464 of yacc.c  */
18510 #line 2363 "grammar.y"
18511     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18512     break;
18513
18514   case 744:
18515
18516 /* Line 1464 of yacc.c  */
18517 #line 2364 "grammar.y"
18518     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18519     break;
18520
18521   case 745:
18522
18523 /* Line 1464 of yacc.c  */
18524 #line 2365 "grammar.y"
18525     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18526     break;
18527
18528   case 746:
18529
18530 /* Line 1464 of yacc.c  */
18531 #line 2370 "grammar.y"
18532     {
18533       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18534       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18535       POP_DEFAULT_ACCESS
18536       PopContext(curContext);
18537    ;}
18538     break;
18539
18540   case 747:
18541
18542 /* Line 1464 of yacc.c  */
18543 #line 2377 "grammar.y"
18544     {
18545       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18546       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18547       POP_DEFAULT_ACCESS
18548       PopContext(curContext);
18549    ;}
18550     break;
18551
18552   case 748:
18553
18554 /* Line 1464 of yacc.c  */
18555 #line 2384 "grammar.y"
18556     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18557     break;
18558
18559   case 749:
18560
18561 /* Line 1464 of yacc.c  */
18562 #line 2387 "grammar.y"
18563     {
18564         PopContext(curContext);
18565         if(!declMode)
18566         {
18567            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18568            (yyvsp[(1) - (3)].specifier).id = null;
18569            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18570         }
18571         else
18572            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18573         POP_DEFAULT_ACCESS
18574      ;}
18575     break;
18576
18577   case 750:
18578
18579 /* Line 1464 of yacc.c  */
18580 #line 2400 "grammar.y"
18581     {
18582         PopContext(curContext);
18583
18584         if(!declMode)
18585         {
18586            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18587            (yyvsp[(1) - (3)].specifier).id = null;
18588            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18589         }
18590         else
18591            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18592         POP_DEFAULT_ACCESS
18593      ;}
18594     break;
18595
18596   case 751:
18597
18598 /* Line 1464 of yacc.c  */
18599 #line 2414 "grammar.y"
18600     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18601     break;
18602
18603   case 752:
18604
18605 /* Line 1464 of yacc.c  */
18606 #line 2417 "grammar.y"
18607     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18608     break;
18609
18610   case 753:
18611
18612 /* Line 1464 of yacc.c  */
18613 #line 2419 "grammar.y"
18614     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18615     break;
18616
18617   case 754:
18618
18619 /* Line 1464 of yacc.c  */
18620 #line 2421 "grammar.y"
18621     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18622     break;
18623
18624   case 755:
18625
18626 /* Line 1464 of yacc.c  */
18627 #line 2425 "grammar.y"
18628     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18629     break;
18630
18631   case 756:
18632
18633 /* Line 1464 of yacc.c  */
18634 #line 2426 "grammar.y"
18635     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18636     break;
18637
18638   case 757:
18639
18640 /* Line 1464 of yacc.c  */
18641 #line 2430 "grammar.y"
18642     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18643     break;
18644
18645   case 758:
18646
18647 /* Line 1464 of yacc.c  */
18648 #line 2431 "grammar.y"
18649     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18650     break;
18651
18652   case 759:
18653
18654 /* Line 1464 of yacc.c  */
18655 #line 2432 "grammar.y"
18656     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18657     break;
18658
18659   case 760:
18660
18661 /* Line 1464 of yacc.c  */
18662 #line 2433 "grammar.y"
18663     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18664     break;
18665
18666   case 761:
18667
18668 /* Line 1464 of yacc.c  */
18669 #line 2434 "grammar.y"
18670     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18671     break;
18672
18673   case 762:
18674
18675 /* Line 1464 of yacc.c  */
18676 #line 2435 "grammar.y"
18677     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18678     break;
18679
18680   case 763:
18681
18682 /* Line 1464 of yacc.c  */
18683 #line 2436 "grammar.y"
18684     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18685     break;
18686
18687   case 764:
18688
18689 /* Line 1464 of yacc.c  */
18690 #line 2437 "grammar.y"
18691     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18692     break;
18693
18694   case 765:
18695
18696 /* Line 1464 of yacc.c  */
18697 #line 2441 "grammar.y"
18698     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18699     break;
18700
18701   case 766:
18702
18703 /* Line 1464 of yacc.c  */
18704 #line 2442 "grammar.y"
18705     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18706     break;
18707
18708   case 767:
18709
18710 /* Line 1464 of yacc.c  */
18711 #line 2443 "grammar.y"
18712     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18713     break;
18714
18715   case 768:
18716
18717 /* Line 1464 of yacc.c  */
18718 #line 2444 "grammar.y"
18719     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18720     break;
18721
18722   case 769:
18723
18724 /* Line 1464 of yacc.c  */
18725 #line 2445 "grammar.y"
18726     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18727     break;
18728
18729   case 770:
18730
18731 /* Line 1464 of yacc.c  */
18732 #line 2446 "grammar.y"
18733     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18734     break;
18735
18736   case 771:
18737
18738 /* Line 1464 of yacc.c  */
18739 #line 2447 "grammar.y"
18740     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18741     break;
18742
18743   case 772:
18744
18745 /* Line 1464 of yacc.c  */
18746 #line 2448 "grammar.y"
18747     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18748     break;
18749
18750   case 773:
18751
18752 /* Line 1464 of yacc.c  */
18753 #line 2449 "grammar.y"
18754     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18755     break;
18756
18757   case 774:
18758
18759 /* Line 1464 of yacc.c  */
18760 #line 2450 "grammar.y"
18761     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18762     break;
18763
18764   case 775:
18765
18766 /* Line 1464 of yacc.c  */
18767 #line 2454 "grammar.y"
18768     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18769     break;
18770
18771   case 776:
18772
18773 /* Line 1464 of yacc.c  */
18774 #line 2455 "grammar.y"
18775     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18776     break;
18777
18778   case 777:
18779
18780 /* Line 1464 of yacc.c  */
18781 #line 2456 "grammar.y"
18782     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18783     break;
18784
18785   case 778:
18786
18787 /* Line 1464 of yacc.c  */
18788 #line 2457 "grammar.y"
18789     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18790     break;
18791
18792   case 779:
18793
18794 /* Line 1464 of yacc.c  */
18795 #line 2458 "grammar.y"
18796     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18797     break;
18798
18799   case 780:
18800
18801 /* Line 1464 of yacc.c  */
18802 #line 2459 "grammar.y"
18803     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18804     break;
18805
18806   case 781:
18807
18808 /* Line 1464 of yacc.c  */
18809 #line 2460 "grammar.y"
18810     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18811     break;
18812
18813   case 782:
18814
18815 /* Line 1464 of yacc.c  */
18816 #line 2461 "grammar.y"
18817     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18818     break;
18819
18820   case 783:
18821
18822 /* Line 1464 of yacc.c  */
18823 #line 2462 "grammar.y"
18824     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18825     break;
18826
18827   case 784:
18828
18829 /* Line 1464 of yacc.c  */
18830 #line 2463 "grammar.y"
18831     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18832     break;
18833
18834   case 785:
18835
18836 /* Line 1464 of yacc.c  */
18837 #line 2467 "grammar.y"
18838     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18839     break;
18840
18841   case 786:
18842
18843 /* Line 1464 of yacc.c  */
18844 #line 2468 "grammar.y"
18845     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18846     break;
18847
18848   case 787:
18849
18850 /* Line 1464 of yacc.c  */
18851 #line 2469 "grammar.y"
18852     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18853     break;
18854
18855   case 788:
18856
18857 /* Line 1464 of yacc.c  */
18858 #line 2470 "grammar.y"
18859     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18860     break;
18861
18862   case 789:
18863
18864 /* Line 1464 of yacc.c  */
18865 #line 2471 "grammar.y"
18866     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18867     break;
18868
18869   case 790:
18870
18871 /* Line 1464 of yacc.c  */
18872 #line 2472 "grammar.y"
18873     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18874     break;
18875
18876   case 791:
18877
18878 /* Line 1464 of yacc.c  */
18879 #line 2473 "grammar.y"
18880     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18881     break;
18882
18883   case 792:
18884
18885 /* Line 1464 of yacc.c  */
18886 #line 2474 "grammar.y"
18887     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18888     break;
18889
18890   case 793:
18891
18892 /* Line 1464 of yacc.c  */
18893 #line 2475 "grammar.y"
18894     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18895     break;
18896
18897   case 794:
18898
18899 /* Line 1464 of yacc.c  */
18900 #line 2476 "grammar.y"
18901     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18902     break;
18903
18904   case 795:
18905
18906 /* Line 1464 of yacc.c  */
18907 #line 2477 "grammar.y"
18908     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18909     break;
18910
18911   case 796:
18912
18913 /* Line 1464 of yacc.c  */
18914 #line 2478 "grammar.y"
18915     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18916     break;
18917
18918   case 797:
18919
18920 /* Line 1464 of yacc.c  */
18921 #line 2482 "grammar.y"
18922     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18923     break;
18924
18925   case 798:
18926
18927 /* Line 1464 of yacc.c  */
18928 #line 2483 "grammar.y"
18929     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18930     break;
18931
18932   case 799:
18933
18934 /* Line 1464 of yacc.c  */
18935 #line 2484 "grammar.y"
18936     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18937     break;
18938
18939   case 800:
18940
18941 /* Line 1464 of yacc.c  */
18942 #line 2485 "grammar.y"
18943     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18944     break;
18945
18946   case 801:
18947
18948 /* Line 1464 of yacc.c  */
18949 #line 2486 "grammar.y"
18950     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18951     break;
18952
18953   case 802:
18954
18955 /* Line 1464 of yacc.c  */
18956 #line 2487 "grammar.y"
18957     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18958     break;
18959
18960   case 803:
18961
18962 /* Line 1464 of yacc.c  */
18963 #line 2488 "grammar.y"
18964     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18965     break;
18966
18967   case 804:
18968
18969 /* Line 1464 of yacc.c  */
18970 #line 2489 "grammar.y"
18971     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18972     break;
18973
18974   case 805:
18975
18976 /* Line 1464 of yacc.c  */
18977 #line 2490 "grammar.y"
18978     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18979     break;
18980
18981   case 806:
18982
18983 /* Line 1464 of yacc.c  */
18984 #line 2491 "grammar.y"
18985     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18986     break;
18987
18988   case 807:
18989
18990 /* Line 1464 of yacc.c  */
18991 #line 2495 "grammar.y"
18992     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18993     break;
18994
18995   case 808:
18996
18997 /* Line 1464 of yacc.c  */
18998 #line 2496 "grammar.y"
18999     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19000     break;
19001
19002   case 809:
19003
19004 /* Line 1464 of yacc.c  */
19005 #line 2500 "grammar.y"
19006     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
19007     break;
19008
19009   case 810:
19010
19011 /* Line 1464 of yacc.c  */
19012 #line 2501 "grammar.y"
19013     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
19014     break;
19015
19016   case 811:
19017
19018 /* Line 1464 of yacc.c  */
19019 #line 2502 "grammar.y"
19020     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19021     break;
19022
19023   case 812:
19024
19025 /* Line 1464 of yacc.c  */
19026 #line 2503 "grammar.y"
19027     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19028     break;
19029
19030   case 813:
19031
19032 /* Line 1464 of yacc.c  */
19033 #line 2504 "grammar.y"
19034     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19035     break;
19036
19037   case 814:
19038
19039 /* Line 1464 of yacc.c  */
19040 #line 2505 "grammar.y"
19041     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19042     break;
19043
19044   case 815:
19045
19046 /* Line 1464 of yacc.c  */
19047 #line 2506 "grammar.y"
19048     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19049     break;
19050
19051   case 816:
19052
19053 /* Line 1464 of yacc.c  */
19054 #line 2507 "grammar.y"
19055     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19056     break;
19057
19058   case 817:
19059
19060 /* Line 1464 of yacc.c  */
19061 #line 2509 "grammar.y"
19062     { _DeclClass((yyvsp[(1) - (1)].id)._class, (yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
19063     break;
19064
19065   case 818:
19066
19067 /* Line 1464 of yacc.c  */
19068 #line 2510 "grammar.y"
19069     { (yyval.list) = (yyvsp[(1) - (2)].list); _DeclClass((yyvsp[(2) - (2)].id)._class, (yyvsp[(2) - (2)].id).string); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
19070     break;
19071
19072   case 819:
19073
19074 /* Line 1464 of yacc.c  */
19075 #line 2513 "grammar.y"
19076     {
19077          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19078
19079          (yyval.list) = MkList();
19080          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19081          FreeIdentifier((yyvsp[(1) - (4)].id));
19082       ;}
19083     break;
19084
19085   case 820:
19086
19087 /* Line 1464 of yacc.c  */
19088 #line 2521 "grammar.y"
19089     {
19090          (yyval.list) = (yyvsp[(1) - (5)].list);
19091          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19092          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19093          FreeIdentifier((yyvsp[(2) - (5)].id));
19094       ;}
19095     break;
19096
19097   case 822:
19098
19099 /* Line 1464 of yacc.c  */
19100 #line 2531 "grammar.y"
19101     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
19102     break;
19103
19104   case 823:
19105
19106 /* Line 1464 of yacc.c  */
19107 #line 2535 "grammar.y"
19108     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19109     break;
19110
19111   case 824:
19112
19113 /* Line 1464 of yacc.c  */
19114 #line 2536 "grammar.y"
19115     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19116     break;
19117
19118   case 825:
19119
19120 /* Line 1464 of yacc.c  */
19121 #line 2537 "grammar.y"
19122     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19123     break;
19124
19125   case 826:
19126
19127 /* Line 1464 of yacc.c  */
19128 #line 2538 "grammar.y"
19129     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19130     break;
19131
19132   case 827:
19133
19134 /* Line 1464 of yacc.c  */
19135 #line 2539 "grammar.y"
19136     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19137     break;
19138
19139   case 828:
19140
19141 /* Line 1464 of yacc.c  */
19142 #line 2540 "grammar.y"
19143     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19144     break;
19145
19146   case 829:
19147
19148 /* Line 1464 of yacc.c  */
19149 #line 2541 "grammar.y"
19150     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19151     break;
19152
19153   case 830:
19154
19155 /* Line 1464 of yacc.c  */
19156 #line 2542 "grammar.y"
19157     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19158     break;
19159
19160   case 831:
19161
19162 /* Line 1464 of yacc.c  */
19163 #line 2544 "grammar.y"
19164     {
19165          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19166
19167          (yyval.list) = MkList();
19168          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19169          FreeIdentifier((yyvsp[(1) - (4)].id));
19170       ;}
19171     break;
19172
19173   case 832:
19174
19175 /* Line 1464 of yacc.c  */
19176 #line 2552 "grammar.y"
19177     {
19178          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19179          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19180          FreeIdentifier((yyvsp[(2) - (5)].id));
19181       ;}
19182     break;
19183
19184   case 833:
19185
19186 /* Line 1464 of yacc.c  */
19187 #line 2560 "grammar.y"
19188     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19189     break;
19190
19191   case 834:
19192
19193 /* Line 1464 of yacc.c  */
19194 #line 2561 "grammar.y"
19195     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19196     break;
19197
19198   case 835:
19199
19200 /* Line 1464 of yacc.c  */
19201 #line 2562 "grammar.y"
19202     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19203     break;
19204
19205   case 836:
19206
19207 /* Line 1464 of yacc.c  */
19208 #line 2563 "grammar.y"
19209     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19210     break;
19211
19212   case 837:
19213
19214 /* Line 1464 of yacc.c  */
19215 #line 2564 "grammar.y"
19216     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19217     break;
19218
19219   case 838:
19220
19221 /* Line 1464 of yacc.c  */
19222 #line 2565 "grammar.y"
19223     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19224     break;
19225
19226   case 839:
19227
19228 /* Line 1464 of yacc.c  */
19229 #line 2566 "grammar.y"
19230     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19231     break;
19232
19233   case 840:
19234
19235 /* Line 1464 of yacc.c  */
19236 #line 2567 "grammar.y"
19237     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19238     break;
19239
19240   case 841:
19241
19242 /* Line 1464 of yacc.c  */
19243 #line 2568 "grammar.y"
19244     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19245     break;
19246
19247   case 842:
19248
19249 /* Line 1464 of yacc.c  */
19250 #line 2569 "grammar.y"
19251     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19252     break;
19253
19254   case 843:
19255
19256 /* Line 1464 of yacc.c  */
19257 #line 2570 "grammar.y"
19258     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19259     break;
19260
19261   case 844:
19262
19263 /* Line 1464 of yacc.c  */
19264 #line 2571 "grammar.y"
19265     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19266     break;
19267
19268   case 845:
19269
19270 /* Line 1464 of yacc.c  */
19271 #line 2573 "grammar.y"
19272     {
19273          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19274
19275          (yyval.list) = MkList();
19276          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19277          FreeIdentifier((yyvsp[(1) - (4)].id));
19278       ;}
19279     break;
19280
19281   case 846:
19282
19283 /* Line 1464 of yacc.c  */
19284 #line 2581 "grammar.y"
19285     {
19286          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19287          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19288          FreeIdentifier((yyvsp[(2) - (5)].id));
19289       ;}
19290     break;
19291
19292   case 847:
19293
19294 /* Line 1464 of yacc.c  */
19295 #line 2589 "grammar.y"
19296     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19297     break;
19298
19299   case 848:
19300
19301 /* Line 1464 of yacc.c  */
19302 #line 2590 "grammar.y"
19303     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19304     break;
19305
19306   case 849:
19307
19308 /* Line 1464 of yacc.c  */
19309 #line 2591 "grammar.y"
19310     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19311     break;
19312
19313   case 850:
19314
19315 /* Line 1464 of yacc.c  */
19316 #line 2592 "grammar.y"
19317     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19318     break;
19319
19320   case 851:
19321
19322 /* Line 1464 of yacc.c  */
19323 #line 2593 "grammar.y"
19324     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19325     break;
19326
19327   case 852:
19328
19329 /* Line 1464 of yacc.c  */
19330 #line 2594 "grammar.y"
19331     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19332     break;
19333
19334   case 853:
19335
19336 /* Line 1464 of yacc.c  */
19337 #line 2595 "grammar.y"
19338     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19339     break;
19340
19341   case 854:
19342
19343 /* Line 1464 of yacc.c  */
19344 #line 2596 "grammar.y"
19345     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19346     break;
19347
19348   case 855:
19349
19350 /* Line 1464 of yacc.c  */
19351 #line 2597 "grammar.y"
19352     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19353     break;
19354
19355   case 856:
19356
19357 /* Line 1464 of yacc.c  */
19358 #line 2598 "grammar.y"
19359     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19360     break;
19361
19362   case 857:
19363
19364 /* Line 1464 of yacc.c  */
19365 #line 2599 "grammar.y"
19366     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19367     break;
19368
19369   case 858:
19370
19371 /* Line 1464 of yacc.c  */
19372 #line 2600 "grammar.y"
19373     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19374     break;
19375
19376   case 859:
19377
19378 /* Line 1464 of yacc.c  */
19379 #line 2602 "grammar.y"
19380     {
19381          _DeclClass((yyvsp[(1) - (4)].id)._class, (yyvsp[(1) - (4)].id).string);
19382
19383          (yyval.list) = MkList();
19384          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19385          FreeIdentifier((yyvsp[(1) - (4)].id));
19386       ;}
19387     break;
19388
19389   case 860:
19390
19391 /* Line 1464 of yacc.c  */
19392 #line 2610 "grammar.y"
19393     {
19394          _DeclClass((yyvsp[(2) - (5)].id)._class, (yyvsp[(2) - (5)].id).string);
19395          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19396          FreeIdentifier((yyvsp[(2) - (5)].id));
19397       ;}
19398     break;
19399
19400   case 861:
19401
19402 /* Line 1464 of yacc.c  */
19403 #line 2618 "grammar.y"
19404     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19405     break;
19406
19407   case 862:
19408
19409 /* Line 1464 of yacc.c  */
19410 #line 2619 "grammar.y"
19411     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19412     break;
19413
19414   case 863:
19415
19416 /* Line 1464 of yacc.c  */
19417 #line 2623 "grammar.y"
19418     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
19419     break;
19420
19421   case 864:
19422
19423 /* Line 1464 of yacc.c  */
19424 #line 2624 "grammar.y"
19425     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19426     break;
19427
19428   case 865:
19429
19430 /* Line 1464 of yacc.c  */
19431 #line 2625 "grammar.y"
19432     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19433     break;
19434
19435   case 866:
19436
19437 /* Line 1464 of yacc.c  */
19438 #line 2626 "grammar.y"
19439     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19440     break;
19441
19442   case 867:
19443
19444 /* Line 1464 of yacc.c  */
19445 #line 2627 "grammar.y"
19446     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19447     break;
19448
19449   case 869:
19450
19451 /* Line 1464 of yacc.c  */
19452 #line 2633 "grammar.y"
19453     {
19454       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
19455       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
19456       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
19457       FreeSpecifier((yyvsp[(1) - (1)].specifier));
19458    ;}
19459     break;
19460
19461   case 870:
19462
19463 /* Line 1464 of yacc.c  */
19464 #line 2639 "grammar.y"
19465     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
19466     break;
19467
19468   case 871:
19469
19470 /* Line 1464 of yacc.c  */
19471 #line 2642 "grammar.y"
19472     {
19473          Declarator decl;
19474          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19475          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19476          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19477          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19478          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19479       ;}
19480     break;
19481
19482   case 872:
19483
19484 /* Line 1464 of yacc.c  */
19485 #line 2651 "grammar.y"
19486     {
19487          Declarator decl;
19488          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19489          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19490          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19491          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19492          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19493       ;}
19494     break;
19495
19496   case 873:
19497
19498 /* Line 1464 of yacc.c  */
19499 #line 2660 "grammar.y"
19500     {
19501          Declarator decl;
19502          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19503          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19504          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19505          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19506          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19507       ;}
19508     break;
19509
19510   case 874:
19511
19512 /* Line 1464 of yacc.c  */
19513 #line 2669 "grammar.y"
19514     {
19515          Declarator decl;
19516          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19517          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19518          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19519          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19520          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19521       ;}
19522     break;
19523
19524   case 875:
19525
19526 /* Line 1464 of yacc.c  */
19527 #line 2677 "grammar.y"
19528     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19529     break;
19530
19531   case 876:
19532
19533 /* Line 1464 of yacc.c  */
19534 #line 2678 "grammar.y"
19535     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19536     break;
19537
19538   case 877:
19539
19540 /* Line 1464 of yacc.c  */
19541 #line 2679 "grammar.y"
19542     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19543     break;
19544
19545   case 878:
19546
19547 /* Line 1464 of yacc.c  */
19548 #line 2680 "grammar.y"
19549     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19550     break;
19551
19552   case 879:
19553
19554 /* Line 1464 of yacc.c  */
19555 #line 2684 "grammar.y"
19556     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19557     break;
19558
19559   case 880:
19560
19561 /* Line 1464 of yacc.c  */
19562 #line 2685 "grammar.y"
19563     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19564     break;
19565
19566   case 881:
19567
19568 /* Line 1464 of yacc.c  */
19569 #line 2686 "grammar.y"
19570     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19571     break;
19572
19573   case 882:
19574
19575 /* Line 1464 of yacc.c  */
19576 #line 2687 "grammar.y"
19577     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19578     break;
19579
19580   case 883:
19581
19582 /* Line 1464 of yacc.c  */
19583 #line 2688 "grammar.y"
19584     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19585     break;
19586
19587   case 884:
19588
19589 /* Line 1464 of yacc.c  */
19590 #line 2689 "grammar.y"
19591     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19592     break;
19593
19594   case 885:
19595
19596 /* Line 1464 of yacc.c  */
19597 #line 2690 "grammar.y"
19598     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19599     break;
19600
19601   case 886:
19602
19603 /* Line 1464 of yacc.c  */
19604 #line 2691 "grammar.y"
19605     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19606     break;
19607
19608   case 887:
19609
19610 /* Line 1464 of yacc.c  */
19611 #line 2692 "grammar.y"
19612     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19613     break;
19614
19615   case 889:
19616
19617 /* Line 1464 of yacc.c  */
19618 #line 2700 "grammar.y"
19619     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19620     break;
19621
19622   case 890:
19623
19624 /* Line 1464 of yacc.c  */
19625 #line 2701 "grammar.y"
19626     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19627     break;
19628
19629   case 891:
19630
19631 /* Line 1464 of yacc.c  */
19632 #line 2702 "grammar.y"
19633     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19634     break;
19635
19636   case 892:
19637
19638 /* Line 1464 of yacc.c  */
19639 #line 2703 "grammar.y"
19640     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19641     break;
19642
19643   case 893:
19644
19645 /* Line 1464 of yacc.c  */
19646 #line 2704 "grammar.y"
19647     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19648     break;
19649
19650   case 894:
19651
19652 /* Line 1464 of yacc.c  */
19653 #line 2710 "grammar.y"
19654     {
19655          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19656          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19657          yyclearin;
19658          resetScannerPos(&(yylsp[(1) - (2)]).end);
19659          (yyloc).start = (yylsp[(1) - (2)]).start;
19660          (yyloc).end = (yylsp[(1) - (2)]).end;
19661       ;}
19662     break;
19663
19664   case 895:
19665
19666 /* Line 1464 of yacc.c  */
19667 #line 2719 "grammar.y"
19668     {
19669          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19670          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19671          yyclearin;
19672          resetScannerPos(&(yylsp[(1) - (2)]).end);
19673          (yyloc).start = (yylsp[(1) - (2)]).start;
19674          (yyloc).end = (yylsp[(1) - (2)]).end;
19675       ;}
19676     break;
19677
19678   case 896:
19679
19680 /* Line 1464 of yacc.c  */
19681 #line 2728 "grammar.y"
19682     {
19683          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19684          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19685          yyclearin;
19686          resetScannerPos(&(yylsp[(1) - (3)]).end);
19687          (yyloc).start = (yylsp[(1) - (3)]).start;
19688          (yyloc).end = (yylsp[(1) - (3)]).end;
19689       ;}
19690     break;
19691
19692   case 897:
19693
19694 /* Line 1464 of yacc.c  */
19695 #line 2737 "grammar.y"
19696     {
19697          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19698          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19699          yyclearin;
19700          resetScannerPos(&(yylsp[(1) - (4)]).end);
19701          (yyloc).start = (yylsp[(1) - (4)]).start;
19702          (yyloc).end = (yylsp[(1) - (4)]).end;
19703          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19704          FreeIdentifier((yyvsp[(3) - (4)].id));
19705       ;}
19706     break;
19707
19708   case 901:
19709
19710 /* Line 1464 of yacc.c  */
19711 #line 2760 "grammar.y"
19712     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19713     break;
19714
19715   case 902:
19716
19717 /* Line 1464 of yacc.c  */
19718 #line 2761 "grammar.y"
19719     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19720     break;
19721
19722   case 903:
19723
19724 /* Line 1464 of yacc.c  */
19725 #line 2762 "grammar.y"
19726     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19727     break;
19728
19729   case 904:
19730
19731 /* Line 1464 of yacc.c  */
19732 #line 2763 "grammar.y"
19733     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19734     break;
19735
19736   case 905:
19737
19738 /* Line 1464 of yacc.c  */
19739 #line 2764 "grammar.y"
19740     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19741     break;
19742
19743   case 906:
19744
19745 /* Line 1464 of yacc.c  */
19746 #line 2770 "grammar.y"
19747     {
19748          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19749          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19750          yyclearin;
19751          resetScannerPos(&(yylsp[(1) - (2)]).end);
19752          (yyloc).start = (yylsp[(1) - (2)]).start;
19753          (yyloc).end = (yylsp[(1) - (2)]).end;
19754       ;}
19755     break;
19756
19757   case 907:
19758
19759 /* Line 1464 of yacc.c  */
19760 #line 2779 "grammar.y"
19761     {
19762          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19763          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19764          yyclearin;
19765          resetScannerPos(&(yylsp[(1) - (2)]).end);
19766          (yyloc).start = (yylsp[(1) - (2)]).start;
19767          (yyloc).end = (yylsp[(1) - (2)]).end;
19768       ;}
19769     break;
19770
19771   case 908:
19772
19773 /* Line 1464 of yacc.c  */
19774 #line 2788 "grammar.y"
19775     {
19776          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19777          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19778          yyclearin;
19779          resetScannerPos(&(yylsp[(1) - (3)]).end);
19780          (yyloc).start = (yylsp[(1) - (3)]).start;
19781          (yyloc).end = (yylsp[(1) - (3)]).end;
19782       ;}
19783     break;
19784
19785   case 909:
19786
19787 /* Line 1464 of yacc.c  */
19788 #line 2797 "grammar.y"
19789     {
19790          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19791          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19792          yyclearin;
19793          resetScannerPos(&(yylsp[(1) - (4)]).end);
19794          (yyloc).start = (yylsp[(1) - (4)]).start;
19795          (yyloc).end = (yylsp[(1) - (4)]).end;
19796          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19797          FreeIdentifier((yyvsp[(3) - (4)].id));
19798       ;}
19799     break;
19800
19801   case 912:
19802
19803 /* Line 1464 of yacc.c  */
19804 #line 2860 "grammar.y"
19805     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19806     break;
19807
19808   case 913:
19809
19810 /* Line 1464 of yacc.c  */
19811 #line 2861 "grammar.y"
19812     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19813     break;
19814
19815   case 914:
19816
19817 /* Line 1464 of yacc.c  */
19818 #line 2862 "grammar.y"
19819     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
19820     break;
19821
19822   case 915:
19823
19824 /* Line 1464 of yacc.c  */
19825 #line 2864 "grammar.y"
19826     {
19827          char temp[1024];
19828          strcpy(temp, "__asm__(");
19829          strcat(temp, (yyvsp[(3) - (4)].string));
19830          strcat(temp, ")");
19831          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
19832          delete (yyvsp[(3) - (4)].string);
19833       ;}
19834     break;
19835
19836   case 916:
19837
19838 /* Line 1464 of yacc.c  */
19839 #line 2875 "grammar.y"
19840     { (yyval.i) = ATTRIB; ;}
19841     break;
19842
19843   case 917:
19844
19845 /* Line 1464 of yacc.c  */
19846 #line 2876 "grammar.y"
19847     { (yyval.i) = ATTRIB_DEP; ;}
19848     break;
19849
19850   case 918:
19851
19852 /* Line 1464 of yacc.c  */
19853 #line 2877 "grammar.y"
19854     { (yyval.i) = __ATTRIB; ;}
19855     break;
19856
19857   case 919:
19858
19859 /* Line 1464 of yacc.c  */
19860 #line 2882 "grammar.y"
19861     { (yyval.string)  = CopyString(yytext); ;}
19862     break;
19863
19864   case 920:
19865
19866 /* Line 1464 of yacc.c  */
19867 #line 2883 "grammar.y"
19868     { (yyval.string)  = CopyString(yytext); ;}
19869     break;
19870
19871   case 921:
19872
19873 /* Line 1464 of yacc.c  */
19874 #line 2884 "grammar.y"
19875     { (yyval.string)  = CopyString(yytext); ;}
19876     break;
19877
19878   case 922:
19879
19880 /* Line 1464 of yacc.c  */
19881 #line 2885 "grammar.y"
19882     { (yyval.string)  = CopyString(yytext); ;}
19883     break;
19884
19885   case 923:
19886
19887 /* Line 1464 of yacc.c  */
19888 #line 2886 "grammar.y"
19889     { (yyval.string)  = CopyString(yytext); ;}
19890     break;
19891
19892   case 924:
19893
19894 /* Line 1464 of yacc.c  */
19895 #line 2890 "grammar.y"
19896     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
19897     break;
19898
19899   case 925:
19900
19901 /* Line 1464 of yacc.c  */
19902 #line 2891 "grammar.y"
19903     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
19904     break;
19905
19906   case 926:
19907
19908 /* Line 1464 of yacc.c  */
19909 #line 2895 "grammar.y"
19910     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
19911     break;
19912
19913   case 927:
19914
19915 /* Line 1464 of yacc.c  */
19916 #line 2896 "grammar.y"
19917     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
19918     break;
19919
19920   case 928:
19921
19922 /* Line 1464 of yacc.c  */
19923 #line 2897 "grammar.y"
19924     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
19925     break;
19926
19927   case 929:
19928
19929 /* Line 1464 of yacc.c  */
19930 #line 2901 "grammar.y"
19931     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
19932     break;
19933
19934   case 930:
19935
19936 /* Line 1464 of yacc.c  */
19937 #line 2902 "grammar.y"
19938     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
19939     break;
19940
19941   case 931:
19942
19943 /* Line 1464 of yacc.c  */
19944 #line 2906 "grammar.y"
19945     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19946     break;
19947
19948   case 932:
19949
19950 /* Line 1464 of yacc.c  */
19951 #line 2907 "grammar.y"
19952     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19953     break;
19954
19955   case 933:
19956
19957 /* Line 1464 of yacc.c  */
19958 #line 2908 "grammar.y"
19959     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
19960     break;
19961
19962   case 934:
19963
19964 /* Line 1464 of yacc.c  */
19965 #line 2909 "grammar.y"
19966     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19967     break;
19968
19969   case 935:
19970
19971 /* Line 1464 of yacc.c  */
19972 #line 2910 "grammar.y"
19973     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19974     break;
19975
19976   case 936:
19977
19978 /* Line 1464 of yacc.c  */
19979 #line 2911 "grammar.y"
19980     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
19981     break;
19982
19983   case 937:
19984
19985 /* Line 1464 of yacc.c  */
19986 #line 2912 "grammar.y"
19987     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19988     break;
19989
19990   case 938:
19991
19992 /* Line 1464 of yacc.c  */
19993 #line 2913 "grammar.y"
19994     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19995     break;
19996
19997   case 939:
19998
19999 /* Line 1464 of yacc.c  */
20000 #line 2914 "grammar.y"
20001     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
20002     break;
20003
20004   case 940:
20005
20006 /* Line 1464 of yacc.c  */
20007 #line 2915 "grammar.y"
20008     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
20009     break;
20010
20011   case 941:
20012
20013 /* Line 1464 of yacc.c  */
20014 #line 2916 "grammar.y"
20015     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20016     break;
20017
20018   case 942:
20019
20020 /* Line 1464 of yacc.c  */
20021 #line 2917 "grammar.y"
20022     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20023     break;
20024
20025   case 943:
20026
20027 /* Line 1464 of yacc.c  */
20028 #line 2918 "grammar.y"
20029     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20030     break;
20031
20032   case 944:
20033
20034 /* Line 1464 of yacc.c  */
20035 #line 2919 "grammar.y"
20036     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20037     break;
20038
20039   case 945:
20040
20041 /* Line 1464 of yacc.c  */
20042 #line 2920 "grammar.y"
20043     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20044     break;
20045
20046   case 946:
20047
20048 /* Line 1464 of yacc.c  */
20049 #line 2921 "grammar.y"
20050     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20051     break;
20052
20053   case 947:
20054
20055 /* Line 1464 of yacc.c  */
20056 #line 2925 "grammar.y"
20057     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
20058     break;
20059
20060   case 948:
20061
20062 /* Line 1464 of yacc.c  */
20063 #line 2926 "grammar.y"
20064     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
20065     break;
20066
20067   case 949:
20068
20069 /* Line 1464 of yacc.c  */
20070 #line 2927 "grammar.y"
20071     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
20072     break;
20073
20074   case 950:
20075
20076 /* Line 1464 of yacc.c  */
20077 #line 2928 "grammar.y"
20078     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20079     break;
20080
20081   case 951:
20082
20083 /* Line 1464 of yacc.c  */
20084 #line 2929 "grammar.y"
20085     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
20086     break;
20087
20088   case 952:
20089
20090 /* Line 1464 of yacc.c  */
20091 #line 2930 "grammar.y"
20092     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
20093     break;
20094
20095   case 953:
20096
20097 /* Line 1464 of yacc.c  */
20098 #line 2931 "grammar.y"
20099     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20100     break;
20101
20102   case 954:
20103
20104 /* Line 1464 of yacc.c  */
20105 #line 2932 "grammar.y"
20106     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
20107     break;
20108
20109   case 955:
20110
20111 /* Line 1464 of yacc.c  */
20112 #line 2936 "grammar.y"
20113     { (yyval.pointer) = MkPointer(null, null); ;}
20114     break;
20115
20116   case 956:
20117
20118 /* Line 1464 of yacc.c  */
20119 #line 2937 "grammar.y"
20120     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
20121     break;
20122
20123   case 957:
20124
20125 /* Line 1464 of yacc.c  */
20126 #line 2938 "grammar.y"
20127     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
20128     break;
20129
20130   case 958:
20131
20132 /* Line 1464 of yacc.c  */
20133 #line 2939 "grammar.y"
20134     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
20135     break;
20136
20137   case 959:
20138
20139 /* Line 1464 of yacc.c  */
20140 #line 2943 "grammar.y"
20141     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20142     break;
20143
20144   case 961:
20145
20146 /* Line 1464 of yacc.c  */
20147 #line 2945 "grammar.y"
20148     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20149     break;
20150
20151   case 962:
20152
20153 /* Line 1464 of yacc.c  */
20154 #line 2946 "grammar.y"
20155     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20156     break;
20157
20158   case 963:
20159
20160 /* Line 1464 of yacc.c  */
20161 #line 2947 "grammar.y"
20162     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20163     break;
20164
20165   case 964:
20166
20167 /* Line 1464 of yacc.c  */
20168 #line 2951 "grammar.y"
20169     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20170     break;
20171
20172   case 966:
20173
20174 /* Line 1464 of yacc.c  */
20175 #line 2953 "grammar.y"
20176     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20177     break;
20178
20179   case 967:
20180
20181 /* Line 1464 of yacc.c  */
20182 #line 2954 "grammar.y"
20183     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20184     break;
20185
20186   case 968:
20187
20188 /* Line 1464 of yacc.c  */
20189 #line 2955 "grammar.y"
20190     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20191     break;
20192
20193   case 970:
20194
20195 /* Line 1464 of yacc.c  */
20196 #line 2961 "grammar.y"
20197     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20198     break;
20199
20200   case 971:
20201
20202 /* Line 1464 of yacc.c  */
20203 #line 2963 "grammar.y"
20204     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20205     break;
20206
20207   case 972:
20208
20209 /* Line 1464 of yacc.c  */
20210 #line 2965 "grammar.y"
20211     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20212     break;
20213
20214   case 973:
20215
20216 /* Line 1464 of yacc.c  */
20217 #line 2967 "grammar.y"
20218     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20219     break;
20220
20221   case 975:
20222
20223 /* Line 1464 of yacc.c  */
20224 #line 2973 "grammar.y"
20225     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20226     break;
20227
20228   case 976:
20229
20230 /* Line 1464 of yacc.c  */
20231 #line 2975 "grammar.y"
20232     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20233     break;
20234
20235   case 977:
20236
20237 /* Line 1464 of yacc.c  */
20238 #line 2977 "grammar.y"
20239     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20240     break;
20241
20242   case 979:
20243
20244 /* Line 1464 of yacc.c  */
20245 #line 2982 "grammar.y"
20246     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20247     break;
20248
20249   case 980:
20250
20251 /* Line 1464 of yacc.c  */
20252 #line 2983 "grammar.y"
20253     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20254     break;
20255
20256   case 981:
20257
20258 /* Line 1464 of yacc.c  */
20259 #line 2984 "grammar.y"
20260     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20261     break;
20262
20263   case 983:
20264
20265 /* Line 1464 of yacc.c  */
20266 #line 2989 "grammar.y"
20267     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20268     break;
20269
20270   case 984:
20271
20272 /* Line 1464 of yacc.c  */
20273 #line 2990 "grammar.y"
20274     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20275     break;
20276
20277   case 985:
20278
20279 /* Line 1464 of yacc.c  */
20280 #line 2991 "grammar.y"
20281     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20282     break;
20283
20284   case 987:
20285
20286 /* Line 1464 of yacc.c  */
20287 #line 2996 "grammar.y"
20288     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20289     break;
20290
20291   case 988:
20292
20293 /* Line 1464 of yacc.c  */
20294 #line 2997 "grammar.y"
20295     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20296     break;
20297
20298   case 989:
20299
20300 /* Line 1464 of yacc.c  */
20301 #line 2998 "grammar.y"
20302     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20303     break;
20304
20305   case 991:
20306
20307 /* Line 1464 of yacc.c  */
20308 #line 3003 "grammar.y"
20309     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20310     break;
20311
20312   case 992:
20313
20314 /* Line 1464 of yacc.c  */
20315 #line 3004 "grammar.y"
20316     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20317     break;
20318
20319   case 993:
20320
20321 /* Line 1464 of yacc.c  */
20322 #line 3005 "grammar.y"
20323     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20324     break;
20325
20326   case 995:
20327
20328 /* Line 1464 of yacc.c  */
20329 #line 3010 "grammar.y"
20330     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20331     break;
20332
20333   case 996:
20334
20335 /* Line 1464 of yacc.c  */
20336 #line 3011 "grammar.y"
20337     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20338     break;
20339
20340   case 997:
20341
20342 /* Line 1464 of yacc.c  */
20343 #line 3012 "grammar.y"
20344     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20345     break;
20346
20347   case 998:
20348
20349 /* Line 1464 of yacc.c  */
20350 #line 3016 "grammar.y"
20351     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20352     break;
20353
20354   case 999:
20355
20356 /* Line 1464 of yacc.c  */
20357 #line 3017 "grammar.y"
20358     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
20359     break;
20360
20361   case 1000:
20362
20363 /* Line 1464 of yacc.c  */
20364 #line 3019 "grammar.y"
20365     {
20366          Compiler_Warning($"extra comma\n");
20367          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list));
20368          (yyval.initializer).loc = (yyloc);
20369
20370          {
20371             Expression exp = MkExpDummy();
20372             Initializer init = MkInitializerAssignment(exp);
20373             init.loc = (yylsp[(3) - (4)]);
20374             exp.loc = (yylsp[(3) - (4)]);
20375             ListAdd((yyvsp[(2) - (4)].list), init);
20376          }
20377       ;}
20378     break;
20379
20380   case 1001:
20381
20382 /* Line 1464 of yacc.c  */
20383 #line 3035 "grammar.y"
20384     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20385     break;
20386
20387   case 1002:
20388
20389 /* Line 1464 of yacc.c  */
20390 #line 3036 "grammar.y"
20391     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
20392     break;
20393
20394   case 1003:
20395
20396 /* Line 1464 of yacc.c  */
20397 #line 3037 "grammar.y"
20398     { yyerror(); (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
20399     break;
20400
20401   case 1004:
20402
20403 /* Line 1464 of yacc.c  */
20404 #line 3039 "grammar.y"
20405     {
20406          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list));
20407          (yyval.initializer).loc = (yyloc);
20408
20409          {
20410             Expression exp = MkExpDummy();
20411             Initializer init = MkInitializerAssignment(exp);
20412             init.loc = (yylsp[(3) - (5)]);
20413             exp.loc = (yylsp[(3) - (5)]);
20414             ListAdd((yyvsp[(2) - (5)].list), init);
20415          }
20416       ;}
20417     break;
20418
20419   case 1005:
20420
20421 /* Line 1464 of yacc.c  */
20422 #line 3052 "grammar.y"
20423     {
20424          yyerror();
20425          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list));
20426          (yyval.initializer).loc = (yyloc);
20427
20428          {
20429             Expression exp = MkExpDummy();
20430             Initializer init = MkInitializerAssignment(exp);
20431             init.loc = (yylsp[(3) - (3)]);
20432             exp.loc = (yylsp[(3) - (3)]);
20433             ListAdd((yyvsp[(2) - (3)].list), init);
20434          }
20435       ;}
20436     break;
20437
20438   case 1006:
20439
20440 /* Line 1464 of yacc.c  */
20441 #line 3068 "grammar.y"
20442     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20443     break;
20444
20445   case 1007:
20446
20447 /* Line 1464 of yacc.c  */
20448 #line 3070 "grammar.y"
20449     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20450     break;
20451
20452   case 1008:
20453
20454 /* Line 1464 of yacc.c  */
20455 #line 3074 "grammar.y"
20456     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20457     break;
20458
20459   case 1009:
20460
20461 /* Line 1464 of yacc.c  */
20462 #line 3075 "grammar.y"
20463     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20464     break;
20465
20466   case 1010:
20467
20468 /* Line 1464 of yacc.c  */
20469 #line 3079 "grammar.y"
20470     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20471     break;
20472
20473   case 1011:
20474
20475 /* Line 1464 of yacc.c  */
20476 #line 3080 "grammar.y"
20477     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20478     break;
20479
20480   case 1012:
20481
20482 /* Line 1464 of yacc.c  */
20483 #line 3081 "grammar.y"
20484     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20485     break;
20486
20487   case 1013:
20488
20489 /* Line 1464 of yacc.c  */
20490 #line 3082 "grammar.y"
20491     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20492     break;
20493
20494   case 1014:
20495
20496 /* Line 1464 of yacc.c  */
20497 #line 3085 "grammar.y"
20498     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20499     break;
20500
20501   case 1015:
20502
20503 /* Line 1464 of yacc.c  */
20504 #line 3086 "grammar.y"
20505     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20506     break;
20507
20508   case 1016:
20509
20510 /* Line 1464 of yacc.c  */
20511 #line 3090 "grammar.y"
20512     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20513     break;
20514
20515   case 1017:
20516
20517 /* Line 1464 of yacc.c  */
20518 #line 3091 "grammar.y"
20519     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20520     break;
20521
20522   case 1018:
20523
20524 /* Line 1464 of yacc.c  */
20525 #line 3092 "grammar.y"
20526     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20527     break;
20528
20529   case 1019:
20530
20531 /* Line 1464 of yacc.c  */
20532 #line 3096 "grammar.y"
20533     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20534     break;
20535
20536   case 1020:
20537
20538 /* Line 1464 of yacc.c  */
20539 #line 3100 "grammar.y"
20540     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20541     break;
20542
20543   case 1021:
20544
20545 /* Line 1464 of yacc.c  */
20546 #line 3104 "grammar.y"
20547     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20548     break;
20549
20550   case 1022:
20551
20552 /* Line 1464 of yacc.c  */
20553 #line 3105 "grammar.y"
20554     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20555     break;
20556
20557   case 1023:
20558
20559 /* Line 1464 of yacc.c  */
20560 #line 3106 "grammar.y"
20561     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20562     break;
20563
20564   case 1024:
20565
20566 /* Line 1464 of yacc.c  */
20567 #line 3107 "grammar.y"
20568     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20569     break;
20570
20571   case 1025:
20572
20573 /* Line 1464 of yacc.c  */
20574 #line 3109 "grammar.y"
20575     {
20576       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20577       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20578       (yyval.list) = MkList();
20579       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20580       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20581       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20582    ;}
20583     break;
20584
20585   case 1026:
20586
20587 /* Line 1464 of yacc.c  */
20588 #line 3117 "grammar.y"
20589     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20590     break;
20591
20592   case 1027:
20593
20594 /* Line 1464 of yacc.c  */
20595 #line 3126 "grammar.y"
20596     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20597     break;
20598
20599   case 1028:
20600
20601 /* Line 1464 of yacc.c  */
20602 #line 3127 "grammar.y"
20603     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20604     break;
20605
20606   case 1029:
20607
20608 /* Line 1464 of yacc.c  */
20609 #line 3128 "grammar.y"
20610     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20611     break;
20612
20613   case 1030:
20614
20615 /* Line 1464 of yacc.c  */
20616 #line 3129 "grammar.y"
20617     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20618     break;
20619
20620   case 1031:
20621
20622 /* Line 1464 of yacc.c  */
20623 #line 3133 "grammar.y"
20624     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20625     break;
20626
20627   case 1032:
20628
20629 /* Line 1464 of yacc.c  */
20630 #line 3134 "grammar.y"
20631     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20632     break;
20633
20634   case 1033:
20635
20636 /* Line 1464 of yacc.c  */
20637 #line 3138 "grammar.y"
20638     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20639     break;
20640
20641   case 1034:
20642
20643 /* Line 1464 of yacc.c  */
20644 #line 3139 "grammar.y"
20645     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20646     break;
20647
20648   case 1035:
20649
20650 /* Line 1464 of yacc.c  */
20651 #line 3144 "grammar.y"
20652     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20653     break;
20654
20655   case 1036:
20656
20657 /* Line 1464 of yacc.c  */
20658 #line 3145 "grammar.y"
20659     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20660     break;
20661
20662   case 1037:
20663
20664 /* Line 1464 of yacc.c  */
20665 #line 3146 "grammar.y"
20666     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20667     break;
20668
20669   case 1038:
20670
20671 /* Line 1464 of yacc.c  */
20672 #line 3147 "grammar.y"
20673     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20674     break;
20675
20676   case 1039:
20677
20678 /* Line 1464 of yacc.c  */
20679 #line 3148 "grammar.y"
20680     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20681     break;
20682
20683   case 1040:
20684
20685 /* Line 1464 of yacc.c  */
20686 #line 3150 "grammar.y"
20687     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20688     break;
20689
20690   case 1041:
20691
20692 /* Line 1464 of yacc.c  */
20693 #line 3168 "grammar.y"
20694     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20695     break;
20696
20697   case 1042:
20698
20699 /* Line 1464 of yacc.c  */
20700 #line 3169 "grammar.y"
20701     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20702     break;
20703
20704   case 1043:
20705
20706 /* Line 1464 of yacc.c  */
20707 #line 3173 "grammar.y"
20708     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20709     break;
20710
20711   case 1044:
20712
20713 /* Line 1464 of yacc.c  */
20714 #line 3174 "grammar.y"
20715     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20716     break;
20717
20718   case 1045:
20719
20720 /* Line 1464 of yacc.c  */
20721 #line 3175 "grammar.y"
20722     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20723     break;
20724
20725   case 1046:
20726
20727 /* Line 1464 of yacc.c  */
20728 #line 3176 "grammar.y"
20729     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20730     break;
20731
20732   case 1047:
20733
20734 /* Line 1464 of yacc.c  */
20735 #line 3177 "grammar.y"
20736     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20737     break;
20738
20739   case 1048:
20740
20741 /* Line 1464 of yacc.c  */
20742 #line 3178 "grammar.y"
20743     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20744     break;
20745
20746   case 1049:
20747
20748 /* Line 1464 of yacc.c  */
20749 #line 3180 "grammar.y"
20750     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20751     break;
20752
20753   case 1050:
20754
20755 /* Line 1464 of yacc.c  */
20756 #line 3181 "grammar.y"
20757     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20758     break;
20759
20760   case 1051:
20761
20762 /* Line 1464 of yacc.c  */
20763 #line 3182 "grammar.y"
20764     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20765     break;
20766
20767   case 1052:
20768
20769 /* Line 1464 of yacc.c  */
20770 #line 3183 "grammar.y"
20771     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20772     break;
20773
20774   case 1053:
20775
20776 /* Line 1464 of yacc.c  */
20777 #line 3187 "grammar.y"
20778     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20779     break;
20780
20781   case 1054:
20782
20783 /* Line 1464 of yacc.c  */
20784 #line 3188 "grammar.y"
20785     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20786     break;
20787
20788   case 1055:
20789
20790 /* Line 1464 of yacc.c  */
20791 #line 3189 "grammar.y"
20792     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20793     break;
20794
20795   case 1056:
20796
20797 /* Line 1464 of yacc.c  */
20798 #line 3190 "grammar.y"
20799     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20800     break;
20801
20802   case 1057:
20803
20804 /* Line 1464 of yacc.c  */
20805 #line 3191 "grammar.y"
20806     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20807     break;
20808
20809   case 1058:
20810
20811 /* Line 1464 of yacc.c  */
20812 #line 3193 "grammar.y"
20813     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20814     break;
20815
20816   case 1059:
20817
20818 /* Line 1464 of yacc.c  */
20819 #line 3194 "grammar.y"
20820     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20821     break;
20822
20823   case 1060:
20824
20825 /* Line 1464 of yacc.c  */
20826 #line 3195 "grammar.y"
20827     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20828     break;
20829
20830   case 1062:
20831
20832 /* Line 1464 of yacc.c  */
20833 #line 3200 "grammar.y"
20834     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20835     break;
20836
20837   case 1063:
20838
20839 /* Line 1464 of yacc.c  */
20840 #line 3201 "grammar.y"
20841     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20842     break;
20843
20844   case 1064:
20845
20846 /* Line 1464 of yacc.c  */
20847 #line 3202 "grammar.y"
20848     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20849     break;
20850
20851   case 1065:
20852
20853 /* Line 1464 of yacc.c  */
20854 #line 3203 "grammar.y"
20855     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20856     break;
20857
20858   case 1066:
20859
20860 /* Line 1464 of yacc.c  */
20861 #line 3204 "grammar.y"
20862     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
20863     break;
20864
20865   case 1068:
20866
20867 /* Line 1464 of yacc.c  */
20868 #line 3209 "grammar.y"
20869     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
20870     break;
20871
20872   case 1071:
20873
20874 /* Line 1464 of yacc.c  */
20875 #line 3216 "grammar.y"
20876     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
20877     break;
20878
20879   case 1073:
20880
20881 /* Line 1464 of yacc.c  */
20882 #line 3218 "grammar.y"
20883     { (yyval.stmt) = MkExpressionStmt(null); ;}
20884     break;
20885
20886   case 1074:
20887
20888 /* Line 1464 of yacc.c  */
20889 #line 3219 "grammar.y"
20890     { (yyval.stmt) = MkExpressionStmt(null); ;}
20891     break;
20892
20893   case 1075:
20894
20895 /* Line 1464 of yacc.c  */
20896 #line 3220 "grammar.y"
20897     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20898     break;
20899
20900   case 1083:
20901
20902 /* Line 1464 of yacc.c  */
20903 #line 3231 "grammar.y"
20904     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20905     break;
20906
20907   case 1084:
20908
20909 /* Line 1464 of yacc.c  */
20910 #line 3232 "grammar.y"
20911     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20912     break;
20913
20914   case 1085:
20915
20916 /* Line 1464 of yacc.c  */
20917 #line 3233 "grammar.y"
20918     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20919     break;
20920
20921   case 1086:
20922
20923 /* Line 1464 of yacc.c  */
20924 #line 3234 "grammar.y"
20925     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20926     break;
20927
20928   case 1087:
20929
20930 /* Line 1464 of yacc.c  */
20931 #line 3235 "grammar.y"
20932     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20933     break;
20934
20935   case 1088:
20936
20937 /* Line 1464 of yacc.c  */
20938 #line 3236 "grammar.y"
20939     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
20940     break;
20941
20942   case 1089:
20943
20944 /* Line 1464 of yacc.c  */
20945 #line 3237 "grammar.y"
20946     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
20947     break;
20948
20949   case 1090:
20950
20951 /* Line 1464 of yacc.c  */
20952 #line 3241 "grammar.y"
20953     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null, null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
20954     break;
20955
20956   case 1091:
20957
20958 /* Line 1464 of yacc.c  */
20959 #line 3242 "grammar.y"
20960     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp), null); (yyval.asmField).loc = (yyloc); ;}
20961     break;
20962
20963   case 1092:
20964
20965 /* Line 1464 of yacc.c  */
20966 #line 3243 "grammar.y"
20967     { (yyval.asmField) = MkAsmField((yyvsp[(4) - (7)].string), (yyvsp[(6) - (7)].exp), (yyvsp[(2) - (7)].id)); (yyval.asmField).loc = (yyloc); ;}
20968     break;
20969
20970   case 1093:
20971
20972 /* Line 1464 of yacc.c  */
20973 #line 3247 "grammar.y"
20974     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
20975     break;
20976
20977   case 1094:
20978
20979 /* Line 1464 of yacc.c  */
20980 #line 3248 "grammar.y"
20981     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
20982     break;
20983
20984   case 1095:
20985
20986 /* Line 1464 of yacc.c  */
20987 #line 3249 "grammar.y"
20988     { (yyval.list) = null; ;}
20989     break;
20990
20991   case 1096:
20992
20993 /* Line 1464 of yacc.c  */
20994 #line 3253 "grammar.y"
20995     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20996     break;
20997
20998   case 1097:
20999
21000 /* Line 1464 of yacc.c  */
21001 #line 3254 "grammar.y"
21002     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21003     break;
21004
21005   case 1098:
21006
21007 /* Line 1464 of yacc.c  */
21008 #line 3255 "grammar.y"
21009     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
21010     break;
21011
21012   case 1099:
21013
21014 /* Line 1464 of yacc.c  */
21015 #line 3256 "grammar.y"
21016     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (12)].specifier), (yyvsp[(4) - (12)].string), (yyvsp[(6) - (12)].list), (yyvsp[(8) - (12)].list), (yyvsp[(10) - (12)].list)); (yyval.stmt).loc = (yyloc); ;}
21017     break;
21018
21019   case 1100:
21020
21021 /* Line 1464 of yacc.c  */
21022 #line 3258 "grammar.y"
21023     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
21024     break;
21025
21026   case 1101:
21027
21028 /* Line 1464 of yacc.c  */
21029 #line 3259 "grammar.y"
21030     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21031     break;
21032
21033   case 1102:
21034
21035 /* Line 1464 of yacc.c  */
21036 #line 3260 "grammar.y"
21037     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
21038     break;
21039
21040   case 1103:
21041
21042 /* Line 1464 of yacc.c  */
21043 #line 3262 "grammar.y"
21044     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21045     break;
21046
21047   case 1104:
21048
21049 /* Line 1464 of yacc.c  */
21050 #line 3263 "grammar.y"
21051     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21052     break;
21053
21054   case 1105:
21055
21056 /* Line 1464 of yacc.c  */
21057 #line 3264 "grammar.y"
21058     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
21059     break;
21060
21061   case 1106:
21062
21063 /* Line 1464 of yacc.c  */
21064 #line 3265 "grammar.y"
21065     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
21066     break;
21067
21068   case 1107:
21069
21070 /* Line 1464 of yacc.c  */
21071 #line 3267 "grammar.y"
21072     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
21073     break;
21074
21075   case 1108:
21076
21077 /* Line 1464 of yacc.c  */
21078 #line 3268 "grammar.y"
21079     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21080     break;
21081
21082   case 1109:
21083
21084 /* Line 1464 of yacc.c  */
21085 #line 3269 "grammar.y"
21086     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
21087     break;
21088
21089   case 1110:
21090
21091 /* Line 1464 of yacc.c  */
21092 #line 3273 "grammar.y"
21093     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21094     break;
21095
21096   case 1111:
21097
21098 /* Line 1464 of yacc.c  */
21099 #line 3274 "grammar.y"
21100     { /*if($4.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21101     break;
21102
21103   case 1112:
21104
21105 /* Line 1464 of yacc.c  */
21106 #line 3275 "grammar.y"
21107     { /*if($4.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21108     break;
21109
21110   case 1113:
21111
21112 /* Line 1464 of yacc.c  */
21113 #line 3276 "grammar.y"
21114     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21115     break;
21116
21117   case 1114:
21118
21119 /* Line 1464 of yacc.c  */
21120 #line 3277 "grammar.y"
21121     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21122     break;
21123
21124   case 1115:
21125
21126 /* Line 1464 of yacc.c  */
21127 #line 3279 "grammar.y"
21128     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), stmt); (yyval.stmt).loc = (yyloc); ;}
21129     break;
21130
21131   case 1116:
21132
21133 /* Line 1464 of yacc.c  */
21134 #line 3280 "grammar.y"
21135     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21136     break;
21137
21138   case 1117:
21139
21140 /* Line 1464 of yacc.c  */
21141 #line 3281 "grammar.y"
21142     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21143     break;
21144
21145   case 1118:
21146
21147 /* Line 1464 of yacc.c  */
21148 #line 3282 "grammar.y"
21149     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), stmt); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21150     break;
21151
21152   case 1119:
21153
21154 /* Line 1464 of yacc.c  */
21155 #line 3283 "grammar.y"
21156     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(null, stmt); (yyval.stmt).loc = (yyloc); ;}
21157     break;
21158
21159   case 1120:
21160
21161 /* Line 1464 of yacc.c  */
21162 #line 3287 "grammar.y"
21163     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21164     break;
21165
21166   case 1121:
21167
21168 /* Line 1464 of yacc.c  */
21169 #line 3288 "grammar.y"
21170     { /*if($4.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21171     break;
21172
21173   case 1122:
21174
21175 /* Line 1464 of yacc.c  */
21176 #line 3289 "grammar.y"
21177     { /*if($4.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21178     break;
21179
21180   case 1123:
21181
21182 /* Line 1464 of yacc.c  */
21183 #line 3290 "grammar.y"
21184     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21185     break;
21186
21187   case 1124:
21188
21189 /* Line 1464 of yacc.c  */
21190 #line 3291 "grammar.y"
21191     { (yyval.stmt) = MkCaseStmt(MkExpDummy(), null); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (2)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (2)]).end; ;}
21192     break;
21193
21194   case 1125:
21195
21196 /* Line 1464 of yacc.c  */
21197 #line 3292 "grammar.y"
21198     { /*if($3.type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING);*/ (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21199     break;
21200
21201   case 1126:
21202
21203 /* Line 1464 of yacc.c  */
21204 #line 3293 "grammar.y"
21205     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21206     break;
21207
21208   case 1127:
21209
21210 /* Line 1464 of yacc.c  */
21211 #line 3295 "grammar.y"
21212     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), stmt); (yyval.stmt).loc = (yyloc); ;}
21213     break;
21214
21215   case 1128:
21216
21217 /* Line 1464 of yacc.c  */
21218 #line 3296 "grammar.y"
21219     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21220     break;
21221
21222   case 1129:
21223
21224 /* Line 1464 of yacc.c  */
21225 #line 3297 "grammar.y"
21226     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21227     break;
21228
21229   case 1130:
21230
21231 /* Line 1464 of yacc.c  */
21232 #line 3298 "grammar.y"
21233     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), stmt); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21234     break;
21235
21236   case 1131:
21237
21238 /* Line 1464 of yacc.c  */
21239 #line 3299 "grammar.y"
21240     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(null, stmt); (yyval.stmt).loc = (yyloc); ;}
21241     break;
21242
21243   case 1132:
21244
21245 /* Line 1464 of yacc.c  */
21246 #line 3303 "grammar.y"
21247     { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
21248     break;
21249
21250   case 1133:
21251
21252 /* Line 1464 of yacc.c  */
21253 #line 3304 "grammar.y"
21254     { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
21255     break;
21256
21257   case 1134:
21258
21259 /* Line 1464 of yacc.c  */
21260 #line 3305 "grammar.y"
21261     { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
21262     break;
21263
21264   case 1135:
21265
21266 /* Line 1464 of yacc.c  */
21267 #line 3309 "grammar.y"
21268     { (yyval.declMode) = publicAccess; ;}
21269     break;
21270
21271   case 1136:
21272
21273 /* Line 1464 of yacc.c  */
21274 #line 3310 "grammar.y"
21275     { (yyval.declMode) = privateAccess; ;}
21276     break;
21277
21278   case 1137:
21279
21280 /* Line 1464 of yacc.c  */
21281 #line 3314 "grammar.y"
21282     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21283     break;
21284
21285   case 1138:
21286
21287 /* Line 1464 of yacc.c  */
21288 #line 3315 "grammar.y"
21289     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21290     break;
21291
21292   case 1139:
21293
21294 /* Line 1464 of yacc.c  */
21295 #line 3316 "grammar.y"
21296     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21297     break;
21298
21299   case 1140:
21300
21301 /* Line 1464 of yacc.c  */
21302 #line 3317 "grammar.y"
21303     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
21304     break;
21305
21306   case 1141:
21307
21308 /* Line 1464 of yacc.c  */
21309 #line 3321 "grammar.y"
21310     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
21311     break;
21312
21313   case 1142:
21314
21315 /* Line 1464 of yacc.c  */
21316 #line 3322 "grammar.y"
21317     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21318     break;
21319
21320   case 1143:
21321
21322 /* Line 1464 of yacc.c  */
21323 #line 3323 "grammar.y"
21324     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21325     break;
21326
21327   case 1144:
21328
21329 /* Line 1464 of yacc.c  */
21330 #line 3325 "grammar.y"
21331     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21332     break;
21333
21334   case 1145:
21335
21336 /* Line 1464 of yacc.c  */
21337 #line 3326 "grammar.y"
21338     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
21339     break;
21340
21341   case 1146:
21342
21343 /* Line 1464 of yacc.c  */
21344 #line 3327 "grammar.y"
21345     { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
21346     break;
21347
21348   case 1147:
21349
21350 /* Line 1464 of yacc.c  */
21351 #line 3331 "grammar.y"
21352     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
21353     break;
21354
21355   case 1148:
21356
21357 /* Line 1464 of yacc.c  */
21358 #line 3335 "grammar.y"
21359     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21360     break;
21361
21362   case 1149:
21363
21364 /* Line 1464 of yacc.c  */
21365 #line 3336 "grammar.y"
21366     { structDeclMode = defaultDeclMode;  ;}
21367     break;
21368
21369   case 1150:
21370
21371 /* Line 1464 of yacc.c  */
21372 #line 3338 "grammar.y"
21373     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21374     break;
21375
21376   case 1151:
21377
21378 /* Line 1464 of yacc.c  */
21379 #line 3339 "grammar.y"
21380     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21381     break;
21382
21383   case 1152:
21384
21385 /* Line 1464 of yacc.c  */
21386 #line 3340 "grammar.y"
21387     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21388     break;
21389
21390   case 1153:
21391
21392 /* Line 1464 of yacc.c  */
21393 #line 3344 "grammar.y"
21394     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
21395     break;
21396
21397   case 1154:
21398
21399 /* Line 1464 of yacc.c  */
21400 #line 3345 "grammar.y"
21401     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21402     break;
21403
21404   case 1155:
21405
21406 /* Line 1464 of yacc.c  */
21407 #line 3346 "grammar.y"
21408     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21409     break;
21410
21411   case 1156:
21412
21413 /* Line 1464 of yacc.c  */
21414 #line 3347 "grammar.y"
21415     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
21416     break;
21417
21418   case 1157:
21419
21420 /* Line 1464 of yacc.c  */
21421 #line 3351 "grammar.y"
21422     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
21423     break;
21424
21425   case 1158:
21426
21427 /* Line 1464 of yacc.c  */
21428 #line 3352 "grammar.y"
21429     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
21430     break;
21431
21432   case 1159:
21433
21434 /* Line 1464 of yacc.c  */
21435 #line 3356 "grammar.y"
21436     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21437     break;
21438
21439   case 1160:
21440
21441 /* Line 1464 of yacc.c  */
21442 #line 3357 "grammar.y"
21443     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21444     break;
21445
21446   case 1161:
21447
21448 /* Line 1464 of yacc.c  */
21449 #line 3358 "grammar.y"
21450     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21451     break;
21452
21453   case 1162:
21454
21455 /* Line 1464 of yacc.c  */
21456 #line 3362 "grammar.y"
21457     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21458     break;
21459
21460   case 1163:
21461
21462 /* Line 1464 of yacc.c  */
21463 #line 3363 "grammar.y"
21464     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21465     break;
21466
21467   case 1164:
21468
21469 /* Line 1464 of yacc.c  */
21470 #line 3364 "grammar.y"
21471     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21472     break;
21473
21474   case 1165:
21475
21476 /* Line 1464 of yacc.c  */
21477 #line 3365 "grammar.y"
21478     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21479     break;
21480
21481   case 1166:
21482
21483 /* Line 1464 of yacc.c  */
21484 #line 3366 "grammar.y"
21485     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21486     break;
21487
21488   case 1167:
21489
21490 /* Line 1464 of yacc.c  */
21491 #line 3367 "grammar.y"
21492     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21493     break;
21494
21495   case 1168:
21496
21497 /* Line 1464 of yacc.c  */
21498 #line 3368 "grammar.y"
21499     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21500     break;
21501
21502   case 1169:
21503
21504 /* Line 1464 of yacc.c  */
21505 #line 3372 "grammar.y"
21506     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21507     break;
21508
21509   case 1170:
21510
21511 /* Line 1464 of yacc.c  */
21512 #line 3373 "grammar.y"
21513     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21514     break;
21515
21516   case 1171:
21517
21518 /* Line 1464 of yacc.c  */
21519 #line 3374 "grammar.y"
21520     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21521     break;
21522
21523   case 1172:
21524
21525 /* Line 1464 of yacc.c  */
21526 #line 3375 "grammar.y"
21527     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21528     break;
21529
21530   case 1173:
21531
21532 /* Line 1464 of yacc.c  */
21533 #line 3379 "grammar.y"
21534     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21535     break;
21536
21537   case 1174:
21538
21539 /* Line 1464 of yacc.c  */
21540 #line 3380 "grammar.y"
21541     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21542     break;
21543
21544   case 1175:
21545
21546 /* Line 1464 of yacc.c  */
21547 #line 3381 "grammar.y"
21548     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21549     break;
21550
21551   case 1176:
21552
21553 /* Line 1464 of yacc.c  */
21554 #line 3382 "grammar.y"
21555     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21556     break;
21557
21558   case 1177:
21559
21560 /* Line 1464 of yacc.c  */
21561 #line 3386 "grammar.y"
21562     { (yyval.context) = PushContext(); ;}
21563     break;
21564
21565   case 1178:
21566
21567 /* Line 1464 of yacc.c  */
21568 #line 3390 "grammar.y"
21569     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21570     break;
21571
21572   case 1179:
21573
21574 /* Line 1464 of yacc.c  */
21575 #line 3395 "grammar.y"
21576     { (yyval.stmt) = (yyvsp[(2) - (2)].stmt); (yyval.stmt).compound.context = (yyvsp[(1) - (2)].context); PopContext((yyvsp[(1) - (2)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21577     break;
21578
21579   case 1180:
21580
21581 /* Line 1464 of yacc.c  */
21582 #line 3397 "grammar.y"
21583     { (yyval.stmt) = MkCompoundStmt(null, null); (yyval.stmt).compound.context = (yyvsp[(1) - (1)].context); PopContext((yyvsp[(1) - (1)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21584     break;
21585
21586   case 1181:
21587
21588 /* Line 1464 of yacc.c  */
21589 #line 3400 "grammar.y"
21590     { (yyval.stmt) = (yyvsp[(2) - (2)].stmt); (yyval.stmt).compound.context = (yyvsp[(1) - (2)].context); PopContext((yyvsp[(1) - (2)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21591     break;
21592
21593   case 1182:
21594
21595 /* Line 1464 of yacc.c  */
21596 #line 3405 "grammar.y"
21597     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21598     break;
21599
21600   case 1183:
21601
21602 /* Line 1464 of yacc.c  */
21603 #line 3406 "grammar.y"
21604     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21605     break;
21606
21607   case 1184:
21608
21609 /* Line 1464 of yacc.c  */
21610 #line 3407 "grammar.y"
21611     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21612     break;
21613
21614   case 1185:
21615
21616 /* Line 1464 of yacc.c  */
21617 #line 3411 "grammar.y"
21618     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21619     break;
21620
21621   case 1186:
21622
21623 /* Line 1464 of yacc.c  */
21624 #line 3412 "grammar.y"
21625     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21626     break;
21627
21628   case 1187:
21629
21630 /* Line 1464 of yacc.c  */
21631 #line 3413 "grammar.y"
21632     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21633     break;
21634
21635   case 1188:
21636
21637 /* Line 1464 of yacc.c  */
21638 #line 3414 "grammar.y"
21639     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21640     break;
21641
21642   case 1189:
21643
21644 /* Line 1464 of yacc.c  */
21645 #line 3415 "grammar.y"
21646     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21647     break;
21648
21649   case 1190:
21650
21651 /* Line 1464 of yacc.c  */
21652 #line 3416 "grammar.y"
21653     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21654     break;
21655
21656   case 1191:
21657
21658 /* Line 1464 of yacc.c  */
21659 #line 3420 "grammar.y"
21660     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21661     break;
21662
21663   case 1193:
21664
21665 /* Line 1464 of yacc.c  */
21666 #line 3425 "grammar.y"
21667     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21668     break;
21669
21670   case 1194:
21671
21672 /* Line 1464 of yacc.c  */
21673 #line 3426 "grammar.y"
21674     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21675     break;
21676
21677   case 1195:
21678
21679 /* Line 1464 of yacc.c  */
21680 #line 3427 "grammar.y"
21681     { yyerror(); (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21682     break;
21683
21684   case 1196:
21685
21686 /* Line 1464 of yacc.c  */
21687 #line 3429 "grammar.y"
21688     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21689     break;
21690
21691   case 1197:
21692
21693 /* Line 1464 of yacc.c  */
21694 #line 3430 "grammar.y"
21695     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21696     break;
21697
21698   case 1198:
21699
21700 /* Line 1464 of yacc.c  */
21701 #line 3432 "grammar.y"
21702     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21703     break;
21704
21705   case 1199:
21706
21707 /* Line 1464 of yacc.c  */
21708 #line 3433 "grammar.y"
21709     { yyerror(); (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21710     break;
21711
21712   case 1200:
21713
21714 /* Line 1464 of yacc.c  */
21715 #line 3434 "grammar.y"
21716     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21717     break;
21718
21719   case 1201:
21720
21721 /* Line 1464 of yacc.c  */
21722 #line 3435 "grammar.y"
21723     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21724     break;
21725
21726   case 1202:
21727
21728 /* Line 1464 of yacc.c  */
21729 #line 3436 "grammar.y"
21730     { yyerror(); (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21731     break;
21732
21733   case 1203:
21734
21735 /* Line 1464 of yacc.c  */
21736 #line 3438 "grammar.y"
21737     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21738     break;
21739
21740   case 1204:
21741
21742 /* Line 1464 of yacc.c  */
21743 #line 3439 "grammar.y"
21744     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21745     break;
21746
21747   case 1205:
21748
21749 /* Line 1464 of yacc.c  */
21750 #line 3443 "grammar.y"
21751     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
21752     break;
21753
21754   case 1206:
21755
21756 /* Line 1464 of yacc.c  */
21757 #line 3444 "grammar.y"
21758     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
21759     break;
21760
21761   case 1207:
21762
21763 /* Line 1464 of yacc.c  */
21764 #line 3445 "grammar.y"
21765     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21766     break;
21767
21768   case 1208:
21769
21770 /* Line 1464 of yacc.c  */
21771 #line 3446 "grammar.y"
21772     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), MkExpressionStmt((yyvsp[(4) - (5)].list)), null, null); (yyval.stmt).loc = (yyloc); (yyval.stmt).forStmt.check.loc = (yylsp[(4) - (5)]); ;}
21773     break;
21774
21775   case 1209:
21776
21777 /* Line 1464 of yacc.c  */
21778 #line 3450 "grammar.y"
21779     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
21780     break;
21781
21782   case 1210:
21783
21784 /* Line 1464 of yacc.c  */
21785 #line 3451 "grammar.y"
21786     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21787     break;
21788
21789   case 1211:
21790
21791 /* Line 1464 of yacc.c  */
21792 #line 3452 "grammar.y"
21793     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21794     break;
21795
21796   case 1212:
21797
21798 /* Line 1464 of yacc.c  */
21799 #line 3453 "grammar.y"
21800     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21801     break;
21802
21803   case 1213:
21804
21805 /* Line 1464 of yacc.c  */
21806 #line 3455 "grammar.y"
21807     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21808     break;
21809
21810   case 1214:
21811
21812 /* Line 1464 of yacc.c  */
21813 #line 3456 "grammar.y"
21814     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21815     break;
21816
21817   case 1215:
21818
21819 /* Line 1464 of yacc.c  */
21820 #line 3457 "grammar.y"
21821     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21822     break;
21823
21824   case 1216:
21825
21826 /* Line 1464 of yacc.c  */
21827 #line 3458 "grammar.y"
21828     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21829     break;
21830
21831   case 1217:
21832
21833 /* Line 1464 of yacc.c  */
21834 #line 3459 "grammar.y"
21835     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21836     break;
21837
21838   case 1218:
21839
21840 /* Line 1464 of yacc.c  */
21841 #line 3460 "grammar.y"
21842     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21843     break;
21844
21845   case 1219:
21846
21847 /* Line 1464 of yacc.c  */
21848 #line 3461 "grammar.y"
21849     { yyerror(); (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21850     break;
21851
21852   case 1220:
21853
21854 /* Line 1464 of yacc.c  */
21855 #line 3464 "grammar.y"
21856     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21857     break;
21858
21859   case 1221:
21860
21861 /* Line 1464 of yacc.c  */
21862 #line 3468 "grammar.y"
21863     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21864     break;
21865
21866   case 1222:
21867
21868 /* Line 1464 of yacc.c  */
21869 #line 3469 "grammar.y"
21870     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
21871     break;
21872
21873   case 1223:
21874
21875 /* Line 1464 of yacc.c  */
21876 #line 3473 "grammar.y"
21877     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21878     break;
21879
21880   case 1224:
21881
21882 /* Line 1464 of yacc.c  */
21883 #line 3474 "grammar.y"
21884     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21885     break;
21886
21887   case 1225:
21888
21889 /* Line 1464 of yacc.c  */
21890 #line 3478 "grammar.y"
21891     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
21892     break;
21893
21894   case 1226:
21895
21896 /* Line 1464 of yacc.c  */
21897 #line 3479 "grammar.y"
21898     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
21899     break;
21900
21901   case 1227:
21902
21903 /* Line 1464 of yacc.c  */
21904 #line 3480 "grammar.y"
21905     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
21906     break;
21907
21908   case 1228:
21909
21910 /* Line 1464 of yacc.c  */
21911 #line 3481 "grammar.y"
21912     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
21913     break;
21914
21915   case 1229:
21916
21917 /* Line 1464 of yacc.c  */
21918 #line 3482 "grammar.y"
21919     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21920     break;
21921
21922   case 1230:
21923
21924 /* Line 1464 of yacc.c  */
21925 #line 3483 "grammar.y"
21926     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21927     break;
21928
21929   case 1231:
21930
21931 /* Line 1464 of yacc.c  */
21932 #line 3484 "grammar.y"
21933     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21934     break;
21935
21936   case 1232:
21937
21938 /* Line 1464 of yacc.c  */
21939 #line 3485 "grammar.y"
21940     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21941     break;
21942
21943   case 1233:
21944
21945 /* Line 1464 of yacc.c  */
21946 #line 3489 "grammar.y"
21947     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21948     break;
21949
21950   case 1234:
21951
21952 /* Line 1464 of yacc.c  */
21953 #line 3490 "grammar.y"
21954     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
21955     break;
21956
21957   case 1235:
21958
21959 /* Line 1464 of yacc.c  */
21960 #line 3491 "grammar.y"
21961     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
21962     break;
21963
21964   case 1236:
21965
21966 /* Line 1464 of yacc.c  */
21967 #line 3492 "grammar.y"
21968     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
21969     break;
21970
21971   case 1237:
21972
21973 /* Line 1464 of yacc.c  */
21974 #line 3498 "grammar.y"
21975     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); ;}
21976     break;
21977
21978   case 1238:
21979
21980 /* Line 1464 of yacc.c  */
21981 #line 3500 "grammar.y"
21982     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21983     break;
21984
21985   case 1239:
21986
21987 /* Line 1464 of yacc.c  */
21988 #line 3501 "grammar.y"
21989     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); ;}
21990     break;
21991
21992   case 1240:
21993
21994 /* Line 1464 of yacc.c  */
21995 #line 3503 "grammar.y"
21996     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21997     break;
21998
21999   case 1241:
22000
22001 /* Line 1464 of yacc.c  */
22002 #line 3505 "grammar.y"
22003     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
22004     break;
22005
22006   case 1242:
22007
22008 /* Line 1464 of yacc.c  */
22009 #line 3506 "grammar.y"
22010     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
22011     break;
22012
22013   case 1243:
22014
22015 /* Line 1464 of yacc.c  */
22016 #line 3509 "grammar.y"
22017     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(4) - (4)].stmt).loc.end; ;}
22018     break;
22019
22020   case 1244:
22021
22022 /* Line 1464 of yacc.c  */
22023 #line 3510 "grammar.y"
22024     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
22025     break;
22026
22027   case 1245:
22028
22029 /* Line 1464 of yacc.c  */
22030 #line 3511 "grammar.y"
22031     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(4) - (4)].stmt).loc.end; ;}
22032     break;
22033
22034   case 1246:
22035
22036 /* Line 1464 of yacc.c  */
22037 #line 3512 "grammar.y"
22038     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
22039     break;
22040
22041   case 1247:
22042
22043 /* Line 1464 of yacc.c  */
22044 #line 3513 "grammar.y"
22045     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
22046     break;
22047
22048   case 1248:
22049
22050 /* Line 1464 of yacc.c  */
22051 #line 3514 "grammar.y"
22052     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
22053     break;
22054
22055   case 1249:
22056
22057 /* Line 1464 of yacc.c  */
22058 #line 3518 "grammar.y"
22059     { (yyval.string) = CopyString(yytext); ;}
22060     break;
22061
22062   case 1250:
22063
22064 /* Line 1464 of yacc.c  */
22065 #line 3520 "grammar.y"
22066     {
22067       int len1 = strlen((yyvsp[(1) - (2)].string));
22068       int len2 = strlen(yytext);
22069       (yyval.string) = new byte[len1-1 + len2-1 + 1];
22070       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
22071       memcpy((yyval.string) + len1-1, yytext+1, len2);
22072       delete (yyvsp[(1) - (2)].string);
22073    ;}
22074     break;
22075
22076   case 1251:
22077
22078 /* Line 1464 of yacc.c  */
22079 #line 3531 "grammar.y"
22080     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22081     break;
22082
22083   case 1252:
22084
22085 /* Line 1464 of yacc.c  */
22086 #line 3533 "grammar.y"
22087     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22088     break;
22089
22090   case 1253:
22091
22092 /* Line 1464 of yacc.c  */
22093 #line 3536 "grammar.y"
22094     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
22095     break;
22096
22097   case 1254:
22098
22099 /* Line 1464 of yacc.c  */
22100 #line 3539 "grammar.y"
22101     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22102     break;
22103
22104   case 1255:
22105
22106 /* Line 1464 of yacc.c  */
22107 #line 3540 "grammar.y"
22108     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22109     break;
22110
22111   case 1256:
22112
22113 /* Line 1464 of yacc.c  */
22114 #line 3541 "grammar.y"
22115     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
22116     break;
22117
22118   case 1257:
22119
22120 /* Line 1464 of yacc.c  */
22121 #line 3543 "grammar.y"
22122     {
22123       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
22124       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess);
22125       (yyval.external).loc = (yyloc);
22126       FreeIdentifier((yyvsp[(2) - (3)].id));
22127       if(!isRemote)
22128          yyerror();
22129    ;}
22130     break;
22131
22132   case 1258:
22133
22134 /* Line 1464 of yacc.c  */
22135 #line 3552 "grammar.y"
22136     { (yyval.external) = null; ;}
22137     break;
22138
22139   case 1259:
22140
22141 /* Line 1464 of yacc.c  */
22142 #line 3554 "grammar.y"
22143     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22144     break;
22145
22146   case 1260:
22147
22148 /* Line 1464 of yacc.c  */
22149 #line 3556 "grammar.y"
22150     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22151     break;
22152
22153   case 1261:
22154
22155 /* Line 1464 of yacc.c  */
22156 #line 3557 "grammar.y"
22157     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22158     break;
22159
22160   case 1262:
22161
22162 /* Line 1464 of yacc.c  */
22163 #line 3558 "grammar.y"
22164     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
22165     break;
22166
22167   case 1263:
22168
22169 /* Line 1464 of yacc.c  */
22170 #line 3559 "grammar.y"
22171     { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
22172     break;
22173
22174   case 1264:
22175
22176 /* Line 1464 of yacc.c  */
22177 #line 3561 "grammar.y"
22178     {
22179       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
22180       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
22181       (yyval.external).loc = (yyloc);
22182       FreeIdentifier((yyvsp[(3) - (4)].id));
22183       structDeclMode = declMode = defaultDeclMode;
22184       if(!isRemote)
22185          yyerror();
22186    ;}
22187     break;
22188
22189   case 1265:
22190
22191 /* Line 1464 of yacc.c  */
22192 #line 3570 "grammar.y"
22193     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
22194     break;
22195
22196   case 1266:
22197
22198 /* Line 1464 of yacc.c  */
22199 #line 3571 "grammar.y"
22200     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
22201     break;
22202
22203   case 1267:
22204
22205 /* Line 1464 of yacc.c  */
22206 #line 3572 "grammar.y"
22207     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
22208     break;
22209
22210   case 1268:
22211
22212 /* Line 1464 of yacc.c  */
22213 #line 3573 "grammar.y"
22214     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
22215     break;
22216
22217   case 1269:
22218
22219 /* Line 1464 of yacc.c  */
22220 #line 3574 "grammar.y"
22221     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22222     break;
22223
22224   case 1270:
22225
22226 /* Line 1464 of yacc.c  */
22227 #line 3575 "grammar.y"
22228     { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22229     break;
22230
22231   case 1271:
22232
22233 /* Line 1464 of yacc.c  */
22234 #line 3579 "grammar.y"
22235     { yyerror(); (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22236     break;
22237
22238   case 1272:
22239
22240 /* Line 1464 of yacc.c  */
22241 #line 3581 "grammar.y"
22242     {
22243       yyerror();
22244       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
22245       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
22246       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
22247       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
22248       structDeclMode = declMode = defaultDeclMode;
22249    ;}
22250     break;
22251
22252   case 1273:
22253
22254 /* Line 1464 of yacc.c  */
22255 #line 3589 "grammar.y"
22256     { yyerror(); (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc;  (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22257     break;
22258
22259   case 1274:
22260
22261 /* Line 1464 of yacc.c  */
22262 #line 3591 "grammar.y"
22263     { yyerror(); (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22264     break;
22265
22266   case 1275:
22267
22268 /* Line 1464 of yacc.c  */
22269 #line 3592 "grammar.y"
22270     { yyerror(); (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22271     break;
22272
22273   case 1276:
22274
22275 /* Line 1464 of yacc.c  */
22276 #line 3595 "grammar.y"
22277     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22278     break;
22279
22280   case 1277:
22281
22282 /* Line 1464 of yacc.c  */
22283 #line 3596 "grammar.y"
22284     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22285     break;
22286
22287   case 1278:
22288
22289 /* Line 1464 of yacc.c  */
22290 #line 3600 "grammar.y"
22291     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22292     break;
22293
22294   case 1279:
22295
22296 /* Line 1464 of yacc.c  */
22297 #line 3601 "grammar.y"
22298     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22299     break;
22300
22301   case 1280:
22302
22303 /* Line 1464 of yacc.c  */
22304 #line 3602 "grammar.y"
22305     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22306     break;
22307
22308   case 1283:
22309
22310 /* Line 1464 of yacc.c  */
22311 #line 3608 "grammar.y"
22312     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22313     break;
22314
22315   case 1284:
22316
22317 /* Line 1464 of yacc.c  */
22318 #line 3609 "grammar.y"
22319     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22320     break;
22321
22322   case 1285:
22323
22324 /* Line 1464 of yacc.c  */
22325 #line 3611 "grammar.y"
22326     { External _class = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), _class); _class.loc = (yylsp[(2) - (2)]);  (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22327     break;
22328
22329   case 1286:
22330
22331 /* Line 1464 of yacc.c  */
22332 #line 3613 "grammar.y"
22333     { External _class = MkExternalClass((yyvsp[(3) - (3)]._class)); (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), _class); _class.loc = (yylsp[(3) - (3)]);  (yyvsp[(3) - (3)]._class).declMode = ((yyvsp[(2) - (3)].declMode) != defaultAccess) ? (yyvsp[(2) - (3)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22334     break;
22335
22336   case 1289:
22337
22338 /* Line 1464 of yacc.c  */
22339 #line 3619 "grammar.y"
22340     { ast = MkList(); ;}
22341     break;
22342
22343   case 1290:
22344
22345 /* Line 1464 of yacc.c  */
22346 #line 3623 "grammar.y"
22347     { Symbol symbol = DeclClassAddNameSpace((yyvsp[(3) - (6)].id)._class, (yyvsp[(3) - (6)].id).string); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22348     break;
22349
22350   case 1291:
22351
22352 /* Line 1464 of yacc.c  */
22353 #line 3624 "grammar.y"
22354     { Symbol symbol = DeclClass((yyvsp[(3) - (6)].specifier).nsSpec, (yyvsp[(3) - (6)].specifier).name); FreeSpecifier((yyvsp[(3) - (6)].specifier)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22355     break;
22356
22357   case 1292:
22358
22359 /* Line 1464 of yacc.c  */
22360 #line 3625 "grammar.y"
22361     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
22362     break;
22363
22364   case 1293:
22365
22366 /* Line 1464 of yacc.c  */
22367 #line 3629 "grammar.y"
22368     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
22369     break;
22370
22371   case 1294:
22372
22373 /* Line 1464 of yacc.c  */
22374 #line 3633 "grammar.y"
22375     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
22376     break;
22377
22378   case 1295:
22379
22380 /* Line 1464 of yacc.c  */
22381 #line 3634 "grammar.y"
22382     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
22383     break;
22384
22385   case 1296:
22386
22387 /* Line 1464 of yacc.c  */
22388 #line 3635 "grammar.y"
22389     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
22390     break;
22391
22392   case 1297:
22393
22394 /* Line 1464 of yacc.c  */
22395 #line 3639 "grammar.y"
22396     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
22397     break;
22398
22399   case 1298:
22400
22401 /* Line 1464 of yacc.c  */
22402 #line 3640 "grammar.y"
22403     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
22404     break;
22405
22406   case 1299:
22407
22408 /* Line 1464 of yacc.c  */
22409 #line 3644 "grammar.y"
22410     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
22411     break;
22412
22413   case 1300:
22414
22415 /* Line 1464 of yacc.c  */
22416 #line 3645 "grammar.y"
22417     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
22418     break;
22419
22420   case 1301:
22421
22422 /* Line 1464 of yacc.c  */
22423 #line 3649 "grammar.y"
22424     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22425     break;
22426
22427   case 1302:
22428
22429 /* Line 1464 of yacc.c  */
22430 #line 3650 "grammar.y"
22431     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22432     break;
22433
22434   case 1303:
22435
22436 /* Line 1464 of yacc.c  */
22437 #line 3651 "grammar.y"
22438     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22439     break;
22440
22441   case 1304:
22442
22443 /* Line 1464 of yacc.c  */
22444 #line 3652 "grammar.y"
22445     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22446     break;
22447
22448   case 1305:
22449
22450 /* Line 1464 of yacc.c  */
22451 #line 3656 "grammar.y"
22452     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
22453     break;
22454
22455   case 1306:
22456
22457 /* Line 1464 of yacc.c  */
22458 #line 3660 "grammar.y"
22459     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22460     break;
22461
22462   case 1307:
22463
22464 /* Line 1464 of yacc.c  */
22465 #line 3664 "grammar.y"
22466     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22467     break;
22468
22469   case 1308:
22470
22471 /* Line 1464 of yacc.c  */
22472 #line 3668 "grammar.y"
22473     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
22474     break;
22475
22476
22477
22478 /* Line 1464 of yacc.c  */
22479 #line 22480 "grammar.ec"
22480       default: break;
22481     }
22482   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
22483
22484   YYPOPSTACK (yylen);
22485   yylen = 0;
22486   YY_STACK_PRINT (yyss, yyssp);
22487
22488   *++yyvsp = yyval;
22489   *++yylsp = yyloc;
22490
22491   /* Now `shift' the result of the reduction.  Determine what state
22492      that goes to, based on the state we popped back to and the rule
22493      number reduced by.  */
22494
22495   yyn = yyr1[yyn];
22496
22497   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
22498   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
22499     yystate = yytable[yystate];
22500   else
22501     yystate = yydefgoto[yyn - YYNTOKENS];
22502
22503   goto yynewstate;
22504
22505
22506 /*------------------------------------.
22507 | yyerrlab -- here on detecting error |
22508 `------------------------------------*/
22509 yyerrlab:
22510   /* If not already recovering from an error, report this error.  */
22511   if (!yyerrstatus)
22512     {
22513       ++yynerrs;
22514 #if ! YYERROR_VERBOSE
22515       yyerror (YY_("syntax error"));
22516 #else
22517       {
22518         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
22519         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
22520           {
22521             YYSIZE_T yyalloc = 2 * yysize;
22522             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
22523               yyalloc = YYSTACK_ALLOC_MAXIMUM;
22524             if (yymsg != yymsgbuf)
22525               YYSTACK_FREE (yymsg);
22526             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
22527             if (yymsg)
22528               yymsg_alloc = yyalloc;
22529             else
22530               {
22531                 yymsg = yymsgbuf;
22532                 yymsg_alloc = sizeof yymsgbuf;
22533               }
22534           }
22535
22536         if (0 < yysize && yysize <= yymsg_alloc)
22537           {
22538             (void) yysyntax_error (yymsg, yystate, yychar);
22539             yyerror (yymsg);
22540           }
22541         else
22542           {
22543             yyerror (YY_("syntax error"));
22544             if (yysize != 0)
22545               goto yyexhaustedlab;
22546           }
22547       }
22548 #endif
22549     }
22550
22551   yyerror_range[0] = yylloc;
22552
22553   if (yyerrstatus == 3)
22554     {
22555       /* If just tried and failed to reuse lookahead token after an
22556          error, discard it.  */
22557
22558       if (yychar <= YYEOF)
22559         {
22560           /* Return failure if at end of input.  */
22561           if (yychar == YYEOF)
22562             YYABORT;
22563         }
22564       else
22565         {
22566           yydestruct ("Error: discarding",
22567                       yytoken, &yylval, &yylloc);
22568           yychar = YYEMPTY;
22569         }
22570     }
22571
22572   /* Else will try to reuse lookahead token after shifting the error
22573      token.  */
22574   goto yyerrlab1;
22575
22576
22577 /*---------------------------------------------------.
22578 | yyerrorlab -- error raised explicitly by YYERROR.  |
22579 `---------------------------------------------------*/
22580 yyerrorlab:
22581
22582   /* Pacify compilers like GCC when the user code never invokes
22583      YYERROR and the label yyerrorlab therefore never appears in user
22584      code.  */
22585   if (/*CONSTCOND*/ 0)
22586      goto yyerrorlab;
22587
22588   yyerror_range[0] = yylsp[1-yylen];
22589   /* Do not reclaim the symbols of the rule which action triggered
22590      this YYERROR.  */
22591   YYPOPSTACK (yylen);
22592   yylen = 0;
22593   YY_STACK_PRINT (yyss, yyssp);
22594   yystate = *yyssp;
22595   goto yyerrlab1;
22596
22597
22598 /*-------------------------------------------------------------.
22599 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22600 `-------------------------------------------------------------*/
22601 yyerrlab1:
22602   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22603
22604   for (;;)
22605     {
22606       yyn = yypact[yystate];
22607       if (yyn != YYPACT_NINF)
22608         {
22609           yyn += YYTERROR;
22610           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22611             {
22612               yyn = yytable[yyn];
22613               if (0 < yyn)
22614                 break;
22615             }
22616         }
22617
22618       /* Pop the current state because it cannot handle the error token.  */
22619       if (yyssp == yyss)
22620         YYABORT;
22621
22622       yyerror_range[0] = *yylsp;
22623       yydestruct ("Error: popping",
22624                   yystos[yystate], yyvsp, yylsp);
22625       YYPOPSTACK (1);
22626       yystate = *yyssp;
22627       YY_STACK_PRINT (yyss, yyssp);
22628     }
22629
22630   *++yyvsp = yylval;
22631
22632   yyerror_range[1] = yylloc;
22633   /* Using YYLLOC is tempting, but would change the location of
22634      the lookahead.  YYLOC is available though.  */
22635   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22636   *++yylsp = yyloc;
22637
22638   /* Shift the error token.  */
22639   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22640
22641   yystate = yyn;
22642   goto yynewstate;
22643
22644
22645 /*-------------------------------------.
22646 | yyacceptlab -- YYACCEPT comes here.  |
22647 `-------------------------------------*/
22648 yyacceptlab:
22649   yyresult = 0;
22650   goto yyreturn;
22651
22652 /*-----------------------------------.
22653 | yyabortlab -- YYABORT comes here.  |
22654 `-----------------------------------*/
22655 yyabortlab:
22656   yyresult = 1;
22657   goto yyreturn;
22658
22659 #if !defined(yyoverflow) || YYERROR_VERBOSE
22660 /*-------------------------------------------------.
22661 | yyexhaustedlab -- memory exhaustion comes here.  |
22662 `-------------------------------------------------*/
22663 yyexhaustedlab:
22664   yyerror (YY_("memory exhausted"));
22665   yyresult = 2;
22666   /* Fall through.  */
22667 #endif
22668
22669 yyreturn:
22670   if (yychar != YYEMPTY)
22671      yydestruct ("Cleanup: discarding lookahead",
22672                  yytoken, &yylval, &yylloc);
22673   /* Do not reclaim the symbols of the rule which action triggered
22674      this YYABORT or YYACCEPT.  */
22675   YYPOPSTACK (yylen);
22676   YY_STACK_PRINT (yyss, yyssp);
22677   while (yyssp != yyss)
22678     {
22679       yydestruct ("Cleanup: popping",
22680                   yystos[*yyssp], yyvsp, yylsp);
22681       YYPOPSTACK (1);
22682     }
22683 #ifndef yyoverflow
22684   if (yyss != yyssa)
22685     YYSTACK_FREE (yyss);
22686 #endif
22687 #if YYERROR_VERBOSE
22688   if (yymsg != yymsgbuf)
22689     YYSTACK_FREE (yymsg);
22690 #endif
22691   /* Make sure YYID is used.  */
22692   return YYID (yyresult);
22693 }
22694
22695
22696
22697 /* Line 1684 of yacc.c  */
22698 #line 3671 "grammar.y"
22699
22700